Altough I think I know my way around a 3d printer, it always scares me when a machine fails due to a potential hardware issue. In contrast to changing some obscure setting in the slicer, my heart tends to skip a beat when I’m dealing with mechanical and electrical parts.
Sooner or later, you will have to deal with a stepper motor not working correctly. If you are like me, you certainly prefer to do some research before trying potentially irreversible things. Although we are going to dig deeper into each cause, these are the most common causes of a stepper motor not properly working.
A 3D printer’s stepper motor may not be working due to insufficient electrical current, a loss of continuity along with the wiring or a connector, or a faulty stepper motor driver or control board.
Of course, this brief summary is not very useful when it comes to solving your issue at hand, so let’s get started!
How to fix a Stepper Motor that is not moving
When it comes down to issues related to non-functioning hardware, the recommended path to solve them is always going from the simplest to the most complicated possible solution. It is useless to check the firmware settings or modify advanced configurations of our printer if we do not first verify that the machine is turned on. Although it sounds silly, most problems are usually solved via almost trivial and very basic checks. when dealing with stepper motors, this is not the exception to the rule.
Before we start tracking down the problem that does not allow the motor to move, I will ask you a question: is the problem being caused due to the stepper motor itself?
Many users don’t know it (and why should they?), but the 3d printer’s firmware is set to prevent the extruder motor from moving when the hotend is cold. That means that before you try to move it, you must pre-heat the hotend to a temperature above the minimum (I recommend 200 degrees, just to be safe).
Now that we are aware of this, let’s try to fix that annoying motor!
Stepper motor not receiving electrical current
First of all, you must check that the motor receives electrical current. To do that, you don’t need a multimeter or any particular tool, just turn the printer on and try to move the motors from the menu.
On Marlin-type printers, select “Prepare” -> “Move axis” and select the axis of the motor that is not working. Order a sufficiently long movement, such as 150 mm in the X / Y axes, or 100 mm in the Z-axis. If during the movement you can move the motor using your hand, it means that the magnetic field is not being generated within the motor, which is necessary for its operation. Since the field is generated by an electric current, it is most likely a power problem.
Check the voltage supplied by the source with a multimeter. Some printers run at 12V while others need 24V. The reading should be stable at all times. If the power source terminals are not delivering the necessary voltage, the printer components will start to fail. Replace the power supply if necessary.
Having done so, make sure that the motor connection plugs are correctly connected, and verify that there are no bent pins. Try checking the continuity of each wire using a multimeter (the video below shows you how to do it). Failure in any of the wires will result in the engine not working properly. If you find any wire that does not pass the continuity test, replace the connector.
Check the stepper motor driver board
The next step in finding the cause for the failure is verifying the driver. Typically, a Pololu A4988 is used. This small board regulates the power of the stepper motor and it serves as the link between the control board and the stepper motor.
Try moving the driver to another plug and see if the problem is transferred to the engine where you connected that driver. Be very careful when connecting the driver, as its pins must be oriented correctly (look for the “Enable” pin on both the driver and the board and match them). Placing it upside down will cause the driver or control board to burn out.
If you find that the problem was the driver, replace it with the same or an equivalent one. There are quieter and longer-life models, but they are much more expensive than the A4988 driver.
Now it is time to check the control board. RepRap 3d printers often use an Arduino Mega + Ramps combination as they are the cheapest and most reliable version you can get. You will need to get another board to test if the problem still occurs.
How to Fix a Noisy/Clicking Stepper Motor
Increase motor driver voltage to achieve the required torque
When a stepper motor has to generate a really big torque (higher than what it can deliver), it will stop moving, but the magnetic field continues to demand the motor shaft to spin. This can be heard as one or more “clicks” within the engine.
Since the control board has no feedback regarding the extruder position, printing continues as if nothing happened and the step is “lost”. This produces a displacement of layers in the object, or sectors without deposited filament when the motor that loses steps is the extruder motor.
The most common cause of loss of steps in the movement axes is a low voltage set in the motor driver. In order to increase the voltage, the drivers have a small potentiometer on the top. Using a ceramic tip screwdriver, turn the potentiometer clockwise. At the same time, the delivered voltage should be read with a multimeter.
The necessary voltage varies on each printer, type of stepper motor, and load required by the motor. Z-axis and extruder motors oftentimes will require more tension than the others. Some people perform calculations to determine the voltage according to the motor used, but in my experience this must be done empirically, increasing the voltage value until a reliable operation is reached.
Other common causes
- Lack of lubrication in the guides: this makes the movement demand a greater torque.
- Excessive tension on the belts: the belt pulls strongly on the motor shaft, making it unnecessary tense. The straps should be relatively tight, but make sure not to exaggerate it.
- Low extrusion temperature: if the filament is not hot enough, it will not flow smoothly through the hotend, causing the pressure required for extrusion to increase. A temperature tower is the best test in order to establish the optimum printing temperature.
- Failure in the barrel cooling: if the heat “rises” along the barrel, it causes the filament to become soft. The upper part of the filament should act as a piston, so it must be as cold as possible. When this fails, the motor is forced more, leading it to lose steps and generate a jam in the nozzle. Adding a heat sink and/or a cooling fan may help with this issue.
- The set speed is excessive: the acceleration required from the engine must be within its capabilities. When the motor fails to meet the demand for movement, it loses steps. The X / Y axes are the most affected by this problem.
- Backlash on the shaft: if the belt is too loose, or the guide system allows a small amount of backlash, the first steps in a change of direction will be lost, causing a distortion of the object.
- Driver overload: As drivers handle very large currents, they need to dissipate large amounts of heat. For this, aluminum heatsinks are usually attached to the main chip of the driver. When the heat is excessive, the driver starts to malfunction and one of the most frequent symptoms is the loss of steps in the motor. To avoid that, I recommend placing a cooling fan pointing directly at the drivers.
Other frequently asked questions
Can a Stepper motor get too hot?
If you touch the motors during a very long print, you will notice that they can get quite hot. This happens because part of the power generated by the motors is transformed into mechanical energy and another part is lost as heat.
The motor housing and its internal components are designed to withstand a lot of heat, but if a maximum temperature is exceeded, they could be damaged.
The maximum operating temperature of a stepper motor is always specified on the datasheet of the specific model. Although the specific values varies quite a lot, it usually falls in the 70°C-100°C range.
As a rule of thumb, we could say that if you cannot touch the stepper motor, it is because it is clearly too hot. Although this is relative, it is a good starting point. Regulate the voltage in the drivers at a midpoint, in which the operation is as expected but without increasing the temperature too much.
Once you have a good configuration, I recommend that you take note of the values for each stepper motor. In case you need to replace a driver, you will not have to redo this test.
Do Stepper Motors Require Maintenance?
Stepper motors are maintenance-free. It is not necessary to go into details, but unlike common direct current motors, they do not have brushes or parts in contact that can wear out. Just make sure to keep it dust and dirt-free. If you use hairspray to improve bed adhesion, be sure to cover all the electronic parts before spraying it.
How to Replace a Stepper Motor
If you got here without finding the problem, the stepper motor is most likely out of order and you need to replace it. For doing so, it is important that you know that the NEMA 17 designation (the most used in 3d printing) only refers to the distribution of the mounting threaded holes. Within this range of engines, there are countless variants that may or may not match the specifications you need.
Before purchasing a new motor, check with the printer manufacturer for the specifications regarding:
- Operating voltage
- Degrees of rotation for each step (number of steps per revolution)
- Height of the motor (to make sure it fits in the same place as the previous one)