這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。
本文最初發(fā)布在deviceplus.jp網(wǎng)站上,而后被翻譯成英語。
Device Plus網(wǎng)站中介紹了有關(guān)Arduino的各種應(yīng)用和作品示例,但無論創(chuàng)作任何作品,基礎(chǔ)知識都很重要!這就是為什么在這篇文章中,我們會探討Arduino的關(guān)鍵基礎(chǔ)知識。今天的分享嘉賓是《始于Arduino基礎(chǔ) 的電子工藝品入門》的作者福田和宏先生。
在本文中,將為大家介紹大電流電機的控制方法。
電機可用來驅(qū)動各種設(shè)備,例如無人機和汽車。電機是一種電子產(chǎn)品,當(dāng)連接到電源時可以產(chǎn)生旋轉(zhuǎn)運動。通過給輪胎和螺旋槳安裝電機,可以利用電機的旋轉(zhuǎn)來完成移動和上升等動作。
使用Arduino也可以控制電機。與LED一樣,您可以通過接通和關(guān)斷提供給電機的電源來控制電機旋轉(zhuǎn)或停止。通過與其他傳感器等器件結(jié)合使用,還可以實現(xiàn)比如當(dāng)障礙物接近時電機停動這樣的自動控制。
當(dāng)電源方向反接時,電機會向相反的方向旋轉(zhuǎn)。也可以通過調(diào)整流過的電流量來改變轉(zhuǎn)速?;谶@些原理,可以實現(xiàn)很多復(fù)雜的動作,比如在電機高速旋轉(zhuǎn)時移動,在逐漸減速時停止在期望的目標(biāo)位置,在遇到障礙物時回頭向另一個方向移動。所以在本文中,我們將一起來了解使用Arduino控制電機的方法。
[目錄]
?驅(qū)動電機需要驅(qū)動器
?將電機連接到Arduino
?通過程序控制電機
?改變電機的轉(zhuǎn)速
驅(qū)動電機需要驅(qū)動器
通過Arduino的數(shù)字輸出,可以在High和Low之間切換,我們曾用來控制LED的閃爍。使用該功能,應(yīng)該還可以為電機供電。但是,實際上,即使您將電機直接連接到Arduino,電機還是無法運行的。
使電機運行需要大電流。例如,在本次使用的電機“RE-280RA”的情況下,可能會流過1A以上的電流。但是,Arduino的數(shù)字輸出引腳最多只能承受20mA的電流。如果施加比這更多的電流,Arduino本身可能會損壞。因此,我們需要將電機連接到Arduino的輸出引腳并對其進(jìn)行控制。
這里我們使用的是“電機驅(qū)動器”。電機驅(qū)動器是用來控制電機的電子器件。我們需要準(zhǔn)備一個將電機連接到電源以使電機運行的電路,并在其中插入電機驅(qū)動器。電機驅(qū)動器可通過外部信號導(dǎo)通和關(guān)斷電機運行電路,并可控制電機的旋轉(zhuǎn)和停止。由于控制信號中幾乎不會流過電流,因此即使連接Arduino,也可以毫無問題地控制電機。
另外,通過電機驅(qū)動器,還可以利用控制信號切換旋轉(zhuǎn)方向。電機驅(qū)動器配有兩個控制引腳,一個設(shè)置為High時正轉(zhuǎn),另一個設(shè)置為High時反轉(zhuǎn)。這使得電機驅(qū)動器可以控制電機的正轉(zhuǎn)、反轉(zhuǎn)和停止。
將電機連接到Arduino
現(xiàn)在讓我們嘗試?yán)肁rduino來控制電機。這部分操作將使用以下電子元器件,因此請確保您已經(jīng)準(zhǔn)備好它們。
直流電機
這是電機本體。其中,可以用干電池等的直流電控制的電機稱為“直流電機”。這次,我們將使用“RE-280RA”。RE-280RA可施加高達(dá)4.5V的電壓。
電機驅(qū)動器
我們將使用電機驅(qū)動器來控制電機。驅(qū)動器具有根據(jù)來自Arduino的信號給電機供電并控制電機轉(zhuǎn)向等功能。我們將使用ROHM的“BA6956AN”。從帶有切口的連接器(圖片左側(cè))開始,引腳分別按照“引腳1”和“引腳2”等命名。
0.1μF 電容器
電容器是可以儲存少量電能的電子元件。電機在工作過程中會產(chǎn)生噪聲。噪聲可能會對其他電子元器件的工作產(chǎn)生不利影響。因此,可以通過在電機的兩個引腳上連接電容器來降低噪聲。
10kΩ(1/4W)電阻器
為了防止流過突發(fā)大電流損壞電子元器件,可以使用電阻器來抑制電流。此次,為了能給電機提供指定的電壓,我們在Arduino的3.3V引腳上連接了電機驅(qū)動器。通常情況下,幾乎沒有電流流過,但由于在某些情況下可能會有流過大電流的風(fēng)險,因此連接了一個10kΩ的電阻器以防止流過大電流。這個10kΩ電阻器上印有“棕黑橙金”四色顏色代碼。
電池
電池扣
我們將使用干電池作為驅(qū)動電機的動力源。在這里使用的是可提供9V電壓的006P。另外,還會使用電池扣將電池連接到面包板上。
鱷魚夾線s
電機有引腳,需要連接到面包板。通常是將導(dǎo)線焊接到引腳上。但是如果您使用鱷魚夾線,只需將鱷魚夾夾住電機的引腳即可實現(xiàn)接線,可以省去焊接的麻煩。
準(zhǔn)備好所需組件后,如下所示進(jìn)行連接。
用鱷魚夾夾住電機引腳,將電機連接到電機驅(qū)動器的引腳2和4。注意,在電機工作期間可能會產(chǎn)生噪聲,噪聲可能會影響其他設(shè)備工作,因此,需要將電容器連接到電機的兩個引腳來降低噪聲。
電機可以由單獨準(zhǔn)備的電池供電。因此,可以通過將電池連接到電機驅(qū)動器的引腳5和3來實現(xiàn)電池供電。
此外,本次使用的電機的供電電壓范圍為4.5V以內(nèi)。因此,使用9V電池時,電壓過高,可能會損壞電機。因此,請在電機驅(qū)動器的引腳1處指定輸出至電機的最大電壓。本次我們?yōu)殡姍C提供3.3V的電壓。將Arduino 3.3V電源連接到引腳1并指定最大電壓值。電機旋轉(zhuǎn)可以通過電機驅(qū)動器的引腳7和9來控制。這意味著需要分別連接到Arduino的引腳5和6,通過Arduino的輸出對其進(jìn)行控制。
通過程序控制電機
完成連接后,讓我們實際嘗試使用程序來控制電機。電機的旋轉(zhuǎn)可以通過Arduino引腳5和6的輸出來控制。旋轉(zhuǎn)、停止和旋轉(zhuǎn)方向都可以通過將這兩個引腳設(shè)置為High或Low來控制。在BA6956AN的情況下,可以進(jìn)行如下控制:
要正轉(zhuǎn)時,使引腳5輸出High,使引腳6輸出Low。將以下程序?qū)懭階rduino,電機將開始正轉(zhuǎn)。
在第10行設(shè)置了引腳5輸出High,在第11行設(shè)置了引腳6輸出Low。
如果要反轉(zhuǎn),則需要使引腳5輸出Low,使引腳6輸出High。
程序如下:
在第10行設(shè)置了引腳5輸出Low,在第11行設(shè)置了引腳6輸出High。如果要使電機停止運轉(zhuǎn),則需要讓引腳5和6都輸出Low。
程序如下:
另外,如果引腳5和6都輸出High,則會啟動制動器,可以讓電機在比兩個引腳都置Low時更短的時間內(nèi)停止運轉(zhuǎn)。
改變電機的轉(zhuǎn)速
上次,我們通過使用“PWM”這種輸出方法成功地改變了LED的亮度。在電機上,也可以通過使用PWM控制來改變轉(zhuǎn)速。通過在短時間內(nèi)切換High和Low,電機在旋轉(zhuǎn)和停止之間交替切換,轉(zhuǎn)速實際上比正常速度慢。High的時間越長,轉(zhuǎn)速越快;反之High的時間越短,轉(zhuǎn)速越慢。
對于電機而言,通過PWM來輸出想要旋轉(zhuǎn)的方向的控制引腳,并使另一個引腳始終保持在Low的狀態(tài)。正轉(zhuǎn)時,通過PWM輸出引腳5 并使引腳6保持在Low狀態(tài)。反轉(zhuǎn)時,通過PWM輸出引腳6,并使引腳5保持在Low狀態(tài)。下面是控制正轉(zhuǎn)速度的程序:
在程序中,在第10行設(shè)置為向引腳5輸出PWM比率的一半(最大為255),在第11行使引腳6保持在Low狀態(tài)。當(dāng)您改變第10行的數(shù)字時,速度也會隨之改變。但是,如果High小于某個特定的比率,電機將不會旋轉(zhuǎn)。如果減小該值電機不旋轉(zhuǎn),就請嘗試指定更高的值。您可以通過逐漸增加或減少引腳5輸出的值來逐漸改變速度。在接下來的程序中,轉(zhuǎn)速將從停止?fàn)顟B(tài)逐漸提高,當(dāng)達(dá)到最大值時,速度將會逐漸降低并最終停止運轉(zhuǎn)。
在本文中,我們了解了通過Arduino控制LED和電機等電子產(chǎn)品的方法。下一篇將介紹如何通過Arduino確認(rèn)開關(guān)的狀態(tài)。
審核編輯:湯梓紅
-
led
+關(guān)注
關(guān)注
242文章
23786瀏覽量
672476 -
Arduino
+關(guān)注
關(guān)注
189文章
6495瀏覽量
190467 -
控制電機
+關(guān)注
關(guān)注
0文章
244瀏覽量
18629
發(fā)布評論請先 登錄
如何使用Arduino的藍(lán)牙控制伺服電機


樹莓派可發(fā)射“炮彈”和實時視頻的超級坦克(上)
請問Arduino控制電機驅(qū)動器,下了個ide是不是得串口通信?
請問怎么用藍(lán)牙控制直流電機?
arduino控制電機驅(qū)動相關(guān)資料分享
利用PAJ7620U2 Gesture Sensor手勢識別控制小車
Arduino基礎(chǔ)入門篇(認(rèn)識開發(fā)板和面包板)

如何使用MATALB和Arduino控制步進(jìn)電機

Arduino無刷電機控制教程

評論