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