A.解決方案摘要
A.1買Autel TS508帶4-8個sensor的,其軟件可將舊傳感器ID拷貝到新的sensor。ID的獲取有三種辦法:激活並讀出舊傳感器、手動輸入、接OBDII讀出ECU裏的ID。限製:隻能用Autel的Mx-TPMS sensor。
A.2換電池
卸胎的方法:https://www.youtube.com/watch?v=yIWUz2UIKdw
08 Odyssey:拆下車輪將其放在頂升區域下方,剪式千斤頂輪胎和汽車頂支點之間(我是墊了塊短板),卸閥芯排出所有空氣。將千斤頂升起,直到聽見”碰碰“即bead脫開輪轂,可能需要頂住輪胎另一端以免翹起,如此即可拆卸舊傳感器。置於台鉗上鑿開白端蓋,去除透明軟膠和舊電池。建議買帶焊腳的CR2450電池用軟線連接;如果新電池不帶焊腳,可以在朝上的正極PCB的對角殼體上鑽小孔,用#14硬銅線穿過小孔焊到PCB上,此為壓力接觸。切忌直接焊接電池。裝回後在輪胎胎圈上噴一點 WD40 或肥皂水,以便回bead時輕鬆些。
A.3.Toyota車可用techstream
買原廠sensor,用techstream+MiniVCI寫入ID到ECU中。最新車MiniVCI不行要
A.4.用獨立的係統
https://www.aliexpress.us/item/2255800852215170.html 其中外置式隻要挑開蓋板即可換電池。
https://www.boschdiagnostics.com/j2534-faq
基本功能是激活、掃描傳感器並讀出其ID然後寫入該品牌Mx-TPMS的新傳感器中。如果舊的沒電了,就需TS508接OBDII來讀出ECU中的TPMS ID再寫入。TS508接OBD後也可讀出TPMS相關錯碼、keyless Fob的信號強度並可解鎖Toyota ECU。
1. Direct TPMS
業餘無線電頻段,各國監管不同。433 MHz是全球頻率,美國限製為<0dBm;歐洲達+10dBm。另一頻段是868/915M由CC1101單設計支持,歐美分別用868/915,也為其它國家使用。美國以前是315M,車庫開門器多是。Odyssey 05-17是315M,後改433M。GM車多315M而且編程器不到10刀。
TI CC1101 可用於315、433、868/915M,但市麵缺315M,若將433M改315M需換0402尺寸的LC各5個。
2. BLE (Bluetooth) TPMS
https://www.instructables.com/BLE-Direct-Tire-Pressure-Monitoring-System-TPMS-Di/
3. Direct TPMS project
3.1 Toyota Auris Hybrid
Ct200h 42607-30071 PMV-C210: https://www.aliexpress.us/item/3256802035081779.html?
https://www.hackster.io/jsmsolns/arduino-tpms-tyre-pressure-display-b6e544?
FSK(頻移鍵控)中心頻率約為 433.88 MHz,偏差約為 +/- 24-30kHz。數據采用雙相標記編碼,長度為 72 位。數據速率為 10kHz,總消息長度約為 8ms。
TI CC1101模塊有SPI 接口以及幾個可在設備中配置以輸出各種信號的引腳,我將其配置為輸出原始接收信號和載波偵聽 (CS) 信號但未在最終解決方案中使用,因為通過 SPI 輪詢寄存器可以獲得相同的信號;但在連接邏輯分析儀以“構建”原始接收信號並幫助調試時,硬件信號很有用。
CC1101被用作基本的RF接收器RX 數據輸出到可配置引腳之一,然後 Arduino 嚐試理解數據流。CC1101 的運行電壓為 3.3 伏。我選擇了 Arduino Pro Micro 3v3(筆者注:ATmega32U4,8MHz 1KB RAM;建議改用Pro Mini 3V3,ATmega328P,8MHz 2KRAM),使用的顯示器是基於 SSD1306 的 0.96" 128 x 96 黃色和藍色 I2C 模塊,相關庫普通使用 1k 緩衝區保存顯示數據的鏡像。這超出了 RAM 限製,我不得不切換到純文本的低 RAM 庫。
一旦建立了 CC1101 的基本寄存器設置,邏輯分析儀就會協助顯示 CC1101 正在接收可靠的信號,並用於解碼雙相標記編碼以顯示各個字節(見下圖)。當脈衝寬度約為 8ms 時,邏輯分析儀由 CS 信號觸發。這通常會過濾掉由其他不需要的 RF 信號觸發的分析儀。下圖顯示了其中一個輪胎的邏輯分析儀捕獲示例。
較短的脈衝約為 50us,較長的脈衝約為 100us。數據首先傳輸 MS 位。在有效數據之前應該有一個同步模式,但我發現這不是檢測消息開始的非常可靠的方法(可能是由於我對 CC1101 AGC 等的業餘配置?)雖然數據速率為 10kHz,但雙相編碼意味著 CC1101 需要配置為該數據速率 (20kHz) 的兩倍,以確保捕獲所有轉換。
正如 RTL_433 代碼中所報告的,消息結構是第一個 4 字節 = 傳感器 ID、1 位狀態、8 位壓力 (P)、8 位溫度 (T)、7 位狀態、8 位壓力重複(但反轉)和一個 8 位 CRC(初始值為 0x80 的 0x07 截斷多項式)。
實際溫度 = (T - 40) 攝氏度
實際壓力 = ((P/4) - 7) PSI
所以我可以在分析儀上看到消息,我現在所要做的就是使用 Arduino 實現一種解碼方法。我嚐試了幾種方法,但事實證明最有效和最可靠的方法是:
對於 0.96" OLED I2C 128x64 顯示器,僅取消下行注釋: #define USE_1_INCH_YB_I2C_DISPLAY 1
要在低/高壓力過限是閃爍,請取消注釋該行:#define ENABLE_PRESSURE_ALARMS,並在 configs.h 中並為這些數組中的每個輪胎設置高/低壓:
const float PressureLowLimits[]
const float PressureHighLimits[]
啟動聲音告警是取消注釋行:
#define ENABLE_AUDIBLE_ALARM 在 config.h
注意:警報器在啟動時會發出 2 聲短促的蜂鳴聲,表示蜂鳴器工作正常。
傳感器頻率和芯片設置,例如ct200h:
#define UK_433MHz 1
//#define US_315MHz 1
#define Toyota_PMV_C210 1
4. change TPMS sensor
4.1 VcxDiag VCX Nano
http://blog.vxdiagshop.com/2019/12/10/techstream-tpms-id-registration-failed-solution/
https://www.vxdiagshop.com/wholesale/vxdiag-vcx-nano-serie/
4.2 Mini-VCI
https://www.obdii365.com/wholesale/mini-vci-for-toyota-with-toyota-tis.html
X-Horse MINI-VCI J2534 電纜和 Techstream 8.10.021。電纜附帶的軟件用於安裝在 32 位 Windows 係統上。設置為北美則可以使用TPMS功能:
Gen2 Prius TPMS 使用 ISO KWP 14230 協議,而不是用於汽車上大多數 ECU 的 CAN 協議。它在連接器上使用與 CAN 不同的引腳。因此,汽車布線和/或電纜可能存在故障。或者您正在使用的 Techstream 版本中可能存在軟件錯誤。除了 TPMS 之外,KWP 協議還用於其他幾個功能。一個是鑰匙扣設置。另一個是乘客座位分類。這是一個確定座位是空的、被兒童占用還是被成人占用的比例尺。接下來是空調設置。其餘大部分 ECU 都在 CAN 總線上。
該軟件不會讀取輪胎中的TPMS ID,它可以由ECU中讀取或加入已知ID的TPMS。下節的Autel包括全部功能,它可以喚醒輪胎TPMS,後者通常在開車數分鍾後被喚醒。當然如果使用可編程 ID 的TPMS sensor,可以編程為舊的ID。TPMS ID通常印在其外殼上。
4.3 Car built-in TPMS reset
大部分BMW,一部分老車如Odyssey turning
4.4 General TPMS programmer
Autel TS508較好,此係列隻能支持自己的Mx-TPMS傳感器,用Mx-TPMS更換傳感器,用舊ID經TS408更新刀新傳感器中。四個都換好後,按下方向盤下方的TPMS按鈕,直到燈慢閃,等待20分鍾