在本篇文章中,我們將學習如何使用電位器和Arduino開發板實現步進電機控制。步進電機可用于軟盤驅動器、平板掃描儀、計算機打印機、繪圖儀、圖像掃描儀、光盤驅動器、智能照明、相機鏡頭、CNC機器以及最近比較流行的3D打印機。
因此,在本文中我們將學習有關步進電機及其應用的基礎知識。我們還將步進電機與Arduino進行連接。步進電機的運動和旋轉方向將通過電位器控制。
什么是步進電機
步進電動機(stepper motor)是一種無刷直流電動機,它將完整的全周長分為多個相等的步長。然后可以命令電機的位置移動并保持在其中一個步進,而無需任何位置傳感器進行反饋(開環控制器),只要在轉矩和速度方面仔細選擇適合電動機尺寸的電動機即可。
步進電機的構造和工作原理
步進電機以其特性而聞名,它將一系列輸入脈沖(通常為方波脈沖)轉換為軸位置中精確定義的增量。每個脈沖將軸移動固定角度。
實際上,步進電機具有多個“帶齒”電磁鐵,圍繞中央齒輪狀鐵片排列。電磁鐵由外部驅動器電路或微控制器供電。為了使電動機軸旋轉,首先,給電磁鐵供電,該電磁鐵以磁性方式吸引齒輪的齒。當齒輪的齒與第一個電磁鐵對齊時,它們與下一個電磁鐵稍有偏移。這意味著當下一個電磁鐵打開并且第一個電磁鐵關閉時,齒輪會輕微旋轉以與下一個電磁鐵對齊。然后從該處開始重復該過程。這些旋轉中的每一個都稱為一個“步”,其中整數個步進行完整的旋轉。這樣,電動機可以旋轉一個精確的角度。
電磁鐵的圓形排列分為幾組,每組稱為一個相,每組中有相等數量的電磁鐵。組數由步進電機的設計者選擇。每組的電磁鐵與其他組的電磁鐵交錯以形成均勻的布置圖案。例如,如果步進電動機具有兩個組,分別標識為A或B,總共有十個電磁鐵,則分組模式將為ABABABABAB。
同一組中的電磁鐵都一起通電。因此,具有更多相位的步進電動機通常具有更多的導線(或引線)來控制電動機。
所需的組件
為了學習使用電位器和Arduino控制步進電機,我們需要以下組件:
● Arduino UNO開發板
● ULN2003驅動芯片
● 10K電位器
● 步進電機28-BYJ48
● 面包板和連接線
電路連接圖
以下是Arduino控制步進電機的電路圖:
步進電動機28-BYJ48是一個具有5引線線圈布置的單極電動機。必須按特定順序為四個線圈通電。紅線連接到+ 5V電壓,其余四根線將被拉到接地以觸發相應的線圈。我們使用Arduino開發板以特定順序為這些線圈通電,并使電動機執行所需的步數。
步進電機需要借助驅動器芯片才能進行操作。原因是控制器需要較高的電流才能運行,但是僅步進電機將無法從其I / O引腳提供足夠的電流來使電機運行。因此使用ULN2003作為驅動模塊,電流被放大了。
步數計算
在將代碼上傳到Arduino板上之前需要進行步數計算
在Arduino中,我們將以4步順序操作電機,因此需要計算步幅角(Stride Angle)。
步幅角= 5.625°
Arduino步驟順序= 4
所需步驟順序= 8
步數角度= 5.625 * 2 = 11.25
每轉的步數= 360 /步角= 360 / 11.25 =每轉32步。
源代碼/程序:
#include 《Stepper.h》 // Include the header file
#define STEPS 64
Stepper stepper(STEPS, 8, 10, 9, 11);
int Pv = 0;
int potV = 0;
void setup() {
Serial.begin(9600);
stepper.setSpeed(200);
}
void loop() {
potV = map(analogRead(A0),0,1024,0,360);
if (potV》Pv)
stepper.step(5);
if (potV《Pv)
stepper.step(-5);
Pv = potV;
Serial.println(Pv);
}
編輯:hfy
-
電位器
+關注
關注
14文章
1013瀏覽量
66977 -
步進電動機
+關注
關注
0文章
60瀏覽量
12818 -
Arduino
+關注
關注
188文章
6477瀏覽量
187827 -
3D打印機
+關注
關注
9文章
528瀏覽量
44289
發布評論請先 登錄
相關推薦
評論