@developeralgo222 @dc42 & @droftarts Finally got this fixed . The issue was bad cable /connection from 6XD to Expansion Board 1 of 3HC . Never trust any cables from China , OMG when i decided to splice them , they are really crappy no shields and no proper insulations per pair. Buyer be aware.Have seen this in many chinese made products on Amazon.

developeralgo222
@developeralgo222
AI , Bitaxe , Jabit, Hardware and Software engineering
Best posts made by developeralgo222
-
RE: Duet 3HC Expansion looses Connection
-
RE: Duet 3HC Expansion looses Connection
@droftarts said in Duet 3HC Expansion looses Connection:
@developeralgo222 Yes, that is correct. The three V- terminals on each power supply are basically one output, they are linked to the same rail. Use a decent sized gauge of wire, at least as big as the other power wires.
I asked @dc42 the other day if your problem might be down to an issue with shared ground. I hadn't spotted that you are using two PSUs. However, I thought the CAN bus was pretty tolerant of this sort of thing, but maybe not.
Ian
connected the cable ,now they are syncing without any timeouts
M122 B1 Diagnostics for board 1: Duet EXP3HC rev 1.02 or later firmware version 3.5.0-rc.2 (2023-12-14 08:56:47) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 156976, free system stack 202 words Tasks: Move(3,nWait,0.0%,182) HEAT(2,nWait,0.0%,138) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,5.7%,103) MAIN(1,running,93.1%,413) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.1%,263), total 100.0% Last reset 00:00:42 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 35139, writes 11 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 35139, writes 11 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 35140, writes 11 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -4/5, peak Rx sync delay 156, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.2, current 24.2, max 24.2 V12 voltage: min 12.4, current 12.4, max 12.4 MCU temperature: min 17.9C, current 20.5C, max 20.5C Last sensors broadcast 0x00000000 found 0 142 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 364, send timeouts 0, received 221, lost 0, errs 54, boc 0, free buffers 38, min 38, error reg 360000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 ok M122 B2 Diagnostics for board 2: Duet EXP3HC rev 1.02 or later firmware version 3.5.0-rc.2 (2023-12-14 08:56:47) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 156976, free system stack 202 words Tasks: Move(3,nWait,0.0%,182) HEAT(2,nWait,0.0%,120) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,5.7%,103) MAIN(1,running,93.1%,436) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.1%,263), total 100.0% Last reset 00:00:46 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 48746, writes 11 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 48746, writes 11 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 48747, writes 11 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -5/7, peak Rx sync delay 157, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.3, current 24.3, max 24.3 V12 voltage: min 12.3, current 12.3, max 12.4 MCU temperature: min 21.1C, current 23.9C, max 23.9C Last sensors broadcast 0x00000000 found 0 133 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 392, send timeouts 0, received 239, lost 0, errs 57, boc 0, free buffers 38, min 38, error reg 3a0000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 ok M122 B3 Diagnostics for board 3: Duet EXP3HC rev 1.02 or later firmware version 3.5.0-rc.2 (2023-12-14 08:56:47) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 156976, free system stack 202 words Tasks: Move(3,nWait,0.0%,182) HEAT(2,nWait,0.0%,120) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,5.7%,103) MAIN(1,running,93.1%,424) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.1%,263), total 100.0% Last reset 00:00:53 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 10560, writes 11 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 10560, writes 11 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 10561, writes 11 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -7/6, peak Rx sync delay 155, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.2, current 24.2, max 24.2 V12 voltage: min 12.3, current 12.3, max 12.4 MCU temperature: min 21.1C, current 23.8C, max 23.8C Last sensors broadcast 0x00000000 found 0 143 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 448, send timeouts 0, received 275, lost 0, errs 60, boc 0, free buffers 38, min 38, error reg 3c0000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 ok M122 B4 Diagnostics for board 4: Duet EXP3HC rev 1.02 or later firmware version 3.5.0-rc.2 (2023-12-14 08:56:47) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 156976, free system stack 204 words Tasks: Move(3,nWait,0.0%,182) HEAT(2,nWait,0.0%,120) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,5.7%,103) MAIN(1,running,93.1%,429) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.1%,263), total 100.0% Last reset 00:00:55 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 21146, writes 11 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 21147, writes 11 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 21147, writes 11 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -5/4, peak Rx sync delay 153, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.2, current 24.3, max 24.3 V12 voltage: min 12.4, current 12.4, max 12.4 MCU temperature: min 21.6C, current 24.4C, max 24.4C Last sensors broadcast 0x00000000 found 0 110 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 470, send timeouts 0, received 287, lost 0, errs 63, boc 0, free buffers 38, min 38, error reg 3f0000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 ok M122 B0 === Diagnostics === RepRapFirmware for Duet 3 MB6XD version 3.5.0-rc.2 (2023-12-14 10:33:00) running on Duet 3 MB6XD v1.01 or later (standalone mode) Board ID: 0JD2M-999AL-D25S0-7J9DA-3SJ6S-T43V2 Used output buffers: 1 of 40 (7 max) === RTOS === Static ram: 153284 Dynamic ram: 117344 of which 0 recycled Never used RAM 72508, free system stack 176 words Tasks: NETWORK(1,ready,105.3%,182) ETHERNET(5,nWait,0.0%,312) HEAT(3,nWait,0.0%,369) Move(4,nWait,0.0%,340) CanReceiv(6,nWait,0.0%,797) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,342) MAIN(1,running,226.8%,444) IDLE(0,ready,2.7%,30), total 334.8% Owned mutexes: USB(MAIN) === Platform === Last reset 02:16:05 ago, cause: power up Last software reset at 2024-01-15 20:32, reason: User, Gcodes spinning, available RAM 72304, 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 MCU temperature: min 25.5, current 42.1, max 42.7 Supply voltage: min 0.1, current 24.0, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 0.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok Driver 1: ok Driver 2: ok Driver 3: ok Driver 4: ok Driver 5: ok Date/time: 1970-01-01 00:00:00 Slowest loop: 21.40ms; fastest: 0.07ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.5ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is ready with "M122 B0" 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 40919, received 2240, lost 0, errs 39255999, boc 1404 Longest wait 2ms for reply type 6024, peak Tx sync delay 22911, free buffers 50 (min 49), ts 40828/341/0 Tx timeouts 0,0,39777,47,0,0 last cancelled message type 30 dest 127 === Network === Slowest loop: 0.47ms; fastest: 0.03ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 0 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 1 0 0 Socket states: 2 2 2 2 2 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0 ok
-
RE: Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards
@droftarts said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:
@developeralgo222 said in [Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards]
This sounds like the functionality that we need to replicate. Like I've said, the enable wires aren't connected on either of the links you sent. My best guess is that the enable signal isn't quite right, but it seems to work with Mach3 with enable disconnected. Disconnect the enable wires.@droftarts , i disconnected and the ENABLE Wires from the External Drive and the Duet 6XD and that did the trick. Now i am able to move X and Y -axis Motors now
-
RE: Duet 3 3HC to external DM542 Driver and a Stepper Motor
The 6HC, 3HC, and 1HCL internally derive the STEP/DIR/etc and can directly control the phases of the stepper motors - like you said, you can connect the A+ to A+, A- to A-, B+ to B+, and B- to B- to directly drive the stepper motors.
This is helpful to know that 3HC internally derive the STEP/DIR/etc and can directly control the phases of the stepper motors and i don't need the External Drivers for fine tunning microsteps of STEP/DIR/ENA etc
-
RE: Duet 3HC Expansion looses Connection
@oliof said in Duet 3HC Expansion looses Connection:
@developeralgo222 and just to be sure, termination only happens on the last 3HC in the chain?
Yes
-
RE: Duet 3HC Expansion looses Connection
@infiniteloop said in Duet 3HC Expansion looses Connection:
Decided to retest the isolated boards (Test bench setup )
Thank you for the tests. Looks like some meters of CAN more or less make a difference - that’s not OK at all. Could you please run two quick tests on the bench, both starting with the setup as on the photo:
- physically swap 3HC boards #1 and #2 in the CAN chain, take the 15m cable to link the 6XD with 3HC2 (chaining 6XD -> 3HC2 -> 3HC1 -> 3HC3 -> 3HC4). No change of IDs. This is to see whether a different CAN port on at least one end of the connection with the 6XD makes a difference or not.
TEST 1
- Same Test with 0.5m and 4m Works OK, Syncs and No errors
- Same Test with 15m Kenable ADSL 2+ cable Does Not Work . Just reconnected errors and CAN timeout errors
...... 1/28/2024, 6:08:17 PM Error: Expansion board 3 reconnected 1/28/2024, 6:08:15 PM Error: Expansion board 4 reconnected ..... ... 1/28/2024, 6:11:03 PM M122 B0 === Diagnostics === RepRapFirmware for Duet 3 MB6XD version 3.5.0-rc.2 (2023-12-14 10:33:00) running on Duet 3 MB6XD v1.01 or later (standalone mode) Board ID: 0JD2M-999AL-D25S0-7J9DA-3SJ6S-T43V2 Used output buffers: 1 of 40 (29 max) === RTOS === Static ram: 153284 Dynamic ram: 117412 of which 0 recycled Never used RAM 72440, free system stack 204 words Tasks: NETWORK(1,ready,29.1%,172) ETHERNET(5,nWait,0.1%,323) HEAT(3,nWait,0.0%,369) Move(4,nWait,0.0%,340) CanReceiv(6,nWait,0.0%,795) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,342) MAIN(1,running,50.4%,444) IDLE(0,ready,20.4%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:05:22 ago, cause: power up Last software reset at 2024-01-19 15:33, reason: User, Gcodes spinning, available RAM 71300, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 30.5, current 42.7, max 42.9 Supply voltage: min 23.9, current 24.0, 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 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0 Events: 265 queued, 265 completed Driver 0: ok Driver 1: ok Driver 2: ok Driver 3: ok Driver 4: ok Driver 5: ok Date/time: 2024-01-28 18:11:00 Slowest loop: 1200.90ms; fastest: 0.07ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.8ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is ready with "M122 B0" 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 1972, received 923, lost 0, errs 12242198, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 49), ts 1614/0/0 Tx timeouts 0,0,1613,58,0,298 last cancelled message type 30 dest 127 === Network === Slowest loop: 7.24ms; fastest: 0.03ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 1 0 0 Socket states: 5 5 2 2 2 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0 1/28/2024, 6:11:03 PM Error: Expansion board 4 reconnected 1/28/2024, 6:11:00 PM CAN response timeout: board 4, req type 6024, RID 58 Error: Expansion board 4 reconnected Error: Expansion board 4 reconnected 1/28/2024, 6:10:59 PM M122 B4 ......... ......... Error: Expansion board 4 reconnected 1/28/2024, 6:10:58 PM Error: Expansion board 4 reconnected ............ 1/28/2024, 6:10:56 PM CAN response timeout: board 3, req type 6024, RID 57 Error: Expansion board 4 reconnected Error: Expansion board 2 stopped sending status 1/28/2024, 6:10:54 PM M122 B3 ............ ............ Error: Expansion board 4 reconnected 1/28/2024, 6:10:53 PM Error: Expansion board 4 reconnected ...... ...... 1/28/2024, 6:10:52 PM CAN response timeout: board 2, req type 6024, RID 56 1/28/2024, 6:10:50 PM M122 B2 ....... 1/28/2024, 6:10:50 PM Error: Expansion board 4 reconnected Error: Expansion board 4 reconnected ....... 1/28/2024, 6:10:49 PM Error: Expansion board 2 stopped sending status ...... 1/28/2024, 6:10:46 PM M122 B1 CAN response timeout: board 1, req type 6024, RID 55
TEST 2:
- again starting with the initial arrangement, replace the short cable between 3HC3 and 3HC4 with the 15m one. The result might indicate a problem with either the overall length of the CAN bus, or the position of the long section within the chain of boards.
For both tests, would you mind to post the M122 reports (if available)?
NOTE: i can confirm that we might have an Issue with CAN Bus cable Length . If this can be reproduced by someone else then its bad news.
- Same Test with 0.5m and 4m Works OK, Syncs and No errors
- Same Test with 15m Kenable ADSL 2+ cable Does Not Work ,
Where 6XD-->0.5m-->3HC1 -->0.5m-->3HC2-->0.5m-->3HC3-->15m-->3HC4
- 6XD-->0.5m-->3HC1 -->0.5m-->3HC2-->0.5m-->3HC3 All Sync except 3HC4 Which has 15m kenable ADSL 2+ cable connected between 3HC3 and 3HC4
1/28/2024, 6:34:08 PM M122 B4 CAN response timeout: board 4, req type 6024, RID 82 1/28/2024, 6:34:04 PM M122 B3 Diagnostics for board 3: Duet EXP3HC rev 1.02 or later firmware version 3.5.0-rc.2 (2023-12-14 08:56:47) Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 156832, free system stack 194 words Tasks: Move(3,nWait,0.0%,182) HEAT(2,nWait,0.0%,120) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,6.0%,103) MAIN(1,running,92.8%,391) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.2%,263), total 100.0% Last reset 00:06:57 ago, cause: power up Last software reset data not available Driver 0: pos 0, 8.9 steps/mm, standstill, SG min 0, mspos 8, reads 48852, writes 17 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 8.9 steps/mm, standstill, SG min 0, mspos 8, reads 48853, writes 17 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 8.9 steps/mm, standstill, SG min 0, mspos 8, reads 48854, writes 17 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -4/13, peak Rx sync delay 182, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.2, current 24.3, max 24.3 V12 voltage: min 12.3, current 12.3, max 12.4 MCU temperature: min 22.6C, current 29.6C, max 29.6C Last sensors broadcast 0x00000000 found 0 148 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 3382, send timeouts 0, received 2066, lost 0, errs 14241581, boc 0, free buffers 38, min 38, error reg ffff00 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 1/28/2024, 6:34:01 PM M122 B2 Diagnostics for board 2: Duet EXP3HC rev 1.02 or later firmware version 3.5.0-rc.2 (2023-12-14 08:56:47) Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 156832, free system stack 194 words Tasks: Move(3,nWait,0.0%,182) HEAT(2,nWait,0.0%,120) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,6.0%,103) MAIN(1,running,92.8%,393) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.2%,263), total 100.0% Last reset 00:06:54 ago, cause: power up Last software reset data not available Driver 0: pos 0, 8.9 steps/mm, standstill, SG min 0, mspos 8, reads 38393, writes 17 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 8.9 steps/mm, standstill, SG min 0, mspos 8, reads 38393, writes 17 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 8.9 steps/mm, standstill, SG min 0, mspos 8, reads 38394, writes 17 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -11/10, peak Rx sync delay 183, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.2, current 24.2, max 24.3 V12 voltage: min 12.3, current 12.3, max 12.4 MCU temperature: min 23.2C, current 30.8C, max 31.0C Last sensors broadcast 0x00000000 found 0 128 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 3360, send timeouts 0, received 2052, lost 0, errs 14147821, boc 0, free buffers 38, min 38, error reg ffff00 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 1/28/2024, 6:33:59 PM M122 B1 Diagnostics for board 1: Duet EXP3HC rev 1.02 or later firmware version 3.5.0-rc.2 (2023-12-14 08:56:47) Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 156904, free system stack 194 words Tasks: Move(3,nWait,0.0%,182) HEAT(2,nWait,0.0%,120) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,6.0%,103) MAIN(1,running,92.8%,413) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.2%,263), total 100.0% Last reset 00:06:52 ago, cause: power up Last software reset data not available Driver 0: pos 0, 20.0 steps/mm, standstill, SG min 0, mspos 8, reads 28357, writes 17 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 20.0 steps/mm, standstill, SG min 0, mspos 8, reads 28357, writes 17 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 20.0 steps/mm, standstill, SG min 0, mspos 8, reads 28358, writes 17 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -5/15, peak Rx sync delay 180, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.1, current 24.1, max 24.2 V12 voltage: min 12.4, current 12.4, max 12.4 MCU temperature: min 20.5C, current 26.3C, max 26.3C Last sensors broadcast 0x00000000 found 0 16 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 3343, send timeouts 0, received 2042, lost 0, errs 14059073, boc 0, free buffers 38, min 38, error reg ffff00 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 1/28/2024, 6:33:56 PM M122 B0 === Diagnostics === RepRapFirmware for Duet 3 MB6XD version 3.5.0-rc.2 (2023-12-14 10:33:00) running on Duet 3 MB6XD v1.01 or later (standalone mode) Board ID: 0JD2M-999AL-D25S0-7J9DA-3SJ6S-T43V2 Used output buffers: 1 of 40 (29 max) === RTOS === Static ram: 153284 Dynamic ram: 117916 of which 0 recycled Never used RAM 71936, free system stack 202 words Tasks: NETWORK(1,ready,35.2%,172) ETHERNET(5,nWait,0.1%,317) HEAT(3,nWait,0.0%,369) Move(4,nWait,0.0%,340) CanReceiv(6,nWait,0.0%,797) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,350) MAIN(1,running,64.4%,444) IDLE(0,ready,0.3%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:06:49 ago, cause: power up Last software reset at 2024-01-19 15:33, reason: User, Gcodes spinning, available RAM 71300, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU temperature: min 28.3, current 42.7, max 42.7 Supply voltage: min 24.0, current 24.0, max 24.1, 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 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok Driver 1: ok Driver 2: ok Driver 3: ok Driver 4: ok Driver 5: ok Date/time: 2024-01-28 18:33:55 Slowest loop: 5.37ms; fastest: 0.07ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.3ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is ready with "M122 B0" 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 2108, received 9884, lost 0, errs 13969212, boc 96 Longest wait 30ms for reply type 6018, peak Tx sync delay 1586, free buffers 50 (min 49), ts 2047/1998/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 7.36ms; fastest: 0.03ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 0 0 0 Socket states: 5 2 2 2 2 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0
I think further Testing with different Length using TEST 1 and 2 is required to rule out this issue of cable length. I have tried several self-made CAN Bus cables with different lengths around 4m to 5m and some work but some don't , i am assuming that my Network Cable craftmanship might not be the top notch ( BTW, i have always terminated all my own Network cables for over 25 years as an engineer). I assumed that Kenable ADSL 2+ cables should work in this case to rule out if its my cable termination work.
-
RE: Duet 3HC Expansion looses Connection
@gloomyandy said in Duet 3HC Expansion looses Connection:
@developeralgo222 Just to clarify, when you are using the boards individually are you enabling the termination resistors on the 3HC boards that is being tested?
Yes , Each 3HC board is CAN Bus terminated when testing individually.
-
RE: Wiring Multiple Endstops in Parallel or Series with Duet 6XD
@droftarts
i did define the wrong pins. The correct pins areI am able to move the X and Y-axis to homing points except the triggers or Endstops were not working correctly. I will update as per your advice and comment out the endstop lines for X and Y axis in the config.g and just leave Trigger 1 then test again
Updated Config.g Snapshot
On trigger 1 for X and Y-axis and commented out Endstops for X and Y-axis; Triggers -- Two triggers, one for X and one for Y, and set them to pause the machine M950 J1 C"!0.io0.in" ; define Trigger input pin #1 on IO_0 M950 J2 C"!0.io1.in" ; define Trigger input pin #2 on IO_1 M581 T1 P1:2 S1 R0 ; invoke trigger 1 (pause) when an inactive-to-active edge (correct for NO switches) is detected on input 1 or input 2 at any time ; Endstops ; For X and Y Axis ;M574 X1 S1 P"!0.io0.in" ; configure active high endstop switch for low end on X via pin io0.in ;M574 Y1 S1 P"!0.io1.in" ; configure active high endstop switch for low end on Y via pin io1.in
Updated homex.g
; homex.g ; called to home the X axis ; Undefine any Triggers for X and Y-axis M950 J1 C"nil" ; undefine X axis limit switch triggers M950 J2 C"nil" ; undefine Y axis limit switch triggers ;Define The Triggers for X and Y-axis M574 X1 S1 P"0.io0.in" ; define X axis endstop, minimum end M574 Y1 S1 P"0.io1.in" ; define Y axis endstop, minimum end ; Home X-Axis G91 ; relative positioning G1 H2 X0 ; move X-axis Minimum Homing endstop and stop there (first pass) G1 H2 X-1575 F1800 ; move quickly to X-axis Maximum endstop and stop there (first pass) G1 H2 X-15 F6000 ; go back a few mm G1 H2 X-1575 F360 ; move slowly to X-axis Maximum endstop once more (second pass) G1 H2 X0 ; move back to X-axis Minimum Homing endstop and stop there (second pass) G92 X0 G90 ; absolute positioning ; M574 X0 M574 Y0 ; Triggers M950 J1 C"0.io0.in" M950 J2 C"0.io1.in"
Updated homey.g
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Dec 05 2023 09:51:46 GMT-0500 (Eastern Standard Time) M950 J1 C"nil" ; undefine X axis limit switch triggers M950 J2 C"nil" ; undefine X axis limit switch triggers M574 X1 S1 P"!0.io0.in" ; define X axis endstop, minimum end M574 Y1 S1 P"!0.io1.in" ; define Y axis endstop, minimum end G91 ; relative positioning G1 H2 Y0 ; move Y-axis Minimum Homing endstop and stop there (first pass) G1 H2 Y2125 F1800 ; move quickly to Y-axis Maximum endstop and stop there (first pass) G1 H2 Y15 F6000 ; go back a few mm G1 H2 Y2125 F360 ; move slowly to Y-axis Maximum endstop once more (second pass) G1 H2 Y0 ; move back to Y-axis Minimum Homing endstop and stop there (second pass) G92 Y0 G90 ; absolute positioning M574 X0 M574 Y0 M950 J1 C"!0.io0.in" M950 J2 C"!0.io1.in"
@droftarts , Does this look correct to you ?
Latest posts made by developeralgo222
-
RE: Homeall.g fails when homing all axes
i think on the Duet3D side we need to use endstops while on the OpenPNP side you use soft limits . The issue happens when you have a Axes with soft limit, it will sometimes go past the soft limit by a very small offset but when there is an endstop triggered that motion/ movement comes to a stop and does not go past.
On all the Axes, i have endstops in Duet3D 6XD controller and i have Soft Limits on OpenPnP
-
RE: How to change Analog sensors polling frequency
@dc42
Thanks for the in depth explanation. Solution 1 would probably be ideal in my case. Because i need to poll only the 6 vacuum sensors at 5 ~ 20 ms when opening and closing vacuum of each nozzle during pick and place sequence. After the OpenPnP job is run or completed i don't need to poll at those low timesis there a way that you can adjust M308 command as you said to provide up-to-date reading for individual sensors when requested in addition to the current last reading option. In my case, up-to-date reading would solve the issue
or May be add a parameter to M308 that allows for individual sensor polling but leave the rest of the sensors at default polling of 250 ms to avoid a huge load increase on CAN bus
e.g
M308 S0 P"2.io0.in" Y"linear-analog" A"VG1 Pressure" F0 B37 C-130 Tnnn
where Tnnn is the adjusted polling frequency for that Sensor otherwise default is 250 ms as usual for Duet Boards.
Any solution that is easy to implement quickly without causing a lot of issues in the Duet3D firmware code would be ideal
-
How to change Analog sensors polling frequency
I have Duet3 3HC expansion boards with my 6 Vacuum Sensors ( SMC NPN Vacuum Pressure Digital Sensors -ZSE30A-01-C-L (Not Z-Probe)) . Below is part of my config.g on my Duet3 6XD controller
; Sensors outputs ===> Duet3 inputs ; SMC NPN Vacuum Pressure Digital Sensors -ZSE30A-01-C-L (Not Z-Probe) - Model: ZSE30A-01-C-L has 2 Outputs OUT1 = 1 NPN output , OUT2 = 1 Analog Output (1 ~ 5V) ; Analog Signal Outputs (White wire (output 2) for reading Analog vacuum sensing and pressure values). M308 S0 P"2.io0.in" Y"linear-analog" A"VG1 Pressure" F0 B37 C-130 ; Duet 3 3HC CAN_ID 2 Port 0- Analog capable - Vacuum Sensor Nozzle 1 M308 S1 P"2.io1.in" Y"linear-analog" A"VG2 Pressure" F0 B35 C-130 ; Duet 3 3HC CAN_ID 2 Port 1- Analog capable - Vacuum Sensor Nozzle 2 M308 S2 P"2.io2.in" Y"linear-analog" A"VG3 Pressure" F0 B37 C-130 ; Duet 3 3HC CAN_ID 2 Port 2- Analog capable - Vacuum Sensor Nozzle 3 M308 S3 P"3.io0.in" Y"linear-analog" A"VG4 Pressure" F0 B35 C-130 ; Duet 3 3HC CAN_ID 3 Port 0- Analog capable - Vacuum Sensor Nozzle 4 M308 S4 P"3.io1.in" Y"linear-analog" A"VG5 Pressure" F0 B35 C-130 ; Duet 3 3HC CAN_ID 3 Port 1- Analog capable - Vacuum Sensor Nozzle 5 M308 S5 P"3.io2.in" Y"linear-analog" A"VG6 Pressure" F0 B35 C-130 ; Duet 3 3HC CAN_ID 3 Port 2- Analog capable - Vacuum Sensor Nozzle 6
In OpenPnP , The oversimplified sequence is :
(1) Open Vacuum
(2) Pick part
(3) Bottom Camera sequence
(4) Place part
(5) Close VacuumI am having problem with either slow readings from Duet Controller or slow reaction from OpenPnP
The issue is that after placing the part it does not get the readings in time to close the vacuum (Errors saying vacuum not off) unless
i add 300ms to the Nozzle place Dwell time. That allows OpenPnP to get the change in reading in order to close the vacuum.
if i don't add the Nozzle place dwell time (>290 ms) or just leave it at default 0 then it does not close the VacuumNOTE: i did post the same question on the OpenPnP google group and @dc42 commented that " Analog sensors on Duet boards are read every 250ms, so I think this explains your observation."
How i am reading the analog sensors values from Duet3D (testing using a macro ) or OpenPnP commands:
M118 P0 S{sensors.analog[0].lastReading} ; Check Vacuum Pressure BEFORE closing vacuum M42 P0 S0 ; Close Vacuum M118 P0 S{sensors.analog[0].lastReading} ; Check Vacuum Pressure AFTER closing vacuum
Considering what @dc42 noted, it seems analog sensor last reading values are read / updated/ polled every 250 ms .
SMC NPN Vacuum Pressure Digital Sensors -ZSE30A-01-C-L have a switch output response time of 2.5 ms or less (With anti-chattering function: 20, 100, 500, 1000, 2000 ms )
Is there a way to adjust that time frequency from 250 ms to may be every 5 ~ 20 ms if possible ? Or is there a way to configure the sensors to accomplish this ?
Looking on DWC the frequency seem to be fast enough but when reading the analog values it seems to reflect what @dc42 noted
-
RE: Input Shaping Plugin dont display collected motion profiles data
@chrishamm
Sorry @chrishamm , unfortunately i deleted it before seeing this message. My mistake, i should have kept it. Sorry for that -
RE: Input Shaping Plugin dont display collected motion profiles data
@chrishamm Yes !!! that fixed it. Is this some bug in DWC ?
-
RE: Input Shaping Plugin dont display collected motion profiles data
@chrishamm
i have upgraded to 3.6.0-rc1 and removed the M956 command from config.g file and rebooted the Duet3D 6XD but the problem persists . No display of collected accelerometer data -
RE: Homeall.g fails when homing all axes
FYI,
this method doesn't work on both Duet and OpenPnP. Only one end point is active & can be triggered on the shared axis Z, U or V. I am not sure how to configure this is Duet3 for it to work.
Can someone help on this ?
i have 1 motor for each CAM shared Z-type axis . i.e 3 Axes ( Z , U , V ) each with its own Motor controlling the shared axis with Nozzle pair
Z-axis is shared between CAM Z1 (Has an Endstop1 & Nozzle 1 ) & Z2 axis ( Has an Endstop2 &Nozzle 2)
V-axis is shared between CAM Z3 (Has an Endstop3 & Nozzle 3 ) & Z4 axis (Has an Endstop4 & Nozzle 4)
V-axis is shared between CAM Z5 (Has an Endstop5 & Nozzle 5 ) & Z6 axis (Has an Endstop6 & Nozzle 6)
Z , U , V ( Z-Axis = (Z1, Z2), U-Axis = (Z3, Z4), V-Axis= (Z5, Z6) ) only Z2 , Z4, Z6 triggers Z , U , V respectively but not Z1, Z3, Z5
They move over a vertical Z-based axis range of travel actually from 0 to -/+70 degrees before they trigger the endstop . all have a rotational range of -90:90 but technically
so
(1) On Z-Axis Motor , Z1 has a move range from 0 to -90 and Z2 has a move range from 0 to +90. When one is down , then other is always at zero
(2) On U-Axis Motor , Z3 has a move range from 0 to -90 and Z4 has a move range from 0 to +90. When one is down , then other is always at zero
(3) On V-Axis Motor , Z5 has a move range from 0 to -90 and Z6 has a move range from 0 to +90. When one is down , then other is always at zero -
RE: Input Shaping Plugin dont display collected motion profiles data
is M956 supposed to be in config.g or not ?
-
Input Shaping Plugin dont display collected motion profiles data
i have an Accelerometer LIS2DW12 connected and its oriented and working fine. i am able to collect Data and i can view the data in the default accelerometer folder on Duet 6XD controller but when i got to motion analysis tab it does not display anything. Even if i select none, apply and rerun the data collection again . it finishes without errors but does not display.
i am running Duet3D RRF 3.6.0-beta-4 on the Duet3D 6XD Controller
On my Config i have the following
M955 P0 C"spi.cs2+spi.cs1" ; LIS2DW12 Accelerometer -- All wires connected to temp DB connector on Duet3D 6XD, no temperature daughterboard. M593 P"ei3" F46 ; ; To Collect accelerometer samples and save them to .csv file : default folder 0:/sys/accelerometer. Comment out when not collecting Accelerometer data M956 P0 S2000 A0 ; Note: A0 = Activate immediately, A1 = Activate before start of next move, A2= Activate before start of deceleration segment of next move