Нelp me please with leveling bed with two Z axis motors
-
I'm running firmware 2.02 Release Candidate 2, Duet Ethernet 1.02 and trying to set up the bed leveling feature using two Z axis motors.
I have a CoreXY with a 1100x350mm aluminum bed screwed to the base. My Z frame is driven by 2 leadscrews driven by a two steppers connected to independed drivers. I'm using Bltouch for Z probing.
The problem is that the frame hangs obliquely in relation to the table. I need to align Z frame height of each edge separately with each motor.
How to do it? When i using M671 and bed.g its working, but its obly show error on each side.
My config.g file I have the following
M569 P5 S1 ; Drive 5 goes forwards
M569 P6 S0 ; Drive 5 goes back
M584 X0 Y1 Z5:6 E3:4 ; Apply custom drive mapping
M671 X-15:1200 Y250:250 S1 ;My bed.g file contains
; bed.g
M561 ; clear any bed transform
;G28 ; home
M401 ; deploy Z probe
G30 P0 X250 Y60 Z-99999 ; probe near a leadscrew
G30 P1 X250 Y1160 Z-99999 S2; probe near a leadscrew and set correction
M402 ; retract probeHow to make the frame aligned parallel with the table using motors on each side of the table?
-
@dep Have you read this guide:
https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
-
What exactly happens when you run G32 ? Do the Z motors move? Does the reported error decrease if you run G32 several times?
-
Yes, G32 command working.
The carriage moves first to one side, the probe is released and both Z motors move down until it triggers. Then everything is the same on the other side of the bed. Error decrease reported.
How to make that on each side of the bed only 1 motor moved down and the frame with the extruder was aligned parallel to the bed?
Yes I read the guide. Maybe I did not understand something in it?
-
Is there a solution to my problem? Please help me figure it out.
-
@dep if you conduct the leveling a few times it should converge to the same Z offset on both sides.
-
@dep said in Нelp me please with leveling bed with two Z axis motors:
The carriage moves first to one side, the probe is released and both Z motors move down until it triggers. Then everything is the same on the other side of the bed. Error decrease reported.
After it triggers for the second time, if you watch carefully then you should see it making corrections to the motors individually.
-
@dc42 said in Нelp me please with leveling bed with two Z axis motors:
After it triggers for the second time, if you watch carefully then you should see it making corrections to the motors individually.
Thanks David, yes its make correction, but in wrog way:
16:16:54 Leadscrew adjustments made: 3.564 -3.428, points used 2, deviation before 2.590 after 0.000
16:16:42 G32
16:16:29 Leadscrew adjustments made: 2.157 -1.314, points used 2, deviation before 1.351 after 0.000
16:16:14 G32After it triggers for the second time, I see the table turning in the opposite direction, i.e. the slope increases.
-
If it's getting worse that way, then you may have the motor drives reversed.
So the motor that you have at -15, 250 should be connected to drive 5, and the one at 1200, 250 should be connected to drive 6. I'd say try switchig the motor connections around and trying again.
I'm doing this (Single extruder, so I'm using drives 2 and 4 for my Z axis) and it works quite well.
-
@supraguy Thanks! Now ist work!
-
I'm glad you got it working. The coordinates listed in the M671 command must be in the same order as the motor drivers listed in the M584 command.
-
@dc42 thanks now its work.
But there was another problem. If I make compensation, the first time it is applied. If i run G32 several times error decrease.
But if I run G28 Z, then the parallelism is broken and the subsequent launch of compensation shows it. Please see the log:
14:26:36 Leadscrew adjustments made: 0.715 0.728, points used 2, deviation before 0.721 after 0.000
14:26:25 G32
14:26:18 G28 Z
14:26:06 Leadscrew adjustments made: 0.016 -0.009, points used 2, deviation before 0.010 after 0.000
14:25:55 G32
14:25:45 Leadscrew adjustments made: -0.021 0.025, points used 2, deviation before 0.017 after 0.000
14:25:34 G32And always the error after starting the G28 Z is about the same and is equal to ~ 0.7
-
How are you homing the Z axis: with an endstop switch (if so, what type?), or with the Z probe?
-
I use probe. (BLTouch)
-
This is defines:
;BLTouch
M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board.
M558 P9 H10 F500 T10000 X0 Y0 Z1 ; Set Z probe type/mode 9. H=Height when probing. F=Speed the bed moves; Z-Probe
G31 P500 X0 Y0 Z1.7 ; Set Z probe trigger value, offset and trigger height
M557 X0:500 Y60:1160 S100 ; Define mesh grid
M376 H5 ; Set bed compensation taper -
@dep said in Нelp me please with leveling bed with two Z axis motors:
G31 P500 X0 Y0 Z1.7
You're missing the X and Y offset for the probe. Without this your probing will be interpreted incorrectly by the firmware as being somewhere it isn't.
Measure your XY Offset. To get accurate probe results, the Duet needs to know how far the BLTouch is from the nozzle in X and Y. To measure this, place a piece of paper on the bed and use tape to hold it in place. Move the nozzle down until the it touches the paper and leaves a small imprint. Make note of the current X and Y coordinate. Use a marker to make the spot clearly visible. Now jog the print head in X and Y until the BLTouch pin is on the exact spot you marked. Make note of the new X and Y coordinates. The difference between the two will be your X Y offset in the G31 command.
Also, unrelated, but you may want to try G31 P25 to increase your trigger sensitivity.
-
This is another question I have a head with two extruders. I try this configuration:
G31 P500 X0 Y0 Z0
...
G10 P0 X-19.2 Y-46.6 Z1.65 ; Set tool 0 axis offsets
G10 P1 X-20.4 Y67.8 Z1.7 ; Set tool 1 axis offsetsI use the probe as a reference point here.
Everything works ok, except Z-height - the nozzle is too high above the bed.If the Z height is in the probe (G31), as before, then everything is fine with the height Z.
Can someone tell me tried to configure? Or even take a nozzle as a point of reference?
-
For dual nozzle printing, I choose the head reference point (HRP) to be midway between the two nozzles for X and Y, and the tip of the lower nozzle for Z. Then I define the tool offsets and Z probe offset and trigger height relative to that HRP.
I try this configuration:
G31 P500 X0 Y0 Z0
...
G10 P0 X-19.2 Y-46.6 Z1.65 ; Set tool 0 axis offsets
G10 P1 X-20.4 Y67.8 Z1.7 ; Set tool 1 axis offsets
I use the probe as a reference point here.
Everything works ok, except Z-height - the nozzle is too high above the bed.
That might be because your M208 bed limits don't allow negative Z.
-
Thanks David! I will try and write about results.
What about the previous problem? I do not know what to do with it
@dep said in Нelp me please with leveling bed with two Z axis motors:
@dc42 thanks now its work.
But there was another problem. If I make compensation, the first time it is applied. If i run G32 several times error decrease.
But if I run G28 Z, then the parallelism is broken and the subsequent launch of compensation shows it. Please see the log:
14:26:36 Leadscrew adjustments made: 0.715 0.728, points used 2, deviation before 0.721 after 0.000
14:26:25 G32
14:26:18 G28 Z
14:26:06 Leadscrew adjustments made: 0.016 -0.009, points used 2, deviation before 0.010 after 0.000
14:25:55 G32
14:25:45 Leadscrew adjustments made: -0.021 0.025, points used 2, deviation before 0.017 after 0.000
14:25:34 G32And always the error after starting the G28 Z is about the same and is equal to ~ 0.7
-
I am assuming that you are homing Z using a G30 command in homez.g and in the Z homing part of homeall.g. There appears to be a difference of around 0.7mm in the bed height or gantry height at the XY position at which you probe for Z homing, compared to the XY positions at which you probe for leadscrew levelling.