Changing Z offset with BLTouch
-
i am having issues with my initial layer z offset. i use g30 s-1 to get the probe offset and no matter what/when, its always about 4.1mm. that is what i have in my config.g
where the problem comes in is that when i print, i have to babystep to get my initial layer to stick. the amount i have to change it varies a lot and rapidly.
Example 1:
i can start a print at a -.8mm offset and it will print very well. i can then try to reprint and will have to adjust the offset to -1.3 or somewhere in between. nothing changes in between.Example 2:
i can start a print and get a -.8mm offset, then pause the print, resume and the offset is no longer correct.Things i have checked:
- bed is not lose
- extruder is not lose
- the z motors do not seem to be skipping
- bltouch seems to be working fine as no matter what, G30 s-1 results in 4.1mm
- bltouch mount is solid as well.
Info about printer:
print is a customer corexy printer with dual z axis motors for bed leveling. Bltouch for bed meshing. this issue has always been a thing but before, i didnt have to change the offset much between prints.im at a lose at what to do. ideas?
config.g files
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jul 21 2021 18:08:02 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"My Printer" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes backwards M569 P1 S1 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M584 X0 Y1 Z2:4 E3 ; set drive mapping M671 X200:200 Y-133:567 S15 ; locations of lead screws relative to 0:0 M350 X16 Y16 Z16 E64 I1 ; configure microstepping without interpolation M92 X80 Y80.00 Z400 E391 ; set steps per mm M566 X10 Y10 Z300 E600 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y180000.00 Z600 E4800.00 ; set maximum speeds (mm/min) M201 X2000 Y2000 Z100 E1000 ; set accelerations (mm/s^2) M906 X1500 Y1500 Z800 E1500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S50 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z-2.0 S1 ; set axis minima M208 X350 Y350 Z400 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 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F100 T12000 R.1 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X27.6 Y18.7 Z4.1 ; set Z probe trigger value, offset and trigger height Z1.92 for .8mm nozzle 1.99 for .8mm nozzle M557 X25:175 Y25:175 S25 ; define mesh grid ; Heaters ;M140 H-1 ; disable heated bed (overrides default heater mapping) M308 S0 P"e0temp" Y"thermistor" T100000 B4138 ; 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 R1.857 C155.2 D5.66 S1.00 V24.1 ; disable bang-bang mode for heater and set PWM limit M143 H0 S300 ; set temperature limit for heater 0 to 300C M308 S1 P"bedtemp" Y"thermistor" T25000 B3950 ; configure sensor 1 as PT1000 on pin bedtemp M950 H1 C"bedheat" T1 ; create bed heater output on bedheat and map it to sensor 1 M307 H1 B0 R0.757 C145.9 D1.90 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H1 ; map heated bed to heater 1 M143 H1 S125 ; set temperature limit for heater 1 to 300C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H0 T60 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 D0 H0 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 M955 P0 I45 C"spi.cs3+spi.cs4"
bed.g
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jul 21 2021 18:08:02 GMT-0400 (Eastern Daylight Time) M561 ; clear any bed transform ;G28 ; G30 P0 X100 Y20 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X100 Y180 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors G30 P0 X100 Y20 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X100 Y180 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors G29 ; probe the bed and enable compensation
homez.g
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jul 21 2021 18:08:02 GMT-0400 (Eastern Daylight Time) G91 ; relative positioning G1 H2 Z5 F3600 ; lift Z relative to current position G90 ; absolute positioning G1 X100 Y100 F3600 ; go to first probe point G30 ; home Z by probing the bed G32 ; g30 s-1; G29 s1; ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z2 F100 ; lift Z relative to current position ;G90 ; absolute positioning
-
@cbrunnem2 Did you run mech bed to get proper height map? How does it look like ?
G29 on bed heated to printing temp ?There is G29 S1 that loads the heightmap from file, but You need to probe the bed first to get the right heightmap.csv file
Also 4.1mm seems a little too high for bltouch. It usually is about 2.5 - 3 mm when installed correctly.
If You need to babystep so much You should adjust Z trigger height according to
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing -
@BoA bed mesh was complete. see below. bed is not heated during this process and is very much room temp. the below mesh is after adjusting things so that the BLtouch triggers at 2.31mm. issue is still present. this time i had to jog to -1.7mm for the nozzle to just start grabbing a piece of paper. below is also my starting Gcode. i did have a z offset of .35mm in cura in my gcode as i was under the impression that was needed for cura but i have since removed it as it appears to make it worse.
lastly, i agree that if i have to babystep so much i should adjust the z trigger... the issue is... as i typed this, i started another print and i had to babystep to -1.4mm to get a good first layer. it seem to change and drift over time.
G91 ; Relative Positioning G1 Z-1 ; Move Z down 1mm G90 ; Absolute Positioning G28 XY ; Home XY M561 ; Clear any bed transform G1 X100 Y100 ; Move Probe to middle of bed G1 Z10 F6000 ; Move Z to 2 G30 ; Do a single probe G29 S1 ; Load heightmap (you can use G29 S1 instead) G1 Z2 F6000 ; Move Z to 2 M572 D0 S0.05 ;
-
@cbrunnem2 So You changed in config file
G31 P500 X27.6 Y18.7 Z2.31
as 2.31 was reported by G30 S-1 and You need to baby step even more?
If You manually dial to position where Z=0 (nozzle should be just barely touching bed) is that actually the case?BTW - IMO Z should be homed and bed probed at printing temperature, as that might affect bed shape.
What kind of printer You have? -
You are aware that G30 S-1 only yields a correct result if the starting Z position is correct?
Frederick
-
@cbrunnem2
As @fcwilt has alluded to, it sounds a bit like you're procedure may be a little off.If you are running RRF 3.5 try putting the two attached macros in you macros folder.
Ideally create a folder >0:/macros/bl_touch/
Then runstart_calibration.g
It will step you through the calibration and carry out 10 cycles to determine the correct Z offset.
The result is saved in config-override.g (or you can edit config.g if you wish) -
@OwenD im trying to run this. my firmware is messed up or something. i am installing.... hopefully 3.5rc1 right now using that blue button at the bottom of this picture.... that i didnt see before....
hopefully this gets rid of the error when trying to run that macro saying i need to be on 3.5 or newer...
-
@BoA i dont run a heated bed as i havent needed to for PLA.
im in the middle of a firmware update BUT if i remember correctly, after getting the bed to grab a piece of paper, i would set that as z=0. if would grab a piece of paper if i moved and came back.
-
@fcwilt i am not sure what you mean exactly but i would only ever run G30 s-1 after homing x/y and after setting z=0 when the nozzle grabs a piece of paper.
-
@cbrunnem2 said in Changing Z offset with BLTouch:
my firmware is messed up or something
Try these files
https://github.com/Duet3D/RepRapFirmware/releases/download/3.5.0-rc.2/Duet2CombinedFirmware.bin
https://github.com/Duet3D/RepRapFirmware/releases/download/3.5.0-rc.2/DuetWebControl-SD.zip
-
@cbrunnem2 said in Changing Z offset with BLTouch:
@fcwilt i am not sure what you mean exactly but i would only ever run G30 s-1 after homing x/y and after setting z=0 when the nozzle grabs a piece of paper.
Setting Z=0, using the method you mentioned, should insure that the Z position at the start of the G30 S-1 is reasonably correct and thus the value reported should be reasonably correct.
Frederick
-
@Phaedrux Thank you. that did it. for whatever reason, whenever i uploaded the zip files, it would fail half way through
-
@fcwilt thank you. i tried the macro above and it reported 2.5mm which is different than the 2.31 i got BUT what is interesting is that it said it would save it in my config.g but didnt... its properly in the config-override.g though.
even further, i still had to jog down the same amount basically as before. the issue is becoming more consistent. its basically me having to jog down to -1.25 to -1.3mm every time including this time. that is still a larger difference than between 2.31 and 2.5mm.
should i just add the 1.3mm to my 2.31mm and call it a day????
as i am writing this, i realized, some of my error is in not zeroing the bed at the correct nozzle temp but that is not 1.3mm of error. my math says its about .1mm of thermal expansion. i can fix that in the future calibrations.
-
@cbrunnem2 Can You upload gcode that You are trying to print? Are You sure, there is no offset set in slicer or something?
When You set Z trigger height, home XYZ, and the jog to Z=0. Nozzle should be just touching printbed.
(Home XY, Home Z with probe, then jog to position where Z=0) -
You must always set the Z=0 Datum, using a single G30 as a fixed XY location, before creating the height map and before loading the height map to print.
And when determining the G31 Z Trigger Height, by whatever means, you need to use the same fixed XY location.
Some folks like to use a point of the height map grid. I use the center of the bed.
And you need to be sure baby-stepping and mesh compensation are disabled when doing either of the above.
Frederick
-
@cbrunnem2 to add to what @fcwilt had said, you should also reset your z=0 datum after performing bed levelling (and before loading/creating your heightmap).
When it does the bed levelling, it can shift the datum depending on how level your bed is. Hence the need to rehome z with your z probe at the same xy position -
@BoA i appreciate your help and everyone elses. Thanks. Gcode below. Just the start.
;FLAVOR:RepRap ;TIME:2435 ;Filament used: 3.38708m ;Layer height: 0.25 ;MINX:48.526 ;MINY:92.173 ;MINZ:0.25 ;MAXX:84.309 ;MAXY:127.954 ;MAXZ:25.5 ;POSTPROCESSED ;Generated with Cura_SteamEngine 5.2.2 T0 M104 S230 M109 S230 M82 ;absolute extrusion mode G91 ; Relative Positioning G1 Z-1 ; Move Z down 1mm G90 ; Absolute Positioning G28 XY ; Home XY M561 ; Clear any bed transform G1 X100 Y100 ; Move Probe to middle of bed G1 Z10 F6000 ; Move Z to 2 G30 ; Do a single probe G29 S1 ; Load heightmap (you can use G29 S1 instead) G1 Z2 F6000 ; Move Z to 2 M572 D0 S0.05 ; M83 ;relative extrusion mode G1 F300 E-0.25 ;LAYER_COUNT:102 ;LAYER:0 M107 G1 F600 Z0.5 G0 F2400 X57.32 Y94.657 Z0.5 ;TYPE:SKIRT G1 F600 Z0.25 G1 F300 E0.25 G1 F600 X57.994 Y94.278 E0.03215 G1 X58.844 Y93.849 E0.03958 G1 X59.493 Y93.562 E0.0295 G1 X60.145 Y93.305 E0.02914 G1 X60.828 Y93.068 E0.03006 G1 X61.356 Y92.904 E0.02299 G1 X62.223 Y92.669 E0.03735 G1 X63.006 Y92.501 E0.03329 G1 X63.992 Y92.333 E0.04158 G1 X64.7 Y92.253 E0.02962 G1 X65.726 Y92.18 E0.04276 G1 X66.568 Y92.173 E0.03501 G1 X67.271 Y92.193 E0.02924 G1 X68.306 Y92.269 E0.04315 G1 X69.6 Y92.461 E0.05439 G1 X70.377 Y92.617 E0.03295 G1 X70.876 Y92.74 E0.02137 G1 X71.429 Y92.892 E0.02384 G1 X72.064 Y93.088 E0.02763 G1 X73.012 Y93.422 E0.04179 G1 X73.988 Y93.855 E0.04439 G1 X74.453 Y94.08 E0.02148 G1 X74.977 Y94.351 E0.02453 G1 X75.581 Y94.691 E0.02882 G1 X76.156 Y95.051 E0.0282 G1 X76.711 Y95.421 E0.02773 G1 X77.247 Y95.823 E0.02786 G1 X77.829 Y96.286 E0.03092 G1 X78.222 Y96.622 E0.0215 G1 X78.697 Y97.052 E0.02664 G1 X79.254 Y97.6 E0.03249 G1 X79.889 Y98.284 E0.0388 G1 X80.53 Y99.068 E0.0421 G1 X81.062 Y99.787 E0.03719 G1 X81.498 Y100.438 E0.03257 G1 X81.921 Y101.123 E0.03347 G1 X82.344 Y101.914 E0.03729 G1 X82.678 Y102.583 E0.03109 G1 X83.008 Y103.365 E0.03529 G1 X83.252 Y103.986 E0.02774 G1 X83.494 Y104.725 E0.03233 G1 X83.782 Y105.711 E0.04271 G1 X84.013 Y106.835 E0.04771 G1 X84.126 Y107.54 E0.02968 G1 X84.242 Y108.468 E0.03888 G1 X84.278 Y109.009 E0.02254 G1 X84.309 Y110.026 E0.0423 G1 X84.271 Y111.167 E0.04746 G1 X84.177 Y112.21 E0.04354 G1 X84.063 Y112.991 E0.03281 G1 X83.874 Y113.976 E0.0417 G1 X83.737 Y114.561 E0.02498 G1 X83.519 Y115.326 E0.03307 G1 X83.289 Y116.035 E0.03099 G1 X82.922 Y116.966 E0.04161 G1 X82.662 Y117.575 E0.02753 G1 X82.272 Y118.356 E0.03629 G1 X81.898 Y119.041 E0.03245 G1 X81.601 Y119.526 E0.02364 G1 X81.097 Y120.296 E0.03826 G1 X80.737 Y120.792 E0.02548 G1 X80.397 Y121.235 E0.02322 G1 X79.939 Y121.78 E0.0296 G1 X79.365 Y122.408 E0.03537 G1 X78.606 Y123.166 E0.0446 G1 X77.815 Y123.865 E0.04389 G1 X77.058 Y124.445 E0.03965 G1 X76.489 Y124.848 E0.02899 G1 X75.787 Y125.304 E0.0348 G1 X75.08 Y125.725 E0.03421 G1 X74.047 Y126.246 E0.0481 G1 X73.482 Y126.5 E0.02575 G1 X72.436 Y126.921 E0.04688 G1 X71.69 Y127.163 E0.03261 G1 X71.161 Y127.319 E0.02293 G1 X70.397 Y127.509 E0.03273 G1 X69.546 Y127.687 E0.03615 G1 X68.866 Y127.787 E0.02858 G1 X68.293 Y127.856 E0.02399 G1 X67.395 Y127.924 E0.03744 G1 X66.816 Y127.947 E0.02409 G1 X66.241 Y127.954 E0.02391 G1 X65.241 Y127.924 E0.04159 G1 X64.219 Y127.816 E0.04273 G1 X63.479 Y127.718 E0.03103 G1 X62.391 Y127.498 E0.04615 G1 X61.783 Y127.349 E0.02603 G1 X61.169 Y127.17 E0.02659 G1 X60.521 Y126.963 E0.02828 G1 X59.504 Y126.561 E0.04547 G1 X58.655 Y126.182 E0.03865 G1 X58.151 Y125.928 E0.02346 G1 X57.601 Y125.628 E0.02605 G1 X56.612 Y125.032 E0.04801 G1 X55.916 Y124.547 E0.03527 G1 X55.384 Y124.148 E0.02765 G1 X54.672 Y123.572 E0.03808 G1 X54.209 Y123.146 E0.02616 G1 X53.707 Y122.658 E0.02911 G1 X52.997 Y121.902 E0.04312 G1 X52.6 Y121.435 E0.02548 G1 X52.223 Y120.965 E0.02505 G1 X51.776 Y120.354 E0.03147 G1 X51.311 Y119.666 E0.03452 G1 X50.816 Y118.827 E0.0405 G1 X50.447 Y118.14 E0.03242 G1 X50.161 Y117.54 E0.02763 G1 X49.951 Y117.065 E0.02159 G1 X49.663 Y116.345 E0.03224 G1 X49.34 Y115.404 E0.04136 G1 X49.174 Y114.842 E0.02436 G1 X48.927 Y113.857 E0.04222 G1 X48.799 Y113.17 E0.02905 G1 X48.681 Y112.405 E0.03218 G1 X48.585 Y111.462 E0.03941 G1 X48.532 Y110.6 E0.03591 G1 X48.526 Y109.965 E0.0264 G1 X48.553 Y108.919 E0.0435 G1 X48.649 Y107.956 E0.04024 G1 X48.766 Y107.128 E0.03477 G1 X48.906 Y106.373 E0.03192 G1 X49.096 Y105.59 E0.0335 G1 X49.237 Y105.076 E0.02216 G1 X49.572 Y104.033 E0.04554 G1 X49.834 Y103.335 E0.031 G1 X50.209 Y102.468 E0.03927 G1 X50.78 Y101.366 E0.0516 G1 X51.272 Y100.544 E0.03983 G1 X51.727 Y99.844 E0.03471 G1 X52.303 Y99.07 E0.04011 G1 X52.96 Y98.274 E0.04291 G1 X53.402 Y97.785 E0.0274 G1 X53.835 Y97.343 E0.02572 G1 X54.388 Y96.818 E0.0317 G1 X54.951 Y96.325 E0.03111 G1 X55.542 Y95.855 E0.03139 G1 X56.075 Y95.457 E0.02766 G1 X56.545 Y95.137 E0.02364 G1 X57.32 Y94.657 E0.0379 G0 F2400 X57.516 Y95.006 G1 F600 X58.305 Y94.562 E0.03764 G1 X59.383 Y94.035 E0.04989 G1 X60.292 Y93.677 E0.04062 G1 X61.076 Y93.409 E0.03445 G1 X61.605 Y93.248 E0.02299 G1 X62.31 Y93.059 E0.03035 G1 X62.827 Y92.943 E0.02203 G1 X64.036 Y92.731 E0.05103 G1 X64.978 Y92.63 E0.03939 G1 X65.764 Y92.579 E0.03275 G1 X66.787 Y92.576 E0.04253 G1 X67.456 Y92.604 E0.02784 G1 X68.258 Y92.666 E0.03344 G1 X69.542 Y92.857 E0.05397 G1 X70.359 Y93.016 E0.0346 G1 X71.452 Y93.315 E0.04711 G1 X71.931 Y93.466 E0.02088 G1 X72.863 Y93.794 E0.04108 G1 X73.674 Y94.151 E0.03684 G1 X74.487 Y94.54 E0.03747 G1 X75.37 Y95.03 E0.04198 G1 X75.935 Y95.384 E0.02772 G1 X76.37 Y95.674 E0.02174 G1 X77.007 Y96.143 E0.03289 G1 X77.722 Y96.712 E0.03799 G1 X78.601 Y97.513 E0.04944 G1 X79.113 Y98.031 E0.03028 G1 X79.667 Y98.644 E0.03435 G1 X80.21 Y99.308 E0.03566 G1 X80.729 Y100.01 E0.0363 G1 X81.279 Y100.839 E0.04136 G1 X81.644 Y101.454 E0.02973 G1 X81.991 Y102.103 E0.0306 G1 X82.315 Y102.752 E0.03016 G1 X82.636 Y103.512 E0.0343 G1 X82.877 Y104.125 E0.02738 G1 X83.155 Y104.98 E0.03738 G1 X83.396 Y105.816 E0.03617 G1 X83.618 Y106.901 E0.04604 G1 X83.729 Y107.59 E0.02901 G1 X83.845 Y108.515 E0.03876 G1 X83.878 Y109.021 E0.02108 G1 X83.908 Y110.024 E0.04172 G1 X83.872 Y111.135 E0.04621 G1 X83.777 Y112.184 E0.04379 G1 X83.625 Y113.179 E0.04185 G1 X83.482 Y113.898 E0.03048 G1 X83.298 Y114.658 E0.03251 G1 X83.139 Y115.203 E0.0236 G1 X82.914 Y115.896 E0.03029 G1 X82.611 Y116.671 E0.0346
-
@cbrunnem2 Seems Your start g-code is a little messed up. Why not homing Z, but probing?
Seems this one will not execute home.z or home_all nor bed.g at all (might be wrong, but looks that way for me).Probing and all other stuff is on purpose in printer files, so You can just execute G28 and G32.
-
@fcwilt i just powered on my printer. when its off, the bed sags a bit so i immediately homed xyz. height map looks good. babystepping was always at 0
i did the following commands:
G1 x100y100
g29 s2
G1 z0 (stepped down till nozzle is on bed)
G92 z0
g30 s-1 put that number in config.g under the g31 line
restarted board
homed xyz
G1 x100y100
g29 s2
G1 z0 (stepped down till nozzle is on bed)
g92 z0
g1 z10
g1 z0 (nozzle is still on bed)
G30 (it stops at 3.1mm which is what i have in g31)
g1 z0 (nozzle is too high.... by -.85 which ironically, is the about what the math would say my previous number should be at -2.31)im at a lose here.... what am i doing wrong
-
@BoA should i be doing a whole bed mesh at the start of every print? is that what you are saying?
might be worth it if i can figure out this problem as a hole. check my last response. with the current issue, id be wasting so much time probing hte bed just to have to babystep or ruin a print.