
1、介绍
本款ULN2003A是一款高电压、大电流的达林顿晶体管阵列,常用于驱动继电器、LED灯、电磁阀和步进电机等。它的七个独立通道可以分别控制步进电机的四个绕组,每个通道都可以承受高达500mA的电流,足以驱动小型到中型的步进电机。本驱动是通过ULN2003A控制5线4相步进电机。驱动步进电机的核心是通过改变电机绕组的通电顺序和时序来实现电机的旋转。ULN2003A的每一个通道对应步进电机的一个线圈,通过控制这些通道的开闭,我们可以控制电机的步进动作。通常,步进电机有四种不同的步进模式:单相、双相、半步进和全步进,每种模式下电机的转矩和精度都有所不同。
2、原理图

3、模块参数
引脚名称 | 描述 |
|---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
IN1 | 电机信号引脚1 |
IN2 | 电机信号引脚2 |
IN3 | 电机信号引脚3 |
IN4 | 电机信号引脚4 |
供电电压: 5V
电源信号连接方式:6P杜邦线
步进电机连接方式:PH1.5-4P端子
安装方式:螺丝固定/乐高搭建
4、电路板尺寸

5、添加Arduino库文件
不会使用库文件的参考这里:库文件安装使用
库文件下载:点击下载
6、Arduino IDE示例程序
示例程序(UNO开发板):点击下载
#include <Stepper.h>
Stepper mystepper(2048,2,3,4,5);
void setup(){
mystepper.setSpeed(10);
}
void loop(){
//控制步进电机正转一圈反转一圈
//设置步数与移动步数相等,代表刚好转一圈;移动步数前数值为正代表顺时针转动;负数代表逆时针转动。
mystepper.step(2048);
delay(200);
mystepper.step((-2048));
delay(200);
}示例程序(ESP32开发板—基于Python语言,不能用Arduino IDE上传代码):
7、米思齐 Mixly 示例程序(图形化语言)
示例程序(UNO开发板):点击下载

示例程序(ESP32开发板):点击下载
8、测试环境搭建
Arduino UNO 测试环境搭建
准备配件:
UNO-R3 开发板 *1
UNO-R3 P 扩展板 *1
USB type-c 数据线 *1
步进电机驱动模块(HS-F25-PL)*1
6P杜邦线*1
PH1.5-4P线
电路接线图:

ESP32 Python 测试环境搭建
9、视频教程
Arduino UNO视频教程:点击查看
ESP32 Python视频教程:
10、测试结论
Arduino UNO测试结论:

将程序烧录进去后可以观察到,电机正转一圈,稍作停顿后反转一圈。