《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于MSP430單片機的多路無線溫度檢測系統(tǒng)
基于MSP430單片機的多路無線溫度檢測系統(tǒng)
現(xiàn)代電子技術
王 玲,王中訓,王 恒
摘要: 設計了基于MSP430的多點無線溫度檢測系統(tǒng)。系統(tǒng)采用低功耗的MSP430F149單片機作為核心控制部件,硬件由無線通信模塊、溫度采集電路、顯示模塊和串口通信模塊組成,軟件采用模塊化的設計方法。測試表明,整個系
Abstract:
Key words :

摘要:設計了基于MSP430的多點無線溫度檢測系統(tǒng)。系統(tǒng)采用低功耗的MSP430F149單片機作為核心控制部件,硬件由無線通信模塊、溫度采集電路、顯示模塊和串口通信模塊組成,軟件采用模塊化的設計方法。測試表明,整個系統(tǒng)都是在超低功耗的要求下進行元件及運行方式的選擇,各個基站只需要3 V電池供電就能實現(xiàn)長時間運作,能很好地實現(xiàn)超低功耗,并且實現(xiàn)了測量溫度的實時性。
關鍵詞:MSP430單片機;NRF24L01;NTC熱敏電阻;超低功耗

0 引言
    溫度在人類日常生活中扮演著極其重要的角色,同時在工農業(yè)生產過程中,溫度檢測具有十分重要的意義?,F(xiàn)階段溫度檢測主要是有線定點溫度檢測,其溫度檢測原理為單片機利用溫度傳感器檢測溫度,并在數(shù)碼管或LCD上進行溫度顯示。同時由于系統(tǒng)沒有報警功能,故需要人為來判斷是否需要進行升溫或者降溫,這使系統(tǒng)的檢測喪失了實時性。另外,在某些環(huán)境惡劣的工業(yè)環(huán)境,以人工方式直接操作設置儀表測量溫度也不現(xiàn)實,因此采用無線方式進行溫度檢測尤為必要。
    目前有些設計能夠實現(xiàn)無線溫度采集,但功耗過高是其最大的缺點。在實際溫度控制過程中既要求系統(tǒng)具有穩(wěn)定性、實時性,又需要使系統(tǒng)功耗低及保證溫度的均勻性,因此設計一種低功耗的多點無線溫度檢測系統(tǒng)很有意義。本文提出一種采用低功耗單片機MSP430F149單片機實現(xiàn)的多點無線溫度測量系統(tǒng),解決了上述問題。該系統(tǒng)能實現(xiàn)對溫度智能化的檢測,能夠同時進行多點溫度檢測,是可以實現(xiàn)遠程控制的無線溫度檢測系統(tǒng)。低功耗、實時性的無線溫度檢測是該設計的最大特點。

1 系統(tǒng)構成
    系統(tǒng)分為下位機、上位機和PC機三部分。PC機是整個系統(tǒng)的最上層,負責對下位機的控制和管理,并對收集到的各個節(jié)點的數(shù)據(jù)進行存儲和處理。由于下位機無法直接與PC機通信,這就需要使用上位機作為中間媒介。上位機與下位機通過無線模塊通信,與PC機采用有線連接。
    該設計采用MSP430F149單片機作為核心控制模塊,其最主要特點為低功耗。MSP430F149具有雙串口的特點,利用其中的一個串行口與PC機進行通訊時,兩者之間必須通過RS 232電平轉換芯片。單片機與無線發(fā)射模塊nRF24L01通訊時可通過通用I/O口模擬串口通訊?,F(xiàn)場溫度數(shù)據(jù)的采集是利用NTC100熱敏電阻和MSP430F149單片機部帶有的12位A/D轉換器來實現(xiàn)的。這里不需要外加ADC,可以簡化電路,提高系統(tǒng)的穩(wěn)定性。將按鍵作為輸入模塊,用來改變溫度報警的上下限。由于設計要求不需要太多內容的顯示,考慮到功耗及性價比,可以自制一個簡易段碼液晶用于顯示。下位機設計方案和系統(tǒng)整體構成框圖分別如圖1,圖2所示。

a.JPG

2 硬件設計
2.1 無線通信模塊設計
    nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4~2.5 GHz ISM頻段。內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,并融合了增強型ShockBurSt技術,其中輸出功率和通信頻道可通過程序進行配置。nRF24L01功耗低,有多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設計更方便,圖3為它的應用電路。

b.JPG
    從單片機控制的角度來看,只需要將圖3中左邊的6個控制和數(shù)據(jù)信號與單片機通用I/O口相連。


2.2 溫度采集電路
    為了使整個系統(tǒng)的功耗更低,采用低功耗的熱敏電阻NTC100和MSP430149內部自帶的12位A/D轉換器實現(xiàn)溫度的采集功能。其理論分析與計算電阻值和溫度變化之間的關系。
    c.JPG
    式中:RT為溫度T(單位:K)時的NTC熱敏電阻阻值;RN為額定溫度TN(單位:K)時的NTC熱敏電阻阻值;T為規(guī)定溫度(單位:K);B為NTC熱敏電阻的材料常數(shù),又叫熱敏指數(shù)。
    常溫環(huán)境中,溫度為28℃,換算成開氏溫度為273.15+28=301.15 K。通過多次測28℃及30℃環(huán)境下的數(shù)據(jù),如表1所示,取平均值,盡量減小誤差,算得B值。

d.JPG
    通過式(1)可得,將T,TN都轉化成開爾文溫度進行計算得B=4 064.34。經過比較發(fā)現(xiàn),求得的阻值與測得的阻值很相近。
    圖4為溫度采集模塊,其中R1為熱敏電阻,R3為200 kΩ電阻,R2為0~20 kΩ的可調電阻,用來調整溫度計的準確性。U0為檢測到的電壓,將U0接到單片機管腳,通過A/D轉換,將得到的電壓值轉換成溫度值,在LCD上顯示出來。

f.JPG
2.3 顯示模塊
    本次設計采用自制的16位段碼液晶進行顯示。利用液晶驅動IC(HT1621)以及配套的液晶LCD玻璃片,自制16位段碼液晶。另外,驅動IC上裝有兩種頻率的蜂鳴驅動電路,可以實現(xiàn)報警功能。
2.4 串口通信模塊
    在溫度采集過程中,由于系統(tǒng)隨時需要將采集到的溫度數(shù)值通過PC機上的VC界面進行顯示,因此需要在PC機和單片機之間進行相互通信。由于PC機的RS 232電平與單片機的TTL電平不同,因此用MAX3232芯片實現(xiàn)電平的相互轉換,這樣就可以實現(xiàn)單片機與PC機之間的相互通信。

3 軟件設計
    系統(tǒng)的軟件設計采用模塊化設計方法。下位機利用定時中斷發(fā)送溫度數(shù)據(jù),利用端口中斷設置溫度報警的上下限,其他時間處于低功耗模式3的狀態(tài)下,這樣可以大大降低功耗。上位機利用接收中斷接收數(shù)據(jù),并且利用MAX3232與PC機通信。
    NTC熱敏電阻的主要缺點是熱電特性的非線性現(xiàn)象嚴重,本次設計采用查表法對NTC熱敏電阻進行線性化。線性插值法軟件流程如圖5所示。

g.JPG


    圖5中,0,R1,R2,…,RK是曲線上橫坐標取值;0,T1,T2,…,TK是其對應的縱坐標。K的取值可根據(jù)所需溫度精度確定。溫度T的表達式為:
    h.JPG

 

4 測試結果及分析
4.1 溫度采集及顯示
    將程序寫入單片機中,連好硬件線路,通過鍵盤設置好溫度上下限后,單片機開始采集溫度數(shù)值。如圖6所示,是下位機顯示界面,LCD顯示報警溫度的上下限、當前溫度以及下位機的代號。

i.JPG
    經過多次測試,將LCD顯示的溫度與普通溫度計進行比較,得到表2中的數(shù)據(jù)。

j.jpg
    經過測試,溫度誤差在允許范圍內,系統(tǒng)能夠穩(wěn)定的運行。當采集到的溫度數(shù)值超過設定的上下限時,單片機就會發(fā)出報警信號,提醒用戶進行溫度控制。
4.2 功耗測試
    當下位機進入LPM3(睡眠)模式,LCD不顯示,但內部時鐘仍運行,串入電流表,測量電流值,測得電流為4μA左右。證明系統(tǒng)很好地實現(xiàn)了超低功耗。
4.3 無線模塊測試
    將無線模塊連接好,先進行一對一的收發(fā)調試。讓下位機1控制無線收發(fā)模塊發(fā)送一連串有規(guī)律的數(shù),觀察上位機接收的數(shù)字。經過測試,3路下位機系統(tǒng)都可以與上位機進行穩(wěn)定的一對一收發(fā)。然后3個下位機都與上位機通信,進行一對三的收發(fā)調試,上位機接收3路數(shù)據(jù),并且顯示。
    經過測試,3路都能正常的工作,且誤碼率低,工作穩(wěn)定。無線模塊nRF24L01的最大傳輸距離大約為100 m。
4.4 VC界面顯示
    首先進行上位機的硬件連接,連接完成后進行上電初始化并打開PC機的VC界面。當VC界面正常打開時,會出現(xiàn)“串口已打開”的提示;當VC界面無法正常打開時,會出現(xiàn)“串口無法打開”的提示,出現(xiàn)此情況時首先檢測硬件連接,再檢查選定串口通道是否正確。PC機最終顯示如圖7所示。

k.jpg

5 結語
    本文描述了基于MSP430單片機的無線溫度控制系統(tǒng)的軟、硬件設計。通過調試證明系統(tǒng)運行正常,各項指標均能達到設計要求。整個系統(tǒng)集成度高,功耗低,溫度采集和無線傳輸速度快,誤碼低,且具有體積小,重量輕,可靠性高,易于控制和使用靈活等優(yōu)點,因而性價比極高。
    本次設計的溫度精度為0.5℃,可以根據(jù)實際需求進一步提高精度;基站為了實現(xiàn)斷電存儲,可以將數(shù)據(jù)存儲于單片機的FLASH中,上電時單片機從FLASH中取出所需的數(shù)值進行顯示。
 

此內容為AET網站原創(chuàng),未經授權禁止轉載。