王建暉,龍 云,張 立
(1.廣州大學(xué) 機(jī)械與電氣工程學(xué)院,廣州 510006;2.廣州市土地房產(chǎn)管理學(xué)校;廣州 510006)
以晶閘管可控整流供電的雙閉環(huán)直流調(diào)速系統(tǒng)是電氣傳動(dòng)領(lǐng)域中應(yīng)用比較廣泛的系統(tǒng),它具有良好的起動(dòng)、制動(dòng)性能,宜于在大范圍內(nèi)平滑調(diào)速,在生產(chǎn)應(yīng)用中得到了廣泛的應(yīng)用.但是傳統(tǒng)的控制系統(tǒng)由于采用模擬元件,容易老化且易受外界干擾,加上線路復(fù)雜、通用性差,控制效果受到器件性能、溫度等諸多因素的影響,故系統(tǒng)運(yùn)行的可靠性及準(zhǔn)確性得不到保證,甚至出現(xiàn)故障[1].
ATmega8是一款采用低功耗CMOS工藝生產(chǎn)的基于AVR RISC結(jié)構(gòu)的8位單片機(jī).精簡(jiǎn)指令集RISC結(jié)構(gòu)是20世紀(jì)90年代開發(fā)的綜合了半導(dǎo)體集成技術(shù)和軟件性能的新結(jié)構(gòu).AVR單片機(jī)的核心是將32個(gè)工作寄存器和豐富的指令集聯(lián)結(jié)在一起,所有的工作寄存器都與ALU(算術(shù)邏輯單元)直接相連,實(shí)現(xiàn)了在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行的一條指令同時(shí)訪問(讀寫)兩個(gè)獨(dú)立寄存器操作.這種結(jié)構(gòu)提高了代碼效率,使得大部分指令的執(zhí)行時(shí)間僅為一個(gè)時(shí)鐘周期.因此,ATmega8可以達(dá)到接近1MIPS/MHZ的性能,運(yùn)行速度比普通CISC單片機(jī)高出10倍[2].
本設(shè)計(jì)采用的ATmega8屬AVR單片機(jī)系列,作為調(diào)速系統(tǒng)的主控制芯片.將模擬系統(tǒng)轉(zhuǎn)變數(shù)字系統(tǒng),運(yùn)行模擬化設(shè)計(jì)方法,用連續(xù)系統(tǒng)理論確定一個(gè)系統(tǒng)模型,再用數(shù)字化的方法實(shí)現(xiàn).
圖1 轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)
雙閉環(huán)直流調(diào)速系統(tǒng)如圖1所示.系統(tǒng)中有轉(zhuǎn)速調(diào)節(jié)器ASR和電流調(diào)節(jié)器ACR,可以分別對(duì)轉(zhuǎn)速和電流進(jìn)行調(diào)節(jié),兩者之間串級(jí)聯(lián)接,即把轉(zhuǎn)速調(diào)節(jié)器的輸出作為電流調(diào)節(jié)器的輸入,而電流調(diào)節(jié)器的輸出控制晶閘管變流器的觸發(fā)裝置GT,從而控制主回路電壓,達(dá)到控制電機(jī)轉(zhuǎn)速的目的[3].該系統(tǒng)屬于調(diào)壓調(diào)速方式.
由雙閉環(huán)系統(tǒng)的結(jié)構(gòu)可知,除了給定輸入的ADC轉(zhuǎn)換通道外,還需兩個(gè)ADC轉(zhuǎn)換通道,一個(gè)用于速度反饋,一個(gè)用于電流反饋,兩個(gè)反饋的形式都將以電壓的形式表達(dá).而ATMega8集成了6路ADC轉(zhuǎn)換器,完全滿足本系統(tǒng)的使用.
從三相橋式全控整流電路的結(jié)構(gòu)可知,需要單片機(jī)發(fā)出六路脈沖,考慮用PB0至PB5這六引腳作脈沖輸出.并且需要同步信號(hào),擬用A相的電壓從負(fù)至正的過零點(diǎn)作同步信號(hào),B相電壓的從負(fù)至正的過零點(diǎn)作檢測(cè)錯(cuò)誤的同步信號(hào),以防因波形畸變?cè)斐葾相的同步信號(hào)錯(cuò)誤.當(dāng)錯(cuò)誤連續(xù)發(fā)生超過3次,說明電源不正常,需要停機(jī).
單片機(jī)實(shí)現(xiàn)輸出脈沖時(shí)序的計(jì)算通常有兩種方法.第一種方法是:每相都用一套獨(dú)立的同步電壓信號(hào)和定時(shí)器來完成觸發(fā)脈沖的定時(shí)輸出,此時(shí)需要三個(gè)同步電壓信號(hào)和三個(gè)定時(shí)器.以A相為例,單片機(jī)在完成同步檢測(cè)和相位延遲定位后,輸出觸發(fā)脈沖,但該脈沖送A相的哪個(gè)晶閘管則由同步信號(hào)電平?jīng)Q定.當(dāng)同步信號(hào)為高電平時(shí),觸發(fā)脈沖送VT1晶閘管;反之,同步信號(hào)電平為低則送VT4晶閘管.其他相類推.這種方法簡(jiǎn)單,容易編程實(shí)現(xiàn),但需要單片機(jī)的資源較多.第二種方法是:用一個(gè)同步電壓信號(hào)和一個(gè)定時(shí)器來完成觸發(fā)脈沖的計(jì)算,這在三相電路對(duì)稱時(shí)是可行的.因?yàn)槿嗤耆珜?duì)稱,各相彼此差120°,電路每隔60°需要換流一次,且換流的時(shí)序事先是已知的.該方法與第一種方法比較,所用單片機(jī)資源少,只要一個(gè)同步信號(hào),電路也簡(jiǎn)單,但軟件計(jì)算工作量稍大.該方法實(shí)現(xiàn)觸發(fā)脈沖的延遲要比第一種算法復(fù)雜[4,5].
本文采用的方法與上述兩種方法不同:是用一個(gè)同步電壓信號(hào)和兩個(gè)定時(shí)器來完成觸發(fā)脈沖的計(jì)算,再用另一個(gè)同步信號(hào)作檢測(cè)電源是否正常的參考.從某種意義上說,這種方法是第二種方法的改進(jìn)版.計(jì)算工作量也相對(duì)較小,工作更加可靠.
值得強(qiáng)調(diào)的是,從單片機(jī)檢測(cè)到同步電壓正跳變到輸出第一個(gè)觸發(fā)脈沖信號(hào)的時(shí)間必須調(diào)整到小于60°電角度時(shí)間,否則會(huì)造成觸發(fā)脈沖的遺漏.第一個(gè)觸發(fā)脈沖相對(duì)于同步信號(hào)正跳變的時(shí)間可根據(jù)三相橋式整流電路的觸發(fā)時(shí)序來調(diào)整.本文采用30°的雙窄脈沖,并且將低電平也當(dāng)作脈沖來發(fā),這樣算法簡(jiǎn)單,減少了運(yùn)算量.
本系統(tǒng)電路主要分為幾個(gè)功能模塊:同步檢測(cè),六路脈沖輸出,給定輸入電路,速度反饋電路,電流反饋電路,RS232接口電路,顯示電路,起停開關(guān).其中部分功能模塊可用相同的電路實(shí)現(xiàn),如同步檢測(cè)和起停開關(guān),均可通過光藕實(shí)現(xiàn).
圖2 對(duì)INT0的光藕電路原理圖
光藕電路:該系統(tǒng)最底層最基本的功能是檢測(cè)同步信號(hào),發(fā)出六路脈沖,由于實(shí)驗(yàn)室已提供晶閘管的驅(qū)動(dòng)電路,只要把六個(gè)輸出引腳連接到驅(qū)動(dòng)電路,就能驅(qū)動(dòng)晶閘管.INT0的光藕電路如圖2所示,作為同步信號(hào)的檢測(cè).其中在光藕前面輸入反接的二極管是起保護(hù)作用,保護(hù)光藕不受反向電壓的傷害.而光藕后面輸出接的是電容濾波電路及一個(gè)同相器.故當(dāng)光藕承受正向電壓而工作時(shí),電容兩端的電壓會(huì)被拉低.即是說,相電壓由負(fù)向正過零時(shí),光藕電路輸出是一個(gè)負(fù)跳變,即反邏輯,故在編程時(shí)應(yīng)考慮下降沿觸發(fā).起停信號(hào)也通過光藕接到ATmega8,再加上錯(cuò)誤檢測(cè)的同步信號(hào),整個(gè)系統(tǒng)需三個(gè)光藕電路.
ADC轉(zhuǎn)換輸入電路:ATmega8已集成6路ADC轉(zhuǎn)換通道,并且實(shí)驗(yàn)室已提供將速度、電流轉(zhuǎn)換成電壓形式的電路.考慮到模擬和數(shù)字電路直接相接時(shí)可能會(huì)造成干擾.為了隔離模擬電路的干擾,通過運(yùn)算放大器隔離輸入.其中給定輸入通過一個(gè)滑動(dòng)變阻器給定,運(yùn)算放大器接成電壓跟隨器.速度、電流反饋分別通過由運(yùn)算放大器接成的同相比例電路接入.圖3所示的是針對(duì)電流反饋的ADC轉(zhuǎn)換輸入電路,接到ADC1通道.為防止電壓過大對(duì)ATmega8造成損害,在運(yùn)算放大器的輸出端接上穩(wěn)壓二極管IN4733,使電壓不超過5.1V.
圖3 電流反饋的ADC轉(zhuǎn)換輸入原理圖
RS232接口電路:本系統(tǒng)要求和PC機(jī)通信,故需要RS232線性驅(qū)動(dòng)/接收器,MAX232產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片.該器件包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路.由于和PC進(jìn)行的通信十分簡(jiǎn)單,故使用三線通信即可.本文使用的是DB9接口,整個(gè)RS232接口電路如圖4所示.發(fā)送方和接收方的TXD與RXD應(yīng)當(dāng)交叉連接.
顯示電路:由于DIP28封裝的ATmega8只有23條IO線,而其中很大部分都已作第二功能使用,晶振使用了2條,復(fù)位用1條,中斷用2條,脈沖用6條,ADC用3條,起停用1條,RS232用2條,所以剩下只有5條IO線,故需串行轉(zhuǎn)并行再驅(qū)動(dòng)LED顯示.選用4片74LS164組成一個(gè)32位的移位寄存器,經(jīng)28個(gè)330歐電阻再接到4個(gè)LED(因速度顯示不用小數(shù)位,故小數(shù)點(diǎn)不接),實(shí)現(xiàn)靜態(tài)顯示,僅使用PC4、PC5兩條IO線即可.其中330歐電阻起限流作用.顯示電路如圖5所示.
整個(gè)原理圖及PCB圖的布局均以ATmega8主控芯片作為中心,為使電路更具普適性,已在電路中加入整流濾波穩(wěn)壓的電源電路.
根據(jù)前面對(duì)系統(tǒng)的分析以及系統(tǒng)的要求,結(jié)合ATmega8的特點(diǎn)進(jìn)行程序設(shè)計(jì).ATmega8中,在默認(rèn)條件下,逐次逼近電路需要一個(gè)從50kHz到200kHz的輸入時(shí)鐘以獲得最大精度.如果所需的轉(zhuǎn)換精度低于10比特,那么輸入時(shí)鐘頻率可以高于200kHz,以達(dá)到更高的采樣率.本文采用64分頻,即125KHz.使用ADC0、ADC1、ADC2通道.系統(tǒng)主要程序流程圖如圖6所示.
圖4 RS232接口原理圖
經(jīng)測(cè)定,同步信號(hào)滯后相電壓約186度.圖7所示為未經(jīng)驅(qū)動(dòng)放大的ATmega8直接輸出的六路脈沖波形.其中上面的波形是VT1,下面的波形分別為VT2、VT3、VT4、VT5、VT6.
由圖7可見,VT1至VT6,雙窄脈沖的前沿依次相差60°,脈沖寬度和設(shè)定的30°相當(dāng).ATmega8所發(fā)的六路脈沖正確.相應(yīng)的硬件電路正常,程序編制正確.
圖5 顯示電路原理圖
圖6 程序流程圖
圖8中的曲線為系統(tǒng)的電機(jī)轉(zhuǎn)速歸一化實(shí)時(shí)值,實(shí)驗(yàn)結(jié)果超調(diào)量為18.6%(常規(guī)28%左右),響應(yīng)時(shí)間為1.36s(常規(guī)2.6s左右).因而可以比較好地實(shí)現(xiàn)穩(wěn)定和平衡,誤差小于5%,本系統(tǒng)具有很好的快速跟蹤控制效果,當(dāng)系統(tǒng)響應(yīng)趨向無(wú)窮,曲線與設(shè)定值基本重合,誤差極小.
圖7 六路觸發(fā)脈沖波形
圖8 電機(jī)轉(zhuǎn)速曲線
基于ATmega8的雙閉環(huán)直流調(diào)速控制系統(tǒng)硬件設(shè)計(jì)中,將模擬系統(tǒng)數(shù)字化,系統(tǒng)的邏輯將更加明確和具有可控性,由于ATmega8功能強(qiáng)大,資源豐富,價(jià)格低廉,是構(gòu)建低端系統(tǒng)的一個(gè)很好選擇,基于ATmega8設(shè)計(jì)系統(tǒng)可以滿足多數(shù)直流調(diào)速系統(tǒng)的性能要求.
[1]加云崗,陳增祿.計(jì)算機(jī)控制的雙閉環(huán)直流調(diào)速系統(tǒng)設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2006(4).
[2]馬潮,詹衛(wèi)前,耿德根.ATmega8原理及應(yīng)用手冊(cè)[M].北京:清華大學(xué)出版社,2002.
[3]Morris Driels.Linear Control systems Engineering[M].北京:清華大學(xué)出版社,2010.
[4]謝云祥,郭輝.三相全控橋觸發(fā)脈沖的單片機(jī)實(shí)現(xiàn)方法[J].電工技術(shù)雜志,2003(3).
[5]王兆安,黃俊.電力電子技術(shù)[M].北京:機(jī)械工業(yè)出版社,2009.