隨著全球資源短缺、環境污染和生態環境的惡化,汽車與環境的相容性研究已經成為汽車發展研究的主題。天然氣汽車具有排放污染顯著降低、燃料經濟性好、安全性高、發動機壽命長等優點,因此被認為是未來最有前途的一種汽車燃料。在這種強大的市場需求驅動下,油改氣方案勢在必行,可以根據汽車外部采集的數據對其進行分析、研究與設計。
1 系統總體結構
本系統以FPGA為中心,主要包括以下部分:(1)信號采集部分:包括一系列的汽車傳感器,實時獲取發動機各項參數;(2)ECU模塊:系統的控制核心;(3)執行機構:實時執行ECU的控制指令,使發動機正常工作;(4)人機交互界面設計:完成上下位機之間異步串行通信,實時觀測系統運行狀況。圖1為系統總體結構圖。
2 FPGA主要模塊實現
根據汽車電控單元的需求,設計選用的FPGA是ACTEL公司基于非易失性Flash技術的A3P250器件(100-VQFP)。器件采用了精細顆粒架構VersaTile,具有250K系統門結構,采用了130 nm的工藝技術,內核電壓1.5 V,時鐘頻率48 MHz。A3P250是反熔絲的,抗輻射、耐高低溫、功耗低、速度快,應用較廣。FPGA功能模塊描述語言主要包括時鐘邏輯模塊、A/D采樣控制模塊、模糊控制模塊、步進電機控制模塊、PWM產生模塊、UART通信模塊等。系統設計模塊如圖2所示。
2.1 時鐘邏輯模塊
該設計中,外部輸入的時鐘為48 MHz,由于設計中需要多種不同的時鐘信號, 所以必須設計一個可根據采集需要任意分頻的時鐘邏輯模塊,且必須準確,才能保證整個系統的正常工作。同時采用同步時序電路,它是基于時鐘觸發沿設計,對時鐘的周期、占空比、延時、抖動提出了更高的要求。分頻器是FPGA設計中使用頻率非常高的基本單元之一。通過自主設計進行時鐘分頻的實現方法靈活性好,節省系統硬件資源,而且這種方式只消耗不多的邏輯單元就可以實現對時鐘操作的目的。
2.2 采樣控制模塊
ADC0809轉換模塊程序流程圖如圖3所示。數據采集系統的輸入信號多數都于現場傳感器的輸出信號,傳感器種類不一,致使信號特性也不同。各通道信號的幅度與頻率范圍有很大的不同,高精度的、大動態范圍的A/D轉換芯片使設計更能滿足測量的需要, 特別是對寬頻帶弱信號的采集顯得尤其必要。本設計中A/D轉換模塊選用了ADC0809和AD16 7 4芯片,ADC0809主要用于節氣門信號采集,兩片AD16 7 4芯片主要用于實際轉速信號和設定轉速信號的采集。
2.2.1 ADC0809轉換控制模塊
當FPGA啟動數據采集時,掃描時鐘便開始工作,同時掃描周期計時器和采樣周期計時器開始計時。48 MHz時鐘經過FPGA分頻得到500 kHz的CLK作為ADC0809的驅動時鐘,利用狀態機實現對A/D的控制,采集過程完全按照A/D的工作時序。當單次A/D采集完成,便立即更新地址寄存器和數據寄存器。轉換完后將按照此次任務規定的采集參數進入A/D芯片前的采集模擬電路建起,等待下次采樣周期到來。
2.2.2 AD1*轉換控制模塊
AD16 7 4是帶有內部采樣保持的完全12位逐次逼近(SAR)型模/數轉換器,支持單極性和雙極性輸入兩種工作方式,轉換時間為10 μs。根據實際工作需要,使用了雙極性輸入方式。AD16 73在FPGA的時鐘信號clk、復位信號rst、狀態信號status及控制信號cs、k12x8、rc、a0的控制下采集數據。AD16 7 4轉換器模塊是根據摩爾狀態機實現的,完成對實際轉速信號的采樣,FPGA計算出誤差和誤差變化率,然后查模糊控制表,最后將控制量變換到實際控制量上。根據實際工作需要,采用兩片AD16 7 4,一片采集汽車發動機實際轉速信號,另一片采集汽車設定轉速信號。AD16 7 4轉換模塊程序流程圖如圖4所示。
2.3 模糊控制模塊設計
在怠速狀況下,盡量使汽車穩定在最低轉速以節省資源并減少排放。設計了一種基于FPGA的汽車ECU的模糊控制器,只需在線修改模糊控制規則表就可以做成不同精度和不同控制規則的模糊控制器,具有通用性,控制規則實現簡單。模糊控制模塊由Verilog HDL語言實現,可以隨時對系統進行升級和移植,非常靈活和方便。模糊控制模塊包含運算模塊和模糊控制規則表模塊。
運算模塊主要是將采集到的汽車設定轉速信號g與采集到的汽車發動機轉速傳感器反饋信號f進行處理,計算出汽車轉速誤差e和轉速誤差變化率de。圖5所示為運算模塊流程圖。
模糊控制規則表模塊的功能是把輸入的精確量進行尺度變換,變換到相應的論域范圍;將已變換到論域范圍的輸入量進行模糊化處理,主要是計算各個輸入量的隸屬度,為了簡化處理,將輸入值進行均勻量化。確定模糊控制的原則是必須保證模糊控制器的輸出能夠使系統輸出響應的動靜態特性達到最佳,既要迅速消除誤差,保證響應的的快速性,又要防止產生超調和振蕩,保證系統的穩定性。例如,汽車轉速誤差為負大(NB)時,若誤差變化率為負中(NM),這時汽車轉速還有進一步增大的趨勢。為了盡快消除已有的負大誤差,并抑制誤差進一步變大,控制量的變化應取負大(NB),以盡快減小汽車的轉速。模糊控制規則表如表1所示。
根據表1,模糊控制規則表用Verilog HDL描述如下:
if ((e==NB)&&(de==NB)) u<=NB;
else if((e==Z)&&(de==Z)) u<=ZE;
……
總共49條控制規則,其中NB、NM、NS、Z、PS、PM、PB分別對應一段輸入的誤差、誤差變化率的范圍。還可以對汽車轉速誤差和轉速誤差變化率論域進一步細分,得到更精確的結果,仿真結果如圖6所示。其中,out為輸出的控制量,可以看出變化規律與理論上模糊控制規則表一致。
out對應的是步進電機的步數,用于后面生成脈沖信號。步進電機的正反轉是基于前端的模糊控制模塊輸出信號控制的,控制單元實時檢測汽車發動機的轉速并與設定的目標轉速進行比較。當轉速低于設定值時,控制步進電機正轉,開大旁通氣道截面,增加進氣量,缸內的可燃混合氣增多,轉速上升;反之,轉速高于設定轉速時,控制步進電機反轉,旁通氣閥關小,缸內混合氣減少,轉速下降,最終使汽車發動機的轉速穩定在目標轉速附近。步進電機的控制程序是基于狀態機設計的,程序流程圖如圖7所示。正轉st0->st1->st2->st3->st0,反轉st0->st3->st2->st1->st0。發動機轉速傳感器采集到實際轉速反饋信號,與設定轉速信號進行運算,得到誤差和誤差變化率,再去查模糊控制規則表,從而形成了一個閉環控制系統,可見該系統具有實時跟蹤的性能和自我校正的功能。
為了驗證系統的效果,在MATLAB中搭建數學模型,進行模擬,結果如圖8所示。
由圖8可知,一般情況下工作比較穩定,當系統設定速度的給定值在650 r/min到750 r/min之間,根據無負荷自動變換,系統可以快速跟蹤其變化。當有干擾時,加入階躍分別在100和155,可以看出經過干擾以后,由于負荷的變化,轉速突然下降20 r/min,系統經過一段時間調節后,很快就上升到原來的穩定值。仿真結果表明:采用模糊控制方法不僅有效,而且降低轉速的波動幅度,進一步提高了運行的穩定性,初步顯示了模糊控制的良好效果;同時,系統具有很強的抗干擾能力,為下一步實際應用,改善汽車的排放性,提高燃氣利用率打下了良好的基礎。該系統能夠實時地進行現場控制,具有很強的實用價值。
2.4 PWM產生模塊設計
噴氣PWM波脈寬產生是根據查表法實現的。FPGA采集的轉速信號和節氣門開度信號經過計算求出某時刻對應的噴氣脈寬對應的地址,輸出相應的PWM波。
為了適應各種不同的噴氣設備,ECU出來的四路PWM波設計為根據實際情況可以隨時調整。特點為:(1)四個缸的工作頻率及占空比是一樣的,經實際測量,在汽車運行狀態下T0為10~35 ms。(2)頻率會根據油門的開閉大小變化,不固定。(3)脈沖為-12 V電平。(4)特殊情況,在汽車轉速達到4 000轉時,波形發生變化,脈沖有交錯。根據燃氣的使用效果,發現只要把原先的脈寬T1適當縮短,縮短的時間可調,就能達到最佳的效果。不過,脈沖的起始時間不能變;頻率是根據氣門的變化而變化的。在油改氣的時候,頻率不能變。
PWM測量和減短仿真圖如圖9所示,圖中虛線豎條的時間間隔為1.310 75 ms,為了明顯起見,在圖中固定減去了1.5 ms輸出,在實際應用過程中,這個值可以根據需要,通過電位器將電壓輸入至FPGA器件,根據需要進行調整。
2.5 通信模塊以及仿真結果
根據RS232異步串行通信的幀格式,在FPGA發送模塊中采用的每一幀格式為:1位開始位+8位數據位+1位停止位,波特率為9 600 b/s。由設置的波特率可以算出分頻系數,具體算法為分頻系數X=CLK/(BOUND×2)。串行數據通信仿真圖如圖10所示。
該系統不但實現了數據采集,通過模糊控制為噴氣裝置產生了包含點火時間以及噴氣脈寬的PWM波,實現了系統的穩定性和實時性,同時能夠實時采集轉速信號和節氣門開度信號并通過UART傳送到上位機,實時地進行監測和控制。
-
FPGA
+關注
關注
1631文章
21810瀏覽量
606820 -
PWM
+關注
關注
114文章
5204瀏覽量
215186 -
步進電機
+關注
關注
152文章
3121瀏覽量
147975
發布評論請先 登錄
相關推薦
評論