Stepper motors and thermistors not working
I recently just bought the Duet Wifi 2 and seem to running into issues. On all of my drive motors, I am getting an error when I try to home any of my axes.
Warning: motor phase A may be disconnected reported by driver(s) 2
Warning: motor phase B may be disconnected reported by driver(s) 2
I have checked to make sure the motors are wired correctly using a multi meter and I am reasonably sure the crimps are good.
Along with that all of my thermistors say they are at 2000C. The thermistors are from E3D so firmwaire configuration should have been simple, and I am reasonably sure they are plugged into the right spots with good connections.
Please post the results of M122 so we can see some info on your board and firmware version. Also post your config.g
Here is the M122:
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03beta3 running on Duet WiFi 1.02 or later
Board ID: 08DJM-9178L-L2MS8-6J9DD-3S06Q-98HLP
Used output buffers: 3 of 20 (7 max)
=== RTOS ===
Static ram: 25632
Dynamic ram: 93952 of which 0 recycled
Exception stack ram used: 320
Never used ram: 11168
Tasks: NETWORK(ready,524) HEAT(blocked,1236) MAIN(running,3776) IDLE(ready,196)
=== Platform ===
Last reset 00:00:36 ago, cause: power up
Last software reset time unknown, reason: User, spinning module GCodes, available RAM 11104 bytes (slot 1)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 22.8, current 26.9, max 27.0
Supply voltage: min 24.1, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
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: 2020-07-16 09:29:27
Cache data hit count 122216071
Slowest loop: 3.05ms; fastest: 0.07ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
=== Move ===
Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
Bed compensation in use: none
Bed probe heights: 0.000 0.000 0.000 0.000 0.000
=== MainDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
=== GCodes ===
Segments left: 0, aux move: no
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 ===
Slowest loop: 15.45ms; fastest: 0.00ms
Responder states: HTTP(0) 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.23
WiFi MAC address a4:cf:12:c0:27:9c
WiFi Vcc 3.40, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 20608
WiFi IP address 10.0.1.12
WiFi signal strength -38dBm, reconnections 0, sleep mode modem
Socket states: 0 0 0 0 0 0 0 0
And here is the config.g it is also attached
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Jul 14 2020 21:49:19 GMT-0600 (Mountain Daylight Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"My Printer" ; set printer name
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M569 P4 S1 ; physical drive 4 goes forwards
M584 X0 Y1 Z2 E3:4 ; set drive mapping
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z4000.00 E420.00:420.00 ; set steps per mm
M566 X3000.00 Y3000.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X7200.00 Y7200.00 Z1500.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800:800 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 X255 Y255 Z255 S0 ; set axis maxima
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin zstop
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:215 Y15:195 S20 ; define mesh grid
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e1temp
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1:2 T45 ; set fan 1 value. Thermostatic control is turned on
M563 P0 S"heater1" D0 H1 F0 ; 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
M563 P1 S"heater2" D1 H2 F0 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
; Custom settings are not defined
M575 P1 S1 B57600 ; enable support for PanelDue
- WiFi -
@Pslayback update your firmware. You’re running firmware 2.03, but your config is for firmware 3. You need to update to 3.0 first, then 3.1.1, which is the latest.
The driver reporting the error is the Z axis. You may be getting this error because your Z steps per mm are 4000, and you’re trying to move the motor too fast. I suspect 4000 is the wrong value for your Z. What is the pitch of your Z leadscrew?
From the web interface, upload the following zip files to the /sys folder. This should trigger a firmware update and update the DWC files as well.
Once you've updated all 3 you should send M115 to verify that you're on 3.1.1. Then send M98 P"config.g" to see if any errors are generated from your config.g and report them here for further troubleshooting.
Pslayback last edited by Pslayback
Thank you both! The firmware seems to have fixed the Thermistors, but not the steppers. The leadscrew is M5 and I think it is .8mm pitch. I am not certain though, is there an easy way to tell?
Also the M98 command returned this
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
The leadscrew is M5 and I think it is .8mm pitch.
In that case 4000 would actually be correct.
That M98 command shows no config syntax errors so that's good.
Are you using dual Z motors or just a single? If just a single, do you have the jumpers installed on the unused z motor pins?
If you're sure the motor phases are correct you can try to remap the Z driver to another driver to see if the error follows to the new driver. Vice versa you can try a different motor on that driver to see if you get the same errors. This will let us determine if the problem is a failed driver chip.
Also you can post a close up well lit photo of the drive chip.
Currently none of the motors (x,y nor z) are working. I am using just one motor on the Z axis, and i have not put the jumpers on.
That would likely be the problem then. Install the jumpers on the second z motor connector.
I attached the jumpers, then tried homing the X axis, which then the z axis moved (yes I double checked wiring). Then the board stopped doing anything. It will not even power on.....I think I tripped a breaker???
Please post your homing files.
Z movement when homing the other axis is normal because there is likely a small z movement to lift the head out of the way for X Y movement.
Check for shorts.
Yes there is a Z move at the start of your homing files
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Jul 14 2020 21:49:19 GMT-0600 (Mountain Daylight Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-260 Y-260 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-260 Y-260 F360 ; move slowly to X and Y axis endstops once more (second pass) G1 H1 Z-260 F360 ; move Z down stopping at the endstop G90 ; absolute positioning G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
Are you getting any lights on the board at all now?
Ok, that makes sense. If plug in an external power supply the red lights come on, but not the green ones. I disconnected end stops, but still nothing, any ideas?
Disconnect everything and take the board out if you haven't already and post some close up well lit shots of the board so we can maybe spot any damaged components.
Then move on to connecting it to a PC via USB to see if it shows up as a bossa port
The board is showing up to the computer correctly and here are some pictures
Ok, turned out it was a power supply issue and was able to fix that. Now the problem is only the z axis will move, still no x or y movement.
bearer last edited by
Not much to see except maybe this
The 3.3v led is lit, but maybe you could measure the voltage of a 3.3v pin just to check its all good?
Can you get a better photo of U2?
Also it appears you have a clone Duet.
For X and Y, how are you trying to move them? Do you get any error messages? Are you sure you've wired the motor phases correctly? If you move the Z motor to the X or Y driver does it work?
Pslayback last edited by Pslayback
I am no longer getting any error messages, I tested the phases with a multimeter and they should be wired correctly. The y axis moves a little but not much, I am still not getting any x movement, and the Z is only moving up when I try to home it. When I switched the z and y motors then moved it, the y axis (z motor) did move.
The y axis moves a little but not much, I am still not getting any x movement, and the Z is only moving up when I try to home it. When I switched the z and y motors then moved it, the y axis (z motor) did move.
I'm not sure I'm following what you're saying. Have you verified that the driver isn't working? Your config looks ok, and if the wiring is ok, it's likely a failed driver. You can try remapping the axis to the second E driver if you're not using it.
I phrased that weird, but essentially, the X motor is not moving, and the y only moves a little. When I try and home the Z axis, it goes up but does not come back down.
When I try and home the Z axis, it goes up but does not come back down.
That's probably because the other axis are not moving, so it's not completing the homing and it's just hanging there.
the X motor is not moving, and the y only moves a little.
And what happens if you swap the X and Y motors?
Can you try sending G92 X10 Y10 Z10 to force the axis to be homed and at the 10mm position. Then try using the jog buttons in the web interface to move the axis a small amount.
Are you sure the motor currents are correct for X Y and Z? How bout the steps per mm?
Swapping the motors yields the same results. When I attempt to home the x or y they do not seem to move. I will double check current and steps per mm.
I am beginning to wonder if the problem is with the end stops. Could that be it? The DWC shows the endstops as triggered all the time. When I tap the end stop the 3.3v light turns off, does that sound correct?