inconsistent Z movement
-
Hello
I'm having some issues with my printers Z movement and looking for some advice as I've been unable to resolve it after a few days of troubleshooting.
Printer is a cartesian, started life as an Anet A8 which i changed to a metal frame (AM8) some time ago. I then switched to a Duet 2 wifi mainboard this past December and got it all setup and running reliably. The only thing left original from the A8 was the steppers.
A couple weeks ago, i changed a lot of things:
- Converted from 12V to 24V
- Linear rails on all Axis (BLV MGN mod for AM8)
- New Stepper motors (these)
- Changed Bowden setup to a geared direct drive extruder
I made any required changes to the config, everything seems to work like it should except i can't get anything to consistently stick to the bed. I'm using a BL touch and have calibrated the trigger height a zillion times.
After troubleshooting a lot I've come to the conclusion that the Z axis isn't changing height consistently. Resulting in the nozzle being either too close or too far from the bed but it's not consistent.
For example, after calibrating the Z probe trigger height I'll home all axes, move the print head to the centre of the bed and move Z to zero. Often it is just slightly too high, when I use the web interface to jog Z down .05 mm my feeler gauge will no longer fit between the bed and nozzle. Still using the web interface I'll have to jog the z axis up multiple times using the .05mm button to get it to the right height. But then Z height is showing as .10mm.
It's a dual Z stepper setup, using the two Z connectors on the duet which i believe are in series.
At this point I'm at a loss. I've disassembled the gantry ensured everything is square, linear rails are parallel, and nothing is binding. Without the lead screws connected the gantry moves freely. I can move the Z axis up and down in large increments and i don't notice the steppers missing steps at all.
So I'm hoping someone's been here before and can guide me on what I should be looking at next.
Config.g
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.10 on Fri Dec 04 2020 11:06:48 GMT-0500 (Eastern Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"3DP" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S1 ; Enable Telnet ; Drives M569 P0 S1 ; X goes forwards M569 P1 S1 ; Y goes forwards M569 P2 S0 ; Z goes backwards M569 P3 S0 ; E0 goes backwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X99.02 Y100 Z400 E418.06 ; set steps per mm M566 X600.00 Y600.00 Z18.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E6000.00 ; set maximum speeds (mm/min) M201 X2000.00 Y2000.00 Z100.00 E10000.00 ; set accelerations (mm/s^2) M906 X1125 Y1125 Z1125 E1125 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-17.5 Y-23.1 Z0 S1 ; set axis minima M208 X236 Y225 Z240 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 R.25 F100 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-29 Y0 Z1.070 ; set Z probe trigger value, offset and trigger height M557 X10:231 Y20:200 S60 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 L-127 ; 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 M307 H0 A206.6 C640.6 D2.1 V24.4 B0 S1 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S130 ; set temperature limit for heater 0 to 130C M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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 M307 H1 A611.0 C193.4 D4.9 V24.4 B0 S1 ; disable bang-bang mode for heater and set PWM limit M143 H1 S275 ; set temperature limit for heater 1 to 275C ; 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" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; 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 T0 ; select first tool
-
Are you using those new motors on the Z axis as well?
Is this a new problem after those recent changes?
You can try bumping the motor current on the Z axis a bit. Try 1300ma.
How heavy is the gantry?
Have you squared up the gantry so that it's even on both sides? If you have a spare driver you could put each Z motor on it's own driver. (just add the second driver number to the M584 Z mapping, nothing else needs to change)
-
@Phaedrux said in inconsistent Z movement:
Are you using those new motors on the Z axis as well?
Is this a new problem after those recent changes?
You can try bumping the motor current on the Z axis a bit. Try 1300ma.
How heavy is the gantry?
Have you squared up the gantry so that it's even on both sides? If you have a spare driver you could put each Z motor on it's own driver. (just add the second driver number to the M584 Z mapping, nothing else needs to change)
Thanks for your reply.
Yes i used those motors on the Z and this is only a problem after my changes. Prior to this everything was working reliably, i didn't have failed prints.
I will play with the motor current and see if that makes any difference.
I never weighed the gantry, previously it was a printed carriage with E3D hot end (bowden) on 2 smooth rods.After the change it's a piece of 2020 extrusion w/ linear rail, still printed carriage but direct drive. So it's definitely heavier... Just not sure how heavy.
Everything is square, i guess the last attempt will be to run each motor on its own stepper. But i did run the same configuration prior to the changes so I don't know if that's really the problem or not... But I'm not an expert.
Thanks again
-
No progress really. I bumped up the current as much as i could while keeping the motors from getting hot (1375mA) but i still get the inconsistent Z movement.
Next step will be to try independent steppers for each Z motor. Time is limited to work on this but hopefully i can try and get that setup in the next 1-2 days
-
@Phaedrux said in inconsistent Z movement:
M584
So i setup this up
M584 X0 Y1 Z2:4 E3
But now i get this
G28 Warning: motor phase A may be disconnected reported by driver(s) 2 4 Warning: motor phase B may be disconnected reported by driver(s) 2 4
Is this because now one motor from Z is disconnected? How do i fix that?
-
What is connected to drivers 2 and 4?
Do you have the jumpers installed in the second Z port? -
@Phaedrux said in inconsistent Z movement:
What is connected to drivers 2 and 4?
Originally Each Z motor was connected to Z1/Z2 (driver 2), i moved one to E1 (Driver 4) for each to be on their own driver as you suggested
@Phaedrux said in inconsistent Z movement:
Do you have the jumpers installed in the second Z port?
I didn't realize in the wiring diagram that there was option A and option B. After seeing that i installed the jumpers and now both motors are moving.
So now new issue. Home x and Home Y lift Z by a few mm. I can see one Z motor is spinning faster than the other because one coupler expands... I doubt this is config related, what could potentially cause this, bad wiring?
Edit, I just realized they're spinning in opposite directions
Edit 2: Fixed that with M569 for driver 4. Will continue to test -
; Drives
M569 P0 S1 ; X goes forwards
M569 P1 S1 ; Y goes forwards
M569 P2 S0 ; Z goes backwards
M569 P3 S0 ; E0 goes backwardsAdd driver 4 to the list and set the direction
-
Yeah i had caught that just after posting. Fixed it and all is good.
Preliminary testing using a feeler gauge is that the height movement is consistent, or at least more than it was before.
But I've been wondering. Prior to all my changes i ran 12V, with the original Anet A8 stepper motors, with the dual Z connected to Z1 and Z2 and never had this problem.
Is there something wrong with the new motors i bought? Should i be looking at just replacing the Z motors with something more suitable?
Thanks,
-
The specifications of those motors look OK to me. Check that they move freely.
-
As far as I can tell they do, and I've quadruple checked the linear rail alignment that the gantry moves freely up and down without binding.
The only other thing i can think of is that i also added anti-backlash lead screw nuts... They were generic off of amazon, maybe they're causing some kind of additional resistance.
I may end up disassembling/reassembling the whole thing and verifying all wiring as well because this is the first time I've been really stumped.
But after a few tests this morning the consistency seems more reliable with independent Z drives so I'm going to move onto the next problem.
Thanks,
-
@kmart said in inconsistent Z movement:
maybe they're causing some kind of additional resistance.
That's typically what they do. Sometimes to the point of binding if the motor isn't powerful enough. Backlash is typically not a problem on Z. So I'd try removing them.