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