Duet 3 6HC configure firmware dual Z motors Please Help
-
You can start with a basic config using a single z motor and then add the second manually.
https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
-
Thank you very much for that
-
it says that I need another limit switch for the second Z motor, and the line would look like :
G28 ; home
G30 P0 X20 Y190 Z-99999 ; probe near a leadscrew
G30 P1 X180 Y190 Z-99999 S2 ; probe near a leadscrew
Correct? -
If you have a z probe you don't need any limit switch for z.
-
Thanks for that advice... I have been watching youtube and there are only a couple of probes out there that are completely repeatable... I think Ill stick with the switches thanks..lol... are there any samples of code here that outlines 2 switches that are tested to work?
-
Using 2 endstops in RRF3 to home/level is quite easy.
Basically just define both endstop pins being used for the z axis and then home as normal with a G1 H1 Z move.
The G30 sample you posted about is for using the probe.
-
Thank you sir... I will post if I have any more questions
-
Hello Phaedrux, I took your advice and installed the BL touch on my machine, I utilized the online machine configurator and because I have 2 z motors the true leveling is not working as intended. I would like to share with you my "config.g, homez.g, bed.g and anything else you might need for advise on what changes to the code that might be necessary so I don't mess this up.
-
; bed.g
; called to perform automatic bed compensation via G32
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 08 2021 08:53:31 GMT-0600 (Central Standard Time)
M561 ; clear any bed transform
G29 ; probe the bed and enable compensation -
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 08 2021 08:53:31 GMT-0600 (Central Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Colossus Openbuild" ; set printer name; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards
M584 X0.3 Y0.2 Z0.0:0.1 E0.4 ; set drive mapping
M350 X32 Y32 Z32 E16 I1 ; configure microstepping with interpolation
M92 X106.00 Y256.50 Z400.00 E340.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y3000 Z3000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X609 Y609 Z762 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!^io1.in" ; configure active-high endstop for low end on X via pin !^io1.in
M574 Y1 S1 P"!^io2.in" ; configure active-high endstop for low end on Y via pin !^io2.in
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
M558 P9 C"^io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X10 Y10 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X50:500 Y50:500 S50 ; define mesh grid; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out1" T0 ; create bed heater output on out1 and map it to sensor 0
M307 H0 B1 S10.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S110 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"out8" Q500 ; create fan 0 on pin out8 and set its frequency
M106 P0 C"Tool Fan" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"out6" Q500 ; create fan 1 on pin out6 and set its frequency
M106 P1 C"Extruder" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on; Tools
M563 P0 S"Hemera" D0 H1 F0 ; define tool 0
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
M575 P1 S1 B57600 ; enable support for PanelDue -
; deployprobe.g
; called to deploy a physical Z probe
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 08 2021 08:53:31 GMT-0600 (Central Standard Time)
M280 P0 S10 ; deploy BLTouch -
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 08 2021 08:53:32 GMT-0600 (Central Standard Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90 ; absolute positioning
G1 X10 Y10 F6000 ; go to first probe point
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning -
Have you taken a look at this page yet?
https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#main
It describes what is needed.
M671 command in config.g to tell the firmware where the lead screws are.
bed.g (called by G32) contains probe points close to the lead screws.
-
Good morning.. I've played with the whole z-probe thing for a while. On this site select the documwntation tab. Under picking a z-probe you will find all the correct setting that you will need to make it all work. (Iregardles of the type of prob) There is a section called picking a z-probe that will ask tou what type of sensor you are using if you decide to sw. Back to sw. On both z steppers. This is where they have examples and all the setting info. Thought this might help
-
so like this:
config.g
M584 X0.3 Y0.2 Z0.0:0.1 E0.4 ; set drive mapping
M671 X-20:629 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
M350 X32 Y32 Z32 E16 I1 ; configure microstepping with interpolation
bed.g
G28 ; home
M401 ; deploy Z probe (omit if using bltouch)
G30 P0 X50 Y304 Z-99999 ; probe near a leadscrew, half way along Y axis
G30 P1 X500 Y304 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
M402 ; retract probe (omit if using bltouch)and that is all the changes that need to be made?
-
That's correct.
On the M671 you might want to use a larger value for S to begin with in case the tilt is more extreme.
In bed.g you can remove the M401 and M402.
Depending on how much correction needs to be made you might need to run G32 a few times in a row. Or you can duplicate the probing points in bed.g.
It might also be a good idea to add a G28 Z to the end of bed.g to re-establish Z0 after the tilt is corrected.
-
ok, an "S2.0" delete M401,402 and add:
a couple of more G30s
does moving the X further out on the G30 help with leveling or not really? -
Well you should try to get as close to the lead screw position as you can, but it's not critical.
Once you get it fairly level it should stay pretty level and only need a small correction to deal with any motor de-synchronization.
-
ok, thank you very much.... got everything else working... just dont want any screw ups..lol...
-
@supertb1 said in Duet 3 6HC configure firmware dual Z motors Please Help:
just dont want any screw ups..lol...
Noble goal, but can't always be avoided. Keep a hand near the kill switch at all times.