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

    Independent Y and Z Motors not working

    Scheduled Pinned Locked Moved
    General Discussion
    7
    23
    805
    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.
    • 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