目
錄
摘要-- - -- - - - - - - - - - - - - - - - - - - -- -- - - - - - - - - - - - - - - - - -- - - 2 2
Abstract -- - -- - - - - - - - - - - - - - - - - - - - - -- - -- - - - - - - - - -- - -
3 3
前言- -- -- - - - - - - - - - - - - - - - - - - - - -- - -- - - - - - - - - - - - - - - - -
4 4
1 1 . 液位測量技術概括- - - - - -- - -- - - - - - - - - - - - - - - - - - - - - - -- 5 5
1.1 機械浮子類液位計- - - - - - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5 1.2 電子類液位計
- -- -- - -- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 1.3 熱學式液位計 - - - -- - -- - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 6 1.4 雷達液位計 --- - - -- - -- - ---- -- - - - - - - - - - - - - - - - - - - - - - - - - - -- 6 1.5 同位素/放射性液位計- - - -- - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - 6 1.6 液壓類液位計- - - -- - -- - - -- -- - - - - - - - - - - - - - - - - - - - - - - - - - -- - 6 1.7 光學液位計- - - -- - -- - - -- --- - - - - - - - - - - - - - - - - - - - - - - - - -- - - - 7 1.8 超聲波液位計- - - -- - -- - - --- - - - - - - - - - -- - - - -- - - - - - - -- - - ---- - 7
. 2.
設計的基本任務和計劃- - - - --- - -- - - - - - - - - - - - - - - - - - - - -- 8 8 2.1 基本功能- - - - - -- - - - -- - -- -- - - - - - - - - - -- - - - -- - - - - ---- - -- - - - -8 2.2 超聲波液位計工作原理- - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - 8 2.3 主要計劃- - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - -- - - - - - 8 3 3 . 總體方案設計-- - -- - - - - - - - - - - -- - -- - - - - - - -- - - - - - - - - -- 9 9 3.1 設計思路-- - - - - - - -- - - - - - -- - - - - - - - - -- - - - -- -- - - - - - - -- - - - - 9 3.2 方案設計-- - - - - - - -- - - - - - -- - - - - - - - - -- - - - -- -- - - - - - - -- - - - 10 4 4 . 硬件設計-- - -- - --- - - - - - - - - - - - - - - - - -- - -- - - - - - - - - - - - 11
4.1 單片機的選用與簡介- - - - - -- - - - -- - - -- - - - - -- - - - - -- - - - -- -- --11
4.2 超聲波模塊- - - - - -- - - - -- -- - --- - -- - - - - - -- -- - -- - - - -- -- - - - - -13 4.3 液晶顯示模塊- - - - - -- - - - -- -- - - - - - - -- - -- - - - -- - - - -- -- - - - - -15 4.4 繼電器控制模塊- - - - - -- - - - - - -- - - - - - - -- - - - - -- - - - -- -- -- - - -16 5 5 . 軟件設計-- - -- - - - - - - - - - - - - - - - - - - ---- - -- - - - - - - - - - -- 17
5.1 水位控制系統程序流程圖- - - - - -- - - - - - -- -- - - - - -- - - - - -- - -- - 17 5.2 水位控制系統主程序- - - - - -- - - - -- - - -- - - - - -- - - - - -- - - - -- - - -18 6 6 . 測試和實驗-- - -- - - - - - - - - --- - -- - - - -- - --- - -- - - - - - - - - -1 18 8
結語-- --- - -- - - - --- - -- - - - - - - - - - - - - - - - - - - -- -- - - - --- -- - - 19 參考文獻- - --- - -- - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - 20 附錄-- - -- - - - - - - - - - - - - - - - - - - - --- - -- - - - - - - - - - - - - - - - - 21 摘
要 本文采用 AT89C52 單片機系統實現了水位的自動控制,設計出一種低成本、高實用價值的水位控制系統。該系統具有水位檢測、水位高度液晶顯示以及自動加水放水等功能。本設計過程中主要采用了傳感技術、單片機技術以及弱電控制強電的技術。本設計傳感器使用了超聲波模塊。此系統具有易控制、工作可靠、測量精度高的優點,可實時監控液位。并采用 52 單片機系統控制整個電路的信號處理,采用光電耦合和繼電器來實現弱電控制強電來實現加水系統的自動控制。它能自動完成水位檢測、上水停水排水的全部工作循環,保證液面高度始終處于較理想的范圍內,它結構簡單,制造成本低,靈敏度高,節約能源顯著,是用于各種高層液體儲存的理想設備 。
關鍵詞:單片機;超聲波模塊;自動監測;液晶顯示;自動控制
Abstract
AT89C52 microcontroller system using cooling towers to achieve the level of automation, design a low cost and high practical value of the water tower water level controller. The system has the water level detection, low water high water level alarm and automatic functions such as adding water. The design process mainly uses the sensor technology, single chip technology, optical technology and the weak control the strong police power technology. Detection system using simple system for detection of copper needles, resulting in the low and high sensitivity. 52 SCM system control by using the circuit
of signal processing and the use of optical coupling and weak control relays to achieve strong power to realize automatic control of water systems. It can automatically detect the water level, light alarm, ShengShui, all the work without water cycle, to ensure better surface height is always within the context of its structure simple, low cost, high sensitivity, significant energy is used in various kind of ideal equipment for high-level liquid storage.
Key words:
:MCU;Ultrasonic Module;Automatic monitoring;LCD;Auto-Control
基于單片機的水位控制系統 前
言
傳統的液位控制絕大多數是人工控制,造成了人力資源的浪費,同時安全性可靠性都不高。現代工業生產正處于一個由勞動密集型、設備密集型向知識密集型轉變的過程。傳統的控制方式存在控制精度低、能耗大的缺點,而自動控制原理, 依據用水量的變化自動調節系統的運行參數,保持水壓恒定以滿足用水要求, 從而
提高了供水系統的質量。而且成本低,安裝方便,經過多次實驗證明,靈敏性好,是節約水源,方便家庭和單位控制水塔水位的理想裝臵。本設計采用超聲波檢測系統:超聲波液位檢測系統,利用了超聲波傳感技術的原理,采取一種非接觸式的測量方法,能夠實現對工業系統中液位或物料位的檢測;而且超聲波具有很好的指向性和束射特性,人耳聽不見,一般不會對人體造成傷害檢測工程方便、迅速、易做到實時控制,而且測量精度又能達到工業實用的要求,所以有廣泛的工業應用前景。
1 1 . 液位測量技術概況
液位傳感器是指檢測液體高度信息的儀器,液位測量技術在工程領域有著極為廣泛的應用。在一般的生產工藝加工過程中,通常只需要對物料的表面位臵進
行記錄和儲存,以作為確保生產工藝、安全等方面的需要。隨著生產自動化程度的不斷提高,必須首先對液位測量數據進行控制與調節,以保證自動化生產能夠自動控制在最佳狀態。在現代化的企業生產過程中,采用計算機控制系統對生產進行各種綜合控制與管理的普及,控制系統的智能化、統一化,要求測量的對象要廣、測量的精度要高、可靠性要好、實用性要強、且適用于特殊測量環境等,這些對液位測量技術也提出了更高的要求。尤其是當液面具有波動和存在氣泡,或液面高度隨時間改變的動態測量,或被測介質具有粘滯性、導電性,或需要考慮容器的密封性以及介質是否含有腐蝕物、毒性和易爆性等情況下,選擇合適的液位測量技術就顯得尤為重要。
目前國內外工業生產中普遍采用的液位測量方法有 19 種以上,主要有以下幾類: 1 1 .1 機械浮子類液位計
測量原理是利用傳動裝臵把與液位同高度的浮子高度信息轉換成脈沖信號或連續信號,轉換器是一些機械舌簧、磁鐵、電子或光電設備。此類液位計可以進行連續測量,其問題是積聚在傳動機械臂上的污物(如水垢沉積)會限制浮子運動,從而產生故障。
1 1 .2 2
電子類液位計
測量原理是把液位的變化轉化為電氣參數的變化,利用一定的測量電路將電參數檢測出來,從而達到測量液位的目的。其中最常用且最成熟的是電容式液位傳感器。
電容式液位計它是利用空氣和液體作電容器兩極極板間的電介質,將液位變化轉換成靜電電容變化,用電子學方法測量電容值,從而探測液體高度信息。它
結構簡單,精度較高,而且量程廣,適合于測量各種介質(導電介質、非導電介質)的液位,但是要求液體具有相同、穩定的介電常數,需要有溫度的補償。尤其用長電纜連接時,對電纜中的干擾和寄生電容很敏感,精度較差,且對導電介質或粘性介質,誤差較大、易受干擾,嚴重影響測量結果。
電阻式液位計探測器在空氣中的阻值要比它浸在液體中的阻值大得多,通過電子學方法測量液體容器底部與頂部之間的電阻,從中可探知液位信息。其測量精度受液體污染情況的影響較大,探針的污染和沉積物,會導致錯誤的輸出,在直流工作時會產生電解,響應速度慢。
1 1 .3 3
熱學式液位計
由熱敏電阻發出的信號可用來指示這類元件是否浸在液體中。它結構小,適用于圓筒容器、玻璃柱、管道等,但這種方法僅能進行點測量,而不能用于液位的連續測量。
1 1 .4 4
雷達液位計
雷達傳感器就是利用發射一反射一接收的原理來測量距離的,因此可用于有毒、有害的惡劣環境下。雷達液位傳感器的傳輸信號是一種特殊形式.的電磁波,其物理特性與可見光相似。雷達信號是否可以被反射取決于被測介質的導電性和被測介質的介電常數兩個因素。所有導電介質都能很好地反射雷達信號,導電性不太好的介質也能被很準確地測量。雷達波不易受干擾,巨能穿透塑料容器或玻璃容器進行測量,無需在容器上開孔,能實現非接觸測量,即使在飛灰、粉塵強烈并有很強旋渦的環境下也能進行準確測量。然而雷達傳感器的測量信號運行時間極短,這給信號分析處理提出了極高的要求,造成它的價格昂貴、技術實施困難。
1 1 .5 5
同位素/ / 放射性液位計
它是利用放射性同位素射線(如 a 射線、p 射線、Y 射線)的穿透和反射能力,當 a 射線、p 射線、Y 射線到達被測液體時,通過檢測其透射或反射射線信號的強度來達到測量液位的目的。
射線的強度會隨液位的高度變化而變化,在放射線輻射源與檢測器之間有吸收物質時,檢測器的輸出與液位的高度有關,通過對被測物質吸收能量大小的檢測,再經過信號轉換,即可得出被測液位的高度。
由于放射性射線本身的特點所決定,它可以用于腐蝕性、有毒性、大粘性和易燃易爆的場合。而且介質對丫射線的吸收只與介質密度有關,因此它可以測量不同密度的液體分界面、氣體與固體或液體與固體的分界面。但射線易受到衰減,檢測信息的能量易于損失,測量精確度不理想,有輻射作用,對人體有害。
1 1 .6 6
液壓類液位計
液壓類液位計是利用液面高度變化時容器底部或側面某點上的壓力也隨之而變化的原理來設計的。在測量開放的容器時,大多采用直接測量底部某點壓力來測量。這類液位傳感器的精度主要受到壓力表精度的限制,同時還要求被測液體的密度是已知的,而且要求液體的密度要恒定不變。
1 1 .7 7
光學液位計
光學液位計主要是光纖液位傳感器,它結合了光纖作為敏感器件的優點,尤其是在復雜的應用場合,測量現場全光無電,安全性能好,同時調制方法多種多樣,是一種新型的液位傳感器。
光學液位計,它利用浮子的磁耦合原理來設計,經光碼盤對光纖的檢測,再經由放大整形電路,以及光電轉換來形成規則的脈沖信號,最后由單片機來實現
液位顯示。本文主要采用這個方案來設計。此方案設計比較簡單,測量精度比較高,也非常適合目前我國的生產力狀況。
1 1 .8 8
超聲波液位計
超聲波液位傳感器發展很快、應用也很廣泛,常用于測量明渠液位及開口容器內液位。由超聲換能器發射的超聲脈沖經空氣在被測介質上反射,再返回接收換能器,測量該超聲脈沖往返時間,就能得到超聲換能器輻射面到被測液面的距離。根據換能器安裝高度,就能得出液位高度。本設計采用的就是本類液位計。
. 2. 設計的基本任務和計劃
2 2 .1 基本功能 本設計是采用 AT89C52 單片機為核心芯片,及其相關硬件來實現的水體液位控制系統,在用液位傳感器測液位的同時, CPU循環檢測傳感器輸出狀態,并用1602
液晶顯示器顯示液位高度,檢測液位數據,實施液位控制。當水體液位低于用戶設定的值時,系統自動打開進水閥上水;當水位到達設定值時,系統自動關閉進水閥;若水位超過設定上限值,則打開排水閥放水,使水位一直保持在理想狀態。
2 2 .2 2
超聲波液位計工作原理 超聲波液位儀的基本工作原理是利用超聲波傳播時間和傳播速度來確定液面距離。即所謂的脈沖——回波方式。
由于超聲波易于定向發射、方向性好、強度易控制、與被測量物體不需要直接接觸的優點,是作為液體高度測量的理想手段。在精密的液位測量中需要達到毫米級的測量精度,但是目前國內的超聲波液位儀專用集成電路都是只有厘米級的測量精度。
2 2 .3 3 主要計劃
本設計主要完成以下幾點工作:
(1)檢測電路硬件的設計:完成檢測所需光電信號轉換電路的設計及探測機理的分析; (2)顯示電路硬件的設計:完成以單片機等為核心的信號處理及顯示硬件電路的設計; (3)系統軟件設計采用 C 語言完成相關信號處理運算等軟件的設計。
3 3. . 總體方案設計
1 3.1 設計思路
圖 3–1
超聲波
科學家們將每秒鐘振動的次數稱為聲音的頻率,它的單位是赫茲。我們人類耳朵能聽到的聲波頻率為 20~20000Hz。當聲波的振動頻率大于 20KHz 或小于20Hz 時,我們便聽不見了。因此,我們把頻率高于 20000 赫茲的聲波稱為“超聲波”。通常用于醫學診斷的超聲波頻率為 1~5 兆赫茲。所謂超聲波就是指頻率高于 20kHz 的機械波,一般由壓電效應或磁致伸縮效應產生;它沿直線傳播,當頻率越高,繞射能力越弱,但反射能力越強;它還具有強度大、方向性好等特點,為此,利用超聲波的這些性質就可制成超聲波傳感器。超聲波傳感器是利用超聲波在超聲場中的物理特性和各種效應研制而成的傳感器。超聲波傳感器按其工作原理可分為壓電式、磁致伸縮式、電磁式等,其中以壓電式最為常用。壓電式超聲波傳感器常用的材料是壓電晶體和壓電陶瓷,它是利用壓電材料的壓電效應來工作的:逆壓電效應將高頻電振動轉換成高頻機械震動,從而產生超聲波,可作為發射探頭;而正壓電效應是將超聲波振動轉換成電信號,可作為接收探頭。
超聲波測距的原理主要是由超聲波傳感器的發射探頭發射超聲波,當超聲波遇到障礙物時,會被反鼽利用單片機記錄超聲波發射的時間和接收到回波的時間,
根據當前環境下超聲波的傳播速度,即可通過公式 S=C*[T/2](S 為被測距離,C為空氣中聲速,T 為回波時間,1r=_Tl+T2)計算出超聲波傳播的距離,也就得到了障礙物離測試系統的距離。我們設計了一個簡易的水位探測傳感器用來探測三個水位,即低水位,正常水位,高水位。低水位時,系統自動打開進水閥上水,液晶顯示 In!!;正常范圍的水位時,水閥均關閉,液晶顯示 Off!;高水位時,系統自動打開排水閥放水,液晶顯示 Out!。
本設計過程中主要采用了傳感技術、單片機技術以及弱電控制強電的技術。
2 3.2 方案設計
本方案采用單片機89C52作為我們的控制芯片,主要工作過程是當高塔中的水在低水位時,系統自動打開進水閥上水,液晶顯示 In!!;正常范圍的水位時,水閥均關閉,液晶顯示 Off!;高水位時,系統自動打開排水閥放水,液晶顯示 Out!。
圖 3–2
方案方框圖
本方案中使用了單片機芯片和超聲波傳感器,單片機控制和超聲波測距技術是信息時代用于精密測量的技術。此系統使用過程中采用穩壓電路能夠準確地把輸入的電平送給單片機不會產生誤判的情況,且能夠非常方便地設計顯示系統。
4 4. . 硬件設計
1 4.1 單片機的選用與簡介
我們選用 STC89C52 作為我們的控制芯片其引腳圖如下。
圖 4–1 STC89C52 引腳圖
STC89C52 是 STC 公司生產的一種低功耗、高性能 CMOS8 位微控制器,具有
8K 在系統可編程 Flash 存儲器。STC89C52 使用經典的 MCS-51 內核,但做了很多的改進使得芯片具有傳統 51 單片機不具備的功能。在單芯片上,擁有靈巧的 8 位CPU 和在系統可編程 Flash,使得 STC89C52 為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。
具有以下標準功能:
8k 字節 Flash,512 字節 RAM, 32 位 I/O 口線,看門狗定時器,內臵 4KB EEPROM,MAX810 復位電路,3 個 16 位定時器/計數器,4 個外部中斷,一個 7 向量 4 級中斷結構(兼容傳統 51 的 5 向量 2 級中斷結構),全雙工串行口。另外 STC89C52 可降至 0Hz 靜態邏輯操作,支持 2 種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許 RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM 內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T 可選。
STC89C52 各引腳功能:
概述:STC89C52 為 40 腳雙列直插封裝的 8 位通用微處理器,采用工業標準的 C51 內核,在內部功能及管腳排布上與通用的 8XC52 相同,其主要用于會聚調整時的功能控制。功能包括對會聚主 IC 內部寄存器、數據 RAM 及外部接口等功能部件的初始化,會聚調整控制,會聚測試圖控制,紅外遙控信號 IR 的接收解碼及與主板 CPU 通信等。主要管腳有:XTAL1(19 腳)和 XTAL2(18 腳)為振蕩器輸入輸出端口,外接 12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC(40 腳)和 VSS(20 腳)為供電端口,分別接+5V 電源的正負端。P0~P3 為可編程通用 I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口(32~39 腳)被定義為 N1 功能控制端口,分別與 N1 的相應功能管腳相連接,13 腳定義為 IR 輸入端,10 腳和 11 腳定義為 I2C 總線控制
端口,分別連接 N1 的 SDAS(18 腳)和 SCLS(19 腳)端口,12 腳、27 腳及 28 腳定義為握手信號功能端口,連接主板 CPU 的相應功能端,用于當前制式的檢測及會聚調整狀態進入的控制功能。
VCC:供電電壓。
GND:接地。
P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8 個 TTL 門電流。當 P0 口的管腳第一次寫“1”時,被定義為高阻輸入。P0 能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當 FIASH 進行校驗時,P0 輸出原碼,此時 P0 外部必須被拉高。
P1 口:P1 口是一個內部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4 個 TTL 門電流。P1 口管腳寫入“1”后,被內部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在 FLASH編程和校驗時,P1 口作為第八位地址接收。
P2 口:P2 口為一個內部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個 TTL 門電流,當 P2 口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2 口當用于外部程序存儲器或 16 位地址外部數據存儲器進行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2 口輸出其特殊功能寄存器的內容。P2口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。
P3 口:P3 口管腳是 8 個帶內部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL門電流。當 P3 口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3
口作為 AT89C51 的一些特殊功能口,管腳 備選功能 P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 /INT0(外部中斷 0)
P3.3 /INT1(外部中斷 1)
P3.4 T0(計時器 0 外部輸入)
P3.5 T1(計時器 1 外部輸入)
P3.6 /WR(外部數據存儲器寫選通)
P3.7 /RD(外部數據存儲器讀選通)
RST:復位輸入。當振蕩器復位器件時,要保持 RST 腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的底位字節。
在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上臵 0。此時, ALE只有在執行 MOVX,MOVC 指令是 ALE 才起用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態 ALE 禁止,臵位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩/PSEN 有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN 信號將不出現。/EA / VPP:當/EA 保持低電平時,則在此期間外部程序存儲器
(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式 1 時,/EA 將內部鎖定為 RESET;當/EA 端保持高電平時,此間內部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
2 4.2 超聲波 模塊
超聲波液位儀是基于反射超聲波的測距原理來確定液位,因此,它在工作時 為了能夠接收到回波信號,就需要發射出具有一定強度的超聲波信號,并且發射 部分為超聲波探頭提供一個具有一定頻率的電壓信號。
兩片十進制計數器 74LS90 和 74LS00 觸發器組成的超聲波發射電路,如圖 3.6。由于單片機使用 12MHz 時鐘晶體,經過 89C51 單片機內部的 6 分頻,發出 ALE 信號為 2MHz,要產生 40kHz 的信號,需要對 ALE 信號進行 2000/40=50 分頻,74LS90 不僅是十進制計數器,也可以將兩片 74LS90,實現對 ALE 信號 50 分頻的效果,當單片機的 P1.5 管腳發射的時間信號脈沖處于高電平時,使 74LS90 發出的 40kHz 頻率通過 74LS00,經過高低電平轉換,傳到發射探頭,引起共振,驅動超聲波探測器發出超聲波,如下圖
圖 4-2
超聲波液位儀發射電路
圖 4-3 超聲波傳感器實物圖 超聲波接收電路設計由反向比例運算電路,濾波電路和閾值電壓比較三部分 組成,超聲波在傳播的傳播中不可避免地衰減,再經過物體表面的吸收、散射后, 反射回來的回波信號已經極其微弱,要想測到回波,必須對其進行濾波放大,放 大調節后的信號作為輸入信號,變成直流電平。
超聲波液位儀接收部分的任務是通過適當的濾波將超聲波探頭接收到的微弱
信號經濾波放大和檢波后送至信號處理器。它的主要組成部分是:濾波放大、放大調節、檢波和信號處理。再和電壓比較器設定的閾值電壓進行比較,獲得低電平信號,傳給單片機的外中斷,單片機內的計數器停止計數。從而得到超聲波從發射到返回時間,最后把時間量與聲速相乘,轉換為距離量,顯示值直接為距離值。
. 4.3 3 液晶顯示 模塊
液晶顯示模塊已作為很多電子產品的顯示器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要是數字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發光管、LED 數碼管、液晶顯示器。下圖為 1602 液晶顯示器實物圖
圖 4-4
1602 字符型液晶顯示器 單片機系統中應用晶液顯示器作為輸出器件有以下幾個優點。
顯示質量高:由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。
數字式接口:液晶顯示器都是數字式的,和單片機系統的接口更加簡單可靠,操作更加方便。
體積小、重量輕:液晶顯示器通過顯示屏上的電極控制液晶分子狀態來達到顯示的目的,在重量上比相同顯示面積的傳統顯示器要輕得多。
功耗低:相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動 IC上,因而耗電量比其它顯示器要少得多。
液晶顯示的原理是利用液晶的物理特性, 通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA 移動通信工具等眾多領域。
. 4.4 4 繼電器控制模塊
繼電器是一種電控制 器件 ,是當輸入量(激勵量)的變化達到規定要求時,在電氣輸出電路中使被控量發生預定的階躍變化的一種電器。它具有 控制系統 (又稱輸入回路)和被控制系統(又稱輸出回路)之間的互動關系。通常應用于自動化的控制 電路 中,它實際上是用小電流去控制大電流運作的一種“自動開關”。故在電路中起著自動調節、安全保護、轉換電路等作用。本設計中通過繼電器實現+5V 直流電控制+12V 直流電,達到開關水閥的作用。
常用繼電器如下圖:
圖 4 - 5 常用繼電器
5 5. . 軟件設計
1 5.1 水位控制系統程序流程圖
根據設計方案以及電路特點我采用 C51 語言編寫單片機程序畫出程序流程圖如下圖:
圖 5-1 程序流程圖
2 5.2 水位控制系統主程序
本設計采用了 STC89C52 單片機,用單片機 C 語言實現軟件編程。整個系統軟件功能的實現可以分為主程序、子程序、中斷子程序幾個部分組成。整個系統的流程如上圖所示,在初始化以及調用激發超聲波模塊程序后 T1 開始計時,等待接收信號完成后,激發外部中斷 0,響應中斷子程序,T1 計數停止,用公式S=t*340/2*1000mm 計算出距離,C 語言主程序詳見附錄。
6 6. . 測試和實驗
本系統完成后需要對其進行測試以確定其工作情況及穩定性,經測試:液晶顯示模塊、進出水閥、繼電器均可正常工作;超聲波測距模塊存在輕微誤差,但誤差在可接受范圍,并不影響對水位進行測試和使用。經實際試驗,本系統可完成對水位的自動控制。
結語
水箱供水的主要問題是箱內水位應始終保持在一定范圍,避免“空箱”、“溢水”現象發生。本文采用超聲波傳感器測距,單片機系統控制,使水箱內水位保持恒定,以保證連續正常地供水。實際供水過程中確保水位在允許的范圍內浮動,很好的解決了上述問題,達到智能控制的目的。本系統實現后對測量范圍在0.10—7.00 m 內的液體能進行有效的測量,其最大誤差小于 2cm,且重復性好;可見基于單片機設計的數顯超聲波液位檢測系統具有硬件結構簡單、工作可靠、測量誤差小等特點。因此,此系統不僅可用于液位檢測,還可廣泛應用于諸如移動機器人精確定位等各種檢測系統中。本系統主要由超聲波傳感器,單片機控制系統,顯示系統,繼電器驅動電路及水閥組成。系統簡單,安裝方便,建議廣大用戶嘗試使用,我相信大家在用了之后一定會感到滿意的。
超聲波測距的算法設計原理為超聲波發生器T在某一時刻發出一個超聲波信號,當這個超聲波遇到被測物體后反射回來,就被超聲波接收器 R 所接收到。這樣只要計算出從發出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發生器與反射物體的距離。在啟動發射電路的同時啟動單片機內部的定時器 T0,利用定時器的計數功能記錄超聲波發射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產生一個負跳變,在 INT0 或 INT1 端產生一個中斷請求信號,單片機響應外部中斷請求,執行外部中斷服務子程序,讀取時間差,計算距離。
本系統設計保證液面高度始終處于較理想的范圍內,結構簡單,制造成本低,靈敏度高,節約能源顯著,是用于各種高層液體儲存的理想設備。雖然我們的設計基本實現了我們計劃的功能,但是還是有很多的不足,比如說超聲波的抗干擾問題還有缺陷,若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。另外,本系統還有的重要缺陷就是沒考慮到溫度的影響,如能再做一個溫度補償電路,就可很好的減少系統誤差。
最后,對我的導師和同學們在這次畢業設計中對我的指導和幫助表示由衷的感謝。
參考文獻 [1]郭天祥 《新概念 51 單片機 C 語言教程》電子工業出版社 2009.01 [2]何希才 《傳感器及其應用實例》工業出版社 2004.09 [3]李廣弟 《單片機基礎》 北京航空航天大學出版社 2007.06 [4]高吉祥 《全國大學生電子設計競賽培訓系列教程》電子工業出版社.2007.05 [5]蘇長贊 《紅外線與超聲波遙控》人民郵電出版社 1993.07 [6]何立民 《單片機高級教程》北京航空航天大學出版社 2004.07 [7]高明
《技術與傳感器》儀表技術與傳感器編輯部 2002.07. [8]李鐵峰 《儀表技術與傳感器》儀表技術與傳感器編輯部 2002.02
附錄 主程序 :
#include <REGX52.H> #include <intrins.h> #define uint unsigned int #define uchar unsigned char unsigned long S=0;
bit
flag =0; uchar disbuff[4]={ 0,0,0,0}; uchar code table0[]="cm"; uchar code table1[]="No!"; uchar code table2[]="In!";
uchar code table3[]="Out!"; uchar code table4[]="Off!"; uint time,timer=0; sbit rs=P3^5; sbit lcden=P3^4; sbit RX=P1^2; sbit TX=P1^3; sbit Q1=P1^0; sbit Q2=P1^1; uchar shi,ge,a,b,c; void delay(uint x) {
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--); } void write_com(uchar com) {
P0=com;
rs=0;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void write_date(uchar date) {
P0=date;
rs=1;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void lcd_init() {
write_com(0x38);
delay(20);
write_com(0x0c);
delay(20);
write_com(0x06);
delay(20);
write_com(0x01);
delay(20);
}
void Conut(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.7)/100;
//算出來是 CM
if((S>=700)||flag==1) //超出測量范圍顯示“-”
{
flag=0;
disbuff[0]=10;
//“-”
disbuff[1]=10;
//“-”
disbuff[2]=10;
//“-”
write_com(0x80+0x40+5);
write_date(table1[0]);
write_date(table1[1]);
write_date(table1[2]);
}
else
{
disbuff[0]=S%1000/100;
disbuff[1]=S%1000%100/10;
disbuff[2]=S%1000%10 %10;
write_com(0x80+0x40+5);
write_date(0x30+disbuff[0]);
write_date(0x30+disbuff[1]);
write_date(0x30+disbuff[2]);
for(c=0;c<2;c++)
{write_date(table0[c]);} //
write_date(0x63); //
write_date(0x6d);
}
}
void main() {
lcd_init();
TMOD=0x11;
//設 T0 為方式 1,GATE=1;
TH0=0;
TL0=0;
TH1=0xf8;
//2MS 定時
TL1=0x30;
ET0=1;
//允許 T0 中斷
ET1=1;
//允許 T1 中斷
TR1=1;
//開啟定時器
EA=1;
//開啟總中斷
while(1)
{
while(!RX);
//當 RX 為零時等待
TR0=1;
//開啟計數
while(RX);
//當 RX 為 1 計數并等待
TR0=0;
//關閉計數
Conut();
if(S<=12)
{
Q1=1;
Q2=0;
write_com(0x80+5);
for(a=0;a<4;a++)
{
write_date(table3[a]);
}
}
else
if(S>18)
{
Q1=0;
Q2=1;
write_com(0x80+5);
for(b=0;b<3;b++)
{
write_date(table2[b]);
}
}
else
{
Q1=1;
Q2=1;
write_com(0x80+5);
for(c=0;c<4;c++)
{
write_date(table4[c]);
}
}
//計算
} }
void zd0() interrupt 1
//T0 中斷用來計數器溢出,超過測距范圍
{
flag=1;
//中斷溢出標志
} /********************************************************/
void
zd3()
interrupt 3
//T1 中斷用來掃描數碼管和計 800MS 啟動模塊
{
TH1=0xf8;
TL1=0x30;
timer++;
if(timer>=300)
{
timer=0;
TX=1;
//200MS
啟動一次模塊
_nop_();//
一個機器周期的延時 1us
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); //觸發測距 10us 以上的高電平
TX=0;
}
} }
推薦訪問: 水位 單片機 控制系統上一篇:意見、建議反饋表
在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據省局黨組《關于舉辦習近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學習、專題研討以及交流分享等形式,系統的對《習近平談治國理政》(第四卷)進行了深入的學習與交流,下面我就來談一談我個人
《習近平談治國理政》(第四卷)是在百年變局和世紀疫情相互疊加的大背景下,對以習近平同志為核心的黨中央治國理政重大戰略部署、重大理論創造、重大思想引領的系統呈現。它生動記錄了新一代黨中央領導集體統籌兩個
《真抓實干做好新發展階段“三農工作”》是《習近平談治國理政》第四卷中的文章,這是習近平總書記在2020年12月28日中央農村工作會議上的集體學習時的講話。文章指出,我常講,領導干部要胸懷黨和國家工作大
在《習近平談治國理政》第四卷中,習近平總書記強調,江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執政黨,在中國共產黨的字典里,“人民”一詞從來都
黨的十八大以來,習近平總書記以馬克思主義戰略家的博大胸襟和深謀遠慮,在治國理政和推動全球治理中牢固樹立戰略意識,在不同場合多次圍繞戰略策略的重要性,戰略和策略的關系,提高戰略思維、堅定戰略自信、強化戰
《習近平談治國理政》第四卷集中展示了以習近平同志為核心的黨中央在百年變局和世紀疫情相互疊加背景下,如何更好地堅持和發展中國特色社會主義而進行的生動實踐與理論探索;對于新時代堅持和發展什么樣的中國特色社
在黨組織的關懷下,我有幸參加了區委組織部組織的入黨積極分子培訓班。為期一周的學習,學習形式多樣,課程內容豐富,各位專家的講解細致精彩,對于我加深對黨的創新理論的認識、對黨的歷史的深入了解、對中共黨員的
《習近平談治國理政》第四卷《共建網上美好精神家園》一文中指出:網絡玩命是新形勢下社會文明的重要內容,是建設網絡強國的重要領域。截至2021年12月,我國網民規模達10 32億,較2020年12月增長4
剛剛召開的中國共產黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產黨第二十次全國代表大會的報告、黨的十九屆中央紀律檢查委員會向中國共產黨第二十次全國代表大會的工作報告和《