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