Duet 3 SBC Addon Driver Board
-
Ok so I just received and hooked my Duet 3 back. Couldn't get it to connect to the addon board. I now have it connected. I have X,Y 3 Z and 1 E on the mainboard. 1 E on the addon board. On the dashboard under extrusion it doesn't show anything to indicate that there are 2 extruders. On the status screen under Extrusion factors it shows 2 Extruders. I tried to load filament and only 1 of the extruder motors moved. I will post Config.g
; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S0 ; physical drive 0.1 goes backwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.4 S0 ; physical drive 0.4 goes backwards
M569 P0.5 S0 ; physical drive 0.5 goes forwards
M569 P1.0 S0 ; physical drive 1.0 goes forwards
M584 X0.0 Y0.1 Z0.2:0.3:0.4 E0.5:1.0 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X100.00 Y100.00 Z400.00 E408 ; set steps per mm
M566 X600.00 Y600.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
M203 X20000 Y20000 Z600 E2000.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z600.00 E5000.00 ; set accelerations (mm/s^2)
M906 X1300 Y1300 Z1300 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X-40:460:460 Y150:310:50 S9 ; leadscrews at rear left, front middle and rear right -
Post the full config.g
Also post the results of M122 and M98 P"config.g" -
@Phaedrux said in Duet 3 SBC Addon Driver Board:
M98 P"config.g"
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 213C Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 213C 11/2/2020, 6:51:33 PM m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TN-6J1FG-3SS6J-TU9YV Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 154604 Dynamic ram: 162948 of which 96 recycled Exception stack ram used: 400 Never used ram: 75168 Tasks: ETHERNET(blocked,832) NETWORK(ready,1972) HEAT(blocked,1188) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1436) TMC(blocked,68) MAIN(running,4952) IDLE(ready,76) Owned mutexes: === Platform === Last reset 00:30:37 ago, cause: software Last software reset at 2020-11-02 18:20, reason: User, spinning module LinuxInterface, available RAM 75336 bytes (slot 0) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04432000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 39.3, current 41.1, max 41.7 Supply voltage: min 24.2, current 24.3, max 24.3, 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: standstill, reads 38876, writes 17 timeouts 0, SG min/max 0/0 Driver 1: standstill, reads 38877, writes 17 timeouts 0, SG min/max 0/0 Driver 2: standstill, reads 38877, writes 17 timeouts 0, SG min/max 0/0 Driver 3: standstill, reads 38878, writes 17 timeouts 0, SG min/max 0/0 Driver 4: standstill, reads 38879, writes 17 timeouts 0, SG min/max 0/0 Driver 5: standstill, reads 38860, writes 36 timeouts 0, SG min/max 0/200 Date/time: 2020-11-02 18:51:25 Slowest loop: 5.46ms; fastest: 0.14ms === 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 === Hiccups: 0(0), FreeDm: 375, MinFreeDm: 374, MaxWait: 173760ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 15, completed moves: 15, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 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 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP* is ready with "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. === Network === Slowest loop: 1.74ms; fastest: 0.01ms 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: 0 of 8 - Ethernet - State: establishingLink Error counts: 0 0 0 0 0 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages sent 7321, longest wait 1ms for type 6021 === Linux interface === State: 0, failed transfers: 0 Last transfer: 19ms ago RX/TX seq numbers: 59778/59780 SPI underruns 0, overruns 0 Number of disconnects: 0 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.1.1 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 32.66
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Tue Jun 16 2020 08:02:01 GMT-0700 (Pacific Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves G21 ; Set units to MM M550 P"Duet 3" ; set printer name M669 K1 ; select CoreXY mode ;Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S0 ; physical drive 0.1 goes backwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S0 ; physical drive 0.4 goes backwards M569 P0.5 S0 ; physical drive 0.5 goes forwards M569 P1.0 S0 ; physical drive 1.0 goes forwards M584 X0.0 Y0.1 Z0.2:0.3:0.4 E0.5:1.0 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E408 ; set steps per mm M566 X600.00 Y600.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X20000 Y20000 Z600 E2000.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z600.00 E5000.00 ; set accelerations (mm/s^2) M906 X1300 Y1300 Z1300 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M671 X-40:460:460 Y150:310:50 S9 ; leadscrews at rear left, front middle and rear right ; Axis Limits M208 X Y0 Z0 S1 ; set axis minima M208 X410 Y410 Z465 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io0.in" ; configure active-high endstop for low end on X via pin !io0.in M574 Y1 S1 P"!io1.in" ; configure active-high endstop for low end on Y via pin !io1.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe ;M950 S0 C"io7.out" ; create servo pin 0 for BLTouch ;M558 P9 C"^io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds height + speeds ;G31 P500 X-40 Y-10 Z6 ; set Z probe trigger value, offset and trigger height ;M557 X20:430 Y15:410 S20 ; define mesh grid Z-Probe M558 P1 C"!io7.in" H5 F120 T6000 G31 P500 X-40 Y-10 Z2 M557 X20:430 Y15:410 S20 ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4008 ; 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 S1.00 ; disable 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 B3950 ; 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 S300 M307 H0 A188.5 C683.1 D0.2 S1.0 V24.1 B0 M307 H1 A351.2 C120.5 D7.2 S1.0 V24.1 B0 ; Fans M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"out9" Q500 ; create fan 2 on pin out9 and set its frequency M106 P2 S1 H-1 ; set fan 2 value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 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 ; Custom settings are not defined ; Miscellaneous T0 M575 P1 S1 B57600 ; enable support for PanelDue M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M501
edit: formatting
-
Is the addon board a tool board or 3 driver expansion?
-
@Phaedrux Sorry the 3 Driver board
-
M92 X100.00 Y100.00 Z400.00 E408 ; set steps per mm M566 X600.00 Y600.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X20000 Y20000 Z600 E2000.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z600.00 E5000.00 ; set accelerations (mm/s^2) M906 X1300 Y1300 Z1300 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
In this section your second E driver will need to have values defined for it. exp:
M906 E800:800
-
; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4008 ; 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 S1.00 ; disable 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 B3950 ; 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 S300 M307 H0 A188.5 C683.1 D0.2 S1.0 V24.1 B0 M307 H1 A351.2 C120.5 D7.2 S1.0 V24.1 B0
You've only got a bed and single tool heater defined here. Is there more than one tool heater?
-
@Phaedrux No, only 1 tool. It's a 2 in 1 out hotend. In the M906 I only have one for my Z which has three drivers. Should that be changed as well ?
-
; Tools M563 P0 D0 H1 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
Same goes for the tool definition. You've only got a single defined.
I think you might want to go through the config tool again and generate a new config for your tools. You can copy over the 3 Z axis parts from your existing config.
-
@Phaedrux With a single tool I should do that ?
-
@mrenz999 said in Duet 3 SBC Addon Driver Board:
No, only 1 tool. It's a 2 in 1 out hotend.
Well if you want to drive 2 extruder independently you'll need to define a second tool. It may be a single nozzle, but it's still 2 tools. They can share the heater and fans, and have different extruder drives assigned.
If you only had a single tool defined how would the slicer tell the printer to use the other filament input? It needs to send a tool change command (T0 / T1) to change tools which tells the firmware to use the other extruder.
@mrenz999 said in Duet 3 SBC Addon Driver Board:
In the M906 I only have one for my Z which has three drivers. Should that be changed as well ?
No, Z axis is a single axis with identical motors, so only a single value there. The E axis is different because each extruder is independent and may have different motors and must be defined per extruder.
-
@Phaedrux said in Duet 3 SBC Addon Driver Board:
M92 X100.00 Y100.00 Z400.00 E408 ; set steps per mm M566 X600.00 Y600.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X20000 Y20000 Z600 E2000.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z600.00 E5000.00 ; set accelerations (mm/s^2) M906 X1300 Y1300 Z1300 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
In this section your second E driver will need to have values defined for it. exp:
M906 E800:800
Also, just to be clear you need a second E value for all of those commands. If the extruder motors are identical, they should be the same value, but show up twice separated by a colon.
:
-
So it's better to rerun the configuration tool than to add a tool ?
On an unrelated note. Do I need the SD card in the Duet 3 with SBC ? -
The tool definition would look like this
; Tools M563 P0 D0 H1 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 ; Tools M563 P1 D1 H1 F0 ; define tool 1 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
The only difference is that it assigns the second extruder to tool1. The heater and fan stays the same and there is no offset since it's the same nozzle.
-
@mrenz999 said in Duet 3 SBC Addon Driver Board:
So it's better to rerun the configuration tool than to add a tool ?
Nah, in this case the tool definition I provided should be enough as long as you fix those other commands to have both extruder values included. (m92, M201, etc)
@mrenz999 said in Duet 3 SBC Addon Driver Board:
Do I need the SD card in the Duet 3 with SBC ?
No. In SBC mode the SD card goes in the SBC only.
If you ever wanted to switch to standalone mode (sometimes useful for troubleshooting) you would need a separeate SD card (ideally) and put your config files on it, and put it in the Duet, then disconnect the SBC.
-
@Phaedrux Ok. Going to edit and see what happens
Thank you. -
@Phaedrux Should I see 2 extrusion controls ? On the Dashboard screen ?
-
Edits complete. Shows 2 tools now but still no movement for the 2nd extruder.
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.3 on Tue Jun 16 2020 08:02:01 GMT-0700 (Pacific Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
G21 ; Set units to MM
M550 P"Duet 3" ; set printer name
M669 K1 ; select CoreXY mode;Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S0 ; physical drive 0.1 goes backwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.4 S0 ; physical drive 0.4 goes backwards
M569 P0.5 S1 ; physical drive 0.5 goes forwards
M569 P1.0 S0 ; physical drive 1.0 goes forwards
M584 X0.0 Y0.1 Z0.2:0.3:0.4 E0.5:1.0 ; set drive mapping
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X100.00 Y100.00 Z400.00 E408:408 ; set steps per mm
M566 X600.00 Y600.00 Z24.00 E300.00:300.00 ; set maximum instantaneous speed changes (mm/min)
M203 X20000 Y20000 Z600 E2000.00:2000.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z600.00 E5000.00:5000.00 ; set accelerations (mm/s^2)
M906 X1300 Y1300 Z1300 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X-40:460:460 Y150:310:50 S9 ; leadscrews at rear left, front middle and rear right; Axis Limits
M208 X Y0 Z0 S1 ; set axis minima
M208 X410 Y410 Z465 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!io0.in" ; configure active-high endstop for low end on X via pin !io0.in
M574 Y1 S1 P"!io1.in" ; configure active-high endstop for low end on Y via pin !io1.in
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
;M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
;M558 P9 C"^io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds height + speeds
;G31 P500 X-40 Y-10 Z6 ; set Z probe trigger value, offset and trigger height
;M557 X20:430 Y15:410 S20 ; define mesh grid
Z-Probe
M558 P1 C"!io7.in" H5 F120 T6000
G31 P500 X-40 Y-10 Z2
M557 X20:430 Y15:410 S20; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4008 ; 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 S1.00 ; disable 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 B3950 ; 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 S300
M307 H0 A188.5 C683.1 D0.2 S1.0 V24.1 B0
M307 H1 A351.2 C120.5 D7.2 S1.0 V24.1 B0; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off
M950 F2 C"out9" Q500 ; create fan 2 on pin out9 and set its frequency
M106 P2 S1 H-1 ; set fan 2 value. Thermostatic control is turned off; Tools
M563 P0 D0 H1 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; Tools
M563 P1 D1 H1 F0
G10 P0 X0 Y0 Z0
G10 P0 R0 S0; Custom settings are not defined
; Miscellaneous
T0
M575 P1 S1 B57600 ; enable support for PanelDue
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
M501 -
@mrenz999 said in Duet 3 SBC Addon Driver Board:
Shows 2 tools now but still no movement for the 2nd extruder.
You need to select the tool you want to control. (click it's name in the web interface, or send T0 or T1)