標題: Arduino四相八拍步進電機控制程序+資料 [打印本頁]
作者: 王堂杰 時間: 2019-3-25 11:24
標題: Arduino四相八拍步進電機控制程序+資料
步進電機是一種將電脈沖轉化為角位移的執行機構。通俗一點講:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。你可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時你也可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
使用步進電機前一定要仔細查看說明書,確認是四相還是兩相,各個線怎樣連接,本次實驗使用的步進電機是四相的
減速步進電機
直徑:28mm
電壓:5V
步進角度:5.625 x1/64
減速比:1/64
5線4相 可以用普通uln2003芯片驅動,也可以接成2相使用
該步進電機空載耗電在50mA以下,帶64倍減速器,輸出力矩比較大,可以驅動重負載,極適合開發板使用。注意:此款步進電機帶有64倍減速器,與不帶減速器的步進電機相比,轉速顯得較慢,為方便觀察,可在輸出軸處粘上一片小紙板。
步進電機(五線四相)驅動板(UL2003)試驗板
步進電機驅動板(UL2003)試驗板
* 步進電機跟隨電位器旋轉
* (或者其他傳感器)使用0號模擬口輸入
* 使用arduino IDE自帶的Stepper.h庫文件
*/
5.jpg (53.94 KB, 下載次數: 89)
下載附件
2019-3-25 11:27 上傳
1.jpg (44.69 KB, 下載次數: 114)
下載附件
2019-3-25 11:21 上傳
源程序:
- #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;
- }
復制代碼
全部資料51hei下載地址:
ULN2003 步進電機擴展板資料.zip
(417.2 KB, 下載次數: 67)
2019-3-25 11:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: qtvbriu 時間: 2019-11-14 20:27
謝謝分享!剛學沒多久!
作者: gasgq 時間: 2019-11-23 19:32
謝謝老哥,不過我用這個源程序怎么上傳不了
作者: jsxhzxp 時間: 2019-11-24 20:12
剛剛學,學到了。謝謝
作者: 不改 時間: 2020-12-7 10:27
stepper.step,后面不管正負都是順時針轉
作者: 191122699 時間: 2021-6-5 15:04
整理的不錯,給力啊


作者: uyg6f6f 時間: 2021-7-31 17:43
這個程序是真的強
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |