Adding the Duet 3 3HC for additional Extruders



  • In my config.g how do I map the additional stepper drivers ? Continue on as 6 7 ect ? Or is there a different way to map them ?


  • Moderator

    In RRF_3, M584 works the same way as in RRF_2, with exception that on Duet 3 the driver on expansion boards are assigned with <board address>.<driver number>. Example:
    M584 X0 Y1 Z2 E3:4:1.0:1.1
    The "0" index for the main board is implicit, this is equivalent to the previous example:
    
    M584 X0.0 Y0.1 Z0.2 E0.3:0.4:1.0:1.1
    

    https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview?revisionid=HEAD#Section_M584

    Does that make sense?

    The drivers on the expansion would be 1.0 , 1.1, etc.



  • @Phaedrux Makes perfect sense. Thank you.



  • @Phaedrux
    Here are the errors I am getting.
    10/16/2020, 7:49:32 PM Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 213C
    10/16/2020, 7:49:30 PM Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 213C
    10/16/2020, 7:49:30 PM Error: M906: Response timeout: CAN addr 1, req type 6017, RID=2
    10/16/2020, 7:49:30 PM Connection to Duet established
    10/16/2020, 7:49:30 PM Warning: Lost connection to Duet (Timeout while waiting for transfer ready pin)
    10/16/2020, 7:49:30 PM Error: M350: Response timeout: CAN addr 1, req type 6021, RID=1
    10/16/2020, 7:49:30 PM Connection to Duet established
    10/16/2020, 7:49:30 PM Warning: Lost connection to Duet (Timeout while waiting for transfer ready pin)
    10/16/2020, 7:49:29 PM Error: M569: Response timeout: CAN addr 1, req type 6018, RID=0

    ; 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.3 goes forwards
    M569 P1.0 S0
    M584 X0.0 Y0.1 Z0.2:3: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)


  • administrators

    The response timeout messages indicate that the EXP3HC board is not powered up and running, or its switches are not set to address 1, or the CAN connection is not working.



  • @dc42 I turned the printer off and then rechecked all the connections. It was set for board 1. I put all the dip switches up and turned it back on. All lights are on on the board. The diagnostic light blinks 4 times. I again turned it off and reset the dip switches. Moved them all to off then the number 1 to on again. And again all lights light up and the diagnostic light just flashes constantly.



  • @mrenz999
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode)
    Board ID: 08DJM-956L2-G43S8-6J1FA-3SJ6P-1B06G
    Used output buffers: 1 of 40 (11 max)
    === RTOS ===
    Static ram: 154604
    Dynamic ram: 162740 of which 20 recycled
    Exception stack ram used: 224
    Never used ram: 75628
    Tasks: ETHERNET(blocked,832) NETWORK(ready,1972) HEAT(blocked,1188) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1436) TMC(blocked,204) MAIN(running,4952) IDLE(ready,76)
    Owned mutexes:
    === Platform ===
    Last reset 12:35:41 ago, cause: software
    Last software reset at 2020-10-16 21:46, reason: User, spinning module LinuxInterface, available RAM 75420 bytes (slot 0)
    Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
    Error status: 0
    MCU temperature: min 41.8, current 42.3, max 43.6
    Supply voltage: min 24.1, current 24.1, max 24.2, 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: standstill, reads 21279, writes 14 timeouts 0, SG min/max 0/0
    Driver 1: standstill, reads 21280, writes 14 timeouts 0, SG min/max 0/0
    Driver 2: standstill, reads 21280, writes 14 timeouts 0, SG min/max 0/0
    Driver 3: standstill, reads 21281, writes 14 timeouts 0, SG min/max 0/0
    Driver 4: standstill, reads 21281, writes 14 timeouts 0, SG min/max 0/0
    Driver 5: standstill, reads 21282, writes 14 timeouts 0, SG min/max 0/0
    Date/time: 2020-10-17 10:21:51
    Slowest loop: 1051.27ms; 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: 375, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, 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: 2.30ms; 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 181318, longest wait 0ms for type 0
      === Linux interface ===
      State: 0, failed transfers: 2
      Last transfer: 24ms ago
      RX/TX seq numbers: 39558/39560
      SPI underruns 2, overruns 2
      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.68

  • administrators

    If CAN communication is working, then the LED on the EXP3HC board should blink slowly in sync with the one on the main board.

    If instead the LED on the EXP3HC blinks rapidly and continuously, that means the firmware is running but it does not have CAN communication with the main board.

    If instead it flashes a number of times, then remains off for a while, then repeats, the number of flashes is an error code.



  • @dc42 So when I switch it back to all Dip switches off it flashes 4 times, pauses, and again 4 times. I could not find anything that says what the flashes mean.
    Is the CAN connection cable a simple ethernet cable ?


  • Moderator

    @mrenz999 said in Adding the Duet 3 3HC for additional Extruders:

    Is the CAN connection cable a simple ethernet cable ?

    https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Hardware_Overview#Section_CAN_FD_Bus_expansion

    The CAN BUS is connected via RJ11 and at least 2 core twisted pair, although 6 core RJ11 is more common.

    https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Error_codes

    4 flashes: the bootloader requested a firmware data block from the main board, but the main board didn't respond in time


  • administrators

    It sounds like the CAN connection isn't present. What does the LED do if you set the board address to 1 by setting position 1 of the switch to On?



  • @dc42 Constant blinking when set to 1. If I set them all off to 0 it gives the 4 blinks, pauses and 4 blinks. Continues that. I verified nothing was in either of the CAN connectors and cleaned the contacts, then replugged it in. Still the same result.


  • administrators

    Is the constant blinking rapid, or is it slow and in sync with the blinking LED on the main board?

    If it is rapid blinking, then it sounds to me that you don't have the correct CAN bus wiring. What cable are you using between the MB6HC main board and the EXP3HC expansion board?



  • @dc42 Rapid blinking. I am using the CAN cable that came with the 3HC when I purchased it from filastruder.



  • @dc42 I have a DSL cable. Plugged that in and getting the same result. Did I get a bad board ? Is there something else I can try ?


  • administrators

    As you have tried a different cable, I suspect that either the main board or the expansion board has a faulty CAN port. Please contact your supplier and discuss with them whether they wish to try replacing just one of them or would rather you return both of them.



  • Forgive me for stating the obvious, or if you have checked already:

    DSL cables come in 2 flavours, 1:1 wiring and cross over.
    The first few I grabbed out of my junk box were cross over, didn't work.
    Wasted an hour debugging.

    1:1 is needed for Duet 3


  • administrators

    Good point! Use a multimeter to check that the two middle pins of the RJ11 connectors are wired straight through.



  • @dc42 It is correctly wired. Tested both the DSL and the Cable I purchased with the 3HC from filastruder. So the cables aren't the issue.


  • administrators

    Thanks! Please contact Filastruder and see how they want to establish which board has the faulty CAN port. Assuming neither board shows signs of damage, my guess is that it's the MB6HC, because almost all the tests we do on the EXP3HC rely on the CAN port working.



  • @dc42 Will do. Neither have any visible signs of damage.



  • @dc42 Emailed filastruder. Filled out the warranty form. Looks like I need to mail it back and then a few days after they receive the board a replacement will be sent out.


Log in to reply