ESP32で激安のMINIのインジェクションの様子をモニターするデータロガーを作ってみた。
WOL装置を作っていた時にESP32の仕様を見ていたら、シリアルポートが3chあることが分かった。これなら1chを使ってMINIのインジェクションに接続して、モニターできるのではないかと思った。ACR4の信号の流れをシリアルポートモニターで見えるようになっているので、MINIのインジェクションに各機能でどんなコマンドを送れば良いかわかるようになっている。このコマンドを拾っておいて、ESP32側に同じことをやらせばできるのではないと思っていたけど、意外に簡単にできてしまった。
Sykes PICKAVANT SPiとMINIのECUのやり取りをキャブチャーできるようにした。 | misagoのページ
コマンド出し方はわかったけど、意味がわかないとしょうがないけど、イギリスのサイトで解説してくれているサイトがあるので、これで一気に作業が進んだ。これは本当に感謝だ。
Rover MEMS diagnostics – cmb (colinbourassa.github.io)
とりあえず、Command(0x80)を送って、そのデータから電圧、水温、吸気温度を表示してみた。
MINIのECUは5Vのシリアルポートでやり取りするので、つじつまを合わせないといけない。詳細はHW編で解説するけど、ESP32と接続するケーブルを制作した。
タイコーのコネクターは、MINIのMEMSケーブルを作ったときにまとめ買いをしておいたので、ジャンク箱から取り出した。
今回は、EPS32に開発用のドーターボードに接続することにした。これでなら電源電圧が、6.5-15Vに対応するので車載するのに最適だし、I2Cの信号をまとめたピンヘッダーがあったり、ECUに接続する信号もまとまって取れるようになっていて考えられている。
MINIのインジェクションボディーにECUをつないて、それをESP32がモニターできるようにした。
とりあえずECUは電源電圧を測定しているので、これを振るのは安定化電源で簡単にできるので試し見た。0.2Vほどドロップして測定しているようだ。バックライトをつけるとコントラストが強すぎるので、デジカメが取れないみたいなので、強制的に消している。
電圧を高めにして、下げてEPS32が拾えているのか実演したところ。こんな簡単にできるのは、技術の進歩を感じるねえ。MINIのテスターって特別で手に入らないものだと思ったけど、数千円で実現できる。ちなみに現在の仕様はアップグレードしてLCDは2枚ざしして、一度に表示できるものを増やそうとしている。キーSWを追加して切り替えるかと思ったけど、一度に見えた方がいいだろう。
安定化電源を動かしているときに気か付いただけど、MINIのインジェクションって、イグニッションをオフにしても10秒くらい電源をキープしているだねえ。ステッピングモーターをキャリブレーションしてからシャットダウン処理をして落とているようだ。安定化電源の2行目は電流なんだけど、キーを落としても電圧がキープされていることが分かる。今回は車載できるかの実験を兼ねているので、ESP32の電源もとっているので、完全に0にはならないけど、EPS32を外せば完全に0Aになる。この前のインジェクションのトラブルはこの機能が働かないので、ECUが切れなくてバッテリーが上がったことが分かる。ちょっとこの動きを見て感動していまった。
最近のコメント