[DIY]福特ST170的IMRC模組,外掛Arduino+霍爾感應器抓引擎轉速驅動

*** 編輯更新:2025.12.08 ***

前言,我這台ST170的IMRC模組,雖然因為跳了P1518後換了一顆新的不會再出現警報。
但是後來有明確發現,在引擎啟動時,都沒有做正常的開啟(長通道循環)的運作,造成起步和加速相對無力、以及耗油問題。
看電路圖,猜他可能線組的中繼接頭應該是有接觸不良才造成這樣,但是我也懶得拆在東拆西查修了。
乾脆直接用外掛監控和驅動的方式去控制IMRC模組何時用短通道和長通道。
基本要控制IMRC模組的地方,就是接頭的PIN1(GND)和PIN3(SIGNAL CONTRL)腳。
當訊號接地,他就會做動成長通道模式,適用6000RPM以下的低速扭力需求。
當訊號斷路,他則會恢復放鬆成短通道模式,適用6000-8500RPM的高速吸氣需求。
如果不想要做動,只是要強制ACC後固定長通道,也可以拿一個二極體直接兩腳位導通就好。

NOTE:
1. ACC紅火啟動,PCM會使PIN3導通接地,IMRC模組於1.5s內要拉鋼索,把進氣岐管轉到長通道(扭力模式)。
2. IMRC模組鋼索拉動後,裡面的銅片金屬接點結合,觸發電阻75R迴路給PIN5和PIN6,告知PCM鋼索機構沒有卡住。


(1) 方案一,外部感應轉速訊號,強制IMRC模組不經過PCM控制,導通拉動/放鬆鋼索
需求材料:
Arduino NANO板
HALL感應器模組
1路5V RELAY模組
12V轉5V電源轉換模組
PVC絞線0.5或0.3mm^2,四心線
腳位纜線

配線:
IMRC模組的PIN1(GND)、PIN2(VCC)、PIN3(CONTROL);12V正電和接地接到12V轉5V模組;控制線和接地則分別接到RELAY模組的NC和COM。
HALL感應器模組的正極接3.3V、負極接GND、數位訊號接7號腳。
RELAY模組的正極接12號腳,負極接GND。
12V轉5V模組的USB輸出線,接Arduino NANO板的USB電源線


工作判斷設計原理:
霍爾感應器回饋訊號給7號腳,計算比對當下的引擎轉速值。
判斷當3900RPM於0.5秒後,又超過4000RPM時,則12號腳輸出給RELAY,讓本來PIN1和PIN3短路狀態變斷路。

過程中,發現RELAY會亂做動。
用Serial埠見控數值後,怠速下回饋的RPM轉速訊號計算值會破9000~12000RPM左右的誤差值~XD
看起來我安裝SENSOR的位置,有極大的雜訊會造成干擾誤算。
所以先下一個除以12倍的方式做初步的濾波計算,看起來就能相對正常計算繼電器的啟閉時機了。

等有空一點,改成監控點火電晶體的12V訊號好了。
這個應該不會有周遭電場的雜訊干擾,只是要怎麼監控訊號,又不干擾點火系統的高阻抗電路,我要再想想。

利用EasyEDA軟體製作成品,PDF原始檔連結:
Schematic_ST170_ext.control_IMRC diagram_251113
**此文件已有更新調整接線、公母接頭腳位判讀、BYPASS的繼電器接法。

最新程式碼同步更新在GitHub那裏:https://github.com/Jir8taiwan/ST170_ext.control_IMRC
程式碼:

閱讀全文

DIY維修,含氧迴路的保險絲燒毀(7/30、7/31更新)

這懸案就發生在為了省油錢而快一個月沒開車。
反正也不知道是不是沒把點菸座的充電器拔掉,還是這顆快兩年的GS 56220MFZ真的品質MTBS不好。
總之,等我發現的時候已經剩下DC10V左右,然後緊急充電快一個15小時了,讓它0%充到快80%+(半放棄實驗中)。
今天緊急換了一顆新的YUASA LBN3,把車發起來,而且感覺有電真的車比較輕快加速…。

離題了,電瓶換新的,需要一個步驟來復原。

簡單的說,開大電等30秒後再發動到水溫正常、然後為加高油門約兩分鐘,就開出去八公里重新電腦學習。

但…哪有可能換電瓶重置後,就一直跳P0135和P0141的OBD2警報,還消不掉…。
P0135 O2 Sensor Heater Circuit (Bank 1, Sensor 1)
P0141 O2 Sensor Heater Circuit (Bank 1, Sensor 2)
開出去外面八公里這段漫長的路途,倒是有注意到要等很久才看到兩顆有出現電壓值回饋。
而且,過程中還一直出現這兩個警報,消掉就沒多久又出現。

閱讀全文