Duet 3 6HC motor issues
-
@dc42 here is the output of M906 and M913
m906 Motor current (mA) - X:1400, Y:1400, Z:2200, U:1400, E:800:1050:800, idle factor 30% m913 Motor current % of normal - X:100, Y:100, Z:100, U:100, E:100:100:100
When commanding the z motors to move, they are still free to move, indicating they are not being energised.
For completeness, here is my config.g; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.4 on Mon Dec 09 2019 17:42:21 GMT+0000 (Greenwich Mean Time) ;############## General Preferences ################## M555 P2 ; Marlin-style Outputs G21 ; Set dimensions to millimetres G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Toolchanger" ; set printer name M552 S1 ;############## Axis Mapping ######################### M584 X0.0 Y0.1 Z0.3:0.4:0.5 E1.0:1.1:1.2 U0.2 P3 ; X and Y for CoreXY. U for toolchanger lock. Z has three drivers for kinematic bed suspension. ;############## Drive Direction ###################### M569 P0.0 S1 ; Drive 0 direction | X stepper M569 P0.1 S1 ; Drive 1 direction | Y Stepper M569 P0.2 S1 ; Drive 2 direction | U Tool Changer Lock M569 P0.3 S1 ; Drive 3 direction | Front Left Z M569 P0.4 S1 ; Drive 4 direction | Front Right Z M569 P0.5 S1 ; Drive 5 direction | Back Z M569 P1.0 S0 ; Drive 6 direction | Tool 1 M569 P1.1 S1 D2 ; Drive 6 direction | Tool 2 M569 P1.2 S1 ; Drive 6 direction | Tool 3 ;############## Kinematics ########################### M669 K1 ; CoreXY mode ;############## Leadscrew Location ################### ; Leadscrew locations (really, kinematic coupling locations) extracted from CAD model assuming back right build plate corner is (0, 0) M671 X250:-250:0 Y270:270:-265 S20 ; Front Left: (484.5, 548.5) | Front Right: (-6, 548) | Back: (244.5, 17) ;############## Microstepping ######################## M350 X16 Y16 U16 Z16 E16:16:16 I1 ; Configure microstepping with interpolation ;############## Steps Per mm ######################### M92 X160 Y160 U46 Z1600 E415:397.5:394 ; Set steps per mm ;############## Speeds and Feeds ##################### M566 X1000 Y1000 Z20 E120:8000:8000 U2 ; Set maximum instantaneous speed changes (mm/min). Values of X and Y were 1400 M203 X25000 Y25000 Z400 E1200:20000:20000 U5000 ; Set maximum speeds (mm/min) M201 X1000 Y1000 Z200 E250:1300:1300 U1000 ; Set accelerations (mm/s^2) Values of X and Y were 6000 M204 P500 M906 X1400 Y1400 U1400 Z2200 E800:1050:800 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ;############## Axis Limits ########################## M208 X-246.5 Y-274 Z0 U0 S1 ; Set axis minima M208 X255 Y274 Z500 U180 S0 ; Set axis maxima ;############## Endstops ############################# M574 X1 S1 P"io1.in" ; Configure active-high endstop for low end on X via pin io1.in M574 Y1 S1 P"io2.in" ; Configure active-high endstop for low end on Y via pin io2.in ;############## Z-Probe ############################## M558 P5 C"io4.in" H1 A5 F120 T20000 S0.02 ; Set Z probe type to switch and the dive height + speeds G31 P500 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height M557 X-225:225 Y-225:225 S30 ; Define mesh grid ;############## Bed Heater ########################### M308 S0 P"spi.cs3" Y"thermocouple-max31855" T"K" ; Configure sensor 0 as thermocouple via CS pin spi.cs1 M950 H0 C"out1" T0 Q10 ; Create bed heater output on out0 and map it to sensor 0 M143 H0 S180 ; Set temperature limit for heater 0 to 180C M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; Map heated bed to heater 0 ;############## Tool 0 Heaters ####################### M308 S1 P"1.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; Configure sensor 1 as thermistor on pin 1.temp0 M950 H1 C"1.out0" T1 ; Create nozzle heater output on 1.out0 and map it to sensor 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C M307 H1 B0 S1.00 ; Disable bang-bang mode for the nozzle heater and set PWM limit ;############## Tool 0 Fans ########################## M950 F0 C"1.out3" Q500 ; Create fan 0 on pin out3 and set its frequency M106 P0 S0 H-1 ; Set fan 0 value. Thermostatic control is turned off M950 F1 C"1.out6" Q500 ; Create fan 1 on pin out4 and set its frequency M106 P1 S1 H1 T45 ; Set fan 1 value. Thermostatic control is turned on ;############## Tool 0 Switch ######################## M950 J0 C"1.io0.in" ; Tool 0 detector switch ;############## Tool 1 Heaters ####################### M308 S2 P"1.temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; Configure sensor 1 as thermistor on pin 1.temp0 M950 H2 C"1.out1" T2 ; Create nozzle heater output on 1.out0 and map it to sensor 1 M143 H2 S300 ; Set temperature limit for heater 1 to 280C M307 H2 B0 S1.00 ; Disable bang-bang mode for the nozzle heater and set PWM limit ;############## Tool 1 Fans ########################## M950 F2 C"1.out7" Q500 ; Create fan 0 on pin out3 and set its frequency M106 P2 S0 H-1 ; Set fan 0 value. Thermostatic control is turned off M950 F3 C"1.out4" Q500 ; Create fan 1 on pin out4 and set its frequency M106 P3 S1 H2 T45 ; Set fan 1 value. Thermostatic control is turned on ;############## Tool 1 Switch ######################## M950 J1 C"1.io1.in" ; Tool 1 detector switch ;############## Tool 2 Heaters ####################### M308 S3 P"0.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; Configure sensor 1 as thermistor on pin 1.temp0 M950 H3 C"out2" T3 ; Create nozzle heater output on 1.out0 and map it to sensor 1 M143 H3 S300 ; Set temperature limit for heater 1 to 280C M307 H3 B0 S1.00 ; Disable bang-bang mode for the nozzle heater and set PWM limit ;############## Tool 2 Fans ########################## M950 F4 C"0.out7" Q500 ; Create fan 0 on pin out3 and set its frequency M106 P4 S0 H-1 ; Set fan 0 value. Thermostatic control is turned off M950 F5 C"0.out4" Q500 ; Create fan 1 on pin out4 and set its frequency M106 P5 S1 H3 T45 ; Set fan 1 value. Thermostatic control is turned on ;############## Tool 2 Switch ######################## M950 J1 C"1.io3.in" ; Tool 1 detector switch ;############## Tools ################################ M563 P0 S"BMG Tool" D0 H1 F0 ; Px = Tool number, Dx = Drive Number (start at 0, after movement drives), H1 = Heater Number, Fx = Fan number print cooling fan G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures(-273 = "off") M563 P1 S"Hemera" D1 H2 F2 ; Px = Tool number, Dx = Drive Number (start at 0, after movement drives), H1 = Heater Number, Fx = Fan number print cooling fan G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures(-273 = "off") M563 P2 S"Hemera 2" D2 H3 F4 ; Px = Tool number, Dx = Drive Number (start at 0, after movement drives), H1 = Heater Number, Fx = Fan number print cooling fan G10 P2 S0 R0 ; Set tool 1 operating and standby temperatures(-273 = "off") ;############## Pressure Advance ##################### M572 D1 S0.03 ; Pressure advance T1 - Taken from E3D tool changer ;############## Custom settings ###################### M98 P"/sys/Toffsets.g" ; Set tool offsets from the bed. In separate file so test macro can invoke. M98 P"/sys/FilamentRetraction.g" ; Set Filament Retraction M593 F36.36 ; Dynamic Acceleration Adjustment ;############## Miscellaneous ######################## M501 ; Load saved parameters from non-volatile memory
-
I forgot to say: also send M584 without parameters, to check that the drive mappings are as expected; and send M569 P0, M569 P1, M569 P2 etc. to check that the drivers have not been disabled.
I think something is wrong with your configuration, because the reported driver position is not changing when you move Z.
To test five drivers at once, I normally send the following commands:
M584 X0:1:2:3:4
M906 X1000
M913 X100
G91
G1 H2 X10and see which motors move.
-
@dc42 M584 driver mappings
m584 Driver assignments: X0.0 Y0.1 Z0.3:0.4:0.5 U0.2 E1.0:1.1:1.2, 3 axes visible
I modified my config to replace the M584 with the following line
M584 X0.0:0.1:0.2:0.3:0.4:0.5 Y1.0 Z1.1 E1.2
Here is the output from M584 with the modified driver assignment
m584 Driver assignments: X0.0:0.1:0.2:0.3:0.4:0.5 Y1.0 Z1.1 E1.2, 3 axes visible
m122 before sending your suggest command
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2-beta4.1 running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode) Board ID: 08DJM-956L2-G43S4-6J1DL-3SJ6N-186LG Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 123292 Dynamic ram: 169052 of which 568 recycled Never used RAM 99280, free system stack 200 words Tasks: NETWORK(ready,167) ETHERNET(blocked,111) HEAT(blocked,301) CanReceiv(blocked,868) CanSender(blocked,371) CanClock(blocked,356) TMC(blocked,54) MAIN(running,1125) IDLE(ready,19) Owned mutexes: === Platform === Last reset 00:00:47 ago, cause: software Last software reset at 2020-12-14 08:25, reason: User, GCodes spinning, available RAM 99280, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0x00 MCU temperature: min 22.7, current 23.2, max 23.3 Supply voltage: min 26.9, current 27.0, max 27.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.1, under voltage events: 0 Driver 0: position 0, ok, reads 33670, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 0, ok, reads 33672, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 0, ok, reads 33673, writes 14 timeouts 0, SG min/max 0/0 Driver 3: position 0, ok, reads 33674, writes 14 timeouts 0, SG min/max 0/9 Driver 4: position 0, ok, reads 33675, writes 14 timeouts 0, SG min/max 0/9 Driver 5: position 0, ok, reads 33676, writes 14 timeouts 0, SG min/max 0/9 Date/time: 2020-12-14 08:26:02 Slowest loop: 6.08ms; fastest: 0.21ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 0.7ms, write time 0.0ms, max retries 0 === Move === FreeDm 375 (min 375), 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 idle 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. === Network === Slowest loop: 6.83ms; fastest: 0.03ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 0 0 0 Socket states: 5 2 2 2 2 0 0 0 === CAN === Messages queued 218, send timeouts 0, received 217, lost 0, longest wait 185ms for reply type 6027, free buffers 47
M122 after sending the movement command for the X axis (comprising of 0.0:0.1:0.2:0.3:0.4:0.5)
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2-beta4.1 running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode) Board ID: 08DJM-956L2-G43S4-6J1DL-3SJ6N-186LG Used output buffers: 1 of 40 (23 max) === RTOS === Static ram: 123292 Dynamic ram: 169052 of which 568 recycled Never used RAM 99280, free system stack 164 words Tasks: NETWORK(ready,167) ETHERNET(blocked,111) HEAT(blocked,301) CanReceiv(blocked,868) CanSender(blocked,352) CanClock(blocked,356) TMC(blocked,54) MAIN(running,1125) IDLE(ready,19) Owned mutexes: LwipCore(NETWORK) === Platform === Last reset 00:01:13 ago, cause: software Last software reset at 2020-12-14 08:25, reason: User, GCodes spinning, available RAM 99280, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0x00 MCU temperature: min 23.0, current 23.2, max 23.3 Supply voltage: min 26.9, current 27.0, max 27.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 Driver 0: position 4800, ok, reads 61292, writes 15 timeouts 0, SG min/max 0/0 Driver 1: position 0, ok, reads 61291, writes 15 timeouts 0, SG min/max 0/0 Driver 2: position 0, ok, reads 61291, writes 15 timeouts 0, SG min/max 0/0 Driver 3: position 0, ok, reads 61291, writes 15 timeouts 0, SG min/max 9/9 Driver 4: position 0, ok, reads 61291, writes 15 timeouts 0, SG min/max 9/9 Driver 5: position 0, ok, reads 61291, writes 15 timeouts 0, SG min/max 9/9 Date/time: 2020-12-14 08:26:28 Slowest loop: 5.07ms; fastest: 0.22ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 0.6ms, write time 0.0ms, max retries 0 === Move === FreeDm 375 (min 374), maxWait 70331ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 3, completed moves 3, 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 idle 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. === Network === Slowest loop: 7.59ms; fastest: 0.03ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 0 0 0 Socket states: 5 2 2 2 2 0 0 0 === CAN === Messages queued 108, send timeouts 0, received 105, lost 0, longest wait 0ms for reply type 0, free buffers 47
-
I've ran a cut down config with no change.
When turning the heated bed on (SSR controlled 240v), the temperature decreases from 22 degrees c to 11 degrees c before faulting -
@jay_s_uk said in Duet 3 6HC motor issues:
I've ran a cut down config with no change.
When turning the heated bed on (SSR controlled 240v), the temperature decreases from 22 degrees c to 11 degrees c before faultingYou need to swap the 2 wires from the thermocouple where they connect to the daughter board.
-
that'll be after i disconnected everything and reconnected it all one by one to make sure there were no connection errors.
I am still unable to use drivers 1 to 5 on the 6HC.
I have generated a new config from the config tool without change -
Same config on another duet 3 works, so I don't think its a configuration issue.
@dc42 any other thoughts? -
@dc42 any more thoughts on this?
I still can't use drivers 1 to 5 which means this board is a very expensive but useless paperweight -
Sorry for the delay. We'd like that board back for testing. So please contact your vendor and initiate a warranty exchange. Include a link to this thread as authorization.
-
@jay_s_uk When you send it back can you include a note to "test with ATE and send to David for examination"?
-
@Phaedrux will do!