defective stepper driver?
-
My Duet 2 Ethernet board appears to have a defective stepper driver, on driver 0 (x motor).
When attempting to home the x-axis, the board reports that driver 0 is not connected to phase A or phase B.
I double-checked my wiring to the motor, and everything is correct and has continuity. As an additional step, I connected my printer to another control board, and can successfully move the motor that was connected to driver 0 on the Duet 2 Ethernet board, further indicating that the problem is with the stepper driver chip.
Is there anything else I can try? Or is the driver defective?
-
Hi thanks for your patience and for providing all of the detail. I don't see anything in your config that would cause it and your troubleshooting indicates the driver has failed. Please contact filastruder to initiate a warranty replacement. Refer them to this thread.
-
https://forum.duet3d.com/post/165873 might help narrow down the options?
-
Good thoughts. I don't think those apply in this case, though. I swapped out the new (and possibly bad) duet2 with an older duet2 and used the same sd/configs on the old board which works just fine.
-
That leaves defective driver most likely. But providing the exact error, motor config/specs and the output of
M122
might get you some other input. -
@guildner yes does sound like its defective. can you provide the M122 report and a copy of your config.g please.
-
Busy day at work today, but I'll get the info posted tonight.
-
@T3P3Tony When I'm able to get the M122 diagnostics, should I have the board on full 24V power, or would it be sufficient to just use 5V power via USB?
-
Here is my config:
; Jubilee 2.0 Config File ; drawing inspiration from the Railcore 300ZL config file ; Name and Identification M550 P"Cubilee" ; Machine name and Netbios name ; Networking M552 P192.168.1.2 S1 ; Use Ethernet with a static IP M554 192.168.1.3 ; Gateway M553 P255.255.255.0 ; Netmask M586 P2 S1 ; Enable Telnet ; Debugging M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt ; General Preferences M555 P2 ; Set Marlin-style output G21 ; Set dimensions to millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Joints M584 X0 Y1 Z6:7:8 E3:4:5:9 U2 ; Map Z to drivers 6, 7, 8. Map extruders to 3 and 4. Create Toolchanger Lock axis. M569 P0 S0 ; Drive 0 direction | X stepper M569 P1 S0 ; Drive 1 direction | Y Stepper M569 P6 S0 ; Drive 6 direction | Front Left Z M569 P7 S0 ; Drive 7 direction | Front Right Z M569 P8 S0 ; Drive 8 direction | Back Z M569 P2 S0 ; Drive 2 direction | Toolchanger Actuator M569 P3 S0 ; Drive 3 direction | Extruder 0 M569 P4 S0 ; Drive 4 direction | Extruder 1 ;M569 P5 S0 ; Drive 5 direction | Pen 0 ; Joint Kinematics M669 K1 ; CoreXY mode ; Kinematic bed ball locations. ; Locations are extracted from CAD model assuming lower left build plate corner is (0, 0) on a 305x305mm plate. ;M671 X300:5:152.5 Y354:354:24 S10 ; Front Left: (300, 354) | Front Right: (5, 354) | Back: (152.5, 24) M671 X297:2.5:150 Y313.5:313.5:-16.5 S10 ; Front Left: (297.5, 313.5) | Front Right: (2.5, 313.5) | Back: (150, -16.5) ; Axis and motor configuration ;M350 X16 Y16 Z16 E16 U4 I1 ; Set 16x microstepping for xyz axes & extruder, 4x for toolchanger lock. Use interpolation. M350 X8 Y8 Z16 E16 U4 I1 ; Set 8x microstepping for xy, 16x for z axes & extruder, 4x for toolchanger lock. Use interpolation. M574 X1 Y1 Z1 S1 ; Set homing switch configuration x low-end, y low-end, z low-end, all active-high (NC) M574 U1 S1 ; Set homing switch configuration for toolchange lock. Both switches should be wired NC and in series. M906 X1950 Y1950 Z1750 E1250 ; Motor currents (mA) M906 U670 I60 ; LDO Toolchanger Elastic Lock Motor current and idle motor percentage. ;M906 U900 I60 ; StepperOnline Toolchanger Elastic Lock Motor current and idle motor percentage M201 X1000 Y1000 Z20 E1300 U800 ; Accelerations (mm/s^2) M203 X13000 Y13000 Z800 E8000 U9000 ; Maximum speeds (mm/min) M566 X1000 Y1000 Z500 E3000 U50 ; Maximum jerk speeds mm/minute ;M92 X200 Y200 ; Steps/mm for X,Y M92 X100 Y100 M92 U30.578 ; LDO Toolchanger Elastic Lock Motor Steps/deg for U from (200 * 4 * 13.76)/360 ;M92 U11.515 ; Stepper-Online Toolchanger Elastic Lock Motor Steps/deg for U from (200 * 4 * 5.18181)/360 M92 Z3200 ; Steps/mm for Z for a 2mm pitch leadscrew, 0.9mm stepper. (16 * 400)/2 M92 E830 ; Extruder - 0.9 deg/step ; Set axis software limits and min/max switch-triggering positions. ; Adjusted such that (0,0) lies at the lower left corner of a 300x300mm square in the 305mmx305mm build plate. M208 X-11.5:311.5 Y-44:341 Z-0.2:315 M208 U0:200 ; Set Elastic Lock (U axis) max rotation angle ; Thermistors M305 P0 S"Bed" T10000 B3435 H0 ; BOM-specified Terminal Lug Thermistor values. ;M305 P0 S"Bed" T10000 B3984 H0 L160 ; BOM-specified Terminal Lug Thermistor values. ;M305 P0 S"Bed" T100000 B3950 R4700 H0 L0 ; Built-in Keenovo Bed Thermistor values. M305 P1 X200 ; Map Extruder 0 sensor to PT100 Channel 0 M305 P2 X201 ; Map Extruder 1 sensor to PT100 Channel 1 ;Heaters M570 S30 ; Print will be terminated if a heater fault is not reset within 30 minutes. M143 H0 S100 ; Maximum H0 (Bed) heater temperature ;M143 H1 S260 ; Maximum H1 (Extruder) heater temperature ; Default heater model M307 H0 A270.7 C90.4 D6.7 B0 S1.0 ; Default Bed Heater Parameters, before tuning / if config-override.g is missing ; Tool definitions M563 P0 S"Extruder 0" D0 H1 F0 ; Define tool 0 G10 P0 X-4.5 Y44.02 Z-2.25 ; Set tool 0 offset from the bed G10 P0 S190 R170 ; Set tool 0 operating and standby temperatures(-273 = "off") M572 D0 S0.1 ; Set pressure advance on Extruder Drive 0 M563 P1 S"Extruder 1" D1 H2 F2 ; Define tool 1 G10 P1 X-4.15 Y44.62 Z-2.45 ; Set tool 1 offset from the bed with tool-0 as a reference. G10 P1 S190 R170 ; Set tool 1 operating and standby temperatures(-273 = "off") M572 D1 S0.1 ; Set pressure advance on Extruder Drive 1 ; Fans M106 P0 S0 ; Turn off fan 0 ;M106 P1 S0 ; Turn off fan 1 ;Mesh Bed Leveling Settings: M557 X10:290 Y10:290 P6 ; Z probing settings M558 P4 C2 H5 A1 T10000 S0.02 ; P4 --> probe type: switch ; C2 --> endstop number ; H5 --> dive height ; A1 --> max number of times to probe ; T100000 --> travel speed between probe points ; S0.02 --> tolerance when probing multiple times M98 P"config-user.g" ; Load custom user config M501 ; Load saved parameters from non-volatile memory
And here is the output from M122, only using 5V from USB (I can get it again later tonight while on 24V if needed.):
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet Ethernet 1.02 or later Board ID: 08DLM-996RU-N85T0-6J9F2-3SN6L-1UVRR Used output buffers: 3 of 24 (10 max) === RTOS === Static ram: 25680 Dynamic ram: 93636 of which 48 recycled Exception stack ram used: 208 Never used ram: 11500 Tasks: NETWORK(ready,644) HEAT(blocked,1180) MAIN(running,3844) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:00:50 ago, cause: power up Last software reset time unknown, reason: User, spinning module GCodes, available RAM 10428 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: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 1.5ms, max retries 0 MCU temperature: min 33.5, current 37.6, max 37.9 Supply voltage: min 0.5, current 1.7, max 1.7, under voltage events: 0, over voltage events: 0, power good: no Driver 0: ok, SG min/max not available Driver 1: ok, SG min/max not available Driver 2: ok, SG min/max not available Driver 3: ok, SG min/max not available Driver 4: ok, SG min/max not available Date/time: 2020-07-30 10:08:11 Cache data hit count 99036185 Slowest loop: 101.12ms; fastest: 0.06ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === 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 Stack records: 2 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. === Network === Slowest loop: 3.97ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 Interface state 5, link 100Mbps full duplex
-
@guildner said in defective stepper driver?:
or would it be sufficient to just use 5V power via USB?
I don't think so as the drivers won't be powered when running only from 5v.
Supply voltage: min 0.5, current 1.7, max 1.7, under voltage events: 0, over voltage events: 0, power good: no
-
@Phaedrux cool, I'll grab that later tonight, then.
-
@T3P3Tony @Phaedrux Here is the output from M122 while powered from 24V:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet Ethernet 1.02 or later Board ID: 08DLM-996RU-N85T0-6J9F2-3SN6L-1UVRR Used output buffers: 3 of 24 (9 max) === RTOS === Static ram: 25712 Dynamic ram: 93156 of which 48 recycled Exception stack ram used: 272 Never used ram: 11884 Tasks: NETWORK(ready,628) HEAT(blocked,1176) MAIN(running,3760) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:06:24 ago, cause: power up Last software reset time unknown, reason: User, spinning module GCodes, available RAM 10428 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: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 1.5ms, max retries 0 MCU temperature: min 34.7, current 43.4, max 43.6 Supply voltage: min 24.4, current 24.5, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: ok, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 2020-07-30 20:16:56 Cache data hit count 727883381 Slowest loop: 3.53ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === 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 Stack records: 2 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. === Network === Slowest loop: 4.65ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 Interface state 5, link 100Mbps full duplex
-
And, when attempting to home I get this:
G28 X Warning: motor phase A may be disconnected reported by driver(s) 0 Warning: motor phase B may be disconnected reported by driver(s) 0
And M122 shows this:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet Ethernet 1.02 or later Board ID: 08DLM-996RU-N85T0-6J9F2-3SN6L-1UVRR Used output buffers: 3 of 24 (10 max) === RTOS === Static ram: 25712 Dynamic ram: 93156 of which 48 recycled Exception stack ram used: 432 Never used ram: 11724 Tasks: NETWORK(ready,744) HEAT(blocked,1152) MAIN(running,3728) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:03:04 ago, cause: power up Last software reset time unknown, reason: User, spinning module GCodes, available RAM 10428 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: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 1.6ms, max retries 0 MCU temperature: min 38.6, current 43.6, max 43.6 Supply voltage: min 24.4, current 24.5, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max 0/0 Driver 1: ok, SG min/max 0/0 Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 2020-07-30 20:36:52 Cache data hit count 350466746 Slowest loop: 7.60ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 160, MinFreeDm: 158, MaxWait: 56855ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 2, completed moves: 2, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 === GCodes === Segments left: 0 Stack records: 2 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. === Network === Slowest loop: 5.46ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(2) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 Interface state 5, link 100Mbps full duplex
-
Can you post your homex.g?
Are you able to generate the same error by just sending
G92 X100
G91
G1 X10 F1000 -
Here is my homex.g file:
; Home X Axis G91 ; Set relative mode G1 X-330 F6000 S1 ; Big negative move to search for endstop G1 X4 F600 ; Back off the endstop G1 X-10 F600 S1 ; Find endstop again slowly G90 ; Set absolute mode
Yes, that generates the error
-
If it matters, the motor never moves at all when giving it any of these commands.
-
@T3P3Tony This is a brand-new board, and I am looking to get authorization to get a replacement (ordered from Filastruder).
Is there anything else you need from me?
-
Hi thanks for your patience and for providing all of the detail. I don't see anything in your config that would cause it and your troubleshooting indicates the driver has failed. Please contact filastruder to initiate a warranty replacement. Refer them to this thread.
-