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

    z motor not driving when connected to leadscrew

    Scheduled Pinned Locked Moved
    My Duet controlled machine
    6
    45
    1.8k
    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.
    • Ian Millerundefined
      Ian Miller
      last edited by

      I checked using a multimeter that the pins on the motor were ABAB and wired to the board as AABB. But I'm getting no response whatsoever from the motor. I have tested at both 0.8 and 1.5 amps and also I am running just a single motor to test with no load. The motor doesn't even activate and can be easily turned by hand.
      When the motor was vibrating and also not keeping its position while idle, it was wired ABAB on the board.

      1 Reply Last reply Reply Quote 0
      • A Former User?
        A Former User
        last edited by

        Are you getting any errors from the Duet after wiring them correctly? unfortunately incorrectly wiring can potentially destroy the drivers.

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

          Can you post the results of M122 after trying to move the motor?

          Do you get any errors in the console?

          Z-Bot CoreXY Build | Thingiverse Profile

          Ian Millerundefined 1 Reply Last reply Reply Quote 0
          • Ian Millerundefined
            Ian Miller @Phaedrux
            last edited by

            @Phaedrux no errors in the console
            m122
            === Diagnostics ===
            RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03beta3 running on Duet WiFi 1.02 or later
            Board ID: 0JD0M-9P61A-J8PSJ-6J9F6-3S06R-KUQ2S
            Used output buffers: 1 of 20 (17 max)
            === RTOS ===
            Static ram: 25632
            Dynamic ram: 93800 of which 0 recycled
            Exception stack ram used: 412
            Never used ram: 11228
            Tasks: NETWORK(ready,652) HEAT(blocked,1236) MAIN(running,3816) IDLE(ready,196)
            Owned mutexes:
            === Platform ===
            Last reset 00:01:10 ago, cause: software
            Last software reset time unknown, reason: User, spinning module GCodes, available RAM 11264 bytes (slot 3)
            Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
            Error status: 0
            Free file entries: 10
            SD card 0 detected, interface speed: 20.0MBytes/sec
            SD card longest block write time: 89.5ms, max retries 0
            MCU temperature: min 34.9, current 35.2, max 35.4
            Supply voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0, over voltage events: 0, power good: yes
            Driver 0: standstill, SG min/max 421/873
            Driver 1: standstill, SG min/max not available
            Driver 2: standstill, SG min/max 0/5
            Driver 3: standstill, SG min/max not available
            Driver 4: standstill, SG min/max not available
            Date/time: 1970-01-01 00:00:00
            Cache data hit count 244424298
            Slowest loop: 2.08ms; fastest: 0.08ms
            I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
            === Move ===
            Hiccups: 0, FreeDm: 169, MinFreeDm: 168, MaxWait: 64222ms
            Bed compensation in use: none
            Bed probe heights: 0.000 0.000 0.000 0.000 0.000
            === MainDDARing ===
            Scheduled moves: 5, completed moves: 5, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
            === AuxDDARing ===
            Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
            === Heat ===
            Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
            === GCodes ===
            Segments left: 0, aux move: no
            Stack records: 1 allocated, 0 in use
            Movement lock held by null
            http is idle in state(s) 0
            telnet is idle in state(s) 0
            file is idle in state(s) 0
            serial is idle in state(s) 0
            aux is idle in state(s) 0
            daemon is idle in state(s) 0
            queue is idle in state(s) 0
            autopause is idle in state(s) 0
            Code queue is empty.

            1 Reply Last reply Reply Quote 0
            • Ian Millerundefined
              Ian Miller @A Former User
              last edited by

              @bearer is there a certain reason that that would occur? also how does it destroy the drivers?

              A Former User? 1 Reply Last reply Reply Quote 0
              • A Former User?
                A Former User @Ian Miller
                last edited by

                @Ian-Miller said in z motor not driving when connected to leadscrew:

                @bearer is there a certain reason that that would occur? also how does it destroy the drivers?

                the reason is that you effectively end up wiring the high side of one h-bridge in the driver to the low side of the other h-bridge effectively a dead short on the output and that can result in a short circuit current that causes the mosfet that makes up the h-bridge to fail.

                another common cause for failed drivers are connecting or disconnecting motors with the power on.

                however, hopefully its just a config issue.

                Ian Millerundefined 1 Reply Last reply Reply Quote 0
                • Ian Millerundefined
                  Ian Miller @A Former User
                  last edited by

                  @bearer If it were a driver issue would there be any ways to know, like does it look like other blown out chips?

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

                    There might be some visible damage on the driver, but not necessarily.

                    Best option would be to use the process of elimination. Ensure your motor phases are paired correctly and connect the motor to one of the other drivers and see if it works there. If it does, then the driver itself may have failed. If it doesn't, then it might be the motor has a problem, so try another one. Or it may mean those motors just aren't suitable.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • Ian Millerundefined
                      Ian Miller
                      last edited by

                      used the exact cable and motor but on a driver I knew worked and it spun fine. Does this mean my driver is dead? and if so how do i replace it?
                      Also I already have some extra A4988 divers so could I somehow use that instead/ to replace the other driver?

                      A Former User? 1 Reply Last reply Reply Quote 0
                      • Ian Millerundefined
                        Ian Miller
                        last edited by Ian Miller

                        Only weird thing is there is no visible damage to the driver itself or any of the surrounding components. Additionally now that I have the motor connected correctly I'm getting the error message that phases A and B may be disconnected.
                        Here is my config again, and for the test I was running on of the new motors with the x axis driver.

                        ; Network
                        M552 S1 ; enable network
                        M586 P0 S1 ; enable HTTP
                        M586 P1 S0 ; disable FTP
                        M586 P2 S0 ; disable Telnet

                        ; Drives
                        M569 P0 S0 ; physical drive 0 goes Backwards
                        M569 P1 S0 ; physical drive 1 goes Backwards
                        M569 P2 S1 ; physical drive 2 goes forwards
                        M569 P3 S1 ; physical drive 3 goes forwards
                        M569 P4 S0 ; physical drive 3 goes forwards
                        M584 X0 Y1:4 Z2 E3 ; physical drive 4 goes Backwards
                        M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
                        M92 X80.00 Y80.00 Z1600.00 E420.00 ; set steps per mm
                        M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                        M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
                        M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
                        M906 X800 Y800 Z800 E800 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 X950 Y650 Z500 S0 ; set axis maxima

                        ; Endstops
                        M574 X1 S0 ; X home to min.
                        M574 Y1 S0- P"ystop+e1stop"
                        M574 Z1 S2 ; Define Z to use Probe. Home to Min.
                        M558 P5 H5 F500 T4000 X0 Y0 Z1 ; Set Z probe type/mode 5. Not using on XY, but using it on Z.
                        G31 P25 X0 Y0 Z0.0 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment

                        ; BLTouch - Heaters
                        M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board.

                        ; Heaters
                        M143 S265 ; Set maximum heater temperature to 265C
                        M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0
                        M305 P1 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 1

                        ; Fans
                        M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
                        M106 P0 S0 H T45 ; set fan 0 value. Thermostatic control is turned on
                        M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
                        M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off

                        ; Tools
                        M563 P0 D0 H1 ; Define tool 0
                        G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
                        G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

                        ; Custom settings
                        M552 S1

                        1 Reply Last reply Reply Quote 0
                        • A Former User?
                          A Former User @Ian Miller
                          last edited by

                          used the exact cable and motor but on a driver I knew worked and it spun fine. Does this mean my driver is dead? and if so how do i replace it?
                          Also I already have some extra A4988 divers so could I somehow use that instead/ to replace the other driver?

                          unfortunately it does seem so if the motor works on another driver with the same config. replacing it is a little tricky whiteout pre-heating the whole board and using hot air or infrared heat to desolder the chip before soldering in a new (if its a cloned board it might be easier to repair as it usually has half the copper weight, but still there are large ground planes on several layers)

                          it needs to be a TMC2660-PA driver, the firmware needs the SPI interface to configure the driver - on the bright side TMC2660-PA seems to be in stock with the major distributors again, it was impossible to source for months leading up to the holidays.

                          Only weird thing is there is no visible damage to the driver itself or any of the surrounding components. Additionally now that I have the motor connected correctly I'm getting the error message that phases A and B may be disconnected.

                          there are no rules to say a failure has to be spectacular (also downside to cloned boards is you have no guarantee the chips are not inferior counterfeits and in general no quality control to speak of)

                          1 Reply Last reply Reply Quote 0
                          • Ian Millerundefined
                            Ian Miller
                            last edited by

                            @bearer said in z motor not driving when connected to leadscrew:

                            TMC2660-PA driver

                            I have a soldering iron and hot air gun for soldering, since its a surface mount part that might be a bit tricky though. I was reading awhile back that you could connect additional drivers to the board so would I be able to use one of the A4988 drivers and connect it to the expansion headers?
                            If not is this the correct part to replace the driver?https://www.digikey.com/en/products/detail/trinamic-motion-control-gmbh/TMC2660-PA/4500212

                            1 Reply Last reply Reply Quote 0
                            • A Former User?
                              A Former User
                              last edited by

                              if its a ("dumb") driver module ala step-stick then yeah, you can drive that off the expansion port by step/dir signals.

                              hot air and another printers heated bed might be all you need to replace the chip though.

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

                                https://duet3d.dozuki.com/Wiki/Using_external_stepper_motor_drivers

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • hackinistratorundefined
                                  hackinistrator
                                  last edited by

                                  tmc2660 on duet 2 is connected with series sense resistor on the output H bridge .
                                  if you're lucky , you burned only the sense resistor .
                                  check it with multimeter , R33 and R35 near the z axis driver IC .
                                  while testing the z axis driver , did you place jumpers back on the second z motor connector ?

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