PWM 技術是一種對類比信號電位的數字編碼方法,通過使用高解析度計數器(調製頻率)調製方波的占空比,從而實現對一個類比信號的電位進行編碼。
它是一種數位控制訊號,抗干擾性較強,應用很廣,電壓和電流可直接用來進行控制對象,例如家用電器設備中的音量開關控制、採用鹵素燈泡燈具的亮度控制等等。
輸出電壓的控制
PWM透過對佔空比 DUTY_CYCLE 的波形產生,可以對輸出電壓達到控制目的。
圖一、DUTY_CYCLE
輸出電壓 Output_Voltage 就是佔空比乘以輸入電壓Output_Voltage = Duty_Cycle * Input_Voltage
如圖一,輸入電壓是 0V-5V,佔空比是25%,輸出電壓就是
Output_Voltage = 0.25 * 5 = 1.25V
也就是高電位 5V 的加總平均值
如輸入電壓是 0V-5V,佔空比是80%,輸出電壓就是
Output_Voltage = 0.8 * 5 = 4V
所以我們只需控制輸出波形,就可以決定輸出電壓了。
以下討論對象是目前比較被廣泛採用的晶片 ATmega328,參考它的Datasheet [2]可知,它有三個時脈 Timer,分別是 Time0, Time1, Time2,我們可以通過對 Timer 的設定,來達到控制脈波輸出的特性。
以下是三個時脈的設定說明,節錄自 QEEWiki [3],這是要對Timer設定的重要參考,它已經被整理成表格狀,還附有一個範例程式,非常方便使用。
圖二、Time0
圖三、Time1
圖四、Time2
註
[1].http://zh.wikipedia.org/wiki/脈衝寬度調變
[2].http://www.atmel.com/Images/doc8161.pdf
[3].https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328
沒有留言:
張貼留言
請提供您的寶貴意見 ;-)