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

    Closed Loop Motor Setup

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    13
    61
    6.5k
    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.
    • Toastinatorundefined
      Toastinator
      last edited by Toastinator

      Hey All, Im Looking to get these Closed Loop Stepper Motors Setup and Working.

      I Currently Have them Connected and Homing Properly. However, I Cannot get them to Change Speed and It does not Seem to Wait for Current Move to Finish before going to the next. This Motor Does have an "In-Position Signal" But Im not sure how to use it. The Alarm Signal is Setup and Working to Stop the Machine if it Alarms.

      The Motor is Found on Amazon JSS57P2N Nema23
      Manual- Here

      Updated to Latest Firmware 3.3Beta2
      Core XY Machine, Closed Loop Motors on X/Y

      ; XY Closed Loop Stepper Motor Configuration:
      M569 P40.0 S1 R0 T2.6:2.6:2.6:2.6							; physical drive 40.0 goes forwards BL X Closed Loop Stepper
      M569 P41.0 S1 R0 T2.6:2.6:2.6:2.6							; physical drive 41.0 goes forwards BR Y Closed Loop Stepper
      M569.1 P40.0 S1 T2 E0.3125 R3.0 I4.0 D0.8					; Stepper Driver Closed Loop Control, T=Encoder Type, E=Encoder Counts, R=Proportional, I=Integral, D=Derivative
      M569.1 P41.0 S1 T2 E0.3125 R3.0 I4.0 D0.8					; Stepper Driver Closed Loop Control, T=Encoder Type, E=Encoder Counts, R=Proportional, I=Integral, D=Derivative
      M584 X40.0												; Duet 3 Expansion 1XD Closed Loop Stepper Motor Back Left X Axis
      M584 Y41.0												; Duet 3 Expansion 1XD Closed Loop Stepper Motor Back Right Y Axis
      M350 X1 Y1                                 	    							; configure microstepping
      M92 X1280 Y1280 										; set steps per mm		NO MICROSTEPPING (Pulse Per Rev = 51200)
      M566 X6200 Y6200                  								; set maximum instantaneous speed changes (mm/min)
      M201 X18000 Y18000										; set accelerations (mm/s^2)
      M906 X1950 Y1950										; set motor currents (mA) and motor idle factor in per cent
      
      1 Reply Last reply Reply Quote 0
      • Toastinatorundefined
        Toastinator
        last edited by

        Can Closed Loop Steppers Only be Used on Cartesian/Delta Machines?

        During Homing Sequence, Machine Moves X130 Y150 Same Time, When X Gets to Location, Z Starts Lifting and Is not Waiting for Y to Finish Getting to Location.

        Phaedruxundefined fcwiltundefined alankilianundefined 3 Replies Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator @Toastinator
          last edited by

          @Toastinator said in Closed Loop Motor Setup:

          Can Closed Loop Steppers Only be Used on Cartesian/Delta Machines?

          I don't think that is the case.

          Are you sure about the timings for the servos?

          Z-Bot CoreXY Build | Thingiverse Profile

          Toastinatorundefined 1 Reply Last reply Reply Quote 0
          • Toastinatorundefined
            Toastinator @Phaedrux
            last edited by

            @Phaedrux

            Thanks for the Reply, I Cannot be Sure about the Timing. The Manual does not go into Details about the timing.

            I have Tried 0.5, up to 5.

            How would I go about Finding the Correct Timing?

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

              I'm not really sure about that. Closed loop servos are well outside of my wheel house.

              Z-Bot CoreXY Build | Thingiverse Profile

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

                @Toastinator said in Closed Loop Motor Setup:

                Can Closed Loop Steppers Only be Used on Cartesian/Delta Machines?

                During Homing Sequence, Machine Moves X130 Y150 Same Time, When X Gets to Location, Z Starts Lifting and Is not Waiting for Y to Finish Getting to Location.

                The drivers I have used have nothing like you PEND output indicating a move is in progress.

                When the RRF firmware T values are set correctly the connected steppers behave like those which are driven directly by a Duet board driver.

                Perhaps your driver needs changes made to the RRF firmware to handle the PEND output.

                Just guessing about that though.

                Good luck.

                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 0
                • alankilianundefined
                  alankilian @Toastinator
                  last edited by

                  @Toastinator said in Closed Loop Motor Setup:

                  During Homing Sequence, Machine Moves X130 Y150 Same Time, When X Gets to Location, Z Starts Lifting and Is not Waiting for Y to Finish Getting to Location.

                  Could you post your homing files?

                  The Duet shouldn't even be able to tell if the motors are open or closed-loop, so I think it's something else.

                  Toastinatorundefined 1 Reply Last reply Reply Quote 1
                  • Toastinatorundefined
                    Toastinator @alankilian
                    last edited by

                    @alankilian
                    Here is My Home All File. This Issue Only Happens When X and Y Movements are Done Together. Usually It Finishes X Movement, Still Moving Y and Begins Z Lift. During Prints there is a Continuous Layer Shift Indicating to me that Moves are not Finishing before starting the Next.

                    I have Started Playing with the Timing, and that does not seem to change anything other then if the Motors actually Move or not.

                    Im not sure how you would add somthing in the Config.g File to Wait for Move to complete before going to next move. monitored by Pend Connections on Each Motor.

                    G91                    								; relative positioning
                    G1 H2 Z5 F6000        								; lift Z relative to current position
                    G1 H1 X-370 Y-370 F1800 							; move quickly to X or Y endstop and stop there (first pass)
                    G1 H1 X-370            								; home X axis
                    G1 H1 Y-370             							; home Y axis
                    G1 X10 Y10 F6000        							; go back a few mm
                    G1 H1 X-370 F360        							; move slowly to X axis endstop once more (second pass)
                    G1 H1 Y-370             							; then move slowly to Y axis endstop
                    G90                     							; absolute positioning
                    G1 X121 Y207 F6000        							; go to bed probe point and home Z
                    G30                     							; home Z by probing the bed
                    
                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @Toastinator
                      last edited by dc42

                      @Toastinator said in Closed Loop Motor Setup:

                      During Prints there is a Continuous Layer Shift Indicating to me that Moves are not Finishing before starting the Next.

                      That usually means that one of the last two T values is too low for your driver. Low cost step servo drivers are often very slow to respond to direction changes. The manual you linked to did not specify the required timings, other than 200kHz maximum step pulse frequency.

                      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

                      Toastinatorundefined 1 Reply Last reply Reply Quote 0
                      • Toastinatorundefined
                        Toastinator @dc42
                        last edited by Toastinator

                        @dc42 Thanks! I have Tried Numbers Varying up 500.

                        T5:5:50:250 And So On, How High is TOO High? 1000? 10000?

                        I Will keep Playing with Timing Keep Checking back

                        Edit: The Stupid Manual is not much of a manual. I saw the Step Pulse Frequency, But not Direction Setup time and Hold Times

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

                          @Toastinator said in Closed Loop Motor Setup:

                          @dc42 Thanks! I have Tried Numbers Varying up 500.

                          T5:5:50:250 And So On, How High is TOO High? 1000? 10000?

                          I Will keep Playing with Timing Keep Checking back

                          T2.5:2.5:50:50 should probably be high enough.

                          PS which Duet do you have, and how have you connected the drivers to it?

                          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

                          Toastinatorundefined 1 Reply Last reply Reply Quote 0
                          • Toastinatorundefined
                            Toastinator @dc42
                            last edited by

                            @dc42

                            Just Tried T2.5:2.5:50:50 Timing and It still Does the Same thing. Im wondering if this is a CoreXY Related Issue.

                            Im using a Duet 3 6HC, Duet 3 Expansion 3HC and 2 - Duet 3 Expansion 1XD Boards
                            The Motors are Connected by a "Differential Connection"

                            After Homing X and Y, X and Y Move Toward Center, When Y Finishes. X Continues Toward Center But now Z Starts Lifting Before getting to Center.

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

                              Can you use M122 B# to check that your mainboard and all expansion boards are updated as well?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              Toastinatorundefined 1 Reply Last reply Reply Quote 0
                              • alankilianundefined
                                alankilian
                                last edited by alankilian

                                I wonder what this means from the manual;

                                13 Pulse command filtering time
                                Unit: 50us
                                Range: 0~600
                                Default: 60
                                
                                The larger the value, the smoother the motor runs and the noise,
                                but the position tracking lag time also increases.
                                

                                50 microseconds times 60 is 3 milliseconds which is a LONG time.

                                The mention of "the position tracking lag time also increases" makes me think this thing might be accumulating a bunch of input pulses before starting to move the motor depending on whatever it's gains are set to.

                                But that would make these motors completely unsuitable for CNC or 3D printer applications, so I just don't know.

                                1 Reply Last reply Reply Quote 1
                                • Toastinatorundefined
                                  Toastinator @Phaedrux
                                  last edited by

                                  @Phaedrux

                                  Yes, They all Report Back. I Had to Down Grade Firmware too 3.3Beta1 Because Using 3.3Beta2 Was Causing the Temperature of my Thermocouples to not read anymore.

                                  @alankilian

                                  Good Catch, If these Motors end up being Unusable. Would you or anyone else have a Suitable Option for Replacement? I Thought the Default 60 Meant 60us, Not 50us x 60.

                                  1 Reply Last reply Reply Quote 0
                                  • alankilianundefined
                                    alankilian
                                    last edited by

                                    How about trying some square motion starting very slowly and getting faster and faster and make sure only one axis moves at a time?

                                    I don't know the size of your machine or where the origin is, but something like this: (Made-up GCODE, you'll need to make real code)

                                    G0 X0 Y0 Z10
                                    G1 X300 F50
                                    G1 Y300
                                    G1 X0
                                    G1 Y0
                                    G1 X300 F100
                                    G1 Y300
                                    G1 X0
                                    G1 Y0
                                    G1 X300 F150
                                    G1 Y300
                                    G1 X0
                                    G1 Y0
                                    G1 X300 F200
                                    G1 Y300
                                    G1 X0
                                    G1 Y0
                                    G1 X300 F250
                                    G1 Y300
                                    G1 X0
                                    G1 Y0
                                    
                                    Toastinatorundefined 1 Reply Last reply Reply Quote 1
                                    • Toastinatorundefined
                                      Toastinator @alankilian
                                      last edited by

                                      @alankilian

                                      Ill give it a shot. Im also Checking into a way of Modifying that setting from 60 to somthing Much Lower. Should that be Lowered to 1? to = 50us

                                      I don't see that as an option. A 3d Printer that can only Print square Objects! lol

                                      1 Reply Last reply Reply Quote 0
                                      • alankilianundefined
                                        alankilian
                                        last edited by alankilian

                                        I'm interested in seeing if when you move very slowly that only one axis moves at time and (maybe) when yo move faster, it's not waiting for the move to complete and starting the next move due to "the position tracking lag..." mentioned above.

                                        That would indicate it's more likely the drives and not a Duet firmware thing.

                                        Toastinatorundefined 1 Reply Last reply Reply Quote 1
                                        • Toastinatorundefined
                                          Toastinator @alankilian
                                          last edited by Toastinator

                                          @alankilian Thanks for your help, I really appreciate it!

                                          Alright, Heres what happened.
                                          I Had to change the Speed because the original was moving at 0.5mm Per second. I did Pick Ridiculous Speed Numbers To see what would happen, and the Speed Remained CONSTANT the entire time suggesting the Speed is Controlled by the External Driver?

                                          G90
                                          G0 X0 Y0 Z10
                                          G1 X300 F3000
                                          G1 Y300
                                          G1 X0
                                          G1 Y0
                                          G1 X300 F5000
                                          G1 Y300
                                          G1 X0
                                          G1 Y0
                                          G1 X300 F10000             <- Here is where it said the Print was Finished.
                                          G1 Y300
                                          G1 X0
                                          G1 Y0
                                          G1 X300 F15000
                                          G1 Y300
                                          G1 X0
                                          G1 Y0
                                          G1 X300 F20000
                                          G1 Y300
                                          G1 X0
                                          G1 Y0
                                          
                                          

                                          Edit: The External Driver Doesn't Fully Control the Speed, But Perhaps the Maximum Speed? When Requesting a Low Speed Like 50, it Moved at 0.5mm Per second. But at 3000, It was moving more like 50mm Per Second.

                                          1 Reply Last reply Reply Quote 0
                                          • alankilianundefined
                                            alankilian
                                            last edited by

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