|
SPWM波的定義和生成方法在這里就不多說(shuō)了,本文主要說(shuō)SPWM波在單片機(jī)上的實(shí)現(xiàn),以及如何調(diào)節(jié)濾出后的正弦波的頻率及幅度。
先弄清楚SPWM在單片機(jī)上如何產(chǎn)生,比如你要輸出100HZ的SPWM正弦波,每個(gè)周期100個(gè)點(diǎn),則定時(shí)器B的中斷頻率為100*100=10K,用于載波(定時(shí)器A)的PWM頻率應(yīng)>=10K(這里我建議載波為1M,因?yàn)槎〞r(shí)器的配合問(wèn)題會(huì)有+-1的誤差,所以載波盡量的大則濾出的正弦波的波形越好)。
通過(guò)軟件,你先得到100個(gè)點(diǎn)的正弦波采樣值,你可以用定時(shí)器A來(lái)產(chǎn)生1MHZ的PWM,然后用定時(shí)器B,做定時(shí)器中斷,10KHZ的頻率,每次中斷,就把一個(gè)采樣值賦值給定時(shí)器A的輸出通道:CCRx。然后不停的循環(huán),每中斷一百次,就輸出1個(gè)波。不停的循環(huán)就不停的輸出,那么PWM輸出端,經(jīng)過(guò)濾波后(外部濾波電路要找相關(guān)電路去設(shè)計(jì)),就是100HZ的正弦波了。
調(diào)節(jié)頻率要通過(guò)定時(shí)器B,公式:正弦波頻率*每個(gè)周期的點(diǎn)數(shù)=定時(shí)器B中斷頻率
調(diào)節(jié)幅度要依據(jù)載波中最大與最小占空比之差也即是調(diào)制深度,這個(gè)沒(méi)有公式……..
剩下的就要參考我給出的程序作出自己的理解吧,靠你們了,騷年們!
0.png (49.11 KB, 下載次數(shù): 109)
下載附件
2018-3-13 01:15 上傳
單片機(jī)源程序如下:
所有資料51hei提供下載:
SPWM_01.zip
(65.89 KB, 下載次數(shù): 105)
2018-3-12 21:17 上傳
點(diǎn)擊文件名下載附件
SPWM波 下載積分: 黑幣 -5
|
|