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

    External stepper drivers shift X axis, Y OK

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    13
    477
    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.
    • PetrKroupaundefined
      PetrKroupa
      last edited by

      Hello,
      I try use Duet 6HC + 2x 1XD for external driver (em705 leadshine). Both axes are equally configured and connected. However, the X axis gradually shifts in the positive direction. The Y axis doesn't do that. Interestingly, when I reconnected the output cables (from 1XD) to the drivers, X is no problem and Y started to shift . So it means a timing problem but only for the X axis.

      Some idea where start?

      Pictures, config files and M122 repors under pictures.

      many thanks for help.

      DSC_0304.JPG DSC_0303.JPG DSC_0302.JPG DSC_0301.JPG

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"velkej" ; set printer name
      G4 S1

      ; Drives
      M584 X40.0 Y41.0 Z0.0:0.2 E0.4 ; set drive mapping
      M569 P40.0 S0 R1 T2.7:2.7:6:6 ; change enable polarity, active = disable drive
      M569 P41.0 S0 R1 T2.7:2.7:6:6 ; change enable polarity, active = disable drive
      M569 P0.0 S0
      M569 P0.2 S0 ; physical drive 0.2 goes forwards
      M569 P0.4 S1 ; physical drive 0.3 goes forwards

      M671 X0:400 Y200:200 S10

      M350 Z8 E16 I1 ; configure microstepping with interpolation
      M92 X142.22 Y142.22 Z400.00 E420.00 ; set steps per mm
      M566 X500.00 Y500.00 Z25.00 E150.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X18000.00 Y18000.00 Z1400.00 E7500.00 ; set maximum speeds (mm/min)
      M201 X1250.00 Y1250.00 Z250.00 E5000.00 ; set accelerations (mm/s^2)
      M906 Z1750 E450 I40 ; set motor currents (mA) and motor idle factor in per cent
      ;M569 P40 T2.7:2.7:2.7:2.7
      ;M569 P41 T2.7:2.7:2.7:2.7
      M84 S10 ; Set idle timeout

      ; Axis Limits
      M208 X0 Y0 Z0 S1 ; set axis minima
      M208 X400 Y400 Z420 S0 ; set axis maxima

      ; Endstops
      M574 X1 S1 P"40.io1.in" ; configure active-high endstop for low end on X via pin io0.in
      M574 Y2 S1 P"41.io1.in" ; configure active-high endstop for low end on Y via pin io1.in
      M574 Z1 S2

      m122 b41
      Diagnostics for board 41:
      Duet EXP1XD firmware version 3.2.2 (2021-02-11)
      Bootloader ID: SAMC21 bootloader version 2.0 (2020-10-15b1)
      Never used RAM 5912, free system stack 44 words
      HEAT 90 CanAsync 89 CanRecv 83 MAIN 397 AIN 64
      Last reset 02:14:38 ago, cause: power up
      Last software reset data not available
      Driver 0: position 415993, 142.2 steps/mm
      Moves scheduled 3894, completed 3894, in progress 0, hiccups 0
      No step interrupt scheduled
      VIN: 25.6V
      MCU temperature: min 24.9C, current 32.3C, max 32.5C
      Ticks since heat task active 97, ADC conversions started 4039420, completed 4039420, timed out 0
      Last sensors broadcast 0x00000000 found 0 100 ticks ago, loop time 0
      CAN messages queued 76, send timeouts 0, received 76692, lost 0, free buffers 36
      23. 4. 2021 20:02:00 m122 b40
      Diagnostics for board 40:
      Duet EXP1XD firmware version 3.2.2 (2021-02-11)
      Bootloader ID: SAMC21 bootloader version 2.0 (2020-10-15b1)
      Never used RAM 5912, free system stack 44 words
      HEAT 90 CanAsync 85 CanRecv 83 MAIN 397 AIN 64
      Last reset 02:14:35 ago, cause: power up
      Last software reset data not available
      Driver 0: position -519814, 142.2 steps/mm
      Moves scheduled 4312, completed 4312, in progress 0, hiccups 0
      No step interrupt scheduled
      VIN: 25.3V
      MCU temperature: min 24.1C, current 32.2C, max 32.3C
      Ticks since heat task active 2, ADC conversions started 4037997, completed 4037997, timed out 0
      Last sensors broadcast 0x00000000 found 0 5 ticks ago, loop time 0
      CAN messages queued 88, send timeouts 0, received 77103, lost 0, free buffers 36

      BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
      SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

      Petr

      Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @PetrKroupa
        last edited by

        @petrkroupa said in External stepper drivers shift X axis, Y OK:

        M569 P40.0 S0 R1 T2.7:2.7:6:6 ; change enable polarity, active = disable drive
        M569 P41.0 S0 R1 T2.7:2.7:6:6 ; change enable polarity, active = disable drive

        How did you determine the timing?

        Z-Bot CoreXY Build | Thingiverse Profile

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

          @petrkroupa, a gradual shift (typically 1 microstep per direction reversal) usually indicates that the 3rd or 4th (more often the 3rd) value in the T parameter of the M569 command is too low.

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

            @phaedrux The DOCUMENT only says 200,000 step rate.

            So, I would say, maybe half that for high and half for low on the step signal would put you at 5 for the step pulse (I think. I'm not sure if it's pulse high duration or interval between rising edges.)

            SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

            1 Reply Last reply Reply Quote 1
            • PetrKroupaundefined
              PetrKroupa
              last edited by

              Just to repeat two identical drivers, both set the same. The problem is only on X. After switching the connectors on 1XD boards (DRV-OUT), X was ok and Y was not. The part, of course, turned 90 degrees.

              @DC42 - Yes, it's definitely a gradual shift of two or three steps each layer. When I tried this with MARLIN firmware it was awful and unsolvable. That's why I switched to Duet.

              @Phaedrux - timing seting :ae5a6ee3-ebc8-4982-991e-22e691660d3b-image.png

              min 2.5 us for pulse and 2.5us for sleep. 5us for direction change.

              I also solved that the signal for PULZ should be at 0 and at rest 1. This is possible by simply connecting the outputs from the 1XD card. Connect both outputs for step + and - however, swap them.

              I'll try to increase the timing a lot 10: 10: 10: 10 and see what prints.

              however, I still don't understand why only one driver does it.

              BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
              SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

              Petr

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

                @petrkroupa are both drivers running the same firmware 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

                PetrKroupaundefined 1 Reply Last reply Reply Quote 0
                • PetrKroupaundefined
                  PetrKroupa @dc42
                  last edited by

                  @dc42 - I tried to find out something about the firmware of these drivers but it seems that the update is not possible. However, the error moves to the second driver after the cables are reconnected. So I don't assume it's EM705. Both 1XDs have the same FW. The print is currently completed with a timing of 10: 10: 10: 10 and the error is the same. I'll try 10: 10: 20: 20 again, but I doubt it.

                  I will try to change the addresses to 1XD and swap them. Isn't there a mistake here. Any other ideas?

                  BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
                  SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

                  Petr

                  dc42undefined 1 Reply Last reply Reply Quote 0
                  • PetrKroupaundefined
                    PetrKroupa
                    last edited by

                    10:10:30:30 it looks a little better. I'll try 10: 10: 50: 50 but that's really extreme....

                    BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
                    SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

                    Petr

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

                      @petrkroupa said in External stepper drivers shift X axis, Y OK:

                      @dc42 - I tried to find out something about the firmware of these drivers but it seems that the update is not possible. However, the error moves to the second driver after the cables are reconnected. So I don't assume it's EM705. Both 1XDs have the same FW.

                      What firmware versions are they running? I suggest you use 3.3beta3.

                      I guess it's possible that one of the boards has a weaker output than the other, so that it needs longer timings to be recognised.

                      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

                      PetrKroupaundefined 1 Reply Last reply Reply Quote 0
                      • PetrKroupaundefined
                        PetrKroupa @dc42
                        last edited by

                        @dc42 10: 10: 50: 50 looks almost good. I tried another print and gyroid infill. I had to extremely reduce the M566. X100 Y100 otherwise the steps were lost very much. I'm starting to realize that the EM705 doesn't like fast changes of direction ....

                        I'll try to upgrade to version 3.3 and do a few more tests, but I'm afraid that I connect the X and Y motor directly to 6HC, increase the supply voltage and I won't waste any more time on us all.

                        BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
                        SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

                        Petr

                        1 Reply Last reply Reply Quote 0
                        • PetrKroupaundefined
                          PetrKroupa
                          last edited by

                          Summary:

                          After approx 1Kg PLA and one dead (fried) stepper motor....

                          EM705 doesn't like quick changes of direction. Timing can be 3:3:50:50 and the prints look almost good. Unfortunately, M566 X75 Y75 must be set at the same time. I also tried 15: 15: 50: 50 (and more) but the first two numbers have no effect unless they are less than 2. But print is then terribly slow. As soon as I start to increase M566 , there is a shift and then a loss of more steps. Especially with giroid infill.

                          I checked the timing on the oscilloscope and also found no problem.

                          I've been figuring out why the shift is only in one X axis. After a thorough measurement, I found a shift in the Y axis, but significantly smaller. I tried different ways to switch between each other (1XD, drivers, motors, wiring....), and in the end I thought of turn the model over and generating GCODE again. The offset has shifted to the Y axis. It only depends on how many aggressive changes of direction are in a given axis. On the calibration cube, the shift was the same in both directions.

                          Currently, X and Y are connected to the internal Duet3 6HC drivers. The supply voltage is 30V and everything works perfectly. M566 X800.00 Y800.00 Z25.00 E150.00, M203 X18000.00 Y18000.00 Z1400.00 E7500.00, M201 X1250.00 Y1250.00 Z250.00 E5000.00

                          I think we can close this topic. Personally, I do not recommend using the EM705 on a 3D printer. But of course anyone can try it. 🙂

                          BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
                          SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

                          Petr

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

                            @petrkroupa Can you use a multimeter and check the current being drawn by the stepper controller on both the PUL and DIR signals?

                            The manual says the controller needs a minimum of 7 milliAmps, typical 10 ma max 16ma and maybe the Duet isn't driving the built-in optocouplers strongly enough.

                            Just a longshot.

                            SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

                            PetrKroupaundefined 1 Reply Last reply Reply Quote 0
                            • PetrKroupaundefined
                              PetrKroupa @alankilian
                              last edited by

                              @alankilian -11mA. 4,6V.

                              It also occurred to me. I tried to add a resistor (just to try) to reduce the current. Nothing has changed until the input voltage is lower than 2.7V. Then the driver stops working completely.

                              BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
                              SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

                              Petr

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