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


  • Moderator

    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


  • Moderator

    Is the addon board a tool board or 3 driver expansion?



  • @Phaedrux Sorry the 3 Driver board


  • Moderator

    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


  • Moderator

    ; 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 ?


  • Moderator

    ; 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 ?


  • Moderator

    @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.


  • Moderator

    @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 ?


  • Moderator

    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.


  • Moderator

    @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 ?



  • @Phaedrux

    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


  • Moderator

    @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)


Log in to reply