相關知識
電機(俗稱“馬達”)是指依據電磁感應定律實現電能轉換或傳遞的一種電磁裝置。又分為發電機和電動機,這里我們主要涉及的是電動機的概念。
電動機主要包括一個用以產生磁場的電磁鐵繞組或分布的定子繞組和一個旋轉電樞或轉子和其它附件組成。在定子繞組旋轉磁場的作用下,其在電樞鼠籠式鋁框中有電流通過并受磁場的作用而使其轉動。
直流電機:是將直流電能轉換成機械能(直流電動機)或將機械能轉換成直流電能(直流發電機)的旋轉電機。它是能實現直流電能和機械能互相轉換的電機。
具有啟動電流小,噪音低的特點,電壓范圍在1.5V~6V。
電路搭建
所需材料
arduino UNO * 1
直流電機 * 1
可調電位器 * 1
杜邦線若干
接線方式
方式一、 將直流電機的正極和負極直接接到UNO板子的5V和GND,會發現電機開始轉動,當將接線互換時,電機的轉動方向同樣也會發生改變。
方式二、 將電機正極接入UNO的PWM控制引腳,可以通過編程實現控制電機的轉速。
方式三、 編程實現通過電位器來控制馬達的轉速的接線方式。
程序編寫
練習一、程序控制電機轉動
參考方式二的接線,嘗試通過編程的形式來控制電機運動,讓電機的轉速由快到慢,再由慢到快工作。
圖形化方式:
使用for循環,變量i每0.5秒先進行自增,然后進行自減。將變量i賦值給模擬輸出3號引腳,控制電機的轉速。
代碼方式:
/* 項目名稱:馬達轉速自動控制
* 項目時間:2022.02.22
* 項目作者:MRX
*/
int motor_Pin = 3;
void setup() {
pinMode(motor_Pin,OUTPUT);
}
void loop() {
for(int i = 50; i <= 255; i++){
analogWrite(motor_Pin,i);
delay(500);
}
delay(1000);
for(int i = 255; i >= 50; i--){
analogWrite(motor_Pin,i);
delay(500);
}
delay(1000);
}
練習二:電位器控制電機轉速
參考接線方式三,編程實現通過旋轉電位器來控制電機的轉速。
圖形化方式:
注意模擬輸入的區間范圍為01023,模擬輸出的范圍為0255。
代碼方式:
/* 項目名稱:電位器控制轉速
* 項目時間:2022.02.22
* 項目作者:MRX
*/
int motor_Pin = 3;
int AR = 0;
void setup() {
pinMode(motor_Pin,OUTPUT);
pinMode(A0,INPUT);
}
void loop() {
AR = (map(analogRead(A0), 0, 1023, 50, 255));
analogWrite(motor_Pin,AR);
}
-
電位器
+關注
關注
14文章
1005瀏覽量
66725 -
直流電機
+關注
關注
36文章
1708瀏覽量
70080 -
電動機
+關注
關注
74文章
4090瀏覽量
96013 -
電磁感應
+關注
關注
17文章
809瀏覽量
57979 -
電磁場
+關注
關注
0文章
790瀏覽量
47232
發布評論請先 登錄
相關推薦
評論