Stepper Motor with ULN2003A Driver Board

Small unipolar stepper motor comes with a ULN2003A driver board DESCRIPTION These are small unipolar stepper motors...
Vendor: Keszoox
$2.95
$3.95
$2.95

Shipping

The shipping fee depends on your address

Standard: 9-15 business days,fee is down to $3.99

Express: 4-7 business days,fee is down to $5.99

Support Customization

WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.

If you're looking for a custom product, we can help. Kindly contact us via email support@keszoox.com and send us the details for your need, then we'll let you know how we can deliver the right solution.

Built And process your order

We make into production usually Within 1 - 3 Bussiness Days.

Expect customization orders.
Stepper Motor with ULN2003A Driver Board

Stepper Motor with ULN2003A Driver Board

$3.95 $2.95

Stepper Motor with ULN2003A Driver Board

$3.95 $2.95

Small unipolar stepper motor comes with a ULN2003A driver board

DESCRIPTION

These are small unipolar stepper motors that come with a ULN2003A driver board that work well for smaller applications such as opening and closing a vent or to experiment with stepper motors.

PACKAGE INCLUDES:

  • 28BYJ-48 unipolar stepper motor with built-in cable
  • ULN2003 driver board

KEY FEATURES OF STEPPER MOTOR WITH ULN2003A DRIVER BOARD:

  • Compact size
  • Unipolar / 4-phase operation
  • 5mm shaft
  • 64:1 gear reduction for good torque capability
  • 5V operation

The most useful aspect of stepper motors compared to other motors is that the position of the motor shaft can be controlled directly in discrete steps without requiring some type of feedback mechanism to determine position as would be required with something like a standard DC motor.  Other benefits are that they are relatively precise in their movement, they tend to be fairly reliable since they do not use contact brushes in the motor and they generally have good torque even at stand-still which is maintained as long as power is supplied to the motor.  The main downside is that they are a bit power hungry and will consume power even when they are not moving.

Stepper motors work by converting electrical pulses into discrete increments of rotation of their shaft.  The motor is 4-phase and requires 4 control inputs.  Pulsing these inputs has several effects on the motor.

  1. The sequence of the applied pulses determines the direction that the motor shaft turns.
  2. The frequency of the input pulses determines the speed that the shaft turns.
  3. The number of the input pulses determines how far the shaft turns.

The motors are model 28BYJ-48 and operate at 5VDC.  The shaft is 5mm with two flat sides.  They have a 64:1 gear reduction, so they have pretty good torque capability.

Power draw is approximately 240mA.  Power is drawn whether the motor is turning or not in order to hold its position, so the motor will be slightly warm whenever power is applied.  Because of the fairly high power draw, it is best to power the stepper motors directly from a 5V power supply rather than drawing that power from the MCU board that is driving it.

The motor comes with a ULN2003A based driver board.  The ULN2003A is a 7 channel darlington transistor driver of which 4 channels are used on this board.  The board has 4 LEDs that show activity on the 4 control input lines.  It has 2 connectors for making connections as follows:

Motor / Driver Connections:

1 x 6 Header

  • VDD – Connect to 5V power supply.  Due to high current draw, this should come directly from a power supply and not a microcontroller board.
  • IN1 – Digital input 1 – Connect to a digital output pin on the MCU.
  • IN2 – Digital input 2 – Connect to a digital output pin on the MCU.
  • IN3 – Digital input 3 – Connect to a digital output pin on the MCU.
  • IN4 – Digital input 4 – Connect to a digital output pin on the MCU.
  • GND – Connect to ground

1 x 5 White Connector

  • This is where the motor plugs into.  The connector is keyed, so it only goes in one way.

OUR EVALUATION RESULTS:

These stepper motors are designed and used for small industrial applications such as opening and closing vanes.  They are a nice inexpensive way to learn about stepper motors and will work fine for many applications that don’t require absolute precision or huge torque loads.  Having the driver electronics make them straightforward to use.

When using with an Arduino, the stepper.h library is built into the IDE and makes it straight forward to control stepper motors such as these.

The program below is a simple test program.  It moves the stepper in both directions and then allows the stepper to be controlled using a potentiometer attached to the Analog 0 pin.  Any other analog sensor could be used.  For instance, using an analog temperature sensor, the stepper could be used to open/close vanes on an air vent to control temperature in a greenhouse.

The command  stepper(STEPS, 8, 10, 9, 11); is used by the stepper library to define which digital pins the motor is connected to on the Arduino.  These can be any 4 digital pins, but we use 8, 9, 10 and 11 in this example.  Note that we have these defined out of sequence based on the wiring to the motor.

  • IN1 = D8
  • IN2 = D9
  • IN3 = D10
  • IN4 = D11

The most likely issue to run into is that the stepper only runs in one direction.  That generally indicates that the wiring to the 4-phases of the motor may be different.  If that happens you can try changing the ordering of the pin assignments in that command.

Stepper Motor with ULN2003A Test Program

/*
 * Stepper Motor Test
 *
 * Run the stepper motor CW and CCW one turn to verify wiring
 * then have the stepper motor follow the rotation of a potentiometer
 */

#include <Stepper.h>

#define STEPS 2048   // change this to the number of steps on your motor

// create an instance of the stepper class with the number of steps of the motor
// and the pins it's attached to.  Note the odd non-sequential pin ordering
Stepper stepper(STEPS, 8, 10, 9, 11);

int ADCPin = 0;       //  Analog pin that potentiometer is connected to.
int prev = 0;         //  Variable to hold the previous reading from analog input
int diff = 0;         //  Variable to hold difference between new and previous readings
//===============================================================================
//  Initialization
//===============================================================================
void setup() {
  Serial.begin(9600);

  stepper.setSpeed(12);         // set the speed of the motor to 12 RPMs

  // Run this sequence one time to test the basic motor operation
  Serial.println("counterclockwise");
  stepper.step(STEPS);        // step one revolution in one direction:
  delay(500);

  Serial.println("clockwise");
  stepper.step(-STEPS);         // step one revolution in the other direction:
  delay(500);
}
//===============================================================================
//  Main
//===============================================================================
void loop() {
   
  int val = analogRead(ADCPin);   // get the sensor value from the pot
  
  val = val * 2;                  //ADC range is 0-1023.  Double to match # steps in stepper

  diff = val - prev;              //  Calculate the difference between the readings
  diff = abs(diff);               //  Convert any negative number to positive
  if (diff > 10) {                //  Look for a decent size change to ignore noise on the ADC
     stepper.step(val - prev);    // move a number of steps equal to the change in the pot
     prev = val;                  // remember the previous value of the sensor
     Serial.print("Pot = ");      // Print the ADC value we are reacting to
     Serial.println(val);
  }
  delay(100);
}

BEFORE THEY ARE SHIPPED, THESE MOTORS ARE:

  • Sample inspected and tested per incoming shipment.

Notes: 

  1. None

TECHNICAL SPECIFICATIONS

Motor Model 28BYJ-48
Operating Ratings  Voltage 5VDC
 Current 240mA (typical)
 Number of phases 4
 Gear Reduction Ratio 64:1
 Dimensions  Cable Length  24cm  (9.5″)
 Motor Housing Diameter 28mm (1.1″)
 Motor Height (minus shaft) 20mm (0.8″)
Motor Housing with Mounting Ears 42mm (1.7″)
Shaft diameter 5mm (3mm on flat sides)
Shaft length 8mm
Driver Board (L x W) 25 x 18mm (1 x 0.7″)

WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.

Contact us:
Support@keszoox.com
What we can help:
If you're looking for a wire or cable assembly, we can help.
What we need your help next:
Kindly contact us via email support@keszoox.com and send us the details fo your need, then we'll let you know how we can deliver the right solution.

Shipping Policy

All orders are dispatched from our warehouse. The shipments are fully tracked—from our door to yours. Please allow 3-5 business days for your order to be processed in addition to the shipping times below.

Shipping Times

Standard: 9-15 business days. Express: 4-7 business days.

Please note that shipping providers are extremely busy during this time, and some orders might experience a delay on top of usual delivery times. If your order is late, please allow 5-10 days more than indicated in standard shipping times before contacting our customer service. Thank you for your understanding.

Tracking

All orders are 100% tracked. You’ll receive an email with a tracking number and a link to track your parcel once your order leaves our warehouse. Please allow 24-48 hours for the tracking link to start showing shipping information.

Related Products

Recently Viewed Products