Elektroda.com
Elektroda.com
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.com

28BYJ-48 stepper motor control with the use of a module based on ULN2003A

grala1 5775 5
This content has been translated » The original version can be found here
  • I present to you one of the most popular modules for powering a unipolar stepper motor. The module with a stepper motor can be purchased from China for less than $ 1.5 with shipping, also available on Allegro and other auction sites. The dimensions of the board are 40.5x23mm.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A 28BYJ-48 stepper motor control with the use of a module based on ULN2003A 28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    There are two goldpin strips on the board. One four-pin is used to control the motor where we have inputs from IN1 to IN4, the other four-pin is for powering the driver (+, -) and a jumper (the jumper is inserted is the motor power supply equal to the power supply of the controller) on this strip used to power the motor where we can supply take from the controller power supply, which, according to the manufacturer, should be in the range of 5-12V or from the outside, but remember that the voltage must not exceed 50V - higher voltage can damage the ULN2003A system, you must also pay attention to the current when using another motor - maximum current from ULN2003A is 500mA. The higher power supply can be used when powering another motor, our tested motor is 28BYJ-48, where the power supply for it should be 5V.
    Description of the goldpin power strip - red arrow - plus, black - minus, orange - motor power.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    In addition, the board also has 4 LEDs for visualization of what is happening at the outputs of the system. The engine is connected to the controller via the JST-XH-05 connector.
    The module works very simply. After applying the high state to the IN1 input, we get the low state on the motor connector where the blue wire is connected, it is signaled by the activation of the LED A.
    Feeding the high state to the IN2 input causes the appearance of a low state on the pink wire, which is signaled by the LED B.
    Providing the high state to the IN3 input causes the appearance of a low state on the yellow wire, which is signaled by the LED C.
    Providing high state to the IN4 input causes the appearance of a low state on the orange wire, which is signaled by the LED D.
    The red wire is the connection common to all four coils. Here we have the given plus with the module powered through the jumper on the goldpin strip powering our driver.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    As for the motor, it is a four-phase motor with a power of about 0.03Nm with a step of 11.25 with a 1:64 gear ratio, which means that when controlling, for example, wave or full-time, we have to make 2048 steps to make a full turn at the gear output.
    Now a little bit of theory to know how to use it.
    Stepper motors can be divided into unipolar and bipolar. Controlling unipolar stepper motors is easier and less complicated than bipolar motors.
    In a stepper motor, the speed does not depend on the value of the supply voltage but on the frequency of the steps, and the direction of rotation depends on the sequence of steps.
    In this description I will present how to control the unipolar motor in wave, full and half step.

    Wave control.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    In wave control, also known as single-phase control, only one coil is always powered, i.e. in each step we use only half of the winding from one pair. It can be stated that with this type of control we only use 1/4 of all available coils / motor windings. The controls are quite simple, but with its use we reduce the performance of the engine used.

    Full-step control.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    In full-step control, also called two-phase control, two coils of a stepper motor are always supplied. It must be noted that here we never supply two coils from one pair at the same time. This type of control allows us to use our engine more. In this case, two of the four windings always work, i.e. we use half of the available coils / motor windings.

    Half-step control.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    As you can see, half-step control is more complicated than wave and full-step control. This control is a combination of the two previously described controls. In the case of such control, the step is twice as short, which gives us greater accuracy, we obtain here a lower resonance effect of the motor, which is more manifested in wave or full-step control. While in single-phase or two-phase control where the sequence of control signals repeats every four measures, in half-step control it repeats every 8 measures. When using the half-period control, compared to the controls described earlier, with the same frequency of control signals, we have a twice slower motor speed.

    Below is a program written in Bascom by a forum member " ~~~ pio ~~~ "(Who agreed to use it here) where we can test our module with the engine using the above-described types of controls. I have added a few descriptions in the program so that it can be easily converted to any type of control described here.
    Code: vbnet
    Log in, to see the code

    Below are videos showing the use of the set and each of the described controls.

    Wave control.
    [movie: 704c6463d9] https://filmy.elektroda.pl/65_1511564059.mp4 [/ movie: 704c6463d9]
    Full-step control.
    [movie: 704c6463d9] https://filmy.elektroda.pl/76_1511564421.mp4 [/ movie: 704c6463d9]
    Half-step control.
    [movie: 704c6463d9] https://filmy.elektroda.pl/63_1511564541.mp4 [/ movie: 704c6463d9]

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    grala1
    VAG group specialist
    Offline 
    grala1 wrote 9420 posts with rating 3721, helped 1322 times. Live in city Kalisz. Been with us since 2006 year.
  • #2
    szymon122
    Level 38  
    I do not understand why it is called a driver, since this device does not control the engine, but only "powers it" (or more precisely, it amplifies the signal from the CONTROLLER) ...
  • #3
    grala1
    VAG group specialist
    I corrected the title and content.
    In fact, I duplicated a common error in the network - it is not a stepper motor driver, but only a power module.
    I am sorry for misleading.
  • #5
    anszun
    Level 18  
    Col. Grala1 please help. The controller has 4 power pins. there is a jumper on the third and fourth. I want to start it at 12V. Is it enough to remove the jumper or change the pins? When connecting pin1 GND pin4 + 12V (power supply from a separate power supply - other systems work on + 5V, but the engine is 12V) after connecting with the PCF8574A outputs, all the LEDs are on (without I2c control)
  • #6
    TallyFeli
    Level 1  
    Hi...Amusingly, relatively few individuals really realize how to function with them. What's more, in case you are an absolutely confused fledgling with regards to hardware, we comprehend that perusing huge loads of specialized language online can be somewhat overwhelming and unpleasant now and again. Henceforth, we have summed up an aide on the most proficient method to interface a 28BYJ-48 stepper engine with an Arduino, utilizing a ULN2003 driver board.