基于LabWindows/CVI多點(diǎn)無線溫度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時隨地手機(jī)看文章
摘要:給出了一種基于C8051F020單片機(jī)實(shí)現(xiàn)無線溫度采集的系統(tǒng)方案。將AT24C16數(shù)據(jù)儲存電路、AD590溫度采集電路、實(shí)時時鐘電路、無線收發(fā)模塊和C8051F020控制電路置于采集環(huán)境中,采集到的數(shù)據(jù)可根據(jù)用戶需要通過無線模塊向主機(jī)發(fā)送,主機(jī)只需發(fā)送不同的控制命令,即可完成多點(diǎn)無線溫度采集,然后主機(jī)再將接收的數(shù)據(jù)通過串口發(fā)給PC機(jī),用戶在LabWindows/CVI實(shí)現(xiàn)的PC機(jī)數(shù)據(jù)處理界面下,完成系統(tǒng)操作。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)很好地達(dá)到了設(shè)計(jì)目的。
關(guān)鍵詞:C8051F020單片機(jī);AD590;LabWindows/CVI;無線收發(fā)模塊
測控軟件開發(fā)平臺Labwindows/CVI虛擬儀器在對數(shù)據(jù)采集、處理和分析方面得到了廣泛的應(yīng)用。本文介紹了一種基于C8051F020的溫度采集卡和LabWindows/CVI虛擬儀器的多點(diǎn)無線溫度采集系統(tǒng),闡述硬件系統(tǒng)和軟件系統(tǒng)實(shí)現(xiàn)多點(diǎn)無線溫度采集的過程。硬件系統(tǒng)設(shè)計(jì)包括USB轉(zhuǎn)串口、無線收發(fā)模塊、溫度采集等;軟件系統(tǒng)設(shè)計(jì)包括用戶界面、串口通信、無線發(fā)射、接收處理等。
1 整體方案設(shè)計(jì)
從機(jī)通過溫度傳感器AD590采集環(huán)境溫度產(chǎn)生電流信號,該電流信號經(jīng)信號調(diào)理電路完成I/V轉(zhuǎn)換,送入單片機(jī)進(jìn)行A/D轉(zhuǎn)換,單片機(jī)將轉(zhuǎn)化得到的信息保存到AT24C16中,同時保存時鐘電路的實(shí)時時間。用戶只需簡單操作上位PC機(jī)軟件界面,發(fā)出相應(yīng)的控制指令,通過串口傳給主機(jī),主機(jī)發(fā)送地址和控制指令,若與某從機(jī)的地址匹配,則返回相應(yīng)指令;若地址不匹配,則不做處理。主機(jī)收到相應(yīng)匹配應(yīng)答指令后,向從機(jī)發(fā)送溫度傳輸指令,從機(jī)收到后,將保存在AT24C16中的信息發(fā)給主機(jī)。主機(jī)則將接收到的信息由串口傳給上位PC機(jī),用戶只需在上位機(jī)操作界面進(jìn)行操作就可以觀察到相應(yīng)區(qū)域的溫度變化情況。當(dāng)從機(jī)地址重疊,主機(jī)接收到錯誤信息時,可通過上位機(jī)發(fā)送新地址,修改從機(jī)地址,以確保區(qū)域內(nèi)各個子系統(tǒng)的穩(wěn)定運(yùn)行。
2 硬件電路設(shè)計(jì)
2.1 硬件總體設(shè)計(jì)
整個系統(tǒng)主要由從機(jī)采集、存儲和發(fā)射系統(tǒng),主機(jī)接收和處理系統(tǒng)和上位PC機(jī)操作界面三部分組成。 從機(jī)部分由AT24C16數(shù)據(jù)儲存電路、AD590溫度采集調(diào)理電路、實(shí)時時鐘電路、無線模塊和C8051F020控制電路構(gòu)成;主機(jī)部分由無線接收模塊和串口轉(zhuǎn)USB電路組成;上位PC機(jī)操作界面用于方便用戶操作。系統(tǒng)總體電路(包括主機(jī)系統(tǒng)和從機(jī)系統(tǒng))設(shè)計(jì)框圖如圖1所示。
2.2 從機(jī)部分電路
信息儲存電路主要由AT24C16構(gòu)成,AT24C16是具有I2C總線接口的E2PROM,其存儲容量為16 KB,字節(jié)地址空間為0~2 047。AT24C16的數(shù)據(jù)輸入引腳有過濾外部擾動信號的作用,在智能控制中廣泛用于常數(shù)、重要參數(shù)、系數(shù)參數(shù)的存放。
溫度采集部分采用AD公司的AD590單片集成兩端感溫電流源,它是利用PN結(jié)正向電流與溫度關(guān)系的原理制成的,具有良好的互換性和性能穩(wěn)定,使用方便,抗干擾能力強(qiáng),輸出阻抗高等優(yōu)點(diǎn)。將AD590的輸出信號轉(zhuǎn)化為電壓信號,處理后送給單片機(jī)A/D采樣,如圖2所示。
實(shí)時時鐘電路采用Dallas的高性能、低功耗、帶RAM的I2C總線的串行時鐘/日歷芯片DS1302。I2C總線通過使能交叉開關(guān)配置在C8051F0 20的P0.0(SDA)和P0.1(SCL),并加上拉電阻4.7 kΩ,完成DS1302的初始化和時間數(shù)據(jù)的傳輸。
無線模塊由PT2262編碼電路、PT2272解碼電路和315 MHz無線發(fā)射模塊組成。PT2262/2272是PTC公司生產(chǎn)的一種CMOS工藝、低功耗、低價(jià)位通用編解碼電路,PT2262/2272最多可有12位(A0~A11)三態(tài)地址端管腳(懸空、接高電平、接低電平),任意組合可提供531 441個地址碼,本系統(tǒng)從機(jī)地址碼固定且不同,且從機(jī)地址碼和主機(jī)地址碼均由單片機(jī)控制。PT2262最多可有6位數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17腳串行輸出。當(dāng)PT2262的17腳為高電平時,315 MHz的高頻發(fā)射電路起振并發(fā)射等幅高頻信號,當(dāng)17腳為低電平時,315 MHz的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全受控于PT2262的17腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100%的調(diào)幅。實(shí)際運(yùn)用時要注意PT2262每次發(fā)射時至少發(fā)射4組字碼,PT2272只有在連續(xù)兩次檢測到相同地址碼加數(shù)據(jù)碼時才會驅(qū)動相應(yīng)的數(shù)據(jù)輸出端為高電平和驅(qū)動VT端同步為高電平。
2.3 主機(jī)部分電路
串行通信是一種適用于兩機(jī)之間的通信,通過通信接口,兩機(jī)的發(fā)送、接收口按照預(yù)定的串口地址、傳輸速率(波特率)、數(shù)據(jù)格式、校驗(yàn)方式、傳輸方向完成數(shù)據(jù)交換。其中RS 232串行通信端口是計(jì)算機(jī)中常見的總線形式,在測量測試和儀器控制的過程中大量使用。然而現(xiàn)在筆記本電腦很少有串口,大多數(shù)PC機(jī)提供USB接口,所以系統(tǒng)采用了一種基于PL2303HX芯片的USB轉(zhuǎn)串口的方法。PL2303HX是Prolific公司推出的USB轉(zhuǎn)RS 232接口的轉(zhuǎn)換芯片,能解決RS 232全雙工異步串行通信與USB功能接口的連接,支持完整的RS 232接口,可編程波特率,并可為外部串行口提供電源,且低功耗、低成本。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)部分分為單片機(jī)程序設(shè)計(jì)和LabWindows/CVI程序設(shè)計(jì)兩部分。系統(tǒng)總體流程圖如圖3所示。
3.1 單片機(jī)程序
單片機(jī)程序分為主機(jī)系統(tǒng)程序和從機(jī)系統(tǒng)程序。
主機(jī)程序主要包括數(shù)據(jù)的無線發(fā)射、接收和串口通信。從機(jī)程序主要包括溫度、時間采集,AT24C16芯片的讀/寫和無線發(fā)射、接收。
MCU與上位PC機(jī)通信協(xié)議如下:
串口設(shè)置:RS 232C或TTL電平、115 200 b/s、8位數(shù)據(jù)位、1位停止位、無奇偶位;MCU UART端接收來自上位PC機(jī)的控制指令,也向上位PC機(jī)傳輸來自各個從機(jī)采集的溫度數(shù)據(jù)。MCU端發(fā)送數(shù)據(jù)約定如下:
格式:0x55 Temperature Hour Minute Second;其中:0x55為數(shù)據(jù)頭;Temperature為從機(jī)實(shí)際采集的溫度數(shù)據(jù);Hour Minute Second為從機(jī)采集溫度數(shù)據(jù)的時分秒信息,變量類型均為字符型。
上位PC機(jī)向主機(jī)MCU發(fā)送的數(shù)據(jù)格式如下:
格式:0xAA ChannelAddress;
其中:0xAA為數(shù)據(jù)頭,ChannelAddress為上位PC機(jī)要求上傳溫度數(shù)據(jù)的從機(jī)地址,變量類型均為字符型。
如果上位機(jī)需要更改從機(jī)的地址信息,則發(fā)送命令格式如下:
格式:0xBB ChannelAddressA ChannelAddressB;其中:0xBB為數(shù)據(jù)頭;ChannelAddressA為上位PC機(jī)要求上傳溫度數(shù)據(jù)的從機(jī)原地址;ChannelAddressB為上位PC機(jī)要求上傳溫度數(shù)據(jù)的從機(jī)新地址,變量類型均為字符型。
3.2 LabWindows/CVI上位PC機(jī)界面程序
LabWindows/CVI有許多標(biāo)準(zhǔn)函數(shù)庫。串口通信設(shè)計(jì)時,采用RS 232函數(shù)庫提供的串口通訊控制函數(shù)和I/O函數(shù)。用戶通過選擇界面上相應(yīng)區(qū)域的按鈕,按下溫度采集按鈕,此時上位PC機(jī)發(fā)送一次該區(qū)域溫度采集指令,下位機(jī)則傳送該區(qū)域存儲的溫度數(shù)據(jù),上位機(jī)將收到的溫度數(shù)據(jù)保存到數(shù)組中,再通過畫圖函數(shù)繪制動態(tài)溫度曲線。該上位PC機(jī)軟件操作界面可以將不同從機(jī)的溫度數(shù)據(jù)顯示在同一界面上,方便用戶進(jìn)行溫度數(shù)據(jù)對比。實(shí)際顯示效果如圖4所示。
4 結(jié)語
本系統(tǒng)在硬件和軟件上都很好地實(shí)現(xiàn)了既定要求,既能夠修改從機(jī)地址碼,又能動態(tài)顯示溫度情況,對不同區(qū)域的溫度采集也較為準(zhǔn)確,操作界面便于管理人員使用。實(shí)驗(yàn)結(jié)果表明,以無線收發(fā)裝置取代電纜線傳輸數(shù)據(jù),可降低功耗,節(jié)約成本,安裝簡單靈活,靈敏度高,可靠性強(qiáng),可移植性強(qiáng)??諘绛h(huán)境下,無線傳輸距離超過150 m;遮擋情況下,無線信號可繞過多層建筑物??梢栽黾又欣^站,以增加傳輸距離。數(shù)據(jù)編碼組數(shù)可以任意擴(kuò)展。