
- Arduino 教程
- Arduino - 首頁
- Arduino - 概述
- Arduino - 開發板描述
- Arduino - 安裝
- Arduino - 程式結構
- Arduino - 資料型別
- Arduino - 變數和常量
- Arduino - 運算子
- Arduino - 控制語句
- Arduino - 迴圈
- Arduino - 函式
- Arduino - 字串
- Arduino - 字串物件
- Arduino - 時間
- Arduino - 陣列
- Arduino 函式庫
- Arduino - I/O 函式
- Arduino - 高階 I/O 函式
- Arduino - 字元函式
- Arduino - 數學庫
- Arduino - 三角函式
- Arduino 高階
- Arduino - Due 和 Zero
- Arduino - 脈衝寬度調製
- Arduino - 隨機數
- Arduino - 中斷
- Arduino - 通訊
- Arduino - 互聯積體電路
- Arduino - 序列外設介面
- Arduino 專案
- Arduino - 閃爍 LED
- Arduino - 漸變 LED
- Arduino - 讀取模擬電壓
- Arduino - LED 條形圖
- Arduino - 鍵盤登出
- Arduino - 鍵盤訊息
- Arduino - 滑鼠按鈕控制
- Arduino - 鍵盤序列埠
- Arduino 感測器
- Arduino - 溼度感測器
- Arduino - 溫度感測器
- Arduino - 水位檢測器/感測器
- Arduino - PIR 感測器
- Arduino - 超聲波感測器
- Arduino - 連線開關
- 電機控制
- Arduino - 直流電機
- Arduino - 伺服電機
- Arduino - 步進電機
- Arduino 和聲音
- Arduino - 音調庫
- Arduino - 無線通訊
- Arduino - 網路通訊
- Arduino 有用資源
- Arduino - 快速指南
- Arduino - 有用資源
- Arduino - 討論
Arduino - 步進電機
步進電機或步進電動機是一種無刷同步電機,它將一個完整的旋轉分成若干個步驟。與施加固定直流電壓時連續旋轉的無刷直流電機不同,步進電機以離散的步進角旋轉。
因此,步進電機制造的每轉步數為 12、24、72、144、180 和 200,導致每步步進角為 30、15、5、2.5、2 和 1.8 度。步進電機可以有反饋或無反饋地控制。
想象一下 RC 飛機上的電機。電機以非常快的速度向一個方向或另一個方向旋轉。您可以透過向電機提供的功率量來改變速度,但您無法告訴螺旋槳在特定位置停止。
現在想象一下印表機。印表機內部有很多運動部件,包括電機。其中一個電機充當送紙器,旋轉滾筒以在列印墨水時移動紙張。此電機需要能夠移動精確距離的紙張,以便能夠列印下一行文字或影像的下一行。
另一個電機連線到螺紋杆上,該螺紋杆使列印頭來回移動。同樣,需要將該螺紋杆移動精確的量以依次列印一個字母。這就是步進電機派上用場的地方。

步進電機的工作原理?
普通的直流電機只能在一個方向上旋轉,而步進電機可以以精確的增量旋轉。
步進電機可以根據需要旋轉精確的度數(或步數)。這使您可以完全控制電機,允許您將其移動到精確的位置並保持該位置。它透過在電機內部線圈上通電非常短的時間來實現這一點。缺點是您必須始終為電機供電才能使其保持在您想要的位置。
您現在只需要知道,要移動步進電機,您需要告訴它在一個方向或另一個方向上移動一定數量的步數,並告訴它在該方向上步進的速度。步進電機種類繁多。此處描述的方法可用於推斷如何使用本教程中未提及的其他電機和驅動器。但是,始終建議您查閱與您擁有的型號相關的電機和驅動器的規格書和指南。

所需元件
您將需要以下元件 -
- 1 × Arduino UNO 開發板
- 1 × 小型雙極步進電機,如下面的圖片所示
- 1 × LM298 驅動 IC

步驟
按照電路圖,並按照下圖所示進行連線。

草圖
在您的計算機上開啟 Arduino IDE 軟體。使用 Arduino 語言進行編碼將控制您的電路。透過點選新建來開啟一個新的草圖檔案。

Arduino 程式碼
/* Stepper Motor Control */ #include <Stepper.h> const int stepsPerRevolution = 90; // change this to fit the number of steps per revolution // for your motor // initialize the stepper library on pins 8 through 11: Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { // set the speed at 60 rpm: myStepper.setSpeed(5); // initialize the serial port: Serial.begin(9600); } void loop() { // step one revolution in one direction: Serial.println("clockwise"); myStepper.step(stepsPerRevolution); delay(500); // step one revolution in the other direction: Serial.println("counterclockwise"); myStepper.step(-stepsPerRevolution); delay(500); }
程式碼註釋
此程式驅動單極或雙極步進電機。電機連線到 Arduino 的數字引腳 8-11。
結果
電機將沿一個方向旋轉一圈,然後沿另一個方向旋轉一圈。