
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測試結論:

將程序燒錄進去後可以觀察到,電機正轉一圈,稍作停頓後反轉一圈。