錢雨晴,付曾磊,張 胤,梁 森
成都理工大學
基于LabVIEW的機床無線測溫系統設計
錢雨晴,付曾磊,張 胤,梁 森
成都理工大學
采用LabVIEW的VISA串口通信技術,設計了一種基于LabVIEW的無線機床測溫系統。系統硬件部分選用C8051F530單片機、DS18B20數字溫度傳感器、nRF無線數據傳輸模塊以及HB240128顯示模塊等進行實時溫度采集處理;軟件部分采用Lab?VIEW設計個人電腦(PC)上位機系統界面,實現了溫度數據的實時處理、波形顯示以及閾值報警等功能。經測試該系統具有操作簡單、易于維護、性能穩定、精度較高等特點。
LabVIEWC8051F530;nRF無線數據傳輸串口通信
溫度監測與控制在工業生產中有大量的應用,一套可靠的測溫系統是機床持續穩定工作的前提。基于LabVIEW的機床無線測溫系統以單片機作為硬件電路的核心,采用圖形化編程軟件LabVIEW,根據實際需求構建實時溫度分析處理軟件,能大大降低系統的開發成本,實現通過硬件電路自身或上位機界面兩種方式對溫度的控制。
該系統采用基于單片機C8051F530最小系統的低功耗高效控制方案,主要由單片機控制模塊、溫度采集模塊、無線數據收發模塊、閾值報警模塊、顯示模塊、電源管理模塊等組成。其系統總體設計框圖如圖1所示。
圖1 系統總體設計框圖
單片機上電后,系統首先通過溫度傳感器采集當前溫度,將采集到的數據傳至C8051F單片機進行存儲,經由nRF無線數據收發模塊將溫度信息顯示在HB240128模塊,實現溫度的實時獲取與閾值報警操作。與此同時,另一無線數據接收控制模塊通過USBTTL模塊實現與LabVIEW上位機的信息交互。多點顯示無線測溫系統通過主從兩種方式實現溫度采集與控制,可適用于不同工作場合,為用戶提供更可靠的操作環境[1]。
2.1 單片機控制模塊
系統采用TI公司的SOC-C8051F530做主控芯片。除MCU最小系統配置外,該單片機通過I/O口與DS18B20連接,采用低電平驅動,從而防止單片機上電復位瞬間高電平引起的誤驅動,增強了電路的穩定性和可靠性,完成溫度信息的采集。通過UART接口將上述采集到的信息傳送至WLK02F95無線數據傳輸模塊,經433MHz高頻調制載波后發射出去,并等待信息接收后解調得到對應溫度值,完成信息的傳輸。單片機和無線傳輸模塊的3.3V電源由AMS1117-3.3V芯片實現。
2.2 nRF發送模塊
nRF發送模塊采用最新的433MHz WLK02F95模塊,數據傳輸穩定、快速,傳輸距離更大,穿透傳輸效應得到加強,同時芯片的小封裝讓整體電路設計更加精簡,在同等傳輸要求下功耗進一步降低[2]。WLK02F95模塊初始化后,模塊處于休眠等待狀態,當接收到單片機傳輸到的數據后,模塊即會在1秒時間內喚醒,并將數據按接收到的先后順序依次打包發送出去。無線數據傳輸模塊與主控MCU之間采用串口傳輸數據方式,并置SETA,SETB引腳為低電平,其引腳與MCU連接方式如圖2所示。
圖2 nRF接收模塊與MCU連接方式
溫度數據通過無線方式進行傳輸與控制。設計中采用兩個接收控制模塊以實現多點顯示的功能,其中每個接收控制模塊包括一個nRF接收模塊和一個主控MCU。nRF接收模塊同樣使用433MHZ WLK02F95模塊,UART數據接口與MCU進行無縫互聯。模塊平時處于休眠等待狀態,一旦收到數據,就把收到的數據通過UART輸出,這時用單片機的中斷接收函數把數據讀取存儲。
主控MCU使用低功耗的工業級SOC-C8051F530,接收控制模塊1的主控MCU控制nRF模塊完成數據接收,并實現HB240128的顯示、閾值報警、監測控制等功能。它的一個串口控制nRF接收模塊,另外一個串口控制HB240128顯示模塊。當單片機接收串口收到nRF模塊的數據時,先進行數據解碼、存儲及再編碼,最后發送串口控制HB240128數據的顯示。接收控制模塊2的主控MCU同接收控制模塊1完成數據的接收并實現與LabVIEW之間的通信。
4.1 HB240128顯示
HB240128模塊為16*16點陣顯示,采用標準RS232接口,缺省速率為9600bps。使用時,只需用到TXD和RXD兩條數據線和VDD,GND兩條電源線。測試中,HB240128模塊RXD端與接收模塊1主控MCU的TXD連接,實現串口的發送命令,完成溫度信息的顯示。
4.2 機床LabVIEW顯示
無線數據接收模塊將接收到的數據通過UART串口傳至接收模塊主控MCU,主控MCU使用I/O口模擬串口的方式通過電平轉換電路實現與PC機的通信。
4.2.1 I/O口擴用
接收控制模塊2的主控MCU以串口方式接收WLK02F95無線數據傳輸模塊的數據,并通過串口通信的方式實現與PC機的通信。然而C8051F530單片機內部只有一個UART接口,但芯片總共有16個I/O口,在這種情況下可選擇串口擴展芯片來解決,但是利用這種擴展方法增大了硬件成本和電路的復雜程度。為簡化電路和降低成本,設計中采用計數法將通用I/O口模擬成串口進行數據通信[3],根據單片機晶振和波特率計算計數器初值,計數器每指令周期加1,直至溢出,以此決定串口接收/發送的時序。
4.2.2 電平轉換電路
電平轉換電路由控制芯片PL2303HX實現單片機串口TTL電平與PC串口電平間的轉換。PL2303HX工作頻率為12MHZ,在工作模式和休眠模式時都具有很低的功耗。硬件電路如圖3所示。
圖3 電平轉換電路
4.2.3 LabVIEW實現
接收控制模塊2的主控MCU與PC機之間的通信采用圖形化編程語言LabVIEW完成。界面設計主要包括溫度采集模塊、溫度顯示模塊(溫度控件數值顯示以及波形圖表顯示)、歷史溫度數據存儲模塊、閾值報警模塊、串口通信設置模塊等5個模塊。其程序框圖如圖4所示。
圖4 上位機系統程序框圖
系統采用VISA串口實現LabVIEW和硬件電路之間的通信[4]。LabVIEW中所有VISA節點都位于程序框圖中。在串口設置的實現上選用枚舉下拉列表作為條件結構的判斷語句以完成波特率,數據位等的選擇,實現與硬件電路的匹配。使用字符串連接函數將當前時間,當前溫度值存儲在歷史溫度數據中,方便直觀的對比和查詢每個時刻的實時溫度,其中歷史溫度數據的存儲和顯示采用移位寄存器來實現。設計中使用屬性節點“Bytes at Port”函數,這個屬性節點能讀取當前串口緩沖區的字節數,將它的輸出連接到VISA READ的“讀取字節數”輸入端上,就能實時讀取緩沖區字節,不會有任何等待。
根據設計的溫度采集系統,首先給下位機系統上電,并將寫好的程序下載至單片機內連續運行,待各部分電路開始工作,打開LabVIEW操作界面,如圖5所示。首先選擇正確的串口號和串口參數,設置溫度上下限為40℃和20℃,開始數據的采集和處理,數據接收窗口不停刷新,實時顯示當前時間及溫度值。同時采用溫度計顯示當前時刻溫度值,并通過波形圖表對實時溫度數據進行趨勢圖的繪制。當實時溫度超出設定上下線溫度范圍,系統就會有紅燈提示并發出報警聲。通過測試結果可以看出,系統較好地實現了溫度顯示與控制功能。
圖5 上位機測試結果
基于單片機和LabVIEW軟件平臺設計了多點顯示無線溫度測量系統,該系統可通過硬件電路自身或上位機界面兩種方式實現溫度控制和處理,實現了與計算機的高度融合,增強了整個系統的靈敏度和靈活性,有利于解決故障干擾等問題,為用戶的使用提供了多重選擇。所設計的溫度采集軟件系統使用方便,成本低,為很多復雜的工程環境提供了簡便有效的測量途徑,經多次實驗測試,系統運行良好。
[1]Fan Yang,Guoping Li,Huipeng Li.Design&development of a remote temperature monitor system of web using virtual instrument[J]. advances in computer,information,and systems sciences and engi?neering.2006:449-452.
[2]徐治根.基于NRF2401的無線溫度傳感器的設計[J].科技資訊,2012,09:12-13.
[3]王新,周良民.利用單片機I/O端口線模擬串行口通訊[J].安徽建筑工業學院學報,2005,13(3):67-68.
[4]劉其和,李云明.LabVIEW虛擬儀器程序設計與應用[M].化學工業出版社,2011:253-260.
錢雨晴(1996-),女,漢族,四川眉山人;
付曾磊(1996-),男,漢族,四川成都人;
張胤(1995-),男,漢族,四川眉山人;
梁森(1994-),男,漢族,河北石家莊人。