在論壇上看到越來(lái)越多的地方在討論用單片機(jī)直接輸出SPWM波形的話題,但大多數(shù)都是在爭(zhēng)論單片機(jī)能否實(shí)現(xiàn)的問(wè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)大。
還有在論壇上常看見的Si8250好像也不錯(cuò)。
雖然在這里列出了幾款單片機(jī),我希望在下面的帖子就不要再討論有關(guān)單片機(jī)硬件的問(wèn)題。
希望大家多多討論SPWM的算法,以及用單片機(jī)實(shí)現(xiàn)的控制過(guò)程
我現(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ì)的地方,