Little Monster -s hort to ground
-
@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
-
@phaedrux I'll give 16X another try. My understanding with the Maestro was that interpolation was supported at 32x. Updated config below:
; Configuration file for Duet Maestro (firmware version 1.21)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Fri Aug 03 2018 14:48:09 GMT-0400 (Eastern Daylight Time); General preferences
;*** The homed height is deliberately set too high in the following - you will adjust it during calibration.
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P1 ; Set firmware compatibility to look like RepRapFirmare
M665 R157.0741 L397.19 B157 H525 ; Set delta radius, diagonal rod length, printable radius and homed height
M666 X0 Y0 Z0 ; Put your endstop adjustments here, or let auto calibration find them; Network
M550 PTEVO LITTLE MONSTER ; Set machine name
M552 P192.168.1.170 S1 ; Enable network and set IP address
M553 P255.255.255.0 ; Set netmask
M554 P192.168.1.254 ; Set gateway
M586 P0 S1 ; Enable HTTP
M586 P1 S1 ; Enable FTP
M586 P2 S0 ; Disable Telnet; Drives
M569 P0 S0 ; Drive 0 goes forwards
M569 P1 S0 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes forwards
M569 P4 S0
M569 P3 S1 ; Drive 3 goes forwards
M350 X16 Y16 Z16 E16 I0 ; Configure microstepping with interpolation
M92 X160 Y160 Z160 E400 ; Set steps per mm
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 X1050 Y1050 Z1050 E1050 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 Z0 S1 ; Set minimum Z; Endstops
M574 X2 Y2 Z2 S1 ; Set active high endstops; Z-Probe
M307 H3 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
M558 P9 H5 F120 T7200 ; Set Z probe type to bltouch and the dive height + speeds
G31 P25 X0 Y20 Z1.9 ; Set Z probe trigger value, offset and trigger height
M557 R157 S45 ; Define mesh grid; Heaters
M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
M305 P0 T100000 B4138 C0 R2200 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 C0 R2200 ; Set thermistor + ADC parameters for heater 1
M143 H1 S285 ; Set temperature limit for heater 1 to 285C; Fans
M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 T45 H1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P2 S1 I0 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C; Automatic saving after power loss is not enabled
; Custom settings are not configured
-
@infamous_panda said in Little Monster -s hort to ground:
My understanding with the Maestro was that interpolation was supported at 32x.
Ah yes, you are correct. The TMC2224 apparently do support interpolation from any stepping to 256. I wasn't aware of that. I so still wonder about stepping rates at 32x at high speeds. I don't know what the steprate comparison would be between the Duet2 and Maestro.
-
@infamous_panda said in Little Monster -s hort to ground:
M350 X16 Y16 Z16 E16 I0
You'll need I1 to enable interpolation.
https://duet3d.dozuki.com/Wiki/GCode#Section_M350_Set_microstepping_mode
You could also experiment with S2 and S3 to switch between spread cycle and stealth chop respectively.
-
@phaedrux Yeah, I did have those turned on at one point or another. Right now I'm just shooting for "working". I can hold off on microstepping and interpolation.
32 was just a carry over from my old board and really with 0.9 deg steppers it's overkill for my needs. I want reliability, speed, and accuracy in that order. Surface finish and resolution are not too important.
I think I am getting somewhere setting the machine at 1050mA and lowering the speeds. Which is a bit of a bummer but at least it's way quieter.
What I suspect is that the short to ground error is being misreported. I mean a short should be present or not and immediately apparent once the motors are energized. Not happen minutes or hours into a print. Apologies if this shows a lack of electrical engineering knowledge.
It really needs to be a feature for the Duet to stop a print once a short-to-ground occurs AUTOMATICALLY. Because on a DELTA if you are not watching closely, the remaining axis motors will start flailing around and crashing into things. I suppose this can go on for hours causing real damage. It's been a real PIA working on this problem because I have to be present for the duration of any test.
Sorry Ranting.
-
@infamous_panda said in Little Monster -s hort to ground:
I can hold off on microstepping and interpolation.
I Wouldn't hold off on interpolation. I think it's generally a good idea because of how smooth it makes the motors run.
What is the rated current of your motors? Generally setting the drivers to 80-85% of rated is recommended provided cooling is adequate. In your case that may mean at least guaranteeing some air flow over the bottom of the board. Perhaps you already are.
I'm not an electrical engineer either, so I can't speak to the short to ground state. But I'm going on the premise that eliminating any other factors will either cure the symptom or narrow down the problem.
-
@phaedrux Thanks man, Giving up for now. M3D has agreed to look at the board.