2018年4月7日 星期六

BMW M62TU 含氧感知器

本篇為英文翻譯
 http://p38arover.com/rover/p38a/Engine_Management/BOSCH_ME72_Systems.pdf

p.18 ~ p.21 (第18至21頁)

Engine Control Module (ECM) - 引擎控制模組

Heated Oxygen Sensors (HO2S) - 具有加熱能力的含氧感知器

HO2S 回應訊號給 ECM 使其能夠進入封閉迴路的油氣混合比控制. 總共有四個HO2S被安裝在每列汽缸的觸媒前後各一個 (V8有兩列汽缸在觸媒前後各一個,所以總共四個).每個HO2S會輸出與廢氣含氧量成反比的電壓輸出.HO2S由鋯金屬感測元件以及具有氣體可穿透性的陶瓷包覆在外部表面.外部表面直接暴露在廢氣當中而內部表面則與大氣相通(參考圖片).內外部表面含氧量的差異在感測器產生電位差.電壓的產生則依靠前後兩個HO2S2的訊號差異.當AFR(油氣混合比)比例參數Lambda為1時(例如空氣及汽油質量比為14.7比1)輸出電壓為約為450mV.當Lambda為1.2的較稀混合比,廢氣中的含氧量增加而輸出電壓約為100mV.叫濃的混合比Lambda 0.8造成廢氣含氧量降低而輸出電壓約為900mV.

ECM經由兩個HO2S提供的資訊來監控噴油嘴脈衝寬度改變的效果.噴油嘴脈衝寬度是噴油嘴作動噴油的時間長度也就是決定有多少油量噴出.反應時間則依據不同的駕駛情況而定,ECM可以得知每個汽缸對總排氣量的貢獻度.這讓ECM可以對每個汽缸變動噴油的策略,例如在任何時間點精確控制每個汽缸的噴油量.

ECM持續不停檢查HO2S的輸出訊號是否正確可信.若檢查出不合理的訊號,ECM會儲存相關的故障碼以及引擎轉速,負載及HO2S的輸出電壓.ECM需要HO2S的訊號來設定大部分的調適值.某個HO2S錯誤失效會造成這些調適值重置為預設值.接著造成引擎失去最佳化設定.引擎怠速可能變糟以及排氣像是腐爛雞蛋的氣味(起因於氧化硫的增加).

HO2S的功效會隨著使用時間持續惡化而需要週期性的更換(目前是每120000英哩,但還是要參考保養計畫表最新的更換週期).ECM可以從HO2S的訊號偵測到持續穩定的劣化.若HO2S的劣化程度超過預定的水準,ECM會儲存相關的故障碼以及引擎轉速,負載及電池電壓.

HO2S需要高溫才能有效率工作.為了保證能快速達到工作溫度,每個HO2S感測器都有加熱元件在陶瓷頂端內.加熱器會將HO2S感測器加熱到超過350度C(662F).加熱速率(溫度上升的速度)由ECM小心的控制以免造成陶瓷材料的溫度衝擊.ECM輸出PWM訊號給加熱器來控制HO2S溫度上升速率.HO2S在引擎暖機及一段時間的怠速後會被加熱.

ECM以計算有多少電流供給來監測每個工作中的HO2S感測器的加熱器狀況.若ECM辨識出加熱器阻抗太高或太低,ECM會儲存相關的故障碼以及引擎轉速,冷卻水溫及電池電壓.

HO2S感測器是非常靈敏的裝置,必須要一直小心的操作.沒有正確的操作將會導致非常短的使用壽命或無法操作.安裝HO2S感測器時會塗覆一些抗鎖死合成劑.要小心不可塗抹感測器的頂端.若感測器需要拆卸並重新安裝,應該要塗覆少量的抗鎖死合成劑

2018年2月1日 星期四

BMW E38 深入行車電腦協議

由上一篇了解 BMW E38 電腦診斷接頭規格後接著上車實際驗證. OBDII / D-Bus 是以半雙工的方式傳送資料, 由診斷電腦送出命令到OBDII / D-Bus上, 命令中所呼叫的電腦(DME / EGS等)再回應. 以下實際來看看OBDII / D-Bus上的命令與回應.

偷窺D-Bus


作法很簡單就是攔截C310診斷電腦在D-Bus上發送與接收的資料 Baudrate 9600 8E1.
硬體需求 : OBDII 一公二母 Y 線, K+DCan 線組, C310診斷電腦, PC Notebook
                    
                    PC Notebook
                           +
                            |
                            |
 C310 +-----+----+ K+Dcan
                    |
                    |
                   +
       OBDII / K-Line



軟體需求 : PC Notebook上需要一支程式讀取顯示K+DCan線組上的資料

OS Ubuntu 16.04 執行以下程式

sudo stty -F /dev/ttyUSB0 raw
sudo stty -F /dev/ttyUSB0 -echo -echoe -echo
sudo stty -F /dev/ttyUSB0 9600 cs8 parenb -parodd -cstopb
sudo cat /dev/ttyUSB0 | hexdump -C

操作 C310 進入引擎系統DME, 在PC Notebook上可看到類似以下的輸出

...
00000190  00 3a b8 f1 12 2d 62 40  00 00 00 80 00 80 00 00  |.:...-b@........|
000001a0  00 00 4a 00 00 00 00 6d  6a 00 05 00 00 a8 d1 7f  |..J....mj.......|
000001b0  00 94 64 0c 80 0c 80 0c  80 0c 80 0c 80 0c 80 0c  |..d.............|
000001c0  40 0c 80 2a 

DME資料解析


這些資料經過整理以後16進位數值如下

12 04 94 82
12 04 94 82
12 04 94 82
12 04 00 16
12 04 00 16
12 04 00 16
12 04 94 82
12 04 94 82
12 04 94 82
12 04 00 16
12 04 00 16
12 04 00 16
b8 12 f1 01 a2 f8
b8 f1 12 2b e2 37 35 30 36 33 36 36 30 46 30 31 41 38  36 30 30 38 30 30 30 30 31 30 32 31 33 35 31 30  ff ff ff ff 30 30 30 30 38 33 38 32 38 99 
...

先看第一筆 12 04 94 82
12 : DME, 04 : 4 bytes, 94 : data, 82 checksum 剛好符合DS2的格式
後面跟著多筆 12 04 XX XX 而且看起來 DME 似乎沒有回應. 最後還兩筆b8 開頭的資料完全不符合DS2. 這是怎麼回事呢?

b8 開頭的資料其實是KWP2000的格式,結構如下
[ header ] [ target ][ source ][ size of data ][ data ] ... [ check sum ]

原來是 M62TU 的 DME 電腦 Bosch ME7.2 只支援 KWP2000

C310診斷電腦進入DME診斷時會先發送DS2格式的命令讀取DME的型號, 在發送幾次後沒有得到回應便改發送KWP2000格式的命令.

以下是DME回應的資料解讀, 透過與C310診斷電腦畫面比對可了解部份的內容

b8 f1 12 2b  
e2 
37 35 30 36 33 36 36 # 料號 7506366 
30 46 # 0F 硬體編號
30 31 # 01 編碼索引
41 38 # A8 診斷編號
36 30 # 60 匯流排索引
30 38 # 08 製造時間 星期
30 30 # 00 製造時間 年
30 30 31 30 32 31 # 供應商編號 001031 
33 35 31 30 
ff ff #
ff ff 30 30 30 30 38 33 38 32 38 99




BMW並沒有公開這些編碼的解讀方式, 只能透過比對來解碼. 網路上也有部份的資訊但很不完整.

https://github.com/inferiorhumanorgans/DS2PlusPlus/blob/master/dpp-json/dme/me-7.2/dme_me7_2.json

不過經過一番搜尋及研究發現還是有方法可以從INPA / EDIABAS的檔案 *.PRG 中分離出編碼的解譯表, 參考以下連結

http://eurokclub.bike/index.php?topic=2734.0

最後轉成excel的表格, 可以清楚看到哪個參數資料在第幾個byte,長度多少,轉換的乘數值,偏移值,單位.


與DME / EGS對話


知道資料格式就可以自己與DME溝通取的所需要的資訊, 例如轉速,水溫,空氣流量等.
以PC Notebook作為平台, python語言來寫軟體, 一樣透過K+DCan線組連接車身. 
原始碼如下


執行結果



除了DME之外EGS(變速箱)電腦也用同樣的方式成功取的資料. 值得注意的是EGS是走DS2協議, 同一條D-Bus上可走不同的協議.


目前可讀取的參數
DME : 轉速, 時速, 水溫, 水箱出水口溫度, 進氣溫度, 進氣流量, 節氣門開啟百分比等
EGS : 轉速, 變速箱油溫, 水溫, 檔位等

至此我們已經把手伸進DME / EGS電腦裡面, 下一步要脫離PC由獨立的硬體來整合上車.


2018年1月26日 星期五

BMW E38 診斷接頭規格

BMW E38車型配備兩個OBDII診斷接頭, 這是為了符合法規所產生的過渡時期設計.一個是 20 pin 圓頭位在引擎室, 另一個在車室內中控台杯架旁 16 pin OBD接頭.

2001年之前生產的BMW E38接專用電腦診斷如GT1/INPA要插20 pin圓頭,同時也支援標準OBDII, 而車室內OBD接頭則只支援標準OBDII.

2001年之後(含)生產的E38車型兩個接頭都可以接專用電腦診斷及支援標準OBDII.

 


16 pin OBDII 接頭


車室內OBDII接頭可讀取引擎的資訊及故障碼, 其通訊協定是 iso 9141-2 標準, 因此只要一般OBDII診斷電腦就可以讀取. 但車輛上其他設備如空調/循跡系統等則無法透過OBDII讀取.

Pin   Signal
1      +12V (Ignition(in run or start))
4      CGND (chassis ground)
5      SGND (Signal ground)
7      ISO 9141-2 K-LINE (engine (ISO-9141 and ISO-14230), automatic transmission diagnostic (in some models) AKA TXDII)
8      ISO 9141-2 K-LINE (IKE/KOMBI, ABS, ABS/ASR, ABS/ABD, ESP, DSC, Airbag and other electronic equipment AKA TXD II)  2001後的車型才有這根pin
9     TD/RPM (Engine rotation speed)
16   +12v (Battery power)

OBDII詳細規格參考
https://learn.sparkfun.com/tutorials/getting-started-with-obd-ii

2001年前生產的E38 資料傳輸腳位是 pin 7 K-line, 2001年之後(含)生產的則支援 pin 7 K-line  / pin 8 L-line

OBDII 規格定義許多車輛資訊的代碼, 涵蓋引擎, 傳動系統等, 也即時的行車資訊如轉速,水溫等. 但是在 OBDII 剛開始出現時(1996年左右), 各車廠往往沒有實做完整, 大部分都只針對法規要求關於引擎故障及廢氣排放監測做實現.


20 pin 圓頭


引擎室 20 pin 圓頭支援完整BMW診斷功能, GT1 / INPA 透過BMW自定義的 DS2 通訊協定與車輛上所有的電腦通訊. 使用 20 pin轉16 pin轉接線 接專用診斷電腦GT1 / INPA / C310等.

Pin  Signal
1     Engine rotation speed
2     OBD-II diagnostic
7     Oil service and Inspection reset
11   External starter turn on
14   Battery power
15   ISO 9141-2 L Line (RXD- Diagnostic Data link)
16   Ignition +12V
17   ISO 9141-2 K Line (TXD II - ODB2)
8     PGSP (Programming line)
19   GND
20   ISO 9141-2 K Line (TXD - Diagnostic data link)

資料傳輸腳位 pin 17 是標準 OBDII, pin 20 TXD / pin 15 RXD 則是走DS2通訊協定

ISO 9141-2 / DS2 的差異


 iso 9141-2 資料格式
3 bytes header + Up to 7 bytes data + 1 byte check sum

DS2 資料格式
1 byte address + 1 byte length +  N bytes data + 1 byte check sum

兩個協議是完全不相容的,市面上大宗的OBDII晶片ELM327就不支援DS2.

GT1 / INPA 用 K+DCAN 傳輸線來支援DS2

 


16 pin OBDII 接頭改裝


改裝使得車室內 16 pin OBDII 接頭可以有完整功能

參考以下
http://blog.obdexpress.co.uk/2015/10/22/update-bwm-e38-obd-ii-port-to-d-bus-diagnostic-port/

最簡單的改裝方式
https://sites.google.com/site/carsfunandtechnologies/bmw-z3/bmw-odb2-before-2001---enable-ike-and-ews-on-a-z3




2017年9月28日 星期四

Install Tensorflow on Raspberry Pi 2

Reference https://petewarden.com/2017/08/20/cross-compiling-tensorflow-for-the-raspberry-pi/

This is a record of installing Tensorflow on Raspberry Pi 2.
The OS is Raspbian. Login with username pi password raspberry.

pi@raspberrypi:~/tf $ mkdir -p tf/
pi@raspberrypi:~/tf $ cd tf/

pi@raspberrypi:~/tf $ sudo apt-get install libblas-dev liblapack-dev python-dev \
> libatlas-base-dev gfortran python-setuptools

pi@raspberrypi:~/tf $ pip2 install http://ci.tensorflow.org/view/Nightly/job/nightly-pi/lastSuccessfulBuild/artifact/output-artifacts/tensorflow-1.4.0-cp27-none-any.whl

Now the Tensorflow is installed.

pi@raspberrypi:~/tf $ python
Python 2.7.13 (default, Jan 19 2017, 14:48:08) 
[GCC 6.3.0 20170124] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>>


2017年9月4日 星期一

BMW M62TU電子節溫器改裝 (Part 3)

電子節溫器控制專案 OpenBTD - Open BMW Thermostat Daemon

https://github.com/gigijoe/OpenBTD

該專案為開放原始碼專案包含硬體及軟體,專案授權為BSD 3-clause License.以上翻譯成中文就是任何人都可以免費使用,複製及修改該專案,而作者對使用該專案所帶來的各種損害均不負賠償責任.

Safety - 安全

1.轉速RPM為零時表示引擎未運轉則加熱器關
2.加熱器耗電流應該在1A左右,大於2A視為加熱器有短路狀況則加熱器關
3.硬體故障或軟體錯誤加熱器開,電子節溫器常開造成水溫低但無損壞引擎疑慮.
4.硬體故障或軟體錯誤加熱器關,電子節溫器直到105度C才會開啟,水溫仍維持在原廠設計範圍且無損壞引擎疑慮.

Hardware - 硬體



主IC是STM32F103C8T6.這是一顆32位元多功能CPU應用在自動控制及回授的場合.電路圖左下角部份是I-Bus訊號的讀取線路,這是從網路上找的線路再經過些許修改.電路圖右上角部份是加熱器開關以及電流量測的線路,加熱器開關是由CPU控制繼電器空接或接地.電路圖右邊中間部份是電子風扇PWM訊號的升壓線路,目前沒有用到.電路圖右下角部份是電壓測量線路.整個週邊的電子元件其實不多,也盡量使用一般市面上容易取得的零件.



Software - 軟體



1.讀取並顯示冷卻水溫.
2.測量並顯示電壓.
3.讀取戶外溫度,引擎轉速RPM及行駛速度.
4.調整及設定目標水溫.
5.依據目標水溫,冷卻水溫,戶外溫度,引擎轉速RPM及行駛速度開關加熱器.
6.測量並顯示加熱器耗電流.
7.強制開啟加熱器





Modification - 改裝

OpenBTD安裝於副駕駛座手套箱後方空間,共需要接4條線到OpenBTD



1.電源12V
2.接地
3.I-Bus - 白底,灰條,黃段
可由音響(中控台)或LCM(副駕駛座腳邊)並接出I-Bus線接到OpenBTD.



4.加熱器控制線路在X60003 - pin 31 (白色線).
加熱器控制線路就在副駕駛邊電腦盒.剪斷白色線,接到DME端的白色線串連1K/1W電阻後接12V,接到線組端的白色線接延長線並穿過防火牆組穿越孔至手套箱後方接到OpenBTD





Testing - 測試

預設目標水溫是95度C,戶外溫度是26度C.OpenBTD會依據戶外溫度,引擎轉速RPM提前開啟加熱器,這是為了補償加熱器需要時間才能完全開啟.所以目標水溫其實是我們希望不要超過的最高水溫.實際觀察發現
1.怠速或市區走走停停加熱器已開啟溫度會在93~100度C之間來回.
理論上熱器開啟水龜會全開溫度不應該會高到100度C,不過還有其他因素會影響溫度如離合器風扇風量,水龜是否劣化,主水箱是否暢通等.因此待日後有機會更換各個散熱零件再來觀察.

2.高速公路會在91~94度C之間來回,上坡高負載路段最高到97~98度C左右,下坡路段最低到88~87度C
有撞風後溫度基本上已經在想要的範圍內



影響水溫的條件實在太多了,冷卻系統各個零件都正常運作才能讓水溫保持在合適的狀態.水溫超過原廠設定的範圍,應該找出其中故障的零件,改裝電子節溫器並不是維修的方式.

2017年8月31日 星期四

BMW M62TU電子節溫器改裝 (Part 2)

## 電子節溫器漫談

老車最大的敵人就是高水溫.以我自己的經驗,日常使用的車輛"水龜"約兩三年就會有老化的跡象,就是溫度到達時"水龜"沒有完全開啟.此時水溫仍在正常範圍但稍微偏高,遇到較高負載或夏天塞車狀況時就會超出正常範圍.因此我都是兩年左右會換"水龜"順便也把水箱水換掉.電子節溫器一樣也是會有老化的狀況,所以時常注意水溫變化適時進行檢修才是長久之計.另外老車引擎的水道管壁都會堆積鐵鏽及各種沈澱物質,導致熱傳導速率降低.因此稍微降低水溫也可補償這個問題.

電子節溫器電熱器作用是使"水龜"提早開啟,控制電熱器就能控制水溫.

電熱器是一個發熱電阻,發熱期間節溫器因達到工作溫度而開啟.這個過程會花費一些時間且無法得知節溫器開度,所以要控制水溫固定在某個數值是不太可能的,只能依據引擎轉速,行車速度,進氣溫度及戶外氣溫等條件預先打開電熱器讓水溫在正常範圍內移動.

M62TU電子節溫器"水龜"在105度C開始動作108度C時全開.有了電熱器加熱"水龜"在水溫不到105度時就動作.由此可知"水龜"正常時就算沒有電熱器加熱水溫也都應該在108度C以下.若水溫時常超過108度C代表散熱系統是有問題,可能是冷排阻塞,風扇風量不足或電子節溫器故障等等.

電子節溫器故障有幾種情況
1. "水龜"卡阻,水溫到達108度C時"水龜"沒有全開,水溫時常超過108度C.
2. "水龜"卡阻,"水龜"卡在某個位置,卡在全開水溫會過低,卡在全關水溫很快就破表無法散熱.
3. 電熱器故障(斷路或發熱量不足),水溫時常維持在105~108度C之間.
4. 電熱器插頭漏水,國外有案例水延著線組跑到DME電腦端造成電腦燒毀.

電子節溫器上有個2 pin的插頭就是電熱器的正負極,實際以電錶量測電熱器的阻抗是13.7歐姆



依據歐姆定律 V/R=I 電熱器電流 14V / 13.7ohm ~= 1A
P=IV=V^2/R 電熱器功率 14V^2 / 13.7ohm ~= 14.3W

DME只能控制開啟或關閉電熱器



## 電子節溫器控制

了解電子節溫器的運作原理,接著就來規劃改裝的系統架構.上一篇文章提到電子節溫器有7種改裝方式各有優缺點.以工程的角度來看越簡單的方式越不容易出錯,但複雜的方式較能顧及全面的效果.身為一位軟體工程師當然要挑戰複雜的方式 - 以微電腦讀取水溫控制電子節溫器


以微電腦來控制電子節溫器可行的關鍵是IKE(就是儀表板電腦)每隔幾秒鐘就會在I-Bus上主動廣播戶外溫度及水溫(Out side temperature & coolant temperature),因此可以判斷什麼時候開關電子節溫器.另外IKE也會在I-Bus上主動廣播引擎轉速及時速,可以做為進一步的開關電子節溫器補償.

## I-Bus

E38 / E39 車系以 I-Bus 作為燈光/音響/導航/顯示等裝置間溝通的方式.

從硬體上來看,IBus只有一條電線上面跑12V電壓的訊號.所有連接IBus的設備只有一個是master其於都是Slave.(也就是只有一個主控設備).IBus master(主機)就是LCM(俗稱燈光模組).IBus上所有裝置都可接收或發送訊號,對設備而言這是一條可以雙向溝通的訊號線.

E38 / E39 車系還有 K-Bus 作為空調/防盜/座椅/行車監控等裝置間溝通的方式.

由駕駛邊的儀表板負責連接並轉發 I-Bus / K-Bus 間的訊息,在I-Bus上可讀到水溫等資訊就是由此轉接.

從軟體上來看 I-Bus 以 LIN Bus (ISO 9141) 訊號為基礎,資料傳輸速率 9600 8E1 (9600 bits/sec, 8bit date, Parity Even, 1 Stop bit). I-Bus只有一條線讓所有設備發送訊號因此設備在發送訊號之前必須偵測IBus上是否有其他設備正在傳輸資料,一直等到IBus上一段時間沒有資料才把資料傳輸出去.這個時間長度有不同的說法,大部分是說11個clock cycle.

I-Bus 只是用了與 LIN Bus 相同的硬體而資料傳送協議不同. I-Bus在發送資料前不需要傳送break及sync byte. 一個message最多可以有32 bytes長度的資料.



## DME 控制電子節溫器

電子節溫器加熱器一端接12V正電另一端接到DME,由DME控制接地(GND)來開關加熱器.切斷DME控制加熱器線路會使得DME認為加熱器故障斷路,因此產生 map cooling 故障碼.



已知加熱器阻抗是13.7歐姆,因此可以找一個相同的發熱電阻來取代騙過DME.但這樣會放出很多廢熱也很危險,萬一熔掉一旁的電線可是有火災的可能. 經過測試以1K歐姆一瓦的電阻就能騙過DME,而產生的熱量只有 14V^2 / 1000ohm = 0.196w. 這是加熱器14.3w的1/73左右,相對安全很多.另外騙過DME應該也會使DME覺得開心吧.



到這裡我們已經了解所需的相關知識,接著就要動手實作了.

2017年8月29日 星期二

BMW M62TU電子節溫器改裝 (Part 1)

M62TU引擎水溫原廠設定在105度C以上,儀表板的水溫指針從75~113度C都在中間適溫位置.原廠設計的工作溫度比傳統車輛高主要是為了減少油耗,增加燃燒效率減少排污以符合EU-2環保法規.



電子節溫器是由105度C開啟的傳統水龜以及電熱器所組成,電熱器是用來加熱水龜使其在水溫不到105度C就開啟,這樣就能控制水溫.在怠速及低負載時電熱器不動作,水溫維持高檔減少排污.高負載情況時電熱器動作降低水溫排除廢熱.電熱器由DME控制,依據引擎轉速,行車速度,進氣溫度及戶外氣溫等條件來決定.因此要降低引擎水溫要從電子節溫器下手.



http://www.meeknet.co.uk/e31/M62B44_Engine.pdf

http://www.meeknet.co.uk/e31/BMW_M60_M62_M62TU_Engine_Cooling_System.htm

M62TU電子節溫器改裝有以下幾種方式

1.節溫器檔片上打小孔

傳統的作法對降低水溫相當有效,缺點是冷車水溫上升慢,氣溫低或長時間低負載水溫會大幅低於正常工作溫度.

2.拆解電子節溫器取出"水龜"改用M60引擎節溫器

http://www.ebay.com/itm/80-C-Thermostat-kit-BMW-E39-540i-535i-E38-740i-735i-X5-M62-Reduce-temperature/172490810117?_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D41376%26meid%3Df5c10278a9b641e3b71ad81775df7cfa%26pid%3D100033%26rk%3D8%26rkt%3D8%26mehot%3Dpp%26sd%3D351763561239&_trksid=p2045573.c100033.m2042

需購買改裝套件及M60引擎節溫器,需要少許加工.缺點是價錢高

3.拆解電子節溫器取出"水龜"改用E31 850水龜(11531742964)

https://www.youtube.com/watch?v=0bz0vyrWYyA

http://www.ebay.com/itm/Original-BMW-Thermostat-85CEL-8er-E31-840Ci-EF71-EF81-M62-11531742964-OEM-/201793080929?epid=1314745000&hash=item2efbce0e61:g:3ZwAAOSw4DJYhz5y

E31 850節溫器料件不易取得是最大的問題.

4.將Water Pump總成連同節溫器皆改成M60引擎的零件

http://blog.xuite.net/sld1026/twblog/159936353-BMW+E38+M62+%E5%BC%95%E6%93%8E+%E9%9B%BB%E5%AD%90%E7%AF%80%E6%BA%AB%E5%99%A8+%E6%94%B9%E7%82%BA%E5%82%B3%E7%B5%B1%E5%9E%8B

需要切管鏜孔加工,一般保養廠應該無法完成.優點是未來更換節溫器很便宜.

5.以E38 740d節溫器替換BEHR TI 32 88(11512248542)

https://www.buycarparts.co.uk/oen/11512248542

該料件是傳統機械式88度節溫器,外觀與M62TU節溫器幾乎一模一樣但沒有加熱器插座.重點是直上完全不需修改加工.不過這個料件只能從歐洲取得,價格也比M62TU節溫器高一些.

6.以溫度開關取代DME控制電子節溫器



比打孔的方式好,冷車水溫上升不受影響,氣溫低或長時間低負載水溫只會略低於正常工作溫度.溫度開關為機械式無故障疑慮,工作穩定性極佳且改裝成本低.

7.以微電腦讀取水溫控制電子節溫器






https://modbmw.com/thermostat-mod-m62/

可達到完全控制目標溫度,缺點是系統架構較複雜且需要軟硬體開發測試.