Correction of heightmap is not really working
-
So i run first the tilt and bed compansation:
results are:
15.2.2022, 05:57:08 Leadscrew adjustments made: 0.042 -0.019 -0.014 -0.015, points used 4, (mean, deviation) before (-0.003, 0.017) after (0.000, 0.000)
15.2.2022, 05:56:23 M98 P"0:/macros/Calibration macros/03_Tilt and Bed leveling"
Leadscrew adjustments made: -0.037 0.084 -0.059 0.062, points used 4, (mean, deviation) before (0.011, 0.037) after (0.000, 0.000)M292
121 points probed, min error -0.194, max error 0.068, mean -0.036, deviation 0.052
Height map saved to file 0:/sys/heightmap.csv -
And if you start a print at that point?
-
-
@phaedrux my head has a distance of around 2.4mm
so i run the z compansation
M300 S666 P666 ;
M291 S3 P"Press OK to continue, or CANCEL to abort"
G28
M564 H0 S0 ;Negative movements are allowed
M561 ;
G90 ;
;G1 X300 Y300 F6000;
G1 X20 Y100 F6000;
M300 S1111 P666 ;
G4 S1 ;
M291 S2 R"Height clearance" P"Place a paper sheet under the nozzle and raise the bed until slight friction can be noticed" Z1 ;
G92 Z0 ;
G91 ;
G1 Z11 F200 ;
G90
G4 S1 ;
M300 S666 P666 ;
M291 S2 R"Height clearance" P"Please remove the paper sheet and wait for the bed-probing to begin" ;
G30 S-1 ;
M564 S1 H1 ; Negative movements are forbidden
M291 S2 R"Height clearance" P"Copy the reported height value on the G-Code console and paste it into the config.g file" ;I moved the head down to 0.3mm
the result is:
15.2.2022, 08:56:42 M292
Stopped at height 2.622 mm
15.2.2022, 08:56:42 M98 P"0:/macros/Calibration macros/02_Z-Offset Calibration"
Stopped at height 2.622 mmso I add that value plus 0.3 ( 2.922) to the config.g
G31 P500 x-18 y24 z2.922save it and reset .
than i do homeall
with the command g0 x20 y100 z0.3 i move the head to the same position where i did the calibration for the 0.3mm.
during the run to the point all 4 motors for the bed are rotating. When it stops the value is 0.3mm , so correct.
then i move the head to the right front corner with the command:
g0 x600 y 100 z0.3
the head moves to that position and the 4 motors from the bed are rotating very little.
at the point x600 y100 i meassure a distance of 0.15 between bed and nozzle instead of 3mm.
the heightmap says at that point z-0.018mm
that my problem.
-
@fcwilt i don´t know why they using U axes.
-
@icy_snake said in Correction of heightmap is not really working:
@fcwilt i don´t know why they using U axes.
Who is "they?
I was looking at the contents of your config.g file and that is where U is created.
I can find no reason for doing that.
Frederick
-
@fcwilt thx, i did not write that, its the people from modix.
they wrote that file.the printer has following setup
4 motors for the bed
2 motors for x axis
1 motor for y axis
2 motors for extruder -
@icy_snake said in Correction of heightmap is not really working:
@fcwilt thx, i did not write that, its the people from modix.
they wrote that file.the printer has following setup
4 motors for the bed
2 motors for x axis
1 motor for y axis
2 motors for extruderThanks.
The folks at modix don't seem to know what they are doing. As a result you are having a tough time getting your printer working correctly.
In your config.g file you have these two commands:
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 U1 S1 P"e0stop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
Replace them with this:
M574 X1 S1 P"xstop + e0stop"
Then remove all references to U in the config.g and home all files and the M584, M400 and M375 commands in the home all file.
Reboot and issue G28 X to verify that X homes correctly.
You have two X steppers. The firmware supports multiple endstop sensors for an axis that has multiple steppers. Issuing a G1 H1 command to home such an axis causes each stepper to run until the endstop sensor associated with that stepper is triggered. The association is created in the M574 command for that axis where the two endstop sensors appear as I have shown above.
One we correct his problem we can work on:
- getting your Z probe configured correctly
- setting the Z=0 datum as needed
- creating mesh.g and populating it with the needed code
- correcting bed.g to only contain the needed code
Frederick
-
This post is deleted! -
This post is deleted! -
@icy_snake missed one M584
so it´s ok now no error message anymore -
@icy_snake Thx Frederick
i´m from germany Augsburg. You are from the USA, located Verginia? For time offset.
east cost 6 hours i´m ahead. -
Hello Frederick
I´m ready what i should do next.
One we correct his problem we can work on:
getting your Z probe configured correctly setting the Z=0 datum as needed creating mesh.g and populating it with the needed code correcting bed.g to only contain the needed code
-
Hi,
I'm just getting up. Got to get dressed and then get breakfast.
Then I will be back.
Frederick
-
@fcwilt Sorry , thats what i was thinking. Have a great breakfast.
-
-
@fcwilt yes thanks for helping,
what should I do next
-
@icy_snake said in Correction of heightmap is not really working:
@fcwilt yes thanks for helping,
what should I do next
I organize by code somewhat differently than is perhaps the most common. Are you aware of the M98 command which allows running one .g file from another .g file?
For example I mentioned that when you make changes to the G31 command in the config.g file you have to reboot or reset the printer to get the config.g file processed to apply the changes.
I prefer to put the M950, M558 and G31 commands need for configuring the Z probe into a separate file, which I name config_probe.g, but the name can be anything you like. Then any code, like the code in bed.g or mesh.g, that is going to use the Z probe, includes the command M98 P"config_probe.g" which results in the Z probe configuration being updated to the current values in config_probe.g.
Does that make sense to you? Do you understand what I am doing and why? I understand you are new to all this and I don't want to confuse you but I do want to get you started on the right track and help you understand the "how and why" of things.
Frederick
-
@fcwilt yes i looked at m98.
makes sense to me.
So have different files which will be called.
Fine.
so lets start with config_probe.g
I have all 3 files config_probe.g, bed.g, mesh.g open now for input
I´m using version 3.3 on the software
-
Hi,
Here is an example of a config_probe.g" file adjusted to use the values from your files. The G31 Z parameter is the one that needs to be "tweaked" to reflect your actual hardware and get accurate probe readings.
M950 S0 C"duex.pwm5" M558 P9 C"zprobe.in" H5 F120 T6000 A5 R0.7 G31 P500 X-18 Y24 Z2.917
Here is an example of a bed.g file adjusted to use the values from your files. It uses a while loop to execute a leveling pass up to five times (or any other number you want) stopping when any pass reports the bed is level "enough" based on checking the object model value move.calibration.initial.deviation. This file assumes the printer is currently homed.
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 G1 Z5 F99999 ; insure Z starting position is high enough to avoid probing errors ; M671: Define positions pf manual bed levelling screws or Z leadscrews ; Xnn:nn:nn... list of between 2 and 4 X coordinates of the leadscrews that drive the Z axis or the bed levelling screws ; Ynn:nn:nn... list of between 2 and 4 Y coordinates of the leadscrews that drive the Z axis or the bed levelling screws ; Snn maximum correction allowed for each leadscrew in mm (optional, default 1.0) ; Pnnn pitch of the bed levelling screws (not used when bed levelling using independently-driven leadscrews). Defaults to 0.5mm which is correct for M3 bed levelling screws ; Fnn fudge factor, default 1.0 M671 X-189:-189:645:645 Y645:-64:-64:645 S10 ; Anticlockwise ; --- level bed --- while true ; run leveling pass G30 P0 X2 Y20 Z-99999 ; Probe near a leadscrew G30 P1 X600 Y20 Z-99999 ; Probe near a leadscrew G30 P2 X600 Y600 Z-99999 ; Probe near a leadscrew G30 P3 X2 Y600 Z-99999 S4 ; Probe near a leadscrew if move.calibration.initial.deviation < 0.02 break ; check pass limit - abort if pass limit reached if iterations = 5 M291 P"Bed Leveling Aborted" R"Pass Limit Reached" abort "Bed Leveling Aborted - Pass Limit Reached" ; --- finish up --- ; --- set Z=0 datum which can be affected by leveling --- G1 Xaaa Ybbb ; 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