Independent Dual Z axis auto level.
DougJones last edited by
I have 2 Z axis motors and that are leveling the gantry when I run a G32. I am leveling the z axis then re-homing and repeating to check. Then I mesh level. The problem is that I am very consistently getting a slope (left side higher than the right side) when the plot shows up.
Do I have to use G30 to level the bed from 2 points or can I level the bed from the mesh leveled points?
I seem to be pretty consistantly off about .3mm every time I run the G30 lines of code. It says it corrects to 0, but if I run it again I am off by about .3mm.
i figured that if I run it a bunch of times in a row, it might gradually get better, but no dice. It will correct to about .3mm and never really get any better. Is this normal?
F/W Version: 2.02(RTOS)
; bed.g ; called to perform automatic bed compensation via G32 ; M561 ; clear any bed transform G28 ; Home G30 P0 X10 Y100 Z-99999 ; probe near leadscrew 1 G30 P1 X210 Y100 Z-99999 S2 ; probe near leadscrew 2 and calibrate 2 motors G28 ; Re-Home G30 P0 X10 Y100 Z-99999 ; probe near leadscrew 1 G30 P1 X210 Y100 Z-99999 S2 ; probe near leadscrew 2 and calibrate 2 motors G28 ; Re-Home G30 P0 X10 Y100 Z-99999 ; probe near leadscrew 1 G30 P1 X210 Y100 Z-99999 S2 ; probe near leadscrew 2 and calibrate 2 motors G28 ; Re-Home G29 ; probe the bed and enable compensation
From Config File
; Dual Z Axis M671 X-116:322 Y100:100 S4 ; define 2 leadscrews location & max correction
Ozzzzzzy last edited by Ozzzzzzy
I had that problem at first and it was I had both my z motors connected to the same z driver. I needed to switch one to a separate driver. I use driver 2 and 5 Z2:5 depending on youre firmware you might need a u axis.
Please post your full config.g and homeall.
You may also want to consider updating your firmware to 2.05.1. You're a bit out of date. Be sure to read the release notes for all versions in between 2.02 and 20.05.1 for changes you may need to implement.
Ozzzzzzy last edited by
I can get down to .o3 . You can make a macro with you're bed.g.
dc42 said this in another thread.
Copy your bed.g file to another macro file; then change the S parameter on the final G30 command to S-1 to get a report only when you run that macro.
DougJones last edited by
Here is my Config File. I am not using the bed leveling in home all. For now I just call G32 manually when I want to perform the function. I will automate this in home all later.
My Z axis are connected to separate drivers
; Configuration file for Duet WiFi (firmware version 2.03) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.0.4 on Sat Sep 21 2019 11:21:20 GMT+0100 (British Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Small Printer" ; 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 S1 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M569 P5 S0 ; physical drive 5 goes backwards M584 X0 Y1 Z2:6 U5 E3:4 ; set drive mapping M350 X16 Y16 Z16 U16 E16:16 I1 ; configure microstepping with interpolation M92 X100 Y100 Z400.0 U100 E418.00:418.00 ; set steps per mm M566 X600.00 Y600.00 Z12.00 U600.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z500.00 U6000.00 E1200.00:1200.00 ; set maximum speeds (mm/min) (was 6000) M201 X500.00 Y500.00 Z20.00 U500.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 U800 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Dual Z Axis M671 X-116:322 Y100:100 S4 ; define 2 leadscrews location & max correction ; Axis Limits M208 X-88 Y0 Z0 U-5 S1 ; set axis minima M208 X230 Y210 Z200 U318 S0 ; set axis maxima ; Endstops M574 X1 Y1 Z1 U2 S1 ; set active low and disabled endstops ; Z-Probe M558 P1 H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X-33.5 Y0 Z1.35 ; set Z probe trigger value, offset and trigger height M557 X15:195 Y15:195 S45 ; define mesh grid ; Heaters M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0 M143 H0 S150 ; set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M305 P2 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 2 M143 H2 S280 ; set temperature limit for heater 2 to 280C ; Chamber Heater M141 H7 ; heater 3 is the chamber heater M305 P7 R4700 T100000 B3950 ; heater 3 is monitored by a 100K thermistor with B=3950 and a 4.7K series resistor M301 H7 B1 ; use bang-bang control for the chamber heater M307 H7 A50 C600 D300 ; Fans M106 P0 H1 T45 ; set fan 0 value. Thermostatic control is turned on Heater 1 M106 P1 H2 T45 ; set fan 1 value. Thermostatic control is turned on Heater 2 ; Tools M563 P0 S"Extruder 1" D0 H1 X0 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 M563 P1 S"Extruder 2" D1 H2 X3 F1 ; define tool 1 G10 P1 X-.4 Y.4 Z-.1 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined
Ozzzzzzy last edited by Ozzzzzzy
I would try adding .05 or subtracting to one of youre leadscrew distances (M671 X-116.05:322 Y100:100 S4 ) and then see if you get a better score. or maybe .5
Might be you're probe. I use an original bl touch.
jay_s_uk last edited by
You have 6 drives mapped using M569 but 7 drives mapped using M584.
What board are you using?