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

如何使用Arduino控制多個(gè)伺服電機(jī)


樹莓派可發(fā)射“炮彈”和實(shí)時(shí)視頻的超級(jí)坦克(上)
用Arduino控制電機(jī)驅(qū)動(dòng),下面的電路能實(shí)現(xiàn)嗎?
請(qǐng)問Arduino控制電機(jī)驅(qū)動(dòng)器,下了個(gè)ide是不是得串口通信?
請(qǐng)問怎么用藍(lán)牙控制直流電機(jī)?
arduino控制電機(jī)驅(qū)動(dòng)相關(guān)資料分享
萌新求助,求大佬分享一個(gè)arduino控制電機(jī)正反轉(zhuǎn)的仿真
利用PAJ7620U2 Gesture Sensor手勢(shì)識(shí)別控制小車
Arduino基礎(chǔ)入門篇(認(rèn)識(shí)開發(fā)板和面包板)

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

Arduino無刷電機(jī)控制教程

評(píng)論