基于單片機(jī)的光伏正弦波逆變電源
3 串行通信
為了增強(qiáng)系統(tǒng)適應(yīng)不同環(huán)境的能力,有必要對系統(tǒng)進(jìn)行監(jiān)控監(jiān)測及對參數(shù)進(jìn)行修改調(diào)節(jié),本系統(tǒng)采用串行通信技術(shù)同外界鍵盤監(jiān)控系統(tǒng)進(jìn)行通信。程序上采用查詢方式,周期性地向外界發(fā)送檢測的數(shù)據(jù),檢測的數(shù)據(jù)包括太陽電池電壓、充電電流、蓄電池電壓、直流側(cè)電流、輸出電壓、輸出電流、散熱器溫度等,當(dāng)發(fā)生故障時優(yōu)先發(fā)送故障信號,當(dāng)需要修改參數(shù)時就接收數(shù)據(jù)并修改相應(yīng)參數(shù),并使用校驗和校驗的方法檢驗數(shù)據(jù)通信的準(zhǔn)確性。硬件采用MAXIM公司的MAX485作為接口芯片使其工作于半雙工模式,同時本系統(tǒng)采用光耦隔離的辦法以增強(qiáng)系統(tǒng)抗干擾能力,提高可靠性。
4 系統(tǒng)的軟件設(shè)計
本系統(tǒng)軟件采用模塊化設(shè)計,包括初始化模塊、保護(hù)模塊、調(diào)節(jié)器模塊、通信模塊、中斷程序模塊等,除中斷模塊外其余模塊都放在主程序中進(jìn)行,主程序框圖見圖4。
圖4 主程序流程圖
初始化模塊主要完成系統(tǒng)的初始化、各變量單元、各寄存器單元賦初值。
保護(hù)模塊根據(jù)電壓電流采樣值進(jìn)行故障判斷,并在故障發(fā)生時封鎖PWM的輸出。保護(hù)包括蓄電池欠壓、蓄電池過壓、系統(tǒng)過載、過熱保護(hù)等,其中蓄電池欠壓、過壓保護(hù)能夠?qū)崿F(xiàn)自恢復(fù),即在檢測到蓄電池電壓又恢復(fù)正常時,系統(tǒng)重新軟啟動并恢復(fù)正常工作。過流保護(hù)由于需要快速反應(yīng)故采用硬件保護(hù),當(dāng)過流發(fā)生時就立即封鎖全部PWM輸出,也立即封鎖全部驅(qū)動電路,只有重新復(fù)位時才能恢復(fù)工作,軟件可判斷出是否發(fā)生過流保護(hù)。
調(diào)節(jié)器模塊完成對系統(tǒng)輸出電壓穩(wěn)壓的PI調(diào)節(jié),使輸出電壓穩(wěn)定在220V,同時軟啟動也放在其中。其入口參數(shù)為軟啟動輸出,出口參數(shù)M送到中斷模塊中參與PWM脈寬的計算。通過實時調(diào)節(jié)該參數(shù)的值就能改變脈寬值從而使輸出跟隨給定。
中斷程序模塊完成SPWM波形的發(fā)出、交流電壓、交流電流參數(shù)的采樣。中斷的入口參數(shù)為PI調(diào)節(jié)器的輸出參數(shù)M,該參數(shù)參與脈寬的計算即PVALX(H:L)值的計算,從而改變了占空比也即調(diào)節(jié)了輸出電壓。按照SPWM的規(guī)則2采樣的方法,結(jié)合初始化中對PWMMC的設(shè)定得脈寬的實時計算公式為
正半周期:
PVALX(H:L)=PMOD(H:L)/2+M×SIN(PTR)
負(fù)半周期:
PVALX(H:L)=PMOD(H:L)/2-M×SIN(PTR)
其中PTR為正弦表指針,SIN(PTR)為對應(yīng)PTR指針的正弦值。
評論