Dc Motor Driver Circuit Using Uln2003



Description

  1. Uln2003 Stepper Driver
  2. Dc Motor Driver
  3. Dc Motor Driver Circuit Diagram
  4. Dc Motor Driver Circuit Using Uln2003 Usb

Unipolar stepper motors have 5, 6 or 8 wires. They do not require a dual H-bridge to drive them. Instead, you can use a transistor for each phase and a flyback diode to prevent voltage spikes when the power to the coil is turned off and the stepper motor acts like a generator briefly (back-emf).

There are integrated circuits (chips) we can use that have all the required components on board. This example uses an ULN2003A chip to drive a unipolar 5,6 or 8 wire stepper motor.

ULN2003A

This project is an extension to two-phase Unipolar Stepper motor interfacing with AT89C51. In the previous project, transistor switches were used to interface the stepper motor with the microcontroller. Here the transistors have been replaced by using a ULN2003 IC to drive the stepper with 8051 microcontroller. Stepper motor is a variable reluctance DC motor.

Driver

Uln2003 Stepper Driver

The ULN2003 is one of the most common motor driver ICs, consisting of an array of 7 Darlington transistor pairs, each pair is capable of driving loads of up to 500mA and 50V. Four out of seven pairs are used on this board. The board has a connector that mates the motor wires perfectly which makes it very easy to connect the motor to the board. The above circuit represents the interfacing of PIC microcontroller (PIC16F877A) with relays using a relay driver circuit with ULN2003. The clamp diodes are built in these relays driver ICs and which eliminates the usage of freewheeling diodes.

The ULN2003A is an array of seven NPN Darlington transistors capable of 500mA, 50V output. It features common-cathode flyback diodes for switching inductive loads.

The ULN2003 is known for its high-current, high-voltage capacity. The drivers can be paralleled for even higher current output. Even further, stacking one chip on top of another, both electrically and physically, has been done.

The ULN2003 Stepper Motor Driver Module is small size & ease to use electronic module, it used ULN2003 Chip to amplify the signal from the micro controller, Input voltage max 15v. Stepper motor has convert pulse to angle displacement. The ULN2003 Driver Board. The motor usually comes with a ULN2003 based driver board. The ULN2003 is one of the most common motor driver ICs, consisting of an array of 7 Darlington transistor pairs, each pair is capable of driving loads of up to 500mA and 50V. Four out of seven pairs are used on this board.

Main specifications:

  • 500 mA rated collector current (single output)
  • 50 V output (there is a version that supports 100 V output)
  • Includes output flyback diodes
  • Inputs compatible with TTL and 5V CMOS logic

Hardware Required

  • Arduino board
  • Arduino ULN2003A based stepper driver board
  • 5, 6 (or 8) wire stepper motor (i.e. “28BYJ-48”)

28BYJ-48 unipolar stepper motor

The 28YBJ-48 stepper motor operates on 5Vdc and has built-in reduction gears. It has good torque for its size, but has relatively slow motion. It is ideal for use with Arduino boards as the stepper motor can be powered from the Arduino and the connector fits straight into ULN2003A driver boards.

28BYJ-48 specifications

  • 4 Phase 5 Wire.
  • Voltage : 5V DC
  • Current : 160 mA per winding (320 mA in 4-step mode) Measured: 250mA stopped, 200 mA running fast.
    If powered directly from an Arduino output pin, the current provided will be far less.
  • Resistance : 30 Ω per coil winding from Red wire to any coil.
  • Step Angle 8-Step sequence (Internal Motor without reduction gears): 5.625° (64 steps per revolution)
  • Step Angle 4-Step sequence (Internal Motor without reduction gears): 11.25° (32 steps per revolution)
  • Gear Reduction ratio: 1 / 64:
    • 64*64 = 4096 steps per output shaft revolution in 8-step sequence.
    • 32*64 = 2048 steps per output shaft revolution in 4-step sequence.
    • Note: The Arduino “Stepper Library” runs in 4-step mode
  • No-Load Pull-Out Frequency : 800pps
  • No-Load Pull-In Frequency : 500pps
  • Pull-In Torque : ≥ 78.4mN.m
  • Wiring Instruction : A (Blue), B (Pink), C (Yellow), D (Orange), E (Red, Mid-Point)
  • Weight : 30g
Dc motor driver circuit using uln2003 system

Wiring diagram for this model unipolar 5 wire stepper motor:

  • Coil 1 = Blue / Pink wire
  • Coil 2 = Yellow / Orange wire
  • Red = Common (center tap)

Dc Motor Driver

ULN2003A driver boards

These are the two most common ULN2003A driver boards. You can use these boards to drive DC motors or unipolar stepper motors.

The advantage of the below board is that all 7 inputs (IN1.7) and all 7 outputs (A.G) of the ULN2003A are accessible.

135

Circuit

The 28BYJ-48 stepper motor plugs straight into the connector.

If you use a different stepper motor requiring an external power source you may need to wire differently like in the picture below. If the stepper motor vibrates instead of rotates, you may need to change the wiring sequence.

Code

Example 1

Example 2

Connect a >10k Ohm potentiometer between +5V and GND with the slider connected to pin A0. This will be used to change the speed of the stepper motor.

Example 3

Using the Arduino stepper library.

Dc Motor Driver Circuit Diagram

4 Step Sequence: AB-BC-CD-DA
This is what the Arduino STEPPER Library uses.

The 8-step sequence uses only 1 coil on, then 2, then 1… etc.
8 Step Sequence: A – AB – B – BC – C – CD – D – DA – A

DRIVER
LED
LETTER
MOTOR WIREMOTOR WIRE COLORstepstepstepstepstepstepstepstep
4-STEPSEQUENCE1234
8-STEPSEQUENCE12345678
5red++++++++
D4orange00000111
C3yellow00011100
B2pink01110000
A1blue11000001

Example 4

Dc Motor Driver Circuit Using Uln2003 Usb

Using the AccelStepper library we can accelerate and decelerate stepper motors.