z motor not driving when connected to leadscrew
-
-
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. -
Are you getting any errors from the Duet after wiring them correctly? unfortunately incorrectly wiring can potentially destroy the drivers.
-
Can you post the results of M122 after trying to move the motor?
Do you get any errors in the console?
-
@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. -
@bearer is there a certain reason that that would occur? also how does it destroy the drivers?
-
@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.
-
@bearer If it were a driver issue would there be any ways to know, like does it look like other blown out chips?
-
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.
-
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? -
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 -
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)
-
@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 -
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.
-
-
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 ?