23CL errors
-
I've been doing some more testing and ran into more issues.
Each 23CL is connected to its own Meanwell 48V 2.5A power supply with a common ground and each 23CL faces the same load as they are all copies of each other.
For some reason, the 23CL with address 80 has been reporting shorts more than the others. I thought this had to do with tuning but that did not change much to the situation. I then noticed when measuring the voltage on the power supply of this 23CL that it was drawing 78V. I then took this supply out and tested it on my bench and found nothing wrong with it.
I also tested the other 23CLs in the system and they all worked fine when used individually including the one with address 80. However, upon using them as a single tool 80 started to report errors again and two others immediately stopped responding as well. I now have 3 23CLs out of 13 that don't show a blinking light anymore upon connecting. I haven't found a way to get these back to life as I can't connect them to reflash firmware or reset them. These for example also don't show as connected in the machine-specific information tab.
I have no clue what to test next and what could be the issue here. Any help would be greatly apreciated.
-
@kcorbedsellig please provide the response to sending command M122 B80 if the M23CL at that address is still connecting.
Regarding the M23CLs that don't blink in sync with the main board, what do the red and green LEDs on those motors do?
-
"M112 B80" for the 23CL that's showing most errors
M122 B80 Diagnostics for board 80: Duet M23CL firmware version 3.5.1 (2024-04-19 14:42:52) Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 45192, free system stack 186 words Tasks: EncCal(1,nWait 6,0.0%,470) Move(3,nWait 7,0.0%,166) CLSend(3,nWait 6,0.0%,148) HEAT(2,nWait 6,0.1%,106) CanAsync(5,nWait 4,0.0%,67) CanRecv(3,nWait 1,0.0%,80) CanClock(5,nWait 1,0.0%,65) TMC(4,nWait 6,68.9%,326) MAIN(1,running,26.8%,248) IDLE(0,ready,0.0%,30) AIN(2,nWait 2,4.2%,255), total 100.0% Owned mutexes: Last reset 00:00:57 ago, cause: power up Last software reset data not available Driver 0: pos 0, 80.0 steps/mm, ok, SG min 0, mspos 8, reads 20377, writes 10329 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 -8/3, peak Rx sync delay 16912, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 48.1, current 48.2, max 48.2 V12 voltage: min 12.1, current 12.1, max 12.1 MCU temperature: min 20.3C, current 22.4C, max 22.4C Last sensors broadcast 0x00000000 found 0 154 ticks ago, 0 ordering errs, loop time 1 CAN messages queued 484, send timeouts 0, received 300, lost 0, errs 0, boc 0, free buffers 38, min 38, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Closed loop driver 0 mode: closed loop, pre-error threshold: 2.00, error threshold: 4.00, encoder type rotaryAS5047, position 826 Encoder reverse polarity: no, full rotations 0, last angle 825, minCorrection=-31.7, maxCorrection=35.1, agc 72, mag 4705, no error Tuning mode: 0, tuning error: 0, collecting data: no Control loop runtime (us): min=2, max=66, frequency (Hz): min=9259, max=14423
"M112 B73" for a 23CL that seems to work fine
M122 B73 Diagnostics for board 73: Duet M23CL firmware version 3.5.1 (2024-04-19 14:42:52) Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 45192, free system stack 186 words Tasks: EncCal(1,nWait 6,0.0%,470) Move(3,nWait 7,0.0%,166) CLSend(3,nWait 6,0.0%,148) HEAT(2,nWait 6,0.1%,106) CanAsync(5,nWait 4,0.0%,67) CanRecv(3,nWait 1,0.0%,66) CanClock(5,nWait 1,0.0%,65) TMC(4,nWait 6,70.4%,326) MAIN(1,running,25.1%,273) IDLE(0,ready,0.0%,30) AIN(2,nWait 2,4.4%,255), total 100.0% Owned mutexes: Last reset 00:02:10 ago, cause: power up Last software reset data not available Driver 0: pos 0, 80.0 steps/mm, ok, SG min 0, mspos 8, reads 57763, writes 12606 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 -8/2, peak Rx sync delay 189, resyncs 0/0, next timer interrupt due in 2 ticks, enabled, next step interrupt due in 4196851010 ticks, disabled VIN voltage: min 48.2, current 48.2, max 48.3 V12 voltage: min 12.0, current 12.0, max 12.0 MCU temperature: min 22.5C, current 25.4C, max 25.4C Last sensors broadcast 0x00000000 found 0 84 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 1073, send timeouts 0, received 668, lost 0, errs 0, boc 0, free buffers 38, min 38, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Closed loop driver 0 mode: closed loop, pre-error threshold: 2.00, error threshold: 4.00, encoder type rotaryAS5047, position -620 Encoder reverse polarity: no, full rotations -1, last angle 15764, minCorrection=-16.9, maxCorrection=20.9, agc 71, mag 4778, no error Tuning mode: 0, tuning error: 0, collecting data: no Control loop runtime (us): min=2, max=69, frequency (Hz): min=9036, max=14423
The ones that don't respond anymore don't show any LED's from power up to power down and don't respond to any console call.
Below the M115 response on a nonresponsive and a responsive 23CL. You get the same with a M122 for 23CL 72.0.
24/04/2024, 17:29:37 M115 B72 CAN response timeout: board 72, req type 6024, RID 77 24/04/2024, 17:29:29 M115 B80 Duet M23CL firmware version 3.5.1 (2024-04-19 14:42:52)
-
@kcorbedsellig regarding the motor at address 80 that still responds but is problematic, the reported encoder corrections are larger than expected (-31.7 and +35.1). Please remove the load from it, run encoder calibration, then run M122 B80 again and report the result. Note, encoder calibration should always be run with the motor unloaded.
Please email info@duet3d.com to discuss replacing the other motors. In the email, include a link to this thread and say where and when you purchased the M23CLs.
-
@dc42 That's strange, I only ever ran the calibration without load. Is it required to rerun the calibration after a firmware upgrade? I'll recalibrate and report the results.
I'll get in touch with info@duet3d.com. Does that mean these 23CLs are bricked?
-
@kcorbedsellig it should not be necessary to re-run the calibration after a firmware upgrade. I'm interested to see whether that drive reports the same level of encoder corrections after recalibration.
Re the non-functioning 23CLs, I suspect that the internal fuse may have blown. It's soldered on the board, so not easily replaced by users. However, there is a firmware reload procedure that could be attempted. Do you have a multimeter?
-
@kcorbedsellig to run the firmware reload procedure:
- Connect just one of the non-functioning motors to the CAN bus
- Make sure you don't have any other devices at CAN address 123 on the CAN bus
- Between the two connectors on the motor there is a reset button under a small hole in the casing. Find something pointed to press it with, such as a straightened-out paper clip. While holding the reset button down, power up the PSU supplying power to the motor. You can release the button a few seconds after powering it up. Then look for activity on the LEDs.
-
@dc42 I'll run through these step first thing tomorrow morning. I have a multimeter, where might I find this fuse to check it?
-
Unfortunately pressing the reset button and powering on does not work on any of the unresponsive 23CLs. They don't give any sign of life. Both with and without a CAN cable connected while running the process.
For the recalibration of the one with address 80.0. I disconnected all other CAN devices and have run a single cable to a t-splitter of which one end is 120ohm resistors and the other is the 23CL. It does not want to calibrate and says it has no encoder configured.
M569.6 P80.0 V2 Error: M569.6: no encoder configured 25/04/2024, 11:12:08 M17 25/04/2024, 11:11:53 M115 B80 Duet M23CL firmware version 3.5.1 (2024-04-19 14:42:52) 25/04/2024, 11:07:55 Error: Expansion board 80 stopped sending status 25/04/2024, 11:07:14 M569.6 P80.0 V2 Error: M569.6: no encoder configured 25/04/2024, 11:06:59 M17 25/04/2024, 11:04:49 M115 B80 Duet M23CL firmware version 3.5.1 (2024-04-19 14:42:52) 25/04/2024, 11:04:00 M122 B80 Diagnostics for board 80: Duet M23CL firmware version 3.5.1 (2024-04-19 14:42:52) Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 75108, free system stack 184 words Tasks: Move(3,nWait 7,0.0%,175) CLSend(3,nWait 6,0.0%,148) HEAT(2,nWait 6,0.0%,131) CanAsync(5,nWait 4,0.0%,67) CanRecv(3,nWait 1,0.0%,80) CanClock(5,nWait 1,0.0%,65) TMC(2,nWait 6,23.5%,350) MAIN(1,running,73.9%,394) IDLE(0,ready,0.0%,40) AIN(2,nWait 2,2.5%,255), total 100.0% Owned mutexes: Last reset 00:07:03 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 48187, writes 13 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 -8/5, peak Rx sync delay 184, resyncs 0/0, next timer interrupt due in 31 ticks, enabled, next step interrupt due in 3977492161 ticks, disabled VIN voltage: min 48.1, current 48.1, max 48.2 V12 voltage: min 12.1, current 12.1, max 12.1 MCU temperature: min 17.3C, current 21.8C, max 21.8C Last sensors broadcast 0x00000000 found 0 54 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 3410, send timeouts 0, received 2128, lost 0, errs 0, boc 0, free buffers 38, min 38, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Closed loop driver 0 mode: open loop, pre-error threshold: 2.00, error threshold: 4.00, encoder type none
For the possibly broken fuses on the unresponsive 23CLs. I've opened one and found what I believe must be the fuse. It's labeled F1 and can be found directly next to the power input. I've measured continuity on this fuse and it appears to not be broken.
-
@kcorbedsellig thanks. Regarding recalibrating the driver at address 80 it looks like no M569.1 command has been sent to that driver. Please send the correct M569.1 command and try again.