Lambda Measurement Circuit Evaluation Experiment of LSU4.9 and CJ125

此文章內容節錄自本人筆記「CJ125_LSU49_Lambda感測模組設計指南.docx」


一、目的:

    研究並評估如何正確快速的利用CJ125與LSU4.9來設計一個Lambda值與氧氣的量測模組,並且快速應用於產品中。


二、Lambda值的介紹:

    Lambda值指的即「過量空氣係數」,它是一個沒有單位的「比值」並用來評估「空燃比」是否達到理想。

    理論計算看起來很複雜,但實際量測卻不困難。相比傳統的「含氧感知器」,「空氣過量係數(𝜆)」更能讓「行車電腦(ECU)」掌握引擎中的空氣與燃油混合資訊,更進一步能適當調整燃油達到最佳的效能與兼顧環保。此外,由於「燃油」與「空氣」燃燒後的「總組成的質量不變」,所以量測「廢氣」的「空氣過量係數(𝜆)」也就相當於量測「燃燒前」的數值。

    數值所呈現的意義:

𝜆 > 1:即代表稀混和氣體,純粹空氣的情況下是無限大。
𝜆 = 1:即代表待測氣體已經達到理想的空燃比。
𝜆 < 1:即代表濃混和氣體,意味氧氣不足以完全燃燒。

知道「𝜆值」有什麼用呢?只要知道「燃燒目標物」的「理想空燃比」就可以馬上知道「目前氣體」的「實質空燃比(即 AFR;Air–Fuel Ratio)」,理想 AFR 常見的比值如「汽油近似 14.7」、「柴油近似「14.3」。


三、LSU4.9 感測器介紹:

    這顆感測器可以直接量測氣體「含氧量」與「過量空氣係數」,其「𝜆量程」可以從 0.65 到無限大。感測器需要工作在特定的溫度範圍才能正常運作,參考指標是讓「Nernst cell 」抗約等於 300Ω時為理想(溫度詳實驗數據)。為了恆定溫度,需要另外設計一個「脈波調變(Pulse-width modulation;PWM)供電,該PWM的頻率應大於100Hz並根據量測到「Nernst cell」的阻抗來調整加熱功率。此外,感測器的加熱電壓應該從等效8.5伏特(V)開始供電,以每秒(s)增加 0.4 伏特(V)的方式進行加熱,避免感測器在含有露水的情況下瞬間加熱而損壞。

    這顆感測器的配線與功能的定義如下:

Pin 1 紅(Red): Pump current APE / IP
Pin 2 黃(Yellow):Virtual ground IPN / VM
Pin 3 白(White):Heater voltage H- / Uh-
Pin 4 灰(Gray):Heater voltage H+ / Uh+
Pin 5 綠(Green):Trim resistor RT / IA
Pin 6 黑(Black):Nernst voltage UN / RE

    感測器的加熱主要透過Pin3(H+/Uh+)與Pin4(H-/Uh-)進行。PIN2(IPN/VM)用於連接放大器的參考地。Pin6(UN/RE)可以利用方波充放電量來量測「Nernst Cell」的內阻來知道溫度是否已經達到理想值。Pin5(RT/IA)通常會根據參考「Nernst Cell」的電壓與Pump Cell的電壓來產生一個電流回到PIN2(IPN/VM),而此時電流會流過Pin5(RT/IA)與Pin1 (APE / IP)之間的並聯電阻,然後透過這兩端的壓差去換算得知Ip。依照官方文件所提供的Ip的對應表,便可以得到當下的 「𝜆值」與「氧氣含量」。工作的參考電流也需依其需要設定相對值。
    (我認為先研讀LSU4.2的工作原理是必要的,這有助於電路的設計與調整)


CJ125 晶片的介紹:

    資料手冊內有典型的電路應用,但僅供參考。它具備一些偵錯功能,並且可以透過SPI進行設定、校正、切換放大倍率與確認錯誤的原因。此晶片幾乎專為 LSU4.9 設計,正確設置後可以直接透過ADC將UR與UA的電壓配合校正後係數,換成正確的「𝝀值」、「氧氣濃度」與「感測器溫度」。
    此晶片工作電壓僅能操作於 5 伏特(V),而SPI介面速率最高可以達2Mbit/s,除了可以偵測錯誤外,也可以依照「𝝀值」切換內部放大器檔位,以利後方電路可以取得最佳的訊號解析度。


五、硬體設計:

    為了更專注評估 CJ125 的功能,於是借用一片手邊朋友放著沒用的 「44-Pin Demo Board 」與PICKit 3來進行實驗。因為它配置精簡「已預接 8 顆 LED 在 PORT D 可以顯示資料」、 「RB0(INT0)上按鈕可以測試輸入或外部中斷」、「RA0(AN0)類比端口預接一顆電位計可以進行簡易的 ADC 實驗」並且「除錯器可以直接向晶片基礎的供電而毋需外部電源」,最重要的是「下方萬用的空間已足夠完成本次實驗」。

    本次實驗的電路圖:(詳另參閱 TIM20080900HW 專案資料夾)


    測試雛形:(LSU4.9 代用品)



六、韌體設計:

    關於實驗之韌體開發,整合開發環境(IDE)採用MPLAB 8.92、編譯器採用C18 V3.47、除錯器採用PICKit 3、USB to UART cable(PL2303)、HC-05藍芽模組。

    測試韌體架構略述:(詳另參閱 TIM20080900HW 專案資料夾)

    關於初始化的部份,首先依照電路圖將「 CCP1 配置為 PWM 訊號輸出(解析度 10bits)」、「MSSP配置為SPI依照CJ125要求配置」、「啟動FVR內部參考電壓做為ADC量測參考」、「配置Timer0做為PID運作的節拍」與「其他相關IO配置」。接著透過SPICJ125進行必要的「參數設置」與「校正(暫無溫度校正)」,其後剩下的運作將交給Timer0進行。
    Timer0中斷服務函數中,先量測電壓並讀取CJ125的狀態旗標。然後依照Ur數值所換算的溫度來調整加熱器功率輸出(使用PID控制PWM;冷啟動需依照LSU4.9規範加熱)Ua數值則進行「𝜆數值」換算與「CJ125跳檔」,並進行必要的補償。 


七、實驗結果:

    「Ip」與「𝜆」間轉換函數曲線:(採線性內插法


   
含氧百分比」與「Ip」間轉換函數曲線:(採線性內插法;並非線性關係)





    「感測器溫度」與「PWM工作週期百分比」對照:(時間解析度 0.02s;冷啟動)

    a. 0s 開始會依照資料手冊建議先緩加熱,斜率可調整(實驗斜率有放緩)。
    b. 13.44s 可以正常工作,可以再優化 PID 參數。
    c. 19.2s 以嘴對感測器大口吹氣,當溫度下降時輸出功率會上升。 
    d. 目標工作溫度設定於 780 度,啟動約兩分鐘會收斂於目標值。


    感測器溫度」與「𝜆(lambda)值」間對照:(時間解析度 0.02s;冷啟動)

    a. 顯見時間 15.36s 以後,量測數值才有意義。
    b. 19.2s 以嘴對感測器大口吹氣,可以觀測到𝜆(lambda)值下降。
    c. 20.48s 散熱速度突然大於加熱速度太多,導致感測器溫度驟降。
    d. 22.4s 停止以嘴巴吹氣時,氧氣濃度需要時間恢復。
    e. 26.88s 以火源對感測器進行測試時,可以觀測𝜆(lambda)值下降。


    「𝜆(lambda)值」與「內部放大倍率切換」對照:(時間解析度 0.02s;冷啟動)

    當𝜆(lambda)值穿越 1 時會切換倍率,以取得較佳解析度。


    「𝜆(lambda)值」、「AFR」與「內部放大倍率切換」對照:(時間解析度 0.02s)

    a. 當𝜆(lambda)值急速穿越或接近 1 時會造成逆向短暫突波。
    b. 前者情況如果換算成無鉛汽油的 AFR 數值將有巨大振幅產生。
    c. 產生時間週期約為 0.3s,但隨著穿越的斜率不同而有所不同。
    d. 此現象與韌體(FW)控制無關。(經其它實驗)
    e. 此現象將可能導致行車電腦(ECU)誤動作。(如果簡陋的使用下之猜測)
    f. 電路於動態應用下仍需進行各方面的補償與修正。
    g. 商用版本的電路應針對實際應用標的進行整體性的詳細檢證。



八、簡單測試影片:



九、其它實驗:

    本次實驗所用來加熱的「MOS場效電晶體」,重載情況下完全沒溫升是符合我預期的。但實際上這並非安全,因為LSU4.9引線的線電感約為0.94uH,我本來認為這顆電晶體會直接燒掉。



    朋友一開始就問我說:「為什麼要強調不能先用電表量LSU4.9的加熱電流?」

    因為FLUKE 289的探棒線材電感值為2.7uH,假設一開始就把電表串在LSU4.9的加熱線路上,我手邊就沒有零件可以做實驗了(因為電晶體燒了)。到了實驗的最後項目,當我使用電表量測加熱峰值電流的同時,果然「MOS場效電晶體」也冒煙了。


十、結論:

    在參考目前在網路所流通的一些關於寬頻含氧感知器(Wide band lambda sensor)電路設計方法後,確實採用CJ125與LSU4.9進行產品上的應用是最省事的方案之一。可惜當前從原廠官網所得到對外公開的參考資料中,並沒有包含如何使用該晶片與感測器進行可靠應用所需的資訊。而涉及「行車電腦(ECU)」控制引擎的應用,縱使參考電路主體的靜態表現已能量測準確數值,但往往還不足以判斷動態運作下會不會仍有其它淺在風險。
    暫以我目前簡陋的手作電路進行初步功能性評估,該雛型至少已能初步順利取得LSU4.9的「含氧濃度」、「𝜆值」與「感測器當前溫度」等資訊。至於EMC與其它電路優化上的問題,只能參考此次綜合經驗開始著手設計第一版電路板(PCB)時,才能再行討論。
    關於LSU4.9內部加溫的控制部份,在目前套用「PID控制」的方法下,確實也可以使工作溫度恆定在目標溫度上。此外,採以冷風降溫的測試中,亦可以觀察電路會自動調整「脈波調變(PWM)」的「工作週期」來調整加熱器的輸出功率。只可惜CJ125所輸出的Vri仍與實際溫度存在「非線性的現象」,這將多少導致PID的效果下降。至於原廠「LT4手冊」所採用的「查表法」,雖沒實際進行嘗試,但我認為應該也具備相當的溫控效果。
    關於使用副廠LSU4.9代用品所進行快速穿越𝜆值1所致Ip逆向增加」的實驗現象,從目前手上的相關資料及進行「官方的參考電路圖配置」的分析,我認為應屬合理現象。係由LSU4.9運作原理即利用電流中的電子使「氧離子」達到「參考電位差」,平衡時穩定的「Ip數值大小」即與標定對應的「𝜆值」有關係。當氣體的𝜆值快速接近與穿越 1 時,由於氧離子作用與電流的方向變化需要時間且連接高阻抗極板上的電荷無法迅速充放而導致短暫「參考電位」的浮動。這部分除了要適當調整CJ125電路設計外,對於此問題,原廠亦於後續 CJ135 的晶片中添加「依據Vp0與Ip狀態切換放電路徑」的功能。
    前項問題假如不能適當的抑制其發生,我認為在最嚴重的情況下可能導致「行車電腦(ECU)」短暫反向地錯誤調整燃油而導致引擎頓挫。不過在稍微比較原廠LSU4.9與副廠代用品的機械結構剖面圖後,我認為原廠零件氣孔與排氣方向正交且核心具額外遮罩等設計,可能意在削減單位時間內「𝜆值」的變化量。
    除了前述問題外,儘管 LSU4.9 是採「量測Ip」做為𝜆值轉換的手段,但運作的本質仍與窄頻版本無異。當待測氣體接近𝜆值1的範圍時,可預期該附近較大的電壓變化容易被放大於輸出上。而此問題可以透過低通濾波或偏移參考電流等方式改善之,當然原廠亦有針對此部分提出一套專利做法。
    最後,很高興自己能花幾天的時間初次接觸並評估LSU4.9與CJ125就收穫頗豐。對於未來初版給別人評估的電路設計,除了將添加EMC改善與預留調整的電路外,亦會新增多通道電壓波形紀錄儀的功能,以方便未來參與驗證的相關人員能迅速進行免儀器的多方實驗並資料交換,輔助最終商品開發上的調整與最佳化。


十一、參考資料:

Air-fuel ratio, lambda and engine performance [x-engineer.org]

Lambda Sensor LSU 4.9 [Bosch Motorsport]

Oxygen Sensors [cecas.clemson.edu]

METHOD FOR OPERATING A WIDEBAND LAMBDA PROBE [patentscope.wipo.int]

Lambdatronic LT4 Function Manual [Bosch Motorsport]

EVALUATION AND CONTROL UNIT FOR A BROADBAND LAMBDA PROBE [data.epo.org] 

Comments