X Axis Stopped funtioning
-
I'm new to the duet, but have been in 3D printing for about 4-5 years now. I moved from RAMPs and similar controllers running Marlin FW. I love the board and, while different, it was quite easy to get up and running. I did all the normal calibrations and such and have been printing for over a week now, with great results, but then all the sudden, in the middle of a print, the X axis skips several steps (usually in the negative direction).
I re-homed the axis and it functioned fine, so I considered that maybe it caught a blurb on the print and skipped. So I started a new print and it didn't even finish the first layer before skipping a lot. I cleared the area and tried to move the X axis on its own from the web interface and it was very loud and choppy. I verified the belt is not loose and that it is just the motor humming like it is missing the steps. I shut off the idle hold to the printer and moved the axis by hand and it moved easily as it always has. So then I tried homing it and the axis just made the grinding noise I had been hearing and barely moved. At this point, I am thinking that the motor burnt or had an issue, so I swapped it with a new one. I made sure the coils are correctly wired and connected and tried again but got the same result. I double checked all wires were good and coils connected correctly again but can't seem to find the issue. Is it possible the driver has gone out? As I said, it had been printing fine for over a week straight (at least 10 hours a day on 1.75 hr prints), and now I can't do simple 10mm movements or home the axis. Any help would be appreciated.
-
@enix can you post M122 results please, while the X axis is causing issues.
-
6:04:11 PMM122
=== Diagnostics ===
Used output buffers: 3 of 32 (9 max)
=== Platform ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 1.21 running on Duet WiFi 1.02 or later
Board ID: 08DGM-956GU-DJ3SN-6J1FA-3SJ6Q-KAN3F
Static ram used: 16152
Dynamic ram used: 100408
Recycled dynamic ram: 2224
Stack ram used: 1224 current, 4400 maximum
Never used ram: 7888
Last reset 00:04:31 ago, cause: power up
Last software reset at 2018-06-07 21:00, reason: User, spinning module GCodes, available RAM 7888 bytes (slot 1)
Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0441f000, BFAR 0xe000ed38, SP 0xffffffff
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 0.0ms
MCU temperature: min 29.7, current 35.7, max 36.0
Supply voltage: min 12.2, current 12.3, max 12.4, under voltage events: 0, over voltage events: 0
Driver 0: standstill, SG min/max not available
Driver 1: standstill, SG min/max not available
Driver 2: standstill, SG min/max not available
Driver 3: standstill, SG min/max not available
Driver 4: standstill, SG min/max not available
Date/time: 2018-06-08 18:04:10
Slowest main loop (seconds): 0.014005; fastest: 0.000046
=== Move ===
MaxReps: 1, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm 239, MaxWait: 3670778439ms, Underruns: 0, 0
Scheduled moves: 2, completed moves: 2
Bed compensation in use: none
Bed probe heights: 0.000 0.000 0.000 0.000 0.000
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
Heater 1 is on, I-accum = 0.0
=== 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
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8- WiFi -
Network state is running
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.21RC4(08b3)
WiFi MAC address 5c:cf:7f:76:69:b6
WiFi Vcc 3.33, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 16064
WiFi IP address 192.168.1.101
WiFi signal strength -38dBm, reconnections 0, sleep mode modem
Socket states: 2 0 0 0 0 0 0 0
=== Expansion ===
- WiFi -
-
I got that just after trying to home the X axis only. A window popped up with "Error: G0/G1: insufficient axes homed" after it stopped making the grinding noise.
-
And here is my config.g file. In case it helps...
; Configuration file for Duet WiFi (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Sun Jun 03 2018 15:43:28 GMT-0400 (Eastern Daylight Time); General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M550 PBob ; Set machine name
M551 Preprap ; Set password
M552 S1 ; Enable networkM586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Drives
M569 P0 S0 ; Drive 0 goes backwards
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S0 ; Drive 3 goes backwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X100 Y100 Z405.887 E150.96 ; Set steps per mm
M566 X720 Y720 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
M201 X1000 Y1000 Z250 E250 ; Set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X250 Y250 Z320 S0 ; Set axis maxima; Endstops
M574 X1 Y1 S1 ; Set active high endstops; Z-Probe
M574 Z1 S2 ; Set endstops controlled by probe
M558 P1 H4 F120 T6000 ; Set Z probe type to unmodulated and the dive height + speeds
G31 P500 X-2 Y-19 Z0.35 ; Set Z probe trigger value, offset and trigger height
M557 X15:235 Y15:235 S20 ; Define mesh grid; Heaters
M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S85 ; Set temperature limit for heater 0 to 85C
M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S260 ; Set temperature limit for heater 1 to 260C; Fans
M106 P0 S0.5 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F500 H1 T80 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on; 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
; Miscellaneous
T0 ; Select first tool -
The most like causes are a bad crimp connection in the motor cable, or a faulty driver. It's rare for stepper motors to develop electrical issues, although occasionally they seize up due to swarf.
To test this, with power off swap the X and Y motor connectors over where they plug into the Duet. Power up and send M564 H0 to allow jogging before homing. Then try jogging the X and Y motors:
- When you ask to jog X, it will jog the Y motor, which is plugged into the X output. If that works, the problem is the X motor cable. If it shows the same problem, then the problem is most likely with the driver.
- When you ask to jog Y, it will jog the X motor. If that doesn't work, the problem is the cable.
If it looks like a driver problem, you can use M564 X4 Y1 Z2 E3 in config.g (before any M906 or M350 commands) to map the X motor to the E1 driver, and plug the X motor cable into the E1 output.
If these tests confirm that the X driver is faulty, please ask your supplier to repair or replace the Duet under warranty.
-
Thank you very much for the reply. I don't know why I didn't think to try that, probably the frustration of the issue. Either way, that helped me solve it. Turns out it was a wire issue. I couldn't get any sort of continuity variance, but changing it out for a new one fixed the issue. Thanks again.