Driver out of range - DUET3 with 1XD
-
Hi,
I'm trying to run my extruder with an external stepper driver (2DM2280) controlled with the 1XD expansion board (wired according to "Differential connection"). Currently I can't get the motor to turn.
I've set the 1XD CAN address to 40 and tested communications:
M115 B40 Duet EXP1XD firmware version 3.4.4 (2022-10-14 11:45:39) M122 B40 Diagnostics for board 40: Duet EXP1XD firmware version 3.4.4 (2022-10-14 11:45:39) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) All averaging filters OK Never used RAM 5556, free system stack 88 words Tasks: Move(notifyWait,0.0%,153) HEAT(notifyWait,0.1%,109) CanAsync(notifyWait,0.0%,64) CanRecv(notifyWait,0.0%,77) CanClock(notifyWait,0.0%,64) MAIN(running,96.5%,448) IDLE(ready,0.0%,40) AIN(delaying,3.4%,142), total 100.0% Last reset 00:02:20 ago, cause: software Last software reset data not available Driver 0: pos 0, 80.0 steps/mm, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 1/4, peak Rx sync delay 200, resyncs 0/0, no step interrupt scheduled VIN voltage: min 26.5, current 26.5, max 26.5 MCU temperature: min 22.0C, current 22.6C, max 22.8C Last sensors broadcast 0x00000000 found 0 115 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 1146, send timeouts 4, received 1219, lost 0, free buffers 37, min 37, error reg 110000 Last cancelled message type 4525 dest 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
This is my config.g:
; Configuration file for Duet 3 MB 6HC (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.12 on Fri Aug 05 2022 12:05:46 GMT+0300 (Israel Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"K6" ; set printer name G4 S2 ; wait for expansion boards to start ; Network M552 P192.168.2.3 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.2 S0 ; physical drive 0.2 goes forwards M569 P0.0 S0 ; physical drive 0.0 goes forwards M569 P0.1 S1 M569 P0.3 S0 ; physical drive 0.3 goes forwards M569 P40 S1 R1 ; physical drive 0.4 goes forwards M569 P40 T20:20:20:20 M584 X0.2 Y0.0:0.1 Z0.3 E40 ; set drive mapping M350 X8 Y16 Z16 I1 ; configure microstepping with interpolation M92 X320.00 Y132.84 Z640.00 E420.00 ; set steps per mm M566 X30 Y200 Z30 E50.00 ; set maximum instantaneous speed changes (mm/min) M203 X180 Y1800 Z180 E120.00 ; set maximum speeds (mm/min) M201 X20.00 Y120.00 Z20.00 E25.00 ; set accelerations (mm/s^2) M906 X2500 Y4000 Z2500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X300 Y210 Z50 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in M574 Y1 S1 P"io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io2.in M574 Z1 S1 P"io4.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io3.in ; Z-Probe M558 P0 H0 F120 T1200 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H1 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H1 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H1 ; map heated bed to heater 0 M143 H1 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 M308 S0 P"spi.cs1" Y"thermocouple-max31856"; M950 H0 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H0 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out4" Q500 ; create fan 0 on pin out4 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 ; Tools M563 P0 D40 H0 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C T0 ; Custom settings are not defined
And these are the errors I get:
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: Driver number 40 out of range Error: Driver number 40 out of range Error: bad drive number Error: in file macro line 69: G10: Invalid tool number Error: in file macro line 70: G10: Invalid tool number
I've updated to the latest firmware (3.4.4 zip bundle)
When I try to run the extruder (for example G1 E1) I make sure to allow cold extrusion (M302 P1).Any help would be greatly appreciated.
Thanks
-
M584 X0.2 Y0.0:0.1 Z0.3 E40 ; set drive mapping
That should be E40.0 i.e. board 40 driver 0. Same for the P parameter in the M569 commands.
-
@dsela said in Driver out of range - DUET3 with 1XD:
Thanks.. I changed everywhere to E40.0 (Also in tools section). I still get these errors:
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: bad drive number Error: in file macro line 69: G10: Invalid tool number Error: in file macro line 70: G10: Invalid tool number
Updated config.g file:
; Configuration file for Duet 3 MB 6HC (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.12 on Fri Aug 05 2022 12:05:46 GMT+0300 (Israel Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"K6" ; set printer name G4 S2 ; wait for expansion boards to start ; Network M552 P192.168.2.3 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.2 S0 ; physical drive 0.2 goes forwards M569 P0.0 S0 ; physical drive 0.0 goes forwards M569 P0.1 S1 M569 P0.3 S0 ; physical drive 0.3 goes forwards M569 P40.0 S1 R1 ; physical drive 0.4 goes forwards M569 P40.0 T20:20:20:20 M584 X0.2 Y0.0:0.1 Z0.3 E40.0 ; set drive mapping M350 X8 Y16 Z16 I1 ; configure microstepping with interpolation M92 X320.00 Y132.84 Z640.00 E420.00 ; set steps per mm M566 X30 Y200 Z30 E50.00 ; set maximum instantaneous speed changes (mm/min) M203 X180 Y1800 Z180 E120.00 ; set maximum speeds (mm/min) M201 X20.00 Y120.00 Z20.00 E25.00 ; set accelerations (mm/s^2) M906 X2500 Y4000 Z2500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X300 Y210 Z50 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in M574 Y1 S1 P"io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io2.in M574 Z1 S1 P"io4.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io3.in ; Z-Probe M558 P0 H0 F120 T1200 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H1 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H1 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H1 ; map heated bed to heater 0 M143 H1 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 M308 S0 P"spi.cs1" Y"thermocouple-max31856"; M950 H0 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H0 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out4" Q500 ; create fan 0 on pin out4 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 ; Tools M563 P0 D40.0 H0 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C T0 ; Custom settings are not defined
-
Update - After I saw another post on the matter I've changed the M563 to D0 (instead of D40.0). Now I get no errors and the motor turns.
Thanks a lot! -
-