Bed Levelling Using 3 Independent Z Motors
-
@Phaedrux Thanks for the reply.
No Z Probe is being used. Planning to use manual Jog Buttons with reference to the following documentation (https://docs.duet3d.com/User_manual/Connecting_hardware/Z_probe_manual_levelling)
G Code of my config.g file is also being pasted for your reference
; Configuration file for Duet 3 MB 6HC (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue May 23 2023 16:20:14 GMT+0100 (Western European Summer Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"CENIMAT WAAM" ; set printer name; Network
M551 P"CENIMAT WAAM" ; set password
M552 P192.168.1.20 S1 ; enable network and set IP address
M553 P255.255.255.0 ; set netmask
M554 P192.168.1.254 ; set gateway
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S0 ; physical drive 0.1 goes backwards
M569 P0.2 S0 ; physical drive 0.2 goes backwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards
M569 P0.5 S1 ; physical drive 0.5 goes forwards
M584 X0.0 Y0.1:0.2 Z0.3:0.4:0.5 ; set drive mapping
M671 X60:420:645 Y500:600:500 S1.0 ; leadscrews at middle left, rear middle and middle right
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M92 X2560.00 Y2560.00 Z2560.00 ; set steps per mm
M566 X300.00 Y300.00 Z180.00 ; set maximum instantaneous speed changes (mm/min)
M203 X3000.00 Y3000.00 Z600.00 ; set maximum speeds (mm/min)
M201 X80.00 Y80.00 Z20.00 ; set accelerations (mm/s^2)
M906 X2520 Y2520 Z2520 I100 ; set motor currents (mA) and motor idle factor in per cent
M84 S3600 ; Set idle timeout; Axis Limits
M208 X60 Y45 Z0 S1 ; set axis minima
M208 X645 Y600 Z563 S0 ; set axis maxima; Endstops
M574 X1 S1 P"io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in
M574 Y1 S1 P"io1.in+io7.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y1 & Y2 via pin io1.in & io7.in
M574 Z1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io3.in; Z-Probe
M558 P0 H50 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X285:515 Y285:515 S23 ; define mesh grid; Heaters
; Fans
M950 P1 C"out1" Q100 ; Allocate GPIO port 1 to OUT_1 (fan output), 100Hz
M950 P2 C"out2" Q100 ; Allocate GPIO port 2 to OUT_2 (fan output), 100Hz
M950 P3 C"out9" ; Allocate GPIO port 3 to OUT_9 (fan output); Tools
; Custom settings are not defined
M950 J1 C"io6.in" ; Configure pin J1 as input and assign input pin "io6.in"
M581 P1 T0 S1 R0 ; Setup Pin 1 when trigger occurs S1 from High to Low State during any time R0M950 J4 C"io1.in" ; Configure pin J2 as X Max(High End) Trigger and assign input pin "io1.in"
M581 P4 S1 T4 R0 ; Setup Pin 4 when trigger occurs S1 from NC to NO during any time R0M950 J5 C"io3.in" ; Configure pin J5 as Y Max(High End) Trigger and assign input pin "io3.in"
M581 P5 S1 T5 R0 ; Setup Pin 5 when trigger occurs S1 from NC to NO during any time R0M950 J6 C"io5.in" ; Configure pin J6 as Z Max(High End) Trigger and assign input pin "io5.in"
M581 P6 S1 T6 R0 ; Setup Pin 6 when trigger occurs S1 from NC to NO during any time R0; Miscellaneous
M501 ; load saved parameters from non-volatile memory -
How do you plan to do bed leveling without a Z probe?
Even the manual leveling needs a probe to know the distance to the bed to be able to tell you how much to adjust the bed leveling screws.
Using a manual Z probe option could be done, but would be pretty tedious.
-
@Phaedrux Thanks for the feedback
It is planned for manual Z probe at the starting and latter after stabilization, a Z probe is planned to install.
If a manual Z Probe is option is to be used the G31 Command is to be pasted to know the trigger height. But i am not able to find the same.
What could be the reason for it and how to correct it?
-
If you're using the manual probe mode (M558 P0) then your G31 offset would be X0 Y0 Z0 because you are using the nozzle tip to set the position. So add
G31 X0 Y0 Z0
to your config.g after the M558 command. -
@Phaedrux Thanks for the reply
Request to check the Z Probe section of Config.g file for G31 COMMAND
-
Yes that looks ok. Have you sent a G30 command to test out how it will work?
-
@Phaedrux Thanks
I would start testing the motors movement very soon, after that i would test the G30 as well.
-
Hi,
I have started testing the bed leveling; the bed.g file is pasted below. It was thought that there would be three probe points. however after the G28, home all COMMAND the program not working. The config.g file to check the M671 and the drive height is pasted below for your perusal
bed.g
M561 ; clear any bed transform
G28 ; home
G90 ; set to absolute positioning
G30 P0 X50 Y300 Z-0.02 ; probe near a leadscrew
G30 P1 X400 Y450 Z-0.02 ; probe near a leadscrew
G30 P2 X545 Y300 Z-0.02 ; probe near a leadscrew
M400 ; wait for current moves to finish;Drives
M671 X50:400:545 Y300:450:300 S15.0 ; leadscrews at Front left, Rear middle and Front right; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
G31 X0 Y0 Z0 ; set or report current probe status
M557 X0:550 Y0:460 S100 ; define mesh grid -
@SANJR said in Bed Levelling Using 3 Independent Z Motors:
G30 P2 X545 Y300 Z-0.02 ; probe near a leadscrew
You need an S3 parameter on the last probe point. See the example 'for 3 motor' here: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling#examples
Ian
-
@SANJR Also, your leadscrew pivot points are within the bed area and seem a bid odd to me. Are you sure they are correct? What is the bed size (M208)?
M671 X50:400:545 Y300:450:300 S15.0 ; leadscrews at Front left, Rear middle and Front right
Again, read the documentation on this page: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling
Ian
-
The Axis Limits I have set as the following
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X550 Y460 Z300 S0 ; set axis maxima -
@droftarts Thanks i have added the S3 parameter at the last and its working good. Now after completing the bed probe mesh i.e., G29 the height map in not able to be viewed, but i am able to see the value is the system directory heightmap.csv like an tabular column. How can i make these values to be represented as a graph?
-
@SANJR Do you have the 'Height Map' Plugin enabled in DWC? If not, go to Settings > Plugins and 'Start' it.
Ian
-
Got It. Thank you very much