Expansion 3HC M906 not working properly
-
@mauriciomartins Why do you think that the stepper motor current settings are not being applied correctly?
-
@deckingman because it's clear that there's no torque.
I'm using the same type of nema23 in all axis, the 4 Z motors are connected to the 6HC and I can set the current and it's working,
X and Y not, if I replace it with a nema17 just for debugging it works ,but without a strong torque. -
@mauriciomartins said in Expansion 3HC M906 not working properly:
because it's clear that there's no torque.
I have a 6HC/3HC setup on my bench which I just started to work with.
I connected one stepper to the 6HC and one to the 3HC.
I made what I believe are the correct entries in config.g.
Both steppers will move with the DWC jog buttons.
The stepper on 3HC has no torque - which is consistent with your experience.
Now to determine why.
Frederick
-
@mauriciomartins Ahh, so the real issue is that your XY motors don't appear to have enough torque. Your configuration file shows that the steps per mm for Z are 4 times higher than for X or Y, so it will effectively have 4 times better gearing - and you have 4 motors for that single axis, yet only one for Y and 2 for X. So comparing the Z axis behaviour to the X and Y axes is hardly fair.
What do you get if you send M906 without any parameters? The console should tell you want the motor currents are.
-
@fcwilt No problems here. I have XY and Z connected to a 3HC expansion board. X and Y are Nema 17s set to 1800mA, Z is a single Nema 23 set to 2300 mA.
-
@deckingman Could you please share your config.g?
Thanks! -
@fcwilt Thanks for you feedback!
Could you try what @deckingman is suggesting, sending just M906 without parameters to check the motors currents?
Thanks! -
@deckingman said in Expansion 3HC M906 not working properly:
@fcwilt No problems here. I have XY and Z connected to a 3HC expansion board. X and Y are Nema 17s set to 1800mA, Z is a single Nema 23 set to 2300 mA.
Interesting. I wonder what the difference will turn out to be.
Frederick
-
@mauriciomartins said in Expansion 3HC M906 not working properly:
@fcwilt Thanks for you feedback!
Could you try what @deckingman is suggesting, sending just M906 without parameters to check the motors currents?
Thanks!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.
Interesting situation.
Frederick
-
-
@mauriciomartins said in Expansion 3HC M906 not working properly:
@deckingman Could you please share your config.g?
Thanks!I don't how mush use it'll be to you - it's a CoreXYUVAB with a 6 input (that's 6 extruders) mixing hot end. But as you asked......config.g
-
@mauriciomartins said in Expansion 3HC M906 not working properly:
@fcwilt yah, weird behaviour...
Let's try to bring @dc42 to this topic to help us understanding itI just returned to my workbench and powered up the boards.
Still no torque from the stepper on the 3HC.
A temp sensor connected to 3HC was reading correctly.
I tried resetting the boards - first M999 B1 and then M999 - no change to the torque.
I cycled power and now the torque was as expected.
I reset the boards again.
The torque was gone and the temp sensor reading was way off.
I cycled power and now the torque was as expected.
It seems to me that a reset using M999 should restore the boards to the same state as cycling power but it doesn't seem to be
Frederick
-
@fcwilt Welcome to my world!
How are you powering the expansion board? Does M122 B1 show anything? All voltages good?
-
@fcwilt how long have you had it?
might be a lazy crystal -
@jay_s_uk said in Expansion 3HC M906 not working properly:
@fcwilt how long have you had it?
might be a lazy crystalGood point. Also, crazy things happen with RRF 3.2 which seem to be fixed in RRF3.2.2. (I had extruders running backwards and fixed with a power cycle). So if either of you are using 3.2 upgrade to 3.2.2..
-
@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