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

    Clearpath Servos with 1XD Expansion

    Scheduled Pinned Locked Moved Unsolved
    Duet Hardware and wiring
    clearpath expansion 1xd duet 3 servo
    15
    88
    7.1k
    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.
    • dc42undefined
      dc42 administrators @jballard86
      last edited by

      @jballard86 said in Clearpath Servos with 1XD Expansion:

      @dc42 Curious, do you think the same issue occurs on the tool board? but is less noticeable due to it driving an extruder?

      I suspect that is the case.

      Also Im trying to think of an easy way to remove all commands from the Gcode except for X/Y movement, as id like to do that same debug test with only the X and Y axis operating. Because earlier testing led me to believe that the issue was occurring during elevated processor usage on the Duet 3.

      In my earlier screenshot of the Clearpath "oscilloscope" it looked as if the Servos and the 1XD boards had a slight pause in receiving commands while the Duet was doing something, this pause was between 150 and 250ms. I would notice it during Wipes, Z axis changes, and Part Cooling fan changes.

      I would expect there to be a break in X and Y steps during Z movement, and also during extruder retract/reprime moves.

      I have no idea if this is on the right track or helps you at all though.

      It would certainly help to have a simpler test file that reproduces the problem immediately. I tried a file that does a large number of short X movements, with occasional reverse movements and Y movements. It didn't show the problem, even when X was mapped to a local driver as well as the one on the 1XD.

      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

      jballard86undefined 1 Reply Last reply Reply Quote 0
      • jballard86undefined
        jballard86 @dc42
        last edited by

        @dc42 increase the speed and micro stepping. It happened significantly faster with higher speeds and step rates.

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

          @jballard86 said in Clearpath Servos with 1XD Expansion:

          @dc42 increase the speed and micro stepping. It happened significantly faster with higher speeds and step rates.

          Thanks, I'll try that.

          I may or may not have reduced the occurrence of the issue with changes I have already made, but right now my debug is suggesting there is a problem even when not using drivers attached to expansion boards.

          EDIT: looks like there are two separate problems:

          1. The problem you reported. I may have fixed that; or it may be a totally separate problem to do with the step pulses sent to your servos drivers not meeting the minimum timing, or the drive current from the 1XD board not being high enough.

          2. The problem I am chasing, which occurs when I pause a print that has a lot of small segments, even if all motors are attached to the main board. I can reproduce this using a file I constructed to try to reproduce your issue. If I let that file run to completion, the shift does not occur.

          At this stage I don't know whether I have ever reproduced issue #1, because I have only ever found an issue by pausing the print and then looking for a discrepancy in the number of net steps. I will resolve issue #2 and then make new files available for you to test.

          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

          jballard86undefined 1 Reply Last reply Reply Quote 0
          • jballard86undefined
            jballard86 @dc42
            last edited by

            @dc42

            #2 is interesting.

            Would it help if I hook up some external 2209 or 5160 drivers to the 1xd boards and swap in some steppers to see if the results change?

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

              @jballard86 said in Clearpath Servos with 1XD Expansion:

              @dc42

              #2 is interesting.

              Would it help if I hook up some external 2209 or 5160 drivers to the 1xd boards and swap in some steppers to see if the results change?

              Possibly, however I hope to fix the pause issue soon, then I can give you new firmware to try.

              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

              jballard86undefined 1 Reply Last reply Reply Quote 0
              • jballard86undefined
                jballard86 @dc42
                last edited by

                @dc42 copy that

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

                  I've fixed the pause issue. It turned out that it was only an issue when pausing a move involving drivers on CAN-connected expansion boards.

                  I've put new main board and EXP1XD firmware at https://www.dropbox.com/sh/9mgsgbbklx09u99/AAAbXwF80zNEtnlIl1jBwV5ca?dl=0. With these binaries, the number of steps reported sent to the drivers is exactly the correct number, after running your complete example print file.

                  Please can you install these binaries, then:

                  • Home the printer
                  • Send G1 X0 Y0
                  • Run M122, M122 B40 and M122 B41 and save the results
                  • Temporarily remove all homing (G28) commands from the print file, start.g, stop.g and cancel.g
                  • Run part your test print
                  • If it appears to be shifting, pause it, then send G1 X0 Y0, then (after movement has stopped) run M122, M122 B40 and M122 B41 again

                  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
                  • jballard86undefined
                    jballard86
                    last edited by

                    @dc42
                    Absolutely:
                    I removed Homing from the gcode file, but I dont have a start,stop, or cancel.g

                    here is the console text, there was one instance where I didnt do a G1 X0 Y0, but you will probably see that. It looks to me that the 1XD boards are receiving and sending commands correctly. please verify my observation. console.txt

                    Here are the current ratings of the clearpaths:
                    5 VDC - Min 8 mA
                    12 VDC - Min 9 mA
                    24 VDC- Min 12 m

                    All of the pins are rated at 10ma/Pin, what is the max of the 5v common?

                    If that sink current is limited by a resistor its very possible that we could be under 8ma@5v if using a 5% @ tolerance resistor @ 10ma Max per pin.

                    @Teknic_Servo any info you can add to this?

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

                      Thanks for the info. It looks to me that board 40 and 41 report drive positions 1000 and -123388 respectively both at the start and at the end, which is what I expect if the commanded start and end positions are the same and there have been no homing moves in between that could reset the origin.

                      If the Clearpath drivers draw 8mA at 5V, that's similar to a resistive load of 620 ohms. I'll verify the 1XD output voltage with 620R load resistors. In theory the step and direction outputs should provide minimum 4V typical 4.5V with a 20mA load.

                      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
                      • dc42undefined
                        dc42 administrators
                        last edited by dc42

                        I've checked the outputs from the 1XD board with 620 ohm load resistors, using your configuration (M569 P40.0 S0 R0 T2.7:2.7:2.7:2.7):

                        • The signal amplitude is 4.8V
                        • The step pulse width ls never less than 4.1us
                        • The smallest interval between step pulses I saw was more than 100us
                        • The end-of-step-to-direction-change hold time looks consistent at 8us, however direction changes are not very frequent so it's hard to be certain that there are no shorter ones
                        • The direction-to-step setup time appears to be very long indeed

                        Here's an example of a step with a direction change afterwards. The 'scope is looking at the STEP- (yellow) and DIR- (blue) output pins of the 1XD, with the 620 ohm load resistors connected between those outputs and the common +5V output.

                        2020-08-09 10.58.22.jpg

                        PS:

                        1. The voltage across the 620 ohm resistor connected between Enable- and +5V is a little lower, 4.78V. This is expected, because that pin is not driven by a high current drive pin of the microcontroller. But it should still be enough, because few device providing 5V output signals would provide more than that.

                        2. Please confirm that you have connected the ClearPath A+/B+/Enable+ inputs to the common +5V pin on the 1XD board, and the ClearPath A-/B-/Enable- inputs to the individual output pins.

                        e1dd4406-d074-49e0-b00b-c510ffb89349-image.png

                        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

                        jballard86undefined alankilianundefined 2 Replies Last reply Reply Quote 0
                        • jballard86undefined
                          jballard86 @dc42
                          last edited by jballard86

                          @dc42 correct I have all positive pins connected to the 5v on the header with the dir, step, en pins. And those pins are directly attached to the servos.

                          The clear path manual does mention 5v minimum for the inputs and also states that less than that may work initially but will eventually not. I'm thinking the less than 5 volts is the issue here.

                          I mentioned the currents because the 1xd page mentions that they can only sink 10ma, and I assume that is through a 500ish ohm resistor. If that resistor is a 5% tolerance that would put the max current bellow 8ma.

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

                            I really don't think the voltage is the issue. There is no 5V level driver that really does supply the full 5V. A voltage drop of 0.2 to 0.4V is normal.

                            OTOH I understand the bit in the manual about not using differential drivers, because 5V differential drivers typically put out between 3V and 4V.

                            The STEP and DIR outputs of the 1XD can sink 20mA, and do not have a series resistor.

                            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
                            • dc42undefined
                              dc42 administrators
                              last edited by

                              PS - you may wish to check the voltage across the Enable and DIR inputs of your servo drive, to check that there is nothing wrong with the 5V regulators on the 1XD boards.

                              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

                              jballard86undefined 1 Reply Last reply Reply Quote 0
                              • jballard86undefined
                                jballard86 @dc42
                                last edited by

                                @dc42 ill check them when I get off work today, and I'll probably shoot teknic an email since they state 5-24v for signals and get their input.

                                I assume the 5v regulator also provides power to other ICs on the board?

                                Would it be possible to bodge a simple board that sends 12-24v to the servos and use a resistor divider back to the 1xd?

                                Is the 1xd schematic available yet, or will it be?

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

                                  Here's the 1XD prototype schematic. We plan a few minor changes for the production version.

                                  Duet3_EXB_1XD_Schematic_v0.4.pdf

                                  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

                                  jballard86undefined 2 Replies Last reply Reply Quote 0
                                  • jballard86undefined
                                    jballard86 @dc42
                                    last edited by

                                    @dc42

                                    4.99v on 40
                                    4.97v on 41 Likely due to the R18 and R20 tolerances.

                                    Did the same test with the servo encoders with the following results:

                                    RAS 6.2	RAS 6.2		
                                    3600 pulse/rev	3600 pulse/rev		
                                    			
                                    Servo Encoder at X0 Y0		Driver board position at X0 Y0	
                                    A	B	                B41	B40
                                    -12564	23112	               -49695	13499
                                    -12289	23124	               -49695	13499
                                    -12031	22945	               -49695	13499
                                    			
                                    no change with or without RAS			
                                    

                                    Unless you have any other ideas I feel like the Clearpaths are not compatible with the 1XD board for some reason, Ill contact Teknic to see what their thoughts are.

                                    1 Reply Last reply Reply Quote 1
                                    • jballard86undefined
                                      jballard86 @dc42
                                      last edited by

                                      @dc42

                                      After more research I have found multiple instances where Clearpath Servos are very picky about the signal voltage. Ive designed a small level shifter board and sent it off for a prototype run, I hope to have it in about a week or so. I will be shifting the signals to 12v.

                                      Once the boards and components arrive Ill test the boards, then test them with the servos and ill update.

                                      Bondtechundefined 1 Reply Last reply Reply Quote 1
                                      • Bondtechundefined
                                        Bondtech @jballard86
                                        last edited by

                                        @jballard86 Did you manage to find a solution? If you did what did you change?

                                        1 Reply Last reply Reply Quote 1
                                        • DOPundefined
                                          DOP
                                          last edited by

                                          @dc42 @jballard86 Either of you ever figure this out yet? i just setup with 2 clearpath servos i see 0 hiccups but the layer shifts are real! i'm on version RRF 3.2 via duet3 + Pi4 SBC.

                                          DOPundefined jballard86undefined 2 Replies Last reply Reply Quote 1
                                          • DOPundefined
                                            DOP @DOP
                                            last edited by

                                            For others who find this thread: I just installed beta 3.3 and it's working correctly now, looks like root cause was in can communications.

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