在本文中,,我們將展示如何連接雙極步進電機到Arduino Uno板,,步進電機使用的是四線雙極步進電機。由于步進電機所需要的電流比Arduino處理器所能承受的電流要大得多,,所以我們將使用四路半高驅(qū)動器 1A – SN754410 來控制,。
SN754410
更快,更便宜,,更小是SN7554410的特點,關(guān)鍵是它使用TTL 5V邏輯電壓就能驅(qū)動高壓步進電機,,SN754410在1A連續(xù)輸出電流的情況下,,可以提供4.5V-36V的驅(qū)動電壓,確實很棒! 如果需要大電流,,可以將兩個設(shè)備物理地堆疊在一起以獲得2A的電流,。SN754410允許芯片在一個方向上控制4個電機,或者在兩個方向上使用一個全H橋控制2個電機,。下面是用兩個全H橋控制兩個電機的電路連接圖,。
Arduino步進電機控制
Arduino Stepper library 可以直接支持SN754410芯片,無需做任何的代碼修改,,因此硬件上我們只需先按照下面的電路圖將硬件連接起來,。
硬件全部連接好后,在Arduino IDE中加載一個步進電機的示例文件,。上傳后就能使步進電機先向一個方向旋轉(zhuǎn),,然后再向另一個方向旋轉(zhuǎn)了。
- /*
- Stepper Motor Control
- 該程序驅(qū)動單極或雙極步進電機.
- 電機連接到Arduino的 digital pins 8 - 11.
- 電動機應(yīng)該先向一個方向旋轉(zhuǎn)一次,,再轉(zhuǎn)向另一個方向.
- */
- #include <Stepper.h>
- const int stepsPerRevolution = 200; // 改變這個值來改變電機每轉(zhuǎn)一圈的步數(shù)
- // 初始化程序庫 pins 8 - 11:
- Stepper myStepper(stepsPerRevolution, 8,9,10,11);
- void setup() {
- // 設(shè)置速度為 60 rpm:
- myStepper.setSpeed(60);
- // 初始化串口:
- Serial.begin(9600);
- }
- void loop() {
- // 向一個方向旋轉(zhuǎn):
- Serial.println("clockwise");
- myStepper.step(stepsPerRevolution);
- delay(500);
-
- // 向另一個方向旋轉(zhuǎn):
- Serial.println("counterclockwise");
- myStepper.step(-stepsPerRevolution);
- delay(500);
- }
|