本文基于AT89C52單片機對蓄電池溫度的檢測,通過DS18B20實現6路溫度的檢測,由A/D轉換器TCL1549,實現對電壓檢測的目的,同時,該系統具有報警功能。通訊電路可進行RS-232的通訊,執行上位機與PC機進行數據傳輸。上位機采用Labview編寫,做到界面簡潔。
【關鍵詞】AT89C52 蓄電池 DS18B20 通訊電路 Labview
溫度是工農業生產,科學研究和生活領域中一個非常重要的物理參數,目前對溫度的測量已有許多方法,可以將其分為兩類:一種是傳統的接觸式測量通過原始的玻璃管,熱電阻和熱電偶等等;另一種是目前流行的非接觸式測量通過紅外測溫。然而非接觸式測溫只在醫學領域得到應用,其應用最廣的還是傳統的測溫方法,隨著信息技術的迅猛發展,屬于信息技術的前沿尖端產品傳感器也朝著單片集成化,智能網絡化和單片系統化迅速發展,尤其是被廣泛用于工農生產,科學研究和生活等領域的溫度傳感器,其數量和發展速度高居各傳感器之首。本文將介紹由DALLAS公司生產的DS18B20數字溫度傳感器以及它的設計。
1 系統總體設計
本系統是基于單片機的對蓄電池的溫度檢測系統設計,由DS18B20溫度傳感器和A/D轉換器TLC1549分別完成對溫度和電壓的檢測,電源電路實現為單片機提供穩定的電壓,同時。單片機對溫度和電壓信號的數據進行采集并處理,控制LCD顯示器來顯示采集的溫度,如果檢測到的溫度超過了單片機設定的上限值或者下限值,那么與單片機相連接的聲光報警電路就會發出報警信號。本系統采用了RS-232通訊標準,實現了與上位機的通訊,將采集到的溫度電壓信號傳送到PC機上進行顯示,做到簡單明了化。蓄電池溫度檢測系統的總體設計方案如圖1所示。
2 電路設計
2.1 DS18B20的接口電路
DS18B20是美國DALLAS半導體公司生產的可組網數字式溫度傳感器,它使用1-Wire(單線)接口,這種總線只需要一條I/0線進行數據傳輸,這種集成化的智能溫度傳感器與模擬傳感器最大的區別是將溫度信號直接轉化成數字信號,然后通過串行通信方式輸出。DS18B20具有微型化,低功耗,高性能,抗擾能力強,易于與微處理器接口等優點適合用于各種溫度測控系統。
DS18B20與微處理器的連接有兩種方式,可以采用寄生電源方式,其VCC和GND端均接地;也可采用如本圖所示的外接電源方式,其中VCC端用+3V~+5.5V電源供電。
在本設計中我們采用的是外接電源的工作方式。利用單片機的P20-P25引腳與DS18B20相連接,其電路如圖2所示。
2.2 電壓檢測電路設計
測量電路輸出信號是模擬信號,要經過A/D轉換才能送到單片機進行處理。TLCl549是串行方式輸出數據,它與單片機的接口電路如圖3所示。
單片機的P0.3口與I/O CLOCK輸入相連,它來控制I/O時鐘;P0.4口與A/D轉換結果輸出相連,它將A/D轉換結構輸入到單片機里;P0.5口選相連,它來控制A/D轉換器的選通。
2.3 RS-232通訊電路
在本文研究的檢測系統中,計算機與上位機的通信就是通過RS-232總線來完成的。MAX232外圍需要4個電解電容C1、C2、C3、C4 ,是內部電源轉換所需電容,其取值均為1μF/25V。宜選用鉭電容并且應盡量靠近芯片,C5為0.1μF的去耦電容。單片機與MAX232的串行通信接口電路如圖4所示。
3 軟件程序設計
軟件設計采用模塊化的方法,主要有主程序、鍵盤掃描以及按鍵處理程序、溫度檢測程序、電壓檢測、液晶顯示程序、溫度報警程序。開始時首先開定時器中斷T0和外部中斷INT0,LCD顯示基本的畫面,緊接著采集溫度和電壓,然后判斷各個標志位進行相應的函數調用。
3.1 溫度檢測程序設計
溫度檢測部分主要是由以下幾個部分構成:單片機和溫度采集部分。其中單片機部分我們采用的是AT89C51,它是整個檢測系統的控制中心,我們將AT89C51的P2.0腳與DS18B20相連接,采用的是外接電源工作方式。溫度檢測的流程如圖5所示。
3.2 電壓檢測程序
在芯片選擇CS無效情況下,TLCl549的最初被禁止且DATA OUT處于高阻狀態。當串行接口把CS拉至有效時,轉換時序開始允許I/O CLOCK工作,并使DATA OUT脫離高阻狀態,串行接口然后把I/O CLOCK序列提供給I/O CLOCK,并從DATA OUT接收前次轉換的結果。I/O CLOCK從單片機接口接收長度在10和16個時鐘之間的輸入序列。開始10個I/O時鐘提供采樣模擬輸入的控制時序。在CS下降沿前次轉換的MSB出現在DATA OUT端。10位數據通過DATA OUT被發送到單片機的接口。為了開始轉換,最少需要10個時鐘脈沖。如果I/O CLOCK傳送大于10個時鐘長度,那么在10個時鐘的下降沿內部邏輯把DATA OUT拉至低電平,以確保其余位的值為零。在正常進行的轉換周期內,規定時間內CS端高電平至低電平的跳變可終止該周期,器件返回初始狀態輸出數據寄存器的內容保持為前次轉換結果。A/D轉換的程序流程圖如圖6所示。
3.3 液晶顯示程序設計
向液晶控制器送數據,顯示所測的和所設置的數據。在編程時需經歷LCD初始化編程和LCD顯示編程兩個過程。在LCD初始化流程設計時,首先是上電復位,延時大于40s以后進行功能設定,所選用的是8位接口控制字和基本指令級,中間插入延時。接著打開顯示設置,選擇整體顯示開,游標顯示關和正常顯示。然后清除屏幕顯示,選擇設定DDRAM的地址計數器為00H;更新設置進入設定點將I/D設為1和游標右移AC加1。最后進入設定點控制字,選擇游標右移,地址計數器加1。
4 圖形化編程語言LabVIEW
LabVIEW(Laboratory Virtual Instrument Engineering Workbench實驗室虛擬儀器工程平臺)是一種圖形化的編程語言(G語言)。LabVIEW程序包括三部分:前面板、框圖程序和圖標/接口部件。前面板模擬真實儀器的前面板,用于設置輸入數據和觀察輸出量。輸入量稱為Controls,輸出量稱為Indicators。用戶可以使用多種圖標,如旋鈕、開關、按鈕、圖表、文本框、圖形等,使前面板直觀易懂。
與傳統的文本式程序設計一樣,LabVIEW也有控制流程圖功能執行的部分,它們包括sequence、case statement、for loop、while loop結構,它們被圖形化地描述成邊界結構,像在傳統的線形化程序設計中可以插入代碼段一樣,可以把圖標放在LabVIEW圖形結構的界限內部。
5 結論
論文主要研究內容是DS18B20溫度傳感器檢測問題,對蓄電池環境溫度和電壓進行實時檢測和報警的設計,在論文的最后引入液晶顯示模塊,將采集到的數據送到LCD上,并將檢測到的數據跟設定的上下限值顯示出來,做到一目了然。
參考文獻
[1]李廣弟等.單片機基礎[M].北京航空航天出版社,2001.
[2]劉寶元等.基于單片機的溫濕度監控系統設計[J].中國科技核心期刊,2009.12(3):4-6.
[3]王洪業.傳感器技術[M].長沙:湖南科學技術出版社,1995.
[4]閻石編著.數字電子技術基礎[M].北京:高等教育出版社,1998.
[5]劉君華.基于LabVIEW的虛擬儀器設計[M].北京:電子工業出版社,2003.
作者簡介
李佳怡(1986-),女,吉林省吉林市人。碩士學位。現為吉林化工學院助教。研究方向為控制工程、控制理論與控制系統仿真。
作者單位
吉林化工學院 吉林省吉林市 132022endprint