摘 要:介紹一種基于單片機實現的液位控制器的設計方法,該控制器以單片機為核心,通過外圍硬件電路來達到實現控制的目的??筛鶕枰O定液位控制高度,同時具備報警、高度顯示等功能,由于增加了氣體壓力傳感器,使其具有與液面不接觸的特點,可用于有毒、腐蝕性液體液位的控制,具有較高的研究價值。該控制器不僅可用于學校進行教學研究,還可用于生產實際,是目前比較缺少的一種產品。
關鍵詞:傳感器;A/D轉換;控制器;外圍硬件電路
中圖分類號:TP368.1文獻標識碼:B
文章編號:1004 373X(2009)02 051 03
Design of Liquid Level Controller Based on Single Chip Computer
ZHONG Xiaoqiang
(Zhejiang Business Technology Institute,Ningbo,315012,China)
Abstract:This paper introduces a method for the design of liquid level controller based on single chip computer,this controller combines the single chip computer with peripheral hardware circuit to achieve the control performance.The controlled liquid level can be set as needed,it also has functions of displaying the liquid level and alarming.Due to the gas pressure sensor,it possesses the feature of non-contact with the liquid,thus can be used for the liquid level control of poisonous or corrosive liquid.It can be used for the teaching or research in school,and can be put into practical applications.
Keywords:sensor;A/D conversion ;controller;peripheral hardware circuit
0 引 言
隨著微電子工業的迅速發展,單片機控制的智能型控制器廣泛應用于電子產品中,為了使學生對單片機控制的智能型控制器有較深的了解。經過綜合分析選擇了由單片機控制的智能型液位控制器作為研究項目,通過訓練充分激發學生分析問題、解決問題和綜合應用所學知識的潛能。另外,液位控制在高層小區水塔水位控制,污水處理設備和有毒,腐蝕性液體液位控制中也被廣泛應用。通過對模型的設計可很好的延伸到具體應用案例中。
1 系統設計方案比較說明
對于液位進行控制的方式有很多,而應用較多的主要有2種,一種是簡單的機械式控制裝置控制,一種是復雜的控制器控制方式。兩種方式的實現如下:
(1) 簡單的機械式控制方式。其常用形式有浮標式、電極式等,這種控制形式的優點是結構簡單,成本低廉。存在問題是精度不高,不能進行數值顯示,另外很容易引起誤動作,且只能單獨控制,與計算機進行通信較難實現。
(2) 復雜控制器控制方式。這種控制方式是通過安裝在水泵出口管道上的壓力傳感器,把出口壓力變
成標準工業電信號的模擬信號,經過前置放大、多路切換、A/D變換成數字信號傳送到單片機,經單片機運算和給定參量的比較,進行PID運算,得出調節參量;經由D/A變換給調壓/變頻調速裝置輸入給定端,控制其輸出電壓變化,來調節電機轉速,以達到控制水箱液位的目的。
針對上述2種控制方式,以及設計需達到的性能要求,這里選擇第二種控制方式,同時考慮到成本需要把PID控制去掉。最終形成的方案是,利用單片機為控制核心,設計一個對供水箱水位進行監控的系統。根據監控對象的特征,要求實時檢測水箱的液位高度,并與開始預設定值做比較,由單片機控制固態繼電器的開斷進行液位的調整,最終達到液位的預設定值。檢測值若高于上限設定值時,要求報警,斷開繼電器,控制水泵停止上水;檢測值若低于下限設定值,要求報警,開啟繼電器,控制水泵開始上水[4]?,F場實時顯示測量值,從而實現對水箱液位的監控。
2 工作原理
2.1 原理框圖
原理框圖如圖1所示。
2.2 工作原理
基于單片機實現的液位控制器是以AT89C51芯片為核心,由鍵盤、數碼顯示、A/D轉換、傳感器,電源和控制部分等組成。工作過程如下:水箱(水塔)液位發生變化時,引起連接在水箱(水塔)底部的軟管管內的空氣氣壓變化,氣壓傳感器在接收到軟管內的空氣氣壓信號后,即把變化量轉化成電壓信號;該信號經過運算放大電路放大后變成幅度為0~5 V標準信號,送入A/D轉換器, A/D轉換器把模擬信號變成數字信號量,由單片機進行實時數據采集,并進行處理,根據設定要求控制輸出,同時數碼管顯示液位高度。通過鍵盤設置液位高、低和限定值以及強制報警值。該系統控制器特點是直觀地顯示水位高度,可任意控制水位高度。
3 硬件設計
液位控制器的硬件主要包括由單片機、傳感器(帶變送器)、鍵盤電路、數碼顯示電路、A/D轉換器和輸出控制電路等。
3.1 單片機
單片機采用由Atmel公司生產的雙列40腳AT89C51芯片,如圖1所示。其中,P0口用于A/D轉換和顯示;P1口連接一個3×5的鍵盤; P2口用于控制電磁閥和水泵動作; P3口用于上、下限指示燈,報警指示燈以及用于讀寫控制和中斷等。圖2是AT89C51芯片的引腳功能說明。
3.2 傳感器
傳感器使用SY-9411L-D型變送器,它內部含有1個壓力傳感器和相應的放大電路。壓力傳感器是美國SM公司生產的555-2型OEM壓阻式壓力傳感器,其有全溫度補償及標定(0~70 ℃),傳感器經過特殊加工處理,用堅固的耐高溫塑料外殼封裝[6]。其引腳分布如圖3所示。1腳為信號輸出(-);2腳為信號輸出(-);3腳為激勵電壓;4腳為地;5腳為信號輸出(+);6腳為信號輸出(+)。
在水箱底部安裝1根直徑為5 mm的軟管,一端安裝在水箱底部;另一端與傳感器連接。水箱水位高度發生變化時,引起軟管內氣壓變化,然后傳感器把氣壓轉換成電壓信號,輸送到A/D轉換器。
3.3 鍵盤電路
P1口作為鍵盤接口,連接一個4×4鍵盤。結構上采用行列方式,可定義鍵盤布局。結構如圖4所示。
3.4 液位顯示電路
液位顯示采用數碼管動態顯示,范圍從0~999(單位可自定),選擇的數碼管是7段共陰極連接,型號是LDS18B20。在這里使用到了74LS373 ,它是一個8位的D觸發器,在單片機系統中經常使用,可以作地址數據總線擴展的鎖存器,也可以作為普通的LED的驅動器件,由于單獨使用HEF4511B七段譯碼驅動顯示器來完成數碼管的驅動顯示,因此74LS373在這里只用作擴展的緩沖,圖5是顯示電路的原理圖。
3.5 A/D轉換電路及控制輸出
A/D轉換電路在控制器中起主導作用,用它將傳感器輸出的模擬電壓信號轉換成單片機能處理的數字量。該控制器采用CMOS工藝制造的逐步逼近式8位A/D轉換器芯片ADC0809。在使用時可選擇中斷、查詢和延時等待3種方式編制A/D轉換程序。圖6是A/D轉換部分原理圖,在接線時先經過運算放大器和分壓電路把傳感器輸出的電流信號轉換成電壓信號,然后輸入到A/D轉換器。
控制輸出主要有上下限狀態顯示、超限報警。另外在設計過程中預留了串行口,供進一步開發使用。
4 軟件設計
液位控制器模型的軟件設計框圖如圖7所示。
(1) 鍵盤程序
由于鍵盤采用的是4×4結構,因此可使用的鍵有16個,根據需要分別定義各鍵,0~9號為數字鍵,10~15號分別是確定鍵、修改鍵、移位鍵、加/減鍵、取消鍵和復位鍵。程序如下:
KEY: MOV P2,#07H ;用反轉法查鍵
KEY1: MOV B,A ;有鍵按下,存鍵碼
MOV A,P2
MOV DPTR,#TABLE
ANL A,#07H
MOV R3,#0FFH ;存順序碼單元初始化
MOV B,A
KEY2: INC R3
MOV P2,#0F8H
MOV A,R3
MOV A,P2
MOVC A,@DPTR
ANL A,#0F8H
CJNE A,KEY3 ;判鍵碼,求順序碼
ORL A,B
MOV A,R3 ;若找到鍵碼,存順序碼
CJNE A,#0FFH,KEY1
RET
RET ;無鍵按下
KEY3: CJNE A,#0FFH,KEY2;判是否查完
RET ;已查完,鍵碼未找到,以無按鍵處理
TABLE:DB 0F6H,0EEH,0DEH,0BEH,7EH ;按鍵特征碼表
DB 0F5H,0EDH,0DDH,0BDH,7DH
DB 0F3H,0EBH,0DBH,0BBH,7BH,0FFH
…
(2) A/D轉換子程序
A/D轉換子程序如下:
…
ADCC:PUSH ACC;模數轉換程序
PUSH B
MOV DPTR,#0BFFFH
MOVX A,@DPTR;讀模數轉換值
MOV B,#0AH;十六/十進制轉換
DIV AB
MOV DSP1,B
MOV B,#0AH
DIV AB
MOV DSP2,B
MOV DSP3,A
POP B
POP ACC
SETB EA
RETI
…
值得注意的是,在用匯編語言編寫控制器程序時,相對會比較麻煩,如果用C語言編寫程序會簡單很多,這里就不再做具體說明。
5 結 語
基于單片機實現液位控制器模型設計的關鍵在于硬件電路的正確構建,只有在電路準確的前提下再進行軟件編程才能取得成功。
參考文獻
[1]蔡黎.一種基于單片機的水位控制系統設計.儀器儀表用戶,2007,14(4):44-45.
[2]陳霞,白小軍.基于單片機的液位監控系統.武漢理工大學學報,2007,29(3):3-6.
[3]陳新昌,王萬章.單片機在水位控制中的應用.信息科技,2006(24):89-90,94.
[4]胡漢才.單片機原理及其接口技術[M].北京:清華大學出版社,1996.
[5]劉華東.單片機原理與應用.北京:電子工業出版社,2003.
[6]何希才.傳感器及其應用實例[M].北京:機械工業出版社,2004.
[7]董曉紅.單片機原理及接口技術.西安:西安電子科技大學出版社,2004.
[8]付曉光.單片機原理與實用技術.北京:清華大學出版社,2004.
作者簡介 鐘曉強 浙江工商職業技術學院,講師,碩士。主要研究方向為電氣自動化和應用電子技術。