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