• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Duet 3 6HC configure firmware dual Z motors Please Help

Scheduled Pinned Locked Moved
Firmware installation
4
47
2.1k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    supertb1
    last edited by 22 Nov 2020, 22:37

    Hello all, I wanted to use the online firmware configure tool but it appears that it does not allow Dual Z motors so I am going to list the hardware here and hope that I can get some help on the config file I'm going to need. I am a relative noob to how to set this up so here goes:
    Print area X:609, Y:609, Z:762
    2) Nema 23 1.8 degree motors Z Tr8*8-2p on drive 0 and drive 1

    1. Nema 23 1.8 degree motor Y DS14-25 on drive 2
    2. Nema 17 1.8 degree motor X on drive 3
    3. Nema 17 1.8 degree motor Extruder on Drive 4
      1)3PIN N/O N/C ENDSTOP SWITCH REPRAP min Z io_3
      1)3PIN N/O N/C ENDSTOP SWITCH REPRAP min Y io_2
      1)3PIN N/O N/C ENDSTOP SWITCH REPRAP min X io_1
    4. Panel Due 7 on io_0
      Out 1 bed heater
      Out 2 hot end heater
      Out 5 nozzle fan
      Out 6 nozzle fan
      Out 7 Bed SSR fan
      Out 8 Thermostatic extruder fan
      Temp 0 bed
      Temp 1 hot end
      This is the hardware and it's current configuration. I need help with the firmware, I would love to use the online configuration tool but it seems that a custom Duet 3 6HC doesn't allow for that. If the current configuration is not the best way of doing this I am can change it.
    1 Reply Last reply Reply Quote 0
    • undefined
      Phaedrux Moderator
      last edited by 22 Nov 2020, 22:38

      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

      Z-Bot CoreXY Build | Thingiverse Profile

      1 Reply Last reply Reply Quote 0
      • undefined
        supertb1
        last edited by 22 Nov 2020, 22:50

        Thank you very much for that

        1 Reply Last reply Reply Quote 0
        • undefined
          supertb1
          last edited by 22 Nov 2020, 23:02

          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?

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator
            last edited by 22 Nov 2020, 23:07

            If you have a z probe you don't need any limit switch for z.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • undefined
              supertb1
              last edited by 22 Nov 2020, 23:12

              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?

              1 Reply Last reply Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 23 Nov 2020, 02:34

                Using 2 endstops in RRF3 to home/level is quite easy.

                https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_In_RepRapFirmware_Num_3

                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.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • undefined
                  supertb1
                  last edited by 23 Nov 2020, 04:26

                  Thank you sir... I will post if I have any more questions

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    supertb1
                    last edited by 11 Mar 2021, 17:25

                    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.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      supertb1
                      last edited by 11 Mar 2021, 17:26

                      ; 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

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        supertb1
                        last edited by 11 Mar 2021, 17:27

                        ; 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

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          supertb1
                          last edited by 11 Mar 2021, 17:27

                          ; 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

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            supertb1
                            last edited by 11 Mar 2021, 17:28

                            ; 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

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              Phaedrux Moderator
                              last edited by 11 Mar 2021, 17:43

                              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.

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                ziggymanpopo
                                last edited by 11 Mar 2021, 17:49

                                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
                                🙂👍

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  supertb1
                                  last edited by 11 Mar 2021, 17:56

                                  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?

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    Phaedrux Moderator
                                    last edited by 11 Mar 2021, 18:04

                                    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.

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      supertb1
                                      last edited by 11 Mar 2021, 18:08

                                      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?

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        Phaedrux Moderator
                                        last edited by 11 Mar 2021, 18:17

                                        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.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          supertb1
                                          last edited by 11 Mar 2021, 18:33

                                          ok, thank you very much.... got everything else working... just dont want any screw ups..lol...

                                          undefined 1 Reply Last reply 11 Mar 2021, 18:35 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA