胡紅旗



摘要:
為實現工業現場物料和液位遠程實時監控,以STM32單片機為控制核心,采用時差法超聲波測距原理結合GPRS技術實現超聲波液位監測系統設計,實時采集數據通過互聯網傳遞給監控端,實現遠程監控并做實時記錄。為降低溫度對測距精度的影響,增加了溫度補償電路。上位機采用LabView軟件開發,便于管理人員監控。該系統解決了傳統現場儀表反饋不及時、布線復雜等問題。經測試表明系統運行正常,具有較好的精確性和穩定性,適合工業現場安裝使用。
關鍵詞:
液位監測; 超聲波測距; GPRS; LabView
中圖分類號: TP273
文獻標志碼: A
Design of Ultrasonic Liquid Level Monitoring System Based on GPRS
HU Hongqi
(Department of Electronic Engineering, Yantai Automobile Engineering Professional College, Yantai, Shandong 265500, China)
Abstract:
In order to realize the remote monitoring of material and liquid level in industrial field, the ultrasonic liquid level monitoring system was designed by GPRS technology and combined with the ultrasonic distance measurement technology. The STM32 is used as the core unit, the realtime data aretransmitted to the monitoring terminal through the Internet to realize remote monitoring and realtime recording. In order to reduce the influence of temperature on ranging precision, the temperature compensation circuit is added. LabView software is usedand it is easy monitoring by managers. Test results show that the system is running normally and has good accuracy and stability.
Key words:
level monitoring; ultrasonic ranging; GPRS; LabView
0引言
如今,隨著智能技術和計算機技術飛速發展,工廠管理越來越趨于無人化、網絡化、智能化,為便于生產設備管理,保障生產線的正常平穩運行,智能化儀表顯得尤為重要。尤其是液位參數的測量在化工、石油、污水處理等工廠企業的工業生產中至關重要。液位儀表按照感應元件與被測液位是否接觸可分為接觸式和非接觸式。接觸式儀表常用的有人工檢尺法、伺服式、浮子測量、電容式、磁致伸縮式,由于傳統液位檢測儀測量精度低,且不利于工業現場實時監測[13]。鑒于超聲波式非接觸型液位模塊具有測量范圍寬、介質特性影響小;GPRS網絡覆蓋范圍廣、實時在線等優點,本文采用GPRS無線通訊技術融合非接觸式超聲波測量技術實現物料和液位高度測量。系統以STM32為核心控制模塊,依據時差法超聲波測距原理實現液面高度的實時測量,有效減少測量過程中的人工干預;采用GPRS技術實現與上位機通信,從而使工作人員在控制中心可實時觀測數據,一旦液位或物料高度超出正常范圍,電腦就會發出報警信號,協助工作人員進行調整生產,具有很高的使用價值,值得推廣。
1系統總體設計方案
采用時差法實現液面高度測量。將超聲波探頭安裝在被測液面正上方,超聲波在被測界面發生反射,接收探頭接收反射回波,測量超聲波從發射到接收的時間t,由此得到探頭到液面的高度N=ct/2(c為超聲波在空氣中傳播的速度)。采用單片機自帶定時器準確測量聲速傳播時間,測量精度可達μs級;采用GPRS無線通訊方式實現與PC機通信[46]。該系統支持多點液位監測,具有溫濕度補償功能,極大地提高了測量精度。系統總體框圖如圖1所示。
監測節點由STM32單片機、超聲波測距模塊、存儲模塊、報警模塊、溫濕度模塊及串口模塊組成。下位機在安裝時,必須在液位為零時按下校準按鍵,此時單片機采集到的數據會存入存儲器,并將該數據作為液面高度的參考值H(液面零點到測量裝置的距離)。根據測得值N(液面到測量裝置的距離),進而求得液面高度h=H-N。單片機接收到上位機發送的查詢信號時,將采集到的數據先存儲到存儲芯片中,然后通過STM32串口發送標準AT指令實現與MC55信息傳遞,在TCP/IP數據包基礎上實現遠程數據發送。上位機軟件界面采用Labview程序設計。
2系統硬件電路設計
系統由電源電路、超聲波測距電路、溫濕度檢測電路、存儲電路、GPRS通訊電路、報警及按鍵電路組成。節點模塊由鋰電池供電,系統各部分采用低功耗器件,監測節點與虛擬儀器上位機界面間通過GPRS模塊實現無線數據傳輸。
2.1超聲波檢測部分設計
超聲波測距傳感器采用HCSR04,該模塊采用IO口觸發檢測方式,當TRIG引腳至少持續10 us的高電平信號,傳感器就會自動發送8個40 kHz的方波,并檢測是否收到返回信號。有信號返回時,ECHO引腳就會輸出一個高電平,高電平保持的時間就是聲波從發射到返回的時間[78]。單片機啟動定時器測量該時間,并根據DHT11測量出的溫濕度值進行補償計算,最終得到較為精確的液位高度。超聲波模塊接口電路,如圖2所示。
2.2溫濕度檢測電路的設計
選擇DHT11作為溫濕度傳感器。該傳感器具有通用性好,采用單總線通訊方式,溫濕度精度均為8位。傳感器上電后有1 s的不穩定狀態,在此期間器件不能正常工作,因此在編寫程序時需要稍加注意。設計時,將DHT11數據端與STM32的PA1口相連,完成溫濕度信息采集[9]。電路如圖3所示。
2.3GPRS通信電路設計
設計中,采用三頻GSM/GPRS模塊MC55實現無線通信電路設計。西門子公司的MC55接口電路簡單,具有兩個全雙工串口,可實現兩個TCP通道同時傳輸,模塊內置SIM卡接口,內嵌TCP/IP協議棧。STM32與MC55模塊間采用串行異步通信方式,通信速率設置為9 600 bps,采用TXD/RXD異步串口通信,由于兩者間串口通信電氣兼容,無需電壓調整[10]。GRRS通信電路如圖4所示。
由圖4看出,單片機與MC55間采用串行通信方式進行信息交互。MC55的IGT與STM32的通用I/O口相連作為啟動信號。當MC55啟動時,單片機將IGT拉低至少100 ms后再置高,同時應保持BATT+引腳電平不低于3V。注意的是MC55模塊啟動后需要等待900 ms才能正常使用串口。SYNC引腳接入工作狀態指示電路,MC55每600 ms閃爍一次,表示沒有插入SIM卡或MC55處于登陸狀態;若每3 s閃爍一次,表示網絡已登陸。圖4中TXD0引腳外加上拉電路;在STM32的RXD與MC55的RXD端加入D1是用來防止MC55在關機狀態下的誤判。
2.4輔助電路設計
考慮到超聲波液位監測系統可用于便攜儀器上,故采用雙電源供電方式,分別設計出5 V、3.3 V直流穩壓電源電路;采用AT24C64設計出EEPROM掉電存儲電路;為了便于用戶手動對系統參數進行設置,系統帶有4個按鍵;顯示電路采用低功耗OLED完成數據顯示。
3軟件設計
軟件設計分為下位機采集程序和監測平臺程序設計。下位機完成液面高度采集、溫濕度采集、液位高度數據校正、存儲和傳輸等功能。系統程序包含主程序、超聲波測距子程序、溫濕度檢測子程序、GPRS通訊子程序。采用C51編寫,各子程序之間獨立且受主程序調用,結構清晰易于理解和編寫。上位機完成數據信息處理、數據顯示及下位機控制等功能,采用圖形化語言Labview2012完成設計。
3.1下位機主程序設計
主程序是單片機程序的主體,負責調用系統各個子程序,中斷程序等各個功能的轉換,完成內部模塊和寄存器的設置、數值計算及存儲功能。為降低系統功耗,單片機大部分時間處于休眠狀態,采用中斷喚醒方式啟動工作狀態。工作流程如圖5所示。
初始化后單片機控制超聲波模塊每隔一定的時間發射一次信號。并且采用中斷的方式接收信號端口的電平變化,當信號端口電平為高時,中斷服務程序打開計時器,信號端口拉低時再次進入中斷。在中斷服務程序中通過讀取計時器寄存器得到聲波來回傳播的時間t,根據聲速與溫濕度從而算出液面距離[11]。
3.2數據采集子程序設計
采用定時器計算聲波從發出到返回的時間。初始化后,重復控制發射信號,判斷回波是否到達。若檢測到聲波傳播的時長后進行溫濕度檢測,然后進行液位高度補償計算,得到液位高度數據后進行存儲并通過GPRS發送到上位機。在數據的每一次發送之前都需要加入命令幀,以便上位機可以識別數據,如圖6所示。
在初始化DHT11時,需要延時一秒等待不穩定狀態結束。MCU發送起始信號后,DHT11從低功耗模式轉換到高速模式,等待主機起始信號結束后,DHT11發送應答信號,然后觸發一次信號采集并發送出40bit的數據,MCU可選擇讀取部分數據。工作時,DHT11接收到開始信號便觸發一次溫濕度采集,也就意味著傳感器在采集數據后就會自動轉換到低速模式。
3.3GPRS通信程序設計
設計中,考慮到數據傳輸的可靠性,下位機與監測中心之間選取TCP協議作為傳輸協議。采用AT(Attention)指令初始化MC55后使其接入Internet網絡,獲得網絡運營商動態分配的IP地址,與監測終端建立GPRS連接服務,之后MC55將待發送信息封裝成TCP/IP數據包后進行相關的數據傳輸操作。當進行連接服務時,根據AT指令初始化設置MC55,完成用戶名和密碼檢驗,并設置TCP/IP的地址和端口信息[12]。GPRS通信流程和數據處理流程,如圖7所示。
4上位機界面設計
采用美國NI公司圖形化編輯語言(G語言)Labview2012設計,調用庫中自帶的TCP/IP控件,實現數據接收。由于監測終端GPRS模塊提供的AT指令中傳輸的數據形式是字符串型,所以TCP/IP傳送的也是string數據格式,因而需要將超聲波采集的液位信息int型轉成字符串型后才能實現數據傳輸。工作人員登錄監控界面便可實時觀測監測信息,并完成參數設置,瀏覽歷史信息等;也可實現對下位機的控制,便于工作人員監控與管理[1315]。監測界面如圖8所示。
5測試結果與分析
首先,采用protues7.8軟件對整體硬件電路進行仿真,并按照正確的電路進行焊接。硬件完成后,仔細檢查電路,確保各處無虛焊,檢查通訊,確保數據可靠,將監測系統置于實驗室環境中進行現場測試。