prusa3d / Prusa-Firmware

Firmware for Original Prusa i3 3D printer by PrusaResearch
GNU General Public License v3.0
2.03k stars 1.06k forks source link

Inconsistent Extrusion #602

Closed TheBrigandier closed 6 years ago

TheBrigandier commented 6 years ago

Update: @vertigo235 set up a Discord server for this issue, if you'd like to discuss/work with people on the problem. Here's the link: https://discord.gg/hYUjSnW

This issue has been closed after the overwhelming amount of replies, tests, etc. If you are needing guidance, please refer to http://prusaowners.com/wiki/index.php?title=How_to_make_prints_better_on_the_mk3 and Prusa Support.

TheBrigandier commented 6 years ago

@jonbet83 https://ibb.co/mLYCwc this was posted by sean on the forums, but in my opinion it's still slightly there (and he didn't stick to the test per-se, I think this was 0.01mm layer height). That's with a geared stepper system of some type he's working on.

EDIT: Also, I just placed an order for a 27:1 stepper. Gonna see if I can hack an adapter together, will be interesting to see.

@Skiidlive Beyond the screenshots @ericclinedinst posted, nothing from Prusa thus far...

jonbet83 commented 6 years ago

Yeah it’s still there it seems, I just don’t know what else to try except maybe some Zaribo parts

devilhunter84 commented 6 years ago

@jonbet83 The Printers i built use the Zaribo/Haribo frame and a lot of it's printed parts. But the Zaribos he sells are actually MK2's with mini RAMBo's and 12V parts. Wolfgang Schadow (Zaribo) calls it currently the MK3. Which uses MK2 parts, and some MK2.5 parts. Everything you can buy from him is buyable from Prusa as well (well except the Misumi extruded parts)

It seems there's nothing anyone can really do right now except wait for Prusa's firmware guys to take their time to figure it out.

MK2.5's got this problem now too (but i'd like to have a few more confirmations here for the MK2.5's to say for sure), so it's not just the Einsy and the TMC2130's

@ff8jake Thanks for trying out the method without MBL. Shame this didn't work, but this is a bug nevertheless. (I saw that jltx made a version with a hard MBL cap) I'm going to open another ticket for this bug. Also don't go bonkers on the steppers, higher steps will slow down everything, and planetary gear steppers are really weak.

jonbet83 commented 6 years ago

@devilhunter84 thanks for the info, so even the Zaribo (MK3) which is mostly really just a 2.5 has the same issues were seeing? its hard to keep up with all that everyone has tried, so many things with zero cure to the problem.

I'm far from any sort of expert on most of this stuff but I find it very hard to sit back and wait for a fix when my £700 printer is sitting mostly unused or printing cubes lol. i'm sure everyone feels like that, I was really expecting the 3.2 RC1 to fix most of this, even the E correction doesn't seem to do anything when either off or at max setting.

misan commented 6 years ago

I have been browsing TMC2130 datasheet https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2130_datasheet.pdf and I have come across page 78 where the sine-wave lookup table is discussed: "... the table is pre-programmed with a sine wave, which is a good starting point for most stepper motors. Reprogramming the table to a motor specific wave allows drastically improved micro stepping especially with low-cost motors."

I have checked existing firmware and while there is provision to use the feature it does not seem they are using a custom table so far.
https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/tmc2130.cpp#L521

So that could be, perhaps, a way for a possible fix, in case the problem was related to the TCM2130, which is so far unclear, as @jonbet83 ANET A8 seems to be working ok with them. Still, it may be the driver is fine but some of the configurations are not. However, jonbet83 also mentions Marlin 1.1 in the EINSY does not seem to work any better regarding extrusion ...

Still, I'd like to have some clear indication that indeed the driver is the culprit before committing more time and work to the task ;-) I won't be surprised the problem could be somewhere else.

jonbet83 commented 6 years ago

@misan Well we seem to have ruled out most of the hardware between here and the forum, even with Marlin and Prusa Folks the problem remains there, it seems you have experience and knowledge of what's required even if you don't have time to commit to looking into it more depth. would the changes be easy to make? is its a trail and error with the settings?

johnlaur commented 6 years ago

@misan trouble related to the microstepping LUT would manifest much differently than this issue. Since only 1/4 wave is stored in this LUT the problematic motion would occur repeatedly through every 0.45 degrees the motor turns. On all axes including E those movements would be too small to produce the size of artifacts we see in the photos. This cannot be the cause of the trouble.

misan commented 6 years ago

@jonbet83 I do understand when Josef mentions he does not know what is going on. The first step to a good solution is a precise diagnose. I know we all are here trying to figure out what's wrong. I was just throwing an idea to the wall, but @johnlaur has a good point for it not to stick.

cjo20 commented 6 years ago

I thought that the micro-stepping table is what they were changing to remove the moire pattern?

misan commented 6 years ago

@cjo20 I have failed to see these functions called from somewhere else.

TheBrigandier commented 6 years ago

In regards to TMC2130 functions in the firmware, be careful. Some of the "define" lines in Configuration* files are defined but not used elsewhere in the firmware. I am guessing they put them there for future use, and maybe forgot? When changing these "define" settings, make sure you search the entire firmware folder to see if/where it's being used.

Example: The TMC2130 INTPOL lines are defined in config, but not ultimately used anywhere. Interpolation is instead hard coded to 1 and it's a pain the butt to hunt down.

cjo20 commented 6 years ago

@misan I believe it's this code that sets it up https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/tmc2130.cpp#L216

misan commented 6 years ago

@cjo20 when you are right, you are right ;-) thanks.

johnlaur commented 6 years ago

If the problem has indeed been introduced into stock Marlin firmware the best way to find it is to reproduce it on a printer with hardware that has had Marlin support for quite some time (RAMBO or RAMPS) and then begin regression testing older releases of stock Marlin to isolate the commit that caused it. Trying to analyze the changesets between mk2->mk3 or mk2->mk25 is a needle in a haystack exercise. Although I do not understand all the ins and outs of Marlin, as someone who has done low level work with AVRs in the past I think that the most likely trouble is going to be race conditions among ISRs or issues with the hardware timers, etc.

jonbet83 commented 6 years ago

@misan thanks for getting involved, its the more technical side I have no clue on. the information everyone is providing always help me get a better understanding.

@johnlaur So I have access to a working RAMPS board on my other printer I was going to strip is down at some point anyway, are you suggesting hooking up the mk3 hardware to it and giving it a go?

alfskaar commented 6 years ago

ff8jake

" The only thing I can say about tonight's testing is when I view the bondtech via the little viewing window, it looks like it isn't turning uniformly. I disabled everything I could to make each layer identical, no lin advance, no retraction, no wipe, aligned seams, literally every layer in the gcode has identical moves and extrudes. While watching it print, shining light completely from the side and looking completely from the side, to prevent shadows from messing with my eyes, it seems like sometimes the bondtech is turning fast, sometimes it pauses and catches up, sometimes it's consistently slow. The variance is hard to pick up on sometimes, but I feel pretty confident my eyes aren't fooling me here. "

Firs and foremost don't judge me as and arrogant... From what I about to say

When I firs sow the MK3 "E-axis assembly" I say to my self this is never going to work.

Then I conclude with that if Prusa have 300 printer in the print farm running and testing this I put my trust in that he know what he is doing.

I also know that I will never use the Extrude as I will put a Flexion extruded on to print flexible filament.

Many off you have put a lot off work and effort into this.

But may be it is time to call it day and put a precision extruder on made out off metal that can withstand the forces need to make this work.

If it is correct that the gear don't run true and is asymmetrical then unless you redesigning it to make it work put a proper extruder on it and test. That is one thing left as one off the things that need to be tested.

It is also possible that the problems is a combinations off things and that the problems are different on the mk2.5 and mk3.0 but looks similar.

I have a oscilloscope and I think it is possible to use the logging, to see what the extruder is doing anyone have one ?

Thank-you all for your hard work

TheBrigandier commented 6 years ago

@alfskaar Devilhunter (in this issue and on the forums) built an mk3 from scratch with a completely different extruder and saw the same issues.

misan commented 6 years ago

different extruder and saw the same issues.

@ff8jake so that would rule out the Bondtech gears and MK3 extruder ... and would be pointing again to a firmware problem.

TheBrigandier commented 6 years ago

@misan Yep, this issue is way too long, hard to keep all the information straight.

I think between the above two things, we can pretty reasonably rule out hardware at this point.

Skiidlive commented 6 years ago

PRUSA has acknowledged the issue, says it is a firmware issue and are working on it. We are being told wait on new firmware. I was hoping for the fix in 3.2 but that does not seem like it will happen.

TheBrigandier commented 6 years ago

@Skiidlive do you have new information, or are you basing this on the screenshots posted earlier? Just curious.

Skiidlive commented 6 years ago

@ff8jake Nothing new. Support has been telling me while working on other issues they are still working on it. I guess I should have screen shot the conversations. You can tell they do not like to discuss specifics and some seem like they just do not know.

Skiidlive commented 6 years ago

Please do not get me wrong. The work done by people here to get a fix is amazing and I would like nothing more than to buy the one a drink that does it. I would apply it to my machine right away. My Monoprice Select Mini puts out better prints on the outside.

TheBrigandier commented 6 years ago

@Skiidlive Funny you make the comparison, I had a Monoprice Mini Delta that stomps this too lol.

I'm in agreement with you at this point. I think all we can do is sit back, wait, and remind them.

Skiidlive commented 6 years ago

@ff8jake I sent another message to PR earlier today "reminding" them and mentioned the increasing number of people like us growing fast. I bought this machine knowing there would be some tweaks needed but have had enough. They are spending too much time on April fools tools and MMU while bragging about the insane number of these "broken" or "unfinished" printers they are shipping. I believe many people are new or came from a printer so old these prints are really good to them. They are not compared to what I was "SOLD" I bought this machine because I could not find a better printer without spending tons more money. Had I known, I would have just spent the extra money.

TheBrigandier commented 6 years ago

@Skiidlive Right there myself. I can say that once they fix this "OMIGOD they seriously shipped it with this?" issue and moire, I will have finally got this thing to where I expect it. It only took:

I'm sure I missed some misc items there, so I would say I spent about $350 too much on this machine so far. If we counted time, I'd be pushing some scary numbers. :)

Skiidlive commented 6 years ago

@ff8jake Ouch, I only have new bearings, new power supply and need a few printed parts replaced. My belt wobbles and is wearing on the side. The bearings I sorted at work to find enough good ones to use from the two sets. I just didn't want to spend the money for INA bearings or better. I have a replacement aftermarket power supply and the printed mount ready for when the prusa one fails again. I have not found a good option for feet. I will focus on finishing it when prusa get sit printing right or maybe we start sending them back.

Matts-Hub commented 6 years ago

Comments like that aren't constructive or helpful at all Eric.

jonbet83 commented 6 years ago

Just seeing several comments on the PINDA temp correction, I’m guessing it only affects the first layer height and won’t be changing anything after that...like all the time depending on temperature changes while printing? The Mk2.5 and the Mk3 both have the new PINDAS correct?

stahlfabrik commented 6 years ago

@jonbet83

Pinda Temperature is considered during the mesh bed leveling and then not anymore. So especially not during print.

I also have inconsistent layer lines. I also tried yesterday to disable the heatbed since I wanted to prove myself that it is not caused by the vibrating magnets (which vibrate each time the power is kicked in on the heatbed). The quality was MAYBE slightly better. But maybe that is just imagination. The problem, it seems to be, has nothing to do with the heatbed 42 vs 52. Is that common understanding? So what are the remaining differences between MK2 and MK2.5 (firmware obviously)?

I really think we need more evidence that MK2.5 shows that problem (what @ff8jake) pointed out already.

jonbet83 commented 6 years ago

Ok, I did think that but I wasn’t 100% sure if there was some sort of programming mistake taking it into account all the time, that and the ambient readings on display. It was a common change part between the 2.5 and 3. That was my thinking anyway and I didn’t remember it being mentioned before in previous comments here and I guess my little marlin trial would have ruled that out anyway.

I have no more ideas for now, I’ve been trawling twitter pictures today and there does seem to be some good prints off the mk3 which makes this more frustrating.

What affect would lowering the supply voltage have one the connected components? Is the supply voltage very stable under load? I’ve not checked it running I have to say only that it was 24VDC not running

venci1ty commented 6 years ago

Hey guys , did any of you tried to calibrate PID ? I had exactly same problem since day 1, and just yesterday after frustrating print i though to calibrate PID since this inconsistency seems most likely from more melted plastic.... Well i got perfect layers after that !! I don't have anymore this problem !

ps : the ringing become more visible tho... How do you fix this ?

TheBrigandier commented 6 years ago

@venci1ty PID tuning made no difference in my testing. Can you please provide a photo of a single wall cube, with light shining from above (this isn't visible well with camera flash)?

stahlfabrik commented 6 years ago

When one prints a cylinder in Vase Mode, is the extruder motor supposed to turn at a constant rate?

Is there someone here with a stethoscope camera attached to the extruder? Why not put it to watch the motor/gears instead of the nozzle:-)

I am trying to think of test prints that let us put our fingers on unreasonable behavior

I also saw someone in the forum mention that in first layer calibration every fourth line of the small square is a little longer. I have that too. Maybe that is something to look into as well.

Maybe a bug in the „path planning“.

cjo20 commented 6 years ago

@ericclinedinst Well volunteered :)

devilhunter84 commented 6 years ago

I use the E3D Titan which has a smooth idler against the hobbed goblin. (in my eyes E3D's hobbed goblins give better results than the expensive bondtech gears.)

Also I've pushed my 320mm max build height for a test print yesterday, and today i wake up with a giant vase on the print bed. ( see pics, also the left Vase is from the MK2, max height, 200mm. Right one is the expensive MK3 clone, with 320mm height.)

https://shop.prusa3d.com/forum/general-discussion-announcements-and-releases-f61/i-made-custom-scratch-built-mk3-clones-and-yes-you-t15658-s20.html#p78425

The vase might look good from further away, but if you get closer, it's kinda super ugly. Lots of small misaligned layers, some uneven, and moire pattern all over it. Now i saw the moire pattern on my test prints, too. Completely different hardware and extruder, just MK3 board and MK3 software.

Worst vase i ever printed, with a printer that has the most top-notch hardware i could find. Sigh. Just left of it is a MK2 vase, which looks very smooth without any printing pattern.

Inconsistent extrusion + non-fadeout mesh bed leveling = worst vase mode ever. (Z axis moves from side to side also in vase mode)

jonbet83 commented 6 years ago

@ericclinedinst I tried removing the other idle half of the gear and it mad no difference, I've attached a picture of the setup.

hob

jonbet83 commented 6 years ago

@ericclinedinst has to be user error... lol

EINSY? Firmware?

jonbet83 commented 6 years ago

its a combination of both

TheBrigandier commented 6 years ago

Based on @ericclinedinst going back and forth between mk2s and mk2.5 and seeing the problem go away when switching back, I am thinking we need to take the mk2s firmware he's using (if he can let us know the exact version), and try to get a barely viable version of it going on MK3. Just to see if we can affect a change.

I realize that may take A LOT of work. I wonder if there's a few pieces we could swap in like the old planner code? Anything to help us isolate the section of firmware responsible.

TheBrigandier commented 6 years ago

Actually, this would likely be a million times easier to find by swapping mk2.5 firmware chunks with mk2s legacy chunks. Since the board is the same.

3d-gussner commented 6 years ago

Did anyone tried to use a slightly modified MK2 firmware on a MK2.5 upgraded kit? Sorry i don't own one and can't help here.

  1. Use MK2 extruder with MK52 bed, needs firmware changes 1.a. for bed calibration as there are just 4 calibration points and maybe more If the results are good should not be an issue with the bed and sheet

  2. Use MK2.5 extruder and MK52 bed, needs firmware changes 2.a. what i can think of are the e-steps due to bondtech gears If the results are good, the MK2.5 extruder part and bondtech gears aren't the issue

??? Just try to help analyse the issue, as it just can be hardware wise:

  1. Extruder body or are there more parts to be changed?
  2. Bondtech gears
  3. MK52 and spring steel sheet

or firmware

3d-gussner commented 6 years ago

The MK25 firmware brach has been generated of the MK3 branch (few weeks ago) and the MK3 it self few months ago from the MK2 firmware branch. Lot of changes made to MK2 branch never made it to MK3, and the same happend with MK25 and MK3.

It is quite challenging to figure out which commit is the right one as they differ quite a lot.

Sebastianv650 commented 6 years ago

@all, @ff8jake wrote that original Marlin has the same issue: https://github.com/prusa3d/Prusa-Firmware/issues/602#issuecomment-381775629 Therefore I don't know why there is such a strong heading to PrusaFW, or why it should be a FW issue at all? Only thing I can read out of all this postings here is that no real reason has been found, so it's all open. And FW + driver issues could be ruled out easily using an oscilloscope if someone has one.

On the other hand I want to share a picture and the results from tests I did due to the massive amount of comments here. I printed single wall, no infill, 40x40x10 cubes using PLA from different brands and colors on my modified TAZ 5 (running current Marlin RCBugFix) and on my Prusa i3 MK2. Settings used: 0.45mm line width, 0.1mm layer height, 20mm/s print speed to keep any pressure effects low (I'm sensitive to this topic due to my lin advance..)

From this cubes, I did very slim vertical cuts so I got a lot of small cross-sections with 100 layers in one line. I put them onto my microscope, aligned with a steel ruler to have a nice edge I can compare to.

Result: With all filaments I have, on both printers using completely different hardware and FW, there is about the same amount of extrusion width inconsistencies like you can see on the picture below as an example. I can't tell if it would be worse on an MK3, I just want to show that there is always some imperfections on all prints I have ever seen in my life so far. And it would be nice to see some compareable pictures from an MK3 user to get some compareable data with numbers that can be actualy measured.

20180417_195356

PS: I was thinking about quite some time if I should join this conversation or not. Please keep it technical so I don't regret it ;)

3d-gussner commented 6 years ago

@ericclinedinst i see all the pain and effort you all put to into it and thought how to troubleshoot that, by using the MK2 firmware as base and try to find the issue as this issue seams to be less on a MK2/s.

But having MK52 bed, new extruder body, bondtech gears, PINDAv2 and filament sensor, Noctua fan (okay that should be less the problem here) you should try one thing after another to make sure you find the right thing.

mvasilakis commented 6 years ago

I don't know how to compile but it shouldn't be too difficult to narrow down the offending commit. If we take the last known good version and the first broken version lets say there are 300 commits. If the firmware is compiled with 150 of those commits the resulting code will either have or not have the issue. Then we halve the commits again on the half that has an issue. (If it prints without the extrusion issue we know its in the other batch of 150.)

The issue should be narrowed down to 2 commits in 7 compiles.

Side note who remembers Conflict Catcher on OS9? :D

jonbet83 commented 6 years ago

I’m happy to roll back to the earliest firmware and try it.

I think the microscope idea is a good one, I may be able to sneak over the lab at work and use one, so you just took a cut done the layers, all I could see was a wave pattern not what I’d expect more sort of oval shapes

3d-gussner commented 6 years ago

@ericclinedinst I don't know if we need it... maybe we should wait for Prusa and let them investigate...but as far i can see from 150+ comments people are willing to troubleshoot it. But you gonna need somebody is willing to do that and also being able to modify the firmware. If you are sure that you tried everything let Prusa do their job, and as said before by somebody you gonna need to wait few days or even weeks before they find the time to investigate and do any comment on this one.

Sebastianv650 commented 6 years ago

@jonbet83

so you just took a cut done the layers, all I could see was a wave pattern not what I’d expect more sort of oval shapes

This picture should make it more clear how I cut the single wall "cube". The gap in the front wall is the place where I extracted my probe: 20180417_204412

3d-gussner commented 6 years ago

Can somebody make kind of conclusion what have been done and what results have been found? As far i can see: This issues are related to MK3 (firmware versions ???) This issues are related to MK2.5 (firmware versions ???) It is not an issue on a MK2/s with the firmware from Nov 2017?

Switching between MK2 and MK2.5 issue can be reproduced.