此文章內容節錄自本人筆記「LSU4.9簡易空燃比計製作.docx」
一、目的:
利用參考「CJ125_LSU49_Lambda感測模組設計指南」文件所設計之CJ125功能模組,製作一「LSU4.9簡易空燃比計」。
二、簡易主控板之電路設計:
由於短時間很難提供閒置的ARM Board控制板(TIM20100605HW)供合作夥伴使用,一方面又希望 可以儘早測試「CJ125功能模組(TIM20121203HW)」的功能,所以只好挑選了幾片早期它案剩餘的電路板進行改裝,用以連接「該模組」。而挑選G1410電路板最主要的原因,是因為它內建USB串口晶片並具備最小的系統配置,只要利用萬用板或雕刻板簡單改裝,便可達到控制模組的目的。(EDA工具採用KiCAD 5.1.5)
採用萬用板改裝之簡易主控板:
控制介面之接腳對應規劃:(PIC18F2321介面轉接板)
介面轉接板的佈局規劃(PCB Layout;無貫孔雕刻板):
(詳另參閱TIM21012310HW專案資料)
介面轉接板的外觀預覽:
(詳另參閱TIM21012310HW專案資料)
G1410改裝的前置作業:
a. 移除黃色區域零件
b. 用排針將G1410電路板與雕刻板進行組合
(採用夥伴近期新添購的 LPKF ProtoMat E44 進行雕刻)
c. 使用OK線連接指定端點

d. 雕刻板之電路圖
e. 完成後的簡易主控電路板
三、簡易主控板之韌體設計:
與先前初步評估CJ125與LSU 4.9時所使用的PIC18F45K20晶片相比,G1410電路板上的PIC18F2321晶片容量很小,大大增加製作簡易空燃比計(AFR Meter)的挑戰性。本次開發的文字編輯器採用gVim 8.2、編譯器採用SDCC 4.0.3、連結器採用Gputils 4.2.1、除錯器採用PicKit 3、串口晶片於電路板內建Silicon Labs CP2102。
a. 硬體架構說明:
b. CJ125控制核心架構 (略):
(詳另參閱TIM21011810FW專案資料夾)
c. 代碼移植與最佳化(略):
四、簡易空燃比計之軟體設計與初步測試結果:
開發環境選用Microsoft Visual Studio 2019 (IDE, C#, 目標平台為 .net 3.5)。軟體架構說明(略):(詳另參閱TIM21012705SW專案資料夾)
軟體設計並不複雜,主要是將電路板傳送的資料進行接收,然後將其顯示於表單物件上或進行寫檔。以下是紀錄檔的格式內容:
五、結論:
首先,很高興夥伴能依自己規劃的文件順利完成「CJ125功能模組(TIM20121203HW)」電路板的初步測試,並且相較於夥伴委託他廠承製的電路樣品,也沒有發生「車輛發動引擎即電路失能」的情況。
本次為了能提早對「LSU 4.9感測器」與「CJ125功能模組」進行實驗,於是挑選內帶「PIC18F2321與CP2102晶片的G1410舊案電路版」進行「簡易主控板」的製作。儘管易於改裝為其優點,但PIC內建的ADC只有10-bit且Verf+採直接連接VDD,某程度也限制了整體類比取樣的有效精度。於此,「CJ125功能模組」的「類比實際性能」仍待後續「24-bit的ADC主控電路」試驗後方能再下其結論。而相對於電路性能,本「簡易空燃比計」製作較著重於以下幾點:
a. 感測器校正流程的設計
b. 浮點數整數化之最佳化
c. CJ125運作架構可靠性最佳化
d. PID係數最佳化
值得一提的部份,是關於採用SDCC進行「PIC18F2321韌體實作」的插曲。有些人可能會認為「開源SDCC編譯器」相較於其它「商用編譯器」會有輸出代碼過肥的問題。確實,剛開始移植原始碼至PIC18F2321上時的代碼量驚人,不過在深度了解SDCC編譯器特性以後,最終還是順利地在8192 bytes容量限制下完成了所有實作。(多一行 ++i 就超過容量了)
最後,很高興完成了一件「LSU 4.9簡易空燃比計(AFR Meter)」,儘管在導入將來的案子應用前仍面臨著許多工作與挑戰,但截至目前也算是取得一個不錯的階段性成果。
補充:雕刻轉板之製作步驟本非必要,其實際目的為惜福多片仍可使用之G1410電路板良品,提供學生一建議方法改裝成迷你實驗板使用。感謝友人Kevin Tsai於台灣台中市協助使用萬用板主控板複製;感謝友人Bruce Liao於台灣新北市協助製作雕刻轉板以利後續PIC教學使用。
六、參考資料:
Lambda Measurement Circuit Evaluation Experiment of LSU4.9 and CJ125_連結
CJ125 Functional Module Design Practice_連結
Comments
Post a Comment