Duet 3hc steppers not moving
-
I am unable to get any movement out of the stepper drivers on my 3hc board. So far I have:
Tested to make sure that the stepper is wired correctly
Tested with another stepper and cable
Moved to another stepper connection on the 3hc and changed drive mapping (this did not work)
Moved to another stepper connection on the main board and changed drive mapping (this did work)Any Help is much appreciated.
CoreXY
Duet 3 mini 5+
Raspberry Pi 4
Duet expansion 3hc v1.02
XY: ldo 42STH60-2004MACconfig.g
; Enable network
;M552 S1 P"ahc-admin" ;enable network and connect to ahc-admin ssid;General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"ARMiiXY V2" ; set printer name
M291 P"ARMiiXYZ V2" S1 T0 ; display initial welcome message
M669 K1 ; select CoreXY mode;Drive Maps
G4 S2 ; wait for expansion boards to start
M569 P20.0 S0 ; assign physical drive 0 at can 20
M569 P10.0 S1 ;T2.6:2.6:5:0 ; assign physical drive 0 at can 10
M569 P10.1 S1 ;T2.6:2.6:5:0 ; assign physical drive 1 at can 10
M569 P0.0 S0 ; assign physical drive 0
M569 P0.1 S1 ; assign physical drive 1
M569 P0.2 S1 ; assign physical drive 2
M584 Y10.0 X10.1 E20.0 Z0.0:0.1:0.2 ; map drives;Drive settings
M350 X16 Y16 Z32 E16 I1 ; configure microstepping with interpolation
M92 X160 Y160 Z320 E562 ; set steps per mm
M566 X1000 Y1000 Z500 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X100000 Y100000 Z3000 E3000 ; set maximum speeds (mm/min)
M201 X4000 Y4000 Z20.00 E1500 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E650 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X-41.75:376.75:167.5 Y-91:-91:319.5 S50 ; Z pivot point positions;Endstops
M574 Z1 S1 P"0.io2.in+0.io3.in+0.io4.in"
M574 Y2 S1 P"0.io6.in" ; create switch input on pin io6.in can 0 and map it to Y axis high end
M574 X1 S1 P"0.io5.in" ; create switch input on pin io5.in can 0 and map it to X axis low end;Axis
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X342 Y310 Z360 S0 ; set axis maxima;Heaters
;TOOL 00
M308 S1 P"20.temp0" Y"thermistor" T100000 A"TOOL 00" ; set sensor on pin temp1 can 20
M950 H1 C"20.out0" T1 ; set heater 0 on pin out0 can 20
;BED
M308 S0 P"0.temp0" Y"thermistor" T100000 A"BED" ; set sensor on Pine temp0 can 0
M950 H0 C"0.out0" T0 ; set heater 0 on pin out 0 can 0
M307 H0 R1.028 K0.542:0.000 D4.27 E1.35 S1.00 B0
M140 H0 ; map heated bved to heater 0
M143 H0 S150 ; set max bed temp to 150 C
M557 X0:340 Y0:310 p3:3;Fans
;TOOL 01
M950 F1 C"20.out2" Q500 ; set fan 1 on pin out2 can 20 (part fan)
M106 P1 S1 H1 T45 ; set fan 1 to defaul off and map thermostatic control to sensor 1 (tool 01)
M950 F2 C"20.out1" Q500 ; set fan 2 on pin out 1 can 20 (tool fan)
M106 P2 S2 H-1;Probes
;BLTouch
M950 S0 C"io1.out" ; create pin mapping for bltouch servo pin on io 01
M558 P9 C"io1.in" H15 F1500:500 T25000 A5 ; set z probe type to 9 (bltouch) and configure parameters
G31 X0 Y0 Z6.8 P25 ; set probe offset and trigger height;Tool Definitions
;TOOL 00
M563 P0 D0 H1 F2 S"TOOL 00" ; define tool 00. p(tool) d(drive) h(heater) f(fan) s(name)
G10 P0 X0 Y0 Z0 ; tool axis offset
G10 P0 R200 S215 ; start up paramneters
;M955 P20.0 I10 ; accellerometer
;TOOl 48
M563 P48 S"BLT Touch"
G10 P48 X0 Y0 Z0 ; tool axis offset
;TOOL 49
;M563 P49 S"NO TOOL";LED
M150 X1 Q3000000 ; map led and set type to neopixel
M150 R255 U255 B255 P128 S60 f0 ; Turn all leds on full white.;Startup
M98 P"startup.g" -
@knuxvomica can you post a photo of your wiring for power on the 3HC and the motors and also am output of M122 and M122 BX where X is the CAN number of the 3HC
-
@jay_s_uk
m122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.4.4 (2022-10-20 16:18:28) running on Duet 3 Mini5plus WiFi (SBC mode)
Board ID: 9PMRF-Q296U-D65J0-40KMS-2303Z-RKPK1
Used output buffers: 1 of 40 (12 max)
=== RTOS ===
Static ram: 103684
Dynamic ram: 99116 of which 0 recycled
Never used RAM 38840, free system stack 110 words
Tasks: SBC(ready,4.5%,459) HEAT(notifyWait,0.0%,346) Move(notifyWait,0.0%,280) CanReceiv(notifyWait,0.1%,774) CanSender(notifyWait,2.6%,326) CanClock(delaying,0.0%,339) TMC(notifyWait,1.2%,72) MAIN(running,89.2%,508) IDLE(ready,0.8%,30) AIN(delaying,1.4%,263), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:01:27 ago, cause: power up
Last software reset at 2022-11-16 19:58, reason: User, GCodes spinning, available RAM 38912, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU revision 3, ADC conversions started 88706, completed 88706, timed out 0, errs 0
Step timer max interval 1490
MCU temperature: min 17.3, current 22.4, max 22.4
Supply voltage: min 24.1, current 24.2, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 2 queued, 2 completed
Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 11, reads 4569, writes 11, timeouts 0, DMA errors 0, CC errors 0
Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 11, reads 4569, writes 11, timeouts 0, DMA errors 0, CC errors 0
Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 11, reads 4569, writes 11, timeouts 0, DMA errors 0, CC errors 0
Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 14, reads 4565, writes 14, timeouts 0, DMA errors 0, CC errors 0
Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 9, reads 4571, writes 9, timeouts 0, DMA errors 0, CC errors 0
Driver 5: not present
Driver 6: not present
Date/time: 2022-11-17 01:47:07
Cache data hit count 201888597
Slowest loop: 25.32ms; fastest: 0.08ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 0.0MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 3, maxWait 25259ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 1, completed 1, hiccups 124676, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== 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 715, received 2175, lost 0, boc 0
Longest wait 3ms for reply type 6053, peak Tx sync delay 72, free buffers 18 (min 16), ts 440/439/0
Tx timeouts 0,0,0,0,0,0
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 3259/3259
SPI underruns 0, overruns 0
State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x0f19c
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server v3.4.4
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
Full transfers per second: 0.60, max time between full transfers: 135.2ms, max pin wait times: 126.1ms/5.9ms
Codes per second: 0.01
Maximum length of RX/TX data transfers: 3244/732m122 b10
Diagnostics for board 10:
Duet EXP3HC rev 1.02 or later firmware version 3.4.4 (2022-10-14 11:45:56)
Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
All averaging filters OK
Never used RAM 158896, free system stack 173 words
Tasks: Move(notifyWait,0.0%,126) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,80) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.5%,99) MAIN(running,91.2%,413) IDLE(ready,0.0%,40) AIN(delaying,1.3%,263), total 100.0%
Last reset 00:04:36 ago, cause: power up
Last software reset data not available
Driver 0: pos 0, 80.0 steps/mm,ok, SG min 0, mspos 0, reads 40162, writes 0 timeouts 0, steps req 0 done 0
Driver 1: pos 1599840, 160.0 steps/mm,ok, SG min 9, mspos 9, reads 40161, writes 0 timeouts 0, steps req 0 done 0
Driver 2: pos 0, 80.0 steps/mm,ok, SG min 9, mspos 9, reads 40161, writes 0 timeouts 0, steps req 0 done 0
Moves scheduled 1, completed 1, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
Peak sync jitter -3/9, peak Rx sync delay 174, resyncs 0/0, no step interrupt scheduled
VIN voltage: min 46.8, current 46.8, max 46.8
V12 voltage: min 12.2, current 12.2, max 12.2
MCU temperature: min 22.7C, current 39.4C, max 39.4C
Last sensors broadcast 0x00000000 found 0 177 ticks ago, 0 ordering errs, loop time 0
CAN messages queued 113, send timeouts 0, received 144, lost 0, free buffers 37, min 37, error reg 0
dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 -
@knuxvomica said in Duet 3hc steppers not moving:
G4 S2 ; wait for expansion boards to start
Can you try increasing your delay to 5 seconds?
Are the LEDs on the expansion blinking in time with the mainboard?
Is this a new build? Has this setup on the 3HC ever worked?
Can you send M98 P"config.g" and post the result?
-
The lights are indeed blinking in time with the main board as well as other can boards and all other boards are functioning correctly. It is not a new build, however, the 3hc is replacing two 1xd boards and 2 stepper drivers. I received the 3hc recently and it has not worked since I installed it. I also feel its important to note that there is no error reported by the drivers.
The only result returned from M98 P"config.g" is "M98 P"config.g" in green.
-
@knuxvomica said in Duet 3hc steppers not moving:
VIN voltage: min 46.8, current 46.8, max 46.8
What is your power supply voltage actually?
-
@Phaedrux that is the actual voltage of the power supply. It is a 48v psu
-
@knuxvomica I just checked it with a voltmeter to confirm and it is actually reading 46.8 directly from t he psu.
-
Can you post some photos of the 3HC driver area?
When and where did you purchase the 3HC?
-
I purchased it from filastruder on 11/03/22 and received it 11/07/22
-
Could you get some better lighting on there?
-
@Phaedrux
Sure
-
Thanks. I don't see anything obvious for damage.
Please send an email to warranty@duet3d.com and CC your reseller. Include a link to this forum thread and the details of your original purchase. You'll receive a reply with a form to fill out.
-
@Phaedrux I was just wondering if the problem might be related to the fact that the OP has the board configured as board 10 seemingly without boards 1 to 9 being present? Might it be worth the OP configuring it as board 1 just to see what happens?
-
Worth a try, though I don't think there are any limits to the addressing as long as they are in the range.
https://docs.duet3d.com/en/User_manual/Machine_configuration/CAN_connection
3HC should be within 1 to 15.
In Duet 3 systems, each board has a CAN address, which is a number in the range 0 to 126. Each board must have a unique CAN address. The address of the main board is always 0. You can choose the addresses of the expansion and tool boards as you wish, however we suggest the following:
Use addresses 1 to 15 for Duet 3 Expansion 3HC boards
Use addresses 20 to 39 for tool boards
Use addresses 40 to 59 for external driver boards -
@knuxvomica I spotted this. From your config.g:
M569 P20.0 S0 ; assign physical drive 0 at can 20
M569 P10.0 S1 ;T2.6:2.6:5:0 ; assign physical drive 0 at can 10
M569 P10.1 S1 ;T2.6:2.6:5:0 ; assign physical drive 1 at can 10
M569 P0.0 S0 ; assign physical drive 0
M569 P0.1 S1 ; assign physical drive 1
M569 P0.2 S1 ; assign physical drive 2
M584 Y10.0 X10.1 E20.0 Z0.0:0.1:0.2 ; map drives
;Drive settings
M350 X16 Y16 Z32 E16 I1 ; configure microstepping with interpolation
M92 X160 Y160 Z320 E562 ; set steps per mm
M566 X1000 Y1000 Z500 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X100000 Y100000 Z3000 E3000 ; set maximum speeds (mm/min)
M201 X4000 Y4000 Z20.00 E1500 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E650 I30 ; set motor currents (mA) and motor idle factor in per centFrom your M122 B10 report:
Driver 0: pos 0, 80.0 steps/mm,ok, SG min 0, mspos 0, reads 40162, writes 0 timeouts 0, steps req 0 done 0
Driver 1: pos 1599840, 160.0 steps/mm,ok, SG min 9, mspos 9, reads 40161, writes 0 timeouts 0, steps req 0 done 0
Driver 2: pos 0, 80.0 steps/mm,ok, SG min 9, mspos 9, reads 40161, writes 0 timeouts 0, steps req 0 done 0
Moves scheduled 1, completed 1, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0This indicates that driver 1 is correctly configured and 1 move has been executed, which has moved driver 1. However, driver 0 indicates 80 steps/mm which is the default, whereas your config.g maps axis Y to driver 10.0 and the subsequent M92 command sets the Y steps/mm to 160. So I suspect that some commands in config.g may not be working as intended.
Please can you try sending the M584, M92 and M906 commands manually from the command line with the same parameters as used in config.g. Then send M584, M92 and M906 without parameters to check that the correct values are reported. Also send M913 to check that all axes are set to 100% motor current. Finally, test whether you can make X or Y moves using e.g. G91 G1 H2 X10.