李 維 孫培巖
(大連理工大學(xué)能源與動力學(xué)院,遼寧 大連 116024)
隨著計算機(jī)、互聯(lián)網(wǎng)技術(shù)、智能手機(jī)和控制理論的發(fā)展,傳統(tǒng)柴油機(jī)試驗(yàn)臺架通過結(jié)合物聯(lián)網(wǎng)技術(shù)迎來了新一輪技術(shù)變革。調(diào)速器的測試環(huán)節(jié)是內(nèi)燃機(jī)生產(chǎn)制造過程中的重要環(huán)節(jié)。通過耐久臺架試驗(yàn),對調(diào)速器進(jìn)行穩(wěn)定性和安全性的測試,可以保證柴油機(jī)整個調(diào)速系統(tǒng)的穩(wěn)態(tài)特性和動態(tài)特性[1]。建立“物聯(lián)網(wǎng)式”的調(diào)速器試驗(yàn)臺能夠推動試驗(yàn)臺的信息化和智能化,幫助試驗(yàn)人員對試驗(yàn)數(shù)據(jù)進(jìn)行處理和分析,提高調(diào)速器工況參數(shù)的精確性和時效性。文章基于物聯(lián)網(wǎng)的調(diào)速器試驗(yàn)臺安卓系統(tǒng),結(jié)合數(shù)據(jù)庫、無線通信技術(shù),設(shè)計一款適用于試驗(yàn)臺數(shù)據(jù)遠(yuǎn)程傳輸和管理的系統(tǒng)軟件,使試驗(yàn)人員在安卓移動端可以實(shí)時獲取試驗(yàn)臺試驗(yàn)數(shù)據(jù),實(shí)現(xiàn)對試驗(yàn)數(shù)據(jù)的快速檢索和數(shù)據(jù)處理。
調(diào)速器試驗(yàn)臺通過STC8H4K64單片機(jī)和磁電轉(zhuǎn)速傳感器獲取發(fā)動機(jī)在穩(wěn)態(tài)運(yùn)行、突加和突減負(fù)載狀態(tài)時的轉(zhuǎn)速數(shù)據(jù),WiFi和TCP協(xié)議存入數(shù)據(jù)庫。安卓移動端通過檢索數(shù)據(jù)庫以及在本地進(jìn)行數(shù)據(jù)處理,得到電子調(diào)速器性能指標(biāo),評測調(diào)速器的靜態(tài)和動態(tài)穩(wěn)定性。設(shè)計開發(fā)采用C/S架構(gòu),即客戶端/服務(wù)器(Client/Server)架構(gòu),包括數(shù)據(jù)庫、Web服務(wù)器和App客戶端。數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫對試驗(yàn)數(shù)據(jù)進(jìn)行存儲,建立用戶信息表、臺架信息表和試驗(yàn)機(jī)數(shù)據(jù)表。用戶信息表存放用戶登錄名和密碼;臺架信息表存放調(diào)速器信息、試驗(yàn)組號、工號、試驗(yàn)時間;試驗(yàn)數(shù)據(jù)表存放組號和轉(zhuǎn)速,避免數(shù)據(jù)冗余,提升檢索效率[2]。為簡化開發(fā)過程,安卓端采用JDBC直連數(shù)據(jù)庫。JDBC提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口,可以通過調(diào)用接口的方法,完成應(yīng)用程序與數(shù)據(jù)庫服務(wù)器之間的連接服務(wù),使用標(biāo)準(zhǔn)的SQL命令對數(shù)據(jù)庫進(jìn)行CRUD等操作,確保數(shù)據(jù)事務(wù)的正常進(jìn)行。JDBC具有簡單、安全的特點(diǎn),使用JDBC在簡化數(shù)據(jù)庫連接開發(fā)的同時能夠提高開發(fā)速度。
系統(tǒng)總體結(jié)構(gòu)設(shè)計如圖1所示。
由于調(diào)速器試驗(yàn)臺數(shù)據(jù)采集系統(tǒng)采集的數(shù)據(jù)有干擾信號,使數(shù)據(jù)采集系統(tǒng)顯示值不穩(wěn)。為對信號進(jìn)行準(zhǔn)確測量,需要對被測信號進(jìn)行濾波處理[1-3]。滑動平均濾波法的實(shí)現(xiàn)較為簡單,對于一些常見問題,滑動平均濾波法可以在減少隨機(jī)白噪聲的同時保持最清晰的階躍響應(yīng)。文章選擇30倍的算法滑動窗口,保證在最低的邊緣清晰度的情況下,對隨機(jī)噪聲的抑制效果較好[3]。
對于樣本量為n的數(shù)據(jù)序列x,滑動平均序列運(yùn)算公式為:
式中:k——滑動長度,k=30。
在實(shí)際算法設(shè)計中由式(1)計算得出j=1的值(即處理后第一個數(shù)據(jù)的值)。j>1時,計算公式為:
經(jīng)過滑動平均濾波處理后的數(shù)據(jù)可以用于計算調(diào)速器的各項(xiàng)性能指標(biāo),調(diào)速器性能好壞的評測主要分為動態(tài)特性和靜態(tài)特性[4-5]。
內(nèi)燃機(jī)調(diào)速器的動態(tài)特性性能指標(biāo)主要有4個。最高轉(zhuǎn)速:內(nèi)燃機(jī)在突卸負(fù)載后的瞬間達(dá)到的最大轉(zhuǎn)速。瞬時調(diào)速率:內(nèi)燃機(jī)在穩(wěn)定轉(zhuǎn)速運(yùn)行時,突卸或突加負(fù)載后瞬間達(dá)到的最高或最小轉(zhuǎn)速與負(fù)載變化前穩(wěn)定轉(zhuǎn)速的差值與標(biāo)定轉(zhuǎn)速的比值即為瞬時調(diào)速率;穩(wěn)定時間(轉(zhuǎn)速波動時間):內(nèi)燃機(jī)負(fù)載突變后,從轉(zhuǎn)速瞬間變化到轉(zhuǎn)速穩(wěn)定在設(shè)定范圍所經(jīng)歷的時間,穩(wěn)定時間的長短是反應(yīng)調(diào)速器穩(wěn)定性能好壞的主要標(biāo)志之一;波動次數(shù):內(nèi)燃機(jī)負(fù)載突變后,轉(zhuǎn)速重新達(dá)到穩(wěn)定所用時間內(nèi)的波動次數(shù)。
式中:δ1——瞬時調(diào)速率(%);nmax——突加負(fù)荷前的瞬時最高轉(zhuǎn)速(r/min);nmin——突加負(fù)荷前的最低轉(zhuǎn)速(r/min);n0——柴油機(jī)標(biāo)定轉(zhuǎn)速,即調(diào)速器的額定轉(zhuǎn)速(r/min)。
內(nèi)燃機(jī)調(diào)速器的靜態(tài)特性性能指標(biāo)主要有2個。轉(zhuǎn)速波動范圍:內(nèi)燃機(jī)在負(fù)載不變的工況下運(yùn)行,在一定的時間間隔內(nèi)最高轉(zhuǎn)速和最低轉(zhuǎn)速分別與額定轉(zhuǎn)速之差;轉(zhuǎn)速波動率:內(nèi)燃機(jī)在負(fù)載不變的工況下運(yùn)行,在一定的時間間隔內(nèi)最高轉(zhuǎn)速和最低轉(zhuǎn)速之差與額定轉(zhuǎn)速的比值即為轉(zhuǎn)速波動率。
開發(fā)的Android應(yīng)用程序采用模塊化的設(shè)計方式,由登錄界面、注冊界面、檢索界面、繪圖界面4個界面組成。每個界面都有各自xml布局和Java功能文件。
3.1.1 界面構(gòu)成
Android應(yīng)用程序界面構(gòu)成如圖2所示。
圖2 Android應(yīng)用程序界面構(gòu)成
3.1.2 登錄界面
主界面即為登錄界面,驗(yàn)證登錄人員身份。xml中采用LinearLayout的布局方式,對用戶名和密碼進(jìn)行核實(shí)。對密碼錯誤或未輸入賬號密碼等情況,通過Toast消息方式提示用戶核對登錄信息,核實(shí)成功后會自行跳轉(zhuǎn)至檢索界面。
登錄界面如圖3所示。
圖3 Android應(yīng)用程序登錄界面
3.1.3 檢索界面
檢索界面通過LinearLayout和RelativeLayout嵌套進(jìn)行使用,起始時間、結(jié)束時間、試驗(yàn)臺號、調(diào)速器序列號、工號作為檢索條件。為了優(yōu)化檢索條件,需要對單個或多個條件進(jìn)行優(yōu)化。在SQL語句中采用占位符和對檢索條件是否為空進(jìn)行判斷,實(shí)現(xiàn)任意條件均可進(jìn)行檢索,檢索結(jié)果以ListView組件呈現(xiàn)。用戶通過點(diǎn)擊ListView中的檢索結(jié)果直接跳轉(zhuǎn)至繪圖界面。
檢索界面如圖4所示。
圖4 Android應(yīng)用程序檢索界面
3.1.4 繪圖界面
繪圖界面以LinearLayout 的布局方式,使用MpChart專用的LineChart組件作為圖表的顯示容器。LineChart默認(rèn)為折線圖,通過setCircleRadius方法和setMode方法可以將折線圖轉(zhuǎn)為曲線圖。MpChart的LineChart類提供了較多的屬性方法可以對圖表進(jìn)行設(shè)置。文章采用了曲線、顏色、線寬以及坐標(biāo)軸等設(shè)置。
繪圖界面如圖5所示。
通過建立DbOpenHelper類存放數(shù)據(jù)庫連接代碼,設(shè)計getConnection和closeAll兩個公有靜態(tài)方法作為連接數(shù)據(jù)庫和關(guān)閉數(shù)據(jù)的公有方法;設(shè)計UserDao類繼承DbOpenHelper類作為數(shù)據(jù)庫操作類。直連數(shù)據(jù)庫是個耗時操作,需要建立線程池[6]。在UserDao類中,通過SQL語句和預(yù)編譯集實(shí)現(xiàn)對數(shù)據(jù)的CRUD操作。
MpChart是Android上易于使用的開源圖表庫,支持繪制各種統(tǒng)計表,可以對圖表進(jìn)行拖動和縮放操作。
通過在build.gradle中添加依賴,即可實(shí)現(xiàn)對MpChart的引用。通過建立MpChartsActivity類,重寫onCreate方法和實(shí)例化UserDao類。ArrayList是存放UserDao中的結(jié)果集,但由于使用了UserDao類,需要開辟新的線程,防止連接過程耗時。最后對MpChart圖表進(jìn)行設(shè)置。
針對柴油機(jī)電子調(diào)速器試驗(yàn)臺遠(yuǎn)程數(shù)據(jù)傳輸和管理問題,文章基于物聯(lián)網(wǎng)技術(shù)設(shè)計了一款數(shù)據(jù)管理軟件。在通過WiFi通信技術(shù)實(shí)現(xiàn)試驗(yàn)臺數(shù)據(jù)上傳服務(wù)器的基礎(chǔ)上設(shè)計數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)庫和Android軟件之間的通信,提供了用戶登錄、檢索、繪圖和數(shù)據(jù)處理功能,簡化了測試過程中數(shù)據(jù)存儲過程,提高了對數(shù)據(jù)的快速檢索能力。對比安卓端和本地LabVIEW圖像,曲線形狀趨勢大致相同。作為校企合作項(xiàng)目,對系統(tǒng)的實(shí)用性、美觀性和便捷性有一定要求,因此,本系統(tǒng)仍有優(yōu)化空間。