基于VB和串口通信技術的多傳感器檢測系統設計說明_第1頁
基于VB和串口通信技術的多傳感器檢測系統設計說明_第2頁
基于VB和串口通信技術的多傳感器檢測系統設計說明_第3頁
基于VB和串口通信技術的多傳感器檢測系統設計說明_第4頁
基于VB和串口通信技術的多傳感器檢測系統設計說明_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 PAGE28 / NUMPAGES33 教學單位計算機與信息科學學院學生學號 091734129 本科畢業論文(設計)題目 基于VB和串口通信技術的多傳感器檢測系統設計學生 專業名稱 自 動 化 指導教師 2013年5月8日基于VB和串口通信技術的多傳感器檢測系統設計摘要:組建基于VB和串口通信技術的多傳感器檢測系統,關鍵在于根據檢測參數選擇不同型號的傳感器,并參考傳感器信號輸出選擇與之匹配的數據采集模塊。運用VB6.0的串行通信控件與計算機串口實現計算機與多個智能傳感器的串行通信,最終達到多點、實時監測的目的。本文論述了如何基于Visual Basic語言實現串行通信,探討了多傳感器檢測系

2、統設計的方法與思想,并構建了多傳感器檢測系統平臺,最后將該系統應用到一個小型監測網絡中。關鍵詞:Visual Basic;串行通信;多傳感器;檢測系統Design of Multi-sensor Monitoring System Based on VB6.0 and Serial Communication technologyAbstract: The key point of multi-sensor monitoring system based on VB6.0 and serial communication technology lies in the selecting of

3、different specifications of sensors and the selecting of the matched data acquisition module. In order to monitor the data in time, we use the serial communication module of VB6.0 and the computer serial port to communicate with some intelligent sensors. This paper discusses the means of the realiza

4、tion of the serial communication based on visual basic language, the design of multi-sensor detection system and the formation of a small monitoring system based on serial communication program. In the end, we apply this system in a small monitoring network. Key words: Visual Basic; Serial Communica

5、tion; Multi-sensors; Detection system目錄 TOC o 1-3 h z u HYPERLINK l _Toc3564242961 緒論 PAGEREF _Toc356424296 h 1HYPERLINK l _Toc3564242971.1引言 PAGEREF _Toc356424297 h 1HYPERLINK l _Toc3564242981.2課題研究的目的與意義 PAGEREF _Toc356424298 h 1HYPERLINK l _Toc3564242991.3國外研究現狀 PAGEREF _Toc356424299 h 2HYPERLINK

6、 l _Toc3564243001.4課題研究容 PAGEREF _Toc356424300 h 2HYPERLINK l _Toc3564243012 Visual Basic 6.0與RS-232串行通信 PAGEREF _Toc356424301 h 3HYPERLINK l _Toc3564243022.1 Visual Basic 6.0概述 PAGEREF _Toc356424302 h 3HYPERLINK l _Toc3564243032.1.1 Visual Basic的發展 PAGEREF _Toc356424303 h 3HYPERLINK l _Toc356424304

7、2.1.2 Visual Basic特點 PAGEREF _Toc356424304 h 3HYPERLINK l _Toc3564243052.2 MSComm控件 PAGEREF _Toc356424305 h 4HYPERLINK l _Toc3564243062.3 RS-232串行通信 PAGEREF _Toc356424306 h 5HYPERLINK l _Toc3564243073 多傳感器檢測系統設計 PAGEREF _Toc356424307 h 7HYPERLINK l _Toc3564243083.1 多傳感器檢測系統的組成 PAGEREF _Toc356424308

8、h 7HYPERLINK l _Toc3564243093.2多傳感器檢測系統通信程序設計 PAGEREF _Toc356424309 h 8HYPERLINK l _Toc3564243103.2.1通信協議 PAGEREF _Toc356424310 h 8HYPERLINK l _Toc3564243113.2.2監控界面設計 PAGEREF _Toc356424311 h 9HYPERLINK l _Toc3564243123.2.3數據存儲設計 PAGEREF _Toc356424312 h 10HYPERLINK l _Toc3564243133.3多傳感器檢測系統調試 PAGER

9、EF _Toc356424313 h 11HYPERLINK l _Toc3564243143.3.1調試系統界面設計 PAGEREF _Toc356424314 h 11HYPERLINK l _Toc3564243153.3.2 調試系統軟件設計 PAGEREF _Toc356424315 h 12HYPERLINK l _Toc3564243164 多傳感器檢測系統在魚塘水質監測中的應用 PAGEREF _Toc356424316 h 14HYPERLINK l _Toc3564243174.1 系統的任務與要求 PAGEREF _Toc356424317 h 14HYPERLINK l

10、 _Toc3564243184.2系統硬件電路設計 PAGEREF _Toc356424318 h 14HYPERLINK l _Toc3564243194.2.1 數據采集模塊 PAGEREF _Toc356424319 h 15HYPERLINK l _Toc3564243204.2.2 AD模塊 PAGEREF _Toc356424320 h 17HYPERLINK l _Toc3564243214.2.3 DS1302時鐘模塊 PAGEREF _Toc356424321 h 17HYPERLINK l _Toc3564243224.2.4 12864液晶顯示模塊 PAGEREF _To

11、c356424322 h 18HYPERLINK l _Toc3564243234.2.5 串口通訊與上位機顯示 PAGEREF _Toc356424323 h 19HYPERLINK l _Toc3564243244.3系統軟件程序設計 PAGEREF _Toc356424324 h 20HYPERLINK l _Toc3564243254.3.1主控界面設計 PAGEREF _Toc356424325 h 20HYPERLINK l _Toc3564243264.3.2 通信程序設計 PAGEREF _Toc356424326 h 20HYPERLINK l _Toc3564243274.

12、4 系統的調試 PAGEREF _Toc356424327 h 23HYPERLINK l _Toc3564243284.4.1調試系統界面設計 PAGEREF _Toc356424328 h 23HYPERLINK l _Toc3564243294.4.2調試系統軟件設計 PAGEREF _Toc356424329 h 24HYPERLINK l _Toc3564243304.5 系統應用與推廣 PAGEREF _Toc356424330 h 24HYPERLINK l _Toc3564243314.5.1檢測系統的應用 PAGEREF _Toc356424331 h 24HYPERLINK

13、 l _Toc3564243324.5.2檢測系統的推廣 PAGEREF _Toc356424332 h 24HYPERLINK l _Toc3564243335 總 結 PAGEREF _Toc356424333 h 26HYPERLINK l _Toc356424334參考文獻 PAGEREF _Toc356424334 h 27HYPERLINK l _Toc356424335致 PAGEREF _Toc356424335 h 281 緒論1.1引言在自動化領域中,人們總是希望用機器來代替人類做某些工作,如簡單重復性操作或者對人體有害的工作。雖然現在智能化的機器能夠替代人類完成很多事情,

14、不過還是需要有相關的設備來監測這些機器的工作是否正常,并據此做出相應的控制操作,這就是所謂的檢測與控制。計算機要完成監控,首先必須進行監測,通過布設的傳感器傳回的信號對監測的參數進行判斷。在監測的圍較大或監測點數較多時,就需要分布多個傳感器進行分散檢測,同時把檢測的結果集中管理,這就是所謂的多傳感器檢測系統。組建多傳感器檢測系統,關鍵在于根據監測參數選擇不同型號傳感器,并參考傳感器信號輸出選擇與之匹配的數據采集模塊,在組建多傳感器檢測系統的基礎上,利用計算機串口RS-232實現串行通信,最終達到多點、實時監測的目的。本文論述了如何基于Visual Basic語言實現串行通信,組建多傳感器檢測系

15、統的方法與思想,并介紹了利用溫濕度傳感器組建一個小型監測網絡的硬件組建以與程序實現。1.2課題研究的目的與意義計算機的串口通信是一種重要的數據交換方法,其廣泛應用于計算機外設或工業測控領域。傳感器是控制領域必不可缺的基本元件之一,是實現各種復雜控制的基礎。傳感器檢測到的各種數據是我們實現有目的的控制的基礎,因而傳感器檢測技術的研究在現代化技術中顯得尤為重要。如何對檢測的數據進行處理、分析必將涉與到通信問題,對于串口通信技術的研究能使傳感器檢測到的信號完整正確的傳遞。通過串口通信技術使檢測到的數據傳到上位機能實現有效的調節和控制。現代化工業生產系統中需要控制的量和需要檢測信號種類繁多,因此設計一

16、個實時監測系統,通過通信技術使傳感器檢測到的信號與時傳送至上位機來進行實時有效的控制具有重要意義,有著廣泛應用前景。對于此領域的研究不僅可以綜合所學到的VB軟件開發知識、串口通信技術與傳感器技術等相關專業知識,而且可以進一步提高自己的動手能力,為參加工作做準備,打下堅實的基礎。1.3國外研究現狀我國對于傳感器測控技術的研究較晚,我國工程技術人員在吸收發達國家檢測技術的基礎上,才掌握了相關微機控制技術,該技術僅限于對某些單項環境因子的控制。在技術上,以單片機控制的單參數單回路系統居多,尚無真正意義上的多參數綜合控制系統,與發達國家相比,存在較大差距。而國外對傳感器控制技術研究較早,始于20世紀7

17、0年代。先是采用模擬式的組合儀表,采集現場信息并進行指示、記錄和控制。80年代末出現了分布式控制系統。目前正開發和研制計算機數據采集控制系統的多因子綜合控制系統。現在世界各國的傳感器測控技術發展很快,一些國家在實現自動化的基礎上正向著完全自動化、無人化的方向發展。1.4課題研究容使用Visual Basic設計了PC機與單片機間的串行通信程序,對控制系統現場的多個傳感器數據進行適時采集、監控、報警和存儲。本課題運用主從分布式思想,由一臺上位機(計算機)和下位機(單片機)通過傳感器實現多點數據采集,組成兩級分布式多點傳感器巡回檢測系統。該系統采用 RS-232串行通訊標準,通過上位機(計算機)控

18、制下位機(單片機)進行現場相關數據的采集。采集的數據既可以送回主控PC進行數據處理,由顯示器顯示。也可以由下位機單獨工作,實時顯示當前各點的工作狀態,對各點進行控制。本設計的關鍵是系統軟件的編寫,系統軟件主要由兩部分構成,一是下位機軟件的編寫,二是上位機軟件的編寫。其中下位機軟件包括對數據的采集、顯示與與上位機的串行通信程序。上位機軟件部分主要負責對下位機傳來的溫度數據進行接收、處理、顯示等,并可以設置相關操作,以便實時檢測相關數據的變化2 Visual Basic 6.0與RS-232串行通信2.1 Visual Basic 6.0概述Visual Basic 是Microsoft公司推出的

19、基于Window環境的計算機程序設計語言,它繼承了Basic語言簡單易學的優點,同時增加了許多新的功能。由于Visual Basi才采用面向對象的程序設計技術,擺脫了面向過程語言的許多細節,而將主要精力集中在解決實際問題和設計友好界面上,使開發程序更為迅速、簡潔。2.1.1 Visual Basic的發展1991年,Microsoft公司推出Visual Basic 6.0版,它雖然存在一些缺陷,但仍受到了廣大程序員的青睞。隨后,Microsoft公司又相繼推出了更多版本。Visual Basic6.0版較以前版本,其功能和性能都大大增強了,它還提供了新的、靈巧的數據庫和Web開發工具。Vis

20、ual Basic6.0 有三種版本,分別為學習版、專業版和企業版。2.1.2 Visual Basic特點Visual Basic具有以下幾個主要的特點。1、提供了面向對象的可視化編程工具,它把程序和數據封裝在一起視作一個對象。設計程序時只需要從現有的工具箱中“拖”出所需的對象,如按鈕、滾動條等,就可以在屏幕上“畫”出所需的用戶界面來,因而程序設計的效率可以大大提高;2、事件驅動的編程方式,程序員只需編寫響應用戶動作的代碼,而各個動作之間不一定有聯系,這樣的應用程序代碼一般比較短,所以程序易于編寫與維護;3、結構化的程序設計,盡管Visual Basic是面向對象的程序設計語言,但是在具體的

21、事件或過程編程中仍是要采取結構化程序設計。Visual Basic具有豐富的數據類型和結構化程序結構,而且簡單易學;4、提供了易學易用的的應用程序開發環境,在Visual Basic的集成開發環境中,用戶可設計界面、編寫代碼、調試程序,直至將應用程序編譯成可執行文件在Windows上運行,使用戶在友好的開發環境中工作;5、支持多種數據庫系統的訪問,數據訪問特性允許對包括Microsoft SQL Server和其他企業數據庫在的大部分數據庫格式建立數據庫和前端應用程序,以與可以調整的服務器端部件。基于以上相關優點,本系統選擇利用VB6.0開發上位機軟件。2.2 MSComm控件Visual B

22、asic提供了MSComm控件,旨在實現RS-232的串口通信。MSComm控件實現串口通信的工作方式以與主要屬性、事件如表2.2所示:表2.1MSComm控件的工作方式、屬性與事件類別名稱意義或用途工作方式事件驅動預先將程序輸入控件的事件中,一旦事件產生(如字符到達)則觸發CommEvent事件,自動執行該程序事件輪詢通過檢查CommEvent屬性的值來輪詢事件屬性CommPort屬性設置或返回通信連接端口Setting屬性設置或返回聯機速率、奇偶校驗、數據位、停止位PortOpen屬性設置或返回通信連接端口狀態Input屬性從輸入緩沖區返回字符,同時刪除緩沖區的字符Output屬性將要發送

23、的數據輸入到傳出緩沖區RThreshold屬性設置或返回引發接收事件的字節數,以引發OnComm事件中接收事件InputMode屬性設置或返回Input屬性取回的數據的類型,有二進制形式、文字形式InBufferCount屬性將InBufferCount屬性設置為0,可清除接收緩沖區CommEvent屬性CommEvent屬性在事件發生時生成OnComm事件,CommEvent屬性會返回不同值,表示不同的通信事件事件OnComm事件CommEvent屬性的值發生變化,就會引發OnComm事件對于MSComm控件OnComm事件的子函數形式源代碼如下:Private Sub MSComm1_On

24、Comm() Select Case MSComm1 mEvent Case comEvCD CD 線狀態變化引發事件 Case comEvCTS CTS 線狀態變化引發事件 Case comEvDSR DSR 線狀態變化引發事件 Case comEvRing Ring Indicator 變化引發事件 Case comEvReceive 收到 RThreshold個字節引發事件 (在此處添加從緩沖區讀取數據的程序) Case comEvSend 傳輸緩沖區有 SThreshold 個字符引發事件 Case comEvEOF 輸入數據流中發現 EOF 字符引發事件 End SelectEnd

25、Sub對于RS-232的串口通信而言,當計算機緩沖區接收到RThreshold個字節時,MSComm控件將觸發OnComm事件。在“Case comEvReceive”后添加從緩沖區中讀取數據功能的源代碼,即可實現串口通信的接收數據功能。2.3 RS-232串行通信分布式監測系統主要用到RS-232串行通信端口。串行通信端口(Serial Communication Port)在系統控制的疇一直占據著極其重要的地位,用途以連接調制解調器來傳輸數據最為常見。RS-232串行通信端口已經成為計算機上的標準配置,現在新一代的計算機以9引腳的接頭接出所有的RS-232通信端口。RS-232外觀以與引腳

26、標號如圖1所示:圖1 RS-232外觀以與引腳標號RS-232的引腳編號與定義如表2.2所示:表2.2 RS-232引腳標號與意義引腳簡寫意義引腳1CD載波檢測(Carrier Detect)引腳2RXD接收數據(Receive)引腳3TXD發送數據(Transmit)引腳4DTR數據終端準備好(Data Terminal Ready)引腳5GND接地端(Ground)引腳6DSR數據準備好(Data Set Ready)引腳7RTS請求發送(Request To Send)引腳8CTS清除發送(Clear To Send)引腳9RI振鈴提示(Ring Indicator)由上表可知道,RS-

27、232串口的引腳2和引腳3分別用來接收數據、發送數據,一般而言,如果要將數據從一端發送到另一端,只需要用到第2引腳、第3引腳以與第5引腳就可以形成一個簡單的通信線路。在以單臺計算機進行串行通信實驗時,可將引腳2、引腳3短路,即可形成一個完整的回路,實現“自發自收”功能。串口通信簡單易用,因此在工業領域得到大量的應用。但由于工業環境常會有噪聲干擾傳輸線路,在用RS-232進行串行通信時經常會受到外界的電氣干擾而使信號發生錯誤,有效傳輸距離僅為15米。3 多傳感器檢測系統設計3.1 多傳感器檢測系統的組成任何一個監測系統都會使用了大量的各種類型的傳感器。搭建一個檢測系統平臺會用到各類傳感器如壓力傳

28、感器、水位傳感器、電壓傳感器、電流傳感器、流量傳感器、溫度傳感器、濕度傳感器和電導率傳感器等,從而構成多傳感器系統,這些傳感器被用于測量系統中各種物理量和狀態,為控制系統提供最原始的信息。它們相對于控制系統的“眼睛”,其重要性不言而喻。一個多傳感器檢測系統的基本組成包括轉換接口單元,控制單元,輸出單元,執行單元,上位機接收與存儲單元等。如圖2所示即為一個簡單的多傳感器檢測系統組成基本原理圖。圖2多傳感器檢測系統組成3.2多傳感器檢測系統通信程序設計VB是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言,它簡單易學,效率高,功能強大。程序設計包括七步:= 1 * GB3創建工程=

29、 2 * GB3設計應用程序界面= 3 * GB3設置對象屬性= 4 * GB3編寫程序代碼= 5 * GB3運行和調試程序= 6 * GB3保存工程= 7 * GB3編譯工程生成可執行文件。3.2.1通信協議串口通信規程:在微機配有通信適配器, 它使微機能與其他具有RS-232C串行口的計算機或設備進行通信。數據通過串行口一次只能傳送1 個字節, 而且數據和控制信息都是在單線上移動, 故需要通信協議, 常用通信協議如下:一個起始位;七個或八個數據位;奇偶校驗位;一個或兩個停止位;傳輸速度( 單位: 波特率或b/ s) 。 通信接口標準:通信雙方若距離較近, 可用電纜直接連接標準RS-232C

30、接口;若距離較遠, 則需要附加調制解調器, 在連接中注意應將電纜采用交叉跳接信號的方法, 以滿足RS-232C接口中成對使用DTE DCE 的要求。本文僅討論單片機與微機間串口通信連接頭的接法。RXD: 接收數據;TXD: 發送數據;DT R: 數據終端就緒;DSG: 信號地;DSR: 數據裝置就緒;RT S: 發送請求;CTS: 清除發送。在串行通信的實現過程中,底層為通信工作以與操作系統和計算機硬件提供了有力的支持,但是為了實現特定的用戶功能,必須在軟件中制定基于應用的通信協議。在開發魚塘監測系統串行數據通信程序的過程中,通過長期的調試和不斷的總結,最終得到一套完整而可靠的通信協議。該協議

31、一共分為三層,分別為:1.物理層。規定了電子電氣方面的特性與原始位流在物理鏈路上的傳輸,提供了原始位流傳輸信道;串行通信口:RS-232串口;硬件接口:DSP輸出的TTL電平經專用集成塊轉換成RS-232信號;波特率:9600;字符格式:8位數據位,1位停止位;差錯校驗:無奇偶校驗;2.數據層。定義了數據幀作為信息傳輸單元,使用差錯校驗和幀應答等技術,屏蔽物理路上的噪聲,使傳輸通道變成一條可靠的信道;數據層為數據的準確通信提供了充足的信息。表2.3描述了設備數據包傳輸的結構。表2.3數據包傳輸結構LENGTHCMDDATACHKSUM(1)(1)(=27)(2)LENGTH數據包字節總數;CM

32、D命令的ID號。決定命令類型為命令信息還是應答信息;DATA由CMD決定數據字節長度;CHKSUM校驗和碼。環冗余校驗是一種常用的校驗碼3應用層。負責建立通信伙伴之間的連接關系,實現操作同步,報警與數據完整性等管理任務。對用戶與用戶程序提供以下功能:(1)選擇控制多臺下位機定時,即時或適時跟蹤采樣現場信息,將數據送數據庫保存,數據庫存儲一定時段的數據,程序具有對數據二次處理,繪制曲線圖 與報警等功能;(2)設置采樣參數;(3)當通信線路中斷或通信失敗時,往下位機發出報警信息;3.2.2監控界面設計多傳感器監測系統主控界面的設計是整個上位機軟件設計的重點之一,它直接影響系統監控效率與準確性的高低

33、。因此,清晰、人性化的界面設計是整個軟件開發的重要前提。 多傳感器監測系統主要實現對現場傳感器采集數據的適時發送、接收和保存的功能。以VB6.0為軟件平臺開發的通用監控系統的主控畫面如圖3所示。 通過該主界面可以完成對系統主要設備運行狀態的實時監控,包括用不同的顏色來表示設備的啟、停,用文本框顯示系統主要的運行參數,如PH值、溫度、溶氧量等,利用CommandButton控件的Click事件完成設定值的發送,從而實現對現場進行實時控制。同時,添加各種控件,導入圖片,并通過設置其不同屬性,達到了美觀、實用的效果。圖3 監測系統主控界面3.2.3數據存儲設計VB語言提供了多種操縱數據庫的方法,使用

34、Ado Data控件訪問數據庫就是一種很常用的操縱方法。通過設置和操縱其屬性就可以實現與數據庫的連接,通過綁定數據感知控件就能提供一個訪問數據庫的界面,用來對數據庫數據的瀏覽,添加,刪除,修改等操作。整個過程實現和操作起來非常簡單方便。具體連接步驟如下:(1)建立Access數據庫(2)引用Ado Data控件和數據感知控件DataGrid(3)分別設置Ado Data控件的ConnectionString、CommandType、RecordSource三個重要的屬性以與DataGrid控件的DataSource屬性在設置Ado Data控件的ConnectionString屬性的最后,將出

35、現“測試連接”的按扭,通過單擊此按扭可以清楚的了解到數據庫連接成功與否,非常簡單方便。具體程序的編寫格式為:數據庫畫面名稱.Adodc1.Recordset.AddNew數據庫畫面名稱.Adodc1.Recordset.Fields(日期) = Date數據庫畫面名稱.Adodc1.Recordset.Fields(時間) = Format(Now, h:mm:ss)數據庫畫面名稱.Adodc1.Recordset.Fields(參數名稱) =接收到的參量數據數據庫畫面名稱.Adodc1.Recordset.Update數據庫的設計需要特別注意的是:1在Access數據庫定義的各個參數的名稱、

36、類型、出現的順序以與格式都必須與代碼中的“參數名稱“完全一致,否則將無法記錄或者記錄錯誤。2設置Ado Data控件的ConnectionString屬性的時候,必須選擇正確的數據庫所在路徑,否則“測試連接”就會報錯。3.3多傳感器檢測系統調試3.3.1調試系統界面設計在基本監測系統設計好后,能否正常工作還不能確定,因此必須設計調試系統對其進行調試。調試系統的主要功能是保證上位機能與下位機進行準確的通訊,保證數據傳送的準確性。設計的調試系統的界面如圖4所示:圖4 調試系統界面3.3.2 調試系統軟件設計該調試系統程序主要設置通信時選用的串口、設置波特率、數據傳送的幀格式以與數據的接收與保存等。

37、其主要的程序片段如下:1.通訊設置程序片段Private Sub Form_Load() With MSComm1 mPort = 1 選用COM1串行口; .Settings = 9600,N,8,1 波特率9600,無奇偶校驗位,8位數據位,1位停止位; .InputLen = 5 設置Input從接收緩沖區讀取全部容; .InBufferSize = 1024 設置MSComm1接收緩沖為1024字節; .OutBufferSize = 512 設置MSComm1發送緩沖為512字節 .PortOpen = True 打開通信口 .InBufferCount = 0 輸入緩沖區清零/清除

38、發送緩沖區數據 .OutBufferCount = 0 輸出緩沖區清零/清除接送緩沖區數據 .InputMode = comInputModeBinary 傳輸模式為二進制形式 .RThreshold = 5 設置接收5個字節產生 OnComm事件 End With End Sub2.數據接收處理程序片段Private Sub MSComm1_OnComm()Dim buf2 As VariantDim bufout(1 To 5) As Byte Select Case MSComm1 mEvent Case comEvCD Case comEvCTS Case comEvDSR Case

39、comEvRing Case comEvReceive buf2 = MSComm1.Input bufout(1) = buf2(0) bufout(2) = buf2(1) bufout(3) = buf2(2) bufout(4) = buf2(3) bufout(5) = buf2(4) Text6.Text = Hex(bufout(1) Text7.Text = Hex(bufout(2) Text8.Text = Hex(bufout(3) Text9.Text = Hex(bufout(4) Text10.Text = Hex(bufout(5)Case comEvSendEn

40、d Select4 多傳感器檢測系統在魚塘水質監測中的應用多傳感器檢測系統在實際應用中相當廣泛,但其基本原理與設計方法基本上是一致的。本文以基于51單片機的魚塘水質監測系統為例來論述其系統設計的思想、原理、調試與相關應用。4.1 系統的任務與要求對于一個魚塘水質監測系統,要求傳感器檢測魚塘的一系列信號如溫度、PH值、溶氧量等,并且通過串口通信技術將信號傳送至上位機處理,以達到對現場按指定要求控制的目的。系統利用多個傳感器對魚塘中溫度、溶解氧等信號進行采集并且利用AT89C52單片機對其進行指定控制。可對各個參數設定參考值圍,當采集的數據超過參考值圍時發出報警信號采用DS1302時鐘芯片提供時間

41、參數,用12864液晶顯示各參數,并用串口將數據傳送上位機進行顯示儲存,同時也可利用上位機發出相關的控制信號。設計要求:要求運用傳感器技術檢測各個控制信號;各個信號分別按地址不同進行分類;運用RS-232串口通信技術將采集的信號傳送到上位機;通過VB6.0編寫的上位機軟件觀測現場情況;通過上位機軟件對現場各項參數進行控制。4.2系統硬件電路設計系統由單片機、數據采集電路、液晶顯示電路、串口通信電路、時鐘控制電路等組成,系統框圖如圖5所示圖5 系統框架圖系統以AT89C52作為主控單片機,接收和處理溫度傳感器、PH傳感器、溶解氧傳感器采集的信號控制液晶實時顯示魚塘水的溫度、PH以與氧的質量濃度,

42、并通過串口通訊將數據送至上位機,上位機顯示保存數據并發出相應的控制信號。4.2.1 數據采集模塊PH測量考慮成本和精度問題,設計中選用的是型號為YC-07型的PH傳感器來測量水的PH它的適用圍廣泛,溫度圍為0110C完全能滿足魚類生長所需環境溫度,可測PH圍為014,測量精度可達0.1,響應時間快,抗干擾能力強,輸出信號強,無需加放大器。溶解氧質量濃度的測量水的溶解氧(OD)質量濃度是水質狀況的一項重要指標,直接影響魚類的生長生存,因此溶解氧質量濃度的測定十分重要。設計選用的是YC-2000型溶解氧傳感器,測定圍020mg/L,精度為0.2mg/L,輸出電壓信號圍0100mv具有溫度自動補償功

43、能。由于輸出信號弱,要經過放大后送至轉換芯片,放大電路如圖6所示。圖6 信號放大電路AD623是一個集成儀表放大器,允許使用單個增益設置電阻進行增益編程。最大放大增益可達1000倍,增益計算公式為+1式中,R為AD623管腳1和8之間的電阻,設計中采用滑動變阻器,可根據傳感器信號強弱,適當地調節放大倍數。圖中IN2為溶解氧傳感器輸入信號,OUT2為經過放大后的信號傳送至AD轉換器。溫度測量本系統采用的是DS18B20溫度傳感器,是一款單線數字溫度傳感器芯片,與單片機通信只需要一根數據線,如圖7所示。圖7 DS18B20與單片機連接電路DS18B20與一般的熱敏電阻不同,它可以將溫度直接轉換為串

44、行數字信號,供單片機處理,而不需要數模轉換芯片來采集溫度信號,還可以設定溫度警戒圍,當所測得的溫度不在圍時可產生報警信號。4.2.2 AD模塊由于傳感器采集的模擬電信號不能直接被單片機所讀取,這就需要采用模數轉換芯片將模擬信號轉換成單片機能處理的數字信號。系統中采用ADS7825作為模數轉換芯片,通過外圍邏輯電路對芯片的A0,A1地址線進行邏輯控制,選擇通道0-3,ADS7825與單片機與傳感器信號連接電路如圖8所示,其中IN1為PH傳感器信號,OUT2為經放大后的溶解氧傳感器信號。圖8 數模轉換電路4.2.3 DS1302時鐘模塊利用DS1302時鐘芯片能夠在液晶上實時顯示當前時間,并能通過

45、串口通信將時間數據傳送至上位機顯示儲存,方便分析調用。DS1302與單片機連接電路如圖9 所示。圖9 時鐘模塊4.2.4 12864液晶顯示模塊液晶顯示采用的是128x64點陣的漢字圖形型液晶顯示模塊,可顯示字符、漢字與圖形。本設計利用液晶顯示實時時間、傳感器信號經過一定系數換算得到的溫度值、PH以與溶解氧質量濃度。12864液晶顯示模塊與單片機連接電路如圖10 所示。圖10 12864液晶顯示模塊與單片機連接電路4.2.5 串口通訊與上位機顯示在串口通信中采用了MAX232電平轉換芯片,將溫度、溶解氧質量濃度、時間等參數傳送至上位機,進行顯示并保存數據MAX232與單片機與電腦串口連接電路如

46、圖11所示圖11 MAX232連接電路上位機采用VB6.0編程,對單片機發來的數據進行處理。上位機分為串口初始化、實時顯示和歷史數據查詢三個模塊,對溫度等測量值進行顯示并存儲,以便調用分析。顯示界面如圖12所示。圖12 上位機顯示界面4.3系統軟件程序設計4.3.1主控界面設計基于以上系統設計的基本原理和方法,以VB6.0為軟件平臺開發的魚塘水質監控系統的主控畫面如圖4.2.5所示。 通過該主界面可以完成對魚塘水質的監測和控制如PH值、溫度、溶氧量等,利用CommandButton控件的Click事件完成設定值的發送,從而實現對魚塘水質的改變。同時,添加各種控件,導入圖片,并通過設置其不同屬性

47、,達到了美觀、實用的效果。4.3.2 通信程序設計魚塘水質監控系統的通信包括上位機和下位機的通信。主要是PC機和單片機之間通過串口線完成數據的傳輸,以期對魚塘現場采集的信息進行適時準確地監控。在基于以上基本監測系統的通信協議的基礎上進行該魚塘水質監測系統通信程序設計。上位機工作流程魚塘水質監控系統的上位機軟件分為手動程序和自動程序,自動程序是通信程序設計的最終版,一旦進入開機工作狀態,就能夠自動完成對下位機的監控功能,包括發送和接收信息。(*為注釋部分)(1)發送信息程序段。其工作流程如下圖13。簡單代碼舉例如下:Private Sub Cmdstop_Click() *發送開機命令* byt

48、eout(0) = &HAA byteout(1) = &H55 MSComm1.Output = byteoutEnd Sub(2)接收信息程序段。接收部分需要準確采集現場上傳的適時參數,如溫度、PH值、溶氧量等,以便分析和改進魚塘水質,是通信程序設計的重點,通過VB中MSComm控件的OnComm事件來完成。其工作流程如下圖14,簡單代碼舉例如下:Private Sub MSComm1_OnComm() *數據接收;Dim buf() As VariantDim buf1(1 To 2) As Byte buf = MSComm1.Input*通過MSComm的Input屬性接收數據;bu

49、f1(1) = buf(0)buf1(2) = buf(1)Text1.Text = buf1(2) * 256 + buf1(1) End Sub圖13 上位機發送信息流程圖圖14上位機接收信息流程圖數據存儲程序設計VB語言提供了多種操縱數據庫的方法,使用Ado Data控件訪問數據庫就是一種很常用的操縱方法。通過設置和操縱其屬性就可以實現與數據庫的連接,通過綁定數據感知控件就能提供一個訪問數據庫的界面,用來對數據庫數據的瀏覽,添加,刪除,修改等操作。整個過程實現和操作起來非常簡單方便。具體連接步驟與第3章中論述的構建基本多傳感器監測系統數據存儲方法一樣。數據存儲對于系統來說具有重要意義,可

50、以通過分析一段時間的具體數據來對該魚塘水質的變化有明確的認識,從而可以制定相應的良好的對策來進行解決。以保證魚塘的高效產出。4.4 系統的調試4.4.1調試系統界面設計在魚塘水質監測系統設計好后,能否正常工作還不能確定,因此必須設計調試系統對其進行調試。調試系統的主要功能是保證上位機能與下位機進行準確的通訊,保證數據傳送的準確性。該調試系統與基本的系統調試原理完全一樣。設計的調試系統的界面如圖15所示:圖15調試系統界面4.4.2調試系統軟件設計該調試系統程序主要設置通信時選用的串口、設置波特率、數據傳送的幀格式以與數據的接收與保存等。其主要的程序片段與第3章中的調試軟件設計程序基本上是一致的。4.5 系統應用與推廣4.5.1檢測系統的應用該檢測系統可應用于生產、生活的各個方面。如生產中的工業現場的相關信息采集,例如生產車間的各類參數的采集;生活中如大棚生產的溫度、濕度、采光等控制。4.5.2檢測系統的推廣基于魚塘監測系統設計的原理,可類似的應用于各類檢測與控制系統。該類系統都基于VB控件的通信原理,利用VB開發上位機信息采集與控制軟件。可對系統進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論