PWM如何控制直流電機(jī)
智能車基礎(chǔ)可是控制電機(jī)呀!如何設(shè)置頻率,如何控制車的加速,減速,正反轉(zhuǎn)狀態(tài)~。是這篇文章要弄明白的
直流電機(jī)
對(duì)于普通的直流(有刷)電機(jī),在其兩個(gè)電極上接上合適的直流電源后,電機(jī)就可以滿速轉(zhuǎn)動(dòng),電源反接后,電機(jī)就反向轉(zhuǎn)動(dòng)。實(shí)際情況是我們要能控制電機(jī)的正反轉(zhuǎn),停止等狀態(tài)以及電機(jī)的轉(zhuǎn)速。
直流電機(jī)正反轉(zhuǎn)及停止?fàn)顟B(tài)直流有刷電機(jī)是內(nèi)含電刷裝置的將直流電能轉(zhuǎn)換成機(jī)械能(直流電動(dòng)機(jī))或?qū)C(jī)械能轉(zhuǎn)換成直流電能(直流發(fā)電機(jī))的旋轉(zhuǎn)電機(jī)。區(qū)別于直流無(wú)刷電機(jī),電刷裝置是用來(lái)引入或引出直流電壓和直流電流的。
當(dāng)單片機(jī)輸出高電平時(shí),電機(jī)得電,從而滿速運(yùn)行;當(dāng)單片機(jī)輸出低電平時(shí),電機(jī)兩端沒(méi)有電壓,電機(jī)停止轉(zhuǎn)動(dòng)。
那如何使電機(jī)兩端的電壓發(fā)生變化,進(jìn)而控制電機(jī)的轉(zhuǎn)速呢?只要單片機(jī)輸出占空比可調(diào)的方波,即PWM信號(hào)即可控制電機(jī)兩端的電壓發(fā)生變化,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的控制。
直流電機(jī)調(diào)速原理VCC(1)→信號(hào)1→電機(jī)→信號(hào)2→GND(0),實(shí)現(xiàn)了電機(jī)的正轉(zhuǎn)。
GND(0)→信號(hào)1→電機(jī)→信號(hào)2→VCC(1),實(shí)現(xiàn)了電機(jī)的反轉(zhuǎn)。
GND(0)→電機(jī)→ GND(0),停轉(zhuǎn)
VCC(1)→電機(jī)→ VCC(1),停轉(zhuǎn)
阻值小(PWM占空比大,平均電壓大),轉(zhuǎn)的快
阻值大(PWM占空比小,平均電壓小),轉(zhuǎn)的慢
PS:0和1代表低電平和高電平,PWM后面詳細(xì)說(shuō)明。
可以通過(guò)改變電壓來(lái)控制電機(jī)速度。
例如使用12V直流電機(jī)時(shí)候,給12V的電就滿速轉(zhuǎn),給5V的電就是5/12的速度轉(zhuǎn)
只要單片機(jī)輸出占空比可調(diào)的方波,即PWM信號(hào)即可控制電機(jī)兩端的電壓發(fā)生變化,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的控制。
PWMPWM輸出的信號(hào)可以看成電壓,而不是實(shí)際的電壓,要注意!!
上面說(shuō)了,我們會(huì)用PWM調(diào)速,那么PWM是啥。
PWM(Pulse Width Modulation)控制——脈沖寬度調(diào)制技術(shù),通過(guò)對(duì)一系列脈沖的寬度進(jìn)行調(diào)制,來(lái)等效地獲得所需要波形(含形狀和幅值)。其具有兩個(gè)很重要的參數(shù):頻率和占空比。
頻率就是周期的倒數(shù),單位Hz(赫茲)
周期=1/頻率 100HZ就是10ms一個(gè)周期
如果設(shè)置的頻率為100Hz,就是說(shuō)也就是說(shuō)一個(gè)周期是10ms 那么一秒鐘就有 100次PWM周期
占空比就是高電平在一個(gè)周期內(nèi)所占的比例,單位 %(百分之)
直接看PWM方波的示意圖,會(huì)比較容易理解。
首先看周期和脈寬表示:
脈寬(時(shí)間):高電平時(shí)間
周期:一個(gè)脈沖信號(hào)的時(shí)間
(從幅度開(kāi)始到下一個(gè)幅度前結(jié)束,高電平(脈寬)時(shí)間+低電平時(shí)間)
占空比和電壓的關(guān)系
在上圖中,頻率F的值為1/(T1 T2),占空比D的值為T1/(T1 T2)。通過(guò)改變單位時(shí)間內(nèi)脈沖的個(gè)數(shù)可以實(shí)現(xiàn)調(diào)頻;通過(guò)改變占空比可以實(shí)現(xiàn)調(diào)壓。
占空比越大,所得到的平均電壓也就越大,幅值也就越大;占空比越小,所得到的平均電壓也就越小,幅值也就越小。
上圖平均電壓我們可以轉(zhuǎn)化一下。即5V*20%+0V*80%=1V
如果是12V電機(jī),占空比為30%,可以自行算平均電壓了哦12V*30%+0V*70%=3.6V
注意:是相當(dāng)于電壓,實(shí)際還是信號(hào)
PWM對(duì)電機(jī)轉(zhuǎn)速的控制通過(guò)以上原理就可以知道,只要改變PWM信號(hào)的占空比,就可以改變直流電機(jī)兩端的平均電壓,從而實(shí)現(xiàn)直流電機(jī)的調(diào)速。
對(duì)于直流電機(jī)來(lái)講,電機(jī)輸出端引腳是高電平電機(jī)就可以轉(zhuǎn)動(dòng),當(dāng)輸出端高電平時(shí),電機(jī)會(huì)轉(zhuǎn)動(dòng),但速度是一點(diǎn)一點(diǎn)提升的,在高電平突然轉(zhuǎn)向低電平時(shí),電機(jī)由于電感有防止電流突變的作用是不會(huì)停止的,會(huì)保持這原有的轉(zhuǎn)速,以此往復(fù),電機(jī)的轉(zhuǎn)速就是周期內(nèi)輸出的平均電壓值,所以實(shí)質(zhì)上我們調(diào)速是將電機(jī)處于一種,似停非停,似全速轉(zhuǎn)動(dòng)又非全速轉(zhuǎn)動(dòng)的狀態(tài),那么在一個(gè)周期的平均速度就是我們占空比調(diào)出來(lái)的速度了。
在電機(jī)控制中,電壓越大,電機(jī)轉(zhuǎn)速越快,而通過(guò)PWM輸出不同的模擬電壓,便可以使電機(jī)達(dá)到不同的輸出轉(zhuǎn)速當(dāng)然,在電機(jī)控制中,不同的電機(jī)都有其適應(yīng)的頻率 頻率太低會(huì)導(dǎo)致運(yùn)動(dòng)不穩(wěn)定,如果頻率剛好在人耳聽(tīng)覺(jué)范圍,有時(shí)還會(huì)聽(tīng)到呼嘯聲。
電機(jī)頻率在 6-16kHZ之間為好
電機(jī)轉(zhuǎn)數(shù)與頻率的關(guān)系那我們?cè)诰W(wǎng)上買的這種小型直流電機(jī)都給了轉(zhuǎn)速,可是我們和開(kāi)發(fā)板聯(lián)合使用前要先設(shè)置頻率,這個(gè)頻率根據(jù)什么來(lái)設(shè)置呢?
我現(xiàn)在選擇12V 300轉(zhuǎn)的電機(jī),我頻率要怎么設(shè)置。(這里為理論,后續(xù)要自己做調(diào)整。)
有公式哦-
電機(jī)轉(zhuǎn)速與頻率公式:n=60f/p
n——電機(jī)轉(zhuǎn)速
60——每分鐘(秒)
f——電源頻率
p——極對(duì)數(shù)(我們用在創(chuàng)客中的這種小馬達(dá)默認(rèn)為1也就是3000)
轉(zhuǎn)換一下就可以通過(guò)轉(zhuǎn)速求我們應(yīng)設(shè)置的頻率了
f=np/60
我們之前選的300轉(zhuǎn),可以求我們應(yīng)設(shè)置的頻率了
f=300*3000/60
f=900000/60
f=15000Hz
注意:以上都為理論值,實(shí)際情況可能會(huì)很復(fù)雜,比如電壓(這里是按照給的電壓來(lái)算的,實(shí)際可能提供不了這么高的電壓。),使用的驅(qū)動(dòng)芯片之類的。這里只是做一個(gè)參考,因?yàn)閷?shí)戰(zhàn)發(fā)現(xiàn),按需調(diào)整頻率是個(gè)細(xì)活!——頻率太高電機(jī)可能反應(yīng)不過(guò)來(lái),低了又驅(qū)動(dòng)不起來(lái)。謹(jǐn)以此參考,后續(xù)需要朋友們慢慢去調(diào)試。!