孫宇,束長健,曾潔
(大連交通大學(xué) 電氣信息工程學(xué)院,遼寧 大連 116028)*
柴油發(fā)動機作為傳統(tǒng)的動力機械裝置,廣泛應(yīng)用于機車、船舶、發(fā)電機組等領(lǐng)域.盡管先進(jìn)的高壓共軌技術(shù)已經(jīng)應(yīng)用于大功率內(nèi)燃機,但目前采用電子調(diào)速控制技術(shù)的內(nèi)燃機依然存在.由于牽引電機負(fù)載存在變化,所以需要柴油發(fā)動機的輸出功率也要隨之改變,也就是說柴油發(fā)動機的輸出轉(zhuǎn)速會影響牽引電機的功率輸出[1].若內(nèi)燃機轉(zhuǎn)速控制不穩(wěn)發(fā)生波動,發(fā)電機輸出電壓和頻率也產(chǎn)生波動,從而影響機車的平穩(wěn)行駛.隨著對用電質(zhì)量以及用電成本的要求越來越高,將數(shù)字式電子調(diào)速技術(shù)應(yīng)用到柴油發(fā)電機組上是必然趨勢,但是在國內(nèi)僅僅停留在實驗室階段和模擬樣機階段.為了能夠?qū)崿F(xiàn)對柴油發(fā)動機轉(zhuǎn)速的實時控制,本文在分析了數(shù)字式電子調(diào)速技術(shù)的工作原理和PID控制原理的基礎(chǔ)上,重新設(shè)計了控制系統(tǒng),以模糊自適應(yīng)控制進(jìn)行系統(tǒng)控制,并通過分析對比,擇了恩智浦公司生產(chǎn)的最新款車用級芯片MC9S12XEP100作為主控單元,控制發(fā)電機組的運行更為穩(wěn)定.
本文根據(jù)需求和控制策略設(shè)計了電調(diào)控制系統(tǒng)的軟件架構(gòu),通過MATLAB把控制模型轉(zhuǎn)換成C代碼燒入到控制單元中,在CodeWarrior開發(fā)環(huán)境下使用C語言編寫軟件代碼,通過上位機對系統(tǒng)進(jìn)行標(biāo)定,最后通過實驗室模擬平臺進(jìn)行軟件調(diào)試.
目前市場上有大量的柴油機電子調(diào)速控制系統(tǒng),大部分以國外為主,都是由傳感器、控制器和執(zhí)行器三個基本部分構(gòu)成,通過分析和對比,本文重新對系統(tǒng)架構(gòu)進(jìn)行了設(shè)計,如圖1所示.

圖1 柴油發(fā)電機組電子調(diào)速控制系統(tǒng)的整體結(jié)構(gòu)
電子調(diào)速控制系統(tǒng)的微控制器通過安裝在柴油機上的傳感器檢測出柴油機的曲軸位置、供油調(diào)節(jié)執(zhí)行器位置等狀態(tài)參數(shù),并對采集到的這些柴油機工況信號進(jìn)行抗干擾處理,然后根據(jù)控制算法(策略)輸出脈沖寬度調(diào)制信號驅(qū)動供油調(diào)節(jié)執(zhí)行器,以達(dá)到控制柴油機供油量及調(diào)速的目的.同時在控制器中設(shè)計通信接口電路,以便通過上位機來實現(xiàn)對控制器中的參數(shù)進(jìn)行監(jiān)測及在線標(biāo)定任務(wù),從而方便操作人員對于柴油發(fā)動機的控制與觀察.
本文主要的研究方向為調(diào)速部分,本文柴油機的轉(zhuǎn)速受供油調(diào)節(jié)執(zhí)行器的位移量控制,位移量的增大或減少使得柴油機供油量增加或減少,導(dǎo)致柴油發(fā)動機轉(zhuǎn)速上升或下降.同時,柴油發(fā)動機的加載、卸載以及負(fù)載的波動均會引起柴油發(fā)動機轉(zhuǎn)速的變化,因此為了保證柴油機的平穩(wěn)運行需對柴油機進(jìn)行實時電子調(diào)速控制.
電子控制單元(ECU)是柴油發(fā)動機電子調(diào)速控制系統(tǒng)的核心部件,它可以依照負(fù)載的變化來實時調(diào)節(jié)燃油量的供給,從而保持柴油發(fā)電機組的轉(zhuǎn)速穩(wěn)定[2].由于傳統(tǒng)的模擬式電子調(diào)速器調(diào)試方便,所以目前仍然在一些柴油發(fā)電機組的轉(zhuǎn)速控制中有應(yīng)用.但是與模擬式電子調(diào)速器相比,數(shù)字式電子調(diào)速系統(tǒng)由于采用了計算機控制技術(shù)更容易實現(xiàn)復(fù)雜而有效的控制算法,且便于拓展升級使柴油機獲得更好的轉(zhuǎn)速控制精度、穩(wěn)定性及動態(tài)響應(yīng).
1.2.1 調(diào)速控制系統(tǒng)的功能需求分析
電子調(diào)速控制單元作為柴油發(fā)動機電子調(diào)速控制系統(tǒng)的“大腦”在整個柴油發(fā)動機電控系統(tǒng)中起到了關(guān)鍵作用.電子控制單元應(yīng)具備控制軟件的運行環(huán)境配置及內(nèi)部的邏輯計算與處理基本功能,為方便實時監(jiān)控與在線標(biāo)定,還應(yīng)具備與上位機及其他系統(tǒng)的通信功能,最后還要具備對外部信號的采集與處理、控制算法的運算以及輸出燃油調(diào)節(jié)執(zhí)行器驅(qū)動信號等功能.
1.2.2 微控制器的選擇
本文的控制系統(tǒng)采用恩智浦車用級芯片MC9S12XEP100為核心微控制器.MC9S12XEP100為雙核微控制器,采用XGATE技術(shù),內(nèi)部資源豐富,專為低成本的應(yīng)用場合設(shè)計,強大的片內(nèi)資源與簡單的外圍電路結(jié)合可以支持信號采集與處理、控制算法的運算、控制信號輸出以及與上位機通信等功能,用于本文可滿足柴油發(fā)動機電子調(diào)速控制系統(tǒng)的要求[3].
1.2.3 模糊自適應(yīng)PID控制
當(dāng)前智能控制得到了重大發(fā)展,模糊控制又是一個重要的分支[4].在控制系統(tǒng)中,控制對象有時較為復(fù)雜,具有非線性,控制參數(shù)容易隨著時間改變,還會受到外界某些客觀因素的影響,沒法使用標(biāo)準(zhǔn)的函數(shù)對其進(jìn)行表示,數(shù)學(xué)模型難以建立,使用常規(guī)的PID控制無法做到良好控制,本文通過對多種智能控制進(jìn)行分析和對比,最后選擇了模糊自適應(yīng)PID控制作為本設(shè)計的主控制策略[5].
模糊自適應(yīng)控制是將控制對象看成是一個模糊整體,利用模糊控制器在其中對其進(jìn)行控制,以誤差和誤差變化作為輸入,利用模糊控制規(guī)則參數(shù)進(jìn)行及時的修改,以滿足不同時刻的 和 對PID參數(shù)自整定的要求[6].模糊控制規(guī)則就是根據(jù)往復(fù)的實驗以及現(xiàn)場專家的經(jīng)驗制定的規(guī)律.模糊自適應(yīng)PID控制器如圖2所示.

圖2 模糊自適應(yīng)PID控制制系統(tǒng)簡圖
根據(jù)調(diào)速控制系統(tǒng)的功能需求分析,本文把整個柴油發(fā)動機電子調(diào)速控制系統(tǒng)的軟件部分分為底層、通信層和應(yīng)用層三大部分.
模塊化后的軟件整體結(jié)構(gòu)如圖3所示,底層軟件包括底層系統(tǒng)軟件和板級支持包BSP,是根據(jù)單片機的片上資源進(jìn)行設(shè)計的,通信層軟件是結(jié)合單片機各個功能模塊,實現(xiàn)底層和應(yīng)用層之間的數(shù)據(jù)交換與監(jiān)控標(biāo)定,應(yīng)用層軟件是根據(jù)需求自行設(shè)計開發(fā),根據(jù)底層的接口變量進(jìn)行轉(zhuǎn)速計算、燃油調(diào)節(jié)執(zhí)行器驅(qū)動、PID控制算法、插值算法等等功能,并且依照接口定義和功能函數(shù)完成對供油調(diào)節(jié)執(zhí)行器部分的控制.

圖3 控制軟件整體結(jié)構(gòu)
2.2.1 主程序設(shè)計
主控程序可以根據(jù)控制要求設(shè)定內(nèi)容,主控程序的主要任務(wù)就是初始化、工作時序、任務(wù)調(diào)度、控制模式等.首先是完成對整個調(diào)速控制系統(tǒng)的初始化設(shè)置與調(diào)整,之后觀察柴油機如果處于停機狀態(tài),則進(jìn)行冷機狀態(tài)的自檢.起動之后,先設(shè)定目標(biāo)轉(zhuǎn)速并使得電子控制單元與上位機之間進(jìn)行通信聯(lián)系.對比目標(biāo)轉(zhuǎn)速與測量的實際轉(zhuǎn)速,若大于超速的截止門限值(由具體機型而定),則進(jìn)入超速工況,超速報警并停機,否則開始檢測轉(zhuǎn)速是否低于起動成功轉(zhuǎn)速,即怠速最低值(由具體機型而定),如果低于起動成功轉(zhuǎn)速則檢查是否低于起噴轉(zhuǎn)速(由具體機型而定),如果低于起噴轉(zhuǎn)速,則進(jìn)入停止工況,如果高于起噴轉(zhuǎn)速但是低于起動成功轉(zhuǎn)速,則檢測起動成功否,起動不成功則進(jìn)入起動工況,進(jìn)入起動工況有兩種方式,一是固定油量起動,會以恒定轉(zhuǎn)速運行,二是根據(jù)轉(zhuǎn)速MAP查表規(guī)定起動油量.如果高于起動成功轉(zhuǎn)速,則進(jìn)入調(diào)速工況,需要先對PID參數(shù)進(jìn)行初始化設(shè)置,如果以固定油量運行,則同上文起動工況,如果不是固定油量運行,則根據(jù)PID參數(shù)更新調(diào)節(jié),進(jìn)入到轉(zhuǎn)速閉環(huán)控制函數(shù)當(dāng)中.圖4為主程序流程圖.

圖4 主程序工作流程
2.2.2 初始化軟件設(shè)計
電子調(diào)速控制系統(tǒng)的核心芯片MC9S12XEP100的輸入輸出端口不僅僅可以用做GPIO,也可以用作某些外設(shè)功能,所以對于輸入輸出端口必須進(jìn)行初始化設(shè)置,設(shè)置相關(guān)控制參數(shù)并且指定端口類型.電子調(diào)速控制系統(tǒng)的初始化工作主要包括時鐘和復(fù)位初始化、實時中斷初始化、MCU端口初始化、增強型定時器初始化、PWM初始化 和AD初始化等.
2.2.3 轉(zhuǎn)速信號采集程序
本文使用雙轉(zhuǎn)速信號的目的是保證信號采集的穩(wěn)定性,當(dāng)主信號出現(xiàn)故障時可以立即啟用備用轉(zhuǎn)速信號,轉(zhuǎn)速信號1跟轉(zhuǎn)速信號2通過互檢的方式來判斷是否出現(xiàn)故障.程序初始化時,默認(rèn)轉(zhuǎn)速信號1為有效信號.曲軸的信號通過磁電式轉(zhuǎn)速傳感器采集信號,經(jīng)過信號處理函數(shù),處理之后計算出兩個上升沿之間的(一個周期的)時間間隔,一般是上升沿或者下降沿進(jìn)行計數(shù)(中斷進(jìn)入)之后通過轉(zhuǎn)速計算函數(shù)計算出轉(zhuǎn)速.轉(zhuǎn)速信號檢測流程如圖5所示.

圖5 轉(zhuǎn)速信號處理軟件流程圖
2.2.4 供油齒條位置模擬量信號采集程序設(shè)計
當(dāng)AD模塊工作時,先經(jīng)過采樣、AD轉(zhuǎn)換,最后將所處理的結(jié)果保存在相對應(yīng)的寄存器當(dāng)中,當(dāng)AD模塊每次進(jìn)行工作時,先要進(jìn)行若干次的掃描,連續(xù)多次掃描有利于實現(xiàn)信號的濾波處理.
在A/D轉(zhuǎn)換過程中,會存在線性誤差,在程序中必須對轉(zhuǎn)換后的數(shù)字量進(jìn)行數(shù)字濾波.如圖6所示,本設(shè)計采用的濾波方法是中值濾波法,多次測量去除兩個最值,剩余取平均值,取其平均值作為最后的輸入量.公式如下:

圖6 模擬采樣程序流程圖

2.2.5 輸出驅(qū)動信號程序設(shè)計
PWM常常用于對負(fù)載的控制電流大小,比如直流電機控制、供油調(diào)節(jié)執(zhí)行器的開度控制等等.通過函數(shù)的相關(guān)調(diào)用,實現(xiàn)直流電機的轉(zhuǎn)動,直流電機的正反轉(zhuǎn)是通過輸入輸出口的高低電平來控制的,而直流電機的電流大小是通過PWM波的占空比來實現(xiàn)的,在該柴油發(fā)電機組模擬實驗平臺上,使用PWM驅(qū)動對供油調(diào)節(jié)執(zhí)行器進(jìn)行控制[7].
PWM控制所使用的算法是輸出時鐘周期=通道時鐘源周期*Period,此處通道時鐘源周期為通過調(diào)用PWM_ClockSelect()函數(shù)選擇的通道時鐘源.
在工況模式判別的函數(shù)中,會存在一個油量限制的子函數(shù)程序,油量限制即供油齒條的位移距離,通常供油齒條的位移距離與控制供油齒條的電流大小成比例關(guān)系,本文利用PWM的占空比大小對電流大小的控制,實現(xiàn)對供油齒條位移距離的控制,由于PWM寄存器中每一位的最高范圍是256(8位),即使其中一位的占空比為100%也滿足不了供油持續(xù)角的最大開度,為了滿足供油持續(xù)角的最大開度,本文采用PWM級聯(lián)的方式,將兩位同時進(jìn)行PWM波控制,最高范圍是65536(16位),這樣就能夠滿足供油持續(xù)角的最大開度范圍,從而實現(xiàn)對供油持續(xù)角度的范圍控制.
本文通過上位機對柴油發(fā)電機組人為標(biāo)定目標(biāo)值,單片機將0~5V的電壓信號轉(zhuǎn)換為與之相對應(yīng)的數(shù)字量.
表1所示為供油調(diào)節(jié)執(zhí)行器信號采集測試的誤差分析,經(jīng)過計算平均誤差為0.416%,最大誤差小于1%,由此可見,電子調(diào)速控制系統(tǒng)的模擬量轉(zhuǎn)換模塊工作較為穩(wěn)定可靠.

表1 供油調(diào)節(jié)執(zhí)行器信號采集測試誤差分析
圖7可以看出測試數(shù)據(jù)經(jīng)過擬合之后是非常理想的線性關(guān)系,測試擬合直線和理想曲線之間幾乎完成重合,所以模擬信號的數(shù)字量轉(zhuǎn)換過程是符合設(shè)計要求的.

圖7 供油調(diào)節(jié)執(zhí)行器位置信號擬合曲線
測試轉(zhuǎn)速信號處理模塊時,使得函數(shù)信號發(fā)生器與電子控制單元頻率信號輸入接口相連,轉(zhuǎn)速的變化可以通過改變類正弦波的頻率來實現(xiàn),示波器探頭接在單片輸入捕捉的引腳上,測試結(jié)果如圖8所示.

(a)500 Hz
圖中分別是當(dāng)輸入正弦波信號頻率為500和1200Hz時的信號處理波形,如圖可知,隨著轉(zhuǎn)速的增加輸出信號的頻率并沒有出現(xiàn)大的波動,誤差小于2%,基本上可以忽略不計,幅值穩(wěn)定符合要求.
本文根據(jù)機車柴油發(fā)動機的工作特性給出了柴油機電子調(diào)速控制系統(tǒng)的設(shè)計方案,選用恩智浦芯片MC9S12XEP100為MCU的電控單元,然后以CodeWarrior為軟件開發(fā)環(huán)境,根據(jù)柴油機調(diào)速控制的需要,主要對采集的供油齒條位移模擬量信號進(jìn)行數(shù)字濾波處理,然后采用測周法對柴油機轉(zhuǎn)速進(jìn)行采集與精確計算,電控單元采用模糊自適應(yīng)PID控制算法控制其輸出的PWM占空比來控制供油調(diào)節(jié)器驅(qū)動電流的大小,以實現(xiàn)對供油齒條位置的控制,從而達(dá)到對柴油機供油量的精確控制.本文對于柴油內(nèi)燃機的調(diào)速控制技術(shù)研究及產(chǎn)品開發(fā)具有一定的參考價值.