|
【摘要】本文設(shè)計(jì)了以PC 機(jī)為上位機(jī)、AT89C51 單片機(jī)為下位機(jī),并輔之以傳感器、變頻器以及相關(guān)接口部件的二級(jí)集散壓力控制系統(tǒng)。著重介紹了基于TLC2543 單片機(jī)的數(shù)據(jù)采集與處理系統(tǒng)?偨Y(jié)了基于單片機(jī)的過(guò)程控制系統(tǒng)的優(yōu)勢(shì)。 關(guān) 鍵 詞:過(guò)程控制,單片機(jī),數(shù)據(jù)采集
1、引言 本課題來(lái)自某管道的流量、液位控制系統(tǒng),主要研究的是基于單片機(jī)的壓力參數(shù)的控制和調(diào)節(jié),即以單片機(jī)為調(diào)節(jié)器,輔助以配套的A/D , D/A 轉(zhuǎn)換單元及電路,通過(guò)執(zhí)行數(shù)字PID程序?qū)崿F(xiàn)自動(dòng)調(diào)整。圖1 為該壓力控制系統(tǒng)簡(jiǎn)圖,這是一個(gè)單回路反饋控制系統(tǒng),控制的任務(wù)是使水箱的壓力等于某定值,減小或消除來(lái)自系統(tǒng)內(nèi)部或外部擾動(dòng)的影響。交流電動(dòng)機(jī)帶動(dòng)齒輪泵通過(guò)閥1 向上水箱供水,調(diào)節(jié)閥2 使之同時(shí)向外排水,達(dá)到被控壓力參數(shù)的動(dòng)態(tài)調(diào)整。單回路控制系統(tǒng)由于結(jié)構(gòu)簡(jiǎn)單、投資小、操作方便、且能滿(mǎn)足一般生產(chǎn)過(guò)程的要求,故它在過(guò)程控制中得到廣泛應(yīng)用。當(dāng)一個(gè)單回路系統(tǒng)設(shè)計(jì)安裝就緒之后,控制質(zhì)量的好壞與控制器參數(shù)的選擇有著很大的關(guān)系。合適的控制參數(shù),可以帶來(lái)滿(mǎn)意的控制效果。反之,控制器參數(shù)選擇的不合適,則會(huì)使控制質(zhì)量變壞,達(dá)不到預(yù)期的效果。因此,當(dāng)一個(gè)單回路系統(tǒng)搭建好以后,如何整定好控制器的參數(shù)是一個(gè)很重要的問(wèn)題。
2、系統(tǒng)總體設(shè)計(jì) 2.1 單片機(jī)監(jiān)控系統(tǒng)的作用和功能 該系統(tǒng)實(shí)現(xiàn)控制功能的主要單元是一個(gè)基于單片機(jī)的壓力控制系統(tǒng),其結(jié)構(gòu)框圖如圖2所示。主要組成部分有:基于擴(kuò)散硅傳感器的壓力檢測(cè)單元、A/D 轉(zhuǎn)換單元、以AT89C51單片機(jī)為核心的控制單元以及調(diào)節(jié)水箱進(jìn)水量的變頻調(diào)速單元。
具體的工作過(guò)程是:設(shè)定欲穩(wěn)定的水箱的液位高度,通過(guò)壓力檢測(cè)元件獲取當(dāng)前水箱的液位壓力值,經(jīng)模/數(shù)轉(zhuǎn)換芯片將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),送單片機(jī)與設(shè)定值進(jìn)行比較,得到偏差信號(hào),該信號(hào)經(jīng)過(guò)調(diào)節(jié)器做PID 運(yùn)算后,輸給變頻器一個(gè)轉(zhuǎn)速控制信號(hào),通過(guò)數(shù)/模轉(zhuǎn)換器將變頻器調(diào)速信號(hào)由數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),由于變頻器的輸出頻率與輸入電壓成比例,可變的輸出頻率調(diào)整電動(dòng)機(jī)和水泵的轉(zhuǎn)速,從而調(diào)節(jié)流量,達(dá)到調(diào)節(jié)水箱壓力的目的。
2.2 數(shù)據(jù)采集與處理系統(tǒng) 在本實(shí)驗(yàn)裝置中,數(shù)據(jù)采集與處理系統(tǒng)的任務(wù)是將檢測(cè)元件獲取的當(dāng)前水箱的實(shí)際液位高度轉(zhuǎn)換成相應(yīng)的電壓值,以便單片機(jī)將該電壓值與設(shè)定的電壓值進(jìn)行比較,從而按所得偏差信號(hào)進(jìn)行控制運(yùn)算。本實(shí)驗(yàn)裝置針對(duì)壓力緩慢變化的模擬信號(hào),考慮到經(jīng)濟(jì)、實(shí)用等因素,在原有控制器的基礎(chǔ)上,以AT89C51 單片機(jī)為核心,利用少量的I/O 接口,采用TLC2543串行A/D 轉(zhuǎn)換芯片,擴(kuò)展出一個(gè)數(shù)據(jù)采集系統(tǒng)。 AT89C51 單片機(jī)是ATEML 公司出產(chǎn)的一款經(jīng)濟(jì)、高性能單片機(jī),其主要特性如下: 1)工作頻率為0~24MHz 2)兩個(gè)標(biāo)準(zhǔn)16 位定時(shí)/計(jì)數(shù)器 3)32 條可編程I/O 口線(xiàn),5 個(gè)中斷源 4)4K 字節(jié)快閃ROM, 128 字節(jié)RAM 5)40 引腳,DIP 封裝 模數(shù)轉(zhuǎn)換器選用TI 公司的12 位串行TLC2543,其分辨率較高,使用開(kāi)關(guān)電容逐次逼近技術(shù)完成A/D 轉(zhuǎn)換過(guò)程,且采用的串行輸入結(jié)構(gòu)。TLC2543 有12 個(gè)輸入通道,有三種輸出數(shù)據(jù)長(zhǎng)度,每種數(shù)據(jù)又可以設(shè)定為不同的數(shù)據(jù)順序(高位在前還是低位在前)。通道的選擇、數(shù)據(jù)格式的設(shè)定,都是通過(guò)控制器向TLC2543 寫(xiě)控制字來(lái)實(shí)現(xiàn)的。控制字格式如表1 所示。
本裝置中液位的測(cè)量采用的是MPX201 ODP 型傳感器。其工作原理是在單晶硅的基礎(chǔ)上擴(kuò)散出P 型或N 型電阻條,接成電橋。在壓力作用下,根據(jù)半導(dǎo)體的壓—阻效應(yīng),把壓力的變化轉(zhuǎn)換成電阻的變化,經(jīng)過(guò)測(cè)量電路所測(cè)的輸出電壓反映出所受壓力的變化,即液位的變化。當(dāng)硅膜片上受到壓力1 P 和2 P 作用時(shí),由于它們對(duì)膜片產(chǎn)生的壓力正好相反,因此作用在膜片上的壓力為1 2 ΔP=P−P從而可以進(jìn)行壓差測(cè)量。 實(shí)驗(yàn)中具體的測(cè)量方式為空氣管傳感方式:將一根管子豎直立起,其一端放于液體容器中,另一端完全敞開(kāi),則在管子里面的液面與容器中的是完全相同的。若將管子的上端封。ń拥組PX201ODP 的壓力面),管子內(nèi)就會(huì)留有一定體積的氣體。當(dāng)容器內(nèi)液位變化時(shí),管內(nèi)空氣的壓力將會(huì)成比例地變化,則MPX201ODP 傳感器的壓力面會(huì)將其所感知的壓力變化傳送給TLC2543 串行A/D 轉(zhuǎn)換芯片,將該壓力的變化轉(zhuǎn)換成電信號(hào)。 2.3 PID 控制器設(shè)計(jì) 常規(guī)PID 控制作為一種傳統(tǒng)的控制方法,綜合了關(guān)于系統(tǒng)的過(guò)去(I)、現(xiàn)在(P)和未來(lái)(D)三方面信息,以其計(jì)算量小、實(shí)時(shí)性好、易于實(shí)現(xiàn)等優(yōu)點(diǎn)廣泛應(yīng)用于過(guò)程控制中。 PID 有兩種基本結(jié)構(gòu),即完全微分型PID 和不完全微分型PID。不完全微分型PID 又有三種變異法。完全微分型PID 的傳遞函數(shù)為,不完全微分型PID 的傳遞函數(shù)為:
3、系統(tǒng)軟件部分設(shè)計(jì) 3.1 數(shù)據(jù)采集子程序 對(duì)于串行輸入輸出數(shù)模轉(zhuǎn)換器,在編程應(yīng)特別注意TLC2543 的工作時(shí)序,其I/O CLOCK引腳接收串行輸入信號(hào),在I/O CLOCK 的前8 個(gè)上升沿,DIN 引腳的8 位輸入數(shù)據(jù)存入數(shù)據(jù)存儲(chǔ)器;在I/O CLOCK 的第4 個(gè)下降沿,被選通的模擬輸入電壓開(kāi)始向電容器充電,直到I/O CLOCK 的最后一個(gè)下降沿為止;將前一次轉(zhuǎn)換數(shù)據(jù)的其余11 位輸出到DATA OUT端,在I/O CLOCK 的下降沿時(shí),數(shù)據(jù)開(kāi)始變化;I/O CLOCK 的最后一個(gè)下降沿,將轉(zhuǎn)換的控制信號(hào)傳送到內(nèi)部狀態(tài)控制位。因此,TLC2543 在每次I/O 周期讀取到的數(shù)據(jù)都是前一次的轉(zhuǎn)換結(jié)果,應(yīng)該丟棄,再讀一次,即為當(dāng)前轉(zhuǎn)換值。數(shù)據(jù)采集子程序的程序流程圖如圖3所示:
3.2 數(shù)據(jù)傳輸子程序 單片機(jī)數(shù)據(jù)傳輸子程序的功能是將單片機(jī)通過(guò)TLC2543 采集到的數(shù)據(jù),通過(guò)單片機(jī)的串行口以一個(gè)固定的波特率發(fā)送到PC 機(jī)。本實(shí)驗(yàn)中采用的是9600b/s 的波特率。為簡(jiǎn)單起見(jiàn),發(fā)送數(shù)據(jù)以6 個(gè)字節(jié)為一幀,其傳輸格式為前16 位的同步碼,中間16 位數(shù)據(jù)(其中后12 位有效,即為系統(tǒng)采集到的數(shù)據(jù)),最后16 為CRC 校驗(yàn)碼。其程序流程圖如圖4 所示: 3.3 PID 控制子程序 PID 控制程序的入口參數(shù)是經(jīng)A/D 轉(zhuǎn)換的實(shí)際值,而它的各個(gè)系數(shù)均由初始化時(shí)確定,若要修改,則通過(guò)單片機(jī)控制屏來(lái)完成。PID 增量型的出口參數(shù)是直接輸入D/A 轉(zhuǎn)換的數(shù)值。本設(shè)計(jì)是將PID 控制作為主要控制方法,將其放在初始程序中。不需要時(shí),只要將其入口地址改變即可。PID 控制子程序流程如圖5 所示。 該P(yáng)ID 控制算法的主要目的是消除靜差和提高控制精度,系統(tǒng)短時(shí)間內(nèi)輸出偏差很大會(huì)導(dǎo)致控制量超出執(zhí)行機(jī)構(gòu)允許的最大動(dòng)作范圍,從而使系統(tǒng)出現(xiàn)較大的超調(diào)量甚致發(fā)生系統(tǒng)振蕩。采用變速積分法根據(jù)系統(tǒng)偏差的大小改變積分項(xiàng)的累積速度,對(duì)提高系統(tǒng)的品質(zhì)十分有效。
圖5 變速積分PID 控制子程序流程圖 4、系統(tǒng)其他部分設(shè)計(jì) 上位機(jī)和下位機(jī)之間采用基于RS232C 通信標(biāo)準(zhǔn)的半雙工數(shù)據(jù)通信方式,為提高系統(tǒng)抗干擾能力的設(shè)計(jì)了看門(mén)狗電路。文中的數(shù)據(jù)采集與處理程序、上位機(jī)與下位機(jī)之間的通信程序都使用執(zhí)行效率較高的匯編語(yǔ)言來(lái)完成,上位機(jī)的人機(jī)交互界面與數(shù)據(jù)輸出程序采用高級(jí)語(yǔ)言VB 來(lái)開(kāi)發(fā)。 5、總結(jié) 本系統(tǒng)以AT89C51 單片機(jī)為核心,利用少量的I/O 接口,采用TLC2543 串行A/D轉(zhuǎn)換芯片,擴(kuò)展出一個(gè)數(shù)據(jù)采集系統(tǒng),在某液壓控制試驗(yàn)系統(tǒng)中得到了利用,并表現(xiàn)出良好的效果。該基于單片機(jī)的過(guò)程控制系統(tǒng)具有體積小、簡(jiǎn)單實(shí)用、成本低、性能價(jià)格比高等特點(diǎn),且系統(tǒng)不易受到干擾,可靠性好,具有很大的市場(chǎng)價(jià)值。 參 考 文 獻(xiàn): [1]金以慧.過(guò)程控制[J].北京:清華大學(xué)出版社,1993,19--21 [2]萬(wàn)君福等.單片機(jī)原理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)應(yīng)用[M].中國(guó)科學(xué)技術(shù)出版社,1995:322--325 [3]曹玲芝,石軍,任亞萍.無(wú)線(xiàn)通信在嵌入式系統(tǒng)中的應(yīng)用[J].微計(jì)算機(jī)信息.2005,11-2:47-49 [4]談宏華,陳康,涂坦,肖仁偉.基于AT89C51 的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].機(jī)電一體化,2005,6:55—57 說(shuō)明(文章創(chuàng)新點(diǎn)): 1、本文所設(shè)計(jì)的過(guò)程控制系統(tǒng)體積小、簡(jiǎn)單實(shí)用、成本低、抗干擾性好,可靠性高。為過(guò)程控制自動(dòng)化相關(guān)產(chǎn)品的設(shè)計(jì)提供了有參考價(jià)值的設(shè)計(jì)思路。 2、完成了系統(tǒng)的完整設(shè)計(jì),并應(yīng)用到實(shí)際的某試驗(yàn)裝置中,卻表現(xiàn)出良好效果。
|