Stuck with bed probing / leveling, how does this work?
-
I'm tying to get my prusa Mk2 to work with a Duet 3 Mini 5+. I have everything hooked up, the z-probe is triggering correctly, but I have no idea what to do now. The Prusa firmware used to probe the bed in 9 places, and I think the probe only works on those spots?
How does bed leveling work on the Duet? How do I find out where the 9 probe spots are on the bed? How do I do bed leveling?
Sorry to be vague here, but I don't know where to start to address this.
Thanks!
-
See guide for the Duet 3 Mini 5+
Look at the Duet GCode dictionary for reference to commands.
-
G29 does mesh bed probe which requires M557 to define the grid area and spacing between points.
-
G30 does a single Z probe at current location to set Z point.
Need lots more info from you to provide additional help:
- What config files are you using? Link to files? Or post your config files here using </> code button in editor.
- What z probe do you have?
-
-
You can find some more information here: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_mesh_bed
The first step would be to figure out what the 9 probe points used by Prusa actually are if they are intended to be the only points used for probe reliability. Googling or asking Prusa maybe?
Once you know that, we can help you set up those points in the M557 command.
You should also make sure your probe is setup correctly and the offsets have been measured.
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
-
I got some numbers!
here are the 9 probe points:
X7 Y0
X7 Y95
X7 Y195
X110 Y0
X110 Y95
X110 Y195
X212 Y0
X212 Y95
X212 Y195And the offsets for the probe:
X_PROBE_OFFSET_FROM_EXTRUDER =-25;
Y_PROBE_OFFSET_FROM_EXTRUDER =-29;
Z_PROBE_OFFSET_FROM_EXTRUDER =-12.35; -
Here is my config.g:
; ##### General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Prusa MK2 DUET" ; set printer name ; ##### Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; ##### 12864 Menu M918 P2 E-4 ; ##### Drives M569 P1 S0 D3 V10 ; X drive @1 M569 P2 S0 D3 V10 ; Y drive @2 M569 P0 S0 D3 V100 ; Z left drive @0 M569 P4 S0 D3 V100 ; Z right drive @4 M569 P3 S1 D3 V0 ; E drive @3 - inversed M584 X1 Y2 Z0:4 E3 ; set drive mapping M671 X-37:287 Y0:0 S10 ; define dual driven z-axis M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E140.00 ; set steps per mm M566 X600.00 Y600.00 Z48.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X8000.00 Y8000.00 Z720.00 E7200.00 ; set maximum speeds (mm/min) M201 X1250.00 Y1250.00 Z1250.00 E2000.00 ; set accelerations (mm/s^2) M906 X750 Y750 Z600 E700 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; ##### Axis Limits M208 X0 Y-4 Z0 S1 ; set axis minima M208 X255 Y212.5 Z215 S0 ; set axis maxima ; ##### Endstops M574 X1 S1 P"io0.in" ; X endstop M574 Y1 S1 P"io1.in" ; Y endstop ; ##### Filament Sensor ; M591 D0 P2 C"io3.in" S1 ; Filament Runout Sensor ; ##### Z-Probe Settings for PINDA 2 M558 P5 C"io2.in" I1 H1 F1000 T6000 A3 ; Prusa PindaV2 Endstop ;M308 S2 P"temp2" A"Pinda V2" Y"thermistor" T100000 B3950 ; Prusa PindaV2 Thermistor G31 P1000 X23 Y5 Z1.4 S21 H2 T0.02 ; Nozzle offset - Powder Coated Sheet with temperature compensation (0.02mm/°C) ;G31 P1000 X23 Y5 Z1.1 S21 H2 T0.02 ; Nozzle offset - Smooth Sheet M574 Z1 S2 ; Set Z axis endstop, controlled by probe M557 X24:228 Y6:210 P5 ; Define mesh grid for probing M376 H5 ; Fade height 5mm ; ##### Heaters ; Bed Heater M308 S0 P"temp1" Y"thermistor" B4725 C7.060000e-8 ; configure sensor 0 as thermistor on pin temp1 M950 H0 C"out0" Q25 T0 ; create bed heater output on out0 and map it to sensor 0, PWM frequency: 25Hz M307 H0 R0.262 C338.0 D10.52 S1.00 V11.8 B0 ; Bed tuning values, enable PID M140 H0 ; Bed uses Heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C Bed ; Hotend heater M308 S1 P"temp0" Y"thermistor" B4725 C7.060000e-8 ; configure sensor 1 as thermistor on pin temp0 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S295 ; set temperature limit for heater 1 to 295C M302 S170 R170 ; allow extrusion starting from 170°C and retractions already from 170°C ; ##### Fans ; Part cooling fan M950 F0 C"out3" Q100 ; create fan 0 on pin out3 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off ; Hotend cooling fan M950 F1 C"out6" Q5000 ; NOCTUA fan an pin out6 with 5000Hz PWM frequency M106 P1 T55 S255 H1 ; Temperature control: turn fan on at 55°C ; ##### Tools M563 P0 D0 H1 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 M572 D0 S0.06 ; Pressure Advance ; ##### Startup M18 ; release / unlock X, Y, and E axis M501 ; use config-override (for Thermistor Parameters and other settings) G90 ; send absolute coordinates... M83 ; ... but relative extruder moves
and my bed.g, which is probably wrong:
M561 ; Clear any existing bed transform. G28 ; home G1 Z220 F10000 M558 F10000 G30 M558 F100 A5 S0.003 G30 P0 X7 Y0 G30 P1 X7 Y95 G30 P2 7 Y195 G30 P3 X110 Y0 G30 P4 X110 Y95 G30 P5 X110 Y195 G30 P6 X212 Y0 G30 P7 212 Y95 G30 P8 X212 Y195 M558 F200 A1 G1 X10 Y210 Z10 F10000
When I try do to a G30 command I get this error:
Error: G30: Insufficient axes homed for bed probingWhen I try to do a G28 it will go the center and ram the head into the bed (denting it).
What am I missing here?
-
I figured out the correct M557 command and issued it to the printer.
I tried G29 but it says
"Error: G29: Must home printer before bed probing"When I try Z-homing or S28, it will move to center and crash into the bed.
I don't understand this
Can I tell it a specific location to home the Z?
-
Post your homeall.g Thats the file that gets run when you send G28. You can customize what it does there.
Did you go through this yet? https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
-
Here is my homeall.g:
https://github.com/CNCKitchen/PrusaDUET/blob/master/SDCard/homeall.gYes, I've done the z-probe testing and calibration, it works as expected.
Thanks! I didn't know G28 was also a script.
-
In that homeall.g file you need to add a G1 X Y positioning move before the homez section if you want to probe at a certain point.