目錄
1.什么是PWM?
2.PWM用途黄橘?
3.實現(xiàn)PWM的兩種方法
一.什么是PWM
PWM兆览,全稱:Pulse Width Modulation,
通常中文翻譯為:脈沖寬度調(diào)制塞关,通過將一段數(shù)字信號編碼為方波信號抬探,在外部作用事物上達到擬輸出效果的一種手段。
實際上帆赢,就是通過數(shù)字控制產(chǎn)生不同占空比的方波來模擬輸出小压。也就是使用PWM輸出模擬信號。
圖中的高電平和低電平所占比例都不同椰于,我們知道怠益,電壓信號是離散的,在這里我們只能輸出0V或者5V電壓瘾婿,那么想要連續(xù)輸出3.7V或者其他介于0-5V之間的電壓怎么辦呢蜻牢?
通過一系列的計算我們得到,高電平信號占持續(xù)時間占這個周期得百分比決定了輸出電壓信號的大小偏陪。
這里說百分比抢呆,就是下面要說的,占空比笛谦。
占空比
占空比就是在一個調(diào)制周期內(nèi)抱虐,某個信號持續(xù)的時間占這個時間段的百分比。
在前一個圖中饥脑,占空比就是不同的恳邀,并且是高電平的占空比。
因此灶轰,
低占空比意味著輸出的能量低谣沸,因為在一個周期內(nèi)大部分時間信號處于關(guān)閉狀態(tài),如果pwm控制的負載為led,則具體表現(xiàn)例如led燈很暗。
高占空比意味著輸出的能量高笋颤,在一個周期內(nèi),大部分時間信號處于on狀態(tài),具體表現(xiàn)為LED比較亮乳附。
綜上,我們大概可以了解PWM究竟是什么了:脈寬調(diào)制,也就是高電平信號在一個調(diào)制周期中持續(xù)時間長短许溅,它可以用占空比去衡量,占空比越大秉版,脈沖寬度越寬贤重。
二.PWM用途
PWM軟件法控制充電電流
該方法的基本思想就是利用單片機具有的PWM端口,在不改變PWM方波周期的前提下清焕,通過軟件的方法調(diào)整單片機的PWM控制寄存器來調(diào)整PWM的占空比并蝗,從而控制充電電流。
PWM在推力調(diào)制中的應(yīng)用
1962年秸妥,Nicklas等提出了脈沖調(diào)制理論滚停,指出利用噴氣脈沖對航天器控制是簡單有效的控制方案,同時能使時間或能量達到最優(yōu)控制粥惧。
+脈寬調(diào)制發(fā)動機控制方式是在每一個脈動周期內(nèi)键畴,通過改變閥門在開或關(guān)位置上停留的時間來改變流經(jīng)閥門的氣體流量,從而改變總的推力效果突雪,對于質(zhì)量流率不變的系統(tǒng)起惕,可以通過脈寬調(diào)制技術(shù)來獲得變推力的效果。
在LED中的應(yīng)用
在LED控制中PWM作用于電源部分咏删,脈寬調(diào)制的脈沖頻率通常大于100Hz惹想,人眼就不會感到閃爍。
三.產(chǎn)生PWM信號的兩種方式
先確定哪些引腳支持PWM督函,ATmega328的3, 5, 6, 9, 10, 和 11引腳支持PWM嘀粱。
1.適用于所有GPIO的純軟件編程方式
void setup(){?
pinMode(11,OUTPUT);//設(shè)定11號端口為輸出
}
void loop(){
?digitalWrite(11, HIGH);? //11號引腳輸出高電平
delayMicroseconds(100); // 大約10%占空比的1KHz方波??
digitalWrite(10, LOW);? //10號引腳輸出低電平
delayMicroseconds(900);//延時900微秒
}
優(yōu)缺點:
1、PWM 的比例可以更精確辰狡;
2锋叨、周期和頻率可控制;
3搓译、所有的 pin 腳都可以輸出悲柱,不局限于那幾個腳;
4些己、缺點:CPU 干不了其他事情了豌鸡;
2.通過analogWrite函數(shù)來完成PWM信號輸出
analogWrite(pin,value)
作用:讓一個支持PWM輸出的引腳持續(xù)輸出指定脈沖寬度的方波。
參數(shù):
???? pin:PWM輸出的引腳編號段标。Pin可以等于3涯冠、5、6逼庞、9蛇更、10、11
???? value:用于控制占空比,范圍:0~255派任。值為0表示占空比為0砸逊,值為255表示占空比為100%,值為127表示占空比為50%掌逛。
函數(shù)使用代碼
void setup()??{?
??pinMode(9,OUTPUT);//設(shè)定9號端口為輸出端口
void loop()??{
??analogWrite(9, led);//將led的值寫入9號端口
??if (value==0)
{
?? digitalWrite(pin,LOW);//輸出低電平
}
else if (value==255)
{
???? digitalWrite(pin,HIGH);?//輸出高電平?
}
優(yōu)缺點:
1:簡單易行
2:高效师逸,不占用CPU時間,可以并行干其它事
3:缺點:Arduino并沒有提供改頻率的接口函數(shù)豆混,只能控制占空比篓像。