2025/04/20

バッテリー回復措置

 購入5年くらいになるバッテリーのためか、最近セルの回りが弱弱しい。
3年くらい前に購入したバッテリー充電器でパルス充電をして回復措置(時間がなかったので4時間くらい)を施してみた。
エンジンはまだかけてないので結果は不明だがこれまで何回か回復措置を施した範囲だとバッテリーは元気になっている。
※追記:一週間ほど放置してからだが、エンジンのかかりは回復していた。まだまだこのバッテリーは使えそうである。
色は違うが似た形の充電器の画像が見つかったので参考に乗せておきます。
価格は当時訳3,000円だったと記憶している。


 

ドア修理

 運転席側ドアのカーテシスイッチが当たる部分が腐食して穴が開きかけていた。
(修理前の写真は撮り損ねた。)
耐水ペーパで錆を落とし、錆転換材を塗布した。
さらに錆の進行を抑えるため、缶スプレーで塗装した。
塗料が少なかったためかきれいな噴霧にならず、ぼこぼこ感のある仕上がりになってしまった。
そのうち全塗装したいと考えているので、見た目は二の次と思っている。

あと、スイッチ側のゴムクッション(品番84234-14020)の頭が錆でこすれて若干傷んでいた。
交換したいが部品が出ないようである。



 

2025/04/14

アイドリング調整14

 前回のアイドリング調整から2か月ほどになるが、問題は見つかっていない。
暖機が進むとアイドリングも900rpm前後で落ち着く。
回転数が落ちそうになっても自動でアイドルアップして安定状態を保つように動作しているように見える。
これから気温が上昇していくので、始動時や暖気後の状態をこのまま見守っていこうと考えている。

2025/02/08

【番外編】ArduinoでSHARPメンテナンスリモコンをつくる

SHARPのBLレコーダ(AQUOS)などのメンテナンスモードに入るリモコンをArduinoで作ってみた。
赤外線リモコンキット(通称フリスクリモコン?)を使えば簡単にできるらしいが、手元にAruduinoと赤外線LEDがあったので作ってみた。
コマンドが3種類あるらしいので、コメントを切り替えて使えるようコードは書いておいた。
あと、AQUOS TVの電源ON/OFFコマンドもいれてある。
使う場合は、自己責任でお願いします。 
 
 
#include <IRremote.hpp>
#include <IRremote.h>
#define IR_SEND_PIN 5  // 赤外線LED接続ピン

const uint16_t rawData[99] = {  3400, 1700,               //8T,4T,
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F parity
                        425,  425,  425,  425,  425,  425,  425, 1275, //0,0, 0,0, 0,0, 0,1, //8 data0
                        425,  425,  425,  425,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //0 data1
                        425, 1275,  425, 1275,  425,  425,  425,  425, //0,1, 0,1, 0,0, 0,0, //3 data2
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5 data3
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F data4
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,1, 0,0, 0,0, 0,0, //1 data5
                        425,  425,  425,  425,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //0 data6
                        588};
const uint16_t rawData_00[99] = {  3400, 1700,               //8T,4T,
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F parity
                        425,  425,  425,  425,  425,  425,  425, 1275, //0,0, 0,0, 0,0, 0,1, //8 data0
                        425,  425,  425,  425,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //0 data1
                        425, 1275,  425, 1275,  425,  425,  425,  425, //0,1, 0,1, 0,0, 0,0, //3 data2
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5 data3
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F data4
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,1, 0,0, 0,0, 0,0, //1 data5
                        425,  425,  425,  425,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //0 data6
                        588};

const uint16_t rawData_01[99] = {  3400, 1700,               //8T,4T,
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F parity
                        425,  425,  425,  425,  425,  425,  425, 1275, //0,0, 0,0, 0,0, 0,1, //8 data0
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //1 data1
                        425, 1275,  425, 1275,  425,  425,  425,  425, //0,1, 0,1, 0,0, 0,0, //3 data2
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5 data3
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F data4
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,1, 0,0, 0,0, 0,0, //1 data5
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //1 data6
                        588};

const uint16_t rawData_02[99] = {  3400, 1700,               //8T,4T,
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F parity
                        425,  425,  425,  425,  425,  425,  425, 1275, //0,0, 0,0, 0,0, 0,1, //8 data0
                        425,  425,  425, 1275,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //2 data1
                        425, 1275,  425, 1275,  425,  425,  425,  425, //0,1, 0,1, 0,0, 0,0, //3 data2
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5 data3
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F data4
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,1, 0,0, 0,0, 0,0, //1 data5
                        425,  425,  425, 1275,  425,  425,  425,  425, //0,0, 0,0, 0,0, 0,0, //2 data6
                        588};

const uint16_t rawData1[99] = {  3400, 1700,               //8T,4T,
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425,  425,  425, 1275,  425,  425,  425, 1275, //0,0, 0,1, 0,0, 0,1, //A
                        425, 1275,  425,  425,  425, 1275,  425,  425, //0,1, 0,0, 0,1, 0,0, //5
                        425, 1275,  425, 1275,  425, 1275,  425, 1275, //0,1, 0,1, 0,1, 0,1, //F parity
                        425,  425,  425,  425,  425,  425,  425, 1275, //0,0, 0,0, 0,0, 0,1, //8 data0
                        425,  425,  425, 1275, 425,  425,   425,  425, //0,0, 0,1, 0,0, 0,0, //2 data1
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,1, 0,0, 0,0, 0,0, //1 data2
                        425,  425,  425, 1275,  425, 1275,  425,  425, //0,0, 0,1, 0,1, 0,0, //6 data3
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,1, 0,0, 0,0, 0,0, //1 data4
                        425, 1275,  425,  425,  425,  425,  425,  425, //0,1, 0,0, 0,0, 0,0, //1 data5
                        425, 1275,  425,  425,  425, 1275,  425, 1275, //0,1, 0,0, 0,1, 0,1, //D data6
                        588};

void setup() {
  Serial.begin(115200);  // シリアル通信の初期化
  // 赤外線送信モジュールの初期化
  IrSender.begin(IR_SEND_PIN, DISABLE_LED_FEEDBACK, 0);
}

void loop() {
    //mentenance Command : AA5A8F30F501
    IrSender.sendRaw(rawData_00, sizeof(rawData_00)/sizeof(rawData_00[0]), 38);
    //mentenance Command : AA5A8F31F502
    //IrSender.sendRaw(rawData_01, sizeof(rawData_01)/sizeof(rawData_01[0]), 38);
    //mentenance Command : AA5A8F32F511
    //IrSender.sendRaw(rawData_02, sizeof(rawData_02)/sizeof(rawData_02[0]), 38);

    //SharpTV On/Off ; aa5a8f1216d1
    //IrSender.sendRaw(rawData1, sizeof(rawData1)/sizeof(rawData1[0]), 38);

    Serial.println("send trun on at " + String(millis()));
  delay(5000);
}


2025/02/02

アイドリング調整13

 ECUでISCVの制御ができなくなっていたが、正確には制御角度が小さくなった状態である。
なので、ISCVモジュール(アダプタ)を車体に取り付ける角度がバルブの閉まる側に合わせて取付してみた。
制御幅は小さいが、どうにかアイドリングは落ち着くようになり、冷間時のアイドルアップや暖機後のアイドリング回転数も1,000rpmを切る状態になった。
ECUが手に入るまでは、しばらくこのままで様子を見ることにした。

2025/02/01

ベンチレーションホースの交換(代替品)

ベンチレーションホース(12261-16040)が廃番で手に入らなかったからか、何かのホース(内径12mm)を取り付けて汎用のホースバンドでとめてあった。
そこそこ耐久耐油性があるホース(内径10mm~11mm位の方がよさそう)なら何でもいいとは思うが、別車種のベンチレーションホース(12261-75090)の形状が接続パイプの向きに合いそうなので買ってみた。
若干細かった(計測し忘れたが、おそらく10mm)ため取り付けにくかったが、パイプから滲み出ていたエンジンオイルが潤滑剤となり、はめ込むことができた。
長さ的にもちょうど良く、はめにくかった分カムカバー内の圧力などで抜けることが無さそう。



2025/01/19

アイドリング調整12

 手ごろな価格の中古ECUが出てこないので、ISCVアダプターの精度向上を進めることにした。取り付けた状態をよく確認したところ、最後に取り付けたねじ止め部のステーが本体側に接触していることが判明した。
ヤスリで接触しないように削り落とし装着し直したところ、ソレノイド部の引っかかりがなくなった。
あと、ECUで制御できなくなっていたので、Aruduinoを使ったISCVの制御用サブコンを作った。
回路図などは、後日公開予定。

デストリビューター(19100-16150)入手

 某オークションでデストリビューター(19100-16150)を入手した。 目的は、フリーのECUであるSpeeduinoにデスビの信号を入力して動作試験するため。 Speeduinoは完成品を購入したいところだが、完売などで入手できなかった。 いろいろ考えた末、回路図や部品リス...