IT技術互動交流平台

好运11选5官网

來源︰IT165收(shou)集  發(fa)布(bu)日期(qi)︰2020-02-24 14:22:10

好运11选5官网

馬達是(shi)我們(men)經常使用(yong)到的電動裝置,它可以將電能轉化(hua)成(cheng)動能,驅動其他東西的運(yun)動。听起來很抽(chou)象,舉幾個例子吧。

我們(men)小時候玩的四驅車,帶動輪子轉動的那個小裝置就(jiu)是(shi)馬達;夏(xia)天讓(rang)風扇旋轉帶給我們(men)涼意,也是(shi)馬達的功勞。

根(gen)據使用(yong)電源的不同,可以將馬達分(fen)成(cheng)直(zhi)流馬達和交流馬達。我們(men)做智能硬bu)褂yong)的基本都是(shi)qin)zhi)流馬達,通過馬達來驅動外接(jie)設備(bei)運(yun)動。

6.1 工作(zuo)原理

將電能轉化(hua)成(cheng)動能的物理原理,我們(men)在中學已經學過,這里利用(yong)了兩個原理︰電磁感應和磁鐵的同性相斥異(yi)性相吸。

將一根(gen)磁棒放在金屬罩中間,兩端懸(xuan)上一個金屬柱子,金屬柱子上面有線圈; 當線圈通過電流的時候,就(jiu)能產生磁場(chang),磁棒根(gen)據極性改變位置; 改變電流方向,線圈磁場(chang)方向發(fa)生調換(huan),磁棒再次(ci)根(gen)據極性改變位置; 如此往復(fu),磁棒就(jiu)旋轉了起來chu)

一個馬達的外形大致(zhi)如此,

馬達加上一些(xie)結構,與輪胎結合起來就(jiu)成(cheng)了輪子

它有兩個接(jie)線的地方,一處接(jie)正極,另一處就(jiu)接(jie)負(fu)極,

在不超(chao)過極限(xian)電壓的情(qing)況下,對yue)澩鍤┘擁(yong)牡繆乖醬螅 澩錁jiu)轉動的越快; 調轉正負(fu)極的連接(jie)順(shun)序(xu),馬達的旋轉方向也發(fa)生調轉;

6.2 連接(jie)方式

馬達的正負(fu)極不能直(zhi)接(jie)連接(jie)到Arduino開發(fa)板的引腳上,必須(xu)使用(yong)一個轉換(huan)電路。否則馬達在轉動的過程(cheng)中可能會(hui)產生強kan)蟺牡緦鰨 鞔┘ fa)板上的元(yuan)器件。

為此,可以使用(yong)專門(men)的馬達擴展板,來連接(jie)使用(yong)馬達,

也可以使用(yong)集成(cheng)了轉換(huan)電路的馬達模塊,例如風扇馬達模塊,

在此我們(men)選用(yong)集成(cheng)了轉換(huan)電路的風扇馬達模塊來講解。

該模塊有4個引腳,

模塊引腳功能說明
INA控制接(jie)口A
INB控制接(jie)口B
VCC直(zhi)流電
GND接(jie)地

因為要(yao)調整直(zhi)流馬達的轉動速度,INA與INB最好接(jie)到具有PWM功能的接(jie)口上,通過設置該引腳的級數數,來調節馬達的轉速。這里,我們(men)將INA連接(jie)到D9,INB連接(jie)到D8,

模塊引腳連接(jie)Arduino擴展板
INA<–>D9組S引腳
INB<–>D8組S引腳
VCC<–>D8組V引腳
GND<–>D8組G引腳

6.3 代碼(ma)設計(ji)

首先要(yao)初始化(hua)INA與INB連接(jie)的接(jie)口,讓(rang)Arduino開發(fa)板擁(yong)有向它們(men)輸出的能力,

//INA使用(yong)具有PWM功能的D9引腳int INA = 9;//INB使用(yong)具有PWM功能的D8引腳int INB = 8;void setup() { //設置引腳為輸出 pinMode(INA, OUTPUT); pinMode(INB, OUTPUT);}

將INA引腳設置成(cheng)低電平LOW,改變INB引腳的值,來達到控制馬達轉速的效果(guo),

void setup() { //設置引腳為輸出 pinMode(INA, OUTPUT); pinMode(INB, OUTPUT); digitalWrite(INA, LOW);}void loop() { //從0級到100級 for(int level = 0 ; level < 100+1; level++) { //調整INB上的電壓級數,達到改變風扇轉速的效果(guo) analogWrite(INB, level); delay(100); }}

這里將調整的級數,調整在了0~100。理論(lun)上可以調整的級數應該是(shi)0~255級。但是(shi)由于馬達電流負(fu)載(zai)的原因,設置到高級數時,例如245級,會(hui)讓(rang)開發(fa)板過載(zai)。因此可以把(ba)最大級數設置的稍微小一點,例如230級,

int INA = 9;int INB = 8;int START_LEVEL = 0;int END_LEVEL = 230;void setup() { pinMode(INA, OUTPUT); pinMode(INB, OUTPUT); digitalWrite(INA, LOW);}void loop() { //從9級慢慢加速到230級 for(int level = START_LEVEL ; level < END_LEVEL+1; level++) { analogWrite(INB, level); delay(100); } //從230級慢慢減速到0級 for(int level = END_LEVEL; level > START_LEVEL ; level--) { analogWrite(INB, level); delay(100); }}

6.4 結果(guo)觀察(cha)

馬達開始緩慢的旋轉,越轉越快;達到最快轉速時,又開始減速,直(zhi)到停止;整個過程(cheng)周(zhou)而復(fu)始。

6.5 馬達的反轉

如果(guo)想修(xiu)改馬達旋轉的方向,可以將INB設置為低電平LOW,改變INA引腳的值,

int INA = 9;int INB = 8;int START_LEVEL = 0;int END_LEVEL = 230;void setup() { pinMode(INA, OUTPUT); pinMode(INB, OUTPUT);}void loop() { //朝著一個方向旋轉,先加速,再減速 //INA設置為LOW digitalWrite(INA, LOW); for(int level = START_LEVEL ; level < END_LEVEL+1; level++) { //改寫INB的級數 analogWrite(INB, level); delay(100); } for(int level = END_LEVEL; level > START_LEVEL ; level--) { //改寫INB的級數 analogWrite(INB, level); delay(100); } //朝著另一個方向旋轉,先加速,再減速 //INB設置為LOW digitalWrite(INB, LOW); for(int level = START_LEVEL ; level < END_LEVEL+1; level++) { //改寫INA的級數 analogWrite(INA, level); delay(100); } for(int level = END_LEVEL; level > START_LEVEL ; level--) { //改寫INA的級數 analogWrite(INA, level); delay(100); }}

/*******************************************************************/
* 版權聲(sheng)明
* 本教程(cheng)只在CSDN和安(an)豆(dou)網(wang)發(fa)布(bu),其他網(wang)站出現zhi)窘壇cheng)均屬侵(qin)權。

*另外,我們(men)還推出了Arduino智能硬bu)喙氐慕壇cheng),您可以在我們(men)的網(wang)店(dian)安(an)豆(dou)的雜貨(huo)鋪中購買相關硬bu)M 幣哺行xie)大家對我們(men)這些(xie)碼(ma)農的支持。

*最後再次(ci)感謝(xie)各位讀者對安(an)豆(dou)的支持,謝(xie)謝(xie):)
/*******************************************************************/

Tag標簽︰硬bu) fa)  馬達  智能  
  • 好运11选5官网

About IT165 - 廣(guang)告服務 - 隱(yin)私聲(sheng)明 - 版權申明 - 免責條款(kuan) - 網(wang)站地圖 - 網(wang)友投稿(gao) - 聯系方式
本站內容來自(zi)于互聯網(wang),僅供用(yong)于網(wang)絡技術學習,學習中請遵循相關法(fa)律法(fa)規
好运11选5官网 | 下一页