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

    Question: Connecting extruder motor(s) using regular Nema17

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    15
    623
    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.
    • wieman01undefined
      wieman01 @dc42
      last edited by

      @dc42 said in Question: Connecting extruder motor(s) using regular Nema17:

      Have you checked the phases of the stepper motor wires? https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors#Section_Connecting_stepper_motors

      Thank you, @dc42. Yes, I have. These motors work fine when I connect them to other drivers. And other motors start showing same faulty behavior when I connect them to either E0 or E1.

      I will do someore testing tomorrow and let you know. I think there may be a problem with the settings like Frederick has mentioned.

      1 Reply Last reply Reply Quote 0
      • wieman01undefined
        wieman01
        last edited by wieman01

        Hello again,

        I was able to resolve my issue. The problem at hand lay in the Drives Section of my "config.g" file. I previously used the Duet Configurator and subsequently made a few changes by hand. That must have messed it up and caused these problems.

        So I did as you advised, Frederick, and changed the extruder settings to match the X axis configuration. I also adjusted the faulty E16:16:... line.

        Both extruder motors now behave/move the way they should. I think I have a solid baseline now and should be able to solve any other upcoming problems myself. It's always tough creating your first working version when you are new to something, but once it's there the rest falls into place as you go forward.

        Thank you both for your help & patience. I know it can be challenging at times to help newbies like me asking the same questions times and again when the solution should be so obvious. 🙂

        Just to share this with other fellow Duet 2 & Duex5 users:

        ; Configuration file for Duet WiFi (firmware version 3)
        
        ; General preferences
        G90                                                                 ; send absolute coordinates...
        M83                                                                 ; ...but relative extruder moves
        M550 P"Clayster"                                                    ; 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                                                          ; X1
        M569 P1 S1                                                          ; Y
        M569 P2 S1                                                          ; Z1 & Z2
        M569 P3 S1                                                          ; E0
        M569 P4 S1                                                          ; E1
        M569 P5 S1                                                          ; Z3
        M569 P6 S1                                                          ; Z4
        M569 P7 S0                                                          ; X2
        
        M584 X0:7 Y1 Z2:5:6 E3:4                                            ; remap motors 
        
        M350 X16:16 Y16 Z16:16:16 E16:16 I1                        	; configure microstepping with interpolation
        M92 X100.00 Y100.00 Z1600.00 E250.00:100.00							; set steps per mm 
        M566 X900.00 Y900.00 Z20.00 E200.00							   		; set maximum instantaneous speed changes (mm/min)
        M203 X6000.00 Y6000.00 Z180.00 E1200.00:100.00					 	; set maximum speeds (mm/min)
        M201 X500.00 Y500.00 Z250.00 E250.00					        	; set accelerations (mm/s^2)
        M906 X1000 Y1000 Z1000 E1000 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 X380 Y380 Z350 S0                                              ; 38cm x 38cm x 35cm
        
        ; Endstops
        M574 X1 S1 P"!xstop+!duex.e4stop"                                   ; configure active-low endstop for 2 X-motors
        M574 Y1 S1 P"!ystop"                                                ; configure active-low endstop for low end on Y via pin ystop
        M574 Z1 S1 P"!zstop"												; remove once Z probe is available
        
        ; Z-Probe
        ;M558 P3 C"^zprobe.in" H5 I1 F120 T6000     			            ; set Z probe type to switch and the dive height + speeds
        ;M558 P5 C"^zprobe.in" H5 I1 F120 T6000                             ; backup
        ;G31 P500 X0 Y0 Z2.5                                                ; set Z probe trigger value, offset and trigger height
        ;M557 X15:215 Y15:195 S20                                           ; define mesh grid
        
        ; Miscellaneous
        M575 P1 S1 B57600                                                   ; enable support for PanelDue
        
        ; Extruder I 
        M563 P0 D0  														; enable tool 0 & extruder E0 (D0)
        G10 P0 X0 Y0 Z0 													; axis offsets for extruder
        G10 P0 R0 S0														; set extruder active and standby temperature to 0 Celsius
        
        ; Extruder II
        M563 P1 D1  														; enable tool 1 & extruder E1 (D1)
        G10 P0 X0 Y0 Z0 													; axis offsets for extruder
        G10 P0 R0 S0														; set extruder active and standby temperature to 0 Celsius
        
        1 Reply Last reply Reply Quote 1
        • fcwiltundefined
          fcwilt
          last edited by fcwilt

          Hi,

          Glad to hear you are making progress.

          A few of things you may want to address.

          In the M560 P2 S1 command you have a comment showing Z1 and Z2.

          Keep in mind that the two connectors there put the steppers in series sharing the same driver whereas your Z3 and Z4 steppers have their own drivers.

          While this might work fine but it might not. Just something to be aware of.


          In the M350 command you have E16:16 which is appropriate since you have two E steppers however you have X16:16.

          Note this from the documentation for M350:

          RepRapFirmware does not support individual motor settings where an axis has multiple motors connected to different stepper drivers. The first parameter specified will be used for all motors on the axis. You should use identical motors on any axis that has more than one motor to avoid unexpected behaviour.

          So the X16:16 does no harm but the second 16 serves no purpose. You may want to remove all such unneeded values just to simply things.


          In the M566 command you only have E200.00.

          It might be best to have E200.00:200.00 to be sure you have the desired settings for each E stepper.

          You may want to check all such situations.


          Just FYI regards the M208 command. What you have is fine and is how the configuration tool creates things. However if desired you can also use the form X0:380 Y0:380 Z0:350 which keeps all the values together on one line.


          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          1 Reply Last reply Reply Quote 2
          • wieman01undefined
            wieman01
            last edited by

            Hello Frederick,

            Thank you, this was very valuable. In fact I adapted all your suggestions, in particular number 1. That is because I want to use bed leveling for 4 independent motors, so all Z-steppers actually have to have their own driver. Therefore I reassigned Z2.

            Also the other comments make a slot of sense. I cannot thank you enough for all the time you are taking to help me.

            This is what it looks now:

            ; Configuration file for Duet WiFi (firmware version 3)
            
            ; General preferences
            G90                                                                 ; send absolute coordinates...
            M83                                                                 ; ...but relative extruder moves
            M550 P"Clayster"                                                    ; set printer name
            M302 P1																; enable cold extrusion for clay printing
            
            ; Network
            M552 S1                                                             ; enable network
            M586 P0 S1                                                          ; enable HTTP
            M586 P1 S0                                                          ; disable FTP
            M586 P2 S0                                                          ; disable Telnet
            
            ; Drives 
            M569 P0 S1                                                          ; X1
            M569 P1 S1                                                          ; Y
            M569 P2 S1                                                          ; Z1
            M569 P3 S1                                                          ; E0
            M569 P4 S1                                                          ; E1
            M569 P5 S1                                                          ; Z2
            M569 P6 S1                                                          ; Z3
            M569 P7 S0                                                          ; X2
            M569 P8 S1                                                          ; Z4
            
            M584 X0:7 Y1 Z2:5:6:8 E3:4                                          ; remap motors 
            
            M350 X16 Y16 Z16 E16 I1			                        			; configure microstepping with interpolation
            
            M92 X100.00 Y100.00 Z1600.00 E250.00:100.00							; set steps per mm
            M566 X900.00 Y900.00 Z20.00 E200.00:200.00					   		; set maximum instantaneous speed changes (mm/min)
            M203 X6000.00 Y6000.00 Z180.00 E1200.00:100.00					 	; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z250.00 E250.00:250.00				        	; set accelerations (mm/s^2)
            
            M906 X1000 Y1000 Z1000 E1000 I30 				          			; set motor currents (mA) and motor idle factor in per cent
            M84 S30                                                				; Set idle timeout
            
            ; Axis Limits
            M208 X0:380 Y0:380 Z0:350 S1                                        ; 38cm x 38cm x 35cm
            
            ; Endstops
            M574 X1 S1 P"!xstop+!duex.e4stop"                                   ; configure active-low endstop for 2 X-motors
            M574 Y1 S1 P"!ystop"                                                ; configure active-low endstop for low end on Y via pin ystop
            M574 Z1 S1 P"!zstop"												; remove once Z probe is available
            
            ; Z-Probe
            ;M558 P3 C"^zprobe.in" H5 I1 F120 T6000     			            ; set Z probe type to switch and the dive height + speeds
            ;M558 P5 C"^zprobe.in" H5 I1 F120 T6000                             ; backup
            ;G31 P500 X0 Y0 Z2.5                                                ; set Z probe trigger value, offset and trigger height
            ;M557 X15:215 Y15:195 S20                                           ; define mesh grid
            
            ; Miscellaneous
            M575 P1 S1 B57600                                                   ; enable support for PanelDue
            
            ; Extruder I 
            M563 P0 D0  														; enable tool 0 & extruder E0 (D0)
            G10 P0 X0 Y0 Z0 													; axis offsets for extruder
            G10 P0 R0 S0														; set extruder active and standby temperature to 0 Celsius
            
            ; Extruder II
            M563 P1 D1  														; enable tool 1 & extruder E1 (D1)
            G10 P0 X0 Y0 Z0 													; axis offsets for extruder
            G10 P0 R0 S0														; set extruder active and standby temperature to 0 Celsius
            
            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @wieman01
              last edited by

              @wieman01 said in Question: Connecting extruder motor(s) using regular Nema17:

              M906 X1000 Y1000 Z1000 E1000 I30

              Don't forget the second extruder motor current.

              Z-Bot CoreXY Build | Thingiverse Profile

              wieman01undefined 1 Reply Last reply Reply Quote 1
              • wieman01undefined
                wieman01 @Phaedrux
                last edited by

                @Phaedrux said in Question: Connecting extruder motor(s) using regular Nema17:

                @wieman01 said in Question: Connecting extruder motor(s) using regular Nema17:

                M906 X1000 Y1000 Z1000 E1000 I30

                Don't forget the second extruder motor current.

                Thank you. When I use the same current for both, could I not leave it as it is? Only have two value where they are different? Just a thought because this looks neat.

                fcwiltundefined 1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @wieman01
                  last edited by

                  @wieman01 said in Question: Connecting extruder motor(s) using regular Nema17:

                  @Phaedrux said in Question: Connecting extruder motor(s) using regular Nema17:

                  @wieman01 said in Question: Connecting extruder motor(s) using regular Nema17:

                  M906 X1000 Y1000 Z1000 E1000 I30

                  Don't forget the second extruder motor current.

                  Thank you. When I use the same current for both, could I not leave it as it is? Only have two value where they are different? Just a thought because this looks neat.

                  Hi,

                  Even if the values are the same you should always specify both.

                  Frederick

                  Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                  wieman01undefined 1 Reply Last reply Reply Quote 1
                  • wieman01undefined
                    wieman01 @fcwilt
                    last edited by

                    Hi,

                    But then the same applies to this line:

                    M350 X16 Y16 Z16 E16 I1		
                    

                    So "E16" should read "E16:16" , but the x, y, z should only have one value as discussed before, correct?

                    wieman01

                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @wieman01
                      last edited by

                      @wieman01 said in Question: Connecting extruder motor(s) using regular Nema17:

                      correct?

                      Correct.

                      The extruders are different than other axis because each extruder is treated independently. They may have different motors and are not commanded in a coordinated way like other axis are.

                      If you don't specify the parameters for each extruder you may end up with an unknown default value and unexpected behaviour.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      wieman01undefined 1 Reply Last reply Reply Quote 2
                      • wieman01undefined
                        wieman01 @Phaedrux
                        last edited by

                        @Phaedrux said in Question: Connecting extruder motor(s) using regular Nema17:

                        @wieman01 said in Question: Connecting extruder motor(s) using regular Nema17:

                        correct?

                        Correct.

                        The extruders are different than other axis because each extruder is treated independently. They may have different motors and are not commanded in a coordinated way like other axis are.

                        If you don't specify the parameters for each extruder you may end up with an unknown default value and unexpected behaviour.

                        Thank you, Phaedrux, that makes sense now. Will make the changes as agreed. I think I should have a very solid baseline now for my next endeavor when my capacitive Z probe arrives (NPN NO).

                        Thanks to all of you for bearing with me. These last few days have been very insightful and crucial to my project.

                        1 Reply Last reply Reply Quote 2
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA