First time posting here, but i have a problem that is stumping me with no luck after days scrolling forums and internet.
My problem is while trying to run bed.g it normally would probe all 4 corners and determine how far out they are and automatically adjust each one and continue to do so until it gets within .02mm and then say proceed to print. Last week between prints, i noticed the first layer was all over the place and then dove in to find my tilt calibration was not updated correctly. Now trying to run the tilt macro (G32) it will go around to all for corners and then says "Your bed is within 0.02 mm between the corners. The difference was 0.000mm. You can proceed to print". i can tell this is incorrect as there can be a notable 5-10mm difference from corner to corner and it will still give the same message.
i have proven that the probe is working by generating a good height map even with the notable height differences from corner to corner. but some reason the machine has decided not to auto level anymore...
Any help is greatly appreciated! Thanks in advance!
Config.g
```; General preferences_________________________________________________________
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set output to look like Marlin
M575 P1 B57600 S1 ; Set auxiliary serial port baud rate and require checksum (for PanelDue)
; Network_____________________________________________________________________
M550 P"Big 60" ; set printer name
;M551 P"MODIX3D" ; Set password (optional)
M552 S1 ; enable network
;M552 P0.0.0.0 ; Uncomment this command for using Duet Ethernet board
; Drives_________________________________________________________________________
M569 P0 S1 ; Physical drive 0 goes forwards. X-Axis.
M569 P1 S0 ; Physical drive 1 goes backwards. Y-Axis.
M569 P2 S0 ; Physical drive 2 goes backwards. Z-Axis.
M569 P3 S1 ; Physical drive 3 goes forwards. E0-Extruder.
M569 P4 S0 ; Physical drive 4 goes backwards. E1-Extruder.
;Settings_________________________________________________________
M584 X0 Y1 Z2 E3:4 P3 ; Driver mapping
;___________________________________________________________________
M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
M92 X100 Y100 Z2000 E415:415 ; Set steps per mm
M566 X300 Y300 Z120 E3600:3600 P1 ; Set maximum instantaneous speed changes (mm/min)
M203 X9000 Y9000 Z200 E12000:12000 ; Set maximum speeds (mm/min)
M201 X1000 Y1000 Z120 E1000:1000 ; Set accelerations (mm/s^2)
M204 P500 ; Set print and travel accelerations (mm/s^2)
M906 X1800 Y1800 E1000:1000 I50 ; Set motor currents (mA) and motor idle factor in per cent
M906 Z2400 I50 ; set Z motor currents
M84 S100 ; Set idle timeout - 100 seconds
; Axis Limits
M208 X0 Y0 Z-3 S1 ; set axis minima
M208 X600 Y600 Z660 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
; Z-Probe
M558 P9 C"zprobe.in" H5 F120 T6000 A1 R0.7 ; BLTouch probing settings
M950 S0 C"exp.heater3" ; set probe pin
M376 H50 ; Height (mm) over which to taper off the bed compensation
G31 P500 X-26 Y60 ; BLTouch X and Y offset from nozzle
M557 X{move.axes[0].min + sensors.probes[0].offsets[0] + 1, move.axes[0].max + sensors.probes[0].offsets[0] - 1} Y{move.axes[1].min + sensors.probes[0].offsets[1] + 1, move.axes[1].max + sensors.probes[0].offsets[1] - 30} P10:10
; The M557 is used to define the mesh grid area. It uses the P parameter to set the amount of probing points. P10:10 would be a 10x10 grid
M98 P"config_probe.g" ; Load the Z-offset from the config_probe.g file
; The Z_offset value is now set in config_probe.g, not in config.g
; Adjust the values there, do not adjust anything here.
; Heaters___________________________________________________________
M140 H-1; disable heated bed (overrides default heater mapping)
;E0_________________________________________________________________
;M308 S0 P"e0temp" Y"thermistor" T100000 B4725 ; configure sensor 0 as thermistor on pin e0temp
;M308 S0 P"spi.cs1" Y"rtd-max31865" ; Configure sensor 0 as PT100 via the daughterboard
M308 S0 P"e0temp" Y"pt1000" ; Configure sensor 0 as PT1000 on pin e0temp
M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
M98 P"PID_tune_E0.g" R1 ; PID calibration
M143 H0 S285 ; set temperature limit for heater 0 to 285C
;E0_________________________________________________________________
;M308 S0 P"e0temp" Y"thermistor" T100000 B4725 ; configure sensor 0 as thermistor on pin e0temp
;M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
;M307 H0 B0 S1.00 ; PID calibration
;M143 H0 S285 ; set temperature limit for heater 0 to 280C
;E1_________________________________________________________________
;M308 S1 P"e1temp" Y"thermistor" T100000 B4725 ; configure sensor 1 as thermistor on pin e1temp
;M950 H1 C"e1heat" T1 ; create nozzle heater output on e1heat and map it to sensor 1
;M307 H1 B0 S1.00 ; PID calibration
;M143 H1 S285 ; set temperature limit for heater 1 to 280C
; Fans & LED_________________________________________________________
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 C"Primary blower fan" ; set fan 0 value.
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H-1 C"Secondary blower fan" ; set fan 1 value.
M950 F2 C"fan2" Q500 ; create LED on pin fan2 and set its frequency
M106 P2 S0 H-1 C"LED" ; Disable fan channel for LED
; Tools______________________________________________________________
;T0_________________________________________________________________
M563 P0 S"E0 Primary" D0 H0 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S210 ; set initial tool 0 active and standby temperatures to 0C
;T1_________________________________________________________________
;M563 P1 S"E1 Secondary" D1 H1 F1 ; define tool 1
;G10 P1 X0 Y49 Z0 ; set tool 1 axis offsets
;G10 P1 R0 S210 ; set initial tool 1 active and standby temperatures to 0C
; Filament sensor settings__________________________________________________
M591 D0 P1 C"e0stop" S1 ; Regular filament sensor for E0
M591 D1 P1 C"e1stop" S1 ; Regular filament sensor for E1
; Automatic power saving____________________________________________
M911 S22.5 R29.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss. Power Failure Pause
; Primary hotend Clog detector__________________________________________________
;M591 D0 P7 C"e0stop" S1 L4.2 E10 R10:1000 ; Clog Detector E0 [Add-On]
;Secondary hotend Clog detector__________________________________________________
;M591 D1 P7 C"e1stop" S1 L4.2 E10 R10:1000 ; Clog Detector E1 [Add-On]
; Crash detector__________________________________________________
;M950 J2 C"zstop" ; create Input Pin 2 on Z-endstop to for M581 Command.
;M581 P2 T0 S0 R0 ; Crash Detector [Add-On]
; Emergency stop button__________________________________________________
;M950 J3 C"exp.e6stop" ; create Input Pin 2 on pin E6 to for M581 Command.
;M581 P3 T0 S1 R0 ; Emergency stop [Add-On]
;M581 P3 T1 S1 R1 ; Emergency stop, pause the print [Add-On]
;M581 P3 T1 S1 R0 ; Emergency stop, pause always [Add-On]
; Automatic Z Offset Calibration____________________________________
;global ErrorFix = 0
;M501
Bed.g
M98 P"config_probe.g" ; insure probe is using most recent configuration values
M280 P0 S60 I1 ; clear any probe errors
G28 ; home all
M280 P0 S60 I1 ; clear any probe errors
G29 S2 ; cancel mesh bed compensation
M290 R0 S0 ; cancel baby stepping
G90 ; absolute moves
G1 Z5 F99999 ; insure Z starting position is high enough to avoid probing errors
G1 X{move.axes[0].min+2} Y{move.axes[1].min+2} F6000 ; move to front left
G30 ; do single probe which sets Z to trigger height of Z probe
; --- level bed ---
while true
M280 P0 S60 I1 ; clear any probe errors
G30 P0 X{move.axes[0].min + sensors.probes[0].offsets[0] + 2} Y{move.axes[1].min + sensors.probes[0].offsets[1] + 2} Z-99999 ; Probe near front left leadscrew
M280 P0 S60 I1 ; clear any probe errors
G30 P1 X{move.axes[0].max + sensors.probes[0].offsets[0] - 2} Y{move.axes[1].min + sensors.probes[0].offsets[1] + 2} Z-99999 ; Probe near front right leadscrew
M280 P0 S60 I1 ; clear any probe errors
G30 P2 X{move.axes[0].max + sensors.probes[0].offsets[0] - 2} Y{move.axes[1].max + sensors.probes[0].offsets[1] - 30} Z-99999 ; Probe near rear right leadscrew
M280 P0 S60 I1 ; clear any probe errors
G30 P3 X{move.axes[0].min + sensors.probes[0].offsets[0] + 20} Y{move.axes[1].max + sensors.probes[0].offsets[1] - 30} Z-99999 S4 ; Probe near rear left leadscrew
if move.calibration.initial.deviation < 0.02
echo "Your bed is within 0.02 mm between the corners. The difference was " ^ move.calibration.initial.deviation ^ "mm. You can proceed to print"
break
; check pass limit - abort if pass limit reached
if iterations = 10
M291 P"Bed Leveling Aborted" R"Pass Limit Reached"
abort "Bed Leveling Aborted - Pass Limit Reached"
G1 X{move.axes[0].min+2} Y{move.axes[1].min+2} F6000 ; move to front left
G30 ; do single probe which sets Z to trigger height of Z probe