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

    Independent Y and Z Motors not working

    Scheduled Pinned Locked Moved
    General Discussion
    7
    23
    804
    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.
    • Jim46undefined
      Jim46
      last edited by

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;System on 05/10/20
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon May 04 2020 10:26:28 GMT-0600 (Mountain Daylight Time)
       
      ; General preferences
      G90                            ; send absolute coordinates...
      M83                            ; ...but relative extruder moves
      M550 P"duet3"             ; 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
      M584 E0 X1 Y2:3 Z4:5                      ; set drive mapping dual y on 2&3 + dual z on 4+5
      M569 P0 S1                   ; physical drive 0 goes forwards
      M569 P1 S1                   ; physical drive 1 goes forwards
      M569 P2 S1                   ; physical drive 2 goes forwards
      M569 P3 S1                   ; physical drive 3 goes forwards
      M569 P4 S1                   ; physical drive 4 goes forwards
      M569 P5 S1                   ; physical drive 5 goes forwards
      ;M584 E0 X1 Y2:3 Z4:5                      ; set drive mapping dual y on 2&3 + dual z on 4+5
      M350 X16 Y16 Z16 I1                        ; configure microstepping with interpolation
      M92 X53.33 Y53.33 Z53.33 E400              ; set steps per mm
      ;M92 X53.33 Y53.33:53.33 Z53.33:53.33 E400 ; set steps per mm
      M566 X900 Y900 Z12 E2000                   ; set maximum instantaneous speed changes (mm/min)
      M203 X6000 Y6000 Z180 E6000                ; set maximum speeds (mm/min)
      M201 X500 Y5000 Z20 E3000                  ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800 I30                    ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                    ; time out
      
       
      ; Axis Limits
      M208 X0 Y0 Z0 S1               ; set axis minima
      M208 X1000 Y1000 Z1000 S0      ; set axis maxima
       
      ; Endstops
      M574 X1 S1 P"io1.in"
      M574 Y1 S1 P"io2.in"
      M574 Z1 S1 P"io3.in"
       
      ; Z-Probe
      M558 P0 H5 F120 T6000          ; disable Z probe but set dive height, probe speed and travel speed
      M557 X0:1000 Y0:1000 S50       ; define mesh grid
       
      ; Heaters
       
      ; Fans
       
      ; Tools
       
      ; Custom settings are not defined
      M302 P1 ; allow cold extusion (clay is cold)
      

      Hi Phaedrux,
      I made the changes you recommended and it improved the results,
      X motor moved +/- well
      Y motors moved +/- well
      Z motors when commanded did not move; however the Y motors moved slowly.
      Clearly not right, yet I can't see anything that causes this.
      Ideas?

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

        @Jim46 said in Independent Y and Z Motors not working:

        M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation

        You're missing E16 here.

        @Jim46 said in Independent Y and Z Motors not working:

        M906 X800 Y800 Z800 I30 ; set motor currents (mA) and motor idle factor in per cent

        You're also missing the motor current for E here.

        For your motor currents, target 60-85% of the motors rated value to ensure smooth clean motion. Are your Z motors different than the other motors? Do they require more current?

        How do you have the Z motors connected?

        If you connect the Z motors to other drivers, do the motors work then?

        If you connect the X and Y motor to the Z drivers, do they move then?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Jim46undefined
          Jim46
          last edited by

          Hi Phaedrux,
          I made the M350 change, it now reads:
          M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation

          I'm running NEMA23 motors from OpenBuilds on all axes. They have, I think, a Rated Current DC 3.0A/Phase.
          https://openbuildspartstore.com/nema-23-stepper-motor-high-torque-series/
          Presently, on the Duet3D 1.0 board (connected to RPi4 using the Duet microSD card), the:
          X motor is on Driver 1
          Y motor 1 is on Driver 2
          Y motor 2 is on Driver 3
          Z motor 1 is on Driver 4
          Z motor 2 is on Driver 5

          In the single motor mode, I was successful moving all motors +/- using
          M584 E0 X1 Y2 Z4 as you see no Drive 3 and 5
          Then, I used this
          M584 E0 X1 Y3 Z5 as you see no Drive 2 and 4

          Yet when trying dual mapping

          M584 E0 X1 Y2:3 Z4:5 ; set drive mapping dual y on 2&3 + dual z on 4+5

          This is when the problem occurs of Y moving slowly when Z commands are sent.

          I switched the Y (was on Drives 2 & 3) and Z motors ( was on Drivers 4 &5) are now Y motors connected to Drivers 4 & 5, and Z motors connected to Drivers 2 & 3. The motors connected to Drivers 2 & 3 run +/- smoothly when a Y command is given. They also move +/- slowly when a Z command it given. The motors on Drivers 4 & 5 are not working when in dual mode. Yet, they work in single motor mode.
          Any more ideas? (is there something wrong with the board?)
          Jim

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

            @Jim46 said in Independent Y and Z Motors not working:

            M906 X800 Y800 Z800 I30

            For those motors try increasing your motor currents a bit for testing.

            M906 X1600 Y1600 Z1600 E1600 I30 Which is 60% of their rated max. For normal operation you may want to increase that even further.

            I'm still a little confused on what there would be movement of the Z axis when you're commanding movement of the Y axis.

            Just to confirm, the motors are on the test bench and not actually installed in a printer kinematic yet, correct?

            How are you commanding movement of the motors?
            Are you running any homing macros yet?

            Can you send M584 in the console by itself and report back with what it says?

            Your M584 looks correct and it is early enough in your config.g The only thing that maybe sticks out to me is that the E letter assignment is first, when it would typically be last. So maybe try modifying it to be M584 X1 Y2:3 Z4:5 E0

            Can you also send M122 and report back with that as well?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • Jim46undefined
              Jim46
              last edited by

              Hello Phaedrux,
              Thanks for your suggestions.
              I updated the M906 and M584 as suggested.
              To clarify; I make commands from the Machine Movement table in the Dashboard.
              When I command the X motor on Driver 1 I get nice +/- movement.
              When I command, say the +50 on Y, the dual Y motors on Drivers 2 & 3 gives nice +/- movement.
              When I command, say the +25 on Z, the dual Z motors on Drivers 4 & 5 DOES NOT move the Z motors. However, the Y motors DO move as if they think they are the Z motors, that is, they move slowly. Again no Z motor movement in the dual motor mode.
              Yes, this is a bench set up where I am trying to determine if the motors move correctly when given a command.
              No Homing Macros yet. I don't know how to set those up so far.
              When I run M122 on the DashBoard, it gives a warning that the "response takes too long" and say see the Console. I open the Console and don't find an M122 event. Therefore, no information.
              I updated the RRF Config tool and added the changes recommended.
              Here it is,

              ; Configuration file for Duet 3 (firmware version 3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon May 11 2020 13:56:00 GMT-0600 (Mountain Daylight Time)
              
              ; General preferences
              G90                            ; send absolute coordinates...
              M83                            ; ...but relative extruder moves
              M550 P"Duet 3"                 ; set printer name
              
              ; Network
              M552 P0.0.0.0 S1               ; enable network network and acquire dynamnic address via DHCP
              M586 P0 S1                     ; enable HTTP
              M586 P1 S0                     ; disable FTP
              M586 P2 S0                     ; disable Telnet
              
              
              
              ; Drives
              M584 X1 Y2:3 Z4:5 E0           ; set drive mapping, dual on Y drives 2&3 and Z drives on 4&5
              M569 P0 S1                     ; physical drive 0 goes forwards
              M569 P1 S1                     ; physical drive 1 goes forwards
              M569 P2 S1                     ; physical drive 2 goes forwards
              M569 P3 S1                     ; physicsl drive 3 goes forwards           
              M569 P4 S1                     ; physical drive 4 goes forwards
              M569 P5 S1                     ; physical drive 5 goes forwards
              
              M350 X16 Y16 Z16 E16 I1              ; configure microstepping with interpolation
              M92 X53.33 Y53.33 Z53.33 E400        ; set steps per mm
              M566 X900.00 Y900.00 Z12.00 E2000    ; set maximum instantaneous speed changes (mm/min)
              M203 X6000.00 Y6000.00 Z180.00 E6000 ; set maximum speeds (mm/min)
              M201 X500.00 Y500.00 Z20.00 E3000    ; set accelerations (mm/s^2)
              M906 X1600 Y1600 Z1600 E1600 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 X1000 Y1000 Z1000 S0      ; set axis maxima
              
              ; Endstops
              ; WARNING: No endstops configured
              
              ; Z-Probe
              M558 P0 H5 F120 T6000          ; disable Z probe but set dive height, probe speed and travel speed
              M557 X0:1000 Y0:1000 S50       ; define mesh grid
              
              ; Heaters
              
              ; Fans
              
              ; Tools
              
              ; Custom settings are not defined
              M302 P1                        ; allow cold extrusion (clay is cold)
              
              

              Thanks again, Jim

              1 Reply Last reply Reply Quote 0
              • Jim46undefined
                Jim46
                last edited by

                Hi Phaedrux,
                I forgot to report m the M584 command, I just did it and here are the result in the Console. The field is blue and the text reads:
                5/12/2020, 11:59:17 AM M584
                Driver assignments: X0.1 Y0.2:0.3 Z0.2:0.3 E0.0, 3 axes visible.
                That looks a little strange to me. Would it be X0.1 Y0.2:0.3 Z0.4:0.5 E0.0 ??? If this is so, how do you edit that?
                Also Side question. Can I use 53.3333 on Line 29 M92 Steps per mm?
                Thank you so much,
                Jim

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

                  Alright, that confirms my suspicion. At least that explains why Y is moving. I think we need to modify how your M584 is written. The way you have it currently works in RRF2, but in RRF3 we need to specify the board location of the drivers so that it knows if it's on the main board or on a tool board, etc.

                  Try this

                  M584 X0.1 Y0.2:0.3 Z0.4:0.5 E0.0
                  

                  The leading 0 identifies the main board. The number after the period is the driver number on that board.

                  https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping

                  In RRF_3, M584 works the same way as in RRF_2, with exception that on Duet 3 the driver on expansion boards are assigned with <board address>.<driver number>. Example:
                  M584 X0 Y1 Z2 E3:4:1.0:1.1
                  The "0" index for the main board is implicit, this is equivalent to the previous example:
                  
                  M584 X0.0 Y0.1 Z0.2 E0.3:0.4:1.0:1.1
                  

                  I should have clued into that sooner.

                  @Jim46 said in Independent Y and Z Motors not working:

                  Also Side question. Can I use 53.3333 on Line 29 M92 Steps per mm?

                  Yes, decimal values are supported in Reprap firmware.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  A Former User? 1 Reply Last reply Reply Quote 0
                  • A Former User?
                    A Former User @Phaedrux
                    last edited by

                    @Phaedrux said in Independent Y and Z Motors not working:

                    The leading 0 identifies the main board. The number after the period is the driver number on that board.

                    he had it like that initially and no drivers worked, removing the 0. resulted in some success. could be changed since RRF3.0 though.

                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @A Former User
                      last edited by

                      @bearer Hmmm. I also thought it was implied for the main board with no leading board identifier, but the result of M584 in the console indicates that either the M584 in config.g is either not being applied or there is another M584 hiding out somewhere else.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • Jim46undefined
                        Jim46
                        last edited by

                        Greetings,

                        Up dated M584
                        M584 X0.1 Y0.2:0.3 Z0.4:0.5 E0.0 ; set drive mapping, dual on Y drives 2&3 and Z drives on 4&5
                        Ran M584 and came back in console with:
                        5/12/2020, 3:18:04 PM M584
                        Driver assignments: X0.1 Y0.2:0.3 Z0.2:0.3 E0.0, 3 axes visible.
                        To your point, it looks like M584 is not updating the Z drives. How does one find a ghost version of M584? Or, could this be an issue in the firmware?
                        It seems like we might be near an answer?
                        jim

                        deckingmanundefined droftartsundefined 2 Replies Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @Jim46
                          last edited by

                          @Jim46 I don't see an M501 in your config.g so that rules out the possibility of it being config_overide.g. Try sending M98 P"config.g". This will run the config.g file again. Then send M584 again and report the result.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          1 Reply Last reply Reply Quote 1
                          • droftartsundefined
                            droftarts administrators @Jim46
                            last edited by

                            @Jim46 what version of RRF3 are you using? Send M115 and post reply. Earlier versions had an issue with defining more than one multiple motor axis in one M584 command. Try:

                            M584 X1 Y2:3
                            M584 Z4:5 E0
                            

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            A Former User? 1 Reply Last reply Reply Quote 1
                            • A Former User?
                              A Former User @droftarts
                              last edited by

                              @droftarts said in Independent Y and Z Motors not working:

                              Earlier versions

                              it should be 3.0 (possibly 3.0beta-somethin) so you're probably onto something there.

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

                                To add to Ian's reply, I recommend you upgrade to RRF 3.01-RC12 if you are running an earlier version.

                                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
                                • Jim46undefined
                                  Jim46
                                  last edited by

                                  Hello All,
                                  Just ran M98 P"config.g" and then M584 yielding...

                                  5/12/2020, 4:19:04 PM 	M584
                                  Driver assignments: X0.1 Y0.2:0.3 Z0.2:0.3 E0.0, 3 axes visible
                                  
                                  5/12/2020, 4:22:10 PM 	M115
                                  FIRMWARE_NAME: RepRapFirmware for Duet 3 v0.6 FIRMWARE_VERSION: 3.0beta11 ELECTRONICS: Duet 3 version v0.6 FIRMWARE_DATE: 2019-10-21b1
                                  

                                  Loaded and ran commands from the Dashboard,

                                  M584 X1 Y2:3
                                  M584 Z4:5 E0
                                  
                                  

                                  Hallelujah! It worked!
                                  X1 X-50 and X+50 ran smoothly!
                                  Y2&3 Y-50 and Y+50 ran smoothly
                                  Z4&5 Z-25 and Z+25 ran the Z motors smoothly, NO effect on the Y motors now!
                                  Gentlemen, please take a big bow and applause from me!
                                  Jim
                                  PS. I imagine that there are a lot of updates coming that I may ask for your help again.

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