Little Monster -s hort to ground
-
If not yet currently possible, Can I request that there be an option to automatically stop printing once catastrophic errors are detected. Like short to ground?
-
Tried to run another print this time at 70% speed. It ran a little longer but eventually failed getting the error on driver 1 this time.
-
At 1300mA current you must to use a fan to cool the driver chips on the Maestro. This is necessary for all current Trinamic drivers with internal mosfets, except for the TMC2660. The smaller Trinamic drivers are best used with 24V power and lower current motors - just as Prusa has done on the i3 Mk 3.
However, the firmware should report over-temperature warning, not short-to-ground, some time before you start losing steps. I will test the behaviour at high currents with insufficient cooling again.
Until you can add a fan, you may find that reducing the current to about 1100mA avoids the problem.
-
@dc42 hi I do have a fan blowing directly on the board it may be the temperature is fine.
-
@dc42 there seems to be no loss of steps. The axis just suddenly shuts down once the error shows up but the other two motors keep going.
-
Okay,
Tried lowering the current. No effect
Increased the fan speed. No effect.
Added heatsinks to the drivers. No effect.Bought new 0.9 deg steppers and crimped on duet connectors. Problem Happens even earlier.
Anything left to try? I'd like to warranty this board with M3D. They have a very poor response rate for support or even to ask how one gets a refund.
-
@infamous_panda, I'll re-test the behaviour of the firmware when the stepper driver chips overheat late today.
-
I am skeptical that this is a thermal issue, but look forward to your findings. Here is the picture of the setup currently.
There is a large always on fan on top of the electronics housing. It is being fed with 24V.
The heatsinks were added recently but seem to have no effect. I have tried currents ranging from 800 to 1500. I replaced the XYZ motors with brand new 0.9 deg steppers and it actually seems to fail sooner.
I recently started experimenting with lower speeds in the config, which has shown some promise. Could having too high maximum speeds cause this error? It seems to happen when the machine is asked to do a rapid non print move.
The stock settings for this machine translated from smoothieware with the MKS SBASE are
M566 X1200 Y1200 Z1200 E3000 ; Set maximum instantaneous speed changes (mm/min)
M203 X39960 Y39960 Z39960 E3000 ; Set maximum speeds (mm/min)
M201 X5000 Y5000 Z5000 E1500 ; Set accelerations (mm/s^2)
M906 X1500 Y1500 Z1500 E1300 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutI looked at the config.g file for some others on the Duet Little Monster Facebook group and they seem to have much lower values on the speeds. Though the current values range from 1200 to 2000. I replicated the speeds below and have been experimenting with the current. Below is what it is presently.
M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
M201 X1000 Y1000 Z1000 E1000 ; Set accelerations (mm/s^2)
M906 X1400 Y1400 Z1400 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutI have not succeeded in printing a benchy yet. But it seems to be getting further and further into the process.
-
@infamous_panda said in Little Monster -s hort to ground:
There is a large always on fan on top of the electronics housing. It is being fed with 24V.
It's more important to cool the underside of the board than the top. see https://duet3d.dozuki.com/Wiki/Mounting_and_cooling_the_board#Section_Cooling.
-
@dc42 Right I did see that. There is certainly some flow going underneath. The cover I would eventually design would have the exhaust at the bottom so that air would be forced to pass underneath.
With respect. Can you tell me why you are pursuing a thermal source of error? I have tried multiple currents now some very low.
I willing to try other paths. But It seems likely that this is a bad board. I need some resolution soon as I will be traveling and will miss my window to request a refund/replacement. I'm really at a point where I would just get the full blown Duet (since I chopped off the old connectors).
Let me ask directly. What is the likelihood that this is a bad board, given the avenues already explored?
-
My other concern is that with a large fan pointing directly at the board like that, I suspect there will be a dead zone around the centre of the Duet with very little airflow.
Had the error occurred on only one driver, I would have said it's almost certainly a bad driver chip. But you've seen the problem on 2 different drivers.
I am about to re-test the firmware response to a driver overheating.
-
I have tested the response to driver overheating on the Maestro. When the driver signals an over temperature warning, this shows up in the M122 status report. However, it does not send the messages to DWC that it is supposed to send.
So my guess is that the drivers are overheating, but you are not aware of this because of the broken warning reporting code. I suggest you try sending M122 regularly while running a print and check the driver status for over-temperature warnings.
I'll fix the warning code in the next 2.02beta release.
-
What condition did you use to cause overheating.
What part of M122 would tell me the stepper temperature? Or is it something that only shows up when there is a fault?
-
@infamous_panda said in Little Monster -s hort to ground:
What condition did you use to cause overheating.
I exercised 4 motors continuously (to stop them going into standstill current reduction) running at 1.4A each, with no fan cooling.
What part of M122 would tell me the stepper temperature? Or is it something that only shows up when there is a fault?
It only shows up when the drivers report a temperature warning. This:
Driver 0: ok, read errors 0, write errors 0, ifcount 12, reads 10079, timeouts 0
Driver 1: ok, read errors 0, write errors 0, ifcount 12, reads 10079, timeouts 0
Driver 2: ok, read errors 0, write errors 0, ifcount 12, reads 10079, timeouts 0
Driver 3: ok, read errors 0, write errors 0, ifcount 11, reads 10078, timeouts 1
Driver 4: standstill, read errors 0, write errors 0, ifcount 5, reads 10080, timeouts 0becomes this:
Driver 0: temperature-warning, read errors 0, write errors 0, ifcount 11, reads 6777, timeouts 0
Driver 1: temperature-warning, read errors 0, write errors 0, ifcount 11, reads 6777, timeouts 0
Driver 2: temperature-warning, read errors 0, write errors 0, ifcount 11, reads 6777, timeouts 0
Driver 3: temperature-warning, read errors 0, write errors 0, ifcount 10, reads 6777, timeouts 0
Driver 4: standstill, read errors 0, write errors 0, ifcount 5, reads 6778, timeouts 0 -
@dc42 It does not appear that I have a thermal issue.
5:03:30 PMError: short-to-ground on drivers 0
5:03:24 PMError: short-to-ground on drivers 0
5:03:18 PMError: short-to-ground on drivers 0
5:03:13 PMError: short-to-ground on drivers 0
5:03:07 PMError: short-to-ground on drivers 0
5:03:04 PMM122
=== Diagnostics ===
RepRapFirmware for Duet 2 Maestro version 2.01(RTOS) running on Duet Maestro 1.0
Board ID: 08DGM-95762-FD3T8-6JTD0-3S07J-KTHH9
Used output buffers: 3 of 20 (16 max)
=== RTOS ===
Static ram: 22444
Dynamic ram: 92460 of which 16 recycled
Exception stack ram used: 284
Never used ram: 15868
Tasks: NETWORK(ready,400) HEAT(blocked,1300) MAIN(running,3632)
Owned mutexes:
=== Platform ===
Last reset 00:55:09 ago, cause: power up
Last software reset at 2018-08-14 14:52, reason: User, spinning module GCodes, available RAM 15836 bytes (slot 1)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0400f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 9
SD card 0 detected, interface speed: 15.0MBytes/sec
SD card longest block write time: 158.5ms, max retries 0
MCU temperature: min 30.8, current 38.9, max 39.1
Supply voltage: min 23.1, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0
Driver 0: short-to-ground standstill, read errors 0, write errors 0, ifcount 9, reads 61859, timeouts 0
Driver 1: standstill, read errors 0, write errors 0, ifcount 9, reads 61859, timeouts 0
Driver 2: standstill, read errors 0, write errors 0, ifcount 9, reads 61859, timeouts 0
Driver 3: standstill, read errors 0, write errors 0, ifcount 7, reads 61861, timeouts 0
Driver 4: standstill, read errors 0, write errors 0, ifcount 5, reads 61863, timeouts 0
Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 61868
Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 61867
Date/time: 2018-08-14 17:03:03
Slowest loop: 4581230.00ms; fastest: 1.45ms
=== Move ===
Hiccups: 801, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 120, MaxWait: 621462ms, Underruns: 480, 0
Scheduled moves: 10540, completed moves: 10540
Bed compensation in use: none
Bed probe heights: 0.000 0.000 0.000 0.000 0.000
=== Heat ===
Bed heaters = 0, chamberHeaters = -1 -1
Heater 0 is on, I-accum = 0.2
Heater 1 is on, I-accum = 0.2
=== GCodes ===
Segments left: 0
Stack records: 1 allocated, 0 in use
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
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon is idle in state(s) 0
queue is idle in state(s) 0
lcd is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 4581228.50ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
Interface state: 5
5:03:02 PMError: short-to-ground on drivers 0
5:02:57 PMPrinting paused
5:02:55 PMM25
Resume-after-power-fail state saved
5:02:53 PMError: short-to-ground on drivers 0
5:02:44 PMError: short-to-ground on drivers 0 -
As you say, it looks like the fault could be something else. Perhaps you should contact M3D.
-
@infamous_panda said in Little Monster -s hort to ground:
Hiccups: 801, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 120, MaxWait: 621462ms, Underruns: 480, 0
M566 X1200 Y1200 Z1200 E3000 ; Set maximum instantaneous speed changes (mm/min)
M203 X39960 Y39960 Z39960 E3000 ; Set maximum speeds (mm/min)
M201 X5000 Y5000 Z5000 E1500 ; Set accelerations (mm/s^2)Your speed settings are quite aggressive and your M122 shows some hiccups and underruns. What microstepping are you using? 16x interpolated?
Try something a little more tame like
M556 X600 Y600 Z300
M203 X30000 Y30000 Z10000
M201 X2000 Y2000 Z300Just an idea.
-
@dc42 Believe me I have been trying. Their website points here for support as I do not think they are setup to do so yet.
If I could return this board, I would just jump onto the bigger Duets . I certainly do not want to be cutting and re-crimping wires again.
Thanks for all your assistance so far.
-
@phaedrux Thank you. Those were the original values with the Smoothieboard that came with this machine. It was scary fast and loud, but the prints were excellent and reliable. I have since been reducing those values and seeing some promising results.
Can you elaborate and what constitutes a hiccups and underruns.
I am using 32x interpolated. 0.9 degree steppers.
-
@infamous_panda said in Little Monster -s hort to ground:
@phaedrux Thank you. Those were the original values with the Smoothieboard that came with this machine. It was scary fast and loud, but the prints were excellent and reliable. I have since been reducing those values and seeing some promising results.
Can you elaborate and what constitutes a hiccups and underruns.
I am using 32x interpolated. 0.9 degree steppers.
Those speeds might be doable but you might need to make a change to your microstepping. Interpolation to 256x microstepping only occurs when using base 16x microstepping.
So definitely try switching to 16x. Be careful of your steps per mm setting. Make sure it is calculated for 16x.
This would have the benefit of mqking the motors quieter and will reduce your peak step rate. Which in turn should reduce the hiccups and underruns. DC42 would have to give you the details on what exactly those values mean but in general it would indicate potentially missed steps.
It may be helpful to post your config.g