<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 采用MATLAB對SPWM進(jìn)行輔助設(shè)計(jì)

          采用MATLAB對SPWM進(jìn)行輔助設(shè)計(jì)

          作者: 時間:2011-03-03 來源:網(wǎng)絡(luò) 收藏

          由圖7及圖8可見,在單極性調(diào)制下,死區(qū)時間明顯減小了基波的幅值,降低了直流電壓利用率,在未考慮中斷延遲時間實(shí)際應(yīng)用中,設(shè)計(jì)定時常數(shù)應(yīng)考慮死區(qū)時間的影響。一般應(yīng)予在扣除。

          圖7a=0.93,f=5kHz,td=3μs單極性調(diào)制對應(yīng)輸出頻譜

          圖8a=0.93,f=kHz,未考慮死區(qū)時間

          單極性調(diào)制對應(yīng)輸出頻譜

          圖9a=0.95,f=10kHz對應(yīng)的輸出頻譜

          中斷延遲時間Td=10μs

           

          圖10a=0.95,f=10kHz對應(yīng)的輸出頻譜

          5中斷程序時間的影響及其對策

          在單片機(jī)采用本身定時器以實(shí)現(xiàn)SPWM控制時,由于將定時常數(shù)寫入定時器需要在定時中斷服務(wù)程序中完成,從中斷響應(yīng)到定時器進(jìn)行下一次記數(shù)開始有一段時間,我們稱為中斷延遲時間。一般情況下,計(jì)算出中斷延遲時間,然后在定時常數(shù)中予以扣除,就可以消除中斷延遲時間對輸出的影響。但在一些場合,如調(diào)制系數(shù)大于09,正弦波與三角波幅值幾乎相等的那一段,此時的定時常數(shù)非常短,小于中斷延遲時間,無法進(jìn)行扣除,就是說,定時常數(shù)的時間必須大于中斷延遲時間。當(dāng)調(diào)制系數(shù)接近于1或調(diào)制比很高的情況下,中斷延遲時間對輸出有較大影響,表現(xiàn)在輸出的電壓幅值無法進(jìn)一步增大。采用MATLAB仿真的波形如圖9及圖10所示。

          可見,由于中斷延遲時間的影響,隨著調(diào)制比的進(jìn)一步增加,基頻并未得到有效的增強(qiáng),而諧波成分的幅值卻得到增加。

          為降低中斷延遲時間的影響,提高直流電壓的利用率,在定時常數(shù)對應(yīng)時間小于中斷延遲時間的區(qū)域,可以采用降低調(diào)制比,但保留調(diào)制系數(shù)不變的方法,實(shí)際上是降低開關(guān)頻率,增加了中斷時間,從而降低中斷延遲時間的影響,使基波的幅值得到提高。

          6結(jié)語

          SPWM是DC/AC變換中常用的控制方法。采用MATLAB進(jìn)行輔助設(shè)計(jì),可極大地減少工作量,并可對各種SPWM方法進(jìn)行仿真,由于無寄生電路參數(shù)的影響,這種仿真更能說明各種方法的優(yōu)劣。本文還對SPWM變換實(shí)際工作時死區(qū)時間和中斷延遲時間的影響進(jìn)行了分析,并提出解決方法。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();