Duet Scanning Probe and Independent Z Leveling
-
Feel free to move this wherever it belongs, it wasn't super obvious to me.
I'm setting up a printer with independent z motors and want to level the bed based on the scanning probe results. I do not have a discreet toolhead mounted probe other than the scanning one.
How is this done? I'm not seeing it in my search results or the duet documentation. I'm hoping this works without having to G30 with the scanning probe (Ive heard some inconsistent results are to be expected).
Any help is appreciated. I'm still a week or two out from needing an answer, but figured I'd ask now.
Thanks,
Micah -
@micaheli you may be able to use the scanning probe touch mode that will be included experimentally in the next 3.6 beta or RC release.
-
@dc42 Sweet. Got a link to any information on that yet or do I have to go digging through git comments somewhere? Is it akin to the beacon-touch? Using the accelerometer?
-
-
@dc42 thanks a lot. I'm surprised the accelerometer wasn't used for this. But I'll definitely give this a try when I can.
-
@micaheli said in Duet Scanning Probe and Independent Z Leveling:
@dc42 thanks a lot. I'm surprised the accelerometer wasn't used for this.
You may want to take a look at a discussion about this over on the Klipper discourse and Github:
https://klipper.discourse.group/t/proof-of-concept-using-accelerometer-as-probe/4854
https://github.com/Klipper3d/klipper/issues/3741They sort of gave up on it. Just to be clear some of the problems associated with using an accelerometer are also issues with touch homing with the szp. But one of the plus points is that it looks like it is possible to use lower speeds (than those discussed in the above links) when tapping the bed. I've been running some tests on the current code (along with DC42) and it looks promising, but probably still needs a little more work and fine tuning.
-
@micaheli seemecnc tried an accelerometer version of a delta smart effector many years ago and it was not a good choice compared to other sensing mechanisms.
-
@micaheli Right now I'm using the Scanning z probe with EZABL from th3dstudio but once the full release of 3.6 comes out I'm going to give it a try with just the scanning z probe in touch mode to see If I can get away from using two sensors. I have a 600mm^3 printer with 4 independent z motors for the gantry. How I run it is in the starting gcode I run G32 which calls bed.g. bed.g goes to all four corners and probes each one. once it finishes the fourth corner it levels out the gantry to those four corners:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Feb 16 2022 21:57:55 GMT-0500 (Eastern Standard Time) G28 ; home M561 ; clear any bed transform G29 S2 ; G90 ; absolute positioning G30 P0 X29 Y40 Z-99999 ; probe near Z belt 1 (drive 3) front left G30 P1 X609 Y40 Z-99999 ; probe near Z belt 2 (drive 4) front right G30 P2 X29 Y601 Z-99999 ; probe near Z belt 3 (drive 5) back left G30 P3 X609 Y601 Z-99999 S4 ; probe near Z belt 4 (drive 6) back right G1 X335 Y325 F15000 ; go to center of the bed G30 ; home Z by probing the bed M291 P"Automatic bed compensation complete!" R"Your bed is leveled!" S1 T5
after this in the starting gcode I do a G29 ;Run file sys/mesh.g. In mesh.g it just does a M558.1 and G29 S0 K1 to use the scanning z probe to do the scan:
M150 E0 R0 U255 B0 P255 S3 F0 ; set extruder leds to green G29 S2 M98 P"homez.g" M558.1 K1 S1.5 G29 S0 K1 M150 E0 R255 U255 B255 P255 S3 F0 ; set extruder leds to white
I also have some lights on the extrude which change color during scanning.
For the scanning itself I run it at a 600mm/s in a 31x31 grid giving me a total of 961 points. For the 600mmx600mm ish bed it takes shy of 1 minute to do the whole scan. This way I get a perfect first layer every time.
Here is how I have my probes configured in config.g
; Z-Probe M558 K0 P5 C"!io5.in" H3 F900:120 T36000 ; set Z probe type to EZABL Pro and the dive height + speeds G31 K0 P500 X-31.27 Y-46.64 Z2.064 ; set Z probe trigger value, offset and trigger height M557 X29:609 Y40:603 P31:31 ; define mesh grid ; Scanning Z probe M558 K1 P11 C"120.i2c.ldc1612" F36000:36000:36000 T36000 B1 ; configure SZP as probe 1, type 11, on CAN address 120 M308 A"SZP coil" S10 Y"thermistor" P"120.temp0" ; thermistor on SZP coil G31 K1 X-25.00 Y0 Z1.964 ; define probe 1 offsets and trigger height M558.2 K1 S13 R152893 ; set drive current and reading offset M557 X29:609 Y40:603 P31:31 ; Define mesh grid for probe 1 (overwrites probe 0 mesh grid)
of course this is just for my particular printer and these values should not be used for your printer, but it might shed some light on how it roughly goes. Hope it helps.
-
@charliedrums said in Duet Scanning Probe and Independent Z Leveling:
The way the bed slopes consistently from front to back, with the min and max deviation, seems to show that your bed needs tramming, ie the back corners need to be higher, or the front corners lower. You say you're using bed.g to do the levelling, but it doesn't look very flat!
Ian