@droftarts said in Dual Z - Weird compensation (G32) - Cartesian style printer:
Not what I said. I didn't mean that the motor directions are reversed, I mean that if the Z motor connections are swapped, it will apply correction in the wrong direction, which is pretty much exactly the symptom you describe:
Ah that makes a lot more sense! I'll see when I get home and will post the update.
You don't need to define the U axis unless you are specifically homing that axis independently of the Z axis. There's no other reason to define it. For example, you home the Z axis (both motors) with an endstop on the Z endstop connection, then home the U axis (i.e. one end of the Z axis) with another endstop connected to the E1 endstop. Or use motor stall to do the same thing. But you're not doing that, so no need to define U.
I see!
So it should only be:
M584 X0 Y1 Z2:4 E3
I just type G32 in the console. Here are my bed/homex/homey/homez.g code
; bed.g
M561 ; clear any bed transform
G28 ;home
G30 P0 X50 Y110 Z-99999 ; probe near 1st leadscrew
G30 P1 X350 Y110 Z-99999 S2 ; probe near 2nd leadscrew and calibrate 2 motors
My homey is the same.
; homex.g
M400 ; make sure everything has stopped before we make changes
G91 ; use relative positioning
G1 Z5 U5 F6000 S2 ; lift Z and U axis up 5MM to clear bed
G90 ; absolute positioning
M913 X50 ; reduce motor current to 50% to prevent belts slipping
M201 X600 ; reduce acceleration on X to stop false triggers
M915 P0 S3 R0 F0 ; Driver 0, Sensitivity 3, don’t take action, don’t filter
G91 ; use relative positioning
G1 S1 X-500 F4000 ; move to home position
G90 ; back to absolute positioning
M400
M913 X100 ; motor currents back to normal
M201 X1500 ; accel back to original
;homez
G91 ; relative positioning
M584 Z2:4 ; (split axis into 2)
G1 Z8 U8 F6000 S2 ; lift Z relative to current position
G90 ; absolute positioning
G1 X200 Y110 F6000 ; go to first probe point
G30 ; home Z by probing the bed
M584 Z2:4 P3