Correction of heightmap is not really working
-
@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
-
@fcwilt
ok
so far.G1 x300 y300
-
@icy_snake said in Correction of heightmap is not really working:
@fcwilt
ok
so far.G1 x300 y300
Good.
I suppose at this point we should re-visit all of your homing files. So please post, using the </> tag once per file, all four of your homing files.
Frederick
-
@fcwilt
</ homeall.g>
M280 P0 S60 I1
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
G30 ; home Z by probing the bed
</>< /homex.g>
; homex.g
; called to home the X axis - DUAL ENDSTOPS
G91 ; relative positioning
M913 X50
G1 H1 X-605 F3000 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F600 ; go back a few mm
G1 H1 X-605 F600 ; move slowly to X axis endstop once more (second pass)
M913 X100
G1 H2 Z-5 F200 ; lower Z again
G90 ; absolute positioning
</>< homey.g
; homey.g
; called to home the Y axis
G91 ; relative positioning
G1 H2 Z5 F200 ; lift Z relative to current position
G1 H1 Y605 F3000 ; move quickly to Y axis endstop and stop there (first pass)
G1 H2 Y-5 F600 ; go back a few mm
G1 H1 Y605 F600 ; move slowly to Y axis endstop once more (second pass)
G1 H2 Z-5 F3000 ; lower Z again
G90 ; absolute positioning< homez.g
; homez.g
; called to home the Z axis
M280 P0 S60
G91 ; relative positioning
G1 H2 Z5 F200 ; lift Z relative to current position
G90 ; absolute positioning
G30 ; home Z by probing the bed< rehome.g
M280 P0 S60
G91 ; relative positioning
G1 H2 Z5 F200 ; lift Z relative to current position
G1 H1 X-605 Y605 F3000 ; move quickly to X axis endstop 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)
G90thats ok so?
-
Here is an example of a mesh.g file adjusted for your values.
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 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 M557 X20:600 Y20:620 S58 ; define mesh grid 420 points S58 G29 S0 ; probe bed and create height map
-
@fcwilt ok understand
-
When homing the Z axis with a G30 you need to precede it with a G1 command to move to the center of the bed.
I don't know what the M280 P0 S60 is for - I don't have it in my code.
You also have some M913 commands - I have not found it necessary to use those.
You have a file rehome.g - what is that for?
Frederick
-
@fcwilt
I have no idea for what they are using M280, because i have no servo to set any position.Not sure why they change the current for the stepping motors.
I believe they copied many codes together to get it running