Violent Machine Movement
-
I've posted here before, with more or less this issue. I thought it might be worth writing a more clear description of my issue and what steps I've taken so far. As I'm still at a loss.
Here's what happens, I'll start a print, it may print as intended for a little while but at some point, usually no more than a few layers in, the machine will make a violent oscillating motion with its axes, most noticeably the Y axis. A horrendous grinding sound ensues from the stepper motors.
While this is happening, if I pause the print.. The X axis will lurch violently to the side before coming to rest, resuming the print just resumes the problem. Interestingly, while paused if I place my palm on the print bed I can move it around, with some (more than unpowered), but a lot resistance than you'd normally get from an active but idle stepper i.e it is physically possible to move it. This also produces a grinding sound.
I know that people have this printer working (Wanhao Duplicator i3 (my version is v2.1)) with a Duet board, but from what I can tell these people have earlier versions of the machine.
Here's what I've tried so far, in the config.g file; varying the stepper current within a range of about 700mA - 1000mA, varying the max instantaneous travel, to as low as about 280 down from 480. Without any success.
Some other troubleshooting steps which might be worth noting; moving the axes around with the machine unpowered is very smooth, I seriously doubt this is a mechanical problem, the machine before the Duet never had this issues. Moving the axes around while powered using the web interface almost always is smooth, but I have noticed sometimes it will behave similarly to the issue described above, though as to when it will do this is highly inconsistent and difficult to replicate. I have also tried multiple different 3D models generated from couple of different slicers (cura and slic3r) and a whole variety of settings, that didn't seem to change a thing.
I think that somehow, in some way the configuration I have for the steppers is wrong. But I don't know enough about electronics to rectify this, I'm going to put as much information out as I can in the hopes that someone here can help me, because I have no idea at this point.
Here are the stepper models.
X Motor, Y Motor and E Motor.
Moons' Stepping Motor
Type C17HD40102-01NZ Motors
Moons' Stepping Motor
Type C17HD6039-05NHere is my config.g file.
; Configuration file for Duet WiFi (firmware version 1.17 to 1.19)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Fri Dec 15 2017 16:55:26 GMT+0000 (GMT Standard Time); General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates…
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X200 Y200 Z180 S0 ; Set axis maxima; Endstops
M574 X1 Y1 Z1 S0 ; Set active low endstops
M558 P0 X0 Y0 Z0 H5 F120 T6000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
M557 X25:175 Y25:175 S20 ; Define mesh grid; Drives
M569 P0 S0 ; Drive 0 goes backwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwards
M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation
M92 X80 Y80 Z400 U400 E100 ; set axis steps/mm E96
M566 X480 Y280 Z12 U12 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X12000 Y12000 Z1200 U1200 E3000 ; Set maximum speeds (mm/min)
M201 X800 Y800 Z100 U100 E5000 ; Set accelerations (mm/s^2)
M906 X700 Y700 Z351 E855 I30 ;Set motor currents
M84 S30 ; Set idle timeout; Heaters
M305 P0 T100000 B3988 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4725 C0 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C; 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; Network
M550 Pwanhao-di3 ; Set machine name
M552 S1 ; Enable network
; Access point is configured manually via M587 by the user
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Fans
M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F500 H T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on; Custom settings are not configured
; Miscellaneous
T0 ; Select first tool -
Could it be a stepper motor overheating and skipping ?
A loose connection / bad crimp
A failing driver, try using the E2 driver.
-
Hmm. Maybe?
I'll try recrimping the y motor connector. While it doesn't feel hot to the touch, I feel like I has to be something like that, because from cold it works for a few layers before it goes awry.
And remapping the E1 as Y would just be changing an #define in the firmware? Is it straight forward enough to compile it?
-
Another possibility is a failing power supply, or one of the VIN terminal block screws being loose. What power supply voltage does the Duet report, either in DWC or in the M122 report?
What firmware version are you running, and what is the reported "Never used RAM" in the M122 report after the problem has occurred?
-
Firmware as reported is 1.19 (could have swore I put 1.20 on it)
At idle:
Never used ram: 7448
Supply voltage: min 12.4, current 12.5, max 12.6, under voltage events: 0, over voltage events: 0In operation, with issue present:
Never used ram: 3232
Supply voltage: min 11.6, current 12.5, max 12.7, under voltage events: 0, over voltage events: 0Edit:
upgrading the firmware to 1.20 made no difference. -
Hmm. Maybe?
I'll try recrimping the y motor connector. While it doesn't feel hot to the touch, I feel like I has to be something like that, because from cold it works for a few layers before it goes awry.
And remapping the E1 as Y would just be changing an #define in the firmware? Is it straight forward enough to compile it?
To use the E1 driver to drive the Y motor, put this command in config.g, earlier than any M906 or M350 commands:
M584 X0 Y4 Z2 E3
It rather sounds as if the steps/mm, microstepping or acceleration is getting reset. Next time this happens, after pausing the print try using the X and Y jog buttons. Do they move smoothly? Also send M350, M92, M201 and M203 with no parameters, and check that the values reported are the same ones you set in config.g.
-
Issue didn't occur when using E1 as the Y axis driver.
It did print on a weird part of the bed, but it sounds like the bed just got caught on the wire for the heated bed. So I'll have to do some repeat tests, and I'll have to actually calibrate my machine now that its possible to do so. But yeah, that seems to be the problem, the Y driver is faulty somehow.
-
In that case, if your Duet is still under warranty, I suggest you ask your supplier to repair or replace it.
-
That would be direct from the shop on this site. I'll wait until you're all back in hours on the 2nd.