Bed leveling by manual method like CR-10
-
Hello All,
I have a CR-10s that I've highly modified. I've crossed over to Duet Wifi2 and have most things working. At this point I want to level the bed. I'm not understand how to set up coordinates of x and y so it will go to those points. If i can level the bed manually and print a Pinda holder then I can upgrade to automatic leveling.Mark
-
@handymanpa54 this is the macro I use for manually levelling my ender 3
M671 x15:250:15:250 y25:25:260:260 P0.5 ; The location of the four bed securing screws ; M558 P0 ; Uncomment this if you don't have a Z Probe G28 Z ; Home Z G30 P0 X15 Y25 Z-99999 ; probe near an adjusting screw ; Front left screw G30 P1 X240 Y25 Z-99999 ; probe near an adjusting screw ; Front right screw G30 P2 X15 Y255 Z-99999 ; probe near an adjusting screw ; Rear left screw G30 P3 X240 Y255 Z-99999 S4 ; probe near an adjusting screw ; Rear right screw G28 Z ; Home Z
I do use a z probe but if you don't have one, set
M558 P0
and then RRF will walk you through it.
You'll need to adjust the M671 values to suit the location of your screws and each G30 to match -
I should add I just have this as a macro in the macros folder
-
-
-
@handymanpa54 I use a macro for manually leveling the bed.
The macro moves to the 4 corners, 20mm away from max.; 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?
-
@dc42 Hi,
I checked the link earlier and again. I have questions where to modify the code? In conig.g or in bed.g
I'll be using paper feeler method. -
@phaedrux
I did check out that link earlier, but thought it no appropriate for me not having BL touch or Pinda or such. I was hoping to go to positionn1 and adjust thumb screw to bring the bed so there is friction on paper, then do the other corners like wise and last in the center. Pretty much like it's done on CR-10. -
Yes if you don't have a probe and independent Z motors that won't be the best option for you.
The macro that @cosmowave posted is an option. Here's another:
Modify to suit.
-
@phaedrux I wrote a little macro that works much like the CR-10 Bed leveling.
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Jun 18 2021 18:18:06 GMT-0400 (Eastern Daylight Time) M561 ; clear any bed transform ;G29 ; probe the bed and enable compensation M671 x15:15:250:250 y25:250:250:25 P0.5 G1 X25 Y25 Z0 ; probe near an adjusting screw ; Front left screw G4 S20 G1 Z5 G1 X25 Y250 G1 Z0 G4 S20 G1 Z5 G1 X250 Y250 G1 Z0 G4 S20 G1 Z5 G1 X250 Y25 G1 Z0 G4 S20 G1 Z5 G1 X150 Y150 G1 Z0 G4 S20 G1 Z5 undefined