arduino驱动uln2003操作步进电机的方法
1、网上买的步进电机,很多接线顺序都不对。经过不懈努力查资料,终于找到了能用的接线方式:
电机上的12345针脚,对应着接线端子的42135。
2、ULN2003步进电机驱动板可以让你方便的用Arduino控制28BYJ-48步进电机。驱动板的电机供电接口可以连接到Arduino的GND和5V取电,但是不推荐这种方法,推荐用独立的5-12伏1安培的电源或电池组取电。“IN0~IN4”连接arduino的4个数字口(在代码里进行相应的设置)。
3、28BYJ-48步进电机的齿轮减速比为64:1,转速约15转/分钟,一些软件采用某些手段和高电压电源(如12伏直流)也能达到约25转/分钟的转速。
4步控制信号序列:11.25度/步,32步旋转一周。
8步控制信号序列:5.625度/步,64步旋转一周。
正常情况下,4步模式下旋转一周将用:32(步/周)X64(齿轮比)=2048步。
代码如下:
//使用arduino IDE自带的Stepper.h库文件
#include《Stepper.h》
//这里设置步进电机旋转一圈是多少步
#define STEPS 100
//设置步进电机的步数和引脚(就是注意点2里面说的驱动板上IN1~IN4连接的四个数字口)。
Stepper stepper(STEPS,8,9,10,11);
voidsetup()
{
//设置电机的转速:每分钟为90步
stepper.setSpeed(90);
//初始化串口,用于调试输出信息
Serial.begin(9600);
}
void loop()
{
//顺时针旋转一周
Serial.println(“shun”);
stepper.step(2048);
//4步模式下旋转一周用2048步。
delay(500);
//逆时针旋转半周
Serial.println(“ni”);
stepper.step(-1024);
//4步模式下旋转一周用2048步。
delay(500);
}
ULN2003引脚及功能
引脚1:CPU脉冲输入端,端口对应一个信号输出端。
引脚2:CPU脉冲输入端。
引脚3:CPU脉冲输入端。
引脚4:CPU脉冲输入端。
引脚5:CPU脉冲输入端。
引脚6:CPU脉冲输入端。
引脚7:CPU脉冲输入端。
引脚8:接地。
引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。
引脚10:脉冲信号输出端,对应7脚信号输入端。
引脚11:脉冲信号输出端,对应6脚信号输入端。
引脚12:脉冲信号输出端,对应5脚信号输入端。
引脚13:脉冲信号输出端,对应4脚信号输入端。
引脚14:脉冲信号输出端,对应3脚信号输入端。
引脚15:脉冲信号输出端,对应2脚信号输入端。
引脚16:脉冲信号输出端,对应1脚信号输入端。
ULN2003作用
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/50V。
ULN2003是高耐压、大电流达林顿系列,由七个硅NPN达林顿管组成。该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
uln2003应用电路
ULN2003应用电路在自动化密集的的场合会有很多被控元件如继电器,微型电机,风机,电磁阀,空调,水处理等元件及设备,这些设备通常由CPU所集中控制,由于控制系统不能直接驱动被控元件,这需要由功率电路来扩展输出电流以满足被控元件的电流,电压。
高压大电流达林顿晶体管阵列系列产品就属于这类可控大功率器件,由于这类器件功能强、应用范围语广。下图ULN2003的典型应用图。