Expansion 3HC M906 not working properly
-
@deckingman said in Expansion 3HC M906 not working properly:
@fcwilt Welcome to my world!
I thought this kind of problem sounded familiar.
How are you powering the expansion board? Does M122 B1 show anything? All voltages good?
In this picture I removed the CAN bus cables as they obscured the power wiring:
The 24 volt power is coming from a bench top power supply with voltage and current settings. The current limit is set at 1.5 amps.
The power wiring is 14 gauge except for the wiring to the 1LC board - which is currently not doing anything - just lighting up the LEDs.
M122, M122 B1 and M122 B121 report power is good.
Frederick
-
@fcwilt said in Expansion 3HC M906 not working properly:
M122, M122 B1 and M122 B121 report power is good.
@fcwilt and @mauriciomartins would you be able to share your M122 reports for the main board and expansion?
-
I am posting two sets of M122 reports. One set after power on, one set after editing config.g and doing the reset.
They may be the same - I did not take the time to compare them.
After Power On
3/4/2021, 5:01:38 PM: M122: === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode) Board ID: 08DJM-956L2-G43S4-6J9F0-3SJ6T-9A6LH Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 149788 Dynamic ram: 92500 of which 220 recycled Never used RAM 116324, free system stack 200 words Tasks: NETWORK(ready,167) ETHERNET(blocked,119) HEAT(blocked,356) CanReceiv(blocked,813) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,51) MAIN(running,1119) IDLE(ready,19) Owned mutexes: === Platform === Last reset 00:01:29 ago, cause: power up Last software reset at 2021-03-04 16:37, reason: User, GCodes spinning, available RAM 116324, 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 Aux1 errors 0,0,0 MCU temperature: min 29.7, current 35.7, max 35.9 Supply voltage: min 23.8, current 23.8, max 23.9, 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: position 0, standstill, reads 45041, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 45041, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 45045, writes 11 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 45045, writes 11 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 45045, writes 11 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 45045, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2021-03-04 17:01:36 Slowest loop: 3.93ms; fastest: 0.07ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 1.6ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 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, chamberHeaters = -1 -1 -1 -1 === 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. === Network === Slowest loop: 5.57ms; fastest: 0.02ms 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: 1 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 2 0 2 === CAN === Messages queued 13, send timeouts 0, received 725, lost 0, longest wait 1ms for reply type 6042, free buffers 48
3/4/2021, 5:02:14 PM: M122 B1: Diagnostics for board 1: Duet EXP3HC firmware version 3.2.2 (2021-02-12) Bootloader ID: not available Never used RAM 154584, free system stack 200 words HEAT 92 CanAsync 94 CanRecv 84 TMC 64 MAIN 173 AIN 259 Last reset 00:02:05 ago, cause: power up Last software reset at 2106-02-07 06:28, reason: AssertionFailed, available RAM 154584, slot 0 Software reset code 0x0120 HFSR 0xffffffff CFSR 0xffffffff ICSR 0xffffffff BFAR 0xffffffff SP 0xffffffff Task ���� Freestk 4294967295 ok Stack: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff Driver 0: position 0, 80.0 steps/mm, standstill, reads 26270, writes 16 timeouts 0, SG min/max 0/0 Driver 1: position 0, 80.0 steps/mm, standstill, reads 26277, writes 11 timeouts 0, SG min/max 0/0 Driver 2: position 0, 80.0 steps/mm, standstill, reads 26280, writes 11 timeouts 0, SG min/max 0/0 Moves scheduled 0, completed 0, in progress 0, hiccups 0 No step interrupt scheduled VIN: 23.9V, V12: 12.2V MCU temperature: min 38.3C, current 38.5C, max 38.5C Ticks since heat task active 102, ADC conversions started 125344, completed 125343, timed out 0 Last sensors broadcast 0x00000400 found 1 105 ticks ago, loop time 0 CAN messages queued 1038, send timeouts 0, received 645, lost 0, free buffers 36
After editing config.g and saying YES to reset question
3/4/2021, 5:02:59 PM: Upload of config.g successful after 0s 3/4/2021, 5:03:19 PM: M122: === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode) Board ID: 08DJM-956L2-G43S4-6J9F0-3SJ6T-9A6LH Used output buffers: 1 of 40 (11 max) === RTOS === Static ram: 149788 Dynamic ram: 92500 of which 184 recycled Never used RAM 116360, free system stack 200 words Tasks: NETWORK(ready,187) ETHERNET(blocked,110) HEAT(blocked,356) CanReceiv(blocked,813) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,51) MAIN(running,1119) IDLE(ready,19) Owned mutexes: === Platform === Last reset 00:00:17 ago, cause: software Last software reset at 2021-03-04 17:03, reason: User, GCodes spinning, available RAM 116324, 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 Aux0 errors 0,0,0 Aux1 errors 0,0,0 MCU temperature: min 35.4, current 35.8, max 36.0 Supply voltage: min 23.8, current 23.8, max 23.9, 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: position 0, standstill, reads 33319, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 33319, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 33322, writes 11 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 33322, writes 11 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 33323, writes 11 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 33323, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2021-03-04 17:03:18 Slowest loop: 3.94ms; fastest: 0.07ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 0.9ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 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, chamberHeaters = -1 -1 -1 -1 === 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. === Network === Slowest loop: 2.27ms; fastest: 0.02ms 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: 1 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 2 0 2 === CAN === Messages queued 13, send timeouts 0, received 151, lost 0, longest wait 42ms for reply type 6031, free buffers 48
3/4/2021, 5:03:45 PM: M122 B1: Diagnostics for board 1: Duet EXP3HC firmware version 3.2.2 (2021-02-12) Bootloader ID: not available Never used RAM 154600, free system stack 200 words HEAT 92 CanAsync 94 CanRecv 87 TMC 64 MAIN 216 AIN 259 Last reset 00:00:43 ago, cause: software Last software reset at 2106-02-07 06:28, reason: AssertionFailed, available RAM 154584, slot 0 Software reset code 0x0120 HFSR 0xffffffff CFSR 0xffffffff ICSR 0xffffffff BFAR 0xffffffff SP 0xffffffff Task ���� Freestk 4294967295 ok Stack: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff Driver 0: position 0, 80.0 steps/mm, standstill, reads 27733, writes 11 timeouts 0, SG min/max 0/0 Driver 1: position 0, 80.0 steps/mm, standstill, reads 27735, writes 11 timeouts 0, SG min/max 0/0 Driver 2: position 0, 80.0 steps/mm, standstill, reads 27738, writes 11 timeouts 0, SG min/max 0/0 Moves scheduled 0, completed 0, in progress 0, hiccups 0 No step interrupt scheduled VIN: 23.9V, V12: 12.2V MCU temperature: min 38.5C, current 38.5C, max 38.5C Ticks since heat task active 38, ADC conversions started 43280, completed 43280, timed out 0 Last sensors broadcast 0x00000400 found 1 41 ticks ago, loop time 0 CAN messages queued 377, send timeouts 0, received 230, lost 0, free buffers 36
-
Following this thread with interest because although my XY and Z motors on expansion board 3 seem to be working well, my 6 extruders are on expansion boards 1 and 2 and I have no real way of knowing if the torque is borderline or not. Might that explain my print to print variability? One can't help but wonder......
-
@deckingman purely speculation, and I think you’re thinking what I’m thinking, but if the same thing is happening to your extruder board it may be why there’s such a difference between prints, ie bad ones have zero motor torque at standstill, good ones motor torque is set correctly. Could be that the idle timeout or idle current setting is set to 0, somehow? Unfortunately M84 doesn’t show the idle timeout, just cancels it.
Ian
-
@droftarts said in Expansion 3HC M906 not working properly:
@deckingman purely speculation, and I think you’re thinking what I’m thinking, but if the same thing is happening to your extruder board it may be why there’s such a difference between prints, ie bad ones have zero motor torque at standstill, good ones motor torque is set correctly. Could be that the idle timeout or idle current setting is set to 0, somehow? Unfortunately M84 doesn’t show the idle timeout, just cancels it.
Ian
Trying to keep an open mind, but over the course of the last 19 months, I have had 3 extruder motors fail - well I assumed at the time they had failed because they either wouldn't turn or had very little torque. IIRC, I would likely have tried a different motor on the same driver but that would have meant that I cycled the power (because I never plug or unplug anything on a "live" board). If that worked, I would have assumed a duff motor and would not have gone on to try the same motor on a different driver. When the last one failed, I assumed that they must have been a bad batch so I replaced all 6. One can't help wondering............
-
Hello guys, as I already said in my case the problem is that the 3HC card is not accepting the current settings of the motors, I believe that my config.g has the M906 configured correctly.
I have to check with M112 the status of the voltages as @Phaedrux is suggesting. All of my power wiring is 14 gauge.
Unfortunately only next Monday I will be able to do more tests but I will be following this topic carefully because I realized that I am not alone with this problem.
Thank you all for the support! -
@mauriciomartins said in Expansion 3HC M906 not working properly:
Hello guys, as I already said in my case the problem is that the 3HC card is not accepting the current settings of the motors, I believe that my config.g has the M906 configured correctly.
You still haven't posted the result of sending M906 without any parameters, so we have no way of knowing whether your claim that the board is not accepting the current settings.
-
@deckingman said in Expansion 3HC M906 not working properly:
You still haven't posted the result of sending M906 without any parameters, so we have no way of knowing whether your claim that the board is not accepting the current settings.
I don't know how to post a link to a previous post so I will just paste it here again:
I rebooted a few times using different M906 values in the config file.
After the reboot I executed M906 from the console and the values reported always matched.
I should have said cycled power instead of reboot since that is how I forced the reboot.
So the values are being accepted by the 3HC but something happens to kill the torque to the stepper.
After power on the torque always seems to be good but any reset kills the torque including the reset that is done after editing config.g and allowing the reset.
It's not just a problem with the torque. I also have a thermistor connected to the 3HC. It reads correctly after power on (in the 20s) but a reset usually screws it up and it starts reading 2000.
I haven't tested any other inputs and outputs on the 3HC yet to see if they also have issues.
It's no wonder that you are having problems with your printer.
Frederick
-
i think wrong current setting on exp board might explain many issues people having , including deckinman .
see my post a month ago here :
https://forum.duet3d.com/post/204483to me that issue was also too low current setting .
it seems 3.3 solves that issue (maybe due to proper delay at start up) , so maybe its worth trying . -
@jay_s_uk said in Expansion 3HC M906 not working properly:
@fcwilt how long have you had it?
might be a lazy crystalThe 6HC since 11/2019, the 3HC since 02/2021.
Since everything seems to be good after power on but any reset causes issues how would that relate to a crystal?
Frederick
-
@fcwilt in can influence the start up times but it's mainly associated with older expansion boards
-
@fcwilt said in Expansion 3HC M906 not working properly:
@deckingman said in Expansion 3HC M906 not working properly:
You still haven't posted the result of sending M906 without any parameters, so we have no way of knowing whether your claim that the board is not accepting the current settings.
I don't know how to post a link to a previous post so I will just paste it here again:
I rebooted a few times using different M906 values in the config file.
After the reboot I executed M906 from the console and the values reported always matched.
I should have said cycled power instead of reboot since that is how I forced the reboot.
So the values are being accepted by the 3HC but something happens to kill the torque to the stepper.
After power on the torque always seems to be good but any reset kills the torque including the reset that is done after editing config.g and allowing the reset.
It's not just a problem with the torque. I also have a thermistor connected to the 3HC. It reads correctly after power on (in the 20s) but a reset usually screws it up and it starts reading 2000.
I haven't tested any other inputs and outputs on the 3HC yet to see if they also have issues.
It's no wonder that you are having problems with your printer.
Frederick
Before you go off on a rant at me, I suggest you look at who my post was directed at which was @mauriciomartins. He hasn't confirmed what he gets when he sends M906 which is why I asked him. I know what you said.
-
I wasn't ranting - just making sure that you had the information you asked about.
Frederick
-
Startup problems with Duet 3 6HC+CAN-connected boards are sometimes caused by the main board running config.g and sending commands to the CAN-connected board before they have fully initialised. So I recommend adding command G4 S2 early in config.g and making sure that all commands in config.g that refer to devices attached to expansion board occur later in config.g.
-
I'm just wondering if start up problems might be the reason why 3 of my 6 extruders motors failed over the last 18 months. Is it possible, in such a situation, that motor current might have defaulted to something too high? they were small motors and IIRC, they were rated at 800mA and I had them set to 600mA.
It was most likely a bad batch of motors so when the last one failed, I replaced all 6.
-
@dc42 said in Expansion 3HC M906 not working properly:
Startup problems with Duet 3 6HC+CAN-connected boards are sometimes caused by the main board running config.g and sending commands to the CAN-connected board before they have fully initialised. So I recommend adding command G4 S2 early in config.g and making sure that all commands in config.g that refer to devices attached to expansion board occur later in config.g.
As a first step I added a G4 S5 command (line 15) as shown below:
M111 S0 ; debug off M550 P"MB6HC_1" ; printer name M555 P2 ; firmware compatibility (P2 = Marlin) M552 S1 P0.0.0.0; enable (S1) network (P0.0.0.0 = use DHCP) M586 S1 P1 T0 ; enable (S1) FTP (P1) Disable TLS (T0) M586 S1 P2 T0 ; enable (S1) Telnet (P2) Disable TLS (T0) G21 ; dimensions in mm G90 ; absolute coordinate values for X,Y,Z,etc M83 ; relateive coordinate values for E0,E1,etc G4 S5 ; wait for expansion boards to initialize
Now after a reset all seems good.
The stepper has torque and the thermistor reads correctly.
Frederick
-
@deckingman said in Expansion 3HC M906 not working properly:
I'm just wondering if start up problems might be the reason why 3 of my 6 extruders motors failed over the last 18 months. Is it possible, in such a situation, that motor current might have defaulted to something too high? they were small motors and IIRC, they were rated at 800mA and I had them set to 600mA.
The motor current defaults to zero on all Duets, including expansion boards. The only time that a driver should supply excess current to a motor is if two mosfets in the output bridge fail short-circuit. In that case, the driver will report a short circuit but not be able to turn off either mosfet, and the driver or output mosfets will get hot.
-
@dc42 said in Expansion 3HC M906 not working properly:
@deckingman said in Expansion 3HC M906 not working properly:
I'm just wondering if start up problems might be the reason why 3 of my 6 extruders motors failed over the last 18 months. Is it possible, in such a situation, that motor current might have defaulted to something too high? they were small motors and IIRC, they were rated at 800mA and I had them set to 600mA.
The motor current defaults to zero on all Duets, including expansion boards. The only time that a driver should supply excess current to a motor is if two mosfets in the output bridge fail short-circuit. In that case, the driver will report a short circuit but not be able to turn off either mosfet, and the driver or output mosfets will get hot.
Fair enough. I'll put it down to bad luck/a bad batch of motors.
-
@dc42 said in Expansion 3HC M906 not working properly:
Startup problems with Duet 3 6HC+CAN-connected boards are sometimes caused by the main board running config.g and sending commands to the CAN-connected board before they have fully initialised. So I recommend adding command G4 S2 early in config.g and making sure that all commands in config.g that refer to devices attached to expansion board occur later in config.g.
Does the 6HC have the ability to query expansion boards to see if they are fully initialized?
Frederick