用MC9S12H256實(shí)現(xiàn)異步電機(jī)變頻調(diào)速
關(guān)鍵詞:SPWM MC9S12H256 變頻 IGBT 光電編碼器
引言
SPWM變頻調(diào)速系統(tǒng)由于具有調(diào)速范圍寬、功率因數(shù)高、對電網(wǎng)影響小、電機(jī)運(yùn)行平穩(wěn)、可有效抑制低次諧波、可實(shí)現(xiàn)較大容量等諸多優(yōu)點(diǎn),而越來越受到人們的重視,一直被視作非常有發(fā)展前途的變頻方案,越來越多的科研技術(shù)人員開始討論這一課題。由于電力電子技術(shù)的高速發(fā)展和智能控制技術(shù)的廣泛應(yīng)用,當(dāng)前人們設(shè)計的SPWM電機(jī)變頻調(diào)速系統(tǒng),摒棄了過去依賴邏輯電路,如比較器、三角波發(fā)生器等陳舊的實(shí)現(xiàn)方式,而采用高性能MCU加上一些專門的PWM集成電路,如HEF4752、SLE4520等構(gòu)成。文本介紹的系統(tǒng)由于MC9S12H256具有獨(dú)立的PWM通道,實(shí)現(xiàn)起來更為容量;加之Motorola出品的MCU一向具有產(chǎn)品線豐富,片內(nèi)資源眾多等優(yōu)點(diǎn),所以比較使用Intel 80196實(shí)現(xiàn)的方案,無論是調(diào)試方式還是工作速度以及實(shí)現(xiàn)難易度都有一定的優(yōu)勢。
圖1 MC9S12H256 PWM方框圖
1 MC9S12H256 PWM模塊介紹
MC9S12H256是Motorola公司16位單片機(jī)系列中定位于電機(jī)控制的機(jī)型,它秉承了Motorola單片機(jī)資源豐富的傳統(tǒng)優(yōu)勢,最高工作頻率為24MHz,內(nèi)部具有256K Flash ROM、12K RAM、4K EEPROM、2個SCI、1個SPI、1個I2C總線接口、8通道16位定時器、1個6通道PWM模塊、16通道10個A/D轉(zhuǎn)換器、2個CAN2.0接口、1個LCD驅(qū)動器。其中專門用于電機(jī)控制的PWM模塊可以很方便地生成雙極式三相脈寬調(diào)制波形。下面詳細(xì)介紹該芯片的PWM模塊。
PWM模塊含有6個PWM通道,每個通道可以獨(dú)立產(chǎn)生左對齊或者中心對齊的波形。每個通道的波形周期和占空比以及對齊方式都可以單獨(dú)編程,同時每個通道還配有一個專門的計數(shù)器來靈活選擇不同的時間源,以提供更寬的變頻。綜合起來PWM模塊具有以下性質(zhì):
*6個獨(dú)立的PWM通道,其周期、占空比、對齊方式都可以單獨(dú)編程;
*每個PWM通道都配有計數(shù)器,用來選擇時鐘源;
*每個PWM通道都可以通過編程來開啟或者關(guān)斷;
*每個通道的起始極性能可以編程;
*周期和占空比寄存器是雙緩沖的,也就是說只有一個周期結(jié)束之后才可以轉(zhuǎn)化為新的指定的周期和占空比;
*6個8位的PWM通道可以合并成更高精度的3個16位PWM通道;
*可以編程選擇4個時鐘源,所以可提供寬廠的變頻范圍;
*具有突發(fā)事故通道關(guān)斷功能。
由此可見,該芯片的PWM模塊是相當(dāng)強(qiáng)大的。毫無疑問,這將有助于縮短我們設(shè)計電機(jī)變頻調(diào)整系統(tǒng)的時間。該P(yáng)WM模塊框圖如圖1所示。
圖2 主電路圖
由圖1可以看出,PWM波形的生成和修改,都是通過改變每一通道所包含的寄存器以及系統(tǒng)寄存器來實(shí)現(xiàn)的,所以明確這些寄存器的含義是成功實(shí)現(xiàn)SPWM波形的關(guān)鍵。但是,由于該P(yáng)WM模塊含有31個寄存器,數(shù)目眾多,限于篇幅,這里只概略介紹一下。
在這31個寄存器中,有一部分為芯片出廠測試之用,具體功能如表1所列。其中的偏移地址指的是該寄存器相對于PWM基址的偏移量。
寄存器中PWMCLK、PWMPRCLK、PWMSCLA、PWMSCLB是與時鐘源選擇有關(guān)的。在PWM模塊中共有四種不同的時鐘源:ClockA、ClockB、ClockSA、ClockSB。其中ClockA和ClockSA用于0、1、4、5通道;ClockB和ClockSB用于2、3通道。ClockA、ClockB是由總線時鐘除以一定的比例因子(最大為128)生成的,而ClockSA、ClockSB是由ClockA、ClockB除以一定的比例因子(最大為512)生成的。對應(yīng)地,PWMCLK寄存器用來設(shè)置每個通道的時鐘源,PWMPRCLK用來設(shè)置生成ClockA、ClockB時鐘時的比例因子;而PWMSCLA、PWMSCLB則設(shè)置生成ClockSA、ClockSB的比例因子。由此我們可以看出,如果芯片的工作頻率為16MHz,那么理論上,IGBT的關(guān)斷頻率可以達(dá)到1Hz~16MHz。這是一個非常寬的頻率范圍,當(dāng)然實(shí)際中還需要考慮IGBT可以承受的關(guān)斷頻率。
表1 PWM寄存器功能描述
偏移地址 | 寄存器名稱 | 功 能 | 訪問權(quán)限 |
$_00 | PWME | 6通道PWM關(guān)斷控制 | 讀/寫 |
$_01 | PWMPOL | 指定起始電平 | 讀/寫 |
$_02 | PWMCLK | 選擇時鐘源 | 讀/寫 |
$_03 | PWMPRCLK | 設(shè)置ClockA/B比例因子 | 讀/寫 |
$_04 | PWMCAE | 選擇波表對齊方式 | 讀/寫 |
$_05 | PWMCTL | 控制是否合成為16位PWM通道 | 讀/寫 |
$_06~07 | PWMTST,PWMTRSC | 出廠測試用 | 讀/寫 |
$_08 | PWMCLA | 設(shè)置ClockSA比例因子 | 讀/寫 |
$_09 | PWMCLB | 設(shè)置ClockSB比例因子 | 讀/寫 |
$_0A~B | PWMSCNTA,PWMSCNTB | 出廠測試用 | 讀/寫 |
$_0C~11 | PWMCNT0~PWMCNT5 | PWM通道0~5專用計烽器 | 讀/寫 |
$_12~17 | PWMPER0~PWMPER5 | 設(shè)置PWM通道0~5脈沖周期 | 讀/寫 |
$_18~1D | PWMDTY0~PWMDYT5 | 設(shè)置PWM通道0~5“1”電平寬度 | 讀/寫 |
$_1E | PWMSDN | 突發(fā)事故關(guān)斷PWM | 讀/寫 |
2 硬件選型與系統(tǒng)框圖
由前面對MC9S12H256芯片的介紹可以知道,它的內(nèi)部資源非常豐富。毫無疑問,這給硬件設(shè)計帶來了極大的方便,基本上們不需要再行擴(kuò)展大的外圍器件了;主要擴(kuò)展的是IGBT的驅(qū)動裝置、人機(jī)接口部分的鍵盤和LCD以及用于測定電機(jī)轉(zhuǎn)速的光電編碼器四個部分。
考慮到可購買性和價格,IGBT選用IMB150-120,其驅(qū)動器選用EVB840。它們都具有價格適中,應(yīng)用成熟等特點(diǎn)。LCD選用東芝JR07用來顯示電機(jī)轉(zhuǎn)速、頻率、工作狀態(tài)等。至于光電編碼器,以前以國外產(chǎn)品為主,價格一般非常昂貴;現(xiàn)在已有不少國內(nèi)廠家可以生產(chǎn),不光價格要便宜得多,性能也并不遜色,所以我們選用了長春三峰傳感器技術(shù)公司的PZF系列傳感器,鍵盤則使用市售普通型號。
SPWM電機(jī)變頻調(diào)速系統(tǒng)由電機(jī)主電路和控制電路兩部分構(gòu)成。主電路采用交-直-交電壓型IGBT-PWM變頻電路,如圖2所示??刂齐娐芬訫C9S12H256為核心,如圖3所示,接受外部鍵盤輸入的速度數(shù)據(jù),送LCD顯示的同時,通過此輸入的速度和光電編碼器測得的速度,根據(jù)一定的控制算法,計算出電機(jī)的頻率,然后計算出SPWM波形參數(shù),再通過內(nèi)置的PWM模塊使EXB840驅(qū)動IGBT產(chǎn)生脈寬調(diào)帛波形,來使電機(jī)按照期望的頻率轉(zhuǎn)動。其中6個PWM通道與IGBT的接口安排為:通道5接A+;4接A-;3接B+;2接B-;1接C+;0接C-。圖2中T1~T6表示的是6只IGBT。
表2 調(diào)制度和載波比取值表
逆變器輸出頻率/Hz | 載波比N | 調(diào)制度M | 開關(guān)頻率/Hz |
32~62 | 18 | 0.56~0.8 | 576~1116 |
16~31 | 36 | 0.24~0.56 | 576~1116 |
8~16 | 72 | 0.16~0.24 | 576~1080 |
4~7.5 | 144 | 0.08~0.16 | 576~1080 |
3 算法與控制策略
3.1 調(diào)制度與載波比的選擇
SPWM變頻有一個原則,即在盡可能的范圍內(nèi)保持轉(zhuǎn)子磁通不變。所以,我們在設(shè)計算法時規(guī)定了輸出頻率和電壓的關(guān)系。為了充分利用本型號單片機(jī)強(qiáng)大的計算功能,我們采用分段同步調(diào)制的方法;在一定的頻率范圍內(nèi),采用同步調(diào)制,保持輸出波形對稱;當(dāng)頻率下降幅度較陡時,將載波比分段一級一級增加。具體來說就是使逆變器整個變頻范圍劃分為多個頻段,在每個頻段內(nèi)維持載波比恒定。如表2所列,調(diào)制定M定義為正弦調(diào)制波參考信號峰值Urm與三解載波峰值Utm之比,載波比N定義為三角載波頻率ft與正弦調(diào)制波頻率fr之比。表2可建于Flash中,方便在程序中讀取,查表時調(diào)制度要進(jìn)行插值運(yùn)算。
3.2 PWM波形的生成
考慮到工程上的可實(shí)現(xiàn)性以及輸出波形的精度,采用了規(guī)則采樣二法進(jìn)行采樣,如圖4所示。
在三角載波的固定負(fù)峰值位置找到正弦調(diào)制波的采樣電壓值,也就是圖4中E點(diǎn),然后過E點(diǎn)作水平線,截得三角波A、B兩點(diǎn),從而確定脈寬時間t2。在這種采樣法中,每個周期的采樣時刻是固定的。根據(jù)脈沖電壓對三角載波的對稱性以及三相電壓的特性,可知三相脈寬t和周期t2a~t2c的計算公式如下:
t2a=T[1+Msin(ω1te)]/2
t2b=T[1+Msin(ω1te+2π/3)]/2]
t2c=T[1+Msin(ω1te+4π/3)]/2
t=T[3+Msin(ω1te)]/4
其中:T―三角載波的周期;
ω1―正弦調(diào)制波的角頻率;
te―三角載波的負(fù)峰值時刻。
考慮到該型號單片機(jī)的高速計算能力,我們采用以實(shí)時計算為主的波形生成方法:即先在芯片自帶Flash中存儲正弦函數(shù)的值,根據(jù)鍵盤輸入的期望速度和光電編碼器的反饋速度,按照一定的控制算法,計算出電機(jī)的工作頻率。然后,查表2取出M和N,再查正弦表,根據(jù)上述公式計算出每一相的脈沖寬度和周期,再設(shè)置相應(yīng)通道的PWM模塊寄存器來產(chǎn)生期望的PWM波形。
3.3 控制策略和PWM通道系統(tǒng)參數(shù)設(shè)置
控制策略采用轉(zhuǎn)差矢量變換,此外還有過電流、過電壓保護(hù)等其它一些細(xì)節(jié)問題。限于篇幅,此處不詳細(xì)介紹。由表2可知,為了匹配相應(yīng)的開關(guān)頻率,我們必須為每一個PWM通道選用恰當(dāng)?shù)臅r鐘源。經(jīng)過分析,將ClockSA作為0、1、4、5通道時鐘源;將ClockSB作為2、3通道時鐘源,并將PWMCLK設(shè)為$FD;將PWMPRCLK設(shè)為$55;將PWMSCLA/B設(shè)為$40,這樣ClockSA=ClockSB=16M/32/128=2048Hz,所以開頻率范圍為(2048/512,2048)=(4,2048)Hz。顯然,表2所要求的開關(guān)頻率在個范圍之內(nèi)。
4 軟件開發(fā)工具
開發(fā)工具采用Windriver公司的嵌入式C編譯器。為了優(yōu)化編譯質(zhì)量,采取匯編和C混合編程的模式,其中PWM波形等需要計算速度的任務(wù)使用匯編編寫,其余LCD顯示、鍵盤處理等使用C語言編寫。實(shí)際上,由于MC9S12H256集成了絕大多數(shù)功能模塊,這也給軟件編程帶來了方便。整個軟件功能主要包括處理鍵盤輸入、LCD顯示、控制算法實(shí)現(xiàn)、PWM波形生成。程序分為主程序和兩個定時中斷服務(wù)子程序T0、T1。主程序完成轉(zhuǎn)差矢量變換、LCD顯示、鍵盤處理。T0每隔一個三角載波周期中斷一次,以便將實(shí)時計算出的PWM波形數(shù)據(jù)送入相關(guān)寄存器;T1每隔一個調(diào)制波周期中斷一次,以便對定時器和累加器清零,消除積累誤差。
結(jié)語
由MC9S12H25構(gòu)成的SPWM變頻電機(jī)調(diào)速系統(tǒng),充分利用了Motorola公司單片機(jī)特有片內(nèi)資源異常豐富、開發(fā)工具優(yōu)良等諸多優(yōu)點(diǎn),大大簡化了變頻調(diào)速系統(tǒng)的開發(fā)。
評論