李 漢
(廣州航海高等專(zhuān)科學(xué)校輪機(jī)系,廣州 510725)
利用瞬時(shí)轉(zhuǎn)速監(jiān)測(cè)柴油機(jī)是一種新型的監(jiān)測(cè)方式。柴油機(jī)瞬時(shí)轉(zhuǎn)速的波動(dòng)可以評(píng)估柴油機(jī)的平均指示壓力[1]、缸內(nèi)燃燒壓力[2]并對(duì)柴油機(jī)進(jìn)行故障診斷[3]。應(yīng)用瞬時(shí)轉(zhuǎn)速監(jiān)測(cè)柴油機(jī)的工作狀態(tài)或進(jìn)行故障診斷時(shí),需要對(duì)柴油機(jī)瞬時(shí)轉(zhuǎn)速進(jìn)行快速且準(zhǔn)確的測(cè)量,因此,船舶柴油機(jī)瞬時(shí)轉(zhuǎn)速監(jiān)測(cè)記錄儀是該方法實(shí)用化的基礎(chǔ)。
目前測(cè)量柴油機(jī)瞬時(shí)轉(zhuǎn)速主要采用磁電式傳感器,優(yōu)點(diǎn)是直接使用飛輪上的齒輪結(jié)合磁電式傳感器進(jìn)行測(cè)量,安裝簡(jiǎn)便,但是采用齒輪-磁電式傳感器的測(cè)量主要誤差有齒圈角度誤差、安裝偏心誤差、計(jì)數(shù)誤差等[4],測(cè)量誤差較大,具有時(shí)變性且難以控制,故本文不使用磁電式傳感器,而采用靈敏的增量型光電編碼器。選用編碼器的原則如下:
1)采用抗振性能好的光電編碼器。
2)柴油機(jī)振動(dòng)強(qiáng)烈,不適合采用脈沖數(shù)較高的編碼器,滿(mǎn)足評(píng)估指標(biāo)參數(shù)即可。
3)采用A、B、Z三相輸出編碼器。
利用柴油機(jī)瞬時(shí)轉(zhuǎn)速評(píng)估柴油機(jī)的平均指示壓力、缸內(nèi)燃燒壓力或?qū)Σ裼蜋C(jī)進(jìn)行故障診斷時(shí),需要了解柴油機(jī)一個(gè)工作循環(huán)中轉(zhuǎn)速的瞬時(shí)波動(dòng),不論柴油機(jī)平均轉(zhuǎn)速高低,只要一個(gè)工作循環(huán)內(nèi)測(cè)得足夠的瞬時(shí)轉(zhuǎn)速,即可達(dá)到評(píng)估的目的,因此,瞬時(shí)轉(zhuǎn)速的測(cè)量廣泛采用定角度測(cè)量時(shí)間的方法。
柴油機(jī)運(yùn)行時(shí)產(chǎn)生強(qiáng)烈的振動(dòng),為了準(zhǔn)確測(cè)量瞬時(shí)轉(zhuǎn)速,必須處理振動(dòng)帶來(lái)的問(wèn)題。光電編碼器的輸出信號(hào)如圖1所示,其中(a)為平穩(wěn)運(yùn)行時(shí)的波形,(b)為有扭振時(shí)的波形。光電編碼器輸出A、B兩相信號(hào),以A相信號(hào)為測(cè)速脈沖信號(hào),B相信號(hào)為參考信號(hào)。由圖1(a)可看出當(dāng)A相信號(hào)的上升沿時(shí)刻測(cè)得B相信號(hào)的電位與A相信號(hào)的下降沿時(shí)刻測(cè)得B相信號(hào)的電位不同時(shí),此次脈沖為真實(shí)脈沖,反之脈沖為干擾脈沖。具體如下:在A相信號(hào)的上升沿時(shí)刻測(cè)量B相信號(hào)的電位Vu,下降沿時(shí)刻測(cè)量 B相信號(hào)的電位Vd。
圖1 光電編碼器輸出波形圖
當(dāng)Vu≠Vd時(shí),判定本次脈沖為真實(shí)脈沖;
當(dāng)Vu=Vd時(shí),判定本次脈沖為干擾脈沖。
在測(cè)速程序中對(duì)真實(shí)脈沖計(jì)時(shí),對(duì)干擾脈沖將忽略,這樣在柴油機(jī)轉(zhuǎn)軸出現(xiàn)扭振的情況下使用光電編碼器測(cè)量瞬時(shí)轉(zhuǎn)速的精度將大為提高。
測(cè)速編碼器輸出A、B和Z相信號(hào),Z相信號(hào)用于定位,其上升沿時(shí)刻表示柴油機(jī)轉(zhuǎn)動(dòng)一周的開(kāi)始或結(jié)束。柴油機(jī)振動(dòng)同樣干擾Z相信號(hào),因此必須對(duì)Z相信號(hào)采取抗干擾措施。圖2為抗振動(dòng)測(cè)量瞬時(shí)轉(zhuǎn)速的時(shí)序圖,圖中Z相信號(hào)為經(jīng)抗干擾電路之后的信號(hào)。因柴油機(jī)振動(dòng)對(duì) A、B相信號(hào)的干擾情況較為復(fù)雜,而且轉(zhuǎn)速不同編碼器輸出的脈沖寬度和周期也隨之變化,采用硬件抗干擾電路難以達(dá)到預(yù)期目的,適合采用軟件抗干擾。
圖2 抗振動(dòng)測(cè)速時(shí)序圖
測(cè)速系統(tǒng)接收到Z相信號(hào),其上升沿時(shí)刻產(chǎn)生中斷,處理器響應(yīng)中斷時(shí)清零內(nèi)部定時(shí)器,并重新開(kāi)始計(jì)時(shí)。系統(tǒng)接收到A、B相脈沖時(shí),識(shí)別出A相的干擾脈沖,從而決定是否記錄A相信號(hào)下降沿時(shí)刻的計(jì)時(shí)值。如果A相信號(hào)脈沖為干擾脈沖,則不記錄該脈沖下降沿時(shí)刻的計(jì)時(shí)值,如果A相信號(hào)脈沖為真實(shí)脈沖,則將該脈沖下降沿時(shí)刻的計(jì)時(shí)值記錄到T[k]中。T[N]是長(zhǎng)度為N的一維32位整數(shù)數(shù)組,用于記錄轉(zhuǎn)軸一周內(nèi)每個(gè)A相真實(shí)脈沖下降沿的計(jì)時(shí)值,N等于編碼器每周脈沖數(shù)。假設(shè)計(jì)時(shí)時(shí)鐘頻率為fc(MHz),則
采用 PHILIPS公司生產(chǎn)的基于 ARM7TDMI-S內(nèi)核的32位嵌入式處理器LPC2114,該處理器具有豐富的片內(nèi)資源,如2個(gè)定時(shí)器、I2C接口、SPI接口、2個(gè)UART接口、PWM、實(shí)時(shí)時(shí)鐘RTC、看門(mén)狗、A/D轉(zhuǎn)換器、多路中斷系統(tǒng)和數(shù)量較大的 GPIO,給用戶(hù)系統(tǒng)設(shè)計(jì)帶來(lái)較大方便。瞬時(shí)轉(zhuǎn)速監(jiān)測(cè)記錄儀的硬件電路如圖3所示,由信號(hào)輸入電路、通訊電路、指示燈、復(fù)位和電源等部分組成。
圖3 瞬時(shí)轉(zhuǎn)速監(jiān)測(cè)記錄儀電路圖
光電編碼器輸出A、B、Z三相信號(hào),其中Z相信號(hào)輸入到LPC2114的P0.11端,A、B相信號(hào)分別輸入到LPC2114的P0.10端和P0.12端。Z相信號(hào)需要硬件抗干擾電路,消除因振動(dòng)而產(chǎn)生的干擾脈沖,避免影響轉(zhuǎn)軸定位的準(zhǔn)確性??梢圆捎秒娙轂V波之后再進(jìn)行電壓滯回比較的方法消除干擾脈沖信號(hào),也可以采用單穩(wěn)態(tài)定時(shí)器消除干擾脈沖。A、B相信號(hào)僅需施密特觸發(fā)器整形即可輸入到處理器,可見(jiàn)A、B相信號(hào)輸入電路簡(jiǎn)單,無(wú)需復(fù)雜的硬件電路,抗干擾和脈沖計(jì)時(shí)都由處理器的內(nèi)部定時(shí)器和軟件完成。
LPC2114內(nèi)部具有兩個(gè)通用串行接口UART0和UART1,UART1與UART0相同,只是UART1增加了Modem接口。本文使用UART0,其接口P0.0(TxD)和 P0.1(RxD)分別用于發(fā)送和接收通訊信號(hào),考慮到機(jī)艙到集控室的距離較遠(yuǎn),上位機(jī)與瞬時(shí)轉(zhuǎn)速測(cè)量系統(tǒng)的通訊采用RS485,故需要轉(zhuǎn)換電路將通用串口的信號(hào)轉(zhuǎn)換為RS485的差動(dòng)信號(hào)或?qū)?RS485的差動(dòng)信號(hào)轉(zhuǎn)換為L(zhǎng)PC2114通用串口的信號(hào)。上位機(jī)使用RS485/RS232轉(zhuǎn)換器,將RS485差動(dòng)信號(hào)轉(zhuǎn)換為RS232接口信號(hào)。上位機(jī)與測(cè)速系統(tǒng)之間采用雙絞線(xiàn)連接。
LPC2114需要兩種電壓,+3.3 V和+1.8 V,同時(shí)邏輯電路和編碼器還需要+5 V的直流電源,所以電源電路需要3種電壓。+5 V電壓由外部供給,再使用三端穩(wěn)壓器 LM11173-3.3和LM11173-1.8轉(zhuǎn)換為系統(tǒng)所需的電源。為了提高系統(tǒng)的可靠性,復(fù)位電路使用專(zhuān)用復(fù)位芯片SP708S。
測(cè)速系統(tǒng)采用兩個(gè)指示燈,分別為運(yùn)行指示燈和通訊指示燈。系統(tǒng)上電運(yùn)行之后運(yùn)行指示燈亮,柴油機(jī)運(yùn)轉(zhuǎn)測(cè)速系統(tǒng)測(cè)得瞬時(shí)轉(zhuǎn)速并向上位機(jī)發(fā)送數(shù)據(jù)時(shí)通訊指示燈亮。運(yùn)行指示燈和通訊指示燈分別連接 LPC2114處理器的 P0.22和P0.23端。
LPC2114內(nèi)部具有兩個(gè)32位定時(shí)器-定時(shí)器0和定時(shí)器1,分別具有3路和4路32位的捕獲通道,各有4個(gè)匹配寄存器,僅使用一個(gè)定時(shí)器就完成柴油機(jī)瞬時(shí)轉(zhuǎn)速的測(cè)速要求,這里選用定時(shí)器1。編碼器A相脈沖信號(hào)從P0.10端口輸入,測(cè)速系統(tǒng)需要在A相信號(hào)下降沿和上升沿時(shí)刻能夠產(chǎn)生中斷并且捕獲該時(shí)刻的定時(shí)值,因此P0.10設(shè)置為CAP1.0。B相脈沖信號(hào)從P0.12端口輸入,因B相信號(hào)需要檢測(cè)電位,故P0.12設(shè)置為GPIO,方向設(shè)置為I。編碼器Z相脈沖信號(hào)從P0.11端口輸入,系統(tǒng)需要在Z相信號(hào)下降沿時(shí)刻產(chǎn)生中斷并且清零定時(shí)器,重新啟動(dòng)計(jì)時(shí),因此P0.11設(shè)置為CAP1.1。測(cè)速系統(tǒng)通過(guò)通用串口UART0與上位機(jī)連接,需要將P0.0設(shè)置為T(mén)xD,P0.1設(shè)置為 RxD。測(cè)速系統(tǒng)的兩個(gè)發(fā)光二極管由端口P0.22、P0.23控制,故 P0.22、P0.23應(yīng)設(shè)置為GPIO,方向?yàn)镺。
圖4 中斷程序流程圖
抗振動(dòng)瞬時(shí)轉(zhuǎn)速的測(cè)量主要由定時(shí)器1的中斷程序完成,瞬時(shí)轉(zhuǎn)速測(cè)量的流程圖如圖4所示。定時(shí)器 1具有兩個(gè)中斷源 CAP1.0和 CAP1.1,CAP1.1由Z相信號(hào)產(chǎn)生,CAP1.0由A相信號(hào)產(chǎn)生。CAP1.1中斷時(shí),由中斷程序?qū)⒍〞r(shí)器的TC值清零同時(shí)將k置0,重新開(kāi)始測(cè)量轉(zhuǎn)軸一周的瞬時(shí)轉(zhuǎn)速;CAP1.0中斷時(shí)則需要采用本文上述方法識(shí)別當(dāng)前脈沖信號(hào)是否為干擾脈沖,才能決定是否記錄計(jì)時(shí)值。如果 CAP1.0為上升沿中斷則讀取并寄存B相信號(hào)的電位值Vu,如果CAP1.0為下降沿中斷則讀取 B相信號(hào)的電位值Vd。當(dāng)Vd≠Vu時(shí)當(dāng)前脈沖判為真實(shí)脈沖,將定時(shí)器捕獲的計(jì)時(shí)值T1CR0記錄于T[k]中;當(dāng)Vd=Vu時(shí)判為干擾脈沖,將忽略,不予記錄計(jì)時(shí)值。獲取A相信號(hào)的計(jì)時(shí)值之后如果在中斷程序中計(jì)算瞬時(shí)轉(zhuǎn)速會(huì)導(dǎo)致中斷程序執(zhí)行時(shí)間過(guò)長(zhǎng),為了避免這種情況,使用聯(lián)絡(luò)標(biāo)志位bPro。當(dāng)CAP1.0為A相信號(hào)真實(shí)的脈沖下降沿中斷則bPro=“1”,主程序檢測(cè)到bPro為“1”則由T[k]、k計(jì)算出瞬時(shí)轉(zhuǎn)速,處理完畢bPro清零。這樣將瞬時(shí)轉(zhuǎn)速計(jì)算工作交給主程序,降低中斷程序的負(fù)擔(dān)。
主程序的主要任務(wù)是系統(tǒng)初始化、瞬時(shí)轉(zhuǎn)速解算、通訊和顯示輸出等,主程序流程圖如圖 5所示。
1)初始化:初始化需要處理的內(nèi)容有端口配置;定時(shí)器初始化;UATR0接口初始化;中斷配置;P0.22、P0.23電位設(shè)置。
圖5 主程序流程圖
2)瞬時(shí)轉(zhuǎn)速解算:檢測(cè)到聯(lián)絡(luò)標(biāo)志位bPro=1,表示測(cè)速中斷程序傳來(lái)待處理數(shù)據(jù),啟動(dòng)轉(zhuǎn)速解算程序,先求出A相脈沖的周期值Tk,再根據(jù)式(1)求出當(dāng)前的轉(zhuǎn)速nk。
3)通訊:解算出瞬時(shí)轉(zhuǎn)速 nk,啟動(dòng)串口通訊程序,將數(shù)據(jù)發(fā)送給上位機(jī)。
4)顯示輸出:測(cè)速系統(tǒng)運(yùn)行,初始化完成之后運(yùn)行指示燈亮,表示系統(tǒng)已經(jīng)運(yùn)行,如果電源失電,運(yùn)行指示燈滅。通訊指示燈在數(shù)據(jù)發(fā)送之前點(diǎn)亮,通訊完畢,熄滅通訊指示燈,用戶(hù)可借助指示燈了解通訊的情況。
上位機(jī)應(yīng)用程序采用 VC++6.0開(kāi)發(fā)基于對(duì)話(huà)框應(yīng)用工程,串口采用 MSComm控件處理上位機(jī)和下位機(jī)之間的通訊。應(yīng)用程序具有如下功能:(1)通訊口配置。(2)數(shù)據(jù)通訊。(3)瞬時(shí)轉(zhuǎn)速數(shù)據(jù)的儲(chǔ)存。(4)瞬時(shí)轉(zhuǎn)速以曲線(xiàn)的形式顯示。(5)計(jì)算有關(guān)參數(shù)如平均轉(zhuǎn)速、平均指示壓力、缸內(nèi)燃燒壓力等。
本文提出一種基于光電編碼器的柴油機(jī)抗振動(dòng)瞬時(shí)轉(zhuǎn)速的測(cè)量方法,并研制以32位嵌入式處理器(LPC2114)為控制器的瞬時(shí)轉(zhuǎn)速監(jiān)測(cè)記錄儀,該系統(tǒng)分為兩級(jí),下位機(jī)測(cè)量柴油機(jī)的瞬時(shí)轉(zhuǎn)速,并發(fā)送到上位機(jī),上位機(jī)接收數(shù)據(jù)后對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存、顯示和運(yùn)算等處理,可進(jìn)一步得出平均指示壓力、缸內(nèi)燃燒壓力等指標(biāo),為應(yīng)用瞬時(shí)轉(zhuǎn)速診斷柴油機(jī)故障打下基礎(chǔ)。
[1]蘇鐵熊. 用實(shí)測(cè)發(fā)動(dòng)機(jī)瞬態(tài)轉(zhuǎn)速波動(dòng)估計(jì)平均指示壓力[J]. 燃機(jī)工程, 2003, 24(2): 27-32.
[2]蘇鐵熊, 成秋. 利用實(shí)測(cè)發(fā)動(dòng)機(jī)瞬態(tài)轉(zhuǎn)速波動(dòng)估計(jì)缸內(nèi)燃燒壓力[J]. 內(nèi)燃機(jī)工程, 2004, 5(3): 54-57.
[3]孫云嶺, 樸甲哲, 張永祥. 基于瞬時(shí)轉(zhuǎn)速和雙譜的內(nèi)燃機(jī)故障診斷的研究[J]. 內(nèi)燃機(jī)學(xué)報(bào), 1999(1):67-70.
[4]張帆, 陳軍, 丁連生. 柴油機(jī)瞬時(shí)轉(zhuǎn)速測(cè)量誤差的研究[J].農(nóng)機(jī)化研究, 2006,(9): 218-219.
[5]李漢.一種光電編碼器抗振動(dòng)測(cè)速的方法[J].電氣傳動(dòng).2010, 40(6): 78-8.