Manual adjustment macro
-
So i'm building a Voron 1.8 and doing the legwork with building up macros etc.
I've got the automatic bed traming nailed down allready, and i'm now trying to construct a second macro for doing the manual adjustment of the front bed mount just like the Klipper "screws til adjustment".
So i was woundering if this would work out the same way as Klippers solution?
"tilt_adjustment.g"
M671 X2:326:164 Y323:323:3 S1.0 P0.5 G30 P0 X25 Y320 Z-99999 G30 P1 X303 Y320 Z-99999 G30 P2 X164 Y5 Z-99999 S3
-
Why would there be any need for adjustment if you have automatic leveling working?
I think that to be able to use both manual and automatic leveling you would have to change the Z stepper assignments to be able to invoke manual mode.
And you would still need three G30 statements (P0, P1, P2) with the last having the S3 parameter.
Frederick
-
@fcwilt said in Manual adjustment macro:
Why would there be any need for adjustment if you have automatic leveling working?
I think that to be able to use both manual and automatic leveling you would have to change the Z stepper assignments to be able to invoke manual mode.
And you would still need three G30 statements (P0, P1, P2) with the last having the S3 parameter.
Frederick
Because the Voron 1.8 only have to two z leadscrews, one each end of the X axis in Y center.
The printbed is attached to the bed carriage on three points, two on the outer edges in the rear and one front center. The two rear ones are static non adjustable, but the front is adjustable to allow for adjustment of the bed in the Y plane where the machine can't adjust itself.
It will ofc be done a mesh bed leveling, this macro is just to try ensuring the bed being as level as possible before probing the bed mesh.
Regarding the three G30 statements it was a typo using two "P2"'s.
-
This post is deleted! -
@exerqtor i have a macro for manually setting up the bed.
The macro moves the nozzle to the 4 corners of the bed (20mm away from max. positions).
You can adapt it to your needs...; LevelAssist macro ; this macro helps for manually leveling the bed, it moves the nozzle to 4 probing points (20mm away from min/max area) ; the macro will automatically aborted if no user action during 120s var EntryTime = state.upTime ; set start time var ReturnTime = 120 ; set abort time if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed ; axles homed ? M291 P"axles not homed! perform homing ?" R"LevelAssist" S3 G28 ; homing ; loop beginn while state.upTime < {var.EntryTime + var.ReturnTime} ; loop until cancel or abort time M291 P"move to Point1 ?" R"LevelAssist" S3 ; message G0 Z4 ; Z + G0 X{move.axes[0].min + 20} Y{move.axes[1].min + 20} ; move XY to Point1 G0 Z0 ; Z - set var.EntryTime = state.upTime ; reset start time M291 P"move to Point2 ?" R"LevelAssist" S3 ; message G0 Z4 ; Z + G0 X{move.axes[0].min + 20} Y{move.axes[1].max - 20} ; move XY to Point2 G0 Z0 ; Z - set var.EntryTime = state.upTime ; reset start time M291 P"move to Point3 ?" R"LevelAssist" S3 ; message G0 Z4 ; Z + G0 X{move.axes[0].max - 20} Y{move.axes[1].max - 20} ; move XY to Point3 G0 Z0 ; Z - set var.EntryTime = state.upTime ; reset start time M291 P"move to Point4 ?" R"LevelAssist" S3 ; message G0 Z4 ; Z + G0 X{move.axes[0].max - 20} Y{move.axes[1].min + 20} ; move XY to Point4 G0 Z0 ; Z - set var.EntryTime = state.upTime ; reset start time M291 P"once again or cancel ?" R"LevelAssist" S3 ; once again?
-
Ah cool, i'll have a look at it! I srsly have to take the time to learn how to use conditional programing (if anyone got some good tutorials please throw in a link).
I woke up to the announcement of "Voron Trident" with 3 leadscrews, so the manual leveling's going to be a thing of the past lol.
-
@exerqtor It is not so hard to learn gcode with conditional code.
Many things are commented in my macro. -
Yeah i understand the construct and logic of it, but not what and when different variables and statements apply.