@droftarts
Thanks a lot for your help so far! Even though I’ve made the adjustments you suggested, the motor still isn’t turning. I’ve fixed some issues in the config.g and cleaned it up, but the problem persists.
Here’s what I’ve done:
I’ve corrected the config.g file, as there were some things that needed fixing, and took the opportunity to tidy it up. I’m attaching the updated version.
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"hypercube" ; set printer name
M669 K1 ; select CoreXY mode
M81 C"pson"
M80
M98 P"/sys/_global_vars.g"
G4 S3 ; wait for expansion boards to start
; Accelerometers
M955 P20.0 I20 ; configure accelerometer on board #20
M955 P21.0 I20 ; configure accelerometer on board #21
M955 P22.0 I20 ; configure accelerometer on board #22
; Drives
M569 P0.2 S1 ; Z POST
M569 P0.3 S1 ; Z DX
M569 P0.4 S1 ; Z SX
M569 P0.0 S0 D2 ; Y
M569 P0.1 S1 D2 ; X
M569 P1.0 S1 ; V1 (tools gantry motor LEFT)
M569 P1.1 S0 ; V2 (tools gantry motor RIGHT)
M569 P1.2 S0 ; C (cleaner deployer)
M569 P20.0 S1 ; E0 (T0 PUSH)
M569 P30.0 S1 ; E3 (T0 PULL)
M569 P21.0 S1 ; E1 (T1 PUSH)
M569 P30.1 S1 ; E4 (T1 PULL)
M569 P22.0 S1 ; E2 (T2 PUSH)
M569 P30.2 S1 ; E5 (T2 PULL)
M584 X0.1 Y0.0 Z0.4:0.3:0.2 E20.0:21.0:22.0:30.0:30.1:30.2 C1.2 V1.0:1.1 ; set drive mapping
M350 X16 Y16 Z16 E16:16:16:16:16:16 I1 C32 V16 ; microstepping
M92 X107.655 Y107.655 Z800 C67.556 E397:397:397:415:415:415 V1600 ; set steps per mm (Hemera x16 397)
M566 X900 Y900 Z60 E800:800:800:800:800:800 P1 C1000 V12 ; set maximum instantaneous speed changes (mm/min)
M203 X20000 Y20000 Z1200 E3000:3000:3000:3000:3000:3000 C15000 V3000 ; set maximum speeds (mm/min)
M201 X4000 Y4000 Z200 E12000:12000:12000:12000:12000:12000 C8000 V80 ; set accelerations (mm/s^2)
M906 X1400 Y1400 Z1000 E800:800:800:800:800:800 I30 C700 V900 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z-1 C0 V0 S1 ; set axis minima
M208 X261 Y292 Z290 V240 C122 S0 ; set axis maxima
; Endstops
M574 X2 S1 P"^!io2.in" ; hall effect endstop X high end
M574 Y2 S1 P"^!io1.in" ; hall effect endstop Y high end
M574 Z1 S2 ; Z-probe endstop for low end on Z
M574 C1 S1 P"1.io0.in" ; endstop for low end on C (cleaner deployer)
M574 V2 S1 P"1.io3.in+1.io4.in" ; endstop for hign end on V (1.0:1.1)
; Z-Probe
M950 S0 C"io4.out" ; create servo pin 0 for BLTouch
M558 P9 C"^io4.in" H3.5 F1900:360 S0.03 A3 T30000 R0.25 ; set Z probe type to bltouch and the dive height + speeds
G31 P25 X0 Y27.1 Z3.23 ; <---- - away | + closer ; set Z probe trigger value, offset and trigger height
M671 X{global.centerX-160,global.centerX+160,global.centerX} Y{global.centerY-160,global.centerY-160,global.centerY+160} S7 ; Z pivot points
M280 P0 S60 ; BLTouch alarm release
G4 P300 ; delay for BLTouch
M280 P0 S160 ; BLTouch alarm release & push pin up
G4 P300 ; delay for BLTouch
M280 P0 S90 ; Force retract
; Sensors
M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M308 S1 P"20.temp0" Y"thermistor" A"NozzleT0" T100000 B4725 C7.06e-8 ; configure sensor #1
M308 S2 P"21.temp0" Y"thermistor" A"NozzleT1" T100000 B4725 C7.06e-8 ; configure sensor #2
M308 S3 P"22.temp0" Y"thermistor" A"NozzleT2" T100000 B4725 C7.06e-8 ; configure sensor #3
M308 S4 Y"mcu-temp" A"6HC"
M308 S5 Y"drivers" A"6HC DRV"
M308 S6 Y"mcu-temp" P"1.dummy" A"3HC.1"
M308 S7 Y"drivers" P"1.dummy" A"3HC.1 DRV"
M308 S8 Y"mcu-temp" P"20.dummy" A"1LC.20"
M308 S9 Y"drivers" P"20.dummy" A"1LC.20 DRV"
M308 S10 Y"mcu-temp" P"21.dummy" A"1LC.21"
M308 S11 Y"drivers" P"21.dummy" A"1LC.21 DRV"
M308 S12 Y"mcu-temp" P"22.dummy" A"1LC.22"
M308 S13 Y"drivers" P"22.dummy" A"1LC.22 DRV"
M308 S14 P"1.temp0" Y"pt1000" A"Chamber" ; configure sensor 2 as thermistor on pin temp2
M308 S15 Y"mcu-temp" P"30.dummy" A"M5+.30"
M308 S16 Y"drivers" P"30.dummy" A"M5+.30 DRV"
; Heaters
M950 H0 C"out0" T0 Q1 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B1 S1 V24.2 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 P0 ; map heated bed to heater 0
M143 H0 P0 T0 C0 A0 S100 ; set temperature limit for heater 0 to 100C
M950 H1 C"20.out0" T1 ; create heater #1
M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1
M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1
M950 H2 C"21.out0" T2 ; create heater #2
M143 H2 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #2
M307 H2 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #2
M950 H3 C"22.out0" T3 ; create heater #3
M143 H3 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #3
M307 H3 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #3
M950 H4 C"1.out0" T14 Q1 ; create bed heater output on 1.out0 and map it to sensor 14
M570 H4 P3000 T40 ; Increase the fault time to 3000 seconds with a tolerance of 40°C
M307 H4 B1 S1 R0.06 D10 ; enable bang-bang mode for the bed heater and set PWM limit
M141 H4 P0 ; map heated chamber to heater 0
M143 H4 P0 S60 A0 C0 ; set temperature hard limit for heater 4 to 60C
M143 H4 P1 S50 A2 C0 ; set temperature soft limit for heater 4 to 50C
; Fans
M950 F0 C"20.out1" Q25; create fan #0
M106 P0 C"T0 TOOL FAN" S0 L0 X1 B0.1 ; configure fan #0
M950 F1 C"20.out2+out2.tach" ; create fan #1
M106 P1 C"T0 NOZZLE FAN" S0 B0.1 H1 T55 ; configure fan #1
M950 F2 C"21.out1" Q25; create fan #2
M106 P2 C"T1 TOOL FAN" S0 L0 X1 B0.1 ; configure fan #2
M950 F3 C"21.out2+out2.tach" ; create fan #3
M106 P3 C"T1 NOZZLE FAN" S0 B0.1 H2 T55 ; configure fan #3
M950 F4 C"22.out1" Q25; create fan #4
M106 P4 C"T2 TOOL FAN" S0 L0 X1 B0.1 ; configure fan #4
M950 F5 C"22.out2+out2.tach" ; create fan #5
M106 P5 C"T2 NOZZLE FAN" S0 B0.1 H3 T55 ; configure fan #5
M950 F6 C"out4+out4.tach" Q15 ; create fan 6 (BOARD FAN) on pin out3 and set its frequency
M106 P6 S1 C"Board FAN"
M950 F7 C"out5+out5.tach" Q15 ; create fan 7 (CHAMBER FAN) on pin out5 and set its frequency
M106 P7 S0 C"Chamber FAN"
; Illumination
M950 P3 C"io5.out" Q100
M98 P"/macros/LIGHT OFF"
;Servos
M950 S1 C"io7.out" ; Chamber Fan servo
M280 P1 S40 ; (40 Closed, 180 Opened)
; button and sensors
M950 C"!^io3.in" J0 ; Start Button
M950 C"!io8.in" J1 ; Stop Button
M950 C"!io6.in" J2 ; Emerg Button
M950 C"^!20.io2.in" J3 ; T0 Tool park sensor
M950 C"^!21.io2.in" J4 ; T1 Tool park sensor
M950 C"^!22.io2.in" J5 ; T2 Tool park sensor
; Triggers
M581 P0 S0 R0 T2 ; Start Button
M581 P1 S1 R0 T6 ; Stop Button
M581 P2 S0 R0 T0 ; Emerg Button
M581 P4 S1 T4 R0
M581 P4 S0 T5 R0
M98 P"0:/sys/defaults.g"
; Revo tool config
;M98 P"revo/config.g" D{0,3} H1 F0 T0 J3 X0 Y0 Z0
;M98 P"revo/config.g" D{1,4} H2 F2 T1 J4 X0 Y0 Z-0.08
;M98 P"revo/config.g" D{2,5} H3 F4 T2 J5 X0 Y0 Z0.10
M563 P0 D3 S"Test driver 3"
;M563 P1 D4 S"Test driver 4"
;M563 P2 D5 S"Test driver 5"
;Input shaping
;M593 P"zvd" F43 S0.02
M593
; Miscellaneous
M404 N1.75 D0.4 ; set filament width and nozzle width
M302 S180 R75
M501 ; load saved parameters from non-volatile memory
M42 P4 S1 ; TODO to check
if sensors.gpIn[2].value == 1 ; if emerg button is normal
M98 P"/sys/pwr_on.g"
G28 C ; Home cleaner
;G28 V
M557 X{ global.PrintAreaXmin,global.PrintAreaXmax } Y{ global.PrintAreaYmin,global.PrintAreaYmax } P5 ; Set Z probe point or define probing grid
;M98 P"select-tool.g"
;if (state.currentTool != -1)
; M703 ; load filament config
T0 P0
I also appreciate the tip about reducing the microstepping to x16 and removing the curly brackets from the tool name.
As for the Mini5plus board, here’s the result of the M122 B30 command:
Diagnostics for board 30:
RepRapFirmware for Duet 3 Mini 5+ version 3.5.3 (2024-09-18 11:25:48) running on Duet 3 Mini5plus WiFi
Last reset 00:02:37 ago, cause: software
Driver 0: 415.0 steps/mm,, SG min 0, read errors 0, write errors 3, ifcnt 11, reads 11402, writes 32, timeouts 0, DMA errors 0, CC errors 0
Driver 1: 415.0 steps/mm,, SG min 0, read errors 0, write errors 3, ifcnt 11, reads 11398, writes 36, timeouts 0, DMA errors 0, CC errors 0
Driver 2: 415.0 steps/mm,, SG min 0, read errors 0, write errors 3, ifcnt 14, reads 11398, writes 35, timeouts 0, DMA errors 0, CC errors 0
Driver 3: 80.0 steps/mm,, SG min 0, read errors 0, write errors 3, ifcnt 11, reads 11403, writes 30, timeouts 0, DMA errors 0, CC errors 0
Driver 4: 80.0 steps/mm,, SG min 0, read errors 0, write errors 3, ifcnt 11, reads 11405, writes 30, timeouts 0, DMA errors 0, CC errors 0
Driver 5: 80.0 steps/mm,, SG min 0, read errors 0, write errors 3, ifcnt 11, reads 11405, writes 30, timeouts 0, DMA errors 0, CC errors 0
Driver 6: 80.0 steps/mm,, SG min 0, read errors 0, write errors 3, ifcnt 11, reads 11404, writes 30, timeouts 0, DMA errors 0, CC errors 0
VIN: 24.3V, MCU temperature: min 31.2C, current 31.9C, max 32.1C
Peak sync jitter -7/5, peak Rx sync delay 188, resyncs 0/0, no step interrupt scheduled
Updates:
The "Extrude" and "Retract" buttons in DWC are not greyed out, so they’re active. When I send an extrude command, the driver powers up, but the motor still doesn’t move, even after fixing the config.
The Mini5plus secondary config.g only has the command to set the CAN address to 30 (M954 A30).
I’ve simplified the tool definition in the main config.g to remove extra variables. I know I’ll need to add M567 for tool mixing later, but for now, I just want to get the motor moving.
I’m also attaching a diagram showing how the boards are connected on the CAN bus for further clarity and photo.
Thanks again for all the support! If you have any other ideas, I’m happy to try them out.