How to reuse 4 and 6 wires stepper motors for your projects
Stepper motors are used in various types of equipment for accurate rotation angle and speed control using pulse signals. Stepper motors generate high torque with a compact body, and are ideal for quick acceleration and response. Stepper motors also hold their position at stop, due to their mechanical design. Stepper motor solutions consist of a driver (takes pulse signals in and converts them to motor motion) and a stepper motor.
When you start to create a CNC or something similar you need a stepper motor, probably you can find they inside your trash.
If you have and old printer or better a laser printer, probably you can get 2 Nema17 motor. I specify old because newest one use a brushless motor with feedback.
But the real problem when you decide to reuse stepepr, is the identification of the coil.
To use It the best solution is to use a driver, the most common one is A4988, but existing various models.
4 wires stepper motors
The most common motors is 4 wires (bipolar) and 6 wires motors.
To use this motor you must identify the coil, take your tester and start check de restitance of all coils.
As you can clearly see from the images and the video for the bipolar motors it is simply necessary to find the connected ones, in practice the pairs will be formed by the wires that have a resistance different from 0.
6 wires stepper motors
This type of motor is more complex to use but with a tester and some patience you can find the 4 wires you need to connect.
As you can see in this case the pairs of wires that must be taken are those that have a greater resistance, ie those more external to the coils.
When you don’t have the specifications
Normally, the motors that you find inside the printers are not easily traceable consequently, you are without specifications.
Given that the circular stepper motors (not nema17) usually have 75 steps and not 200 like the classic nema17 (there is also the 400 variant), the real problem is how much voltage and current are given to the motors.
There is a simple “trick/way” to set the correct amperage. You must put tester + on the potentiometer and tester – to GND of the driver (look at the image) then:
- DRV8825: Imax = 2 * Vref (if Imax = 1.5A, then Vref is to be set to 1.5/2 V = 0.75V)
- A4988: Imax = 2,5 * Vref
In my situation, I put 0,8v*2,5 = 2A even if the step amp phase is 1,7amp but I need more power.
Step to follow to set the right input
I recommend following the following steps:
- Trivially test the outputs of the power supply to determine the rating.
If you can’t do this, follow the steps below:
- Start with 12v and set the maximum amperage per phase on the driver (for the A4988 2A): the low voltage affects the speed of rotation and naturally forces you to a greater amperage with a consequent increase in temperature. The motors you extract usually have 24-36v but they also work at 12v.
- If the temperature as we expect it becomes too high, decrease the amperage to obtain a high but acceptable temperature.
- If you get a very high temperature, increase the voltage and repeat the steps above.
Test the motors
I create a silly program to check the motor, normally I connect them on CNC Shield, but if you don’t have It you can directly connect to a driver.
I also use that program to calculate the exact number of steps/mm when setting the parameters of my CNCs.
Some Arduino have problem when you are doing a long-running transmission with grbl firmware; pay attention.
You can find here AliExpress
You can get the code from my GitHub, here you can find the repository.
This article is an integration for the series of Cyclon PCB Factory, take a look.