So. When in doubt, disassemble everything and build again from scratch (Well, almost…)
Re-did the Z and X gantry adjustments, making sure they were perfect, no binding, no slop. Everything OK.
Checked the Vref for all motors:
E: 1.064V
Z: 0.883V
Y: 1.390V
X: 1.184V
Research online:
TH3D lists Creality’s defaults:
|X|1.10 - 1.20|
|Y|1.00 – 1.10|
|Z|1.15 – 1.20|
|E|1.35 – 1.40|
My Z stepper Vref is a little low, especially for two motors in parallel, which needs twice the current.
I set this to 1.60V.
Ran the Z axis up and down 300mm each way for 5 minutes - the motors were barely warm.
Also checked out the Teaching Tech website for values. He references a blog entry on the EEVblog website.
This shows the values for the Creality 4.2.2 board that I have…
More research:
The two Z steppers have no way of referencing each other, so each starts just wherever it is.
From Reddit - eschertech
Dual Z motors inevitably get out of sync. One reason is that when you power up the printer, each motor will jump to a multiple of 4 full steps that matches the current in the motor windings. The two motors may jump in opposite directions. Also, many users configure the slicer end GCode to disable the motors at the end of a print, which can lead to the motors changing position between prints. It’s better to have the firmware reduce motor currents automatically when the printer is idle, but not turn the motors off completely.
So mechanical levelling is necessary initially, but some other mechanism is needed to keep the motors in sync. One way is to use the Z probe to level them automatically. Another is to use separate endstop switches for the 2 motors. I’ve heard that Prusa solves it by stalling the motors against the mechanical max endstop.
From the looks of things, the two motors in parallel, two lead screws is the epitome of stupid ideas!
My current attempt to solve the issue is to cut two blocks of plywood, and use them to level the X gantry prior to initially homing the system.
My choices in future will be:
- Go back to the single Z lead screw.
- Get the kit that uses a belt to drive the second Z axis.
- McGyver the machine and the gcode so that it will find a reference spot for the Z axis screws between prints - possibly removing the M84 command at the end of a print…
- Add an extra stepper motor driver to the machine, use this as a driver for the second Z, and figure out how to recompile Marlin and use the G34 and M422 automatic Z axis alignment function…
Now, did I buy a 3D printer to 3d print stuff, or did I buy it as a source of perennial challenges? Hmmm…
Does anyone know of someone who has this dual motor-dual lead screw working?