熊啟金,姜 茹,匡仁 ,占禮彬,馬向進
(南昌工程學(xué)院 信息工程學(xué)院,江西 南昌 330099)
隨著信息技術(shù)的發(fā)展以及工農(nóng)業(yè)生產(chǎn)管理技術(shù)要求的不斷提高,自動監(jiān)測工業(yè)和農(nóng)業(yè)生產(chǎn)環(huán)境的溫度已成為基本要求,溫度信息的采集成為生產(chǎn)環(huán)境監(jiān)測管理的重要要素。此外,溫度信息的監(jiān)測在其他領(lǐng)域亦發(fā)揮著重要作用,如大樓火災(zāi)報警裝置等[1]。公路上的路面信息采集、溫度回饋也是系統(tǒng)的重要組成,如冷庫溫度的智能控制等[2]。隨著應(yīng)用空間的增大,溫度采集的環(huán)境也愈加復(fù)雜。傳統(tǒng)的有線溫度監(jiān)測已跟不上時代的步伐。不論是公路上的高溫還是冷庫的低溫,對于電線來說損害極大,而線路一旦損壞還可能帶來其他問題。因而對于無線傳輸?shù)膶崟r溫度采集系統(tǒng)的需求就顯得尤為迫切。
為此,本文設(shè)計基于單片機與串口轉(zhuǎn)WiFi技術(shù)的溫度采集硬件系統(tǒng)。系統(tǒng)采用51系列單片機控制溫度傳感器采集溫度信息,由顯示模塊實時顯示,然后利用串口轉(zhuǎn)WiFi模塊把溫度信息發(fā)送至Android平臺的溫度采集軟件上。設(shè)計的硬件系統(tǒng)能與Android終端建立可靠、穩(wěn)定的鏈接,實現(xiàn)溫度的實時采集與顯示。
溫度采集硬件系統(tǒng)基本方案如圖1所示。系統(tǒng)采用AT89C52作為控制芯片,由晶體振蕩器提供時鐘頻率,溫度傳感器選用DS18B20采集信息,并通過LCD1602液晶屏顯示。傳感器DS18B20采集溫度信息后,通過DQ引腳與AT89C52單片機的I/O口相連,單片機其他I/O口與LM016L液晶顯示器相應(yīng)引腳相連。對于Android和WiFi的整體硬件設(shè)計部分而言,主要設(shè)計建立硬件采集系統(tǒng)與串口轉(zhuǎn)WiFi 模塊的通信連接,并通過串口轉(zhuǎn)WiFi將信息發(fā)送出去。用戶在WiFi設(shè)備附近通過Android手機接收信號,由程序讀取硬件采集的溫度信息,從而實現(xiàn)溫度的實時監(jiān)測。
圖1 溫度采集硬件系統(tǒng)總體架構(gòu)
硬件系統(tǒng)主要由單片機最小系統(tǒng)、溫度傳感器、顯示模塊、串口轉(zhuǎn)WiFi模塊組成。
1.2.1 單片機最小系統(tǒng)
單片機最小系統(tǒng)由時鐘電路、復(fù)位電路和單片機組成[3],其仿真圖如圖2所示,其中時鐘電路的晶振為11.059 2 MHz。
1.2.2 傳感器模塊
系統(tǒng)采用DS18B20溫度傳感器,該傳感器主要由64 位ROM、溫度傳感器、非揮發(fā)溫度報警觸發(fā)器TH和TL、配置寄存器[4]組成,其內(nèi)部結(jié)構(gòu)如圖3所示。ROM中的64位序列號已在出廠前被光刻好,可將其看作是該DS18B20的地址序列碼,每個DS18B20的64位序列碼均不相同。64位ROM的排的循環(huán)冗余校驗碼為CRC=X8+X5+X4+1。ROM的用處在于使每個DS18B20具有唯一性,實現(xiàn)一根總線上掛接多個DS18B20的目的。Proteus仿真如圖4所示。
圖2 單片機最小系統(tǒng)
圖3 傳感器內(nèi)部結(jié)構(gòu)圖
圖4 傳感器仿真圖
1.2.3 顯示模塊
系統(tǒng)采用LM016L液晶模塊顯示,該模塊由HD44780控制[5]。HD44780具有簡單、功能較強的指令集,可實現(xiàn)字符移動、閃爍等功能。LM016L與單片機MCU(Microcontroller Unit)可采用8位或4位并行方式通信。HD44780控制器由兩個8位寄存器、指令寄存器(IR)和數(shù)據(jù)寄存器(DR)、忙標(biāo)志(BF)、顯示數(shù)據(jù)RAM (DDRAM)、字符發(fā)生器 ROM(CGROM)、字符發(fā)生器RAM (CGRAM)、地址計數(shù)器(AC)構(gòu)成,其Proteus仿真如圖5所示。
圖5 LED顯示
1.2.4 串口轉(zhuǎn)WiFi模塊
系統(tǒng)采用有人科技串口轉(zhuǎn)WiFi模塊USR-WIFI232-L,具體使用步驟如下:
(1)使用USB轉(zhuǎn)串口線連接筆記本USB口及串口轉(zhuǎn)WiFi模塊。
(2)連接完成后,為串口轉(zhuǎn)WiFi模塊接通電源,紅色指示燈亮起約20 s,綠色指示燈亮起。
(3)此時可用手機連接USR-WIFI232-T的WiFi。
(4)打開測試軟件USR-TCP232-Test.exe,選擇硬件連接到計算機串口號(需與計算機所用端口號一致),點擊打開。
(5)打開手機測試軟件,點擊TCP Client切換界面,單擊“+”按鈕,此時會出現(xiàn)一個彈窗,在IP編輯框內(nèi)填10.10.100.254,端口編輯框內(nèi)填8899,單擊增加按鈕創(chuàng)建一個TCP 連接,若提示連接成功,則證明已成功創(chuàng)建了該模塊的TCP連接。
(6)輸入數(shù)據(jù)進行傳輸驗證。
通過串口把溫度采集模塊和Android系統(tǒng)的接收模塊連接起來。首先,在電路上加串口電路,然后利用串口助手發(fā)送軟件串口信息。在電腦上連接一個串口轉(zhuǎn)WiFi模塊,使單片機的溫度信息通過串口以WiFi形式發(fā)送出來。而后手機用戶可以通過自身應(yīng)用接收信息,實現(xiàn)溫度的實時監(jiān)控。
在Proteus的電路中添加串口連接電路,且重新導(dǎo)入修改并編譯生成的.hex文件,插入串口轉(zhuǎn)WiFi設(shè)備后打開。通過設(shè)備管理器查看設(shè)備端口號,編輯Proteus上COMPIM的編輯屬性設(shè)置端口號保持一致。打開Android手機WiFi連接轉(zhuǎn)WiFi設(shè)備的熱點與溫度接收APP,運行仿真結(jié)果如圖6所示,手機終端結(jié)果顯示如圖7所示。
圖6 PC界面Proteus仿真效果圖
圖7 手機終端結(jié)果顯示
當(dāng)在Proteus平臺中設(shè)置溫度為59℃時,信號通過串口模塊傳至串口轉(zhuǎn)WiFi模塊,再經(jīng)串口轉(zhuǎn)WiFi模塊傳至手機端軟件。從圖6和圖7的結(jié)果可以看出,手機APP顯示的溫度值與Proteus仿真平臺所采集的溫度一致。
本文設(shè)計了基于單片機與串口轉(zhuǎn)WiFi技術(shù)的溫度采集硬件系統(tǒng),經(jīng)實驗證明該系統(tǒng)運行穩(wěn)定,能夠較好地完成溫度的實時采集與顯示,具有一定的社會價值與廣闊的推廣前景。