Bltouch offset resetting
Hello, ich recently upgraded from RRF2 to RRF 3.2.2RC2,
I took my time to exchange all the commands and everything seem to be working well, almost.
I have setup my z-probe to BLtouch via
M558 P9 C"zprobe.in" F100 H11 R0.4 T250 A30 B1 M950 S0 C"exp.heater7" G31 X2 Y57 Z1.95
which works well, I guess
To calibrate z (with my leadscrew adjustment) I have been using the M558 (old command)
M558 P9 F750 H10 R0.3 T4000 A1 B1 ; Set single probing at faster feed rate
to change the feed rate (to be faster is Z ist off a lot) and then change it back after initial first probing to get more accurate result.
I have migrated the command accordingly to
M558 P9 C"zprobe.in" F750 H10 R0.3 T4000 A1 B1 ; Set single probing at faster feed rate
(F750 instead of F100 mainly)
but I have noticed that whenever I do M558 to change feed rate, my G31 settings with offset etc are reset fully.
Is there a new preferred way to just change feed rate for bltouch which doesn't reset G31, or do i have to set G31 again always after each M558? How can i avoid resetting that G31 ?
I just tested the M558 F750:100 but that is pretty useless.
; homez.g ; called to home the Z axis ; G91 ; relative positioning M280 P0 S160 ; Alarm Release and Push-Pin UP G1 H2 Z5 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 X162.3 Y115.7 F6000 ; Go to first bed probe point and home Z ;M558 P9 C"zprobe.in" F750:100 H10 R0.3 T4000 A1 B1 ; Set single probing at faster feed rate G30 ; Do a single probe to home our Z axis ;M558 P9 C"zprobe.in" F100 H5 R0.3 T4000 A15 B1 ; Set multi probing at slower feed rate G30 P0 X10 Y115.7 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X320 Y115.7 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors G1 X162.3 Y105.7 F6000 ; go to first bed probe point and home Z G30 ; Probe again to get a more accurate position G1 H1 X0 ; home X axis G1 H1 Y0 ; home Y axis
The F750:100 i kind of messed up
It will cause the G30 probing to be at 750 when going down and 100 when going up for second probe, then down with 750 again for second probing then stay at 100 for the travel for leadscrew adjustment.
I guess its resetting between 750 and 100 the wrong way
You can specify two feed rates in M558 now to do a fast then slow dive, but I don't know why your G31 offset would be reset. How are you confirming that it's reset? If you send G31 by itself it should reply with the current settings.
@phaedrux just added to my OpenPost - it doesnt work (for me?!)
Maybe it works, but hell... thats kind of useless... even X/Y travel speed is at 100 for Z probing
What firmware version are you using specifically? Check with M115
From RRF 3.3beta2 you can provide two F parameters instead of one, where the second is lower than the first, for example F1000:500. When doing a plain G30 command, an additional probe will be done using the first speed to establish the approximate bed position, before one or more additional probes are done using the second speed. The first speed will not be used when probing at a defined point or when mesh bed probing.
3.3 RC3 is currently available.
Nightreaver last edited by
@phaedrux I just updated to 3.3RC2 but it only fixed 1 issue.
still persisting issues:
- first probe lift is also at F100, instead of F750 as the probe move
- why on earth is the travel speed for X/Y on a CoreXY at F100 when I use G30 P0/1 with coords ? Im traveling across a 330mm printbed at F100 - what a pleasure
Shouldnt it only affect Z travel speeds?
Can you share your full set of files? Config.g, homeall.g, bed.g any other macros you're using.
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M667 S1 ; Select CoreXY mode ; Network M550 P"Tronxy X5S" ; Set machine name M552 S1 ; Enable network M586 P0 S1 ; Enable HTTP M586 P1 S1 ; Enable FTP ;M586 P2 S1 ; Enable Telnet ; Drives M584 X0 Y1 Z2:3 E4 ; define driver per axis M671 x-90:420 Y0:0 S4 ; define axis position relative to the bed M569 P0 S1 ; Drive 0 goes forwards (X) M569 P1 S1 ; Drive 1 goes forwards (Y) M569 P2 S0 ; Drive 2 goes backwards (Z1) M569 P3 S0 ; Drive 3 goes backwards (Z2) M569 P4 S1 ; Drive 3 goes backwards (E) M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E406.16 ; Set steps per mm M98 P"/sys/motor_speeds.g" ; Set motor settings M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; Set axis minima M208 X330 Y330 Z345 S0 ; Set axis maxima ; Endstops M574 X1 S1 P"!xstop" ; X min active high endstop switch M574 Y1 S1 P"!ystop" ; Y min active high endstop switch ; Z-Probe M574 Z1 ; Set endstops controlled by probe M558 P9 C"zprobe.in" F800:150 H6 R0.4 T250 A30 B1 ; Set Z probe type to bltouch and the dive height + speeds M950 S0 C"exp.heater7" ; assign GPIO port 7 (S0) to heater7 on expansion connector, servo mode G31 X2 Y57 Z2.155 ; Set Z probe trigger value, offset and trigger height M557 X30:300 Y60:270 P7:5 ; Define mesh grid ;;M557 X30:300 Y60:270 P7:7 ; Define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" A"Heatbed" T100000 B4138 R4700 ; define bed temperature sensor M308 S1 P"e0temp" Y"thermistor" A"Extruder" T100000 B4138 R4700 ; define E0 temperature sensor M308 S2 Y"mcu-temp" A"MCU" ; define msu temperature sensor M950 H0 C"bedheat" T0 ; heater 0 uses the bedheat pin, T0 = sensor 0 M950 H1 C"e0heat" T1 ; heater 1 uses the e0heat pin, T1 = sensor 1 M140 H0 ; set heater H0 zu BedTemp M140 = Bed Temp M143 H0 S90 ; Set temperature limit for heater 0 to 90C M143 H1 S230 ; Set temperature limit for heater 1 to 230C ; Fans M950 F0 C"fan0" Q500 M950 F1 C"fan1" Q500 M106 P0 S0 H-1 ; Set fan 0 (), Thermostatic control is turned off M106 P1 S0 H1 T40 ; Set fan 1 () value, at Temp Sensor 1, Thermostatic control is turned on at 40 degree ;paneldue 5" V3 M575 P1 S1 B57600 ; Tools M563 P0 S"E0" D0 H1 ; Define ("create") 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 ; Automatic power saving M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss ; Custom settings ; M915 X Y Z S10 R2 ; stall detection for axis motors ; Miscellaneous M501 ; Load saved parameters from non-volatile memory T0 ; Select first tool M200 D1.75 ; volumetric extrusion ;M572 D0 S0.1 ; pressure advance (0.65 for 600mm bowden?) ; trigger ATX power button / power on ATX M80 M556 S70 X0.60 ; axis compensation
; homeall.g ; called to home all axes M98 P"/sys/homex.g" ;start homing x M98 P"/sys/homey.g" ;start homing y M98 P"/sys/homez.g" ;start homing z G1 H1 X0 ; return 0 X axis G1 H1 Y0 ; return 0 Y axis
; homex.g ; called to home the X axis G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-335 F3600 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F6000 ; go back a few mm G1 H1 X-335 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homey.g ; called to home the Y axis G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y-335 F3600 ; move quickly to Y axis endstop and stop there (first pass) G1 Y5 F6000 ; go back a few mm G1 H1 Y-335 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homez.g ; called to home the Z axis G91 ; relative positioning M280 P0 S160 ; Alarm Release and Push-Pin UP G1 H2 Z5 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 X162.3 Y115.7 F6000 ; Go to first bed probe point and home Z ;M558 P9 C"zprobe.in" F750:100 H10 R0.3 T4000 A1 B1 ; Set single probing at faster feed rate G30 ; Do a single probe to home our Z axis ;M558 P9 C"zprobe.in" F100 H5 R0.3 T4000 A15 B1 ; Set multi probing at slower feed rate G1 X10 Y108.7 F6000 ; go to the probe point before "probing" Y - 57 (offset) G30 P0 X10 Y165.7 Z-99999 ; probe near a leadscrew, half way along Y axis G1 X320 Y108.7 F6000 ; go to the probe point before "probing" , Y - 57 (offset) G30 P1 X320 Y165.7 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors G1 X162.3 Y105.7 F6000 ; go to first bed probe point and home Z G30 ; Probe again to get a more accurate position G1 H1 X0 ; home X axis G1 H1 Y0 ; home Y axis
; bed.g ; called to perform automatic bed compensation via G32 M98 P"/sys/motor_speeds.g" ; re-Set motor settings M561 ; clear any bed transform M280 P0 S160 ; Alarm Release and Push-Pin UP ; bed leveling takes some approaches to level "perfectly" G30 P0 X10 Y110 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X320 Y110 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors ; go back near home before probing G1 H1 X20 ; return 0 X axis G1 H1 Y50 ; return 0 Y axis M558 T250 ; Set Z probe type to bltouch and the dive height + speeds ; probe the bed using mesh compensation G29 ; probe the bed and enable compensation M98 P"/sys/motor_speeds.g" ; re-Set motor settings
; motor-speeds.g M203 X30000.00 Y30000.00 Z1200.00 E3000.00 ; Set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z100.00 E250.00 ; Set accelerations (mm/s^2) M566 X900.00 Y900.00 Z12.00 E160.00 ; Set maximum instantaneous speed changes (mm/min) (Jerk) M906 X800.00 Y800.00 Z800.00 E800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
I added the "motor_speeds.g" to get rid of the issues I got with latest update ( from RRF V2 to V3.3 )
G31 X2 Y57 Z2.155 ; Set Z probe trigger value, offset and trigger height
Your G31 is missing a trigger value (P). For BLTouch add P25.
You can also send G31 by itself at any time to get a read back of what the firmware has configured so you can check if it's actually getting reset somewhere or not.
M558 T250 is a very slow travel speed between probe points. 2mm/s basically. T6000 would be more bearable.
Can you send M98 P"config.g" to check for any syntax errors?
At the start of your homez you may want to add M561 as well to make sure any compensation is removed before homing Z. This may be the cause of the issue you're seeing and not the offset actually being changed.