Arduino系列教程-020 步進電機
步進驅動器接收到一個脈衝訊號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。本實驗就是通過控制脈衝個數來控制角位移量,從而達到準確定位的目的。
所需元器件
步進電機、驅動板、電位器、麵包板、跳線若干、Arduino控制板
原理圖
使用步進電機前一定要仔細檢視說明書,確認是四相還是兩相,各個線怎樣連線,本次實驗使用的步進電機是四相的,按照上圖接好電路。
實物圖
減速步進電機
直徑:28mm
電壓:5V
步進角度:5.625 x 1/64
減速比:1/64
5線4相 可以用普通uln2003晶片驅動,也可以接成2相使用
該步進電機空載耗電在50mA以下,帶64倍減速器,輸出力矩比較大,可以驅動重負載,極適合開發板使用。注意:此款步進電機帶有64倍減速器,與不帶減速器的步進電機相比,轉速顯得較慢,為方便觀察,可在輸出軸處粘上一片小紙板。
程式程式碼
/*
* 步進電機跟隨電位器旋轉
* (或者其他感測器)使用0號模擬口輸入
* 使用arduino IDE自帶的Stepper.h庫檔案
*/
#include <Stepper.h>
// 這裡設定步進電機旋轉一圈是多少步
#define STEPS 100
// attached to設定步進電機的步數和引腳
Stepper stepper(STEPS, 8, 9, 10, 11);
// 定義變數用來儲存歷史讀數
int previous = 0;
void setup()
{
// 設定電機每分鐘的轉速為90步
stepper.setSpeed(90);
}
void loop()
{
// 獲取感測器讀數
int val = analogRead(0);
// 移動步數為當前讀數減去歷史讀數
stepper.step(val - previous);
// 儲存歷史讀數
previous = val;
}
程式讀入後,試著旋轉電位器,看電機轉動角度有什麼變化,如果電機來回轉動就說明實驗成功了。
回顧與總結
在做實驗前要留意的就是你用的步進電機是四相還是二相的,注意介面的對應。本實驗的關鍵還在於調節脈衝的變化控制電機的轉動角度的變化。