Deut 6HC - 3HC - 1LC CAN problem
-
I have my 6hc connected to a 3HC (CAN-1) and then on to a 1LC (CAN-121) . The 1LC is a new addition and I have soldered the terminator pads and a microswitch to the board, and removed the terminator jumpers form the 3HC. When I was testing yesterday it worked fine and the switch was triggering and the sync lights were working on all boards. So, I broke it down, attached it to the printer and fired it back up but this time I have a fast flashing sync light on the 1LC and the 3HC is syncing and working fine. I've checked continuity on the CAN cable to the 1LC, replaced the cable, unplugged everything from the 1LC, and tried connecting directly to the 6HC but I am still getting a fast flashing sync LED.
I don't have a very solid understanding of the wiring for CAN but I have definitely got CAN_L to CAN_L and CAN_H to CAN_H, I've reached the end of my ability with troubleshooting this one and hoping for a bit of help1/20/2023, 11:46:58 AM M115 B1
Duet EXP3HC firmware version 3.3 (2021-06-15 16:12:41)1/20/2023, 11:46:54 AM M115 B121
Error: M115: Response timeout: CAN addr 121, req type 6024, RID=10Board: Duet 3 MB6HC (MB6HC)
Firmware: RepRapFirmware for Duet 3 MB6HC 3.4.5 (2022-11-30)Duet Web Control 3.4.5
-
I noticed the differing firmware between the 6HC and 3HC and just updated it, no change to the problem though:
M115 B1
Duet EXP3HC rev 1.01 or earlier firmware version 3.4.4 (2022-10-14 11:45:56) -
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.5 (2022-11-30 19:35:23) running on Duet 3 MB6HC v1.01 (standalone mode) Board ID: 08DJM-9P63L-DJMSS-6J1DG-3S46Q-KVF38 Used output buffers: 3 of 40 (22 max) === RTOS === Static ram: 152760 Dynamic ram: 97592 of which 100 recycled Never used RAM 100220, free system stack 200 words Tasks: NETWORK(ready,29.1%,238) ETHERNET(notifyWait,0.2%,401) HEAT(notifyWait,0.0%,322) Move(notifyWait,0.0%,351) CanReceiv(notifyWait,0.0%,774) CanSender(notifyWait,0.0%,336) CanClock(delaying,0.0%,333) TMC(notifyWait,8.1%,91) MAIN(running,61.1%,925) IDLE(ready,1.6%,30), total 100.0% Owned mutexes: LwipCore(NETWORK) === Platform === Last reset 00:10:02 ago, cause: power up Last software reset at 2023-01-20 11:42, reason: User, GCodes spinning, available RAM 100176, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 291 MCU temperature: min 35.7, current 42.8, max 43.1 Supply voltage: min 23.3, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Events: 1 queued, 1 completed Driver 0: standstill, SG min 0, mspos 0, reads 4678, writes 14 timeouts 0 Driver 1: standstill, SG min 0, mspos 0, reads 4678, writes 14 timeouts 0 Driver 2: standstill, SG min 0, mspos 0, reads 4679, writes 14 timeouts 0 Driver 3: standstill, SG min 0, mspos 8, reads 4682, writes 11 timeouts 0 Driver 4: standstill, SG min 0, mspos 0, reads 4679, writes 14 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 4682, writes 11 timeouts 0 Date/time: 2023-01-20 12:19:55 Slowest loop: 26.88ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.2ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle 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 === CAN === Messages queued 5401, received 4457, lost 0, boc 6034 Longest wait 3ms for reply type 6024, peak Tx sync delay 64224, free buffers 50 (min 49), ts 3014/983/0 Tx timeouts 0,0,53,0,0,40 last cancelled message type 4514 dest 127 === Network === Slowest loop: 6.40ms; fastest: 0.03ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = State: active Error counts: 0 0 0 0 0 0 Socket states: 5 2 2 2 2 2 0 2 === Multicast handler === Responder is inactive, messages received 0, responses 0
Diagnostics for board 1: Duet EXP3HC rev 1.01 or earlier firmware version 3.4.4 (2022-10-14 11:45:56) Bootloader ID: SAME5x bootloader version 2.3 (2021-01-26b1) All averaging filters OK Never used RAM 158932, free system stack 200 words Tasks: Move(notifyWait,0.0%,160) HEAT(notifyWait,0.0%,84) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,82) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.5%,99) MAIN(running,91.2%,436) IDLE(ready,0.0%,40) AIN(delaying,1.3%,263), total 100.0% Last reset 00:09:09 ago, cause: power up Last software reset data not available Driver 0: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 15651, writes 11 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 15652, writes 11 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 15652, writes 11 timeouts 0, 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 -6/16, peak Rx sync delay 176, resyncs 0/0, no step interrupt scheduled VIN voltage: min 24.2, current 24.2, max 24.2 V12 voltage: min 10.7, current 12.3, max 12.3 MCU temperature: min 33.9C, current 34.9C, max 35.4C Last sensors broadcast 0x00000000 found 0 63 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 4423, send timeouts 400, received 1329, lost 0, free buffers 37, min 37, error reg ff7478 Last cancelled message type 4525 dest 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
-
@Ben-0 assuming is the same PSU powering all three boards?
Assuming it is, then almost certainly there is a wiring problem. Here's a quick test you can do. The 3HC has a 4-pin termination jumper block. With power off, use a multimeter to measure the resistance between the two outer pins. It should be 60 ohms because there are 120 ohm termination resistors on both the main board and the tool board. If it reads 120 ohms then it's likely there is a bad connection between the 3HC and the 1LC. If it's 60 ohms then double check that CANL and CANH are not swapped between the 3HC and the 1LC.