Unsolved Using the Manual Bed Levelling Assistant
-
Hello, I am trying to use the Manual Bed leveling Assistant. I have a BL Touch and 4 bed adjusting screws (.5mm pitch). The coordinates are (X, Y) (310, 18), (22, 18), (22, 284), (310, 284). How would I update the config.g and bed.g according to these specifications?
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Apr 21 2022 23:00:27 GMT-0700 (Pacific Daylight Time) M561 ; clear any bed transform G29 ; probe the bed and enable compensation
; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Apr 21 2022 23:00:27 GMT-0700 (Pacific Daylight Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Ender 5 Plus" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes backwards M569 P1 S1 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z800.00 E409.00 ; set steps per mm M566 X600.00 Y600.00 Z30.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z750.00 E7200.00 ; set maximum speeds (mm/min) M201 X1500.00 Y1500.00 Z100.00 E6000.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E1100 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X20 Y20 Z0 S1 ; set axis minima M208 X320 Y320 Z350 S0 ; set axis maxima ; Endstops M574 X2 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F1800 T12000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-41 Y-2 Z3.112 ; set Z probe trigger value, offset and trigger height M557 X35:275 Y35:295 S50 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S100 ; set temperature limit for heater 0 to 100C M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S300 ; set temperature limit for heater 1 to 300C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S255 H1 T45:150 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 S"Nozzle" P0 D0 H1 F0 ; tool 0 uses extruder drive 0, heater 1 and fan 0 (part cooling fan) G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory
-
-
@phaedrux Correct, I'm just not sure how to to it
-
You must use the M671 command to define the X and Y coordinates of the adjusting screws. These coordinates will usually be outside the normal printable area defined by M208. The M671 command must come after any M667 or M669 command in config.g.
You must set up a bed.g file in the usual way with at least as many probe points as adjusting screws. As a minimum, you should have one probe point close to each adjusting screw. You can have more probe points if you wish. For example, with a square bed you might choose to probe close to each corner even if you have just 3 bed levelling screws.
The value of the S parameter on the final G30 command in bed.g must equal the number of adjusting screws.The link also contains examples.
-
@phaedrux Yes I know, I'm just confused as how to set the coordinates with m667
-
could you give an example?
-
The link also contains examples.
Example
File config.g:M671 X-15:100:215 Y190:-10:190 P0.5 ; adjusting screws at rear left (-15,190), front middle (100,-10) and rear right (215,190), thread pitch 0.5mm
File bed.g:
G28 ; home M401 ; deploy Z probe G30 P0 X20 Y190 Z-99999 ; probe near an adjusting screw G30 P1 X180 Y190 Z-99999 ; probe near an adjusting screw G30 P2 X100 Y10 Z-99999 S3 ; probe near an adjusting screw and report adjustments needed M402 ; retract probe
-
@phaedrux thanks
-
-
-
@tratoon It says to put it after a m669 command, my config.g doesn't have one
-
-
@tratoon said in Using the Manual Bed Levelling Assistant:
@tratoon It says to put it after a m669 command, my config.g doesn't have one
I think that when M669 is missing the default is a Cartesian kinematics as if you had M669 K0.
M669 is normally placed near the start of config.g.
I put the M671 in my bed.g as I like to keep all related commands close together.
Frederick