Bed leveling using 2 z-probes beta3.2
-
Hello all,
At the moment i'm trying to get the config right for a printer project i'm working on. I have two hotends in a carriage where one of them is steady and the other one is mounted on linear rails and a linear stepper driver which can move it up and down. Both of them have FSR's installed to be able to probe the bed individually and so an offset can be set between them which will make calibration a breeze, if it will work that is.
Right now i can't get it to work, on the user interface it displays two values however they're the same value. I'm wondering if any of you can look at my config and tell me how to fix it.
The second hotend is defined as tool U in my config and im using RepRapFirmware 3.2-beta3.2
; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards
M584 X0.0 Y0.1 Z0.2:0.3:0.4 U0.5 E1.0:1.1 ; set drive mapping
M671 X51.3:400:748.7 Y75:448.7:75 S0.5 ; leadscrews at rear left, front middle and rear rightM350 X16 Y16 Z16 U16 E16:16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 Z640.00 U5039.37 E274.00:274.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 U20.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X12000.00 Y12000.00 U250.00 Z600.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 U E250.00:250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 U420 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 U0 S1 ; set axis minima
M208 X800 Y500 Z500 U15 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!^io1.in" ; configure active-high endstop for low end on X via pin !^io1.in
M574 Y1 S1 P"!^io2.in" ; configure active-high endstop for low end on Y via pin !^io2.in
M574 Z1 S1 P"!^io3.in+!^io4.in+!^io5.in" ; configure active-high endstop for low end on Z via pin !^io3.in
M574 U1 S1 P"!^io8.in"; Z-Probe
M558 K0 P3 C"io6.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
M558 K0 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
G31 K0 P600 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height
M558 K1 P3 C"io7.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
M558 K1 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
G31 K1 P600 X103.6 Y0 Z0 ; set Z probe trigger value, offset and trigger height
M557 X15:215 Y15:195 S20 ; define mesh grid; Tools
M563 P0 S"Extruder 0 (Main)" D0 H1 F0:1 ; 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 1 (Support)" D1 H2 F0:1 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0CKind regards, Piet.
-
I got it working now, i read on the gcode webpage that you can't have multiple analog sensors? Im assuming it has to do with the filtering.
This is what the page stated:
*"Restrictions on defining more than one Z probe (K parameter) as at RRF 3.01:
G29 and G30 commands always used probe 0 and there is no facility to select a different probe
Only one Z probe can be type 1,2,3,5 or 9. But you can have multiple type 8 Z probes.
All Z probes use the same deployprobe.g and retractprobe.g files"*I changed it to the following in my config.g:
; Z-Probe
M558 K0 P3 C"io6.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
G31 K0 P600 X-103.6 Y0 Z0 ; set Z probe trigger value, offset and trigger height
M558 K1 P8 C"io7.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
G31 K1 P600 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger heightI'd still prefer if there was a different way to do it but for now it works.
I do however have another question. Like i said my tool 1 moves up and down. Now when i change tools i want my bed to move down before my tool goes down because otherwise it will crash into the bed. The problem is is that i use a G10 command to set the tool offset which is measured with the FSR. This offset only applies after running all the tool change scripts. So from what i can tell there is no way to move the bed first because it will only run after the tool change scripts which would the command to move the U axis.
Currently my code for measuring and setting the offset:
M561 ; clear any bed transform
M98 P"homeu.g" ; Home U axis
G90
T0 P0 ; Select tool 0
G1 X120 Y44
G91
G30 K0 Z-9999 ; Probe bed with tool 0 and set Z=0G90
T1 P0
G1 X120 Y44 Z7.5 U-7.5 F800; ; Move the bed 20mm, and the U axis 15mm down
G91
G38.2 Z0 P1
M400
G10 L1 P1 Z{move.axes[2].machinePosition}
M500 P10
M400
G91
G1 Z+5
G90
M400
M117 "Z offset for tool 1 is set and saved"T0
Maybe it is a possibility to set the U offset too so it changes it together?
I'd like any input
-
does it probe with different probes if you issue
G30 K0
and
G30 K1
?
-
No, it still shows the two same values in the UI. It only responds to the one shown there.
-
@Veti said in Bed leveling using 2 z-probes beta3.2:
does it probe with different probes if you issue
G30 K0
and
G30 K1
?
Same here. Only probes 1 point.
-
@Piet said in Bed leveling using 2 z-probes beta3.2:
No, it still shows the two same values in the UI. It only responds to the one shown there.
@Piet , you battling with the same thing?
-
@Piet said in Bed leveling using 2 z-probes beta3.2:
; Z-Probe
M558 K0 P3 C"io6.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
M558 K0 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
G31 K0 P600 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height
M558 K1 P3 C"io7.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
M558 K1 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been savedCan you remove the duplicate M558. There have been some other issues with incomplete duplicate M558 commands.
If you send M558 in the console what does it respond with?
If you send M558 K0 and M558 K1 what does it respond with? -
I got it working now, i read on the gcode webpage that you can't have multiple analog sensors? Im assuming it has to do with the filtering.
This is what the page stated:
*"Restrictions on defining more than one Z probe (K parameter) as at RRF 3.01:
G29 and G30 commands always used probe 0 and there is no facility to select a different probe
Only one Z probe can be type 1,2,3,5 or 9. But you can have multiple type 8 Z probes.
All Z probes use the same deployprobe.g and retractprobe.g files"*I changed it to the following in my config.g:
; Z-Probe
M558 K0 P3 C"io6.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
G31 K0 P600 X-103.6 Y0 Z0 ; set Z probe trigger value, offset and trigger height
M558 K1 P8 C"io7.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
G31 K1 P600 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger heightI'd still prefer if there was a different way to do it but for now it works.
I do however have another question. Like i said my tool 1 moves up and down. Now when i change tools i want my bed to move down before my tool goes down because otherwise it will crash into the bed. The problem is is that i use a G10 command to set the tool offset which is measured with the FSR. This offset only applies after running all the tool change scripts. So from what i can tell there is no way to move the bed first because it will only run after the tool change scripts which would the command to move the U axis.
Currently my code for measuring and setting the offset:
M561 ; clear any bed transform
M98 P"homeu.g" ; Home U axis
G90
T0 P0 ; Select tool 0
G1 X120 Y44
G91
G30 K0 Z-9999 ; Probe bed with tool 0 and set Z=0G90
T1 P0
G1 X120 Y44 Z7.5 U-7.5 F800; ; Move the bed 20mm, and the U axis 15mm down
G91
G38.2 Z0 P1
M400
G10 L1 P1 Z{move.axes[2].machinePosition}
M500 P10
M400
G91
G1 Z+5
G90
M400
M117 "Z offset for tool 1 is set and saved"T0
Maybe it is a possibility to set the U offset too so it changes it together?
I'd like any input