Dual Y-Motor gantry squaring with closed loop steppers
-
In my homing sequence for the Y-Gantry I first home Y in open loop mode as usual, lower the motor currents for both Y-steppers and then slowly drive the Y axis in physical enstops, positioned on both ends of the gantry until the motors loose some steps on each side.
By doing this, the Y-Axis is perfectly perpendicular to the X-Axis. I reset the motor currents for both Y-motors and proceed with the usual closed loop calibration sequence. My problem is that when closed loop mode is turned on, the motors do a small jump. Unfortunately, this movement is seemingly not equal in both motors, making the Y-Axis skewed again. @dc42 I am wondering what causes this jump and if there is any way to avoid it.Here is my Y-Homing sequence. Any suggestions for improvements would be much apreciated.
;''' Home Y at the low end of the axis''' ;pre-homing check if move.axes[2].homed=false ;check if Z is homed. If not, home Z first. echo "Z-Axis not homed, homing Z-Axis first" M98 P"homez.g" else if move.axes[2].machinePosition <=10 ;check if bed is within 10mm of the nozzle G91 ;relative positioning G0 Z5 ;move bed down G90 ; absolute positioning else ;Home Y at the high end of the axis G91 ;relative positioning M569 P125.0 D2 ;open loop mode Y1 M569 P126.0 D2 ;open loop mode Y2 G1 Y325 H1 F6000 ;coarse home Y ;Y-gantry squaring M564 S0 ;allow movement outside boundaries G1 Y-323 6000 ;move to Ymax M906 Y800 ;Set motor currents (mA) and motor idle factor in per cent G1 Y-5 F250 ;run Y axis into physical stop G4 S2 M906 Y2000 ;Set motor currents (mA) and motor idle factor in per cent G1 Y325 H1 F6000 ;coarse home Y G1 Y-2 ;go back a few mm G1 Y3 H1 F600 ;fine home Y M564 S1 ;limit movement within axis boundarie ;Closed loop calibration if global.closedloop=true ;check if closed loop is on G1 Y-10 F6000 ;move to a safe position M400 ;wait for the move to complete G4 P500 ;wait for the motor to settle M569 P125.0 D4 ;turn closed loop on Y-Motors M569.6 P125.0 V1 ;perform a tuning maneuver on Y1 M400 ;wait for the move to complete G4 P500 ;wait for the motor to settle M569 P126.0 D4 ;turn closed loop on Y-Motors M569.6 P126.0 V1 ;prform a tuning maneuver on Y2 G1 Y+30 F6000 ;move to Ymax G90 ;absolute positioning
-
@MaxGyver I assume you are running firmware 3.4.4 on the EXP1HCL board. Please try firmware 3.5beta1 on that board instead and see whether the behaviour is any different. You can continue running firmware 3.4.x on the main board for now.
Note, the M569.1 configuration parameters have changed in 3.5 - please see the wiki.
-
@dc42 Thank you for your response.
Yes, I am running RRF 3.4.4 (Sorry, I forgot to mention that!)
With RRF 3.5beta1 on the EXP1HCL, the Y-axis motors now keep their position when closed loop mode is activated. -
-
-