圖1 硬件結(jié)構(gòu)框圖
、龠x用6MHz的外部晶振,則在這個(gè)時(shí)鐘下,系統(tǒng)完成一條指令的執(zhí)行時(shí)間為2μs~13μs之間,完成一次A/D轉(zhuǎn)換的時(shí)間是44μs。
設(shè)置了復(fù)位鍵,它可使整個(gè)系統(tǒng)(包括8098,8279,8255,8155等)全部復(fù)位。
②具有RS-232串行口,能與計(jì)算機(jī)的標(biāo)準(zhǔn)RS-232接口聯(lián)機(jī),與上位微機(jī)構(gòu)成遙控系統(tǒng)或進(jìn)行多機(jī)協(xié)調(diào)控制。數(shù)據(jù)的發(fā)送與接收均采用中斷形式。
、鬯穆反蠊β使怆姼綦xPWM脈寬調(diào)制輸出,每路的輸出電流大于800mA,并有防止比例電磁鐵線圈產(chǎn)生高壓損壞的續(xù)流作用。每路PWM的輸出均配有發(fā)光二極管顯示。
、8098芯片所提供的10位A/D輸入,經(jīng)多路開關(guān)擴(kuò)展后達(dá)16路。擴(kuò)展口的口地址為5080H~5087H、5008H~500FH。
、萦煽删幊替I盤顯示接口芯片8279,管理鍵盤與顯示,實(shí)現(xiàn)人機(jī)接口;其命令口地址為0E001H,數(shù)據(jù)口地址為0E00H。
、8K的外部RAM和16K的外部EPROM,尋地空間分別為6000H~7FFFH,和0000H~3FFFH。
為閥控系統(tǒng)提供了除前述中的A/D,PWM輸出外,還有兩個(gè)可編程并行I/O擴(kuò)展接口。
實(shí)現(xiàn)上述功能的主要接口電路如下:
(1)與比例電磁鐵的接口
控制放大器對(duì)閥本體的作用,是通過對(duì)比例電磁鐵施加一定占空比的PWM信號(hào),使比例電磁鐵獲得相應(yīng)大小的電流,進(jìn)而產(chǎn)生一電磁力以推動(dòng)閥芯。由于比例控制系統(tǒng)的動(dòng)態(tài)響應(yīng)要求不是很高,故采用圖2所示的驅(qū)動(dòng)線路,圖中驅(qū)動(dòng)管采用共集電極聯(lián)接,使得驅(qū)動(dòng)管散熱簡單。光電隔離將驅(qū)動(dòng)部分與控制器數(shù)字部分隔離,提高了控制器的抗干擾能力。
圖2 與比例電磁鐵接口電路
電路的充放電時(shí)間常數(shù)τ=L/(R+r)
由控制器輸出的PWM信號(hào),經(jīng)驅(qū)動(dòng)電路放大,由于電磁鐵的慣性,在線圈上就可獲得平均值與占空比成比例、帶有交流紋波分量的直流電流。因此,其輸出的電流帶有一定的顫振效果;但由于其頻率與PWM信號(hào)頻率相同,幅值與調(diào)制信號(hào)的占空比、調(diào)制頻率及負(fù)載時(shí)間成函數(shù)關(guān)系,頻率和幅值互相牽制,不可獨(dú)立調(diào)節(jié),限制了這種交流紋波的顫振效果。本控制器的PWM信號(hào)頻率為500Hz,是傳統(tǒng)低頻調(diào)制方式的2~10倍,減小了線圈電流波幅以及開關(guān)特性的延遲時(shí)間對(duì)線圈電流的影響;另一方面,閥的電反饋閉環(huán)把整個(gè)閥的機(jī)械部分都包圍在內(nèi),閥的滯環(huán)得到了較好的克服。
(2)與閥芯位移傳感器的接口
由于閥芯位移傳感器輸出的模擬信號(hào),其電壓在3.8V~9.0V之間,不能直接對(duì)它進(jìn)行采樣,我們采用圖3的信號(hào)處理電路,對(duì)輸出信號(hào)進(jìn)行濾波、調(diào)零和放大處理,使得其輸出的電壓在0~5V這個(gè)范圍,并且提供的電流不小于5mA,以便供8098芯片的A/D采樣;為了避免電源波動(dòng)的影響,對(duì)電源進(jìn)行了濾波處理。由于這里的電源被引入信號(hào)輸入端,用來拉低輸出的電平,故電源的變化波動(dòng)會(huì)直接引起處理后的輸出波動(dòng)變化。因此,盡管對(duì)電源進(jìn)行了硬件濾波,為了確保精度要求,在軟件中采取相應(yīng)的濾波算法,再進(jìn)行一次濾波。
圖3 信號(hào)處理電路
(3)為閥控系統(tǒng)而設(shè)的其它的接口
執(zhí)行元件的輸出由光柵檢測,因所用光柵數(shù)顯表輸出是20位的BCD碼,可通過8255擴(kuò)展的PA、PB和PC口(其地址及控制口的地址分別為4800H,4801H,4802H和4803H)讀入,經(jīng)軟件處理轉(zhuǎn)換成二進(jìn)制數(shù)。
壓力傳感器的輸出,因其電壓、電流都滿足8098單片機(jī)的A/D輸入要求,可直接用它進(jìn)行轉(zhuǎn)換采樣。
3 軟件結(jié)構(gòu)與設(shè)計(jì)
(1)總體結(jié)構(gòu)
整個(gè)軟件包括兩部分,即監(jiān)控軟件和控制軟件。監(jiān)控軟件主要完成人機(jī)接口,實(shí)現(xiàn)人機(jī)對(duì)話;整個(gè)軟件的核心是控制軟件,它完成對(duì)閥和系統(tǒng)的控制。圖4是整個(gè)程序的簡化框圖,其中,因控制程序的實(shí)時(shí)性要求,從控制程序返回到監(jiān)控程序,是由復(fù)位過來的,監(jiān)控制軟件和控制軟件所使用的存儲(chǔ)空間,絕大多數(shù)可以交叉重復(fù)而不致引起混亂。
圖4 軟件總體結(jié)構(gòu)簡化框圖
(2)監(jiān)控軟件
由于8098芯片復(fù)位后,程序計(jì)數(shù)器指向2080地址單元,系統(tǒng)自動(dòng)地從此處開始,運(yùn)行程序。故在此設(shè)置一條關(guān)中指令,然后進(jìn)行一些初始化,等待從鍵盤的輸入,根據(jù)鍵值散轉(zhuǎn),執(zhí)行相應(yīng)的程序。程序框圖如圖5所示。
、俪跏蓟
a.關(guān)閉所有中斷。
b.設(shè)置堆棧指針,8098復(fù)位后,其堆棧指針的指向是隨機(jī)的,為了保證程序的正常運(yùn)行,需要給堆棧寄存器SP賦予某存儲(chǔ)單元地址值;這個(gè)存儲(chǔ)單元可以是在內(nèi)部RAM,也可以是外部RAM,其差別就是堆棧的壓入、彈出時(shí)間不同;在內(nèi)部RAM的堆棧其訪問時(shí)間較短,而外部RAM的堆棧其訪問時(shí)間則較長。
圖5 監(jiān)控程序框圖
另一方面,堆棧的設(shè)置,需要給它留有一定的空間,這個(gè)空間的大小需要視程序?qū)Χ褩5淖畲髩喝肷疃榷。在本系統(tǒng)中,對(duì)堆棧的訪問主要有程序的調(diào)用和中斷而產(chǎn)生,其最大壓入深度不超過64個(gè)字節(jié)。
c.內(nèi)部RAM及有關(guān)外部RAM清零。
d.封鎖PWM輸出及A/D輸出,防止系統(tǒng)誤動(dòng)而產(chǎn)生不良影響。
e.8279初始化;
鍵盤/顯示方式設(shè)置命令字,通過CPU送入控制10H,即八位顯示、左入口、編碼掃描、雙鍵鎖定方式。
時(shí)鐘命令字,為了獲得8279內(nèi)部要求的100kHz,須將ALE進(jìn)行6分頻,故命令字為26H。
讀顯示RAM,取讀后地址自動(dòng)加1的方式。故其命令字為70H;寫顯示RAM,取寫后地址自動(dòng)加1的方式,命令字為90H;清除顯示RAM,給顯示RAM寫入“P”。
、谌藱C(jī)對(duì)話
經(jīng)過上述初始化后,就可開始進(jìn)行人機(jī)對(duì)話。其主要功能是,CPU識(shí)別工作人員從鍵盤送入的命令、數(shù)據(jù),并轉(zhuǎn)而去執(zhí)行相應(yīng)的程序。
鍵盤設(shè)16個(gè)數(shù)據(jù)鍵0~F,四個(gè)功能鍵LAST、RESET、NEXT/PRO和EXEC鍵。其中,RESET被按下后系統(tǒng)會(huì)自動(dòng)上電復(fù)位,不需要CPU的識(shí)別處理。EXEC鍵被按下,則轉(zhuǎn)去執(zhí)行控制程序的初始化程序。NEXT、LAST鍵是顯示并可修改當(dāng)前地址單元的一個(gè)、上一個(gè)單元的內(nèi)容;如果當(dāng)前沒有顯示任何單元,則此時(shí)按下LAST無效,而NEXT轉(zhuǎn)為“PRO”鍵功能,即此鍵被按下,被顯示和可修改的單元,是存放控制命令及數(shù)據(jù)的首地址7FF0H。
(3)控制軟件
考慮到系統(tǒng)的要求,控制軟件需要完成閥的調(diào)節(jié)、系統(tǒng)調(diào)節(jié),為了保證程序按一定的系列執(zhí)行所必要的中斷、定時(shí)以及相應(yīng)的一些數(shù)據(jù)采集、輸入和處理等。圖6是控制軟件總體框圖;對(duì)各個(gè)部分說明如下:
圖6 控制軟件總體框圖
、俪跏蓟
在關(guān)閉中斷的狀態(tài)下,實(shí)現(xiàn)對(duì)控制程序的下述幾個(gè)初始化工作。
a.對(duì)PID程式(閥的調(diào)節(jié))計(jì)算中的一些標(biāo)志、輸入E、輸出U清零。將由Kp、Ki、Kd、采樣周期T及低通濾波器的時(shí)間常數(shù)Tf,計(jì)算得到的Qi、Mi賦予給它的存儲(chǔ)單元。在PID程序中,數(shù)的表示及運(yùn)算均采用定點(diǎn)數(shù)的方式來處理。盡管8098本身具有豐富的指令系統(tǒng),設(shè)有帶符號(hào)數(shù)和不帶符號(hào)數(shù)的加、減、乘、除運(yùn)算指令,給編程帶來極大的方便;但PID程序的運(yùn)算過程中,因定點(diǎn)數(shù)的表示范圍有限,中間難免有溢出之處,為此設(shè)有幾個(gè)判斷標(biāo)志,在運(yùn)行PID程序之前也需要對(duì)它們初始化。
b.采樣時(shí)間到標(biāo)志清零。
c.比例閥流量死區(qū)的基本值賦值;設(shè)置PWM的周期、最大輸出電流(包括顫振信號(hào)的頻率和幅值);輸出電流清零,以避免輸出單元的隨機(jī)值引起系統(tǒng)的誤動(dòng)。
d.軟件定時(shí)中斷和HSO中斷初始化;開放這兩個(gè)中斷,即INT-MASK賦予#28H,同時(shí),把兩個(gè)中斷服務(wù)子程序的入口地址放入相應(yīng)的中斷向量單元。
e.設(shè)置堆棧指針,SP指向內(nèi)部RAM中的00FEH單元。
②采樣及計(jì)算程序
a.讀給定的位移;輸入的位移是以十進(jìn)制數(shù)的方式放入7FF0H~7FF2H的,因此,需要調(diào)用一次三字節(jié)的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)的程序,其結(jié)果放入40H~42H這三個(gè)字節(jié)單元,并在整個(gè)控制程序運(yùn)行期間保存。
b.計(jì)算增量式PID算式Un+1=∑QiEi+Un中的Qi,Mi。
③控制程序的主程序
在控制程序的主程序中,由于至少存在一個(gè)PID程序(閥的調(diào)節(jié)),而PID中的運(yùn)算參數(shù)與采樣周期T有關(guān),為了PID控制算法的正確實(shí)現(xiàn),必須取一個(gè)恒定的采樣周期T,或者采樣周期隨程序運(yùn)算時(shí)間而變,此時(shí)的PID運(yùn)算參數(shù)也要作相應(yīng)的修改;否則,PID控制器將達(dá)不到預(yù)計(jì)的目標(biāo)。采用變采樣周期的方法,需要對(duì)程序運(yùn)算計(jì)時(shí)并不斷地計(jì)算修改運(yùn)算參數(shù),因此很少采用。本控制程序通過軟件定時(shí)來實(shí)現(xiàn)保證固定的采樣周期。主程序的一開始有一個(gè)判斷,即檢查采樣時(shí)間到的標(biāo)志,如果時(shí)間沒到,在此等待;否則清除這個(gè)標(biāo)志(為下一次循環(huán)作準(zhǔn)備)并繼續(xù)運(yùn)行下面的程序。不難看出,固定采樣周期的獲得,實(shí)際上是通過等待,把每次程序循環(huán)運(yùn)行的時(shí)間差距拉平。此措施的先決條件是,采樣周期必須大于完成一個(gè)循環(huán)運(yùn)行所需要的最長時(shí)間,即對(duì)采樣頻率的最大值有個(gè)限制。
以下是控制軟件的各個(gè)功能模塊。
a.采樣、輸入系統(tǒng)反饋數(shù)據(jù),需要采樣或讀入的數(shù)據(jù)有閥芯的位移,以及閥控系統(tǒng)所需的執(zhí)行元件位移和系統(tǒng)壓力等參數(shù)。
由A/D采樣來的數(shù)據(jù)(閥芯位移及壓力等參數(shù)),還需經(jīng)濾波處理后放入指定的單元。執(zhí)行元件的位移,從二次儀表得到的BCD碼還需經(jīng)數(shù)制數(shù)轉(zhuǎn)換程序處理。
本文僅用到閥芯位移的采集及濾波,其它是為閥控系統(tǒng)所考慮。
b.閥控系統(tǒng)調(diào)節(jié)程序,是閥控系統(tǒng)所需的控制策略。本文僅作信號(hào)發(fā)生器使用。
c.閥的調(diào)節(jié)程序,根據(jù)給定量和反饋量的關(guān)系,處理和計(jì)算的結(jié)果放入HSO的輸入單元,即作為PWM調(diào)制及放大的輸入。閥的調(diào)節(jié)方法是工程上廣為應(yīng)用的PID控制。
、苤袛喾⻊(wù)程序
中斷服務(wù)程序中,有一個(gè)軟件中斷定時(shí)器,它主要是每當(dāng)采樣時(shí)間到,則設(shè)置啟動(dòng)標(biāo)志,主程序可以運(yùn)行。另一個(gè)中斷程序是HSO的中斷輸出,即控制器的輸出。
、菰囼(yàn)測試程序
為了對(duì)系統(tǒng)的性能進(jìn)行測試分析,在控制程序中加入了一些試驗(yàn)輔助程序。這些程序主要有:信號(hào)的給定及測試數(shù)據(jù)記錄程序。數(shù)據(jù)結(jié)果存放在6000H~7FEFH中,然后離線將這個(gè)二進(jìn)制數(shù)據(jù)文件轉(zhuǎn)換成ASC碼數(shù)據(jù)文件。
4 試驗(yàn)結(jié)果
試驗(yàn)研究包括靜態(tài)性能和動(dòng)態(tài)性能試驗(yàn)。在靜態(tài)試驗(yàn)時(shí),閥控系統(tǒng)調(diào)節(jié)程序設(shè)置為線性信號(hào)發(fā)生器,動(dòng)態(tài)測試時(shí)則設(shè)置為階躍信號(hào)發(fā)生器。動(dòng)態(tài)數(shù)據(jù)用測試數(shù)據(jù)記錄程序記錄,靜態(tài)試驗(yàn)數(shù)據(jù)則用X-Y函數(shù)記錄儀記錄。
從圖7和圖9可以看出,由數(shù)字控制放大器構(gòu)成的電液比例方向節(jié)流閥,具有較滿意的動(dòng)靜態(tài)性能。從圖8也可看出該閥的流量特性在零點(diǎn)附近很差,有死區(qū)和滯環(huán)等嚴(yán)重的非線性,這是這類節(jié)流閥不足的方面。
圖7 靜態(tài)位移曲線
圖8 靜態(tài)流量曲線
圖9 階躍響就曲線
5 結(jié)論
本文提出的數(shù)字控制放大器,取得了比模擬控制放大器更滿意的結(jié)果,而更主要的是,它集系統(tǒng)控制功能于一體,使得閥控系統(tǒng)具有更高的經(jīng)濟(jì)性、可靠性和靈活性。在閥控系統(tǒng)中,節(jié)流閥流量特性的嚴(yán)重非線性是需重點(diǎn)考慮解決的問題;在此基礎(chǔ)上,由于比例閥較伺服閥有更好的經(jīng)濟(jì)性和使用維護(hù)的方便性,使得它具有較廣闊的應(yīng)用前景。