questions on bed leveling g32 and g29 together?
-
I have a corexy with 4 z motors next to each of 4 rods and bltouch. I can perform g32 and g29 manually which as far as i can tell perform their function and adjust accordingly.
I have a couple problems:
- g32 compensation does not seem to hold after reboot. i verified by running g32 after a reboot and it has to compensate each time.
- Are these settings stored somewhere?
- if so where, and how do i call on it?
- after performing both tasks, and then manually move the print head around i do see that the bed is level with the paper method on a warm bed/nozzle, i then try to print a sliced file. as the nozzle moves 1/3 to 1/2 across the bed, it crashes into the build plate. I can only assume g32 and or g29 did not load.
- must i call the result of g32 then g29s1 in my slicer?
- if i call just g29s1, will it also take into account g32?
Ideally id want to have the duet leveled once and not before every print/reboot. if that is possible, i am at a loss at how to achieve it
bed.g
G28 ; home
M401 ; deploy Z probe (omit if using bltouch)
G30 P0 X20 Y150 Z-99999 ; probe near a leadscrew,
G30 P1 X20 Y370 Z-99999 ; probe near a leadscrew,
G30 P2 X450 Y370 Z-99999 ; probe near a leadscrew,
G30 P3 X450 Y150 Z-99999 S4 ; probe near a leadscrew and calibrate 2 motors
M402 ; retract probe (omit if using bltouch)config.g
; Drives
M584 X0 Y1 Z7:6:5:2 E3
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S0 ; physical drive 3 goes backwards
M569 P4 S1 ; physical drive 4 goes forwards
M569 P5 S0 ; physical drive 4 goes forwards
M569 P6 S0 ; physical drive 4 goes forwards
M569 P7 S0 ; physical drive 4 goes forwards
M584 X0 Y1 Z7:6:5:2 E3:4 ; set drive mapping
M671 X-50:-50:560:560 Y145:370:370:145 S3 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis-Thank you
- g32 compensation does not seem to hold after reboot. i verified by running g32 after a reboot and it has to compensate each time.
-
@monsterfd What is your firmware version please. If you are running RRF3 I can post a link to that someone help me with conditionals, so I do not have to perform a Home and a 4 point probe on every print on my CoreXY, only at the beginning.
G32 result AFAIK is held in memory, so that is why when you reboot or power off/on you have to perform a G32 again. Personally I would not want the values stored and then read on power on, the bed could of dropped / moved and am fine with running a G32.
Regards,
Paul -
G32 slightly adjusts the motors so they are all in sync.
If power is lost/removed from the motors, there's no guarantee that the motors won't move slightly.
Therefore, you won't be able to remove the need for G32 after a reboot. -
Also, when you reboot the Duet, the stepper drivers don't remember which microstep they were on and start up at the same microstep each time (*). So the motors will jump up to about 2 full steps in either direction. Unless you have very high Z steps/mm, this will wreck the G32 calibration.
(*) In some systems the drivers will also execute a random number of microsteps at power up. This may be particularly likely to happen if there are stepper motor wires running across or under the Duet. Recent 3.01-RC firmware releases counter this by resetting the microstep counters to 0 after power up.
-
@PaulHew im on 2.05.1 and rrf3
thank you
-
@dc42 thank you. my question now then is what is the correct procedure to get g32 and g29 values after a power cycle? do i just need to run g32 after booting, and have g29s1 in slicer? or must i redo g29 after g32 on reboot?
-
Run G32 and include G29 S1 in your slicer.
As long as you've not removed and reinstalled your bed you'll be fine