999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

遠(yuǎn)程液位監(jiān)控系統(tǒng)設(shè)計(jì)

2020-03-31 11:43:14朱常榮詹躍東
自動(dòng)化儀表 2020年3期
關(guān)鍵詞:液位單片機(jī)系統(tǒng)

朱常榮,呂 寧,詹躍東

(1.昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,云南 昆明 650504; 2.昆明理工大學(xué)計(jì)算中心,云南 昆明 650504;3.昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,云南 昆明 650504)

0 引言

隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,單片機(jī)(single chip microcomputer;SCM)已廣泛應(yīng)用于智能儀表、工業(yè)控制、家用電器、電子玩具等各個(gè)領(lǐng)域[1]。許多工業(yè)控制系統(tǒng)、自然科學(xué)研究都需要監(jiān)測(cè)水位。比如海洋環(huán)境的監(jiān)測(cè),它是獲取長(zhǎng)期、連續(xù)的海洋環(huán)境資料的唯一途徑。沿海工程、港口建設(shè)、交通運(yùn)輸、海洋生物資源開(kāi)發(fā)、海洋環(huán)境監(jiān)測(cè)、濕地保護(hù)及近岸海洋開(kāi)發(fā)為海洋研究、評(píng)估和運(yùn)營(yíng)提供了參考。

工業(yè)控制系統(tǒng)對(duì)水位的監(jiān)測(cè)要求也很高。它可以在正常運(yùn)行和啟停過(guò)程中快速計(jì)算出機(jī)組的有效數(shù)據(jù),并可以在顯示器上顯示當(dāng)前水位值。單片機(jī)控制模塊可以快速計(jì)算出機(jī)組在正常運(yùn)行和啟停過(guò)程中的有用數(shù)據(jù),并能在顯示器上顯示運(yùn)行的水位值。在生產(chǎn)領(lǐng)域中,實(shí)現(xiàn)水位自動(dòng)檢測(cè)和控制是工業(yè)過(guò)程控制的一項(xiàng)關(guān)鍵技術(shù),對(duì)于提高工業(yè)過(guò)程控制的自動(dòng)化水平有著重要的意義。在生活領(lǐng)域,供水方式過(guò)去是由人力控制的,容易造成水資源的浪費(fèi)。如今人們?cè)絹?lái)越關(guān)注水資源問(wèn)題。目前,水位控制系統(tǒng)應(yīng)用廣泛。水位控制可以有多種實(shí)現(xiàn)方法,如機(jī)械控制、邏輯電路控制、機(jī)電控制、傳感器控制等。本文使用的是邏輯電路控制方法。

1 系統(tǒng)硬件設(shè)計(jì)

1.1 遠(yuǎn)程液位監(jiān)控系統(tǒng)總體方案設(shè)計(jì)

本設(shè)計(jì)通過(guò)單片機(jī)和無(wú)線(xiàn)發(fā)射模塊來(lái)實(shí)現(xiàn)水箱液位無(wú)線(xiàn)監(jiān)控[2]。該系統(tǒng)主要由單片機(jī)的最小系統(tǒng)電路、水位檢測(cè)電路、水位顯示電路、水泵驅(qū)動(dòng)電路和軟件設(shè)計(jì)組成。運(yùn)用上位機(jī)軟件界面控制下位機(jī)進(jìn)水,時(shí)刻監(jiān)視水位狀態(tài),保持水位處在健康狀態(tài)。當(dāng)水箱里的水位下降時(shí),通過(guò)該程序,顯示器可以實(shí)時(shí)顯示水箱中的水位值。水位傳感器采集來(lái)的水位信號(hào)經(jīng)過(guò)下位機(jī)處理后,經(jīng)由無(wú)線(xiàn)模塊將水位信號(hào)傳輸給與上位機(jī)通信的下位機(jī);通過(guò)串口通信的方式,水位傳感器將采集到的液位信息經(jīng)下位機(jī)處理之后發(fā)送給上位機(jī);上位機(jī)接收到數(shù)據(jù)后根據(jù)接收到的數(shù)據(jù)進(jìn)行分析判斷,以確定當(dāng)前液位是否達(dá)到液位閥值。當(dāng)達(dá)到水位最高值時(shí),蜂鳴器報(bào)警一聲,同時(shí)停止水泵進(jìn)水;當(dāng)達(dá)到液位最低值時(shí),蜂鳴器報(bào)警兩聲,同時(shí)控制水泵進(jìn)水。系統(tǒng)還增加了無(wú)線(xiàn)通信模塊,實(shí)現(xiàn)了數(shù)據(jù)的無(wú)線(xiàn)通信。這樣不但可以做到遠(yuǎn)程傳輸數(shù)位信號(hào),而且避免了連接導(dǎo)線(xiàn)帶來(lái)的不便。系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure diagram

1.2 液位遠(yuǎn)程監(jiān)控系統(tǒng)硬件電路設(shè)計(jì)

1.2.1 單片機(jī)的設(shè)計(jì)

本設(shè)計(jì)使用STC12C5A60S2單片機(jī)。它是新一代8051單片機(jī)[3],具有高速/低功耗和超強(qiáng)抗干擾能力。速度是同一外部晶體振蕩器下8051單片機(jī)的8~12倍。因此,本文設(shè)計(jì)選擇使用速度更快的STC12C5A60S2單片機(jī)。

1.2.2 無(wú)線(xiàn)發(fā)射模塊

本單元由單片機(jī)運(yùn)算單元、水位信號(hào)采集模塊和無(wú)線(xiàn)發(fā)射模塊組成。無(wú)線(xiàn)發(fā)射模塊安放在遠(yuǎn)處的水箱上。其主要作用是檢測(cè)當(dāng)前液位,將采集來(lái)的數(shù)據(jù)交由下位機(jī)主控制單元進(jìn)行處理后發(fā)送給接收部分。

1.2.3 無(wú)線(xiàn)接收模塊

本單元由單片機(jī)運(yùn)算單元、LCD顯示模塊、LED指示燈模塊、繼電器控制模塊、報(bào)警模塊、MAX232和無(wú)線(xiàn)接收模塊組成。該單元的主要任務(wù)是接收發(fā)射模塊發(fā)送的水箱的水位信息,然后將水箱的信息顯示在上位機(jī)上,并對(duì)水箱的信息進(jìn)行判斷分析。當(dāng)水箱的水位低于設(shè)定值時(shí),控制繼電器閉合給水泵供電,水泵給水箱加水;當(dāng)水箱水位達(dá)到設(shè)定值后,控制繼電器斷開(kāi),停止水泵加水。

1.2.4 信號(hào)發(fā)射接收模塊電路的設(shè)計(jì)

本設(shè)計(jì)使用的收發(fā)模塊是NRF905。NRF905由功率放大器、收發(fā)解調(diào)器、頻率合成器、調(diào)制器和晶體振蕩器組成。本設(shè)計(jì)運(yùn)用的是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,32引腳QFN封裝,工作電壓為1.9~3.6 V,工作頻率為433/868/915 MHz。

1.2.5 水位檢測(cè)電路的設(shè)計(jì)

NRF905有兩種操作模式:ShockBurstTM接收模式和ShockBurstTM發(fā)送模式。NRF905的工作模式由TX_EN,TRX_CE和PWR_UP三個(gè)引腳決定,如表1所示。

表1 工作模式Tab.1 Operating mode

注:0 為低電平;1為高電平;×為任意電平

本系統(tǒng)使用電接觸方法收集液位信息。電接觸式是依靠水的導(dǎo)電性來(lái)采集水位信號(hào),通過(guò)液位淹沒(méi)導(dǎo)線(xiàn)的個(gè)數(shù)來(lái)指示當(dāng)前液位的高度。這種測(cè)量方法簡(jiǎn)單易行,在水中通過(guò)12 V電壓即可實(shí)現(xiàn)。水位檢測(cè)原理如圖2所示。

圖2 水位檢測(cè)原理圖Fig.2 Water level detection schematic

1.2.6 繼電器控制模塊電路的設(shè)計(jì)

繼電器是一種電子控制裝置,通常用于自動(dòng)控制電路。其工作原理是使用小電流來(lái)控制大電流的開(kāi)關(guān)[5]。因此,它在電路中起到安全保護(hù)、自動(dòng)調(diào)節(jié)和轉(zhuǎn)換電路的作用。電磁繼電器通常由接觸彈簧、電樞、線(xiàn)圈、鐵芯等組成。當(dāng)電流在兩端流過(guò)線(xiàn)圈時(shí),產(chǎn)生電磁效應(yīng),并且線(xiàn)圈將電樞吸引到鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線(xiàn)圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)因彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))吸合。通過(guò)這樣的吸合、釋放,達(dá)到了在電路中的導(dǎo)通、切斷的目的。在該設(shè)計(jì)中,單片機(jī)的I/O端口通過(guò)控制三極管的通斷,來(lái)控制繼電器的吸和和關(guān)斷,從而控制電流的通斷,以控制水泵。

1.2.7 報(bào)警模塊的設(shè)計(jì)

報(bào)警電路非常簡(jiǎn)單,通過(guò)單片機(jī)I/O口驅(qū)動(dòng)三極管;上電時(shí),蜂鳴器報(bào)警一次,提示上電成功。當(dāng)液位達(dá)到設(shè)定值的最低液位時(shí),報(bào)警兩次提示用戶(hù)當(dāng)前液位過(guò)低;當(dāng)達(dá)到最高液位時(shí),蜂鳴器報(bào)警一次。

1.2.8 電源模塊設(shè)計(jì)

遠(yuǎn)程液位監(jiān)控系統(tǒng)中并不是完全都采用平常所用的5 V電壓供電。NRF905對(duì)供電要求為3.3 V,單片機(jī)要求最佳電壓為5 V,但是在水位測(cè)量部分選用12 V電壓進(jìn)行供電,所以這里涉及到電壓的轉(zhuǎn)換。電源模塊原理如圖3所示。輸入電壓為12 V。12 V電壓主要用于向水中添加電壓并驅(qū)動(dòng)泵。在通過(guò)LM7805之后,它變?yōu)? V電壓,用于為微控制單元供電。

圖3 電源模塊原理圖Fig.3 Principle of power module

2 系統(tǒng)的軟件設(shè)計(jì)

2.1 系統(tǒng)軟件流程

在總體測(cè)量程序中,上位機(jī)作為主導(dǎo),提供給使用者可視化的液位變化。其具體的軟件流程如圖4所示。

2.2 異步通信

系統(tǒng)使用異步通信[7]。為確保異步通信的正確性,在數(shù)據(jù)的的字符格式中加入了終止位和起始位,就是在數(shù)據(jù)正式的發(fā)送之前,首先發(fā)送起始字符表示數(shù)據(jù)將開(kāi)始發(fā)送,當(dāng)數(shù)據(jù)字符發(fā)送結(jié)束后再發(fā)一個(gè)停止位用來(lái)提示數(shù)據(jù)發(fā)送結(jié)束。當(dāng)接收器檢測(cè)到起始位和終止位時(shí)就知道這組數(shù)據(jù)是何時(shí)接收何時(shí)停止接收。正是由于這種方式,通信協(xié)議依賴(lài)于起始位和停止位來(lái)實(shí)現(xiàn)內(nèi)部字符同步。因此,它有時(shí)被稱(chēng)為啟動(dòng)-停止協(xié)議。

圖4 軟件流程圖Fig.4 Software flow chart

大多數(shù)微控制器通過(guò)RS-232信號(hào)線(xiàn)連接到主機(jī)[8]。通信程序通過(guò)軟件握手完成通信過(guò)程。本文只采用了RS-232接口中的3根線(xiàn),即 RXD、TXD、GND。 由于主機(jī)超出RS-232電平,但微控制器的電平為T(mén)TL電平。因此,當(dāng)主機(jī)連接到微控制器時(shí)需要電平轉(zhuǎn)換電路。采用MAX232芯片進(jìn)行電平轉(zhuǎn)換。接收數(shù)據(jù)通過(guò)電平轉(zhuǎn)換電路連接到MCU的RXD端口,主機(jī)數(shù)據(jù)通過(guò)RXD端口連接到MCU的TXD端。串口通信示意圖如圖5所示。

圖5 串口通信示意圖Fig.5 Serial communication diagram

2.3 上位機(jī)的通信程序設(shè)計(jì)

本設(shè)計(jì)以液位監(jiān)控系統(tǒng)為背景,給出了單片機(jī)和C++ Builder環(huán)境下的通信程序?qū)嵗鬏敂?shù)據(jù)采用十六進(jìn)制數(shù)據(jù),計(jì)算機(jī)與單片機(jī)之間采用主從通信。 上位機(jī)的通信程序用作整個(gè)系統(tǒng)中的主機(jī),并且僅作為系統(tǒng)數(shù)據(jù)命令發(fā)布和分析。 本設(shè)計(jì)使用C++ Builder作為主機(jī)的開(kāi)發(fā)軟件[9]。在C++ Builder中實(shí)現(xiàn)串行通信的方法有很多種。MSComm32.OCX需要注冊(cè),可以輕松創(chuàng)建串行通信應(yīng)用程序。

2.4 下位機(jī)的通信程序設(shè)計(jì)

本系統(tǒng)使用的單片機(jī)為STC12C5A60S2,振蕩頻率為12 MHz,主機(jī)接收的波特率為1 200 bit/s。在上位機(jī)和下位機(jī)通電后,完成串口初始化,微控制器初始化和上位機(jī)與下位機(jī)之間的無(wú)線(xiàn)模塊初始化。當(dāng)所有的功能模塊初始化完成之后,下位機(jī)等待上位機(jī)發(fā)送指令;與此同時(shí),下位機(jī)的信號(hào)將采集來(lái)的液位信號(hào),通過(guò)無(wú)線(xiàn)模塊發(fā)送到接收端的下位計(jì)算機(jī),接收端的下位計(jì)算機(jī)將上行鏈路發(fā)送到上位計(jì)算機(jī);上位計(jì)算機(jī)在接收到數(shù)據(jù)后,在接口上顯示當(dāng)前的液位。當(dāng)下位機(jī)接收到主機(jī)發(fā)送的命令時(shí),下位機(jī)需要做的第一項(xiàng)任務(wù)是檢測(cè)當(dāng)前命令是否為命令字。如果是命令字,下位機(jī)根據(jù)命令字進(jìn)行相應(yīng)操作;如果不是命令字,那么下位機(jī)處于等待接收狀態(tài)。但是此過(guò)程并不影響當(dāng)前液位信息的采集和傳輸。下位機(jī)通信流程如圖6所示。

圖6 下位機(jī)通信流程圖Fig.6 Lower computer communication flow chart

3 系統(tǒng)調(diào)試

3.1 上位機(jī)編譯過(guò)程

在上位界面新建一個(gè)工程,工程建立完成會(huì)出現(xiàn)兩層窗口,其中一層用于軟件的編寫(xiě),另外一層就是可視化的上位機(jī)界面[10]。

在standard中選擇當(dāng)前程序需要的圖形,拖拉到TForm1中。此處的TForm1通過(guò)調(diào)整屬性可以直接改變命名,然后調(diào)整形狀大小。這類(lèi)可視化界面的優(yōu)點(diǎn)是,可以直觀地顯示當(dāng)前液位高低,同時(shí)側(cè)欄會(huì)顯示出當(dāng)前液位高低的具體值,可以更明確地展示液位的變化。除此之外,上位機(jī)界面給出了手動(dòng)加水按鈕。手動(dòng)加水的功能是當(dāng)液位沒(méi)有達(dá)到預(yù)設(shè)的閥值水位時(shí),可以手動(dòng)加水使水箱保持健康的水量。在完全實(shí)現(xiàn)要求功能的同時(shí),加入輔助功能,通過(guò)鍵入串口號(hào)來(lái)進(jìn)行和下位機(jī)通信,設(shè)有發(fā)送包計(jì)數(shù),接收包計(jì)數(shù)和正確包計(jì)數(shù),以此反映當(dāng)前接收是否出現(xiàn)異常情況。

3.2 下位機(jī)軟件調(diào)試

下位機(jī)軟件使用keil軟件進(jìn)行C語(yǔ)言編程,下位機(jī)主要涉及水位信息的采集、水位信息的發(fā)送部分和接收部分。軟件寫(xiě)好之后先進(jìn)行人工檢查,不要立即刻錄微控制器。首先,手動(dòng)檢查項(xiàng)目中的程序。由于C語(yǔ)言編程,可能會(huì)有一些語(yǔ)法錯(cuò)誤,例如括號(hào)不匹配、缺少分號(hào)等,必須通過(guò)仔細(xì)檢查,找到并消除這些錯(cuò)誤。人工檢查無(wú)誤后,上機(jī)調(diào)試。編譯時(shí)給出的語(yǔ)法錯(cuò)誤信息。根據(jù)提示信息,找出程序中的錯(cuò)誤并進(jìn)行更改,并從上到下依次逐一糾正。應(yīng)該注意的是,一些錯(cuò)誤行并不是真正錯(cuò)誤的行。當(dāng)確認(rèn)程序沒(méi)有語(yǔ)法錯(cuò)誤或邏輯錯(cuò)誤時(shí),可以通過(guò)直接下載到微控制器來(lái)調(diào)試。采用自下而上的調(diào)試方法,即每個(gè)模塊單獨(dú)調(diào)整,然后連接成一個(gè)完整的系統(tǒng)調(diào)試。將程序刻錄到微控制單元后,觀察每個(gè)組件的工作是否正常,以及該功能是否已實(shí)現(xiàn)。

4 結(jié)論

在了解了遠(yuǎn)程液位監(jiān)測(cè)系統(tǒng)的應(yīng)用背景和發(fā)展現(xiàn)狀后,本設(shè)計(jì)提出了基于STC12C5A60S2 微控制器的液位監(jiān)測(cè)系統(tǒng)總體方案。STC12C5A60S2 單片機(jī)不僅控制簡(jiǎn)單、接口方便、實(shí)時(shí)性強(qiáng),而且速度是8051單片機(jī)的8~12倍。選用了C++ Builder 作為上位機(jī)的開(kāi)發(fā)軟件,使用MSComm ActiveX 控件創(chuàng)建串行通信應(yīng)用程序,并建立實(shí)時(shí)數(shù)據(jù)采集和處理系統(tǒng),以便在傳感器接收外部信號(hào)時(shí)轉(zhuǎn)換、收集和顯示信號(hào)。

猜你喜歡
液位單片機(jī)系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
基于STM32燃?xì)鉄崴仩t液位控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
石油儲(chǔ)罐液位開(kāi)關(guān)的應(yīng)用分析
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
寶馬530車(chē)?yán)鋮s液液位過(guò)低報(bào)警
主站蜘蛛池模板: 欧美成人看片一区二区三区| 国产不卡在线看| 青青草一区| 亚洲精品黄| 国产视频欧美| 99激情网| 一本大道无码日韩精品影视| 亚洲黄色片免费看| 国产另类视频| 欧美在线综合视频| 日本午夜三级| 妇女自拍偷自拍亚洲精品| 国产美女免费网站| 色成人亚洲| 久久精品人妻中文视频| 五月丁香伊人啪啪手机免费观看| 欧美亚洲另类在线观看| 97在线观看视频免费| 成年网址网站在线观看| 丝袜无码一区二区三区| 久久国产亚洲欧美日韩精品| jijzzizz老师出水喷水喷出| 好紧太爽了视频免费无码| 91欧洲国产日韩在线人成| 欧美不卡视频在线观看| 成人韩免费网站| 777国产精品永久免费观看| 亚洲人人视频| 久久青青草原亚洲av无码| 国产美女精品在线| 久久久精品国产SM调教网站| 又黄又湿又爽的视频| 激情国产精品一区| 国产男人天堂| 黄色网在线免费观看| 一级毛片无毒不卡直接观看| 五月丁香在线视频| 国产女人在线视频| 免费福利视频网站| 国产91丝袜在线播放动漫 | 婷婷六月综合网| 成色7777精品在线| 亚洲性色永久网址| 国产一级做美女做受视频| 久爱午夜精品免费视频| 青青青国产精品国产精品美女| 中文字幕在线视频免费| 日韩福利视频导航| 特级毛片8级毛片免费观看| 欧美在线中文字幕| 夜夜操天天摸| 国产素人在线| a级毛片免费播放| 亚洲色图欧美一区| 日本成人一区| 无套av在线| 国模沟沟一区二区三区 | 尤物成AV人片在线观看| 无码福利日韩神码福利片| 欧美啪啪精品| 一本色道久久88| 久久亚洲美女精品国产精品| 国产嫩草在线观看| 色国产视频| 成人在线综合| 黄色网站不卡无码| 毛片久久久| 秋霞国产在线| 亚洲天堂视频在线观看免费| 欧美成人影院亚洲综合图| 久久99国产视频| 一级在线毛片| 日本欧美成人免费| 美女国产在线| 亚洲欧美国产高清va在线播放| 日韩在线播放中文字幕| 国产一区二区丝袜高跟鞋| 在线免费不卡视频| 亚洲一级毛片在线观播放| 欧美五月婷婷| 熟女成人国产精品视频| 久久久精品无码一区二区三区|