基于單片機(jī)的多路無(wú)線(xiàn)溫度檢測(cè)系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
溫度在人類(lèi)日常生活中扮演著極其重要的角色,同時(shí)在工農(nóng)業(yè)生產(chǎn)過(guò)程中,溫度檢測(cè)具有十分重要的意義。現(xiàn)階段溫度檢測(cè)主要是有線(xiàn)定點(diǎn)溫度檢測(cè),其溫度檢測(cè)原理為單片機(jī)利用溫度傳感器檢測(cè)溫度,并在數(shù)碼管或LCD 上進(jìn)行溫度顯示。同時(shí)由于系統(tǒng)沒(méi)有報(bào)警功能,故需要人為來(lái)判斷是否需要進(jìn)行升溫或者降溫,這使系統(tǒng)的檢測(cè)喪失了實(shí)時(shí)性。另外,在某些環(huán)境惡劣的工業(yè)環(huán)境,以人工方式直接操作設(shè)置儀表測(cè)量溫度也不現(xiàn)實(shí),因此采用無(wú)線(xiàn)方式進(jìn)行溫度檢測(cè)尤為必要。
目前有些設(shè)計(jì)能夠?qū)崿F(xiàn)無(wú)線(xiàn)溫度采集,但功耗過(guò)高是其最大的缺點(diǎn)。在實(shí)際溫度控制過(guò)程中既要求系統(tǒng)具有穩(wěn)定性、實(shí)時(shí)性,又需要使系統(tǒng)功耗低及保證溫度的均勻性,因此設(shè)計(jì)一種低功耗的多點(diǎn)無(wú)線(xiàn)溫度檢測(cè)系統(tǒng)很有意義。本文提出一種采用低功耗單片機(jī)MSP430F149 單片機(jī)實(shí)現(xiàn)的多點(diǎn)無(wú)線(xiàn)溫度測(cè)量系統(tǒng),解決了上述問(wèn)題。該系統(tǒng)能實(shí)現(xiàn)對(duì)溫度智能化的檢測(cè),能夠同時(shí)進(jìn)行多點(diǎn)溫度檢測(cè),是可以實(shí)現(xiàn)遠(yuǎn)程控制的無(wú)線(xiàn)溫度檢測(cè)系統(tǒng)。低功耗、實(shí)時(shí)性的無(wú)線(xiàn)溫度檢測(cè)是該設(shè)計(jì)的最大特點(diǎn)。
1 系統(tǒng)構(gòu)成
系統(tǒng)分為下位機(jī)、上位機(jī)和PC 機(jī)三部分。PC 機(jī)是整個(gè)系統(tǒng)的最上層,負(fù)責(zé)對(duì)下位機(jī)的控制和管理,并對(duì)收集到的各個(gè)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行存儲(chǔ)和處理。由于下位機(jī)無(wú)法直接與PC 機(jī)通信,這就需要使用上位機(jī)作為中間媒介。上位機(jī)與下位機(jī)通過(guò)無(wú)線(xiàn)模塊通信,與PC機(jī)采用有線(xiàn)連接。
該設(shè)計(jì)采用MSP430F149 單片機(jī)作為核心控制模塊,其最主要特點(diǎn)為低功耗。MSP430F149 具有雙串口的特點(diǎn),利用其中的一個(gè)串行口與PC 機(jī)進(jìn)行通訊時(shí),兩者之間必須通過(guò)RS 232 電平轉(zhuǎn)換芯片。單片機(jī)與無(wú)線(xiàn)發(fā)射模塊nRF24L01 通訊時(shí)可通過(guò)通用I/ O口模擬串口通訊。現(xiàn)場(chǎng)溫度數(shù)據(jù)的采集是利用NT C100 熱敏電阻和MSP430F149 單片機(jī)部帶有的12 位A/ D轉(zhuǎn)換器來(lái)實(shí)現(xiàn)的。這里不需要外加ADC,可以簡(jiǎn)化電路,提高系統(tǒng)的穩(wěn)定性。將按鍵作為輸入模塊,用來(lái)改變溫度報(bào)警的上下限。由于設(shè)計(jì)要求不需要太多內(nèi)容的顯示,考慮到功耗及性?xún)r(jià)比,可以自制一個(gè)簡(jiǎn)易段碼液晶用于顯示。下位機(jī)設(shè)計(jì)方案和系統(tǒng)整體構(gòu)成框圖分別如圖1,圖2 所示。
圖1 下位機(jī)設(shè)計(jì)方案
圖2 系統(tǒng)的整體構(gòu)成
2 硬件設(shè)計(jì)
2. 1 無(wú)線(xiàn)通信模塊設(shè)計(jì)
nRF24L01 是一款新型單片射頻收發(fā)器件,工作于2. 4~ 2. 5 GHz ISM 頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst 技術(shù),其中輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。nRF24L01 功耗低,有多種低功率工作模式( 掉電模式和空閑模式) 使節(jié)能設(shè)計(jì)更方便,圖3 為它的應(yīng)用電路。
圖3 NRF24L01 應(yīng)用電路
從單片機(jī)控制的角度來(lái)看,只需要將圖3 中左邊的6 個(gè)控制和數(shù)據(jù)信號(hào)與單片機(jī)通用I/ O 口相連。
2. 2 溫度采集電路
為了使整個(gè)系統(tǒng)的功耗更低,采用低功耗的熱敏電阻NT C100 和MSP430149 內(nèi)部自帶的12 位A/ D 轉(zhuǎn)換器實(shí)現(xiàn)溫度的采集功能。其理論分析與計(jì)算電阻值和溫度變化之間的關(guān)系。
式中: RT 為溫度T( 單位: K) 時(shí)的NTC 熱敏電阻阻值;RN為額定溫度T N ( 單位: K) 時(shí)的NTC 熱敏電阻阻值;T 為規(guī)定溫度( 單位: K) ;B 為NTC 熱敏電阻的材料常數(shù),又叫熱敏指數(shù)。
常溫環(huán)境中,溫度為28℃,換算成開(kāi)氏溫度為273. 15+ 28= 301. 15 K。通過(guò)多次測(cè)28℃及30℃環(huán)境下的數(shù)據(jù),如表1 所示,取平均值,盡量減小誤差,算得B 值。
表1 測(cè)量NTC100 熱敏電阻B 值
通過(guò)式( 1) 可得,將T ,T N 都轉(zhuǎn)化成開(kāi)爾文溫度進(jìn)行計(jì)算得B = 4 064. 34。經(jīng)過(guò)比較發(fā)現(xiàn),求得的阻值與測(cè)得的阻值很相近。
圖4 為溫度采集模塊,其中R 1 為熱敏電阻,R3 為200 kΩ電阻,R2 為0~ 20 kΩ 的可調(diào)電阻,用來(lái)調(diào)整溫度計(jì)的準(zhǔn)確性。U0 為檢測(cè)到的電壓,將U0 接到單片機(jī)管腳,通過(guò)A/ D 轉(zhuǎn)換,將得到的電壓值轉(zhuǎn)換成溫度值,在LCD 上顯示出來(lái)。
圖4 溫度采集模塊
2. 3 顯示模塊
本次設(shè)計(jì)采用自制的16 位段碼液晶進(jìn)行顯示。利用液晶驅(qū)動(dòng)IC( HT 1621) 以及配套的液晶LCD 玻璃片,自制16 位段碼液晶。另外,驅(qū)動(dòng)IC 上裝有兩種頻率的蜂鳴驅(qū)動(dòng)電路,可以實(shí)現(xiàn)報(bào)警功能。
2. 4 串口通信模塊
在溫度采集過(guò)程中,由于系統(tǒng)隨時(shí)需要將采集到的溫度數(shù)值通過(guò)PC 機(jī)上的VC 界面進(jìn)行顯示,因此需要在PC 機(jī)和單片機(jī)之間進(jìn)行相互通信。由于PC 機(jī)的RS 232電平與單片機(jī)的TTL 電平不同,因此用MAX3232 芯片實(shí)現(xiàn)電平的相互轉(zhuǎn)換,這樣就可以實(shí)現(xiàn)單片機(jī)與PC 機(jī)之間的相互通信。
3 軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法。下位機(jī)利用定時(shí)中斷發(fā)送溫度數(shù)據(jù),利用端口中斷設(shè)置溫度報(bào)警的上下限,其他時(shí)間處于低功耗模式3 的狀態(tài)下,這樣可以大大降低功耗。上位機(jī)利用接收中斷接收數(shù)據(jù),并且利用MAX3232 與PC 機(jī)通信。
NTC 熱敏電阻的主要缺點(diǎn)是熱電特性的非線(xiàn)性現(xiàn)象嚴(yán)重,本次設(shè)計(jì)采用查表法對(duì)NT C 熱敏電阻進(jìn)行線(xiàn)性化。線(xiàn)性插值法軟件流程如圖5 所示。
圖5 線(xiàn)性插值法熱敏電阻非線(xiàn)性自校正程序流程圖
圖5 中,0,R1 ,R2 ,,R K 是曲線(xiàn)上橫坐標(biāo)取值;0,T1 ,T2 ,,T K 是其對(duì)應(yīng)的縱坐標(biāo)。K 的取值可根據(jù)所需溫度精度確定。
4 測(cè)試結(jié)果及分析
4. 1 溫度采集及顯示
將程序?qū)懭雴纹瑱C(jī)中,連好硬件線(xiàn)路,通過(guò)鍵盤(pán)設(shè)置好溫度上下限后,單片機(jī)開(kāi)始采集溫度數(shù)值。如圖6所示,是下位機(jī)顯示界面,LCD 顯示報(bào)警溫度的上下限、當(dāng)前溫度以及下位機(jī)的代號(hào)。
圖6 下位機(jī)顯示界面
經(jīng)過(guò)多次測(cè)試,將LCD 顯示的溫度與普通溫度計(jì)進(jìn)行比較,得到表2 中的數(shù)據(jù)。
表2 LCD 顯示的溫度值與普通溫度計(jì)的溫度值的對(duì)比表
經(jīng)過(guò)測(cè)試,溫度誤差在允許范圍內(nèi),系統(tǒng)能夠穩(wěn)定的運(yùn)行。當(dāng)采集到的溫度數(shù)值超過(guò)設(shè)定的上下限時(shí),單片機(jī)就會(huì)發(fā)出報(bào)警信號(hào),提醒用戶(hù)進(jìn)行溫度控制。
4. 2 功耗測(cè)試
當(dāng)下位機(jī)進(jìn)入LPM3( 睡眠) 模式,LCD 不顯示,但內(nèi)部時(shí)鐘仍運(yùn)行,串入電流表,測(cè)量電流值,測(cè)得電流為4 uA 左右。證明系統(tǒng)很好地實(shí)現(xiàn)了超低功耗。
4. 3 無(wú)線(xiàn)模塊測(cè)試
將無(wú)線(xiàn)模塊連接好,先進(jìn)行一對(duì)一的收發(fā)調(diào)試。
讓下位機(jī)1 控制無(wú)線(xiàn)收發(fā)模塊發(fā)送一連串有規(guī)律的數(shù),觀察上位機(jī)接收的數(shù)字。經(jīng)過(guò)測(cè)試,3 路下位機(jī)系統(tǒng)都可以與上位機(jī)進(jìn)行穩(wěn)定的一對(duì)一收發(fā)。然后3 個(gè)下位機(jī)都與上位機(jī)通信,進(jìn)行一對(duì)三的收發(fā)調(diào)試,上位機(jī)接收3 路數(shù)據(jù),并且顯示。
經(jīng)過(guò)測(cè)試,3 路都能正常的工作,且誤碼率低,工作穩(wěn)定。無(wú)線(xiàn)模塊nRF24L01 的最大傳輸距離大約為100 m。
4. 4 VC 界面顯示
首先進(jìn)行上位機(jī)的硬件連接,連接完成后進(jìn)行上電初始化并打開(kāi)PC 機(jī)的VC 界面。當(dāng)VC 界面正常打開(kāi)時(shí),會(huì)出現(xiàn)“串口已打開(kāi)”的提示;當(dāng)VC 界面無(wú)法正常打開(kāi)時(shí),會(huì)出現(xiàn)“ 串口無(wú)法打開(kāi)”的提示,出現(xiàn)此情況時(shí)首先檢測(cè)硬件連接,再檢查選定串口通道是否正確。
PC 機(jī)最終顯示如圖7 所示。
圖7 PC 機(jī)顯示圖
5 結(jié) 語(yǔ)
本文描述了基于MSP430 單片機(jī)的無(wú)線(xiàn)溫度控制系統(tǒng)的軟、硬件設(shè)計(jì)。通過(guò)調(diào)試證明系統(tǒng)運(yùn)行正常,各項(xiàng)指標(biāo)均能達(dá)到設(shè)計(jì)要求。整個(gè)系統(tǒng)集成度高,功耗低,溫度采集和無(wú)線(xiàn)傳輸速度快,誤碼低,且具有體積小,重量輕,可靠性高,易于控制和使用靈活等優(yōu)點(diǎn),因而性?xún)r(jià)比極高。
本次設(shè)計(jì)的溫度精度為0. 5 ℃,可以根據(jù)實(shí)際需求進(jìn)一步提高精度;基站為了實(shí)現(xiàn)斷電存儲(chǔ),可以將數(shù)據(jù)存儲(chǔ)于單片機(jī)的FLASH 中,上電時(shí)單片機(jī)從FLASH中取出所需的數(shù)值進(jìn)行顯示。