新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的高精度水位監(jiān)控儀的設(shè)計(jì)

基于單片機(jī)的高精度水位監(jiān)控儀的設(shè)計(jì)

作者: 時(shí)間:2008-09-03 來源:網(wǎng)絡(luò) 收藏

1 引言

儀廣泛應(yīng)用于水利、石油、化工、冶金、電力等領(lǐng)域的自動檢測和控制系統(tǒng)中。目前有些儀在運(yùn)行過程中存在著一些問題,如:系統(tǒng)不穩(wěn)定、抗干擾能力差、精度低、輸出控制或顯示信號不滿足要求、現(xiàn)場更改程序或程序升級麻煩及通信能力差等。本文設(shè)計(jì)的智能儀是吸收了國內(nèi)外最新智能化儀表的設(shè)計(jì)經(jīng)驗(yàn),采用工業(yè)控制,集水位采集、存儲、顯示及遠(yuǎn)程聯(lián)網(wǎng)于一體,適用于各種液位測量及閘門開度的測量。

2 系統(tǒng)硬件總體設(shè)計(jì)

本系統(tǒng)硬件部分主要考慮的功能有:模擬量的變換;模擬量的采集;16位模數(shù)轉(zhuǎn)換器AD7705在系統(tǒng)中的應(yīng)用;精確時(shí)鐘芯片DS1302的應(yīng)用;四路繼電器報(bào)警,繼電器驅(qū)動芯片采用ULN2003;4~20mA電流環(huán)輸出數(shù)模轉(zhuǎn)換器AD421的應(yīng)用以提供系統(tǒng)檢測信號;用于與上位微機(jī)通訊的接口實(shí)現(xiàn)。系統(tǒng)框圖如圖1。

圖1 系統(tǒng)硬件原理圖

在本系統(tǒng)中,我們選用的主控芯片是高集成度MCU芯片C8051F021。C8051F是完全集成的混合信號系統(tǒng)級芯片(SOC) .具有與8051兼容的高速CIP-51內(nèi)核和與MCS-51完全兼容的指令集;片內(nèi)集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬、數(shù)字外設(shè)及其他功能部件;內(nèi)置FLASH程序存儲器、內(nèi)部RAM;大部分器件內(nèi)部還有位于外部數(shù)據(jù)存儲器空間的RAM,即XRAM;C8051F具有片內(nèi)調(diào)試電路,通過4腳的JTAG接口可以進(jìn)行非侵入式、全速的在線系統(tǒng)調(diào)試。

2.1 SPI通訊接口設(shè)計(jì)

在系統(tǒng)設(shè)計(jì)中,有兩個(gè)外部芯片應(yīng)用了SPI接口方式:AD7705和AD421,單片機(jī)和這兩個(gè)外圍芯片構(gòu)成了一個(gè)SPI總線系統(tǒng)。其中單片機(jī)的NSS端懸空并被片內(nèi)上拉電阻置為高電平連接,因?yàn)锳D421是一個(gè)4~20mA輸出的數(shù)模轉(zhuǎn)換器芯片,所以它與單片機(jī)的數(shù)據(jù)線連接只有主設(shè)備輸出從設(shè)備輸入,即MOSI。水位監(jiān)控儀中SPT系統(tǒng)的連接如圖2所示。

圖2 SPI接口系統(tǒng)原理圖

2.2 模數(shù)轉(zhuǎn)換設(shè)計(jì)

在本次設(shè)計(jì)中,我們選用了兩種模數(shù)轉(zhuǎn)換電路,第一種是利用單片機(jī)片內(nèi)的12位ADC,在可變電阻器通道中用的是該電路:另外一種是片外的模數(shù)轉(zhuǎn)換芯片AD7705,該芯片的精度達(dá)16位,應(yīng)用于壓力傳感器通道的數(shù)據(jù)采集中,下面計(jì)算得出具體應(yīng)用中能達(dá)到的精度。在水位監(jiān)控中,我們忽略模擬電路的前端誤差,那么可精確到的毫米數(shù)可由式1計(jì)算得出:

(1)

計(jì)算可得,當(dāng)測量量程a=10m時(shí),如果采用12位的ADC,測量精度為2.44mm;如采用16位ADC,測量精度可達(dá)0.153mm。

我們的設(shè)計(jì)要求為精確到2 mm,所以如采用16位的ADC完全能符合我們的設(shè)計(jì)要求。在設(shè)計(jì)中由于可變電阻器法本身測量精度較低所以使其采用了單片機(jī)片內(nèi)的12位ADC,為盡量提高測量精度,減小測量誤差,我們還用單片機(jī)的另一通道對可變電阻器的供電電源電壓進(jìn)行了采集,在軟件中兩者進(jìn)行了適當(dāng)融合處理,在此不再詳述。壓力傳感器通道我們選用了片外的ADC轉(zhuǎn)換芯片AD7705, AD7705芯片正好有兩路模擬通道,供我們的兩路壓力傳感器通道使用,在軟件中進(jìn)行通道的切換。

2.3 報(bào)警電路設(shè)計(jì)

本系統(tǒng)中四路報(bào)警電路的設(shè)計(jì)是采用單片機(jī)的I/O口加達(dá)林頓驅(qū)動芯片ULN2003實(shí)現(xiàn)的,然后將輸出接到繼電器的控制端。ULN2003由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動7組負(fù)載的能力,是單片雙極型大功率高速集成電路。繼電器選用的是G6B-1174P型號的產(chǎn)品,24V供電電壓。電氣內(nèi)部結(jié)構(gòu)連接示意如圖3。

本系統(tǒng)設(shè)計(jì)中采用四路繼電器信號輸出報(bào)警,包括高水位一、高水位二、低水位一、低水位二,這四個(gè)報(bào)警水位高度可通過下位機(jī)按鍵或上位機(jī)界面中人為設(shè)定和修改。以高水位一為例進(jìn)行說明,當(dāng)水位值在高水位一和高水位二之間時(shí),單片機(jī)發(fā)出開關(guān)量控制信號,使其對應(yīng)的繼電器常開觸點(diǎn)接觸導(dǎo)通,具體報(bào)警方式可靈活選擇,可在外電路中串接報(bào)警燈或報(bào)警鈴,當(dāng)該繼電器動作時(shí),相應(yīng)報(bào)警開始(表現(xiàn)為燈亮或者鈴響)。

圖3 報(bào)警電路原理框圖

2.4 4-20mA電流環(huán)輸出數(shù)模轉(zhuǎn)換電路與時(shí)鐘電路的設(shè)計(jì)

在微機(jī)工業(yè)測控現(xiàn)場中,經(jīng)常會出現(xiàn)待測模擬電壓信號與測量設(shè)備之間有較遠(yuǎn)的距離的情況,把該待測模擬電壓信號直接通過很長的線路送入測量設(shè)備顯然是不合理的。通常采用的方法是:在測量現(xiàn)場對待測模擬信號進(jìn)行放大、濾波等預(yù)處理,再經(jīng)過變換后進(jìn)行遠(yuǎn)距離傳送,在測量設(shè)備附近再反變換成電壓信號進(jìn)行測量。適合工業(yè)測控系統(tǒng)遠(yuǎn)距離傳送的信號一般有電流源或頻率信號。為了把待測模擬電壓信號變換成電流源信號傳送,常常使用電壓/電流變換電路。本系統(tǒng)采用一種高性能數(shù)字模擬變換器AD421,變換器輸出信號為4~20mA電流環(huán)。

單片機(jī)應(yīng)用系統(tǒng)中,為了使系統(tǒng)具有實(shí)時(shí)性,需由一時(shí)鐘電路給系統(tǒng)提供時(shí)鐘信號(年、月、日、時(shí)、分、秒)。我們選用了DALLAS公司的DS1302芯片。水位監(jiān)控儀中用的主控芯片C8051F021共有兩個(gè)串行口,該我們的設(shè)計(jì)中,一個(gè)用于與上位微機(jī)的通訊,另一個(gè)用于與編碼器通訊,因此,在時(shí)鐘模塊與單片機(jī)的接口設(shè)計(jì)中只能采用第二種接口方式,即用普通I/O口模擬工作時(shí)序。該時(shí)鐘芯片對時(shí)序要求非常嚴(yán)格,時(shí)序的確定是跟硬件緊密相連的,芯片內(nèi)部的寄存器、鎖存器等都對時(shí)序有嚴(yán)格的要求,所以充分體現(xiàn)了在研制過程中軟硬件相結(jié)合的重要性。在程序設(shè)計(jì)過程中也遇到了因時(shí)序問題引起的數(shù)據(jù)傳輸錯誤,但最終都順利解決。

2.5 串行通訊部分電路的設(shè)計(jì)

在本次設(shè)計(jì)中,下位機(jī)與上位微機(jī)通信的串行口部分我們采用了兩種通信方式:第一種采用RS-232通信方式;第二種采用了RS-485通信方式。

本次設(shè)計(jì)中RS-232通信電平是用轉(zhuǎn)換芯片MAX202來實(shí)現(xiàn)的。MAX202適用于噪聲嚴(yán)重環(huán)境下的RS-232通信,每個(gè)發(fā)送器輸出和接收器輸入勿需封閉均可抗15kV靜電放電(ESD,Electro-Static Discharge)沖擊,MAX202有兩個(gè)驅(qū)動器和兩個(gè)接收器,MAX202芯片是為在缺少12V電源的情況下進(jìn)行RS- 232C與TTL/COMS電平轉(zhuǎn)換而設(shè)計(jì)的雙向轉(zhuǎn)換芯片,MAX202的供電電源是+5 V,電平轉(zhuǎn)換速度的最大值不小于120kbps。MAX202芯片的外圍器件很少,只需用4個(gè)0.1μF的電容,因而進(jìn)一步降低了成本和減小了占用的空間。

在我們的設(shè)計(jì)中,采用了SN65LBC184電平轉(zhuǎn)換芯片,SN65LBC184是SN5176行業(yè)標(biāo)準(zhǔn)范圍內(nèi)的差分?jǐn)?shù)據(jù)線收發(fā)器,它帶有內(nèi)置高能量瞬變噪聲保護(hù)裝置,這種設(shè)計(jì)特點(diǎn)顯著提高了抵抗數(shù)據(jù)同步傳輸電纜上的瞬變噪聲的可靠性。差分驅(qū)動器設(shè)計(jì)集成了由轉(zhuǎn)換率控制(slew-rate-controlled)的輸出端,足可以250kbps的速率傳送數(shù)據(jù),轉(zhuǎn)換率控制比之不受控制可允許更長的無終止電纜運(yùn)轉(zhuǎn)和來自主干線的更長的短截線長度以及更快的電壓轉(zhuǎn)變速度。獨(dú)有的接收器設(shè)計(jì)可在輸入端處于漂浮(開路)時(shí)提供高電平輸出失效保護(hù),SN65LBC184接收器包括一個(gè)高輸入電阻,該電阻等效于1/4單位的負(fù)載,允許在總線上掛接最多128個(gè)類似器件。SN65LBC184的工作溫度為-40℃至+85℃,因此足可以滿足工作溫度環(huán)境要求。

為了防止上位機(jī)和下位機(jī)的之間互相的干擾,采用光電隔離器件是一種簡單而有效的方法。在RS-485的接口電路中我們選用的也是高速光電耦合器6N136。連接電路如圖4所示,其中圖中電源標(biāo)號+5(2)表示從DC-DC模塊輸出的+5V電源。

圖4 RS-485接口電路圖

3 水位監(jiān)控儀系統(tǒng)的軟件設(shè)計(jì)

在我們本次水位監(jiān)控儀設(shè)計(jì)中,所選用的軟件調(diào)試環(huán)境是Cygnal IDE,它是為C8051系列微控制器量身定制的集成開發(fā)環(huán)境,我們將Kei18051編譯環(huán)境的工具集成到Cygnal IDE中,從而形成了一個(gè)集成了編輯、編譯、下載代碼、在線調(diào)試等一系列功能的開發(fā)環(huán)境,很方便單片機(jī)程序的開發(fā)。

在我們的系統(tǒng)中將整體程序設(shè)計(jì)分為兩個(gè)大的模塊:初始化模塊和循環(huán)執(zhí)行模塊。相應(yīng)的子程序?yàn)?系統(tǒng)初始化子程序和循環(huán)子程序,在主程序調(diào)用了這兩個(gè)子程序。系統(tǒng)初始化子程序中對I/O、外部振蕩器、AD/DA、定時(shí)器、DART, SPI以及中斷系統(tǒng)都做了初始化的工作。循環(huán)子程序是一個(gè)死循環(huán),它包括了對顯示部分的初始化和循環(huán)體內(nèi)容,在循環(huán)體中我們不但完成顯示部分的功能,還做了一些系統(tǒng)應(yīng)該一直查詢的信號量,比如按鍵、通道對應(yīng)的中斷使能切換、繼電器輸出信號的控制處理等。

本文作者創(chuàng)新點(diǎn):本水位監(jiān)控儀在精度上能夠滿足1mm的設(shè)計(jì)要求;在可靠性上基本上能夠克服外界的干擾,實(shí)現(xiàn)穩(wěn)定運(yùn)行;在功能上具有多功能的設(shè)計(jì),符合多種使用方式,可根據(jù)具體要求對功能進(jìn)行選擇;能夠方便的實(shí)現(xiàn)人機(jī)操作,進(jìn)行各種參數(shù)的設(shè)定和修改,在一定程度上滿足了智能化的要求。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉