Z stalling or not moving part way through print
-
Hey all. I've got an issue that I can't seem to figure out. At the very least, I'd like to understand the why I can't have the settings I want without this issue.
Running RRF3, duet 2 wifi 1.04 on a CR10 with dual z axis.
The printer has been running great for several years with lower acceleration and jerk values. I had some time so I thought I'd try tweaking and squeezing out a bit more performance.
That's where things went wrong.
If you look below, you'll see that I had very low/conservative acceleration and jerk values. I increased my settings to recommended settings I've seen elsewhere but I'd start a print and come back to my z being stuck in the same place and grinding away at filament.
It's been random when the z motor wants to quit moving.I thought maybe it was my cables so I recrimped new ones and increased/lowered current but no difference.
I reverted back to the old jerk and acceleration values and it goes back to printing just fine.
My question is why is the acceleration and/or jerk causing this?Old settings
M350 X16 Y16 E16 Z16 I1 ; configure microstepping with interpolation M92 X80.757 Y80.585 Z404.95 E96.3 ; set steps per mm M92 X80.945 Y80.255 Z405 E198.6 M566 X900.00 Y900.00 Z120.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z250.00 E12000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30
Recommended
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z300.00 E9000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z400.00 E3000 ; set accelerations (mm/s^2) M201 X500.00 Y500.00 Z20.00 E250.00 M906 X800 Y800 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
Latest config
; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.4 on Mon Oct 11 2021 23:12:09 GMT-0500 (Central Daylight Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"xxxxx" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 E16 Z16 I1 ; configure microstepping with interpolation M92 X80.757 Y80.585 Z404.95 E96.3 ; set steps per mm M92 X80.945 Y80.255 Z405 E198.6 M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z300.00 E9000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z300.00 E3000 ; set accelerations (mm/s^2) M201 X500.00 Y500.00 Z20.00 E250.00 M906 X800 Y800 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z-1 S1 ; set axis minima M208 X300 Y300 Z400 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop M574 Z1 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop ; Z-Probe ;M558 P5 C"!^zprobe.in" H5 F1000:500 T2000 ;capacitive sensor M558 P9 C"^zprobe.in" H5 F200 T3000 ;f50 original probe speed mm/min G31 X-44 Y0 Z3.257 P25 ; old biqu bed G31 X-44 Y0 Z2.8125 P25 ; ;M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:255 Y15:285 S30:34 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 R0.189 C506.1 D0.29 S1.00 V14.4 ;M307 H0 B0 S1.00 M307 H1 B0 R3.218 C152.7 D6.02 S1.00 V14.1 M140 H0 ; map heated bed to heater 0 M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q250 ; create fan 1 on pin fan1 and set its frequency ;M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 ; set fan 2 value. Thermostatic control is turned off M308 S4 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper M106 P1 H4 L0.0 X1 B0.5 T45:55 ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool M950 S0 C"exp.heater3" ; Duet 2 WiFi/Ethernet bltouch M376 H8 ; bed taper compensation 20x max error of .391
-
@skhotso well the increase in acceleration between them is quite high, and the top speed is also higher. My guess is that some part of your z axis has some extra friction (rods not straight/parallel, gunk on the leadscrew etc). Then the motors don't quite have enough torque to accelerate at the increased rate with the added friction on top. Might also be that they lose a bit of torque when they get hot?
I'd probably just drop the acceleration values down and keep testing til you find the limit, then set your config to be 20% lower than that.
Do you use Z-hop on retraction? The extra z movements on that might be causing the issue as they tend to be longer (so higher top speed) than layer changes
-
@engikeneer
While I don't disagree that the change is significant, I see it as more of a change to a starting point rather than looking at it from A to B being a big jump percentage-wise.
I do have a small z hop of .1mm in my slicer but I've always had that and my layer heights are much more than that.You could be right though, a combination of z hop movements, heat, acceleration,
-
Try reducing your z acceleration to 200.
-
@phaedrux
I tried to do some testing and got inconsistent results.
I wrote a gcode to change acceleration and move z up and down several times at different speeds. Acceleration between 100-600mm/s^2 and speeds between 30 and 600mm/min(0.5mm/s to 10mm/s). I don't think the low speed really solidified any findings but I wanted to see if it'd fail because of the acceleration value alone.
The z axis would stop intermittently at all acceleration values, mostly at high movement speed but sometiems at 100mm/min. If it failed, I'd just turn it off, wait for the motors to cool then retry.I settled on the highest acceleration value and movement speeds that failed the least - 300mm/s^2 acceleration and max speed of 250 mm/min.
So far so good after 50+ hours of prints.I'm marking this solved but still not clear to me why it was failing .
-
-
-
Back again. I must be sh*t at crimping as well as the factories that made two of my stepper cables, or something funky is going on with my board.
It was stalling/grinding again with the "phase 2 disconnected" error so checked my cables at the stepper motors, plugged them back in, restarted the duet...still grinding.
Unplugged the cables from the board to check continuity to the motors, checked out good so I plugged it back in and it started working again.Printed for another 20+ hours, came back to a failed print due to z stalling as well as the phase 2 error. unplugged cable and just put it right back to see if it just needed to be "re-seated". z worked again.
Instead of wasting plastic I just simulated prints (gcode movements only) for 8 hours at a time.
Got 3 more stalled z-axes and both we fixed by reseating the cable.Before reseating the cable after the 3rd stall, I unplugged the z cables from the motors and plugged one into the x motor. The stalled-motor status moved to the x-axis and caused grinding. Reseated the cable at the board and back to normal.
SO far, I've recrimped 3 times and used cables from the other axes. It seems to stick with the z axis motor ports.
Is it possible I just need to reflow the solder on the header pins or is there something I can do to keep the pins and cables in uninterrupted contact? -
As you problem moves with the z axis steppers I would not reflow anything on the board. I am curious if you steppers are failing(slim chance but maybe) or if you’re still having problems with crimped wires.
Do you have consistent resistance between phases of the steppers when disconnected from the duet?
Have you tried lubing the lead screws lately?
How much are the steppers heating up? -
@alex-cr
I wasn't thinking of reflowing the whole board, probably just ensure good solder connection on the z headers.Consistent as in not fluctuating while measuring or consistent as in the same resistance between phases?
I didn't really watch the values as I was measuring, just measured and they were close to each other so I moved on.One of the first steps when troubleshooting this was cleaning and applying teflon dry lube to the lead screws.
steppers are hot but I can hold my hand on there all day if needed. Sorry, I haven't actually measured the temp.
-
Consistent as same resistance between phases. Sounds like you checked that box.
In terms of stepper temp, that should be sufficient. Just making sure they aren't too hot. If you can hold your hand there, that's not the problem.
My only other thought is disconnecting the lead screw and ensuring the whole Z axis moves freely.
-
@skhotso said in Z stalling or not moving part way through print:
Is it possible I just need to reflow the solder on the header pins or is there something I can do to keep the pins and cables in uninterrupted contact?
Can you post a photo of the solder joints and connector for the Z axis?
Does the problem follow the Z motor, or the Z driver?
-
@phaedrux
I'll take a pic when I have time to unmount it from the printer.The problem appears to follow the driver -- as mentioned above, switching the cable from the z motor to the x motor caused the grinding. I did not plug the z motor into the x axis/driver pins though.
-
Tried to take a picture but it was dark so I took a video. Snapshot from video attached. It doesn't look like there are any soldering issues here.
I bought 2 new motors just for the hell of it, even though both motors' phases tested around 6 (k?)ohms or so.
I decided to just split the z axis motors into separate drivers so I can see which motor keeps getting a "phase disconnected".
I also soldered the wires to the connector pieces after crimping, just for good measure.Haven't seen the issue yet so I'll just keep on printing until the issue pops up.
-
@skhotso said in Z stalling or not moving part way through print:
It doesn't look like there are any soldering issues here.
Agreed, those look like good joints from what I can see.
-