劉剛 王立香
摘 要:設(shè)計(jì)了基于MSP430F6638單片機(jī)和LabVIEW的溫度采集系統(tǒng)。溫度傳感器采用DS18B20,單片機(jī)通過串口將實(shí)時(shí)采集的溫度數(shù)據(jù)上傳到計(jì)算機(jī),上位機(jī)采用LabVIEW 2017開發(fā),實(shí)現(xiàn)溫度的實(shí)時(shí)監(jiān)控及溫度數(shù)據(jù)的存儲(chǔ)等功能。系統(tǒng)設(shè)計(jì)簡單,具有較高的可靠性和穩(wěn)定性。
關(guān)鍵詞:溫度監(jiān)控;MSP430F6638;LabVIEW;DS18B20
中圖分類號:TP277 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2018)29-0102-02
Abstract: A temperature acquisition system based on MSP430F6638 and LabVIEW is designed. The temperature sensor uses DS18B20, single-chip microcomputer to upload the real-time temperature data to the computer through the serial port. The upper computer is developed with LabVIEW 2017 to realize the functions of real-time temperature monitoring and temperature data storage. The system design is simple and has high reliability and stability.
Keywords: temperature monitoring; MSP430F6638; LabVIEW; DS18B20
1 概述
溫度監(jiān)控在工業(yè)、農(nóng)業(yè)、電子、醫(yī)藥等領(lǐng)域具有重要的應(yīng)用。隨著工業(yè)自動(dòng)化進(jìn)程的不斷發(fā)展,嵌入式系統(tǒng)和虛擬儀器的應(yīng)用越來越廣泛。本文以SP430F6638單片機(jī)為核心,采用數(shù)字溫度傳感器DS18B20,將采集的溫度數(shù)據(jù)通過RS232串口上傳到計(jì)算機(jī),上位機(jī)采用LabVIEW2017進(jìn)行開發(fā)設(shè)計(jì)。上位機(jī)采用數(shù)字和量表以及波形的形式實(shí)時(shí)顯示采集的溫度數(shù)據(jù),通過繪制的溫度曲線,用戶可方便觀察溫度的波動(dòng)變化。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件主要由溫度傳感器、單片機(jī)、串行通信接口構(gòu)成。系統(tǒng)原理框圖如圖1所示。
溫度傳感器采用美國Dallsa公司生產(chǎn)的單總線數(shù)字溫度傳感器DS18B20, 該傳感器集成溫度變換器、A/D變換、接口電路等在一個(gè)芯片中,具有功耗低、性能高、抗干擾能力強(qiáng)、測量溫度范圍廣(-55℃~125℃)的優(yōu)點(diǎn)[1]。
系統(tǒng)MCU采用TI公司的16位超低功耗混合信號處理器MSP430F6638,該芯片片內(nèi)資源豐富、運(yùn)算速度快,是MSP430單片機(jī)系列中的一款高端處理器[2]。芯片內(nèi)集成通用串行通信接口(USCI)模塊,支持不同的通信模式。本系統(tǒng)采用USCI的異步串行通信(UART)方式,通過芯片外部如圖2所示的RS-232電平轉(zhuǎn)換電路,與上位機(jī)PC進(jìn)行通信,將采集的溫度信息實(shí)時(shí)上傳到計(jì)算機(jī),利用上位機(jī)軟件對采集的溫度信息進(jìn)行顯示和分析等操作。
3 上位機(jī)LabVIEW程序設(shè)計(jì)
上位機(jī)軟件采用目前應(yīng)用廣泛的LabVIEW 2017開發(fā)環(huán)境,LabVIEW采用圖形化的設(shè)計(jì)語言,支持多種硬件接口,具有編程方便,任務(wù)開發(fā)周期短等特點(diǎn)[3]。上位機(jī)主要功能包括接收串口上傳的溫度數(shù)據(jù)并以不同方式進(jìn)行顯示,設(shè)置溫度報(bào)警的上限和下限,采集溫度的存儲(chǔ)以及歷史數(shù)據(jù)的查看等功能。
本系統(tǒng)利用LabVIEW的VISA串口通信模塊,通過計(jì)算機(jī)的串口和下位機(jī)連接,本系統(tǒng)采用異步串行通信模式、通信波特率為9600bps、8位數(shù)據(jù)位數(shù),無校驗(yàn)、1位停止位的方式進(jìn)行通信,在實(shí)際應(yīng)用中,上位機(jī)可以根據(jù)下位機(jī)設(shè)置的UART通信模式對通信速率等串行通信參數(shù)進(jìn)行設(shè)置。
為了保證上位機(jī)與下位機(jī)的可靠通信,對傳送數(shù)據(jù)加幀頭,因此,上位機(jī)軟件需要對幀頭進(jìn)行對準(zhǔn)處理。同時(shí),為了防止通信過程中的數(shù)據(jù)丟幀,對從串口接收的數(shù)據(jù)通過隊(duì)列數(shù)據(jù)結(jié)構(gòu)進(jìn)行接收和讀取。
在工農(nóng)業(yè)生產(chǎn)等領(lǐng)域,對采集的溫度數(shù)據(jù)往往需要進(jìn)行后期的分析和處理[4]。因此,對從串口讀取的溫度數(shù)據(jù)的存儲(chǔ)具有重要的應(yīng)用意義和價(jià)值,為了后期的分析和處理的方便,本文對采集的溫度數(shù)據(jù)文件以存儲(chǔ)數(shù)據(jù)的起始時(shí)間命名,如“201806031634.txt”。在實(shí)際應(yīng)用中,用戶可以通過上位機(jī)軟件設(shè)置高溫和低溫報(bào)警的閾值,當(dāng)溫度超過高溫閾值或低于低溫閾值時(shí),上位機(jī)軟件中相應(yīng)的報(bào)警燈會(huì)被點(diǎn)亮。
系統(tǒng)的運(yùn)行界面如圖3所示。
4 結(jié)束語
本文設(shè)計(jì)了一個(gè)基于MSP430F6638和LabVIEW的溫度檢測系統(tǒng),上位機(jī)和下位機(jī)之間通過串口進(jìn)行通信,上位機(jī)界面實(shí)現(xiàn)溫度的實(shí)時(shí)監(jiān)測、溫度報(bào)警、數(shù)據(jù)記錄等功能。系統(tǒng)性能穩(wěn)定,具有較好的實(shí)用價(jià)值和推廣價(jià)值。
參考文獻(xiàn):
[1]李凱,徐晨.基于DS18B20的溫度控制器設(shè)計(jì)研究[J].科學(xué)技術(shù)創(chuàng)新,2018.
[2]陳吳亮,等.基于MSP430的智能家居設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī),2016.
[3]劉剛,王立香,張連俊.LabVIEW 8.20中文版編程及應(yīng)用[Z].2008.
[4]馬草原,郭雙強(qiáng),李國欣.基于LABVIEW的串口調(diào)試與數(shù)據(jù)分析[J].工礦自動(dòng)化,2005.