摘 要: 為了滿足多用戶同時進行空氣壓縮機性能實驗的要求,,設(shè)計了基于數(shù)據(jù)采集單元和計算機網(wǎng)絡(luò)的實驗測試系統(tǒng),。數(shù)據(jù)采集單元由16位微控制器MC9S12XET256和以太網(wǎng)控制器組成,測量空氣壓縮機的壓力和轉(zhuǎn)速,,接收來自網(wǎng)絡(luò)的命令并上傳數(shù)據(jù),。計算機網(wǎng)絡(luò)采用客戶機/服務(wù)器的結(jié)構(gòu),客戶機通過服務(wù)器分時共享硬件資源,。服務(wù)器負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)和客戶機的采集命令,,接收和保存客戶機的實驗結(jié)果;客戶機負(fù)責(zé)數(shù)據(jù)的處理,,繪制示功圖并上傳實驗結(jié)果,。實際應(yīng)用結(jié)果表明,該系統(tǒng)可以滿足多達(dá)253個用戶共同實驗,,實驗教學(xué)的質(zhì)量和時效性大為提高,。
關(guān)鍵詞: 空氣壓縮機;實驗測試系統(tǒng),;以太網(wǎng),;多線程通信
活塞式空氣壓縮機作為一種通用設(shè)備,廣泛用于工業(yè)和民用等領(lǐng)域,,其性能一般是通過實驗測量示功圖來評判,。示功圖是指壓縮機一個工作循環(huán)中活塞處于不同位置時,氣缸內(nèi)氣體壓力變化的曲線,。根據(jù)示功圖可以計算壓縮機的平均指示壓力,、指示功率、氣缸內(nèi)的實際壓比等,,進而確定最節(jié)能的設(shè)計工況點[1-2],。目前實驗室所用空氣壓縮機實驗臺由交流電機驅(qū)動的空氣壓縮機、計算機、打印機,、求積儀等組成,,實驗時,先根據(jù)采集軟件的提示測量環(huán)境大氣壓力,,然后啟動空氣壓縮機,,在計算機上操作軟件,采集壓力數(shù)據(jù),,打印示功圖,,用求積儀測定示功圖上不同部分的面積,在圖上量出對應(yīng)線段的長度,,計算各性能參數(shù),。實驗過程耗時長、過程繁瑣,、效率低,,且不能保證每個實驗參與者獨立自主完成實驗。
利用以太網(wǎng)作為通信網(wǎng)絡(luò),,配合基于網(wǎng)絡(luò)接口的數(shù)據(jù)采集系統(tǒng)和C/S模式運行的后臺(服務(wù)端和客戶端)管理軟件,,用戶可以快速靈活地控制和訪問采集設(shè)備[3-4]。為此,,通過對空氣壓縮機試驗臺進行升級改造,,設(shè)計了基于以太網(wǎng)的實驗測試系統(tǒng),使得一套實驗設(shè)備可以與多臺計算機聯(lián)網(wǎng),,允許多個用戶同時獨立進行實驗,,只需在客戶機上操作客戶端軟件,即可進行實驗數(shù)據(jù)的分析和計算,,從而提高實驗教學(xué)效果。
1 實驗測試系統(tǒng)基本結(jié)構(gòu)
實驗測試系統(tǒng)由數(shù)據(jù)采集單元和運行后臺管理軟件的計算機網(wǎng)絡(luò)系統(tǒng)組成,,如圖1所示,。數(shù)據(jù)采集單元通過單片機的輸入捕捉模塊測量空氣壓縮機的旋轉(zhuǎn)周期并計算轉(zhuǎn)速,利用周期中斷定時器定時觸發(fā)氣缸壓力信號采樣,,按照采樣周期計算采樣的轉(zhuǎn)角間隔,,并將采集到的數(shù)據(jù)通過以太網(wǎng)傳輸?shù)桨惭b服務(wù)端軟件的計算機(服務(wù)器)上。服務(wù)器負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)采集命令,、采集數(shù)據(jù)和接收客戶機上傳的實驗結(jié)果,。客戶機作為人機交互設(shè)備,,負(fù)責(zé)數(shù)據(jù)采集命令的發(fā)布,、數(shù)據(jù)的處理和分析、繪制示功圖以及上傳實驗結(jié)果。
2 數(shù)據(jù)采集單元硬件設(shè)計
2.1 主控制器模塊
數(shù)據(jù)采集單元的核心采用Freesacle的MC9S12XET256單片機,,該芯片集成有12位分辨率的高速A/D轉(zhuǎn)換模塊,、增強型定時器(ECT)模塊和大容量的RAM。采用片上A/D模塊和ECT的輸入捕捉模塊可使系統(tǒng)硬件結(jié)構(gòu)緊湊,,提高可靠性,。以太網(wǎng)通信采用RTL8019AS以太網(wǎng)控制器,全雙工峰值通信速率可達(dá)10 Mbit/s,。
2.2 壓力信號測量電路
壓縮機氣缸壓力測量電路如圖2所示,。來自壓力變送器的信號通過一階低通濾波器進行濾波,并經(jīng)過一個電壓跟隨器和限幅電路后,,由單片機的A/D模塊轉(zhuǎn)換為數(shù)字信號,。電壓跟隨器用于緩沖、隔離,,提高帶載能力和阻抗匹配,。限幅電路的作用是將信號的幅值限制在0~5 V,保護A/D轉(zhuǎn)換模塊,。
2.3 壓縮機轉(zhuǎn)速測量電路
壓縮機的飛輪邊緣上安裝有一個磁鋼,,磁電轉(zhuǎn)速傳感器固定在壓縮機的機身上,每轉(zhuǎn)產(chǎn)生一個轉(zhuǎn)速脈沖,。傳感器的輸出信號通過整形電路變換成0~5 V方波,,由單片機的輸入捕捉模塊測量轉(zhuǎn)速。信號調(diào)理電路如圖3所示,。
3 數(shù)據(jù)采集單元軟件設(shè)計
數(shù)據(jù)采集采用定時方式,,根據(jù)壓縮機的最高轉(zhuǎn)速和角度分辨率(0.25° CA)要求,確定采樣周期為30 μs,。利用單片機內(nèi)的周期中斷定時器使其每隔30 μs產(chǎn)生一次中斷,,在定時器中斷服務(wù)程序中觸發(fā)一次A/D轉(zhuǎn)換,相鄰兩個采樣點對應(yīng)的角度α為:
α=6·n·T(1)
其中,,n為轉(zhuǎn)速(r/min),,T為采樣周期(s)。
數(shù)據(jù)采集流程如圖4所示,。當(dāng)數(shù)據(jù)采集單元收到來自服務(wù)器的采集命令時,,使能單片機的輸入捕捉模塊,并將記錄轉(zhuǎn)速脈沖的變量n賦值為0,。當(dāng)捕捉到壓縮機轉(zhuǎn)速脈沖信號后,,將變量n賦值為1,同時記錄該脈沖的時刻,,并使能定時器,,定時器周期性觸發(fā)A/D采集,。當(dāng)輸入捕捉模塊捕捉到下一個轉(zhuǎn)速脈沖信號,表明壓縮機曲軸已經(jīng)轉(zhuǎn)過一圈,,一個循環(huán)的數(shù)據(jù)采集已經(jīng)完成,,于是,結(jié)束采集任務(wù)并記錄第二個轉(zhuǎn)速脈沖發(fā)生的時刻,,把測量數(shù)據(jù)臨時保存在單片機的RAM中,,并觸發(fā)數(shù)據(jù)傳送任務(wù),將數(shù)據(jù)傳送到服務(wù)器,。
4 后臺管理軟件
后臺管理軟件是一個基于UDP協(xié)議,,以C/S模式運行的網(wǎng)絡(luò)應(yīng)用程序,分為服務(wù)端軟件和客戶端軟件,,采用面向?qū)ο罂梢暬木幊汰h(huán)境Visual Basic.NET 2010開發(fā),。
4.1 服務(wù)端軟件
服務(wù)端軟件啟動后,將調(diào)用My.Settings訪問用戶和應(yīng)用程序級設(shè)置[5],,初始化配置參數(shù),。當(dāng)用戶啟動通信后,服務(wù)端軟件將創(chuàng)建6個Socket的UDP對象,,其中3個UDP對象用于發(fā)送命令和數(shù)據(jù),;另外3個UDP對象用于創(chuàng)建監(jiān)聽不同端口的線程,分別監(jiān)聽8000,、8001,、8002端口,分別對應(yīng)前臺數(shù)據(jù)接收端口,、客戶機采集命令接收端口和客戶機實驗結(jié)果接收端口,。建立UDP對象和線程,服務(wù)器將等待客戶端發(fā)送采集命令,。當(dāng)UDP的監(jiān)聽線程監(jiān)聽的端口出現(xiàn)數(shù)據(jù)時,,UDP線程通過自定義類的事件代理,觸發(fā)接收數(shù)據(jù)和協(xié)議解析事件[6],。當(dāng)服務(wù)端發(fā)送命令和數(shù)據(jù)時,,會把目的IP地址和數(shù)據(jù)寫入到其中一個UDP對象中,并創(chuàng)建一個臨時線程,,把數(shù)據(jù)發(fā)送到指定的IP地址上。數(shù)據(jù)發(fā)送完成后撤銷臨時線程,,釋放硬件資源,。
當(dāng)服務(wù)器的8001端口出現(xiàn)數(shù)據(jù),服務(wù)端將記錄客戶機發(fā)送數(shù)據(jù)的源IP地址,,并把收到的數(shù)據(jù)轉(zhuǎn)發(fā)到數(shù)據(jù)采集單元中,,啟動數(shù)據(jù)采集,。當(dāng)服務(wù)器收到數(shù)據(jù)后,立即把數(shù)據(jù)組包轉(zhuǎn)發(fā)到提出請求的IP地址客戶機上,,從而減少數(shù)據(jù)采集單元的通信負(fù)擔(dān),。數(shù)據(jù)采集單元只響應(yīng)服務(wù)器的命令請求和發(fā)送數(shù)據(jù),所有命令和數(shù)據(jù)均由服務(wù)器轉(zhuǎn)發(fā),。
如圖5所示,,當(dāng)服務(wù)器收到多個客戶機發(fā)出數(shù)據(jù)采集請求時,服務(wù)端把多臺客戶機的IP地址和請求命令保存到地址數(shù)組中,,并使請求地址指針Pt1指向最新寫入的地址,,檢查采集標(biāo)志CFlag是否為0,若為0,,則啟動地址比較定時器ADT1,。ADT1事件中將比較請求地址指針Pt1和應(yīng)答地址指針Pt2是否一致,當(dāng)Pt2<Pt1時,,說明服務(wù)端有未應(yīng)答的請求,,將提取Pt2指向的IP地址和采集命令,然后將Pt2指向下一個地址,,關(guān)閉定時器ADT1并把CFlag置為1,,把采集命令發(fā)送到采集單元,等待接收數(shù)據(jù),。當(dāng)采集到的數(shù)據(jù)接收并組包完成后,,把數(shù)據(jù)發(fā)送到提取的IP地址的客戶機,并打開定時器ADT1,,從而完成一個客戶機的請求響應(yīng),。服務(wù)端將繼續(xù)等待一個定時器ADT1事件,當(dāng)Pt2=Pt1時,,軟件把CFlag置為0,,關(guān)閉定時器ADT1。
服務(wù)器的8002端口收到數(shù)據(jù)時,,說明有客戶機在上傳實驗結(jié)果,,服務(wù)端收到數(shù)據(jù)協(xié)議包后,提取用戶信息,、實驗報告和分包個數(shù),,然后等待接收分包的數(shù)據(jù),直到接收的分包數(shù)據(jù)個數(shù)與數(shù)據(jù)協(xié)議包中的個數(shù)相等時,,再根據(jù)數(shù)據(jù)包的編號進行組包處理,,還原示功圖數(shù)據(jù)并保存至服務(wù)器。
4.2 客戶端軟件
客戶端軟件安裝在客戶機上,,是壓縮機性能實驗人機交互的關(guān)鍵部分,??蛻舳税l(fā)送采集命令后,將會收到服務(wù)端返回的數(shù)據(jù),,客戶端軟件負(fù)責(zé)對數(shù)據(jù)進行處理和繪制示功圖,,提交實驗結(jié)果[7]。
4.2.1 數(shù)字濾波處理
數(shù)據(jù)采集模塊采集到的數(shù)據(jù)可能包含一些干擾,,為此采用滑動平均數(shù)字濾波對數(shù)據(jù)處理,,如式(2)所示。該算法較為簡單,,對于抑制隨機噪聲并保留陡峭邊沿非常有效,。
其中,Pi和Vi分別是第i個采樣點對應(yīng)的氣缸壓力和工作容積,。
客戶端軟件對壓力數(shù)據(jù)濾波和計算處理后,,繪制的P-α和P-V示功圖如圖6所示。
4.2.3 實驗結(jié)果的生成和上傳
客戶端完成數(shù)據(jù)采集后,,用戶根據(jù)軟件繪出的示功圖分析容積效率和多變指數(shù)因數(shù),。客戶端軟件隨后自動生成一個數(shù)據(jù)協(xié)議包和若干個分包數(shù)據(jù),。數(shù)據(jù)協(xié)議包包含用戶信息,、實驗報告內(nèi)容和示功圖數(shù)據(jù)分包的個數(shù)。每個分包數(shù)據(jù)包大小為30 KB,,根據(jù)示功圖截圖的數(shù)據(jù)生成,,其編號用于服務(wù)端組包??蛻舳税l(fā)送數(shù)據(jù)時,,先發(fā)送數(shù)據(jù)協(xié)議包,再發(fā)送分包數(shù)據(jù),。服務(wù)端軟件收到數(shù)據(jù)協(xié)議包和分包數(shù)據(jù)后,,進行組包處理。
通過對空氣壓縮機試驗臺進行升級改造,,利用MC9S12XET256單片機設(shè)計了數(shù)據(jù)采集單元,,采用Visual Basic.NET開發(fā)了基于以太網(wǎng)的后臺(服務(wù)端和客戶端)管理軟件。該管理軟件具有以下優(yōu)點:
?。?)利用MC9S12XET256的輸入捕捉模塊測量轉(zhuǎn)速,,采用單片機內(nèi)置的周期中斷定時器和A/D模塊采集壓力數(shù)據(jù),采樣轉(zhuǎn)角間隔可達(dá)0.25° CA,。
?。?)利用多線程和UDP協(xié)議,實現(xiàn)數(shù)據(jù)采集,、實驗結(jié)果的發(fā)送和接收,。客戶端利用滑動平均濾波對采集數(shù)據(jù)進行處理,,繪出P-α和P-V示功圖,。
(3)大批量,、多人次的使用表明,,該系統(tǒng)完全滿足多達(dá)253個用戶同時實驗,操作方便,,提高了實驗效率,;實驗結(jié)果保存在服務(wù)器中,便于管理,;每個用戶獨立完成實驗,,提高了實驗教學(xué)效果。
參考文獻(xiàn)
[1] Xie Mujun,,Liu Jian.Design and simulation of air compres-sor performance controller[C].International Conference on Computer, Mechatronics, Control and Electronic Engineering(CMCE),,Changchun,China,,2010,,3:504-506.
[2] 楊紅,胡家順,,修吉平.基于PC的壓縮機示功圖測試,、分析系統(tǒng)[J].壓縮機技術(shù),2003(3):14-16.
[3] AHMED I,,Wong Hong,,SAPILA V.Internet-based remote control using a microcontroller and an embedded Ethemet[C].Proceedings of the 2004 American Control Conference,Boston,,2004,,2:1329-1344.
[4] 朱安邦,黃君良.基于網(wǎng)絡(luò)的多臺空氣壓縮機遠(yuǎn)程監(jiān)控系統(tǒng)[J].東華大學(xué)學(xué)報(自然科學(xué)版),,2005,,31(2):41-46.
[5] 薛梅,鞏艷華,,李洪國,,等.Visual Basic.NET程序設(shè)計基礎(chǔ)[M].北京:高等教育出版社,2013.
[6] 馬玉春,,劉杰民,,王鑫.Visual Basic .NET案例教程[M].北京:機械工業(yè)出版社,2009.
[7] 杜樹旺,,方志民,,王文明,,等.基于PC的改進型活塞式壓縮機性能檢測系統(tǒng)[J].浙江工業(yè)大學(xué)學(xué)報,2005,,33(4):421-424.
[8] 楊偉新,,張曉森.基于DSP的空氣壓縮機示功圖測試系統(tǒng)設(shè)計[J].工業(yè)儀表與自動化裝置,2011(4):38-40.