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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的正弦波輸出逆變電源的設(shè)計(jì)與實(shí)現(xiàn)

          基于單片機(jī)的正弦波輸出逆變電源的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-07-24 來源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/176674.htm

          低壓小功率已經(jīng)被廣泛應(yīng)用于工業(yè)和民用領(lǐng)域。特別是新能源的開發(fā)利用,例如太陽能電池的普遍使用,需要一個(gè)逆變系統(tǒng)將太陽能電池的直流電壓變換為220V、50Hz交流電壓,以便于使用。本文給出了一種用控制的正弦波,它以12V直流電源作為輸入,220V、50Hz、0~150W的正弦波交流電,以滿足大部分常規(guī)小電器的供電需求。該電源采用推挽升壓和全橋逆變兩級變換,前后級之間完全隔離。在控制電路上,前級推挽升壓電路采用SG3525芯片控制,采樣變壓器繞組電壓做閉環(huán)反饋;逆變部分采用數(shù)字化SPWM控制方式,采樣直流母線電壓做電壓前饋控制,同時(shí)采樣電流做反饋控制;在保護(hù)上,具有輸入過、欠壓保護(hù),輸出過載、短路保護(hù),過熱保護(hù)等多重保護(hù)功能電路,增強(qiáng)了該電源的可靠性和安全性。

          該電源可以在輸人電壓從10.5V到15V變化范圍內(nèi),輸出220V±10V的正弦波交流電壓,頻率50Hz±O.5Hz,直流分量

          l 主電路

          主電路采用推挽升壓和全橋逆變兩級變換,如圖1所示。

          輸入電壓一端接在變壓器原邊的中間抽頭,另一端接在開關(guān)管S1及S2的中點(diǎn)。控制S1及S2輪流導(dǎo)通,在變壓器原邊形成高頻的交流電壓,經(jīng)過變壓器升壓、整流和濾波在電容C1上得到約370 V直流電壓。對S3~S6組成的逆變橋采用正弦脈寬調(diào)制,逆變輸出電壓經(jīng)過電感L、電容C2濾波后,最終在負(fù)載上得到220 V、50 Hz的正弦波交流電。采用高頻變壓器前后級之間的隔離,有利于提高系統(tǒng)的安全性。

          輸入電壓10.5~15 V,輸入最大電流15 A,考慮一倍的余量,推挽電路開關(guān)管S1及S2耐壓不小于30 V,正向電流不小于30 A,選用IRFZ48N。

          升壓高頻變壓器的應(yīng)滿足在輸入電壓最低時(shí),副邊電壓經(jīng)整流后不小于逆變部分所需要的最低電壓350 V,同時(shí)輸入電壓最高時(shí),副邊電壓不能過高,以免損壞元器件。同時(shí)也必須考慮繞線上的電壓降和發(fā)熱問題。選EE型鐵氧體磁芯,原副邊繞組為7匝:300匝。

          變壓器副邊輸出整流橋由4個(gè)HER307組成.濾波電容選用68μF、450 V電解電容。

          根據(jù)輸出功率的要求,輸出電流有效值為0 6~O.7 A,考慮一定的電壓和電流余量,逆變橋中的S3~S6選用IRF840。逆變部分采用單極性SPWM控制方式,開關(guān)頻率fs=16 kHz。

          假?zèng)]濾波器時(shí)間常數(shù)為開關(guān)周期的16倍,即諧振頻率取1 kHz,則有

          濾波電感電容LC≈2.5×10-3,可選取L=5 mH,C=4.7μF。濾波電感L選用內(nèi)徑20 mm,外徑40 mm的環(huán)形鐵粉芯磁芯,繞線采用直徑0.4 mm的漆包線2股并繞,匝數(shù)180匝。

          l 數(shù)字化SPWM控制方法

          該逆變電源的控制電路也分為兩部分。前級推挽升壓電路由PWM專用芯片SG3525控制,采樣變壓器繞組電壓電壓閉環(huán)反饋控制。后級逆變電路由PICl6C73控制,采樣母線電壓電壓前饋控制。前級控制方法比較簡單,在這里主要介紹后級單片機(jī)的數(shù)字化SPWM控制方式。

          1. 正弦脈寬調(diào)制SPWM

          正弦脈寬調(diào)制SPWM技術(shù)具有線性調(diào)壓、抑制諧波等優(yōu)點(diǎn),是目前應(yīng)用最為廣泛的脈寬調(diào)制技術(shù).一般用三角波μc作為載波信號(hào),正弦波ug=UgmSin2πfgt作為調(diào)制信號(hào),根據(jù)μ和μg的交點(diǎn)得到一系列脈寬按正弦規(guī)律變化的脈沖信號(hào)。則可以定義調(diào)制比m=Ugm/Ucm,頻率比K=fc/fa=Tg/Tco。

          正弦脈寬調(diào)制可以分為單極性SPWM和雙極性SPWM。雙極性SPWM的載波為正負(fù)半周都有的對稱三角波,輸出電壓為正負(fù)交替的方波序列而沒有零電平,因此可以應(yīng)用于半橋和全橋電路。實(shí)際中應(yīng)選擇頻率比K為奇數(shù),使得輸出電壓μo具有奇函數(shù)對稱和半波對稱的性質(zhì),μc無偶次諧波。但是輸出電壓μc中含有比較嚴(yán)重的n=K次中心諧波以及n=jk±6次邊頻諧波。其控制信號(hào)為相位互補(bǔ)的兩列脈沖信號(hào)。

          單極性SPWM的載波為單極性的不對稱三角波,輸出電壓也是單極性的方波。因?yàn)檩敵鲭妷褐邪汶娖剑虼?,單極性SPWM只能應(yīng)用于全橋逆變電路。由于其載波本身就具有奇函數(shù)對稱和半波對稱特性,無論頻率比K取奇數(shù)還是偶數(shù)輸出電壓Uo都沒有偶次諧波。輸出電壓的單極性特性使得uo不含有n=k次中心諧波和邊頻諧波,但卻有少量的低頻諧波分量。單極性SPWM的控制信號(hào)為一組高頻(載波頻率fe)脈沖和一組低頻(調(diào)制頻率fk)脈沖,每組的兩列脈沖相位互補(bǔ)。由三角載波和正弦調(diào)制波的幾何關(guān)系可以得到,在k>l時(shí),高頻脈沖的占空比D為

          2. PIC單片機(jī)的軟件實(shí)現(xiàn)

          PICl6C73是一款中檔單片機(jī),PICl6C73內(nèi)部有兩個(gè)CCP(Capture、Compare、PWM)模塊,當(dāng)它工作在PwM模式下,CCP x引腳就可以輸出占空比10位分辨率可調(diào)的方波,圖2為其工作原理圖。

          TMR2在計(jì)數(shù)過程中將同步進(jìn)行兩次比較:TMR2和CCPRxH比較一致將使CCPX引腳輸出低電平;TMR2和PR2比較一致將使CCPx引腳輸出高電平,同時(shí)將TMR2清O,并讀入下一個(gè)CCPRxH值,如圖3所示。因此,設(shè)定CCPRxH值就可以設(shè)定占空比,設(shè)定PR2值就可以設(shè)定脈沖周期。脈沖占空比D可以表示為

          在本中,全橋逆變器采用單極性SPWM調(diào)制方式。CCP1模塊用來產(chǎn)生高頻脈沖,CCP2模塊用來產(chǎn)牛低頻脈沖。選擇16M晶振,根據(jù)脈沖周期Tc=[(PR2)+l]×4×4*Tosc和頻率比k=Tg/Tc,可以取PR2=249,k=320,則有Tg=20 ms,高頻脈沖序列每一一個(gè)周期中包含:320個(gè)脈沖。設(shè)調(diào)制比m=0.92,將,t=TgN/320代入式(2),聯(lián)立式(3)可以得到產(chǎn)生高頻脈沖所需要的CCP1H的取值,第0~79個(gè)脈沖為

          CCP1H=230sin(πN/160) (4)

          式中:N為O→79。


          上一頁 1 2 下一頁

          評論


          相關(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); })();