基于68HC908MR16單片機(jī)的光伏正弦波逆變電源
摘要:介紹了一種基于MOTOROLA公司生產(chǎn)的68HC908MR16單片機(jī)的光伏正弦波逆變電源。該系統(tǒng)應(yīng)用SPWM技術(shù)將經(jīng)太陽電池陣列充電后的蓄電池電壓,逆變?yōu)闃?biāo)準(zhǔn)的正弦單相220V、50Hz交流電壓,同時(shí)采用新型的數(shù)字式PI調(diào)節(jié)器實(shí)現(xiàn)穩(wěn)壓控制,并通過與外界鍵盤監(jiān)控系統(tǒng)進(jìn)行串行通信實(shí)現(xiàn)參數(shù)調(diào)節(jié)和系統(tǒng)監(jiān)控。
關(guān)鍵詞:光伏逆變;MR16單片機(jī);PI調(diào)節(jié)器;串行通信
1 引言
隨著能源危機(jī)的日益加劇和人類環(huán)保意識(shí)的提高,新能源的開發(fā)利用越來越受到人們的重視。而太陽能作為取之不盡用之不竭的高效無污染的能源近來更受人們的青睞。本文介紹的光伏正弦逆變電源系統(tǒng)正是一種適于戶用的、特別適于無電少電的西部邊遠(yuǎn)地區(qū)用戶的一種電源系統(tǒng),隨著我國西部大開發(fā)的進(jìn)行其市場(chǎng)前景必將越來越廣闊。
2 逆變系統(tǒng)結(jié)構(gòu)及原理
2.1 系統(tǒng)基本結(jié)構(gòu)
系統(tǒng)基本結(jié)構(gòu)框圖如圖1所示。由圖可知,首先太陽電池陣列經(jīng)充電電路向蓄電池充電,從而得到一個(gè)基本穩(wěn)定的直流電壓,再經(jīng)逆變電路將直流電逆變成高頻交流電,最后經(jīng)工頻變壓器升壓和濾波電路濾波變成50Hz、220V正弦交流電壓。整個(gè)系統(tǒng)的控制都是由MR16單片機(jī)完成的。其核心部分為SPWM波的形成及根據(jù)輸出交流電壓采樣形成反饋組成的數(shù)字式PI調(diào)節(jié)器部分。
圖1 系統(tǒng)基本結(jié)構(gòu)
2.2 關(guān)于MR16單片機(jī)
68HC908MR16單片機(jī)是一種低成本、高性能的八位單片機(jī)。它具有32k字節(jié)的可擦寫的片內(nèi)閃速存儲(chǔ)器FLASH,具有768字節(jié)的RAM,對(duì)于本系統(tǒng)來說完全夠用;具有一個(gè)專門用于電機(jī)控制的6路PWM輸出的PWMMC模塊,適合于單相、三相逆變,同時(shí)該模塊還有專門用于故障保護(hù)的4路FAULT引腳,當(dāng)故障發(fā)生時(shí)可在不引起中斷的情況下快速封鎖PWM輸出達(dá)到保護(hù)的目的;具有可選擇外部晶振時(shí)鐘或內(nèi)部鎖相環(huán)時(shí)鐘的時(shí)鐘發(fā)生器模塊,本系統(tǒng)選擇的內(nèi)部鎖相環(huán)時(shí)鐘能產(chǎn)生精確的8MHz的內(nèi)部總線頻率,從而保證了系統(tǒng)的頻率精度;具有可編程的AD時(shí)鐘,AD轉(zhuǎn)換時(shí)間最快只需2μs,能最大程度地減少中斷程序的執(zhí)行時(shí)間;具有SCI串行通信接口,可工作于全雙工或半雙工模式,在本系統(tǒng)中能夠可靠地完成與外界鍵盤監(jiān)控系統(tǒng)的串行通信。
2.3 逆變主電路
系統(tǒng)主電路采用單相全橋逆變電路如圖2所示。其中開關(guān)器件采用適合于小功率裝置、具有開關(guān)速度快、工作頻率高等特性的功率MOSFET。開關(guān)管的柵極驅(qū)動(dòng)信號(hào)來源于MR16單片機(jī)產(chǎn)生的SPWM波經(jīng)驅(qū)動(dòng)電路后的信號(hào)。全橋逆變的輸出為高頻SPWM波,經(jīng)變壓器升壓及濾波后即得到220V、50Hz的標(biāo)準(zhǔn)正弦交流電壓。
圖2 主電路原理圖
2.4 SPWM波的形成
68HC908MR16單片機(jī)具有一個(gè)專門用于電機(jī)控制的可工作于3對(duì)互補(bǔ)模式或獨(dú)立模式的包括6路PWM輸出的PWMMC模塊。在本系統(tǒng)中初始化使其工作于3對(duì)互補(bǔ)模式即同一橋臂2個(gè)PWM信號(hào)是為互補(bǔ)的,在初始化中寫一計(jì)數(shù)值到PMOD(H:L)中以決定載波頻率即開關(guān)頻率。PWM波的實(shí)時(shí)脈寬計(jì)算是由中斷程序完成的,每次PWMMC模塊中的PCTN(H:L)計(jì)數(shù)器計(jì)數(shù)到PMOD(H:L)中的值時(shí)就引起中斷。預(yù)先將0~360°的正弦值制成表格存于FLASH某一區(qū)域中,每次中斷時(shí)從中取一正弦值,經(jīng)過一定計(jì)算后得一數(shù)值,將其送入PVALX(H:L)寄存器中,單片機(jī)將PVALX(H:L)中的值與PMOD(H:L)中的值比較后自動(dòng)生成SPWM信號(hào)并由PWM引腳發(fā)出。為了防止同一橋臂兩個(gè)管子同時(shí)導(dǎo)通的現(xiàn)象發(fā)生,在無信號(hào)發(fā)生器DEADTIME中的寄存器DEADTM中寫入一數(shù)值以確定死區(qū)時(shí)間。本系統(tǒng)設(shè)計(jì)死區(qū)時(shí)間為2.5μs,載波頻率為10kHz,制成包括200個(gè)放大的正弦值的正弦表。PWMMC模塊還有4路故障保護(hù)端口FAULT1~FAULT4,當(dāng)端口為高電平時(shí),PWMMC就能根據(jù)初始化設(shè)定來封鎖相應(yīng)的PWM輸出,本系統(tǒng)中的過流保護(hù)正是利用了這個(gè)功能,當(dāng)發(fā)生過電流時(shí),就置位FAULT1端口從而封鎖全部六路PWM端口。本系統(tǒng)使PWMMC工作在中心對(duì)齊模式,在PWM時(shí)鐘頻率為8MHz下其載波周期計(jì)算公式為
載波周期=1/10k=PMOD(H:L)×(1/8M)×2
所以本系統(tǒng)須初始化PMOD(H:L)=$0190(注:$為MR16中十六進(jìn)制符號(hào))
2.5 系統(tǒng)的控制結(jié)構(gòu)
本系統(tǒng)通過數(shù)字式PI調(diào)節(jié)器實(shí)現(xiàn)穩(wěn)壓控制。系統(tǒng)的控制框圖如圖3所示。反饋信號(hào)來自交流電壓的AD采樣,為了保證精度,本系統(tǒng)利用變壓器進(jìn)行電壓采樣。剛啟動(dòng)時(shí)給定電壓取自軟啟動(dòng)輸出,軟啟動(dòng)是為了避免啟動(dòng)時(shí)產(chǎn)生大的峰值電流,軟啟動(dòng)采用逐次加1遞增到所需電壓的方法,軟啟動(dòng)結(jié)束后給定電壓就是對(duì)應(yīng)于220V電壓的數(shù)值。為了加強(qiáng)快速性,本系統(tǒng)采用前饋控制與反饋控制相結(jié)合的控制方式。為了增強(qiáng)系統(tǒng)的動(dòng)態(tài)輸出特性,本系統(tǒng)采用根據(jù)偏差大小改變比例系數(shù)和積分系數(shù)的模糊控制方法,當(dāng)偏差較大時(shí),比例系數(shù)和積分系數(shù)也較大,當(dāng)偏差較小時(shí)比例系數(shù)和積分系數(shù)也較小,從而大大減少了超調(diào)量,很容易使系統(tǒng)穩(wěn)定,完全消除了積分飽和現(xiàn)象,也增強(qiáng)了系統(tǒng)的適應(yīng)能力。
圖3 系統(tǒng)控制框圖
3 串行通信
為了增強(qiáng)系統(tǒng)適應(yīng)不同環(huán)境的能力,有必要對(duì)系統(tǒng)進(jìn)行監(jiān)控監(jiān)測(cè)及對(duì)參數(shù)進(jìn)行修改調(diào)節(jié),本系統(tǒng)采用串行通信技術(shù)同外界鍵盤監(jiān)控系統(tǒng)進(jìn)行通信。程序上采用查詢方式,周期性地向外界發(fā)送檢測(cè)的數(shù)據(jù),檢測(cè)的數(shù)據(jù)包括太陽電池電壓、充電電流、蓄電池電壓、直流側(cè)電流、輸出電壓、輸出電流、散熱器溫度等,當(dāng)發(fā)生故障時(shí)優(yōu)先發(fā)送故障信號(hào),當(dāng)需要修改參數(shù)時(shí)就接收數(shù)據(jù)并修改相應(yīng)參數(shù),并使用校驗(yàn)和校驗(yàn)的方法檢驗(yàn)數(shù)據(jù)通信的準(zhǔn)確性。硬件采用MAXIM公司的MAX485作為接口芯片使其工作于半雙工模式,同時(shí)本系統(tǒng)采用光耦隔離的辦法以增強(qiáng)系統(tǒng)抗干擾能力,提高可靠性。
4 系統(tǒng)的軟件設(shè)計(jì)
本系統(tǒng)軟件采用模塊化設(shè)計(jì),包括初始化模塊、保護(hù)模塊、調(diào)節(jié)器模塊、通信模塊、中斷程序模塊等,除中斷模塊外其余模塊都放在主程序中進(jìn)行,主程序框圖見圖4。
圖4 主程序流程圖
初始化模塊主要完成系統(tǒng)的初始化、各變量單元、各寄存器單元賦初值。
保護(hù)模塊根據(jù)電壓電流采樣值進(jìn)行故障判斷,并在故障發(fā)生時(shí)封鎖PWM的輸出。保護(hù)包括蓄電池欠壓、蓄電池過壓、系統(tǒng)過載、過熱保護(hù)等,其中蓄電池欠壓、過壓保護(hù)能夠?qū)崿F(xiàn)自恢復(fù),即在檢測(cè)到蓄電池電壓又恢復(fù)正常時(shí),系統(tǒng)重新軟啟動(dòng)并恢復(fù)正常工作。過流保護(hù)由于需要快速反應(yīng)故采用硬件保護(hù),當(dāng)過流發(fā)生時(shí)就立即封鎖全部PWM輸出,也立即封鎖全部驅(qū)動(dòng)電路,只有重新復(fù)位時(shí)才能恢復(fù)工作,軟件可判斷出是否發(fā)生過流保護(hù)。
調(diào)節(jié)器模塊完成對(duì)系統(tǒng)輸出電壓穩(wěn)壓的PI調(diào)節(jié),使輸出電壓穩(wěn)定在220V,同時(shí)軟啟動(dòng)也放在其中。其入口參數(shù)為軟啟動(dòng)輸出,出口參數(shù)M送到中斷模塊中參與PWM脈寬的計(jì)算。通過實(shí)時(shí)調(diào)節(jié)該參數(shù)的值就能改變脈寬值從而使輸出跟隨給定。
中斷程序模塊完成SPWM波形的發(fā)出、交流電壓、交流電流參數(shù)的采樣。中斷的入口參數(shù)為PI調(diào)節(jié)器的輸出參數(shù)M,該參數(shù)參與脈寬的計(jì)算即PVALX(H:L)值的計(jì)算,從而改變了占空比也即調(diào)節(jié)了輸出電壓。按照SPWM的規(guī)則2采樣的方法,結(jié)合初始化中對(duì)PWMMC的設(shè)定得脈寬的實(shí)時(shí)計(jì)算公式為
正半周期:
PVALX(H:L)=PMOD(H:L)/2+M×SIN(PTR)
負(fù)半周期:
PVALX(H:L)=PMOD(H:L)/2-M×SIN(PTR)
其中PTR為正弦表指針,SIN(PTR)為對(duì)應(yīng)PTR指針的正弦值。
5 結(jié)語
按照以上思想制成樣機(jī),最后能得到比較標(biāo)準(zhǔn)的220V、50Hz正弦電壓,軟啟動(dòng)也很平穩(wěn),其頻率誤差≤0.1%,輸出電壓誤差≤0.5%。由于采用10kHz的載波頻率,在變壓器原邊得到20kHz高頻信號(hào),無噪聲。在上述控制方式下,能保證系統(tǒng)在突然加載或減載時(shí)輸出電壓快速地保持穩(wěn)定。并且與外界鍵盤監(jiān)控系統(tǒng)的串行通信良好,有較強(qiáng)的實(shí)用性和可靠性。其空載和負(fù)載時(shí)的輸出電壓波形如圖5和圖6所示。
圖5 空載時(shí)輸出電壓波形
圖6 負(fù)載時(shí)輸出電壓波形