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