在論壇上看到越來越多的地方在討論用單片機直接輸出SPWM波形的話題,但大多數都是在爭論單片機能否實現的問題,就我最近在網上查找的一些單片機的資料,有一些增強型的單片機應該是可以的,如:
菲利浦的p89lpc938,輸出PWM最高32M,晶振最高18M,指令執行時間2至4個時鐘周期.我目前所用
c80051F系列,單周期指令執行,最高可達100MIPS(據宣傳).輸出I/O可編程.功能強大.
還有在論壇上??匆姷腟i8250好像也不錯.
雖然在這里列出了幾款單片機,我希望在下面的帖子就不要再討論有關單片機硬件的問題.
希望大家多多討論SPWM的算法,以及用單片機實現的控制過程
討論單片機實現SPWM的算法及實現過程
全部回復(10)
正序查看
倒序查看
@rrrrr1234
我現在僅對規則采樣法了解一點,公式如下: 脈寬=aTcsin(wTd)Tc為載波頻率,a為調制度,w為正弦波角頻率, Td為脈沖所在的時間.這個公式算出的結果用兩個IO輸出,當一個IO輸出一個半波的PWM時,此時另一個輸出為無效電平.我用單片機實現這個公式的想法: 用查表的方法.把0.5Tcsin(wTd)算出做一個表格,用一個八位的A/D來采樣輸出電壓的變化,計算后得到a值,再根據下面的式子算出實際的脈寬:0.5aTcsin(wTd)/128,這僅是我一點單純的思路,希望大家積極發表意見,特別是如果我的想法有不對的地方,請不要保留.謝謝
沒人回,提一個問題,資料上說規則采樣法的直流電壓利用率較代,僅
0.866,這個直流電壓利用率是什么意思,是指比如直流電壓為400V,那么輸出正弦波最大幅值為400*0.866v嗎?還是指效率?
已經知道直流電壓利用率的意思是指400*0.866,但又有一個問題,這個0.866是指三相的時候給出的,現在我的是單相,那么這個值是1嗎?
0.866,這個直流電壓利用率是什么意思,是指比如直流電壓為400V,那么輸出正弦波最大幅值為400*0.866v嗎?還是指效率?
已經知道直流電壓利用率的意思是指400*0.866,但又有一個問題,這個0.866是指三相的時候給出的,現在我的是單相,那么這個值是1嗎?
0
回復
@rrrrr1234
我現在僅對規則采樣法了解一點,公式如下: 脈寬=aTcsin(wTd)Tc為載波頻率,a為調制度,w為正弦波角頻率, Td為脈沖所在的時間.這個公式算出的結果用兩個IO輸出,當一個IO輸出一個半波的PWM時,此時另一個輸出為無效電平.我用單片機實現這個公式的想法: 用查表的方法.把0.5Tcsin(wTd)算出做一個表格,用一個八位的A/D來采樣輸出電壓的變化,計算后得到a值,再根據下面的式子算出實際的脈寬:0.5aTcsin(wTd)/128,這僅是我一點單純的思路,希望大家積極發表意見,特別是如果我的想法有不對的地方,請不要保留.謝謝
我開環控制,波形好,但閉環加入了調節的脈沖就不好了,不知如何將加入了調節的脈沖也變好.我是在每個脈沖上都加一個數值.這樣我想就不是正弦了.
0
回復
@rrrrr1234
我現在僅對規則采樣法了解一點,公式如下: 脈寬=aTcsin(wTd)Tc為載波頻率,a為調制度,w為正弦波角頻率, Td為脈沖所在的時間.這個公式算出的結果用兩個IO輸出,當一個IO輸出一個半波的PWM時,此時另一個輸出為無效電平.我用單片機實現這個公式的想法: 用查表的方法.把0.5Tcsin(wTd)算出做一個表格,用一個八位的A/D來采樣輸出電壓的變化,計算后得到a值,再根據下面的式子算出實際的脈寬:0.5aTcsin(wTd)/128,這僅是我一點單純的思路,希望大家積極發表意見,特別是如果我的想法有不對的地方,請不要保留.謝謝
RRRRR1234,我還不清楚你的計算是怎么算的,如我的載頻是25K,PWM-》TOP=200,半波125個數據,請計算出正弦表一看.
0
回復
@rrrrr1234
我現在僅對規則采樣法了解一點,公式如下: 脈寬=aTcsin(wTd)Tc為載波頻率,a為調制度,w為正弦波角頻率, Td為脈沖所在的時間.這個公式算出的結果用兩個IO輸出,當一個IO輸出一個半波的PWM時,此時另一個輸出為無效電平.我用單片機實現這個公式的想法: 用查表的方法.把0.5Tcsin(wTd)算出做一個表格,用一個八位的A/D來采樣輸出電壓的變化,計算后得到a值,再根據下面的式子算出實際的脈寬:0.5aTcsin(wTd)/128,這僅是我一點單純的思路,希望大家積極發表意見,特別是如果我的想法有不對的地方,請不要保留.謝謝
我認為用P89LPC938單片機不用計算寬度,將Tcsin(wTd)(16位)算出做一個表格,利用采樣電壓計算一個系數K,算出KTcsin(wTd)的值,由CCU單元進行對稱PWM比較,定時器中斷更改一次定時值即可.
0
回復