Skip to content

docs: エアコンコンプレッサーとシフトレンジを同定 (未同定 17→12) - #174

Merged
RyoheiHashimoto merged 2 commits into
developfrom
docs/pid-ac-compressor
Aug 31, 2026
Merged

docs: エアコンコンプレッサーとシフトレンジを同定 (未同定 17→12)#174
RyoheiHashimoto merged 2 commits into
developfrom
docs/pid-ac-compressor

Conversation

@RyoheiHashimoto

Copy link
Copy Markdown
Owner

Pi が手元に無いまま、走行済みのログだけで2個同定できた。

夜間走行中にエアコンを入れたり切ったりしていたため、アイドル停車中の入切が記録に残っていた。

判別方法

アイドル時の MAP を使う。コンプレッサーが噛むと吸気圧が上がり、二峰性になる。

アイドル中 (車速0・600-1100rpm) の MAP
  30-31 kPa … OFF
  43-46 kPa … ON

この状態で全 PID を突き合わせた結果、完全に分離したのは3個。うち1個は既知のラジエータファン (1101 bit0 — A/C が回すので当然)。

ON OFF
n 6,033 5,203
MAP 44.0 kPa 31.0 kPa
回転 720 rpm 705 rpm
燃料 1.11 L/h 0.71 L/h

フラグが立っているとき MAP が低い例は 1%。 逆(OFFなのにMAP高い)が18%あるのは、ファンなど別の負荷か、クラッチが直前に切れた過渡とみられる。

燃料の差 +0.40 L/h (+56%) はアイドル時のコンプレッサー負荷として妥当。熱量3.7kW、熱効率25%として軸出力0.9kW。

PID ビット 意味
0x1103 bit2 エアコンコンプレッサー
0x1104 bit0 同上(冗長系か、要求と実際の別)

0x1103 は bit2/bit3/bit4 を持つビットフィールド(観測値 0/4/12/16/20/28)で、bit2 以外は未同定。

ヘッドライトは失敗した

夜間25,204秒と昼間15,658秒を比べたが、電圧の差は +0.03V しかなく、どの PID も分離しなかった。

  • オルタネータが電圧を厳密に制御するため、ヘッドライト程度(約10A)では動かない
  • 夜昼の比較は気温・交通・走り方が同時に変わるため交絡が大きい

実際に差が出たのは 001F(始動後経過時間)と 000F(吸気温 40℃/48℃)で、すべて説明がつく量だった。

エアコンが成功したのはアイドル停車中という他が動かない状態で断続していたため。ヘッドライトも同じ条件(停車・アイドル・20秒ON/OFF)で試験する必要がある。

ドキュメントのみ。コード変更なし。

🤖 Generated with Claude Code

https://claude.ai/code/session_01JeHX6eyTnRPgubr7XLL8ZB

RyoheiHashimoto and others added 2 commits September 1, 2026 07:36
走行済みのログだけで同定できた。夜間走行中にエアコンを入れたり切ったり
していたため、アイドル停車中の入切が記録に残っていた。

判別にはアイドル時の MAP を使う。コンプレッサーが噛むと吸気圧が上がり、
二峰性 (30-31 kPa / 43-46 kPa) になる。この状態で全 PID を突き合わせた。

           ON      OFF
  n      6,033    5,203
  MAP     44.0     31.0 kPa
  回転      720      705 rpm
  燃料     1.11     0.71 L/h

フラグが立っているとき MAP が低い例は 1%。燃料の差 +0.40 L/h (+56%) は
アイドル時のコンプレッサー負荷として妥当。

0x1103 は bit2/bit3/bit4 を持つビットフィールドで、bit2 以外は未同定。
0x1104 は 0/1 のみの純粋な1ビット。

## ヘッドライトは同じ手が使えなかった

夜間25,204秒と昼間15,658秒を比べたが、電圧の差は +0.03V しかなく、
どの PID も分離しなかった。オルタネータが電圧を厳密に制御するため
ヘッドライト程度 (約10A) では動かず、また夜昼の比較は気温・交通・
走り方が同時に変わるため交絡が大きい。

実際に差が出たのは 001F (始動後経過時間) と 000F (吸気温 40℃/48℃) で、
すべて説明がつく量だった。

エアコンが成功したのはアイドル停車中という他が動かない状態で断続して
いたため。ヘッドライトも同じ条件で試験する必要がある。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JeHX6eyTnRPgubr7XLL8ZB
同じレンジを2通りの符号化で持つ冗長系だった。

  0x17B1  ビットフィールド  R=1 N=2 L=4 S=8 D=16 P=32   一致率94-99%
  0x17C1  コード値          L=49 S=87 D=128 R=203 P=234  一致率93-100%

どちらも HOLD の有無では変わらない。HOLD は 0x231 B1 bit7 にしか出ない。

## 見つけ方

出発の瞬間に着目した。停車・アイドルのまま P→D とシフトするので、他が
動かない状態でレンジだけが変わる。

  00:48:56 (車速0)   17B1  32 → 16   P → D
  01:53:01 (1.8km/h) 17B1  16 → 1    D → R
  01:53:13 (車速0)   17B1   1 → 32   R → P

「出発時と駐車時で逆順になる」信号を探していて見つかった。狙いはヘッド
ライトだったが、そちらは見つからず、代わりにレンジが出た。

## 残り12個は相関では出ない

既知の全状態 (レンジ/ギア/HOLD/ロックアップ/ブレーキ/エアコン/ファン/
速度/回転/負荷/MAP/水温/ATF/電圧/燃料レート) と突き合わせたが、どれも
一致率 90% に届かない。

098E と 16E9 は b1 が常に一定で、変動は b2 側にある。バイト単位ではなく
ビット単位で当たる必要がある。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JeHX6eyTnRPgubr7XLL8ZB
@RyoheiHashimoto RyoheiHashimoto changed the title docs: 0x1103/0x1104 をエアコンコンプレッサーと同定 (未同定 15→13) docs: エアコンコンプレッサーとシフトレンジを同定 (未同定 17→12) Aug 31, 2026
@RyoheiHashimoto
RyoheiHashimoto merged commit f2bb0d9 into develop Aug 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant