喻岫杏 霍亮生 吳垚
【摘要】通過Freescale K60系列微控制器、DAC數模變換器,以及數控電位器等組成的硬件系統,對發動機常用傳感器,如曲軸位置傳感器、節氣門位置傳感器、進氣溫度傳感器等信號進行模擬,仿真汽車發動機的運行環境,測試ECU工作狀況,并采集ECU輸出的噴油和點火信號得到的數據導入MATLAB神經網絡工具箱中,并用這些數據對網絡進行訓練,得到真車發動機ECU的模擬仿真網絡,這樣只需軟件平臺給定輸入信號,就可通過訓練后的網絡得到輸出信號,方便了發動機ECU研發和測試工作。
【關鍵詞】發動機ECU;人工神經網絡;K60微控制器
發動機ECU是發動機電子控制單元的簡稱。ECU的功用是根據其內部存儲的程序和數據對空氣流量計等各種傳感器輸入的信息進行運算、處理、判斷,然后輸出指令,向火花塞輸出適時的點火控制信號以及向噴油器提供一定寬度的電脈沖信號以控制噴油量。ECU由微處理器、輸入、輸出及控制電路等組成。
通常對于發動機 ECU的檢測都是發生在實際路面的不同路況下實時地采集發動機 ECU的輸出控制信號對輸出的控制信號進行分析來完成對發動機ECU的檢測,但是這種手段受制于檢測硬件必須要有真車來進行實際駕駛并且要在不同路況下完成駕駛路線采集 ECU輸出的噴油脈寬和點火時刻等控制信號。本文將要闡述的模擬信號產生系統對于突破真車實際駕駛才能完成的發動機ECU的檢測提供了一種新的研究手段并且為國內目前正在廣泛進行的ECU檢測平臺的研發提供了一種更為簡單快捷并且行之有效的思路。
1.工作原理
發動機ECU模擬信號產生系統的工作原理是根據需要模擬不同工況下的曲軸位置信號、凸輪軸位置信號、前氧傳感器信號、后氧傳感器信號、節氣門位置信號、冷卻液溫度信號、進氣溫度信號、爆燃信號、空調信號、不平路面信號、進氣歧管絕對壓力信號、燃油液面信號、車速信號等,并將這些信號輸入真車發動機ECU,采集到這些模擬車輛運行狀態的傳感器信號,經過其內部控制程序的綜合分析判斷從而輸出根據工況控制車輛運行的噴油量及點火信號,模擬信號產生系統采集ECU輸出給執行器的信號并可以在示波器等設備上顯示出來,從而可以得知ECU在此刻對于車輛的控制情況。在所開發的平臺上設計實驗方案,得到給定多因變量、多參數信號時汽油發動機ECU(噴油脈寬、點火時刻)多輸出狀態,用人工神經網絡(ANN)等方法得到其內在規律,指導ECU開發者分析ROM數據。
傳感器信號的模擬實現方法有四種:(1)K60片上自帶的12位DA用于電壓信號;(2)由于片上只有一個DA還需外搭DA;(3)PWM用于脈沖信號;(4)數控電位器用于電阻信號
2.ECU輸入輸出信號
2.1 曲軸位置信號傳感器
電磁式曲軸位置信號為頻率不同的模擬正弦信號,曲軸每轉一圈,有58個正弦波周期以及兩個消隱周期作位置識別起點。此信號用DAC將MCU所發出的數字信號轉為模擬信號,通過運算放大器進行阻抗匹配與濾波,緩沖后輸出到ECU控制單元相應引腳。選用高速DAC模數變換器,將所需的信號直接由數字方式生成。這種方式也被稱作直接數字式頻率合成,簡稱DDS(Direct Digital Synthesizer),它與傳統的頻率合成器相比,擁有低成本、低功耗、高分辨率和快速轉換時間等優點,被廣泛的應用在通訊與電子儀器領域,是實現設備全數字化的一個關鍵技術。
波形數據存儲器到微控制器的Flash中,時鐘有節拍的將數據送入數模變換器( DAC),數模變換器將數字采樣樣本轉換成所需的模擬輸出波形。系統所模擬的曲軸位置信號如圖1所示,所模擬出的信號基本與實車曲軸位置信號相符,相較于實車信號而言,系統模擬的信號在正弦波幅值變幻時更加平順,這也是由于修正系數較小的原因。
圖1 示波器采集到的真車曲軸位置信號
由示波器采集到的真實曲軸位置信號如圖1所示,可以見到每58個正弦波周期之后的兩個消隱周期。
2.2 凸輪軸信號的產生
凸輪軸位置傳感器也叫做同步信號傳感器,它安裝在凸輪軸之上,與曲軸位置信號共同判定發動機汽缸工作位置與工作行程。發動機一個汽缸完成一個周期即四個沖程曲軸需要轉動兩周,活塞兩次到達上止點,一次為壓縮行程,一次為排氣行程。曲軸位置信號用于確定汽缸活塞到達上止點的時刻,凸輪軸位置傳感器用于判別汽缸在壓縮行程還是排氣行程。
霍爾效應式凸輪軸位置傳感器產生的電信號為方波脈沖,如圖2所示,曲軸轉動一周,方波由高電平邊做低電平或由低電平變做高電平。
圖2 示波器采集到的真車凸輪軸位置信號
2.3 其他傳感器信號的模擬
數控電位器用于產生冷卻液溫度信號、空氣流量信號、進氣溫度信號、節氣門位置信號、氧傳感器信號、爆燃信號以及蓄電池電壓。傳統的機械式電位器很難實現自動化控制,并且產生的電位難于迅速變換。本系統由于要模擬發動機的多輸入,大量的數據需要精準的控制,并且要求在很短的時間內完成切換,這對于傳統的電位器很難達到。數控電位器很好的解決了這些難題。
表1 傳感器模擬方式
傳感器類型 功能 傳感器工作原理 模擬方式
氧傳感器 檢測發動機廢棄排放中的氧含量 二氧化鈦 擴展DA
爆燃 檢測發動機是否發生爆燃 壓電式 擴展DA
空氣流量 計算噴油量,調節空燃比 熱線、熱模、電橋 擴展DA
進氣壓力 反應發動機負荷 壓電式 擴展DA
冷卻液溫度 ECU根據信號控制噴油脈寬和點火提前角 熱敏電阻 數控電位器
進氣溫度 修正噴油脈寬及控制噴油量 熱敏電阻 數控電位器
節氣門位置 表征發動機負荷 操作意圖 電位計 數控電位器
曲軸位置傳感器 提供發動機轉速和曲軸轉角信號 電磁感應 片上DA
凸輪軸位置傳感器 判別氣缸再壓縮行程還是排氣行程 霍爾效應 PWM
車速傳感器 測車行駛速度 霍爾效應 PWM
3.硬件設計
本設計微控制器由飛思卡爾公司基于ARM Cortex-M4內核的K60(MK60N512VMD100)芯片擔任,該32位單片機擁有多達100個的I/O引腳以及SCI/SPI/IIC等總線控制器,主頻50MHz,完全能夠滿足設計需要。系統硬件設計方塊圖如圖3所示,主要由電源管理、飛思卡爾MC9S12微控制器、數模變換器、數控電位器、運算放大器、輸出緩沖器以及接口電路組成。
圖3 硬件設計方塊圖
4.軟件設計
本設計的編寫和調試平臺采用metroworks公司研發的codewarrior10.1,該款軟件功能強大支持匯編、C、C++等多種語言編程,能實現在線編輯、調試、連接、下載等功能。
把編寫好的用于產生各個傳感器信號的程序下載到單片中,K60接收并分離這些信號到相應的變量。本系統中的信號主要由模擬信號和頻率信號組成! 這些相應的變量通過數控電位器和PWM波來產生,并傳送到發動機ECU中。ECU經過分析處理之后通過相應端口發出控制指令,這些指令可以通過上位機的串口通訊工具顯示,也可以通過示波器等顯示設備觀察來判斷汽車發動機是否正常工作。
5.基于BP神經網絡的ECU仿真
BP(Back Propagation)神經網絡在1986年由Rumelhart和McCelland等科學家提出,是一種按誤差逆傳播的算法訓練的多層前饋型網絡,它是目前應用最廣泛的神經網絡模型之一。
BP神經網絡可以學習和存儲大量的輸入和輸出模式的映射關系,無需事前揭示和描述這種映射關系的數學方程式。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。BP神經網絡模型拓撲結構包括輸入層(input)、隱藏層(hide layer)和輸出層(output layer)。
通過MATLAB命令行及神經網絡交互式工具箱都可以構建網絡,在實際網絡訓練中,選用發動機轉速、進氣壓力、進氣流量、節氣門開度作為系統輸入信號,輸出信號為噴油脈寬和點火提前角。在四輸入二輸出的網絡中,由于數值的相互權衡,仿真誤差較大。于是,采用四輸入,分別輸出噴油脈寬和點火提前角。
對噴油脈寬采用命令行的方式構建和訓練網絡。構建網絡的命令:
net=newff(P1,T1,[10,1][‘transigpurelin]);
此命令可構建名為net的BP神經網絡。其中,P1為歸一轉秩后的輸入矩陣,T1為歸一轉秩后的輸出矩陣,一個隱藏層,神經元個數為10,transig為轉移函數,purelin為訓練規則。
接下來對構建的net網絡進行訓練:
net=train(net,P1,T1);
train為訓練網絡命令,其中的三個變量分別為所訓練的網絡,網絡輸入與網絡輸出。
在對網絡訓練完成后,用另100組數據構成的輸入矩陣P2用網絡模擬:
R=sim(net,P2);
此時輸入矩陣P2經網絡模擬后得到的輸出矩陣為R。將P1矩陣與R矩陣在同一圖中繪制:
Plot(P1,b);
Hold on;
Plot(R,r);
。
圖4 BP網絡模擬輸出與真實輸出對比
得到的圖形見圖4。圖4中,橫坐標為矩陣的點數,即選用的100個樣本,縱坐標為歸一后的噴油脈寬。其中紅色為發動機ECU實際輸出的噴油脈寬數值,藍色為訓練后的網絡輸出,可見其誤差很小,達到了訓練和仿真效果。
圖5 BP網絡模擬輸出與真實輸出對比
應用MATLAB畫圖命令,將發動機ECU輸出的點火提前角與訓練后網絡仿真的結果進行比對,如圖5所示。
圖5中,橫坐標為矩陣的點數,即選用的100個樣本,縱坐標為歸一后的點火提前角。其中紅色為發動機ECU實際輸出的點火提前角數值,藍色為訓練后的網絡輸出,可見,曲線整體擬合較好,已可以滿足要求。但局部存在誤差較大,這與點火提前角變化較快以及網絡訓練樣本即訓練精度有關。對網絡的多次訓練有助于減小這種誤差。
6.結束語
本文深入的對發動機ECU各重要傳感器輸入信號進行分析,確定信號仿真方案。硬件平臺用K60為控制器控制輸入輸出端口、數模變換器AD5624、數控電位器X95840;用運算放大器構成前級放大和后級緩沖電路以及與發動機ECU間的接口電路。軟件編程實現IIC總線、SPI總線在芯片間的通訊以及SCI串行總線與上位機之間的數據通訊。其結果是,可產生所需的曲軸位置信號、凸輪軸位置信號、冷卻液溫度及進氣溫度信號、節氣門位置信號、空氣流量信號等,并可以實時采集發動機ECU輸出的噴油信號和點火信號,傳至上位機,保存為逗號分隔的CSV文本文件供后期分析使用。
參考文獻
[1]王戰永.基于DDS30~800MHz頻率合成電路的設計與研究[D].廣州:華南理工大,2010.
[2]陳家瑞.汽車構造[M].北京:機械工業出版社,2005:18-34.
[3]Klarhoefer, C., Oswald, G.,Theuerkauf,H.,and Woermann, R., "Real-Time Engine and Transmission Simulator," SAE Technical Paper 93A018,1993.
[4]焦李成.神經網絡系統理論[D].西安:西安電子科技大學出版社,1990:28-34.
[5曹青松,周繼惠.MATLAB在神經網絡設計中的應用[J].華東交通大學學報,2004(4).
作者簡介:
喻岫杏(1986—),男,河南信陽人,北京工商大學碩士研究生,主要研究方向:嵌入式控制。
霍亮生(1959—),男,山西晉中人,北京工商大學教授,碩士生導師,主要研究方向:嵌入式控制系統。
吳垚(1990—),男,湖南益陽人,北京工商大學碩士研究生,主要研究方向:嵌入式智能控制物聯網技術及應用。