單片機定時/計數(shù)器設(shè)計輸出PWM
根據(jù)PWM是利用微處理器的數(shù)字輸出來對模擬電路進行控制的特點,在使用ATmega128的定時/計數(shù)器設(shè)計輸出PWM時應(yīng)注意以下幾點:
1.首先應(yīng)根據(jù)實際的情況,確定需要輸出的PWM頻率范圍,這個頻率與控制的對象有關(guān)。如輸出PWM波用于控制燈的亮度,由于人眼不能分辨42Hz以上的頻率,所以PWM的頻率應(yīng)高于42Hz,否則人眼會察覺到燈的閃爍。
2.快速PWM可以的到比較高頻率的PWM輸出,但占空比的調(diào)節(jié)精度稍微差一些。此時計數(shù)器僅工作在單程正向計數(shù)方式,計數(shù)器的上限值決定PWM的頻率,而比較匹配寄存器的值決定了占空比的大小。PWM頻率的計算公式為:
3.然后根據(jù)需要PWM的頻率范圍確定ATmega128(是ATMEL公司的 8位系列單片機的最高配置的一款單片機,應(yīng)用極其廣泛)定時/計數(shù)器的PWM工作方式。AVR定時/計數(shù)器的PWM模式可以分成快速PWM和頻率(相位)調(diào)整PWM兩大類。
PWM頻率 = 系統(tǒng)時鐘頻率/(分頻系數(shù)*(1+計數(shù)器上限值)) AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC(Reduced 根據(jù)PWM((脈寬調(diào)制(PWM:(Pulse Width Modulation)是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的模式))的特點,在使用ATmega128的定時/計數(shù)器設(shè)計輸出PWM時應(yīng)注意以下幾點:
1.首先應(yīng)根據(jù)實際的情況,確定需要輸出的PWM頻率范圍,這個頻率與控制的對象有關(guān)。如輸出PWM波用于控制燈的亮度,由于人眼不能分辨42Hz以上的頻率,所以PWM的頻率應(yīng)高于42Hz,否則人眼會察覺到燈的閃爍。
2.快速PWM可以的到比較高頻率的PWM輸出,但占空比的調(diào)節(jié)精度稍微差一些。此時計數(shù)器僅工作在單程正向計數(shù)方式,計數(shù)器的上限值決定PWM的頻率,而比較匹配寄存器的值決定了占空比的大小。PWM頻率的計算公式為:
3.然后根據(jù)需要PWM的頻率范圍確定ATmega128(是ATMEL公司的 8位系列單片機的最高配置的一款單片機,應(yīng)用極其廣泛)定時/計數(shù)器的PWM工作方式。AVR定時/計數(shù)器的PWM模式可以分成快速PWM和頻率(相位)調(diào)整PWM兩大類。
PWM頻率 = 系統(tǒng)時鐘頻率/(分頻系數(shù)*(1+計數(shù)器上限值)) AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。
4.頻率(相位)調(diào)整PWM模式的占空比調(diào)節(jié)精度高,但輸出頻率比較低,因為此時計數(shù)器僅工作在雙向計數(shù)方式。同樣計數(shù)器的上限值決定了PWM的頻率,比較匹配寄存器的值決定了占空比的大小。PWM頻率的計算公式為:
PWM頻率 = 系統(tǒng)時鐘頻率/(分頻系數(shù)*2*計數(shù)器上限值))
5.快速PWM模式適合要求輸出PWM頻率較高,但頻率固定,占空比調(diào)節(jié)精度要求不高的應(yīng)用。
6.相位調(diào)整PWM模式適合要求輸出PWM頻率較低,但頻率固定,占空比調(diào)節(jié)精度要求高的應(yīng)用。當調(diào)整占空比時,PWM的相位也相應(yīng)的跟著變化(PhaseCorrect)。
7.在PWM方式中,計數(shù)器的上限值有固定的0xFF(8位T/C);0xFF、0x1FF、0x3FF(16位T/C)。
8.頻率和相位調(diào)整PWM模式適合要求輸出PWM頻率較低,輸出頻率需要變化,占空比調(diào)節(jié)精度要求高的應(yīng)用。此時應(yīng)注意:不僅調(diào)整占空比時,PWM的相位會相應(yīng)的跟著變化;而一但改變計數(shù)器上限值,即改變PWM的輸出頻率時,
會使PWM的占空比和相位都相應(yīng)的跟著變化(Phase and Frequency Correct)。
二、 PWM應(yīng)用設(shè)計參考
PWM模式可以分成快速PPWM是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數(shù)字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。WM和頻率(相位)調(diào)整PWM兩大類。
* 設(shè)置提供調(diào)制方波的片上定時器/計數(shù)器的周期
* 在PWM控制寄存器中設(shè)置接通時間
* 設(shè)置PWM輸出的方向,這個輸出是一個通用I/O管腳
* 啟動定時器
* 使能PWM控制器PWM模式可以分成快速PWM和頻率(相位)調(diào)整PWM兩大類。
下面在示例中使用PWM方式來產(chǎn)生一個1KHz左右的正弦波,幅度為0-Vcc/2。
首先按照下面的公式建立一個正弦波樣本表,樣本表將一個正弦波周期分為128個點,每點按7位量化(127對應(yīng)最高幅值Vcc/2):
f(x) = 64 + 63 * sin(2πx/180) x∈[0…127]
如果在一個正弦波周期中采用128個樣點,那么對應(yīng)1KHz的正弦波PWM的頻率為128KHz。實際上,按照采樣頻率至少為信號頻率的2倍的取樣定理來計算,PWM的頻率的理論值為2KHz即可。考慮盡量提高PWM的輸出精度,實際設(shè)計使用PWM的頻率為16KHz。這意味著在128點的正弦波樣本表中,每隔8點取出一點作為PWM的輸出。
pwm相關(guān)文章:pwm原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
評論