<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  單片機初中級  (http://www.hufushizhe.com/bbs/list.asp?boardid=55)
    ----  討論單片機實現SPWM的算法及實現過程  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=55&id=2224)

    --  作者:wangxinxin
    --  發布時間:2010-12-7 15:05:29
    --  討論單片機實現SPWM的算法及實現過程
    在論壇上看到越來越多的地方在討論用單片機直接輸出SPWM波形的話題,但大多數都是在爭論單片機能否實現的問題,就我最近在網上查找的一些單片機的資料,有一些增強型的單片機應該是可以的,如:
       菲利浦的p89lpc938,輸出PWM最高32M,晶振最高18M,指令執行時間2至4個時鐘周期。我目前所用
       c80051F系列,單周期指令執行,最高可達100MIPS(據宣傳)。輸出I/O可編程。功能強大。

       還有在論壇上常看見的Si8250好像也不錯。
       雖然在這里列出了幾款單片機,我希望在下面的帖子就不要再討論有關單片機硬件的問題。
       希望大家多多討論SPWM的算法,以及用單片機實現的控制過程

     

    我現在僅對規則采樣法了解一點,公式如下:
        脈寬=aTcsin(wTd) Tc為載波頻率,a為調制度,w為正弦波角頻率,  Td為脈沖所在的時間。這個公式算出的結果用兩個IO輸出,當一個IO輸出一個半波的PWM時,此時另一個輸出為無效電平。
    我用單片機實現這個公式的想法:
        用查表的方法。把0.5Tcsin(wTd)算出做一個表格,用一個八位的A/D來采樣輸出電壓的變化,計算后得到a值,再根據下面的式子算出實際的脈寬:0.5aTcsin(wTd)/128,這僅是我一點單純的思路,希望大家積極發表意見,特別是如果我的想法有不對的地方,