基于MSP430和VB的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
進(jìn)入21世紀(jì),人們對(duì)科學(xué)生產(chǎn)、自動(dòng)化服務(wù)有了更深的認(rèn)識(shí),溫度監(jiān)測(cè)更是在很多領(lǐng)域備受關(guān)注。傳統(tǒng)的實(shí)地?cái)?shù)據(jù)測(cè)量局限于測(cè)量方法單一測(cè)量數(shù)據(jù)不連續(xù),并且時(shí)效性差,隨著計(jì)算機(jī)技術(shù)、嵌入式技術(shù)、通信技術(shù)的發(fā)展,在線實(shí)時(shí)監(jiān)控系統(tǒng)已經(jīng)越來(lái)越多的運(yùn)用于我們的日常生活中,對(duì)提升生產(chǎn)生活水平具有重要意義。
近年來(lái)隨著工業(yè)和農(nóng)業(yè)現(xiàn)代化發(fā)展,智能化生產(chǎn)已經(jīng)是一種生產(chǎn)趨勢(shì),高速發(fā)展的嵌入式技術(shù)是其中主要的推動(dòng)力。針對(duì)目前集群現(xiàn)場(chǎng)溫度采集,提出使用單片機(jī)自動(dòng)采集和上報(bào)溫度數(shù)據(jù),省去人工采集環(huán)節(jié),而且保證了數(shù)據(jù)實(shí)時(shí)性和完整性。而MSP430單片機(jī)由于具有超低功耗,低成本,處理能力強(qiáng),運(yùn)算速度快等特點(diǎn),成為了工業(yè)數(shù)據(jù)采集的一個(gè)很好的選擇。
1 系統(tǒng)總體設(shè)計(jì)
溫度監(jiān)測(cè)系統(tǒng)由1臺(tái)計(jì)算機(jī),1片MSP430F149單片機(jī)作為主控芯片,若干DS18B20采集溫度組成,系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)圖如圖1所示。
各監(jiān)測(cè)點(diǎn)的DS18B20由單片機(jī)逐個(gè)發(fā)送相應(yīng)指令負(fù)責(zé)采集現(xiàn)場(chǎng)溫度數(shù)據(jù),然后通過(guò)RS232串口通訊發(fā)送給上位機(jī),上位機(jī)負(fù)責(zé)接收和顯示采集到的溫度信息,并將采集到的溫度按時(shí)間先后繪成對(duì)應(yīng)的折線圖,此外,可以通過(guò)上位機(jī)隨時(shí)發(fā)送召測(cè)指令獲取當(dāng)前溫度數(shù)據(jù)。
2 監(jiān)測(cè)系統(tǒng)硬件設(shè)計(jì)
2.1 溫度傳感器
溫度傳感器與單片機(jī)連接硬件結(jié)構(gòu)如圖2所示。
溫度傳感器模塊采用DS18B20,工作電壓范圍是3.0~5.5 V,在寄生電源方式下可由數(shù)據(jù)線供電,它的測(cè)量溫度范圍為-55~+125℃,支持”一線總線”接口,每個(gè)DS18B20的光刻ROM中出廠前就被光刻64位序列號(hào),可以看作是它的地址序列碼。光刻ROM的作用是使每一個(gè)DS18B 20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
2.2 主控芯片選擇
主控芯片采用美國(guó)德州儀器公司的16位單片機(jī)MSP430F149,其工作電壓為1.8V~3.6V;CPU運(yùn)行正交的精簡(jiǎn)指令集;MSP430F149具有5種低功耗模式;它還具有豐富的片上外圍模塊,其16位定時(shí)器Timer A具有4種工作模式,可同時(shí)進(jìn)行多個(gè)捕獲/比較功能;2個(gè)串行通信接口
USART0與USART1;FLASH存儲(chǔ)器多達(dá)60 KB,擦寫(xiě)次數(shù)可達(dá)10萬(wàn)次。
2.3 電源模塊設(shè)計(jì)
電源模塊設(shè)計(jì),主要采用輸出電壓固定的低壓差三端穩(wěn)壓器LM2940將輸入8~12 V電壓穩(wěn)壓至5 V輸出,由MSP430F149芯片的工作電壓決定需要再進(jìn)行一次穩(wěn)壓,這里選用AMS1117的固定輸出3.3 V版,再將5 V電壓穩(wěn)壓至3.3 V給主控芯片供電。具體穩(wěn)壓電路如圖3、圖4所示。
2.4 通訊接口設(shè)計(jì)
RS232接口采用美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開(kāi)發(fā)并于1969年公布的通信協(xié)議。該總線廣泛使用在微機(jī)數(shù)據(jù)終端設(shè)備DTE和數(shù)據(jù)通信設(shè)備DCE之間。微機(jī)配備RS232接口不僅可以與多種儀器和外設(shè)連接,而且通過(guò)它還可以在兩臺(tái)微機(jī)之間進(jìn)行近程和遠(yuǎn)程的通信。 RS232采用的是負(fù)邏輯,所要求的電平不是TTL電平,但系統(tǒng)的其它數(shù)字硬件都采用TTL電平,因此,兩者通信時(shí),必須有相應(yīng)的電平轉(zhuǎn)換電路。本系統(tǒng)采用MAX232接口芯片,它可以滿足TTL向RS232和RS232向TTL電平轉(zhuǎn)換的功能。
3 監(jiān)測(cè)系統(tǒng)軟件設(shè)計(jì)
3.1 DS18B20軟件設(shè)計(jì)
本設(shè)計(jì)是多個(gè)DS18B20并聯(lián)監(jiān)測(cè)各點(diǎn)溫度,所以每次采集溫度之前需發(fā)送讀取ROM指令讀取對(duì)應(yīng)DS18B20的序列號(hào),確定采集點(diǎn),然后發(fā)送溫度轉(zhuǎn)換指令,等待溫度轉(zhuǎn)換完畢后,讀取所測(cè)定的溫度。具體程序流程如圖5所示。
3.2 下位機(jī)軟件設(shè)計(jì)
溫度檢測(cè)系統(tǒng)需要定時(shí)將采集到的溫度數(shù)據(jù)上報(bào)給上位機(jī),本系統(tǒng)采用MSP430F149的16位定時(shí)器Timer B的增計(jì)數(shù)模式,當(dāng)計(jì)數(shù)到跟TBC CR0一樣的時(shí)候,就返回0,重新計(jì)數(shù),同時(shí)產(chǎn)生一個(gè)中斷標(biāo)志,觸發(fā)對(duì)應(yīng)的計(jì)數(shù)中斷程序,將溫度數(shù)據(jù)發(fā)送給上位機(jī);同時(shí)為了能隨時(shí)召測(cè)到實(shí)時(shí)溫度,若上位機(jī)向單片機(jī)發(fā)送指令,則觸發(fā)串口中斷,進(jìn)入中斷服務(wù)程序,讀取對(duì)應(yīng)檢測(cè)點(diǎn)溫度并發(fā)送給上位機(jī),或者將對(duì)應(yīng)數(shù)值賦值給定時(shí)變量,若沒(méi)有檢測(cè)到串口中斷則進(jìn)入低功耗模式。具體程序流程如圖6、圖7所示。
3.3 上位機(jī)軟件設(shè)計(jì)
本系統(tǒng)上位機(jī)軟件是使用Microsoft公司的VisualBasic6.0編寫(xiě),主要使用MSComm控件實(shí)現(xiàn)PC機(jī)和下位機(jī)進(jìn)行通信,將下位機(jī)測(cè)得的溫度上傳到PC機(jī)中,同時(shí)也通過(guò)上位機(jī)向下位機(jī)發(fā)送召測(cè)指令(本系統(tǒng)設(shè)計(jì)指令為255。),獲取實(shí)時(shí)溫度;然后使用MSChart控件將上報(bào)的溫度數(shù)據(jù)依時(shí)間先后繪成折線圖,最后,用到timer控件,記錄溫度上報(bào)時(shí)間。
4 系統(tǒng)測(cè)試
首先打開(kāi)上位機(jī)軟件,點(diǎn)擊“打開(kāi)串口”按鈕打開(kāi)通訊端口,接著給下位機(jī)上電,然后設(shè)置召測(cè)時(shí)間間隔,本系統(tǒng)測(cè)試時(shí)間設(shè)置為30分鐘,伴隨實(shí)時(shí)發(fā)送召測(cè)指令獲取當(dāng)前溫度量,測(cè)試結(jié)果如圖8所示,對(duì)應(yīng)溫度計(jì)測(cè)量結(jié)果如表1所示。
5 結(jié)論
結(jié)合溫度監(jiān)測(cè)點(diǎn)集群分布的現(xiàn)場(chǎng)測(cè)試,利用MSP430F149主控采集各點(diǎn)溫度量,利用RS232通訊將數(shù)據(jù)傳送給上位機(jī),最后通過(guò)上位機(jī)觀察監(jiān)測(cè)數(shù)據(jù)和實(shí)際溫度計(jì)測(cè)量結(jié)果基本一致,實(shí)現(xiàn)了對(duì)集群現(xiàn)場(chǎng)溫度量的自動(dòng)召測(cè),結(jié)果達(dá)到了預(yù)期要求。