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

    Multiple Axis moving at the same time on Cartesian Printer

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    9
    503
    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.
    • t0biasundefined
      t0bias
      last edited by

      I have wired up 5 Wantai DQ542MA Stepper Motor Drivers to a Duet WiFi with a Duet Expansion Breakout Board attached.

      • The X-Axis Motor is connected to the E2 Motor / Drive 5 Connector on the Expansion Board
      • The Y-Axis Motors are connected to the E3 / Drive 6 and E4 / Drive 7 Connectors on the Expansion Board
      • The Z-Axis Motors are connected to the E5 / Drive 8 and E6 / Drive 9 Connectors on the Expansion Board
      • The First Extruder Motor is connected to the E0 Connector on the Duet WiFi
      • The Second Extruder Motor is connected to the E1 Connector on the Duet WiFi

      I am using the 3.1.1 Firmware on the Duet and am still trying to simply do some raw movements.

      When using G91 to do relative movements and then G1 H1 X10 via DWC, both the X-Axis and the Y-Axis move. The same happenes when I go for G1 H1 Y10 instead.

      Here is my config.g:

      ; General preferences
      G90                                             ; send absolute coordinates...
      M83                                             ; ...but relative extruder moves
      M550 P"My 3D-Printer"                      ; set printer name
      M669 K0                                         ; set cartesian mode
      
      ; Network
      M552 S1                                         ; enable network
      M586 P0 S1                                      ; enable HTTP
      M586 P1 S0                                      ; disable FTP
      M586 P2 S0                                      ; disable Telnet
      
      ; Drives
      M569 P0 S1 R0                                   ; physical drive 0 is disabled (R0)
      M569 P1 S1 R0                                   ; physical drive 1 is disabled (R0)
      M569 P2 S1 R0                                   ; physical drive 2 is disabled (R0)
      M569 P3 S1                                      ; physical drive 3 goes forwards (E0)
      M569 P4 S1                                      ; physical drive 4 goes forwards (E1)
      M569 P5 S1                                      ; physical drive 5 goes forwards (X)
      M569 P6 S1                                      ; physical drive 6 goes forwards (Y-Left)
      M569 P7 S1                                      ; physical drive 7 goes forwards (Y-Right)
      M569 P8 S1                                      ; physical drive 8 goes forwards (Z-Left)
      M569 P9 S1                                      ; physical drive 9 goes forwards (Z-Right)
      M584 X5 Y6:7 Z8:9 E3:4                          ; set drive mapping
      M350 X1 Y1 Z1 E16:16 I0                         ; configure microstepping with interpolation off
      M92 X80.00 Y80.00 Z400.00 E420.00:420.00        ; set steps per mm
      M566 X900.00 Y900.00 Z12.00 E120.00:120.00      ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00:250.00      ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800 E800:800 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 X284 Y333 Z370 S0                          ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"xstop"                             ; configure active-high endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop"                             ; configure active-high endstop for low end on Y via pin ystop
      M574 Z1 S1 P"zstop"                             ; configure active-high endstop for low end on Z via pin zstop
      
      [ skipping the heater, fan and tools sections ]
      

      I have read some posts that recommend using the T-Parameter on the Drives connected to a Wantai Stepper Motor Drivers like so M569 P6 S1 T6:6:5:0 however I have no Idea where I would get those values from and moreover I don't think there is any relation between the timing settings and the issue of the axis moving at the same time (but I could be completely wrong)..!

      I have no clue why this might happen.. 😕

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

        Can you post your entire config.g in case there is something later in the file that may be changing something earlier in the file.

        If you send G92 X100 Y100 and then try to move an axis with the jog controls do they work correctly then?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • t0biasundefined
          t0bias
          last edited by

          Here is my entire config.g:

          ; General preferences
          G90                                            ; send absolute coordinates...
          M83                                            ; ...but relative extruder moves
          M550 P"My 3D-Printer"                          ; 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 R0                                  ; physical drive 0 is disabled (R0)
          M569 P1 S1 R0                                  ; physical drive 1 is disabled (R0)
          M569 P2 S1 R0                                  ; physical drive 2 is disabled (R0)
          M569 P3 S1                                     ; physical drive 3 goes forwards (E0)
          M569 P4 S1                                     ; physical drive 4 goes forwards (E1)
          M569 P5 S1 R1                                  ; physical drive 5 goes forwards (X)
          M569 P6 S1 R1                                  ; physical drive 6 goes forwards (Y-Left)
          M569 P7 S1 R1                                  ; physical drive 7 goes forwards (Y-Right)
          M569 P8 S1 R1                                  ; physical drive 8 goes forwards (Z-Left)
          M569 P9 S1 R1                                  ; physical drive 9 goes forwards (Z-Right)
          M584 X5 Y6:7 Z8:9 E3:4                         ; set drive mapping
          M350 X1 Y1 Z1 E16 I0                           ; configure microstepping with interpolation off
          M92 X80.00 Y80.00 Z400.00 E420.00              ; set steps per mm
          M566 X900.00 Y900.00 Z12.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 Y800 Z800 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 X284 Y333 Z370 S0                         ; set axis maxima
          
          ; Endstops
          M574 X1 S1 P"xstop"                            ; configure active-high endstop for low end on X via pin xstop
          M574 Y1 S1 P"ystop"                            ; configure active-high endstop for low end on Y via pin ystop
          M574 Z1 S1 P"zstop"                            ; configure active-high endstop for low end on Z via pin zstop
          
          ; Z-Probe
          M558 P2 C"zprobe.in+zprobe.mod" H5 F120 T3000  ; set Z probe type to modulated and the dive height + speeds
          G31 P500 X0 Y0 Z2.5                            ; set Z probe trigger value, offset and trigger height
          M557 X15:215 Y15:195 S20                       ; define mesh grid
          
          ; Heaters
          M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 S145                                   ; set temperature limit for heater 0 to 145C
          M308 S1 P"e0temp" Y"thermistor" T100000 B4138  ; 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
          M308 S2 P"e1temp" Y"thermistor" T100000 B4138  ; configure sensor 2 as thermistor on pin e1temp
          M950 H2 C"e1heat" T2                           ; create nozzle heater output on e1heat and map it to sensor 2
          M307 H2 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
          
          ; Fans
          M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
          M106 P0 S1 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 S1 H-1                                 ; set fan 1 value. Thermostatic control is turned off
          
          ; Tools
          M563 P0 S"Main Extruder" 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
          M563 P1 S"Support Extruder" D1 H2 F1           ; define tool 1
          G10 P1 X0 Y0 Z0                                ; set tool 1 axis offsets
          G10 P1 R0 S0                                   ; set initial tool 1 active and standby temperatures to 0C
          
          ; Custom settings are not defined
          
          
          ; Miscellaneous
          M575 P1 S1 B57600                              ; enable support for PanelDue
          T0                                             ; select first tool
          

          I tried your suggestion using G92 X100 Y100, unfortunately still both axis move as before.

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

            @t0bias said in Multiple Axis moving at the same time on Cartesian Printer:

            M584 X5 Y6:7 Z8:9 E3:4 ; set drive mapping M350 X1 Y1 Z1 E16 I0 ; configure microstepping with interpolation off

            Are you sure you have the motors plugged into the right drivers and have the right drivers mapped to the right axis?

            Also, probably not a good idea to use 1x microstepping. Use x16 with interpolation enabled (I1)

            Are you sure this is a cartesian printer and not a corexy? Photo?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • t0biasundefined
              t0bias
              last edited by

              If I do use microstepping, the motors connected to the Wantai Drivers move really stuttery..?

              To my understanding this is a cartesian printer, it has separate motors and belts for the x and y axis and threaded rods to move the bed?
              IMG_20200727_151025433.jpg

              This is how the motors are wired (so I don't think they are connected correctly):
              motors.jpg

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @t0bias
                last edited by

                @t0bias said in Multiple Axis moving at the same time on Cartesian Printer:

                When using G91 to do relative movements and then G1 H1 X10 via DWC, both the X-Axis and the Y-Axis move. The same happenes when I go for G1 H1 Y10 instead.

                Odd, it sounds as if the printer is in CoreXY mode. Please send M669 without parameters and report the response.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

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

                  Have you seen this page on using external stepper drivers?

                  https://duet3d.dozuki.com/Wiki/Using_external_stepper_motor_drivers

                  Do you have anything in your tool change files? tpre tpost etc

                  Z-Bot CoreXY Build | Thingiverse Profile

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

                    Are you sure you don't have the drivers for the dual Y actually using one Y motor and one X motor?

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • t0biasundefined
                      t0bias
                      last edited by t0bias

                      Ok, figured it out, but well, it's totally embarassing.. 😬

                      I misslabeled some of the individual strands connecting the drivers to the extension breakout, basically wiring one of the Y-Motors Pulse pins to the X-Motors Enable pins.

                      I still don't quite understand, why this would result in such erratic/arbitrary moves, but hey - at least it works now!

                      Sorry for the bummer!

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