logo elektroda
logo elektroda
X
logo elektroda

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

grala1 8673 13
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • Here I present to you one of the most popular modules used to power a unipolar stepper motor. The module and the stepper motor can be purchased from China for less than $1.50 including shipping, and are 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 the controller power supply (+,-) and a jumper (the jumper inserted is the motor power supply equal to the controller power supply) on this strip to power the motor where we can take it from the controller`s power supply, which according to the manufacturer should be in the range of 5-12V, or from the outside, but remember that the voltage cannot exceed 50V - higher voltage may damage the ULN2003A system, you also need to pay attention to the current when using a different motor - the maximum current from ULN2003A is 500mA. We can use the higher power supply to power another engine, our tested engine is 28BYJ-48 where the power supply for it should be 5V.
    Description of the goldpin power strip - red arrow - plus, black - minus, orange - engine power.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    In addition, there are 4 LEDs on the board to visualize what is happening at the outputs of the system. The motor is connected to the controller via the JST-XH-05 connector.
    The module works in a very simple way. After applying a high state to the IN1 input, we obtain a low state on the motor connector where the blue wire is connected, this is signaled by the activation of LED A.
    Applying a high state to the IN2 input causes a low state to appear on the pink wire, which is signaled by LED B.
    Applying a high state to the IN3 input causes a low state to appear on the yellow wire, which is indicated by LED C.
    Applying a high state to the IN4 input causes a low state to appear on the orange wire, which is indicated by the LED D.
    The red wire is a common connection for all four coils. Here we have the plus from the module power supply through the jumper on the goldpin strip powering our controller.
    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 approx. 0.03 Nm with a step of 11.25 and a gear ratio of 1:64, which means that with e.g. wave or full-periodic control, we have to take 2048 steps to make a full revolution at the gear output.
    Now a little 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 steps, and the direction of rotation depends on the sequence of steps.
    In this description, I will present how to control a unipolar motor in waves, full steps and half steps.

    Wave control.
    28BYJ-48 stepper motor control with the use of a module based on ULN2003A
    In wave control, also called single-phase control, only one coil is always powered, i.e. only half of the winding from one pair is used in each step. It can be said that with this type of control we use only ¼ of all available motor coils/windings. The control is quite simple, but using it reduces 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 stepper motor coils are always powered. It should be noted that here we never power 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 are always working, which means we use half of the available motor coils/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, we have a twice shorter step, which gives us greater accuracy, we obtain a smaller effect of engine resonance, which is more visible in wave or full-step control. While in single-phase or two-phase control, where the sequence of control signals is repeated every four ticks, in half-step control it is repeated every 8 ticks. When using half-period control, compared to the controls described earlier, at the same frequency of control signals, the engine speed is twice as slow.

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

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

    Wave control.



    Full step control.



    Half-step control.



    Cool? Ranking DIY
    About Author
    grala1
    VAG group specialist
    Offline 
    grala1 wrote 9760 posts with rating 4848, helped 1477 times. Live in city Kalisz. Been with us since 2006 year.
  • ADVERTISEMENT
  • #2 16848816
    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 16850304
    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.
  • ADVERTISEMENT
  • #5 19587419
    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 19714574
    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.
  • #7 19965660
    RAPER
    Level 11  
    Hello
    I see that my friend, Levy ^ did something I need, but he doesn't speak, so maybe someone else will help. I need such a kit for the old rope meter, because I cannot connect it anymore. Will this stepper motor with driver + ABS sensor from differential work as a speedometer ????

    greetings
  • ADVERTISEMENT
  • #8 19966365
    levy^
    Level 17  
    I contacted PW after 16 hours of receiving your message, I can be independent of notifications on the phone :-)
  • ADVERTISEMENT
  • #9 20180490
    mjab

    Level 10  
    Hello,

    uses these motors in internal blinds. And here I have a question, if I increase the motor voltage from 5v to 10v, it will raise its Nm? My guess is that it will also heat up more, but its work lasts about 90 seconds and then it does not receive any power.
    Sometimes I have larger blinds and I need a little more strength, and the motors are the perfect size and others would be too big.

    Regards ...
  • #10 20180507
    levy^
    Level 17  
    No, you will burn the windings, increasing the torque of a stepper motor is something else entirely.
  • #11 20180963
    mjab

    Level 10  
    levy^ wrote:
    No, you will burn the windings, increasing the torque of a stepper motor is something else entirely.


    OKAY :) , and more specifically how to raise a Nm in such a motor?

    For now, my friend made me realize that I am .... yyy ... silly :P And now I would like to be wiser about this knowledge :)


    To give more amps I have to raise the volts? And when I pick up the amps I will increase the strength of the electromagnets ... and that will increase the strength. So far I thought so? :)
  • #12 20181123
    levy^
    Level 17  
    You can use half steps or full steps, reduce the speed, check the maximum torque in the documentation for this engine. I was just reducing the torque because I mechanically block the drive to determine the zero point when starting the system.
  • #13 20181281
    mjab

    Level 10  
    levy^ wrote:
    you can take half-steps or full steps, reduce the speed, check the documentation for this engine what is the maximum torque. I was just reducing the torque because it mechanically blocks the drive to set the zero point when starting the system


    Well, the point is that the internal blinds should close and open as soon as possible. The normal closing time of the roller shutter in a standard window is about 90 seconds. I would like to cut it down to 30 seconds? :) At the same time, I am limited by the size of the engine.
  • #14 20181773
    zdziwiony
    Level 27  
    First of all, use some normal stepper motor driver, for example stepsticks used in 3D printers. Secondly, use stepper motors with the lowest possible operating voltage, and supply the controller with the highest possible voltage for this controller. Limit the current in the controller to the maximum value for this motor. This is experimental because the engine can be temporarily overloaded. Use a ramp in the controls so that the engine does not start at full speed. I think that's it.

Topic summary

The discussion revolves around the 28BYJ-48 stepper motor and its control using a ULN2003A-based power module. Users clarify that the module is not a driver but a power amplifier for the motor, correcting common misconceptions. Various users share their experiences with the module, noting its affordability and effectiveness in applications like speedometers and internal blinds. Questions arise regarding voltage adjustments and torque enhancement, with advice on using proper stepper motor drivers and managing current to prevent overheating. The importance of understanding motor specifications and control techniques is emphasized for optimal performance.
Summary generated by the language model.
ADVERTISEMENT