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

    Compatibility 1HCL motor encoder closed loop

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    2
    22
    986
    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.
    • 3Dreamundefined
      3Dream @dc42
      last edited by

      @dc42
      Good morning,
      i'm having trouble using my engines on 1HCL boards.
      I have used this configuration of motors / screws / guides / structure weight on other machines with external drive and 1XD cards without problems.
      The printer is very large.
      After tuning example ( M569.6 P50.0 V1 )
      On the 4 Z-axis motors (5mm pitch ball screws)
      I get example:
      Driver 50.0 basic tuning succeeded, measured backlash 0.067 step
      But on X Y axes where I use 15mm pitch ball screws
      I get example:
      Error: Driver 54.0 basic tuning failed, measured backlash (0.237 step) is too high
      Warning: Driver 54.0 warning: tuning/calibration failed
      I can only reduce the backlash error by disconnecting the screws from the motors.
      Can I solve it in some other way?
      I installed version 3.5 and tried to use closed loop auto tune without success.
      Is there an instruction manual explaining how to use it and where is the data saved?
      I can't figure out how to use it
      Thank you
      David

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

        @3Dream what motor current have you configured, and what is the rated current of the motor? Increasing motor current will reduce backlash.

        Firmware 3.5 for the EXP1HCL is better than 3.4.x, and the current 3.5beta2 release of EXP1HCL firmware is compatible with 3.4.x firmware on the main board. However, some of the M569.1 configuration parameters have changed in 3.5. See the GCodes wiki page for details.

        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

        3Dreamundefined 1 Reply Last reply Reply Quote 0
        • 3Dreamundefined
          3Dream @dc42
          last edited by

          @dc42
          i'm using 5000 which is the maximum i think right?
          M906 X5000 Y5000:5000
          fb6080af-b80b-488c-89e8-72b9a8053267-image.png

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

            @3Dream motor rated current is usually specified for both phases energised, and microstepping drivers only energise one phase fully at a time. So it's safe to increase motor current somewhat when the motor is not at standstill. You could try increasing it to 6000 just before tuning, and reduce back to 5000 immediately afterwards. You could use M913 to do this, as it appears to allow greater than 100% of normal current.

            The maximum accepted backlash in firmware 3.5 is 0.22 full steps so you are not far off.

            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

            3Dreamundefined 2 Replies Last reply Reply Quote 0
            • 3Dreamundefined
              3Dream @dc42
              last edited by

              @dc42
              I tried to bring the value to 6000 but the result doesn't change, maybe it gets worse.

              Z motors:

              Driver 50.0 basic tuning succeeded, measured backlash 0.068 step
              Driver 51.0 basic tuning succeeded, measured backlash 0.082 step
              Driver 52.0 basic tuning succeeded, measured backlash 0.072 step
              Driver 53.0 basic tuning succeeded, measured backlash 0.078 step

              Y motors:

              Error: Driver 54.0 basic tuning failed, measured backlash (0.241 step) is too high
              Warning: Driver 54.0 warning: tuning/calibration failed
              Warning: Driver 55.0 basic tuning succeeded but measured backlash (0.218 step) is high

              X motors:

              Warning: Driver 56.0 basic tuning succeeded but measured backlash (0.170 step) is high

              I am attaching my config referring to the motors.
              Tell me if you see any errors please.

              ;Impostazione motori
              M569 P50.0 D4 S0; Senso rotazione motori Z0 Post SX
              M569.1 P50.0 T2 C1000 S200 R100 I0 D0 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 5 steps per motor full step.
              M569 P51.0 D4 S0; Senso rotazione motori Z1 Ant SX
              M569.1 P51.0 T2 C1000 S200 R100 I0 D0 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 5 steps per motor full step.
              M569 P52.0 D4 S0; Senso rotazione motori Z2 Ant DX
              M569.1 P52.0 T2 C1000 S200 R100 I0 D0 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 5 steps per motor full step.
              M569 P53.0 D4 S0; Senso rotazione motori Z3 Post DX
              M569.1 P53.0 T2 C1000 S200 R100 I0 D0 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 5 steps per motor full step.
              M569 P54.0 D4 S1 ; Senso rotazione motori Y1 SX
              M569.1 P54.0 T2 C1000 S200 R100 I0 D0 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 5 steps per motor full step.
              M569 P55.0 D4 S1 ; Senso rotazione motori Y2 DX
              M569.1 P55.0 T2 C1000 S200 R100 I0 D0 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 5 steps per motor full step.
              M569 P56.0 D4 S1 ; Senso rotazione motori X
              M569.1 P56.0 T2 C1000 S200 R100 I0 D0 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 5 steps per motor full step.
              M569 P0.0 S0
              M584 X56.0 Y54.0:55.0 Z50.0:51.0:52.0:53.0 E0.0 P3; Assegnazione motori
              M917 X100 Y100 Z100 ; Set the closed loop axes to have a holding current of zero
              M350 X128 Y128 I0 ; set steps/mm to 64 to make full use of the encoder resolution
              M350 Z32 I0 ; set steps/mm to 32 to make full use of the encoder resolution
              M350 E16 I0 ; set steps/mm to 16 to make full use of the encoder resolution
              M92 X1600 Y1600 Z1280 E274; Step giro motori
              M566 X500 Y500 Z400 E300; Jerk motori
              M203 X10000 Y10000 Z1500 E3000; Velocita motori
              M201 X1000 Y1000 Z150 E2000; Accelerazione motori
              M906 X5000 Y5000 Z4500 E2300 I50; corrente motori
              M84 S30
              M572 D0 S0.05
              ;Corse macchina
              M208 X0 Y0 Z0 S1; Posizione corsa minima
              M208 X1490 Y1450 Z998.2 S0; Posizione corsa massima era 1031.5
              ;Finecorsa
              M574 X1 S1 P"56.io0.in"
              M574 Y1 S1 P"54.io0.in+55.io0.in" ; doppio finecorsa microswitch su assi Y SU 1XD 46.io0.in
              M574 Z2 S1 P"50.io0.in+51.io0.in+52.io0.in+53.io0.in" ; quadruplo finecorsa proximity su assi Z SU 1XD era !53.io0.in
              ;Posizione proximity e bed levelling
              M558 P5 C"^!io0.in" H8 R1 F120 T10000
              G31 P600 X0 Y55 Z1.1; era Z
              M557 X5:1490 Y60:1490 S495:476

              1 Reply Last reply Reply Quote 0
              • 3Dreamundefined
                3Dream @dc42
                last edited by

                @dc42
                Hello DC42,
                would it be possible to connect an accelerometer like Adafruit LIS3DH to a 1HCL?
                On the encoder connector I connected only 4 wires GND, 5V, A input and B input.
                Only SPI_SCK would be missing. Can I use CS or CCK?
                Thank you

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

                  @3Dream in principle it would be possible to use an encoder connected to the ribbon cable connector, using the CS pin normally used for a magnetic encoder as the CS pin for the accelerometer, and using the N input on the other connector for the INT pin. However, the expansion board firmware does not yet support SPI-connected accelerometers. I could try enabling that in the next 3.5breta release.

                  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

                  3Dreamundefined 1 Reply Last reply Reply Quote 0
                  • 3Dreamundefined
                    3Dream @dc42
                    last edited by

                    @dc42
                    ok thanks, when is the next 3.5 release expected?
                    Currently if I carried a cable from the head/accelerometer to the motherboard I would have a cable about 7 meters long; Do you think it's ok or are there too many problems?
                    Thanks again and sorry for the many questions

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

                      @3Dream I think a 7m cable would be too long. Another possibility would be to use a SAMMYC21 board to connect the accelerometer. For non-commercial use a RP2040 + CAN-FD transceiver chip could also be used to host an accelerometer.

                      Are you using the EXP1HCL board to drive the extruder motor?

                      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

                      3Dreamundefined 1 Reply Last reply Reply Quote 0
                      • 3Dreamundefined
                        3Dream @dc42
                        last edited by

                        @dc42 Good evening
                        Indeed the 7 meter cable does not work, it recognizes Adafruit LIS3DH but creates problems.
                        So using one of these two systems as an interface could I connect to the EXP1HCL CAN with the Adafruit LIS3DH accelerometer?
                        Could you give me a link to understand which one to choose and how to connect it?
                        I'm not using the EXP1HCL board to drive the extruder motor but I drive it directly with the motherboard driver.
                        However the last EXP1HCL board of the can line is connected to the X axis and is located near the extruder. Approximately 1.5 meter cable.

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

                          @3Dream are you using the io0 and/or io1 connector on that 1HCL board?

                          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

                          3Dreamundefined 1 Reply Last reply Reply Quote 0
                          • 3Dreamundefined
                            3Dream @dc42
                            last edited by

                            @dc42 i am using only GND and io_0_In for the X limit switch.

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

                              @3Dream thanks. I've done a temporary build of the EXP1HCL firmware that supports an SPI-connected accelerometer when a magnetic encoder is not connected, with the INT pin of the accelerometer connected to io1.in. I haven't had time to test it yet.

                              The alternative would be to connect the accelerometer I2C pins IO1 and fit the bypass jumper, but then you would need to solder the INT wire to the PA20 pad on the underside of the PCB. That may be a better option going forwards, if we add the PA20 pin to the IO connector in the next board revision, because it would also be compatible with using a magnetic encoder.

                              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
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA