基于LabVIEW的無線溫度測控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時隨地手機(jī)看文章
摘要:基于虛擬儀器設(shè)計(jì)理論,以LabVIEW8.5為軟件開發(fā)平臺,低功耗單片機(jī)P89LV51RD2為硬件核心,設(shè)計(jì)了一個實(shí)時溫度測控系統(tǒng)。該系統(tǒng)采用數(shù)字溫度傳感器TMPll2,配合單片機(jī),實(shí)現(xiàn)現(xiàn)場溫度采集系統(tǒng)。通過ZigBee無線通信模塊SZ05與計(jì)算機(jī)進(jìn)行遠(yuǎn)程通信,并由軟件平臺對信號進(jìn)行顯示、分析及存儲,同時實(shí)現(xiàn)溫度的PID控制。該系統(tǒng)功耗低,測量精度高,界面友好,易于操作,可擴(kuò)展性強(qiáng)且成本低。
關(guān)鍵詞:P89LV51RD2;TMPll2;LabVIEW;溫度測控;無線通信;PID控制
引言
傳統(tǒng)的溫度測量儀器,其功能及規(guī)格是單一固定的,用戶無法根據(jù)自己的需要改變。NI公司提出的虛擬儀器概念,徹底打破了傳統(tǒng)儀器由廠家定義、用戶無法改變的模式,使測控儀器發(fā)生了巨大變革。LabVIEW是NI公司開發(fā)的一種虛擬儀器平臺,而目前利用LabVIEW進(jìn)行的開發(fā)通常都是建立在LabVIEW所支持的價格昂貴的數(shù)據(jù)采集板卡之上的。為解決這一問題,本系統(tǒng)采用低功耗單片機(jī)P89LV51RD2和低功耗溫度傳感器TMPll2組成溫度采集節(jié)點(diǎn),并通過無線通信模塊實(shí)現(xiàn)單片機(jī)系統(tǒng)與上位機(jī)的遠(yuǎn)程通信,不僅取代了價格昂貴的數(shù)據(jù)采集卡,大大降低了系統(tǒng)成本,而且實(shí)現(xiàn)了數(shù)據(jù)的無線傳輸。同時,溫度采集節(jié)點(diǎn)的低功耗特性,降低了ZigBee組網(wǎng)時對電源的要求,便于進(jìn)行組網(wǎng)實(shí)現(xiàn)多點(diǎn)測溫。
1 系統(tǒng)的組成及工作原理
圖1給出了系統(tǒng)組成框圖,該溫度測控系統(tǒng)主要由計(jì)算機(jī)、單片機(jī)、溫度測量電路、溫度控制電路以及無線通信電路組成。TMPll2溫度傳感器進(jìn)行溫度采集,將溫度數(shù)字量傳送給P89LV51RD2后,通過數(shù)碼管LED電路進(jìn)行現(xiàn)場溫度顯示。同時,P89LV51RD2將溫度數(shù)據(jù)通過無線通信模塊SZ05發(fā)送給遠(yuǎn)程計(jì)算機(jī),運(yùn)行于PC機(jī)上的LabVIEW控制平臺對溫度進(jìn)行實(shí)時顯示,并進(jìn)行數(shù)據(jù)處理、溫度報(bào)警及數(shù)據(jù)存儲等。另外,控制平臺采樣輸入信號,利用LabVIEW中的PID控制器進(jìn)行PID控制,將控制量通過無線模塊發(fā)送給單片機(jī),單片機(jī)輸出控制量實(shí)現(xiàn)溫度控制。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 溫度測量顯示電路
本系統(tǒng)采用TI公司于2009年6月推出的高精度低功耗數(shù)字溫度傳感器TMPll2來實(shí)現(xiàn)溫度測量。該傳器具有如下特點(diǎn):
◆測溫范圍為-40~125℃;
◆0~65℃溫度范同內(nèi)精度達(dá)O.5℃,-40~125℃范圍內(nèi)精度達(dá)1℃;
◆12位分辨率,測量值的讀取精度達(dá)到0.0625℃;
◆正常操作模式的最大靜態(tài)電流為10μA,關(guān)機(jī)模式則為1μA;
◆電源范圍1.4~3.6 V;
◆SMBus/兩線式串行接口,總線上最多可連接4個該傳感器。
從功耗、精度、接口等方面綜合考慮,采用P89LV51RD2與TMPll2組成溫度測量節(jié)點(diǎn)。雖然P89LV51RD2單片機(jī)沒有專用的I2C總線接口,但可以使用軟件模擬I2C總線,來實(shí)現(xiàn)單片機(jī)與TMPll2的通信。利用單片機(jī)的I/O口P1.0和P1.1分別模擬I2C總線的SDA和SCL信號,故只需將單片機(jī)的P1.O和P1.1引腳分別與TMPll2的SDA和SCL引腳相連(注意需要上拉)。P89LV51RD2通過I2C總線讀取溫度數(shù)據(jù)后,由5個數(shù)碼管顯示溫度值,包括百位(或符號位)、十位、個位與2個小數(shù)位。
2.2 溫度控制電路
溫度控制電路如圖2所示,它主要由NPN型晶體管Q1、TLP521-1型光電耦合器U1和大功率NMOS管Q2組成。上位機(jī)程序控制系統(tǒng)將檢測溫度值與系統(tǒng)設(shè)定值進(jìn)行比較,按照PID控制算法進(jìn)行運(yùn)算,從單片機(jī)的P1.2口輸出占空比可調(diào)的PWM信號,經(jīng)晶體管Q1驅(qū)動后,控制光電耦合器U1的通斷,繼而控制NMOS管Q2(IRF840A)的通斷時間,從而控制加熱對象——大功率電阻R的加熱時間,使其達(dá)到設(shè)定的溫度值。為方便實(shí)驗(yàn),采用的R為大功率線繞電阻,額定功率10W,額定電阻10Ω,采用+12V直流電源供電。由于流過加熱電阻R的電流較大,故為R供電的+12V直流電源必須與為其他模擬器件供電的+12V直流電源分開。
2.3 無線通信電路
無線通信電路采用上海順舟網(wǎng)絡(luò)科技有限公司的SZO5系列ZigBee無線數(shù)據(jù)通信模塊來實(shí)現(xiàn)。該模塊提供RS232、RS485和TTL三種接口標(biāo)準(zhǔn),傳輸距離可達(dá)100~2 000m。為了提高開發(fā)效率,采用該模塊的RS232接口,實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)的串行無線通信,使得軟件編程變得簡單。若系統(tǒng)對距離并無要求,只需使用1根串口線便能實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)的通信,而不必更改軟件設(shè)計(jì),通用性強(qiáng),適合各種應(yīng)用場合。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件采用LabVIEW圖形化編程語言來完成控制平臺的設(shè)計(jì)。LabVIEW提供了一個非常簡潔直觀的圖形化編程環(huán)境,設(shè)計(jì)者可以輕松組建測量系統(tǒng),構(gòu)造友好美觀的操作界面,無需編寫繁瑣的計(jì)算機(jī)程序代碼,大大簡化了程序設(shè)計(jì),提高開發(fā)效率。
圖3給出了上位機(jī)LabVIEW控制平臺的溫度監(jiān)控界面(正在進(jìn)行溫度采集顯示時的界面)。采用模塊化設(shè)計(jì)思想,該系統(tǒng)主要由數(shù)據(jù)采集與顯示、數(shù)據(jù)處理與報(bào)警、數(shù)據(jù)存儲及PID控制等模塊組成。用戶通過鼠標(biāo)在界面上操作,便可實(shí)現(xiàn)溫度的采集、顯示、處理、報(bào)警、保存及控制等功能。
(1)數(shù)據(jù)采集與顯示模塊
數(shù)據(jù)采集與顯示模塊主要是通過計(jì)算機(jī)串口及無線通信模塊接收單片機(jī)發(fā)送來的溫度數(shù)據(jù),并進(jìn)行實(shí)時顯示。為了保證計(jì)算機(jī)與單片機(jī)的順利通信,首先應(yīng)進(jìn)行串口初始化,如設(shè)置串口號COMl、波特率9600、8個數(shù)據(jù)位、1個停止位,無奇偶校驗(yàn)及流控制。程序運(yùn)行時,單擊
“開始采集”按鈕,系統(tǒng)便能接收到單片機(jī)發(fā)送來的溫度數(shù)據(jù),通過溫度儀表控件顯示當(dāng)前采集到的溫度值。此外,數(shù)據(jù)采集模塊所接收到的是一組離散的溫度信號值,通過波形圖表顯示控件進(jìn)行逐點(diǎn)顯示并連線,可繪制出溫度趨勢曲線,拖動曲線圖右下方的滑塊,并可查看歷史溫度曲線。
(2)數(shù)據(jù)處理與報(bào)警模塊
數(shù)據(jù)處理主要實(shí)現(xiàn)對采集到的溫度數(shù)據(jù)進(jìn)行直方圖統(tǒng)計(jì)。單擊系統(tǒng)界面上的“創(chuàng)建直方圖”按鈕,系統(tǒng)便執(zhí)行相應(yīng)程序?qū)囟葦?shù)據(jù)進(jìn)行統(tǒng)計(jì),在波形圖控件中顯示溫度直方圖,便于用戶進(jìn)行統(tǒng)計(jì)分析。
溫度報(bào)警模塊主要實(shí)現(xiàn)高溫報(bào)警和低溫報(bào)警。用戶在系統(tǒng)界面中設(shè)置溫度上下限值,當(dāng)實(shí)際溫度大于溫度上限或小于溫度下限時,系統(tǒng)通過指示燈給出高溫報(bào)警(紅燈亮)或低溫報(bào)警(黃燈亮),提示用戶溫度超限,以確保人員及設(shè)備安全。
(3)數(shù)據(jù)存儲模塊
數(shù)據(jù)存儲模塊主要實(shí)現(xiàn)將采集到的溫度數(shù)據(jù)保存至Excel表格,方便用戶日后調(diào)出歷史溫度數(shù)據(jù)進(jìn)行查閱分析。首先利用“數(shù)組大小”VI獲取采集到的溫度數(shù)組的大小,并判斷其能否被10整除,若能整除,執(zhí)行“條件結(jié)構(gòu)”的“真”分支程序,將采集時間及10個溫度數(shù)據(jù)寫入電子表格文件后換行,然后再進(jìn)行條件判斷。這樣,溫度數(shù)據(jù)便以10個為l行記錄到電子表格文件中,同時每一行的開頭均記錄下了采集本組數(shù)據(jù)的日期與時間。
另外,利用“方法節(jié)點(diǎn)”和“寫入JPEG文件”VI可將溫度曲線以JPEG格式存儲。用戶單擊“保存溫度曲線”按鈕,系統(tǒng)彈出保存對話框,提示用戶將溫度曲線保存為JPEG圖片。
(4)PID控制模塊
LabVIEW提供了功能強(qiáng)大的PID控制器,使用戶避免了繁瑣的PID算法的編寫,提高開發(fā)效率。進(jìn)行PID控制時,首先將溫度信號輸入至PID控制器,并輸入溫度設(shè)定值和PID增益,包括比例系數(shù)Kc、積分時間常數(shù)Ti及微分時間常數(shù)Td。單擊“PID控制”按鈕,程序按照PID算法對溫度進(jìn)行控制,使溫度逼近設(shè)定值。
3.2 下位機(jī)軟件設(shè)計(jì)
P89LV5lRD2單片機(jī)程序采用C語言進(jìn)行設(shè)計(jì)。P89LV51RD2內(nèi)部提供了3個16位定時器/計(jì)數(shù)器以及1個全雙工串行通信口,滿足本系統(tǒng)的軟件設(shè)計(jì)要求。圖4給出了單片機(jī)控制程序流程。
在系統(tǒng)初始化時,設(shè)置8位串行口模式1,以及單片機(jī)的定時器T2工作在波特率發(fā)生器模式,產(chǎn)生串行通信所需的波特率。再令單片機(jī)的定時器T0工作在定時器模式,用于產(chǎn)生指定的控制周期。在TO的中斷程序中,首先將采集到的溫度數(shù)據(jù)通過無線模塊發(fā)送給上位機(jī)進(jìn)行實(shí)時顯示,然后上位機(jī)利用LabVIEW中的PID控制器,確定系統(tǒng)輸出控制量的大小并發(fā)送回單片機(jī),單片機(jī)根據(jù)控制量輸出PWM信號,驅(qū)動控制電路對被測對象進(jìn)行溫度控制。
結(jié)語
本文設(shè)計(jì)的溫度測控系統(tǒng)以低功耗的單片機(jī)系統(tǒng)為采集模塊,代替了價格昂貴的數(shù)據(jù)采集板卡,成本低,并以LabVIEW開發(fā)的軟件平臺進(jìn)行溫度處理與控制,與傳統(tǒng)儀器相比,具有界面友好、易于操作及擴(kuò)展性強(qiáng)等特點(diǎn)。實(shí)驗(yàn)表明,本系統(tǒng)可以作為教學(xué)實(shí)驗(yàn)系統(tǒng)的一部分,嵌入到虛擬儀器實(shí)驗(yàn)平臺中,供學(xué)生學(xué)習(xí)LabVIEW編程以及虛擬儀器與單片機(jī)的通信。另外,可以將多個節(jié)點(diǎn)進(jìn)行組網(wǎng),形成一個分布式無線網(wǎng)絡(luò),實(shí)現(xiàn)多點(diǎn)溫度測量與控制,具有良好的應(yīng)用前景。