Main centres: | 1-3 business days |
Regional areas: | 3-4 business days |
Remote areas: | 3-5 business days |
This ULN2003 Driver Board is designed to operate small stepper motors at voltages between 5V and 12V, at a maximum current of 500mA. It is Arduino compatible and is typically used with Arduino UNO boards, but often requires a separate power supply to avoid damaging the Arduino board.
This set is a perfect choice for building your own 3D printer or CNC machine. The Driver board could function as a driver for other devices as well, as listed below in the " ULN2003 Chip Features". It is pretty self-explanatory that buying this set would be a very wise choice.
5V Stepper Motor Specification:
Rated voltage: 5VDC
Number of Phase 4
Speed Variation
Ratio 1/64
Stride Angle 5.625 /64
Frequency 100Hz
DC resistance 507%(25) Idle
In-traction Frequency > 600Hz Idle
Out-traction Frequency > 1000Hz In-traction
Torque >34.3mN.m(120Hz)
Self-positioning Torque >34.3mN.m
Friction torque 600-1200 gf.cm
Pull in torque 300 gf. cm
Insulated resistance >10M(500V)
Insulated electricity power 600VAC/1mA/1s
Insulation grade A
The rise in Temperature <40K(120Hz)
Noise <35dB(120Hz,No load,10cm)
Model 28BYJ-48 — 5V
Data on Motor: PDF stepper1
ULN2003 Driver Board Set Feature:
• 500-mA-Rated Collector Current (Single Output)
• High-Voltage Outputs: 50 V
• Output Clamp Diodes
• Inputs Compatible With Various Types of Logic
• Relay-Driver Applications 2 Applications
• Relay Drivers
• Stepper and DC Brushed Motor Drivers
• Lamp Drivers
• Display Drivers (LED and Gas Discharge)
• Line Drivers
• Logic Buffers
ULN2003 DataSheet
//declare variables for the motor pinsint motorPin1 = 8; //pin 1N1int motorPin2 = 9; //pin 1N2int motorPin3 = 10; //pin 1N3int motorPin4 = 11 //pin 1N4int motorSpeed = 1200; //variable to set stepper speedint count = 0; // count of steps madeint countsperrev = 512; // number of steps per full revolutionint lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001}; //////////////////////////////////////////////////////////////////////////////void setup() { //declare the motor pins as outputs pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT); Serial.begin(9600);} //////////////////////////////////////////////////////////////////////////////void loop(){ if(count < countsperrev ) clockwise(); else if (count == countsperrev * 2) count = 0; else anticlockwise(); count++;} ////////////////////////////////////////////////////////////////////////////////set pins to ULN2003 high in sequence from 1 to 4//delay "motorSpeed" between each pin setting (to determine speed)void anticlockwise(){ for(int i = 0; i < 8; i++) { setOutput(i); delayMicroseconds(motorSpeed); }} void clockwise(){ for(int i = 7; i >= 0; i--) { setOutput(i); delayMicroseconds(motorSpeed); }} void setOutput(int out){ digitalWrite(motorPin1, bitRead(lookup[out], 0)); digitalWrite(motorPin2, bitRead(lookup[out], 1)); digitalWrite(motorPin3, bitRead(lookup[out], 2)); digitalWrite(motorPin4, bitRead(lookup[out], 3));}