waiasu’s diary

バーグマン200のカスタムをメインに。

リアキャリパー ピストン交換

随分前に見つけていたリアキャリパーのピストンの傷ですが、パッド交換時期になったのでついでに交換しました。もちろんシールも。パッドに比べればピストンとセットで¥2500程度と安いですし。


結果、最大まで押し込んでもシールにはかからない位置でした。

リアブレーキにパーキングブレーキ機能を追加しているので通常より強く長く圧力がかかります。僅かな傷も見逃したく無く、念の為のメンテナンスです。と言っても、駐車中に長時間使用する訳ではないので信号待ちで無駄にギュッとレバーを握ってる程度の話です。

キズはダストシールとオイルシールの間に砂でも噛み込んだと思われます。キャリパー側は軽くペーパーで処理。

各部グリスアップして完了。ブレーキ後とキャリパーを押した後で若干引きずりがあるかな?程度の回転の止まり方の違いがあったのですが、清掃後は一切無し。気持ち良く目視でも戻ります。

フロントパッドも購入したのですが、もう少し行けそうなので後日とします。

リアタイヤ交換

まだスリップサイン出ていませんが暑くなる前にタイヤ交換。

CITY GRIP2 リピートです。

前回6500km 現在15800km なので9300km使用しました。直線走行が多い私の使用環境では凡そ10000kmの寿命。価格も安く、ウエット性能も良く通勤にはオススメです。

バルブも交換。安心の純正品。

エンジン出力エミュレータ

どうすれば出来るん?って話なのでスケッチ晒し。車両側のTPS電圧が5vなので分圧して入力しているのと、IAPとO2の出力は適当なケミコンつけてなだらかにしてECMへ入力。ピックアップ信号はそのまま入力。スケッチ内のmap関数でTPS電圧の微調整とフィードバックさせるならリーンとリッチの値を適当に入れれば動くと思います。

ラズパイ ピコで片側のコアでTPS電圧のチェック、別のコアでリーン・リッチを出力する為に2サイクル分(4回転)を力技で書いてるだけです。無駄にデュアルコア使ってます。

int VOL_IN=26;  //ボリューム
int RPM_OUT=10; //回転出力
int IAP_OUT=11; //吸気圧出力
int O2S_OUT=12; //O2出力
int VIN=0;      //analogRead初期値
int STP=0;      //時間初期値

int PIK_UP=40;  //ピックアップ幅値
int O2S_HI=90; //O2出力HI値 85
int O2S_LO=90;  //02出力LOW値 75

int IAP_01=40;  //
int IAP_02=10;  //LO
int IAP_03=10;  //LO
int IAP_04=10;  //LO
int IAP_05=40;  //
int IAP_06=70;  //
int IAP_07=100; //
int IAP_08=130; //
int IAP_09=160; //
int IAP_10=190; //
int IAP_11=220; //
int IAP_12=250; //HI
int IAP_13=250; //HI
int IAP_14=250; //HI
int IAP_15=250; //HI
int IAP_16=250; //HI
int IAP_17=250; //HI
int IAP_18=250; //HI
int IAP_19=220; //
int IAP_20=190; //
int IAP_21=160; //
int IAP_22=130; //
int IAP_23=100; //
int IAP_24=70;  //

void setup() {
 
  pinMode(VOL_IN,INPUT);
  Serial.begin(9600);
 
}

void setup1() {
 
  pinMode(RPM_OUT,OUTPUT);
  pinMode(IAP_OUT,OUTPUT);
  pinMode(O2S_OUT,OUTPUT);
  Serial.begin(9600);
 
}

void loop() {

  VIN=((VIN*9)+analogRead(VOL_IN))/10;
//int TMP=map(VIN,3,1014,450,2900);   //vol
  int TMP=map(VIN,980,180,450,2900);  //tps450 2900
  if (TMP<=450) { STP=450; } else { STP=TMP; }
  delay(20);

//Serial.println(STP);

}


void loop1() {

  unsigned long TIM=millis();

//1週目

  analogWrite(IAP_OUT,IAP_01);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸1
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹1
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_02);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸2
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹2
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_03);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸3
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹3
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_04);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸4
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹4
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_05);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,LOW);  //凸5 凹
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹5
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_06);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸6
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹6
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_07);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸7
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹7
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_08);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸8
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹8
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_09);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸9
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹9
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_10);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸10
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹10
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_11);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸11
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹11
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_12);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸12
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹1
    delayMicroseconds(STP);

//Serial.println((1000/(millis()-TIM))*60);

//2週目

  analogWrite(IAP_OUT,IAP_13);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸1
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹1
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_14);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸2
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹2
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_15);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸3
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹3
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_16);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸4
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹4
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_17);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,LOW);  //凸5 凹
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹5
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_18);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸6
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹6
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_19);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸7
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹7
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_20);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸8
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹8
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_21);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸9
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹9
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_22);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸10
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹10
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_23);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸11
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹11
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_24);  //IAP
  analogWrite(O2S_OUT,O2S_HI);  //02

    digitalWrite(RPM_OUT,HIGH); //凸12
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹12
    delayMicroseconds(STP);

//3週目

  analogWrite(IAP_OUT,IAP_01);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸1
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹1
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_02);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸2
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹2
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_03);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸3
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹3
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_04);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸4
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹4
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_05);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,LOW);  //凸5 凹
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹5
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_06);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸6
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹6
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_07);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸7
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹7
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_08);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸8
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹8
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_09);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸9
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹9
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_10);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸10
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹10
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_11);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸11
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹11
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_12);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸12
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹1
    delayMicroseconds(STP);

//4週目

  analogWrite(IAP_OUT,IAP_13);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸1
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹1
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_14);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸2
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹2
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_15);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸3
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹3
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_16);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸4
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹4
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_17);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,LOW);  //凸5 凹
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹5
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_18);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸6
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹6
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_19);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸7
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹7
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_20);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸8
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹8
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_21);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸9
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹9
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_22);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸10
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹10
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_23);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸11
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹11
    delayMicroseconds(STP);

  analogWrite(IAP_OUT,IAP_24);  //IAP
  analogWrite(O2S_OUT,O2S_LO);  //02

    digitalWrite(RPM_OUT,HIGH); //凸12
    delayMicroseconds(PIK_UP);
    digitalWrite(RPM_OUT,LOW);  //凹12
    delayMicroseconds(STP);

}

間違いとかコッソリ教えて下さいね。

純正ドアエッジモール 取り付け

純正アクセサリーのドアエッジモール(99125-67T00)をつけてみました。説明書通りに貼るだけです。




純正品なのでカットした終端の処理だったり、貼り付け用の型紙がついていたり、前後でのバランスがとれていたりと流石ですね。L字型なのでカーブでも簡単にきれいに貼れました。貼り付け終端が平面なのも流石ですね。良く考えられてます。

昭和レトロな感じで良いんじゃないですかね。


ナンバープレートのネジとナンバー灯を変えてみました。無駄に何か触りたくなります…。

テールランプとのバランス的に微妙に明る過ぎかな?と思いますが、はっきり読めて、迷惑にはならない感じなので良しとします。

HA97S 新型アルト ドラレコ ETC 取り付け ラゲッジスペース改善

DIYドラレコとETC取り付けと、ラゲッジスペースの少改善。


選んだのはZDR035 前後2カメラのスタンダードなモデルと駐車監視ケーブルです。ETCは前車からのお下がり。フロントカメラ(本体)は車検のシールを剥がしてなるべく内側に。もちろんシールは再利用です。

ETCは純正の取り付け位置に市販のブラケットで。ネジと隙間を埋めるテープも付属でした。上下にリブがついているので収まりが良い感じ。電源の取出しはヒューズ電源を2つ使用。両方共15Aです。ACCは「14 ACC2 アクセサリーソケット」から、常時電源は室内灯では無く蓋のカットが楽そうな「9 HORN ホーン」から。


蓋のカット。中央部のヒューズだと穴あけの位置の確認とか狭く見えない場所で大変そうだったので。大きくカットすれば問題ないんですけどね。ガラス管ヒュースが嫌なのでミニ平型ヒューズに変更。手持ちでヒューズホルダーの端子が無かったので110型のメスにヒューズを挿して使用。別に見えないところで邪魔になる訳でもないので完全に無駄な作業です。配線の分岐は挿してレバーを倒すだけの簡単なコネクターを使用。はじめて使ったのですがしっかり挟めて良いと思います。やり直しも出来ますし。無駄にヒューズ替えたり丸端子使わなければ圧着ペンチ無しで取り付け完結出来ます。

ネクターとヒューズをまとめてECUに貼付け。この後、カタカタ音とか出ないようにテープとか巻きました。余ったカメラケーブルはエアーフィルター交換時に邪魔にならない上の方にまとめました。GNDはヒューズボックス下にある純正ケーブルのアースと纏めて。巻いて締め込めば完了ですが無駄に丸端子使ってます。駐車監視ケーブルの切り飛ばした端子を使うのもありかも。何となく今後を考えてちょっと太めに。




エアバッグがあるのでドア周りは下側を通すのが正解でしょうが、見た感じ動作の邪魔にならないと思ったので上を通しました。下側が面倒なのもあります。特に難しい事は無く簡単に後ろまで通せます。


内張り剥がしとかあると便利ですが無くても外れます。配線通しなども便利ですが、通すところがガバガバなので針金などで十分だと思います。

一番問題になるのがリアカメラの取り付け位置ですね。純正のようにドアの中を通して下から引っ張り出すのもイマイチですし…。私はジャバラを通して穴を開けてグロメットで。リューターでバリ取りして仕上げたいのでちょっと小さめの穴をあけました。ホールソーで開けるときに貫通先にストップランプがあるので勢い余って破壊しないように注意が必要です。ストップランプを外して作業するのが正解だと思います。抜いた板の回収も容易になりますし。私は面倒なのでそのまま作業してマグネットで切り粉と共に回収しました。

ついでにシガーソケットのキャップを外したらカタカタするので裏側をハリガネで。キャップ部分だけ切り飛ばせば良いんですけどね。元に戻したくなるかもって事で。


更にオマケでリアシートを4ナンバーの様に直立でも固定できる様に金具を追加。もちろんそのまま通常位置でもロック出来ます。行き当たりばったりでホームセンターで適当に選んだので微妙な仕上がりに。取り敢えずは箱状の荷物が積みやすくなりました。探せば社外品であるんですかね?気が向いたらもうちょっと綺麗に作り直したいです。

リアシートを倒して荷物を奥に積む為にラゲッジスペースに乗り込むと陥没したので、MDFで補強。純正の樹脂製のプチプチ?と同形状に切出し。荷物でも陥没しそうな材を床に使うのはどうかと。

今までの板はそのままクッションとして重ねて使いました。ひざを立てて乗り込んでも大丈夫。と言うかこれが最低ラインかと思います。

ECMで遊ぶ⑤

残しておくのも気持ち悪いのでEVAPバルブにチャレンジ。

吸気管圧のエミュレートをもう少し滑らかにしたら一定回転数で動作を確認。負圧で抜く仕組みなので工程の判別よりもシビアなんでしょうね。またO2フィードバック制御中であることも条件のようです。

O2センサーの動作確認で燃調の振れ幅が大きい事を確認出来たのが収穫。フィードバック制御中のアクセルパーシャルで低負荷な状態だと他の方法で補正しても元に戻されてしまうでしょうね。片側に大きく振っておくと1分程で。

何がどう動いているか理解しておくって大切。知らずにマフラー交換やセッティングして泥沼にハマったり、良くなったと思い込んで終了だったりと残念な事にならない為にも。

ECMで遊ぶ④

新しいオシロスコープを導入したので動作確認もかねてチェック。

セーフモードの為か毎回転点火&毎回点噴射してます。5ms前後で高回転域で開弁率80%弱。水温をグッと下げても80%を超えない感じです。

通常の噴射も見てみたいので吸気管圧を実車からデータ取り。振れてれば良いっぽい?

クランクのコンロッドの位置とキーの角度と突起位置から吸気工程だろうタイミングで2回転毎にエミュレート。

arduinoにD/Aコンバータが無いのでPWMでのパルス出力に適当なコンデンサをぶら下げて均します。


雑な作業でサクッと2回転毎の通常点火に成功。聞き慣れた1700rpmの音になりました。

O2センサーも同じ要領でクリア出来そうですが、メーターが無いとセーフモードが解除されてるか確認できないのでここら辺で終了ですかね。メーター通信の解析をするスキルも無いですし。