Extruder motors skip steps with pressure advance enabled
-
@deckingman Thanks for the detailed explanation. I do not observe visible under or overextrusion (except for smallish blobs on corners due to low XY jerk) ever since I switched to the Volcano today. It now appears to print fine without pressure advance at 120mm/s and this is considering a longish Bowden tube. Maybe I don't need it after all...
Regarding calibrating the pressure advance, the Python script did work for me during the calibration itself. The straight lines got very consistent, even considering it slowed the prints down, but I knew it would happen and thought all is well. Then I tried to print with more than a single straight segment and that's where extruders started attempting impossible speed changes, skipping steps...
I've been working on calibrating the thing for the past 6 months as time allowed it. I've reduced Extrusion-related slack significantly and it is then that the pressure advance "stopped working".
-
@edgars-batna said in Extruder motors skip steps with pressure advance enabled:
................ and that's where extruders started attempting impossible speed changes, skipping steps...
I really don't understand what you mean by that. How do you evaluate that the extruder is attempting impossible speed change? Do you see any step errors or hiccups when you run M122? The rate of change of speed is called acceleration. So given that any move will take place at the lowest acceleration of X, Y or E, then the extruders should easily keep up with whatever the hot end carriage is trying to do, because the extruders have a much lower mass to move and also E moves are in the order of single digit percentages of the distance of any given X or Y move.
I just think that you are simply trying to cram filament into the hot end, faster than you can melt it. Very few people can print much above 100mm/sec - certainly not with a standard E3d V6. Yet you are trying to get to 300 mm/sec. You've had filament being ground away (due to the resistance). You've been down the road of using two extruders in a push-pull arrangement to try and cram it in. Then you've upped the motor specs to give you 3 times more torque. Doesn't all that tell you something?
Maybe those motors and double extruder arrangement can force filament out of the nozzle at print speeds of 300mm/sec but I'll bet the filament isn't melted through to the core and the pressure build up must be horrendous.
For sure with pressure advance enabled, the extruders will accelerate faster than the axes at the start of a move, but not by much. Maybe it's enough to cause skipped steps? But the root cause isn't any fault with the pressure advance algorithm - you are just trying to push filament through the hot end faster than it can be melted.
Edit. If the cause of the filament being ground down is the "normal" blockage caused by molten filament being drawn into the heat break and solidifying, then enabling pressure advance without also reducing retraction, or setting the pressure advance too high, might make the problem worse because more molten filament will be drawn back into the heat break area.
-
@deckingman I don't need 300mm/s. There was severe filament grinding prior to using double extruders even at 60mm/s and I simply experimented with higher speeds from there, all while using the pressure advance (at various values from 0.15 to 0.7). You were right that I should have calibrated the machine without pressure advance first, as it just totally diluted my findings with these sporadic step skips. This is my typical error of doing many things at once, as I'm just impatient.
30-120mm/s are the speeds that I print at. It somehow struggled even at low speeds, at 40mm/s during the first layers in the gcode files I uploaded. This confused me further. If I took the filament and pushed by hand, it would work fine. If I printed, it would skip so hard that it sometimes would basically retract 10 cm of filament. I'm saying retract, which implies no resistance, so the steps must've been generated wrong. These "wrong" steps would persist unless I reduce E jerk to 100mm/min. It's reproducible on my machine. With so many parameters it's hard to pinpoint the fault exactly, thus I started this topic.
Anyway, the Volcano is now much better. Less oozing, less stringing, less pressure. It's great. If only I could somehow reduce blobbing on low XY jerk...
I'll do another test and check M122 soon. Maybe I even make a video, but it's late Sunday, so it'll take a bit.
-
@edgars-batna If you were getting filament being ground away even at 60mm/sec, then something is wrong with your hot end. It means there is a restriction somewhere and filament can't come out of the nozzle as fast as you are trying to cram it in. Maybe yo have a partial blockage. Maybe your thermistor is reading the wrong temperature. There are numerous reasons why you might have a problem but IMO, doubling up on extruders or fitting bigger motors is only masking that problem - you need to fix it not find ways around it.
I'm really struggling to understand what your symptoms are. Maybe I'm just being thick but what does this mean?
Quote.......
"If I printed, it would skip so hard that it sometimes would basically retract 10 cm of filament. I'm saying retract, which implies no resistance, so the steps must've been generated wrong.........."
.......end of quoteThat implies that when you printed 100mm (10cm) of filament came back out of the hot end, rather than being fed into it. That's what retraction is. Is that what really happened?
-
Mmmm...
Pressure in advance, it is not well tuned. Can cause under extrusion?
Since a days ago.... I start printing, and after some lines, aprox 300mm.... The extruder motor start skiping steps....
I clean nozzle, and with DWC, extrude manual, and works.... But if I try to print... The same.
PLA at 210 degrees
-
@peirof See my reply in the other thread that you started.
@Edgars-Batna I've edited my post of 20 Jan 2019, 19:36 and added some information at the end.
-
@deckingman said in Extruder motors skip steps with pressure advance enabled:
That implies that when you printed 100mm (10cm) of filament came back out of the hot end, rather than being fed into it. That's what retraction is. Is that what really happened?
This is exactly what happened. The skips were that hard. It would make an impression of a successful print start, then at some point it would yell "NOW" to itself and start skipping like terrible music. Then it would come back, then it would start again. Retrying the print always yielded exactly the same results.
@deckingman said in Extruder motors skip steps with pressure advance enabled:
@peirof See my reply in the other thread that you started.
@Edgars-Batna I've edited my post of 20 Jan 2019, 19:36 and added some information at the end.
Retraction is at 3mm, tried setting to 2mm but it didn't affect it. If the filament was retracted by that much (e.g. 10cm) randomly, obviously it would clog itself up.
-
@edgars-batna said in Extruder motors skip steps with pressure advance enabled:
This is exactly what happened. The skips were that hard. It would make an impression of a successful print start, then at some point it would yell "NOW" to itself and start skipping like terrible music. Then it would come back, then it would start again. Retrying the print always yielded exactly the same results.
......................>Then there is something seriously wrong. For 100mm of filament to come back out of the hot end as you describe, the extruder must run backwards. Could you make a video of it by any chance?
Are you using relative or absolute extrusion in your slicer and is the Duet board configured to use the same as your slicer? Has the gcode file got corrupted? Look through and see if there are any negative E moves. The only negative moves should be the 3mm retractions you are using. For the extruder to run backwards by 100 mm, there must be a G1 E-100 command, or series of negative E commands that add up to 100 mm. Do you get any driver errors when you run M122? Are there any erroneous M569 commands anywhere - especially any Pn Sn which could reverse the motor direction?
I've never heard of it myself, but could the driver chip fail in such as way as to reverse the step direction?
-
hi,
first, thanks all for help.
At the end, i have find it...
The most cheap piece.... Termistor.
I suppose must be read a wrong temperature....10/20 degrees minus realone..., and this causes that the printer will cost to extrude, that's why the loss of steps of the motor.
How to avoid this next time?
maybe use a PT100 as a temperature sensor, but the Heatblock I use, has no physical place to mount itSugestions, please.
-
@peirof It's going to confuse people a lot less if you stick to one thread rather than dodging about between them. You started this thread https://forum.duet3d.com/topic/8714/pressure-in-advance-newbie-guide but now you seem to be replying on this other thread. I'm having trouble keeping track.......
-
Sorry....
the post its similar/duplicated.
-
@deckingman I did a video below.
I've been looking at my config and now I'm wondering if the values I use even make sense:
M203 E4500:4500 ; Set maximum speeds (mm/min)
M201 E1000:1000 ; Set accelerations (mm/s^2)
M906 E2500:2500 I40 ; Set motor currents (mA) and motor idle factor in per cent
M566 E1000:1000 ; Set maximum instantaneous speed changes (mm/min)Are those even sane E values for around 0.2-0.5 pressure advance? They translate to 16.67mm/s jerk and acceleration.
This file has behaved the worst with pressure advance so far: 0_1548187611613_Top+Lid+2.gcode (file cut in half so I can upload it, problem during first layer)
I admit that I had to crank extruder jerk and accel a bit higher so that the problem is better visible:
M572 D0:1 S0.5
M201 E2000:2000
M566 X500 Y500 E2000:2000The motors skip steps to different degree unless I reduce E jerk and accel to below 250. The loud knock sounds are extruder motors skipping steps. The filament grind that you see is due to skipping. XY accel varies as per gcode file.
Video: https://youtu.be/6T6nCv26wXk
There it retracted like 10-15mm while doing extrusion. This was during the first layer at around 30-40mm/s. Any pressure buildup can be ruled out. I stopped the machine and checked - filament was able to move freely. It feels like it attempts to do instantaneous speed changes during transition from one segment to another instead of slowing down the head. PA of 0.5 seems to otherwise produce the best results based on some other tests, but occasional step skip still occured, causing inconsistent layer widths. I can see the widths oscillate a bit, so the skips are probably related to pressure, but, also probably, are not the root cause.
Disclaimer: I still can't rule out my own error, tho.
-
@edgars-batna I've just watched your video - several times. It's insane behaviour!!
It's as if the extruders are fighting against each other. Are you sure both extruder motors are turning in the right direction?
Also, are the steps per mm (M92) correct and the same for both extruders? Make sure there is a colon separating the values - not a semi colon or comma.
Suggest you remove the filament, then try doing a manual extrude move through DWC or by inputting something like G1 Ennn Fnn. Observe the extruders are see if they both move in the correct direction and by the same amount. Also if you can, isolate one extruder at a time and try some manual extrusions. Disconnecting one motor at a time might work (turn power to board off first) - depends on how hard it is to feed filaments through an unpowered extruder which depends a bit on gearing.
-
@deckingman I've been there, done all of that multiple times. I'm losing my mind... it happens even if I press the release button on one of the extruders and regardless of motor count or connection. I've tried single motor, tried two in series, tried mixing, tried changing the amps, microstepping, the motors, speeds... I only installed the second motor because it was losing steps like this all along, but I didn't know why and then I installed one big fat Nema 23 out of desperation, then changed from V6 to Volcano.
-
@edgars-batna One other thing. The gcode file is sliced using relative extruder moves (which is good). But just check that you config.g and any config-overide, g has an M83 command somewhere to tell the board to expect relative extruder coordinates. Make sure there are no M82 (use absolute extrusion) commands anywhere in your configuration files.
-
@edgars-batna I can see why you would be thinking that you are losing your mind - I would too watching that video. Humour me - try running ta print but with no filament loaded and observe the motors. (check the M83 thing first).
-
@deckingman Don't see M82 anywhere. This video sums up last 3 months of my life: https://www.youtube.com/watch?time_continue=6&v=KjCO0thvlNY
I'll try without filament, but I think I already tried it. I need to make a list...
-
@edgars-batna said in Extruder motors skip steps with pressure advance enabled:
@deckingman Don't see M82 anywhere. ......................
OK - but tell me that you do see an M83. I have this nasty feeling that without either M82 or M83, the board will default to M82 (absolute) extrusion.
-
@deckingman I've posted my config.g from the start with the original post and it's the second line. If there would be a problem such as this, then the whole thing wouldn't work, but it's printing fine with PA disabled.
Just tried without filament - behavior is, I think, marginally worse than with filament. The bigger motor behaves way worse. This would fit the "impossible steps" theory as the rotor inertia is higher and there's no "filament brake" against oscillations now. Gonna post a vid as soon as I get to it, but it's basically the same and it seems that it's the worst during first layer, so it must be speed dependant. The slower the head the more skips they seem to get.
-
@deckingman Video without filament: https://www.youtube.com/watch?v=oXsFLG7AMug&feature=youtu.be