Printer Ignoring My Offsets
-
I am trying to set up my printer with a genuine bl touch and it just seems to ignore my offsets and print in mid air. I get the following error when running g29.
"Warning: the height map has a substantial Z offset. Suggest use Z-probe to establish Z=0 datum, then re-probe the mesh.
30 points probed, min error -4.475, max error -3.863, mean -4.249, deviation 0.178
Height map saved to file 0:/sys/heightmap.csv"This is my starting G-Code
; Ender 3 Custom Start G-code
G92 E0 ; Reset Extruder
G28 ; Home all axes
G29
M104 S{material_standby_temperature} ; Start heating up the nozzle most of the way
M190 S{material_bed_temperature_layer_0} ; Start heating the bed, wait until target temperature reached
M109 S{material_print_temperature_layer_0} ; Finish heating the nozzle
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squishHere is my config.g bl touch settings:
; Z-Probe Bltouch
M558 P9 H6 F300 T8000 R0.3 C"^probe" ; set Z probe type to bltouch and the dive height + speeds
M950 S0 C"Servo0" ; Setup Servo0 as servo port on SKR-RRF-E3
G31 P500 X-40 Y-12 Z-1.6 ; set Z probe trigger value, offset and trigger height
M557 X10:230 Y10:230 S40 ; define mesh gridIf I try and run a print it just prints in mid air and adjusting the z offset in config.g doesn't seem to do anything.
-
I believe your G31 line is incorrect for your Z. It should be a positive number and not a negative.
For my BL-touch on one of my corexy printers, my G31 line is this
G31 P500 X-25.5 Y-20 Z2.62With a negative z, that means the probe would be higher than the nozzle and it would never make contact. That might make sense for someone using a piezo sensor where the nozzle itself presses on the bed but not for something like a bl-touch.
-
It would help to see your full config.g and homeall.g file as well.
-
Config.g:
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Ender3Pro" ; set printer name; Network
M552 S0
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes forwards using default driver timings
M569 P1 S0 ; physical drive 1 goes forwards using default driver timings
M569 P2 S1 ; physical drive 2 goes forwards using default driver timings
M569 P3 S0 ; physical drive 3 goes forwards using default driver timings
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E93.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X12000.00 Y12000.00 Z600.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X580 Y580 Z580 E650 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X230 Y230 Z250 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin zstop
;M591 D0 P7 C"e0stop" S1 R50:130 L7.0 E10 ; BTT Smart Filament Sensor
;M591 D0 P1 S1 ; Filament runout Sensor; Z-Probe Bltouch
M558 P9 H6 F300 T8000 R0.3 C"^probe" ; set Z probe type to bltouch and the dive height + speeds
M950 S0 C"Servo0" ; Setup Servo0 as servo port on SKR-RRF-E3
G31 P500 X-40 Y-12 Z-1.6 ; set Z probe trigger value, offset and trigger height
M557 X10:230 Y10:230 S40 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bed" T0 ; create bed heater output on bed and map it to sensor 0
M301 P21.73 I1.54 D76.55 ; disable bang-bang mode for the bed heater and set PWM limit
M307 H0 R2 D65 B1 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S150 ; set temperature limit for heater 0 to 150C
M143 H0 S150 ; set temperature limit for heater 0 to 150C
M308 S1 P"e0temp" Y"thermistor" T100000 B3950 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S300 ; set temperature limit for heater 1 to 300C; Fans
M950 F0 C"fan0" Q1000 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q1000 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H1 T60 ; set fan 1 value. Thermostatic control is turned on; 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; Custom settings are not defined
; Miscellaneous
;M575 P1 S1 B57600 ; enable support for PanelDue
M575 P1 S2 B57600M552 S1 ; enable network
M150 X2T0 P0
M918 P1 E4 F100000Homeall.g
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-240 Y-240 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-240 Y-240 F360 ; move slowly to X and Y axis endstops once more (second pass)
;G1 H1 Z-255 F360 ; move Z down stopping at the endstop
M98 P"homez.g"
G90 ; absolute positioning
G92 Z0 ; set Z position to axis minimum (you may want to adjust this); Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning -
@ScubaDoge said in Printer Ignoring My Offsets:
M98 P"homez.g"
G90 ; absolute positioning
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)This is probably part of the problem.
Can you post homez.g please?
Whatever homez is doing, when it's done, you have it setting whatever position it's currently at as Z0.
-
Thank you for your help.
homez.g
17:25:01 GMT+0800 (中国标准时间)
;G91 ; relative positioning
;G1 H2 Z5 F6000 ; lift Z relative to current position
;G1 H1 Z-255 F1800 ; move Z down until the endstop is triggered
;G92 Z0 ; set Z position to axis minimum (you may want to adjust this); Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning; ################# Home Z Preparation ################
G91 ; Relative mode
G1 H2 Z5 F5000 ; Lower the bed
G90 ; Back to absolute positioning
G1 X117 Y117 F10000 ; Move to the center of the bed. Adjust to the co-ordinates required for the centre of your bed; ################# Home Z Preparation ################
G30 ; Probe a single point
-
@ScubaDoge said in Printer Ignoring My Offsets:
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
Simply delete this line from your homeall.g and I think things should be working better.
-
Genius!
That definitely made a difference, and the height map looks a lot better.
If I have probe offsets for marlin, could I also use the same values with duet?
Also, I did notice it was skipping points on the bed.
I am running into this error.
1/11/2023, 1:39:31 AM 30 points probed, min error -0.215, max error 0.585, mean 0.283, deviation 0.193
Height map saved to file 0:/sys/heightmap.csv
1/11/2023, 1:39:19 AM Warning: Skipping grid point X=210.0, Y=170.0 because Z probe cannot reach it
Warning: Skipping grid point X=210.0, Y=210.0 because Z probe cannot reach it
1/11/2023, 1:38:42 AM Warning: Skipping grid point X=210.0, Y=90.0 because Z probe cannot reach it
Warning: Skipping grid point X=210.0, Y=130.0 because Z probe cannot reach it
1/11/2023, 1:38:10 AM G29
Warning: Skipping grid point X=210.0, Y=10.0 because Z probe cannot reach it
Warning: Skipping grid point X=210.0, Y=50.0 because Z probe cannot reach it -
I am running into this error.
1/11/2023, 1:39:19 AM Warning: Skipping grid point X=210.0, Y=170.0 because Z >probe cannot reach it
Warning: Skipping grid point X=210.0, Y=210.0 because Z probe cannot reach itIf your probe offsets in your G31 are correct then there's no way the probe can reach the coordinates specified for your mesh.
G31 P500 X-40 Y-12 Z-1.6 ; set Z probe trigger value, offset and trigger height
M557 X10:230 Y10:230 S40 ; define mesh gridThe M557 points try to put the probe over the specified spot.
If the probe is 40mm to the left of the nozzle, then you can easily get it to X10, but to get the probe to X230 means the nozzle must be at X270, which is bigger than your stated X maxima.
Same applies in the Y direction.
Check your offsets using the method hereThen drive the head to the furthest points in X that you can safely reach with the probe and mark the points with some tape or a marker.
Then drive the nozzle to these points and take note of the positions. These will be your min max for M557.
Repeat the process for the Y directions.
You should end up with something like M557 X3:187 Y3:215 (assuming you leave a few mm from the edge of the bed) if your offsets are in fact X-140 and Y-12. -
@OwenD said in Printer Ignoring My Offsets:
I am running into this error.
1/11/2023, 1:39:19 AM Warning: Skipping grid point X=210.0, Y=170.0 because Z >probe cannot reach it
Warning: Skipping grid point X=210.0, Y=210.0 because Z probe cannot reach itIf your probe offsets in your G31 are correct then there's no way the probe can reach the coordinates specified for your mesh.
G31 P500 X-40 Y-12 Z-1.6 ; set Z probe trigger value, offset and trigger height
M557 X10:230 Y10:230 S40 ; define mesh gridThe M557 points try to put the probe over the specified spot.
If the probe is 40mm to the left of the nozzle, then you can easily get it to X10, but to get the probe to X230 means the nozzle must be at X270, which is bigger than your stated X maxima.
Same applies in the Y direction.
Check your offsets using the method hereThen drive the head to the furthest points in X that you can safely reach with the probe and mark the points with some tape or a marker.
Then drive the nozzle to these points and take note of the positions. These will be your min max for M557.
Repeat the process for the Y directions.
You should end up with something like M557 X3:187 Y3:215 (assuming you leave a few mm from the edge of the bed) if your offsets are in fact X-140 and Y-12.Owen thank you for that. It seems to be working a lot better now after those adjustments. I am trying to understand however why it isn't probing farther to the right. When I was running marlin, it would probe the exact center on its center home. When it probes with this software the nozzle is center not the probe. Do I have something set wrong?
-
@ScubaDoge
When you run G29, the firmware uses the probe offsets and moves to put the probe in the command position
When you are homing and use G30, it probes in the current position.
So you need to adjust your G1 command to place the probe in the center of the bed (or wherever you want it to be) before you call G30 to probe.