Height Map has a substantial Z offset
-
Based on the image I'm am guessing you are talking about Mesh Bed Compensation, not Bed Leveling.
When creating or loading the heightmap you must first set the Z=0 Datum using G30.
Something like this works fine:
G1 Xaaa Ybbb ; where aaa and bbb will move the probe to the center of the bed on your printer G30 ; probe once and set the Z=0 Datum
Now your heightmap is badly tilted but that is another issue.
Frederick
-
@fcwilt Thanks for the swift reply and yes it was concerning mesh levelling (but I get the same error in bed levelling).
I am new to this and have struggled ..why would the height map appear tilted when the bed definitely isn't ? -
@fcwilt Thanks again that has removed the error after bed and mesh levelling but i still have that tilt.
-
@nicaris said in Height Map has a substantial Z offset:
@fcwilt Thanks again that has removed the error after bed and mesh levelling but i still have that tilt.
Well the bed may not appear tilted but the heightmap says it is. But remember the heightmap is displaying small variations that may not be visible to the naked eye.
Does your bed have any manual bed leveling adjustors?
Frederick
-
@fcwilt Yes 4 ( 1in each corner)... how do i use them in reprap ?
-
@nicaris said in Height Map has a substantial Z offset:
@fcwilt Yes 4 ( 1in each corner)... how do i use them in reprap ?
Start with this:
If you cannot get it working let us know.
Frederick
-
It can help us if you share your config files and homing files etc so we can see what gcode is being run. That way we can spot errors and suggest specific changes.
-
@fcwilt Thanks again for your help- it will take some time to make the adjustments needed .
These are my Config Files :
; Configuration file for Duet WiFi (firmware version 2.03)
; executed by the firmware on start-up
;
; original version generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Apr 10 2020 21:58:05 GMT-0600 (Mountain Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Nick's Ender +5+ " ; set printer name
M552 S1
; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes forewards
M569 P1 S0 ; physical drive 1 goes forewards
M569 P2 S1 ; physical drive 2 goes forewards
M569 P3 S1
M569 P4 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2:4 E3 ; set drive mapping
; Settings w/o interpolation - commented out
;M350 X32 Y32 Z32 E128 I1 ; configure microstepping with interpolation
;M92 X160.00 Y160.00 Z1600.00 E3533 ; set steps per mm
;M566 X600.00 Y600.00 Z60.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)120
;M203 X9000.00 Y9000.00 Z1200.00 E6000.00 ; set maximum speeds (mm/min)
;M201 X3000.00 Y3000.00 Z60.00 E2500.00 ; set accelerations (mm/s^2)250
; Settings w/ interpolation @ 16
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z800.00 E140 ; set steps per mm
M566 X600.00 Y600.00 Z30.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)300
M203 X9000.00 Y9000.00 Z500.00 E6000.00 ; set maximum speeds (mm/min)
M201 X800.00 Y800.00 Z250.00 E2500.00 ; set accelerations (mm/s^2)1500
M906 X600 Y600 Z600 E900 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y6 Z0 S1 ; set axis minima
M208 X350 Y350 Z400 S0 ; set axis maxima; Endstops
M574 Z0 ; disabled end stop for z c
M574 X1 S1 P"xstop" ; active low endstop for x-axis
M574 Y1 S1 P"ystop" ; active low endstop for y-axis; Filament Sensor
M591 D0 P1 S1 C"e0stop"; Z-Probe
; Based on https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Duet_2_WiFi_Ethernet_without_expansion_board
M307 H3 A-1 C-1 D-1
M280 P5 S10 I1 :c
M950 S0 C"exp.heater3" ; Set exp.heater3 (pin8 on expansion socket) as servo pin 0 for BLTouch c
M558 P9 C"^zprobe.in" H5 F120 T6000 A5 R0.1 X0 Y) Z1 ; set Z probe type to bltouch and the dive height + speeds c
G31 P500 X-28 Y-13 Z3.48 ; set Z probe trigger value, offset and trigger height c
M557 X0:300 Y0:300 S20 ; define mesh grid
M574 Z1 S2;c
M280 P5 S90 I1
; Sensors
; See https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Pin_names_for_Duet_2_WiFi_Ethernet
; for pin names
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; Bed Thermistor
; I replaced my original e0temp thermistor, so if you have stock, use the same values as bed
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; Extruder Thermistor; Heaters
M950 H0 C"bedheat" T0 ; Create a heater using the bedheat output and the S0 temp sensor (bed heater)
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M143 H0 S120 ; set temperature limit for heater 0 to 120CC0.0000000706
M140 H0 ; Set heater H0 as the bed heater
M950 H1 C"e0heat" T1 ; Create a heater using the e0heat output and the S1 temp sensor (extruder 0)
M143 H1 S290 ; set temperature limit for heater 1 to 290C; Bed adjustment screw locations
M671 X15:300:300:15 Y35:40:320:320 P0.7 ; mark leveling screws at (316,295) (316,35) (46,295) (46,35); Fans
M950 F0 C"fan0" Q500 ; Set fan 0 to pin "fan0" with PWM freq 500 Hz
M106 P0 C"part-cooling" S0.65 H-1 ; set fan 0 name and fan speed to 65%. Thermostatic control is turned oncp0 h0
M950 F1 C"Fan1" Q500 ; Set fan 1 to pin "fan1" with PWM freq 500 Hz
M106 P1 C"hotend" S0.50 H1 T100 ; set fan 1 name and fan speed. Thermostatic control is turned off
M950 F2 C"fan2" Q500 ; Set fan 2 to pin "fan2" with PWM freq 500 Hz
M106 P2 S0.85 H-1 ; set fan 2 speed. Thermostatic control is turned off; 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
M501 ; load saved parameters from non-volatile memory
M911 S12 R20 P"M913 X0 Y0 G91 M83 G1; bed.g
; called to perform automatic bed compensation via G32
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Feb 17 2022 16:47:45 GMT+0000 (Greenwich Mean Time)
M561 ; clear any bed transform
G29 ; probe the bed and enable compensation
G28 ; home
M401 ; deploy Z probe
G30 P0 X35 Y35 Z-99999 ; probe near an adjusting screw
G30 P1 X300 Y40 Z-99999 ; probe near an adjusting screw
G30 P2 X300 Y320 Z-99999 ; probe near an adjusting screw
G30 P3 X35 Y320 Z-99999 S4 ; 4th adj screw and report adjustments needed
M402 ; retract probe; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Feb 17 2022 16:47:45 GMT+0000 (Greenwich Mean Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-355 Y-355 F1800 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-355 ; home X axis
G1 H1 Y-355 ; home Y axis
G1 X5 Y5 F6000 ; go back a few mm
G1 H1 X-355 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-355 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X15 Y15 F6000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningThanks again in advance -I think I'm going to need some help with retraction settings
-
I understand that you are going to make some changes.
Let me point out that you are doing both height map creation and bed leveling in your bed.g file.
In v3 firmware (and later) the indented way to is to create the height map in a file called mesh.g and do bed leveling in bed.g.
With a BLTouch type probe you don't use the M401/M402 commands directly, they are invoked by the firmware as needed, so you can remove them.
Frederick
-
@nicaris
So at the moment the height map is saved in heightmap.csv
I create a file called mesh.g for that ? and remove the m401 and m402 from bed.g -
@nicaris said in Height Map has a substantial Z offset:
@nicaris
So at the moment the height map is saved in heightmap.csv
I create a file called mesh.g for that ? and remove the m401 and m402 from bed.gThe command G29 will run mesh.g.
The commands used to create the heightmap belong in mesh.g.
So mesh,g would be something like this:
; *** THIS EXAMPLE ASSUMES THE PRINTER HAS BEEN HOMED - IT COULD INCLUDE HOMING IF DESIRED *** M290 R0 S0 ; cancel baby stepping G1 Xaaa Ybbb ; move probe to center of bed - change aaa, bbb as needed for your printer G30 ; set the Z=0 datum M557 Xccc:ddd Yeee:fff P20 ; define 400 point mesh - change ccc, ddd, eee, fff as needed for your printer G29 S0 ; probe the bed and create the heightmap.csv file