王志文 李思堯
摘 要:在工程應(yīng)用和人們的日常生活中,許多公司都需要各種大型水箱去完成日常生產(chǎn)活動。本文以AT89系列的單片機(jī)為核心,使用液位傳感器,主控電路由AT89S52、X5045、HD7279組成,開發(fā)設(shè)計(jì)了一套水箱液位自動控制系統(tǒng)。
關(guān)鍵詞:自動控制液位;AT89S52;液位傳感器
基于單片機(jī)的測量控制技術(shù)是一種已經(jīng)應(yīng)用非常廣泛的自動測量控制技術(shù)。而且單片機(jī)技術(shù)已經(jīng)發(fā)展的非常成熟,因此完全可以用單片機(jī)構(gòu)造搭建一個穩(wěn)定性好,結(jié)構(gòu)簡單,價格便宜的智能控制系統(tǒng)。
目前,水箱控制系統(tǒng)不僅限于大規(guī)模的安全公司,其自動控制系統(tǒng)的優(yōu)勢也逐漸落入小民用水箱中。
另外,由于生產(chǎn)成本的下降,在單位基礎(chǔ)上,計(jì)算機(jī)控制系統(tǒng)的空間進(jìn)一步發(fā)展了小型和民用產(chǎn)品,控制系統(tǒng)已經(jīng)成為水箱、設(shè)計(jì)和單元開發(fā)的一部分。
1 系統(tǒng)設(shè)計(jì)分析
總體設(shè)計(jì)方案。以AT89系列的單片機(jī)為核心,主控電路由AT89S52、X5045、HD7279組成,開發(fā)設(shè)計(jì)了一套水箱液位自動控制系統(tǒng)。選用投入式液位傳感器來測量水箱液位,將測得的水箱液位通過傳感器輸出為4—20mA的模擬電流信號,使用I/V轉(zhuǎn)換電路使之轉(zhuǎn)換為0-5V的電壓信號。SPI總線串行通信為數(shù)據(jù)傳遞方式,利用串行A/D轉(zhuǎn)換接口芯片TLC1543進(jìn)行數(shù)據(jù)采集。TLC1543將采集到的數(shù)字量經(jīng)輸入通道傳送至AT89S52單片機(jī),單片機(jī)將得到的數(shù)字量進(jìn)行信號處理轉(zhuǎn)換成相應(yīng)的液位信息。利用串行接口芯片HD7279管理數(shù)碼管和鍵盤,將測得的液位值在數(shù)碼管上實(shí)時顯示。在設(shè)計(jì)中利用X5045串行E2PROM來設(shè)置水箱液位的量程上下限和報(bào)警上下限,同時通過由單片機(jī)控制的固態(tài)繼電器來水箱液位。
2 總體設(shè)計(jì)
程序的總體設(shè)計(jì)包括,主要是對各個元器件的初始化操作、按鍵輸入模塊、顯示輸出模塊、水箱液位數(shù)據(jù)采樣、報(bào)警模塊等程序的編寫和調(diào)試。通過調(diào)用各個子程序,實(shí)時采集液位數(shù)據(jù)進(jìn)行適當(dāng)?shù)臄?shù)據(jù)處理后,實(shí)現(xiàn)對水箱自動控制系統(tǒng)的數(shù)據(jù)的、報(bào)警、控制液位以及通過獨(dú)立按鍵設(shè)定各種參數(shù)的功能。
主控制程序包含初始化操作和調(diào)用各個模塊子程序以及總的數(shù)據(jù)處理,其中初始化程序主要是對X5045芯片、液位傳感器、數(shù)碼管顯示器、單片機(jī)初始化、T0,T1定時器。本次系統(tǒng)對數(shù)據(jù)采樣方法采取時間觸發(fā)的時間片輪詢調(diào)度方法,每50ms作為一個時間片的時間,每1S采樣一次,然后將任務(wù)分配在時間片內(nèi)完成,運(yùn)行主程序,調(diào)用子程序,最終實(shí)現(xiàn)軟件功能設(shè)計(jì)。
2.1 采樣模塊
液位信號的采樣用串行芯片TLC1543來實(shí)現(xiàn)A/D轉(zhuǎn)換,采樣程序完成變量初始化、A/D數(shù)據(jù)采集、數(shù)據(jù)處理以及數(shù)據(jù)緩沖區(qū)存儲。供主程序調(diào)用以顯示緩沖區(qū)數(shù)據(jù),實(shí)現(xiàn)測量液位顯示。
2.2 報(bào)警模塊
在文中,為了豐富本系統(tǒng)的功能,拓展本系統(tǒng)的應(yīng)用范圍,水箱液位是關(guān)鍵,本系統(tǒng)設(shè)計(jì)中加入了2個發(fā)光二級管,分別用于報(bào)警上限和報(bào)警下限,如果投入式液位傳感器測到水箱液位超過預(yù)先設(shè)定的報(bào)警值上下限,發(fā)光二極管就會點(diǎn)亮以便提醒使用者進(jìn)行進(jìn)一步的操作。基于二極管的正常工作電流范圍,選用680Ω電阻作為限流電阻。
3 實(shí)驗(yàn)結(jié)果和分析
液位采集數(shù)據(jù)分析。本次實(shí)驗(yàn)數(shù)據(jù)通過分析輸入至A/D轉(zhuǎn)換芯片模擬輸入A0端的電壓,通過輸入不同階段的模擬電壓,經(jīng)A/D轉(zhuǎn)換、單片機(jī)處理,數(shù)碼管顯示對應(yīng)轉(zhuǎn)換后的液位數(shù)據(jù),并做數(shù)據(jù)記錄,為了更好的觀察數(shù)據(jù),對其多次進(jìn)行數(shù)據(jù)采集。此次液位范圍取值為0~200cm,測得的液位數(shù)據(jù)記錄如表所示:
? 由表格記錄數(shù)據(jù)知,模擬電壓信號通過換算處理變成所需的液位顯示數(shù)據(jù),將所得的數(shù)據(jù)統(tǒng)計(jì)處理作出數(shù)據(jù)曲線圖,直觀的對數(shù)據(jù)間關(guān)系進(jìn)行分析。曲線圖如圖所示:
由表格數(shù)據(jù)和曲線圖可知,測得的多次液位數(shù)據(jù)之間雖存在較小偏差,但與實(shí)際的理論數(shù)據(jù)相比近似合乎為一條過零點(diǎn)的直線,數(shù)據(jù)間存在比例線性關(guān)系。為檢測設(shè)計(jì)儀表的精度,對數(shù)據(jù)進(jìn)行分析:
曲線過零點(diǎn),設(shè)擬合直線為:Y=K1X,則K1=(200-0)(5-0)=40,則擬合直線為Y=40X,通過擬合直線與得到的曲線比較,當(dāng)輸入模擬電壓為4V時,與理論數(shù)據(jù)存在最大偏差4cm,由相對誤差計(jì)算公式σ=X-X0測量上限值-測量下限值×100%知,其中X為測量值,X0為標(biāo)準(zhǔn)值,則最大相對誤差為:σ=4200x100%=02%,滿足設(shè)計(jì)要求。
4 結(jié)論
本文完成實(shí)現(xiàn)了基于高樓水箱設(shè)計(jì)的自動控制系統(tǒng),本文的設(shè)計(jì)是以AT89系列的單片機(jī)為核心,主控電路用AT89S52、X5045、HD7279芯片組成,是儀表的核心,測量范圍為0-200cm,精度大概在+0.5%,報(bào)警范圍為40-160cm誤差較小,整個系統(tǒng)造價便宜,使用方便,基本通過自動控制的方式實(shí)現(xiàn)了對水箱液位的測量以及控制。
參考文獻(xiàn):
[1]魏立峰,王寶興.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:北京大學(xué)出版社,2014.
[2]王淵峰,戴旭輝.Altium Designer 10電路設(shè)計(jì)標(biāo)準(zhǔn)教程[M].北京科學(xué)出版社,2011.11.
[3]宋寶林.基于單片機(jī)的水箱水位及溫度控制系統(tǒng)[J].自動化應(yīng)用,2017(02):35-36+56.