Duet 3 Mainboard 6HC Motors not Working
-
I have a Duet 3 mainboard 6HC and I cannot seem to get the stepper motors to rotate properly, the motors just vibrate. I have checked the wiring to the motors and the motors themselves. The motors work on another control board that I have. Also, I have the 3HC expansion board and the motors seem to work fine on it. I have tried all the drivers on the 6HC board and they all seem to do the same. Everything else on the 6HC seems to work fine. Please let me know if anyone has suggestions. I have the config file below:
; Configuration file for Duet 3 (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jan 22 2022 16:01:03 GMT-0500 (Eastern Standard Time); General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S0 ; physical drive 0.1 goes backwards
M569 P0.2 S0 ; physical drive 0.2 goes backwards
M569 P0.3 S0 ; physical drive 0.3 goes forwards
M569 P0.4 S0 ; physical drive 0.4 goes forwards
M569 P1.0 S1 ; physical drive 1.0 goes forwards
M569 P1.1 S1 ; physical drive 1.1 goes forwards
M584 X0.0 Y0.1 Z0.3:0.4 U0.2 E1.0:1.1 ; create the U axis and assign stepper driver 2 to it
M350 X16 Y16 Z16 U16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z633.00 U80.00 E838.00:838.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 U900.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 U6000.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 U500.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X2000 Y2000 Z2000 U2000 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X-50 Y-120 Z0 U0 S1 ; set axis minima
M208 X705 Y700 Z500 U800 S0 ; set axis maxima; Endstops
M574 X1 S1 P"^io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin ^io1.in
M574 Y1 S1 P"^io5.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ^io2.in
M574 U2 S1 P"^io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on U via pin ^io5.in
M574 Z1 S2 ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin ^io6.in; Z-Probe
M950 S0 C"io4.out" ; create servo pin 0 for BLTouch
M558 P9 C"io4.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X60:560 Y50:500 S50 ; define mesh grid; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 R0.442 C452.6 D2.05 S1.00 V24.0 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M308 S2 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin temp2
M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S280 ; set temperature limit for heater 2 to 280C; Fans
M950 F0 C"1.out3" Q500 ; create fan 0 on pin 1.out3 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out5" Q500 ; create fan 1 on pin out5 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"out6" Q500 ; create fan 2 on pin out6 and set its frequency
M106 P2 S1 H2 T45 ; set fan 2 value. Thermostatic control is turned on; Tools
M563 P1 D0 H1 F0 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
M563 P2 D1 H2 F0 ; define tool 2
G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets
G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C
T0 ;; Custom settings are not defined
; Miscellaneous
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss -
@tryingtomakestuff when you say you have checked the wiring to the motors do you mean checking each phase is connected correctly? normally when a motor just sits and vibrates its because the phases are cross connected.
-
@tryingtomakestuff please post the response from sending M122, and the response from sending M98 P"config.g".
-
One other thing I forgot to mention is that all motor drivers report a short-to-ground when activated. I even tried driver 5, which had never been used previously, and the same problem happened.
@jumpedwithbothfeet Yes, I checked each phase of the wiring. The same motors work on the expansion board with no issues, which is why I am confused what the issue is.
@dc42
The response from M122:2/19/2022, 2:25:18 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-956L2-G43S8-6JTD8-3S46R-9V22D
Used output buffers: 1 of 40 (12 max)
=== RTOS ===
Static ram: 150904
Dynamic ram: 62320 of which 0 recycled
Never used RAM 140968, free system stack 200 words
Tasks: SBC(ready,7.0%,338) HEAT(delaying,0.0%,355) Move(notifyWait,0.0%,302) CanReceiv(notifyWait,0.0%,910) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,351) TMC(notifyWait,7.1%,93) MAIN(running,84.8%,1252) IDLE(ready,1.1%,29), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:00:09 ago, cause: software
Last software reset at 2022-02-19 19:25, reason: User, none spinning, available RAM 137776, slot 0
Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Step timer max interval 192
MCU temperature: min 24.1, current 24.4, max 24.4
Supply voltage: min 24.0, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Driver 0: position 0, standstill, reads 53188, writes 14 timeouts 0, SG min/max 0/0
Driver 1: position 0, standstill, reads 53188, writes 14 timeouts 0, SG min/max 0/0
Driver 2: position 0, standstill, reads 53188, writes 14 timeouts 0, SG min/max 0/0
Driver 3: position 0, standstill, reads 53188, writes 14 timeouts 0, SG min/max 0/0
Driver 4: position 0, standstill, reads 53188, writes 14 timeouts 0, SG min/max 0/0
Driver 5: position 0, standstill, reads 53192, writes 11 timeouts 0, SG min/max 0/0
Date/time: 2022-02-19 19:25:17
Slowest loop: 0.44ms; fastest: 0.04ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is doing "M122" in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger* is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== CAN ===
Messages queued 87, received 48, lost 0, longest wait 1ms for reply type 6018, peak Tx sync delay 7, free buffers 49 (min 48), ts 49/48/0
Tx timeouts 0,0,0,0,0,0
=== SBC interface ===
State: 4, failed transfers: 0, checksum errors: 0
Last transfer: 2ms ago
RX/TX seq numbers: 313/313
SPI underruns 0, overruns 0
Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.3.0
Code buffer space: 4096
Configured SPI speed: 8000000Hz
Full transfers per second: 37.52, max wait times: 3.5ms/0.0ms
Codes per second: 7.00
Maximum length of RX/TX data transfers: 3176/908The response from M98 P"config.g" was successful, I am not sure if something was supposed to come up.
2/19/2022, 2:16:19 PM M98 P"config.g"
Thank you for your help!
-
@tryingtomakestuff said in Duet 3 Mainboard 6HC Motors not Working:
The motors work on another control board that I hav
May I ask which board is that?
Also, which motors are you using, do yo have a model number?Cheers
-
@gixxerfast
The other control board that a tried was a rambo 1.3 off an old Makergear M2. This does have different phase wiring than the Duet boards, but I changed it to match.I am using E3d Super Whopper motors (motech motor MT-1705HS200AE) and I also tried E3d High Torque Motors (motech motor MT-1704HSM168RE).
Thanks
-
@tryingtomakestuff I'm asking partly because you are running them at 2A peak which is the max that the motors are rated for. The other motors are rated to max 1.6A
This is what's said in the docs M906 about motor currents: "As a rule of thumb, the recommendation is to set M906 to use 60-85% of the rated maximum current for the motor."
Maybe you should lower that a bit and see what happens ?
Otherwise I cannot think otherwise than that your motors are wired incorrectly.
Cheers
-
@gixxerfast I tried a couple of different currents, I had it set at 2A because I thought it might work at a higher current. Unfortunately, I could not get it to work at any setting.
Thank you for your help!
-
@tryingtomakestuff said in Duet 3 Mainboard 6HC Motors not Working:
This does have different phase wiring than the Duet boards
I apologize for these questions but I have to ask. As far as I can see, the Rambo 1.3 has the same motor wiring as the Duet board.
How did you rewire it? The motors have crossed middle leads in the docs I have found so far.
-
@gixxerfast No problem, I was unclear. For the duet boards, I had used the crimps to make cables and, for the Rambo board, I used the supplied cables from the E3D motor. I believe the E3D wires do have crossed leads and the rewiring I did was uncrossing them to test on the Rambo board. I tested the wires I crimped together by connecting it to the 3HC expansion board and verified that the wires worked with the motors.
-
@tryingtomakestuff OK, because they should be crossed:
Anyhow, I'll leave it there
-
@gixxerfast You are correct the wires are crossed, I just had the motor pinout confused in my head.
Any other ideas?
-
@tryingtomakestuff you say all drivers report a short to ground?! how have you mounted the board? can you post pictures of your your board and how its wired? have you tried disconnecting everything off the board and giving it a try?
#edit incidentally I also run super whoppers on my printer @1600 and they work nicely
-
@tryingtomakestuff when and where did you purchase the 6HC? We had an issue with some components back in 2020 that could possibly account for this, but as soon as we became aware of it we recalled all the boards affected. To check whether your board might be one of those affected, use a magnifying glass to read the manufacturing code on the tiny 6-pin packages between the stepper driver chips and the output connectors. There are 4 of them per driver, and they will almost certainly all have the same manufacturing code (so no need to read them all).
-
@gixxerfast
Yes, all drivers report a short to ground when activated. The board is mounted on a piece of acrylic with nylon standoffs and screws, shown in the picture below. Since the message only happens after the motor drivers are activated I was not sure if trying to activate the drivers was a good idea with nothing connected.@dc42 I ordered the 6HC from Printed Solid on 7/17/2020, so it sat in the box for a while until I finished fabricating the rest of the printer. I am having difficulty reading the 6-pin package, but it looks like it reads kaxs4. Also, the serial number is WD41586, I was reading about the recall and that was in the range for the recall.
-
@tryingtomakestuff I confirm that your board serial number is in the range of the recall and the KAXS4 manufacturing code confirms this. We will replace it. Please send an email to warranty@duet3d.com and include a link to this thread. I'm sorry for the inconvenience this causes you.
-
@dc42 I sent the email for the replacement. Thank you for all of your help! It's not too often a company has this good of service for their products!
-
-