李一峰,吳振陸,樊海紅
(廣東海洋大學(xué)信息學(xué)院,廣東 湛江 524088)
電容式液位傳感器的設(shè)計(jì)
李一峰,吳振陸,樊海紅
(廣東海洋大學(xué)信息學(xué)院,廣東 湛江 524088)
設(shè)計(jì)了一種基于單片機(jī)的電容式液位傳感器,主要由單片機(jī)系統(tǒng)、555定時(shí)器、液晶顯示屏組成。單片機(jī)作為主要控制的部分,控制系統(tǒng)所有的部分,接收555定時(shí)器方波信號(hào)并讀取出其頻率,將頻率轉(zhuǎn)換成液位高度,顯示到 LCD1602液晶顯示屏幕上,軟件計(jì)算液位高度,減小了電容與頻率轉(zhuǎn)換的線(xiàn)性誤差,最終實(shí)現(xiàn)算法的設(shè)計(jì)。
電容式液位傳感器;555定時(shí)器;多諧振蕩電路;頻率轉(zhuǎn)換
在石油化工、水利水電、農(nóng)田灌溉、環(huán)境監(jiān)測(cè)以及食品加工等眾多行業(yè),液位是一個(gè)重要的技術(shù)參數(shù)。液位準(zhǔn)確檢測(cè)一直以來(lái)是傳感檢測(cè)技術(shù)方面的研究熱點(diǎn),同時(shí)也是控制領(lǐng)域的一項(xiàng)關(guān)鍵技術(shù)。
通常進(jìn)行液位測(cè)量的方法有 20多種,分為直接法和間接法。直接液位測(cè)量法是以直觀的方法檢測(cè)液位的變化情況,如玻璃管或玻璃板法。然而隨著工業(yè)自動(dòng)化規(guī)模的不斷擴(kuò)大,因其方法原始、就地指示、精度低等逐漸被間接測(cè)量方法取代。目前國(guó)內(nèi)外工業(yè)生產(chǎn)中普遍采用間接的液位測(cè)量方法,如浮子式、液壓式、超聲波法、磁致伸縮式、光纖等。但這些方法都有各自的缺點(diǎn)問(wèn)題,如設(shè)備復(fù)雜、測(cè)量不準(zhǔn)等,所以解決以上問(wèn)題就是對(duì)液位測(cè)量提出的新要求。
電容式液位傳感器其原理就是利用電容量的大小與電容外特征有直接關(guān)系,即是電容值與極板的面積成正比,與極板間的距離成反比,特別是與極板間的介質(zhì)的介電常數(shù)ε成正比,而水和油的介電常數(shù)差別較大,正好可以利用。
將被測(cè)液位轉(zhuǎn)換為電容量的傳感器,它的敏感部分就是兩根大小參數(shù)一樣的金屬棒(其中一根外包絕緣層防止短路)構(gòu)成的具有可變參數(shù)的電容器。兩根金屬棒插入的液位高度不同,會(huì)改變電容器的電容量。傳感部分將液位高度轉(zhuǎn)換成相應(yīng)的電容量,用555 振蕩電路將容量變化轉(zhuǎn)換成頻率,再將頻率數(shù)據(jù)輸入到單片機(jī),計(jì)算出液位高度。最后用LCD1602顯示屏顯示液位。
電容式液位傳感器通過(guò)測(cè)量電容來(lái)獲取液位值,其容器的結(jié)構(gòu)主要有圓筒狀柱型結(jié)構(gòu)和探針式(平行極板)結(jié)構(gòu)。
2.1電容測(cè)量電路
設(shè)計(jì)的小電容的測(cè)量是利用被測(cè)電容的儲(chǔ)能以及充放原理與555定時(shí)器組成多諧振蕩電路。將測(cè)量的電容量換算成振蕩頻率輸出。該方案硬件電路實(shí)現(xiàn)簡(jiǎn)單,能測(cè)出較寬的電容范圍。555定時(shí)器輸出波形為方波信號(hào),可直接輸入單片機(jī)的計(jì)數(shù)器進(jìn)行處理。
2.2單片機(jī)選擇
STC89C51RC單片機(jī),8 K字節(jié) Flash,40位I/O口線(xiàn),內(nèi)置MAX810復(fù)位電路。內(nèi)部具有ISP在線(xiàn)程序下載接口,無(wú)需專(zhuān)用下載燒錄器。機(jī)器周期為6個(gè)狀態(tài)周期,也就是12個(gè)時(shí)鐘周期,最高工作時(shí)鐘頻率為80 MHz,速度非???。考慮到簡(jiǎn)化電路結(jié)構(gòu),選用自帶 MAX810復(fù)位電路的單片機(jī)??紤]到降低成品成本,選擇內(nèi)部具有ISP在線(xiàn)程序下載接口,無(wú)需專(zhuān)用下載器燒錄器的單片機(jī)??紤]測(cè)量液位時(shí)會(huì)有波動(dòng),為了確保其測(cè)量,計(jì)算與顯示的實(shí)時(shí)性,選用工作時(shí)鐘頻率較高的這款單片機(jī)。
2.3系統(tǒng)的結(jié)構(gòu)框圖
系統(tǒng)以STC89C51RC單片機(jī)為控制元件,以探針作為測(cè)量元件,用555定時(shí)器測(cè)頻,用LCD1602顯示液位,外圍還有晶振,電源電路。系統(tǒng)結(jié)構(gòu)框圖如圖1所示:
圖1 系統(tǒng)結(jié)構(gòu)框Fig.1 system structure chart
3.1電容式液位傳感器系統(tǒng)
如圖2所示為系統(tǒng)總圖,包括STC89C51RC單片機(jī),晶振(使用11.059 2 M),ISP下載器電路,555定時(shí)器的多諧振蕩電路,LCD1602顯示電路,電源(地)。
圖2 系統(tǒng)總圖Fig.2 system chart
3.2555多諧振蕩器測(cè)電容電路設(shè)計(jì)
如圖3所示為由 555定時(shí)構(gòu)成的多諧振蕩電路。通過(guò)計(jì)算頻率來(lái)計(jì)算被測(cè)電容的大小。
圖3 555多諧振蕩器電路Fig.3 555 Multi-oscillator circuit
接通電源后,電源VCC通過(guò)R1和R2對(duì)電容C1充電。當(dāng)Uc<1/3VCC時(shí),振蕩器輸出Uo=1,放電管截止。當(dāng)Uc充電到≥2/3VCC后,振蕩器輸出Uo翻轉(zhuǎn)成0。此時(shí)放電管導(dǎo)通,使放電端(DISC)接地,電容C通過(guò)R2對(duì)地放電,使Uc下降。當(dāng)Uc下降到≤1/3VCC后,振蕩器輸出Uo又翻轉(zhuǎn)成1。此時(shí)放電管又截止,使放電端(DISC)不接地,電源VDD通過(guò)R1和R2又對(duì)電容C1充電,又使Uc從1/3VCC上升到2/3VCC,觸發(fā)器又發(fā)生翻轉(zhuǎn)。如此周而復(fù)始,從而在輸出端 Uo得到連續(xù)變化的振蕩脈沖波形。脈沖寬度TL=ln2 R2C1,由電容C1放電時(shí)間決定;TH=ln2(R1+R2) C1,由電容C1充電時(shí)間決定,脈沖周期T=TH+TL。工作波形如圖4所示。
555接成多諧振蕩器的形式,其振蕩周期為
設(shè)置R1=1 KΩ,R2=750 KΩ,令R1+R2≈R2得到
即
3.3LCD1602顯示電路設(shè)計(jì)
LCD1602它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊,LCD1602顯示部分的接口電路如圖5所示。
圖4 555多諧振蕩器工作波形Fig.4 555 Multi-oscillator wave chart
圖5 LCD1602顯示電路接口Fig.5 LCD1602 display circuit
3.4電源部分
系統(tǒng)電源濾波電路如圖6所示。
圖6 電源濾波電路Fig.6 power filtering circuit
設(shè)計(jì)中的電源是外接插頭。在輸入電路通電瞬間,由于電容上的初始電壓為零,會(huì)形成很大的瞬時(shí)沖擊電流。為防止沖擊電流過(guò)大造成電源無(wú)法正常投入,其輸入采用較大容量的濾波電容。這里采用了體積小的極性電容。大容量的濾波電容的蓄能作用提高通電瞬間電源電路的過(guò)載能力,保證電源的正常投入。
4.1系統(tǒng)主程序設(shè)計(jì)
主程序在程序運(yùn)行的過(guò)程中必須先經(jīng)過(guò)初始化,包括定時(shí)器中斷程序,液晶顯示程序以及各個(gè)控制端口的初始化工作。系統(tǒng)在初始化完成后就進(jìn)入定時(shí)器和計(jì)數(shù)器的設(shè)置,然后將測(cè)量的電容量換算成頻率,讀取頻率后計(jì)算出液位值,然后在液晶顯示屏顯示出來(lái)。
系統(tǒng)軟件設(shè)計(jì)的主程序流程如圖7所示。
圖7 主程序流程Fig.7 main program chart
4.2定時(shí)器T1的中斷程序
定時(shí)器的中斷不干擾單片機(jī)的正常運(yùn)行,可以使單片機(jī)不用一直等待一個(gè)時(shí)間的到來(lái)而空轉(zhuǎn),或者運(yùn)行一個(gè)程序的過(guò)程中計(jì)算運(yùn)行的時(shí)間并定時(shí)插入一個(gè)額外的工作,大大提高單片機(jī)的工作效率。在處理多任務(wù)(主程序與各個(gè)子程序)時(shí),必須使用定時(shí)器(也可以通過(guò)外部信號(hào)做計(jì)數(shù)器)以及外中斷來(lái)切換多個(gè)任務(wù)。定時(shí)器T1的中斷程序流程如圖8所示。
圖8 定時(shí)器T1的中斷程序流程Fig.8 timer T1 ieterru
4.3LCD顯示程序
顯示數(shù)據(jù)之前,必須要初始化,經(jīng)過(guò)初始化之后,開(kāi)始采集電容數(shù)據(jù),然后計(jì)算頻率并換算成液位值,傳輸數(shù)據(jù)到LCD中顯示出來(lái)。LCD顯示流程如圖9所示:
圖9 LCD顯示程序流程Fig.9 LCD Display program flowchart
本次試驗(yàn)直接用自來(lái)水,傳感器的量程為 50mm,精度為1mm。由于其中一根探針外層包裹絕緣材料,導(dǎo)致實(shí)際長(zhǎng)度比另一根探針長(zhǎng)3mm。若外層包裹絕緣材料的探針觸碰到容器底部,則實(shí)際液位高度為測(cè)得液位高度+3mm。
將傳感器的兩根探針豎直插入到試驗(yàn)用水中,重復(fù)測(cè)量4次取平均值如表1所示(單位:mm)。
分析實(shí)驗(yàn)數(shù)據(jù),測(cè)量誤差為1mm,實(shí)驗(yàn)數(shù)據(jù)與實(shí)際情況相符合。
表1 實(shí)驗(yàn)數(shù)據(jù)Table 1 test data mm
6.1誤差分析
本設(shè)計(jì)產(chǎn)生誤差的原因主要有 4個(gè),1)正弦波發(fā)生模塊;2)模擬比較器的精度;3)機(jī)測(cè)量時(shí)間的精度問(wèn)題;4)采用了某些近似公式。雖然從示波器上觀察這個(gè)正弦波比較理想,但是仍舊不是理想的波形。
6.2改進(jìn)的方法
1)采用更高的處理器頻率。Proteus軟件中STC89C51RC最高只能用8 MHz的晶振,而實(shí)際上它的工作頻率可以高達(dá)16 MHz?;蛘呖梢圆捎闷渌咝阅艿奶幚砥餍酒6紝⒂兄谔岣邫z測(cè)精度。
2)采用專(zhuān)門(mén)的正弦波發(fā)生芯片。這樣可以提高正弦波的質(zhì)量,提高精度。但是這會(huì)增加許多硬件和軟件的工作。
電容式液位傳感器的設(shè)計(jì)采用了單片機(jī)控制的電容式液位傳感器結(jié)構(gòu),該液位傳感器設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,相比于其它液位傳感器,電容式液位傳感器的顯著優(yōu)點(diǎn)在于探頭部分不帶可動(dòng)的機(jī)械部件,結(jié)構(gòu)緊湊,體積較小,并且能通過(guò)液晶顯示讀數(shù)的方式得到準(zhǔn)確的液位數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,測(cè)試系統(tǒng)穩(wěn)定,測(cè)量結(jié)果準(zhǔn)確,誤差小,能夠達(dá)到預(yù)期的設(shè)計(jì)目標(biāo)。
[1]潘新民,王燕方.微型計(jì)算機(jī)控制技術(shù)(第2版)[M].北京:電子工業(yè)出版社,2010.
[2]唐露新.傳感器與檢測(cè)技術(shù)[M].北京:科學(xué)出版社,2011.
[3]律德才,邵富群.高壓法微小電容檢測(cè)[J].儀器儀表學(xué)報(bào),2009,(7):1 448-1 451.
[4]張小勇,陳穎鳴,郭禹姬.基于電容檢測(cè)芯片的電容檢測(cè)系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010,(6):35-37.
[5]王雷.電容傳感器新型微弱電容測(cè)量電路[J].傳感技術(shù)學(xué)報(bào),2002,(4):273-277.
(責(zé)任編輯:任萬(wàn)森)
Design of a Capacitive Liquid Level Sensor
LI Yi-feng,WU Zheng-lu,F(xiàn)AN Hai-hong
(The Information College of Guangdong Ocean University, Zhanjiang 524088, China)
Capacitance type liquid level sensor based on single chipwas designed.The system consists of single-chip microcomputer system, 555 timer, LCD screen.Single chip microcomputer, as the main control part, control all part of the system, receive a 555 timer square wave signal and read out the frequencywhich is transformedinto the height of liquid level and is displayed on the LCD1602 liquid crystal screen.The liquid level height is calculated by software, by reducing the linearity error of capacitance and frequency conversion,and finally thealgorithm is designed.
Capacitive liquid level sensor;555 timer;Multi-oscillator circuit;frequency conversion
TP212
A
1673-9159(2015)01-0090-05
2014-10-25
廣東省科技攻關(guān)項(xiàng)目資助(2011B010300016,2012B010300023);廣東省海洋與漁業(yè)局項(xiàng)目資助(A201301D04)
李一峰(1966-),男,碩士,副教授,主要從事電氣自動(dòng)化專(zhuān)業(yè)。