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 ?
-
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) -
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
- Ethernet -
-
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 ? -
@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
-
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.
-
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 ?
-
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
-
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.
-
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.