Correction of heightmap is not really working
-
Where are you executing the G30 at the center of the bed to set the Z=0 Datum?
Frederick
-
@fcwilt
Yes, that is where we are executing it from, the center of the bed. -
@sculpt-fabricator said in Correction of heightmap is not really working:
@fcwilt
Yes, that is where we are executing it from, the center of the bed.Sorry I wasn't clear. In your post I didn't see you mention that you were executing a G30.
When are you doing that?
In what bit of code are you doing that?
Frederick
-
@sculpt-fabricator
config.g;Generated by Modix - 2.0 ;Modix Big-60, Duex Expansion, Dual Printhead ; Configuration file for Duet WiFi (firmware version 3.3) ; General preferences_________________________________________________________ G21 ; dimentions in mm G90 ; for X,Y,Z use absolute coordinate values M83 ; for E0,E1,etc use relative coordinate values M111 S0 ; Debug off M555 P2 ; Set output to look like Marlin M575 P0 B57600 S2 ; communication parameters for USB serial M575 P1 B57600 S1 ; Set auxiliary serial port baud rate and require checksum (for PanelDue) ; Network_____________________________________________________________________ M550 P"Big 60" ; set printer name M552 S1 ; enable (S1) networking (WiFi) M586 S1 P1 ;T0 ; enable (S1) FTP (P1) Disable TLS (T0) M586 S1 P2 ;T0 ; enable (S1) Telnet (P2) Disable TLS (T0) ; mode control variables _____________________________________________________ global g_probe_z_trigger = 1.752 ; default - set as appropriate for the Z probe global g_z_home = 5 ; can be used to always move Z to known height global g_z_datum_set = false ; can be used to prevent unneeded setting of Z=0 datum global g_map_mode = "300 point" ; determines which kind of height map is created/loaded global g_probe_mode = "two consecutive" ; determines if z proving used consecutive or averaging global g_level_mode = "4 point" ; determines if 3 or 4 points are used for leveling global g_print_beg_prime = 10 ; default - set desired in filament config.g global g_print_beg_retract = 0 ; default - set desired in filament config.g global g_print_end_retract = 0 ; default - set desired in filament config.g global g_print_end_mode = "heat off" ; determines if heaters are turned off when print is done ; Drives_________________________________________________________________________ ;Main board______________________________________________________________________ M569 P0 S0 ; Physical drive 0 . X1 M569 P1 S1 ; Physical drive 1 . X2 M569 P3 S1 ; Physical drive 3 . Main Extruder M569 P4 S0 ; Physical drive 4 . Secondary Extruder ;Duex5 board_____________________________________________________________________ M569 P5 S0 ; Physical drive 5 . Y M569 P6 S0 ; Physical drive 6 . Z1 (-190 , 664) M569 P7 S0 ; Physical drive 7 . Z2 (-190, -64) M569 P8 S0 ; Physical drive 8 . Z3 (680 , -64) M569 P9 S0 ; Physical drive 9 . Z4 (680 , 664) ;Settings_________________________________________________________ M584 X0:1 Y5 Z6:7:8:9 E3:4 P3 ; Driver mapping ;___________________________________________________________________ M350 X16 Y16 I1 ; Configure microstepping with interpolation M350 Z16 E16:16 I0 ; Configure microstepping without interpolation M92 X100.00 Y100.00 Z2000.00 E686:700 ; Set steps per mm M566 X300 Y500 Z100.00 E120.00:120.00 P1 ; Set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z300.00 E1200.00:1200.00 ; Set maximum speeds (mm/min) M201 X1000 Y1000 Z120.00 E250.00:250.00 ; Set accelerations (mm/s^2) M204 P500 ; Set print and travel accelerations (mm/s^2) M906 X1800 Y1800.00 E1270:1270 I40 ; Set motor currents (mA) and motor idle factor in per cent (E1270 per dyze) M906 Z1800.00 I50 ; Set motor currents (mA) and motor idle factor in per cent M84 S100 ; Set idle timeout - 100 seconds ; Axis Limits M208 X0 Y0 Z-0.5 S1 ; set axis minima M208 X580 Y545 Z630 S0 ; set axis maxima 580;580 ; Endstops M574 X1 S1 P"xstop + e0stop" ; 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 R1 ; set Z probe type to bltouch and the dive height + speeds ;M950 S0 C"duex.pwm5" ; set probe pin M98 P"config_probe.g" M556 S50 X0 Y0 Z0 ; set orthogonal axis compensation parameters woher kommt der test wie wurde der Winkel bestimmt Unklar! M376 H10 ; stop z-leveling after 10 layers ; Heaters___________________________________________________________ M140 H-1 ; disable heated bed (overrides default heater mapping)
macro/g_probe_z_trigger
set global.g_probe_z_trigger = 1.752 ; set the variable M98 P"config_probe.g" ; configure the probe using the new value ; I put this G31 here just to show the current settings - it is optional ; You can provide visual feedback some other way, say, using an M291 command G31
mesh.g
M98 P"config_probe.g" ; insure probe is using most recent configuration values G29 S2 ; cancel mesh bed compensation M290 R0 S0 ; cancel baby stepping G90 ; absolute moves ; --- set Z=0 datum which is needed for creating a heightmap G1 Z5 F99999 ; insure Z starting position is high enough to avoid probing errors G1 X270 Y270 ; move probe to center of bed - set values aaa and bbb as appropriate G30 ; do single probe which sets Z to trigger height of Z probe M557 X0:580 Y0:510 S29:25.5 ; define mesh grid 420 points S58 G28 G29 S0 ; probe bed and create height map
homeall.g
; homeall.g ; called to home all axes G91 ; relative positioning G1 H2 Z5 F200 ; lift Z relative to current position G1 H1 X-605 Y605 F3000 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y-5 F600 ; go back a few mm G1 H1 X-605 Y605 F600 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning M98 P"config_probe.g" G30 ; home Z by probing the bed G1
macro/z-offset calibration
; Z-setup Macro ; setup Z distance M300 S666 P666 ; beeo M291 S3 R"Test Z Probe Trigger Height" P"Press OK to continue, or CANCEL to abort" G28 ; home all G29 S2 ; cancel mesh bed compensation M290 R0 S0 ; cancel baby stepping G90 ; absolute movements ; this complicated looking command computes the X and Y parameters needed to move the probe to the center of the bed G1 X{((move.axes[0].max + move.axes[0].min) / 2) - sensors.probes[0].offsets[0]}, Y{((move.axes[1].max + move.axes[1].min) / 2) - sensors.probes[0].offsets[1]}, F1800 M300 S1111 P666 ; beep M564 H1 S0 ; ignore axis limits M291 S2 R"Test Z Probe Trigger Height - Step 1" P"Place a paper sheet under the nozzle and raise the bed until slight friction can be noticed" Z1 ; G92 Z0 ; the nozzle should now be just touching the bed so set the logical Z position to match the physical Z position M300 S666 P666 ; beep M291 S2 R"Test Z Probe Trigger Height - Step 2" P"Please remove the paper sheet and wait for the bed-probing to begin" ; G1 Z5 F200 ; insure Z position will allow for probing G30 S-1 ; probe the bed and report the Z probe trigger height M564 S1 H1 ; respect axis limits M291 S2 R"Test Z Probe Trigger Height - Step 3" P"Copy the reported height value on the G-Code console and paste it into the config_probe.g file"
-
We are running the G30 in the
macro/z-offset Calibration; Z-setup Macro ; setup Z distance M300 S666 P666 ; beeo M291 S3 R"Test Z Probe Trigger Height" P"Press OK to continue, or CANCEL to abort" G28 ; home all G29 S2 ; cancel mesh bed compensation M290 R0 S0 ; cancel baby stepping G90 ; absolute movements ; this complicated looking command computes the X and Y parameters needed to move the probe to the center of the bed G1 X{((move.axes[0].max + move.axes[0].min) / 2) - sensors.probes[0].offsets[0]}, Y{((move.axes[1].max + move.axes[1].min) / 2) - sensors.probes[0].offsets[1]}, F1800 M300 S1111 P666 ; beep M564 H1 S0 ; ignore axis limits M291 S2 R"Test Z Probe Trigger Height - Step 1" P"Place a paper sheet under the nozzle and raise the bed until slight friction can be noticed" Z1 ; G92 Z0 ; the nozzle should now be just touching the bed so set the logical Z position to match the physical Z position M300 S666 P666 ; beep M291 S2 R"Test Z Probe Trigger Height - Step 2" P"Please remove the paper sheet and wait for the bed-probing to begin" ; G1 Z5 F200 ; insure Z position will allow for probing G30 S-1 ; probe the bed and report the Z probe trigger height M564 S1 H1 ; respect axis limits M291 S2 R"Test Z Probe Trigger Height - Step 3" P"Copy the reported height value on the G-Code console and paste it into the config_probe.g file"
-
@fcwilt
We are running the z-offset calibration with the G30 in it
after we run the z probe calibration -
OK I see now.
A few things to mention:
-
For the other person I had shown how to use a variable to set the G31 Z Trigger Height setting. You have created the variable but I don't see that you are using it in config_probe.g.
Using the variable is optional. If you are not going to use it in config_probe.g then you can remove any other code referencing the variable. -
You mention using the formula to move to the center of the bed with Z0 added. But you show it after the F parameter without a comma separating from the F parameter. I don't believe it actual does anything without the comma. What was the intent of executing this command?
-
Anytime you change anything in your config_probe.g file you need to be sure it is executed before you attempt to use the new setting(s) in the file.
Frederick
-
-
@fcwilt
So I don't switch out build plates, Just run a lot of the same material.
I know he wanted that extra part to change out plates.
So how do I need to change that. -
So I need change my config_probe.g Z setting back to
global.g_probe_z_trigger
like this; config_probe.g ; config the probe and call the other files.g M558 P9 C"^zprobe.in" H5 F120 T6000 A1 R1 M950 S0 C"duex.pwm5" G31 P25 X0 Y-30 Z{global.g_probe_z_trigger} ; set Z probe trigger value, offset and trigger height (larger value is closer)G31 P500 X0 Y-30 Z1.73
-
You don't need to use the variable I all. I don't use one. I just have the constant value for the Z Trigger Height parameter in my config_probe.g file.
If you want to use the variable then make the change you show to your config_probe.g file.
Frederick