取消
清空記錄
歷史記錄
清空記錄
歷史記錄
什么是PWM
PWM(Pulse Width Modulation)簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在測量、通信、工控等方面。
PWM的頻率
是指在1秒鐘內(nèi),信號從高電平到低電平再回到高電平的次數(shù),也就是說一秒鐘PWM有多少個周期,單位Hz。
PWM的周期
T=1/f,T是周期,f是頻率。
如果頻率為50Hz ,也就是說一個周期是20ms,那么一秒鐘就有 50次PWM周期。
占空比
是一個脈沖周期內(nèi),高電平的時間與整個周期時間的比例,單位是% (0%-100%)
一個周期的長度,如下圖所示。
其中,周期是一個脈沖信號的時間,1s內(nèi)的周期T次數(shù)等于頻率f,脈寬時間是指高電平時間。
上圖中,脈寬時間占總周期時間的比例,就是占空比。
比方說,周期的時間是10ms,脈寬時間是8ms,那么占空比是8/10= 80%,這就是占空比為80%的脈沖信號。
PWM就是脈沖寬度調(diào)制,通過調(diào)節(jié)占空比就可以調(diào)節(jié)脈沖寬度。
PWM原理
以STM32單片機為例,其IO口只能輸出高電平和低電平。
假設(shè)高電平為5V、低電平則為0V,那么要輸出不同的模擬電壓就要用到PWM。通過改變IO口輸出的方波的占空比,從而獲得使用數(shù)字信號模擬成的模擬電壓信號。
電壓是以一種脈沖序列被加到模擬負載上去的,接通時是高電平1,斷開時是低電平0。接通時直流供電輸出,斷開時直流供電斷開。通過對接通和斷開時間的控制,理論上來講,可以輸出任意不大于最大電壓值5V的模擬電壓。
比方說,占空比為50%那就是高電平時間一半,低電平時間一半。在一定的頻率下,就可以得到模擬的2.5V輸出電壓。那么75%的占空比,得到的電壓就是3.75V,如下圖所示。
也就是說,在一定的頻率下,通過不同的占空比即可得到不同大小的輸出模擬電壓,PWM就是通過這種原理實現(xiàn)數(shù)字模擬信號轉(zhuǎn)換的。
PWM應(yīng)用
LED呼吸燈
以經(jīng)常使用的呼吸燈舉例。
一般人眼睛對于80Hz以上刷新頻率則完全沒有閃爍感,那么我們平時見到的LED燈,當(dāng)它的頻率大于50Hz的時候,人眼就會產(chǎn)生視覺暫留效果,基本就看不到閃爍了,而是誤以為是一個常亮的LED燈。
由于頻率很高時看不到閃爍,占空比越大LED越亮,占空比越小LED越暗。所以,在頻率一定時,可以用不同占空比改變LED燈的亮度,使其達到一個呼吸燈的效果。
PWM對電機轉(zhuǎn)速的控制
調(diào)節(jié)占空比可以實現(xiàn)不同電壓的輸出,實現(xiàn)對電機轉(zhuǎn)速的調(diào)節(jié)。
對于直流電機來講,電機輸出端引腳是高電平電機就可以轉(zhuǎn)動,當(dāng)輸出端高電平時,電機會轉(zhuǎn)動,但是是一點一點的提速,在高電平突然轉(zhuǎn)向低電平時,電機由于電感有防止電流突變的作用是不會停止的,會保持這原有的轉(zhuǎn)速,以此往復(fù),電機的轉(zhuǎn)速就是周期內(nèi)輸出的平均電壓值,所以實質(zhì)上我們調(diào)速是將電機處于一種,似停非停,似全速轉(zhuǎn)動又非全速轉(zhuǎn)動的狀態(tài),那么在一個周期的平均速度就是我們占空比調(diào)出來的速度了。
在電機控制中,電壓越大,電機轉(zhuǎn)速越快,而通過PWM輸出不同的模擬電壓,便可以使電機達到不同的輸出轉(zhuǎn)速。
當(dāng)然,在電機控制中,不同的電機都有其適應(yīng)的頻率 頻率太低會導(dǎo)致運動不穩(wěn)定,如果頻率剛好在人耳聽覺范圍,有時還會聽到呼嘯聲。頻率太高時,電機可能反應(yīng)不過來,正常的電機頻率在 6-16kHZ之間為好。
PWM對舵機的控制
舵機的控制就是通過一個固定的頻率,給其不同的占空比來控制舵機不同的轉(zhuǎn)角。
舵機的頻率一般為頻率為50HZ,也就是一個20ms左右的時基脈沖,而脈沖的高電平部分一般為0.5ms-2.5ms范圍,來控制舵機不同的轉(zhuǎn)角。
500-2500us的PWM高電平部分對應(yīng)控制180度舵機的0-180度。
以180度角度伺服為例,那么對應(yīng)的控制關(guān)系是這樣的:
下圖演示占空比從1ms變化到2ms時,轉(zhuǎn)角的變化。