Faulty stepper driver? Motor sometimes goes wrong directions
-
I'm building a custom machine for a customer on their new duet wifi board. I set M584 Y0:3 two use two motors on each side of the Y gantry. The two motors would be in sync if I just move the gantry around in the web interface, but when I run a micro or gcode which probably have a lot of Y direction changes, one of the motor(always the same one) would go in the wrong direction. When I move the motor from port 3 to port 1 and change only M584 Y0:3 to M584 Y0:1, everything runs fine as expected. Is driver 3 a faulty driver which doesn't receive or process direction signal reliably?
-
https://youtu.be/wwUYVX4Vpjw
Here is a link to the video. It's easier to see the direction of the motors by looking at the couplers. The right motor would sometimes go in the wrong direction, and recover, and go wrong direction again. I'm using 2.0 firmware. -
How much current are you running them at?
-
Unreliable motor operation is often the result of a bad connector or cable.
-
@shen, two things to check:
- M584 must come before M906 in config.g;
- in your M584 command you must also redeclare the extruder driver numbers so that driver 3 is no longer also treated as an extruder drive.
-
@dc42
Thanks. I didn’t put E in the M584 command since I was just testing the xyz motion. That must be the problem. -
@phaedrux I’m running them at 2A.
-
@shen if you are running them at 2A then it may be a driver overheating and dropping temporarily into thermal shutdown if there is not sufficient passive or active cooling. You can monitor this during a print by setting up a virtual temperature monitor for the drivers and see if you get an issue. See:
https://duet3d.dozuki.com/Wiki/Gcode#Section_M305_Set_temperature_sensor_parameters
And
https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual#Section_Extra_view
-
@shen said in Faulty stepper driver? Motor sometimes goes wrong directions:
@dc42
Thanks. I didn’t put E in the M584 command since I was just testing the xyz motion. That must be the problem.That will have the effect that the E value in the M906 command will define the current for the second Z motor. So if the E parameter is lower than the Z parameter, it will run at a lower current than the other Z motor.