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.
-
@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
-
The video makes me think broken wire.
-
@edgars-batna said in Extruder motors skip steps with pressure advance enabled:
@deckingman Video without filament: https://www.youtube.com/watch?v=oXsFLG7AMug&feature=youtu.be
Well that rules out anything to do with the hot end. We can forget all about jams and blockages. Time to test each individual extruder motor to see if we can narrow it down to one or the other (or both).
Also can you post your complete config.g file. Maybe one of use can spot something that you have missed.
-
@phaedrux All wires have either soldered or fastened connections. These are rather thick 1mm^2 wires with thick insulation. I just tested them and they read exactly motor resistance on the poles on the Duet connector side.
@deckingman The config.g in the original post is the original, I just removed wifi name and password. Motors can be also ruled out, as the nearly 1 year old Nema 17 behave exactly like the brand new Nema 23... Connections can be also ruled out, as these are two separate wires that I tried on 5 separate drivers on 2 separate motors and I use exactly the same type of wiring for the 6 other motors that never have an issue.
Slowly I'm coming to conclusion that there is a bug in the firmware...
EDIT: New findings: Setting extruder microstepping to 256 made it better, but this is not a solution as a single step would have too little torque and they still make knocking sounds, which means they would lose steps under load. I guess the firmware rounds the steps up on lower microstepping. @dc42 This could be, uh, a bug? I summon the firmware gods for clarification! If the resolution is less than required oscillation then it should suppress the oscillation. Does the firmware force 1 microstep movement if required movement is less than microstep for PA? I probably don't know what I'm talking about, but please help.
-
@edgars-batna I've just spent quite a bit of time going through your config files. Sorry to be a pain but just to be clear, you are saying that the config without pressure advance prints fine but the one with pressure advance is crap like in the video? What I mean is, there isn't some other fault crept in coincidentally with you enabling pressure advance? You can simply change M572 D0:1 S0.5 to M572 D0:1 S0.0 and it'll resort to printing just fine yes?
The reason I ask is that there are what look like a couple of anomalies but if it prints fine then it's nothing to worry about.
I'll tell you what looks odd anyway........You have the mixing ratio set to 0.5:0.5. Normally with a push-pull arrangement such as you have you'd set both extruders to 1.0:1.0 otherwise they would run at half speed (as in a mixing hot end). But further up, you set micro stepping to 8X for the extruders, then you set the steps per mm to 88(ish), then you change the micro stepping to 16X. I'm pretty sure that this will effectively change the steps per mm to 176 (88 x 2) which would make the extruders run at double speed and cancel out the 0.5:0.5 mixing ratio thing.
So if the steps per mm should be 88 @16 micro-stepping for those extruders, then ideally you ought to set the micro stepping to 16x in your first M350, take out the second M350 and set mixing ratio to 1.0:1.0.
Maybe - just maybe, there is some interaction between mixing ratio set like that and pressure advance that hasn't yet come to light until now........Long shot - just speculating....
The only other thing I noticed is that all your M569 commands have B, F and Y values which are firmware 2.02 and later - i.e. something new that has recently been added. Again, just speculation on my part but could this be the cause of the problem? Could there be some interaction between these values and the pressure advance algorithm? As this is something new in firmware 2.02 I see no harm in taking those parameters out and simply using M569 Pn Sn.
I'll keep thinking - this is bugging me.
-
@deckingman said in Extruder motors skip steps with pressure advance enabled:
@edgars-batna I've just spent quite a bit of time going through your config files. Sorry to be a pain but just to be clear, you are saying that the config without pressure advance prints fine but the one with pressure advance is crap like in the video? What I mean is, there isn't some other fault crept in coincidentally with you enabling pressure advance? You can simply change M572 D0:1 S0.5 to M572 D0:1 S0.0 and it'll resort to printing just fine yes?
Thanks for going through the file and don't worry about being a pain. Yes, changing PA to 0.5 (or any value, actually) causes step skips to varying degrees depending on the value, 0.5 being that video.
I'll tell you what looks odd anyway........You have the mixing ratio set to 0.5:0.5.
Yes, it's intentional. Basically, if it's set to 1.0:1.0 mix ratio, then the WebControl reports wrong time estimations. This way it extrudes the correct amount, while "fixing" the filament-based estimated time left. I've gone through many iterations with my extruders and I'm 100% sure it extrudes the right amount as long as the steps are not lost.
I'll try setting it to 1.0:1.0 yet again, but I'm quite sure it didn't work. If mixing ratio somehow influences PA like this, then it's a bug. EDIT: Tried, no change.
The only other thing I noticed is that all your M569 commands have B, F and Y values which are firmware 2.02 and later - i.e. something new that has recently been added. Again, just speculation on my part but could this be the cause of the problem? Could there be some interaction between these values and the pressure advance algorithm? As this is something new in firmware 2.02 I see no harm in taking those parameters out and simply using M569 Pn Sn.
I've tried removing them to no avail. The motors are slightly less audible for me with those values. All motors run at those values, which would cause lost steps on X, Y, Z... The accelerations are quite high and any problems would pop up right away. EDIT: Tried, no change.
The thing about microstepping from my last post... Greatly increasing E microstepping has reduced the skips; This must be the first real sign of a parameter affecting the skips. I tried 64 before, but didn't notice much change. At 256 it is no longer marginal, it is totally noticable. That "crazy retract" is no longer happening, but the motors still knock.