引言
近年來,隨著逆變電源在各行各業應用的日益廣泛,采用正弦脈寬調制(SPWM)技術控制逆變電源提高整個系統的控制效果是人們不斷探索的問題。對SPWM的控制有多種實現方法,其一是采用模擬電路、數字電路等硬件電路產生SPWM波形,該方法波形穩定準確,但電路復雜、體積龐大、不能進行自動調節;其二是借助單片機、DSP等微控制器來實現SPWM的數字控制方法,由于其內部集成了多個控制電路,如PWM電路、可編程計數器陣列(PCA)等,使得這種方法具有控制電路簡單、運行速度快、抗干擾性強等優點。本文介紹一種利用STC系列單片機實現SPWM波形的方法,并將由STCl2C5410AD產生的單極性SPWM波應用于單相逆變電源,實驗結果證明了利用其實現SPWM波形的可行性和有效性。
1 正弦脈寬調制技術SPWM
SPWM控制方案有兩種:即單極性調制和雙極性調制法。單極性法所得的SPWM信號有正、負和0三種電平,而雙極性得到的只有正、負兩種電平。比較二者生成的SPWM波可知:在相同載波比情況下,生成的雙極性SPWM波所含諧波量較大;并且在正弦逆變電源控制中,雙極性SPWM波控制較復雜。因此一般采用單極性SPWM波控制的形式。
由單片機實現SPWM控制,根據其軟件化方法的不同,有如下幾種方法:自然采樣法、對稱規則法、不對稱規則法和面積等效法等。理論分析發現面積等效法相對于其它方法而言,諧波較小,對諧波的抑制能力較強。而且實時控制簡單,利于軟件實現。因此本文采用面積等效法實現SPWM控制。
圖l為SPWM面積等效法原理示意圖。
假設所需的輸出正弦電壓為U0=Umsinωt,式中:Um為正弦波幅值。利用面積等效法正弦波小塊面積S1與對應脈沖面積S2相等的原則,將正弦波的正半周分為N等分,則每一等分的寬度為兀/N,計算出半個周期內N個不同的脈寬值。相關公式如下:
:M為調制度。N為半個周期內的脈沖個數。綜合考慮載波比、輸出諧波等因素,在此N取60。由上式計算出的SPWM脈寬表是一個由窄到寬、再由寬到窄的60個值的正弦表,將其存入STC單片機的ROM中以供調用。
2 STC系列單片機生成SPWM波原理
2.1 STC系列單片機簡介
STCl2系列單片機是美國STC公司在8051單片機標準的內核基礎上改進推出的一個增強型功能的8051的單片機,從引腳到指令上完全與8051單片機兼容。最突出的特點就是其具有可編程計數器陣列PCA。以STCl2C5410AD為例,有四路可編程計數器陣列PCA/PWM。PCA含有一個特殊的16位定時器,有4個16位的捕獲/比較模塊與之相連。四個模塊的公共時間基準由PCA定時器決定,可以通過PCA模式寄存器CMOD SFR的CPSl和CPS0位確定。每個模塊可編程工作在4種模式下:上升/下降沿捕獲、軟件定時器、高速輸出或PWM脈沖輸出。文中SPWM生成功能主要靠PWM脈沖輸出模式完成。圖2即為PCA模塊脈寬調節PWM輸出模式框圖。
在PCA PWM輸出模式中,當CLSFR的值小于{EPCnL,CCAPnL}時,輸出為低,當PCA CL SFR的值等于或大于{EPCnH,CCAPnH}時,輸出為高。當CL的值由FF變為00溢出時,{EPCnH,CCAPnH}的內容裝載到{EPCnL,CCAPnL}中。這樣就實現了無干擾的更新PWM。要使能PWM模式,模塊CCAPMn寄存器的PWMn和ECOMn位必須置位。本文中,SPWM波形是綜合使用了模塊O的脈寬調節(PWM)模式和模塊1的16位軟件定時器模式,通過軟件中斷的形式實現的。
與此同時,STCl2C54lO單片機還具有快速A/D轉換功能。有一個lO位精度、8路通道的A/D轉換器??梢苑奖愕膶斎搿⑤敵龅碾妷骸?a href="http://www.nxhydt.com/tags/電流/" target="_blank">電流進行監控和顯示。
2.2 SPWM波生成方法
利用STC系列單片機產生SPWM波的基本原理是:將載波周期數值賦給PCA模塊l的16位捕獲/比較模塊寄存器CCAPlH(高8位)和CCAPlL(低8位),PCA定時器的值CH(高八位)、CL(低八位)與模塊捕獲寄存器的值相比較,當兩者相等時,產生PCA中斷。在中斷中,調用模塊0的PWM脈寬調節模式,將下一個SPWM波的脈寬通過CCAP0H裝載到CCAPOL中,這樣就可以實現無干擾的更新PWM。
圖3中即為由軟件實時計算好的一路單極性SPWM波形的脈寬示意圖。在每個固定的載波周期內,不同脈寬數值組成一個正弦表格的形式。若選用模塊O(P3.7)輸出此路SPWM,首先將模塊0的PCA模塊工作模式寄存器定義為8位PWM模式,將16位計數器定時器CH、CL清零,PCA PWM模式輔助寄存器O清零(保證捕獲寄存器EPCOH(高八位)、EPC0L(低八位)固定為零,PWM波比較的數值只與PCA模塊0的捕獲寄存器CCAPOH(高八位)、CC2APOL(低八位)有關),模塊l的捕獲寄存器CCAPlH(高八位)、CCAPlL(低八位)送入載波周期的高八位和第八位數值,PCA比較/捕獲模塊寄存器1(CCAPMl)定義為使能比較功能,允許匹配產生中斷。將第一個脈寬值sin[0]裝入CCAP0H,開PCA模塊中斷及低壓檢測中斷,開總中斷,啟動PCA計數。當16位計數器/定時器的數值與模塊1中捕獲/比較寄存器的數值相等時,產生一個CCF中斷;在中斷程序中,清中斷標志位,重新給模塊1的捕獲寄存器CCAPlH(高八位)、CCAPlL(低八位)送入載波周期的高八位和第八位數值,將16位計數器定時器CH、CL清零,中斷次數i加1,將下一個脈寬數值sin[i]裝入CCAPOH以備比較。同時判斷是否到達最大數值N,若是,中斷次數i清零,同時將脈寬數sin[i]值送入CCAP0H,完成一個循環。這樣,周而復始,在P3.7引腳上將不斷產生隨著正弦規律變化的脈寬,從而得到準確的SPWM波。
2.3 軟件設計
程序編寫采用KeilC51編程語言進行,整個程序由主程序和鍵盤中斷子程序以及PCA中斷子程序組成。主程序在系統初始化后進入SPwM脈寬計算程序,計算相應的脈沖寬度,形成正弦表格,等待中斷標志位以響應不同的中斷。由于SPWM波是不斷輸出的,必須將PCA中斷級別設置為最高。一旦有PCA中斷標志位,即轉入執行其中斷子程序。圖4為PCA中斷子程序流程圖。在中斷服務程序中,注意CCF1位和CF標志位均由硬件置位,但不能自動清零,必須在中斷程序中由軟件清零。
與此同時,系統可以響應鍵盤中斷子程序,由鍵盤控制通過液晶顯示屏監控輸出電壓、電流的變化情況等。
3 實驗結果
根據上述設計思路及編寫的軟件,用MIC442l驅動器驅動四個MOSFET器件FQAl60N08組成的逆變橋上進行實際調試。圖5為由單片機STCl2C5410輸出的兩路互補(有一定死區時間)單極性SPWM波。用這兩路互補信號直接驅動芯片MIC4421,其輸出信號再分別驅動逆變橋,經低通濾波后的波形如圖6所示。
4 結束語
實驗結果表明,此方法電路結構簡單,硬件設計和軟件編程切實可行。采用在線計算和查表技術相結合,較好的解決了實時控制的要求。同時采用單片機作為控制器件,不僅成本降低,而且調試方便,受外界干擾較小,有很好的實用性和可靠性。
-
電源
+關注
關注
184文章
17578瀏覽量
249483 -
單片機
+關注
關注
6032文章
44514瀏覽量
632962 -
SPWM
+關注
關注
14文章
356瀏覽量
60550
發布評論請先 登錄
相關推薦
評論