• カテゴリー別アーカイブ バンバン200
  • 金属疲労?

    金属疲労?

    バイク購入時に取り付けたETCのベース(自作)が、本日折れました(゚0゚)

    Dsc_0934
    Dsc_0936
    Dsc_0937

    もともと、そんなに荷重がかかるところではないので

    薄いアルミ板で製作していたのですが

    突然取れました・・・

    ということで、作り直しです

    今度は3mmのアルミです

    これなら大丈夫でしょ

    Dsc_0939_2

    まずは、大まかにけがき

    バンドソーでカット

    Dsc_0940

    穴を開けて折り曲げます

    Dsc_0943
    Dsc_0944

    ドリルで穴を開けグラインダーで削って完成

    やはり電動工具がないと大変ですよね

    元と同じように取り付けて完成

    今度は壊れないでしょ

    Dsc_0945
    Dsc_0946
    Dsc_0947

    お疲れ様m(__)m


  • ヘッドライト減光装置最終

    こんにちは

    お久しぶりです

    前回の話から結構経ちましたが

    いろいろありました

    結局、3回ほど作りなおしました

    不具合は走行中に動作がおかしくなる?

    ledの表示で判るのですが

    プログラムの動作Loopがしなくなる?

    Loopの中にledが点灯するコードを入れているのですが

    これが、点灯しっぱなし

    それも必ずではない・・

    なるべくコンパクトにするため配線がごちゃごちゃでしたが

    基板の大きさよりも配線が重ならないようにと

    試行錯誤して考えました

    汚いですが配線パターン

    Img005_r

    実際の基板

    Dsc_0824_r

    結局、こうすることによってご動作なくなりました?

    当初この基板をヘッドライトケースに何とか収めようとして

    極力サイズを小さくと考えたのですが諦めました

    下記のケースを作成してヘッドライトの下に取り付けました

    Dsc_0832_r

    どうしても解決できなかったことが

    減光時のヘッドライトの明るさです

    コード上は減光時最小値(1)にしたのですが

    感覚的には60%くらいでしょうか

    PCオシロで波形を見ると

    波形が訛っている?ようで、これが原因だと思います

    しかし、どうすれば改善できるのか・・・

    結局諦めてこのままです

    Dsc_0830_r

    また、使用していない端子はそのままでいいのでしょうか?

    例えばGND側あるいは+側に接続するとか?

    とりあえずコード上で使用していない端子は

    出力端子にしてLow出力に設定しました

    最終コードを載せときます

    ————————-ここから—————————–

    //—————————————————

    //ヘッドライト減光装置ーーーー2015/4/10  Yamasawa_Masahiro

    //Rev 2.11

    //—————————————————-

    //boolean Light_State = LOW;

    const int pin2 = 2;

    const int pin3 = 3;

    const int pin4 = 4;

    //const int pin5 = 5;

    //const int pin6 = 6;

    //const int pin7 = 7;

    //const int pin8 = 8;

    const int pin9 = 9;

    const int pin10 = 10;

    const int pin11 = 11;

    const int pin12 = 12;

    const int pin13 = 13;

    const int pinA0 = 14;

    const int pinA1 = 15;

    const int pinA2 = 16;

    const int pinA3 = 17;

    const int pinA4 = 18;

    const int pinA5 = 19;

    boolean Loff_Flg = false;

    boolean In_State;

    const int Set_Time = 1500;//不感時間の

    const int Delay_Time = 1000;//チェンジの無効時間

    const int Light_Wait_Val = 20000;//ライト消灯までの時間

    const int Light_Low_Val = 1;//減光時の明るさ

    const int Delay_On_Time = 3;

    const int Delay_Off_Time = 10;

    const int Led_Out = 5;

    const int N_In = 6;

    const int N_State = 7 ;//ニュートラル表示用

    const int State_Led = 8;//運転状態表示用Led

    int Max_Val = 255;//明るさの最大値

    int Min_Val = 0;//明るさの最小値

    long Time_Val;

    //—————————————————-

    //—————————————————-

    //===========================================

    //入力の状態を簡単に変更できるように

    //関数を作成

    boolean  Get_Stats(void) {

      //入力がLOWでニュートラルの場合

      return digitalRead(N_In);

      //入力がHIGHでニュートラルの場合

      //return !digitalRead(N_In);

    }

    //———————

    boolean Chk_Chg(boolean x, int val) {

      //xがtrueで減光時falseで点灯時

      //yはその時の明るさの数値

      //入力に変化がないときはなにもしないで抜け出す

      if (In_State == Get_Stats()) {

        Max_Val = 255;

        Min_Val = 0;

     

        return false;

      }

      //入力に変化があったなら

      if (x) {

        //減光時

        Min_Val = val;

     

      } else {

        //点灯時

        Max_Val = val;

      }

      //Serial.println("******");

       //Serial.println(val);

      return true;

    }

    //—————————————————-

    //Ledの点滅サブルーチン

    void Led_Blink(int C, int P, int Dly) {

      for (int s = 0; s < C; s++)

      {

        digitalWrite(State_Led, HIGH);

        delay(P);

        digitalWrite(State_Led, LOW);

        delay(Dly);

      }

    }

    //

    //

    void setup() {

      // put your setup code here, to run once:

            pinMode(pin2, OUTPUT);

     digitalWrite(pin2, LOW);

     pinMode(pin3, OUTPUT);

     digitalWrite(pin3, LOW);

     pinMode(pin4, OUTPUT);

     digitalWrite(pin4, LOW);

     pinMode(pin9, OUTPUT);

     digitalWrite(pin9, LOW);

     pinMode(pin10, OUTPUT);

     digitalWrite(pin10, LOW);

     pinMode(pin11, OUTPUT);

     digitalWrite(pin11, LOW);

     pinMode(pin12, OUTPUT);

     digitalWrite(pin12, LOW);

     pinMode(pin13, OUTPUT);

     digitalWrite(pin13, LOW);

     pinMode(pinA0, OUTPUT);

     digitalWrite(pinA0, LOW);

     pinMode(pinA1, OUTPUT);

     digitalWrite(pinA1, LOW);

     pinMode(pinA2, OUTPUT);

     digitalWrite(pinA2, LOW);

     pinMode(pinA3, OUTPUT);

     digitalWrite(pinA3, LOW);

     pinMode(pinA4, OUTPUT);

     digitalWrite(pinA4, LOW);

     pinMode(pinA5, OUTPUT);

     digitalWrite(pinA5, LOW);

      pinMode(N_In, INPUT_PULLUP);

      pinMode(Led_Out, OUTPUT);

      pinMode(N_State, OUTPUT);

      pinMode(State_Led, OUTPUT);

      Serial.begin(9600);

      In_State = Get_Stats();

      digitalWrite(N_State, !In_State); //13番をニュートラル表示と同じに

      //——————————–

      //入力と出力を

      if (In_State) {

        analogWrite(Led_Out, 255);

      } else {

        analogWrite(Led_Out, 0);

      }

      //——————————–

      //——————————–

      Serial.println("SetUp—start!");

    }

    //===========================================

    //===========================================

    //===========================================

    //===========================================

    //———————–

    //———————-

    void loop() {

      //==========================================

      //現行時間が一定時間すぎれば完全に消灯

      //Serial.println(LOFF_Flg);

      if (Loff_Flg) {

        // Led_Blink(3,400);//状態表示を3回表示

        if (Time_Val + Light_Wait_Val < millis()) {

          analogWrite(Led_Out, 0);

          Loff_Flg = false;

          Serial.println("Light_OFF");

        }

      }

      //一定時間が経過したら、入力の状態を確認

      delay(Delay_Time);

      //記憶している状態と現在の状態が同じなら何もしない

      if (In_State == Get_Stats()) {

        if (In_State) {

          //ライトONの状態なら

          Led_Blink(1, 10, 0); //状態表示を1回表示

        } else {

          //ライトOFFの状態なら

          if (Loff_Flg) {

            //減光時

            Led_Blink(2, 10, 400); //状態表示を2回表示

          } else {

            //完全消灯時

            Led_Blink(1, 500, 400); //状態表示をゆっくり回表示

          }

        }

        return;

      }

      //ここからスタート

      //

      //

      //Serial.println("Event Start");

      Loff_Flg = false;

      //状態の食い違いを合わせる

      In_State = Get_Stats();

      //———————————

      digitalWrite(N_State, !In_State);

      if (In_State) {

        //徐々に点灯

        for (int Led_Val = Min_Val; Led_Val <= 255; Led_Val++)

        {

          //Serial.println(Led_Val);

     

          analogWrite(Led_Out, Led_Val);

     

                if (Chk_Chg(false, Led_Val)) {

           return; //入力に変化があったら抜け出す

         }

         delay(Delay_On_Time);

        }

        Serial.println("——————–End———————–");

      } else {

        //徐々に消灯

        for (int Led_Val = Max_Val; Led_Val >= Light_Low_Val; Led_Val–)

        {

          //Serial.println(Led_Val);

     

          analogWrite(Led_Out, Led_Val);

          //Serial.println(Led_Val);

     

          if (Chk_Chg(true, Led_Val)) {

            return; //入力に変化があったら抜け出す

          }

        delay(Delay_Off_Time);

        }

        Serial.println("FFFFFFF");

        //————————————

        Time_Val = millis();

        Loff_Flg = true;

        //——————————————————

      }

    //Serial.println("———————————-");

    }//End

    ————-ここまで——————————

    色々とありましたが、現在約1ヶ月半問題なく使用できています

    今回の件はこれで完了とさせていただきます

    m(__)m


  • ヘッドライト減光装置つづき2

    こんにちは

    本日午後からですが半日バイクに乗ってきました!

    今回は、問題なく動作しました

    やはり入出力回路を電気的に切り分ける必要があったのでしょう

    ということです

    この1週間ヘッドライト付けたり、外したりと疲れました┐( ̄ヘ ̄)┌ フゥゥ~

    これで、次に進めます

    お約束事ですが、自分はすべてを理解している訳ありませんので

    ソフトのコードの事とか、ハードのことが本当にこれが正しいのか

    わかりません

    自分もよく他の方のブログを参考にするので、今度は同じ思いで来られた方に

    少しでも参考にと思い出来るだけ公開するつもりですが

    あくまで趣味の世界で行っていますので、すべて自己責任でお願いします

    前回も書きましたが、初めてのArduinoを利用したものなので

    ソフトのインストールから、ブートローダーの書き込み方

    プログラムの転送の仕方といろいろ障害がありましたが

    Arduinoと出会って約1ヶ月でここまで来ました

    やはり、漠然とプログラムの勉強をするより何か目標を決めて

    製作したほうが勉強になります

    たかが、ライトをON、OFFするだけなのにいろいろ勉強になりました

    実際、秋月電子で販売している ⇒  ATMEGA168/328マイコンボードキット

    ボードに書き込むためのソフト  ⇒  ArduinoIDE

    これだけあれば、とりあえずマイコンにコードを書き込めます

    今回の使用した部品のコストも合計で1000円位です

    AVRマイコン  1個  250円

    マイコン動作に必要なセラロック  1個 35円

    出力を制御するFET   1個 100円

    12vから5vに落とすレギュレーター   1個  40円

    入出力を電気的に切り離すフォトカプラ  1個 80円✕2個

    基板  1枚 200円程度

    その他、抵抗、コンデンサも1個数十円程度です

    あとは、挫折しない根性でしょうか??(* ̄ー ̄*)

    まずは、動作させるためのコードです

    ==============ここから始まり========================

    1 //—————————————————

    2 //ヘッドライト減光装置ーーーー2015/4/10  Yamasawa_Masahiro

    3 //Rev 2.11

    4 //—————————————————-

    5 //boolean Light_State = LOW;

    6

    7 boolean Loff_Flg = false;

    8 boolean In_State;

    9 const int Set_Time = 1500;//不感時間の

    10 const int Delay_Time = 1000;//チェンジの無効時間

    11 const int Led_Out = 9;

    12 const int N_In = 3;

    13 const int Light_Wait_Val = 20000;//ライト消灯までの時間

    14 const int Light_Low_Val = 3;//減光時の明るさ

    15 const int Delay_On_Time = 10;

    16 const int Delay_Off_Time = 15;

    17 const int State_Led = 12;//運転状態表示用Led

    18 int Max_Val = 255;//明るさの最大値

    19 int Min_Val = 0;//明るさの最小値

    20 long Time_Val;

    21 //—————————————————-

    22 //—————————————————-

    23 //===========================================

    24 //入力の状態を簡単に変更できるように

    25 //関数を作成

    26 boolean  Get_Stats(void) {

    27   //入力がLOWでニュートラルの場合

    28   return digitalRead(N_In);

    29   //入力がHIGHでニュートラルの場合

    30  //return !digitalRead(N_In);

    31  }

    32 //———————

    33 boolean Chk_Chg(boolean x, int val) {

    34   //xがtrueで減光時falseで点灯時

    35  //yはその時の明るさの数値

    36  //入力に変化がないときはなにもしないで抜け出す

    37  if (In_State == Get_Stats()) {

    38    Max_Val = 255;

    39    Min_Val = 0;

    40    return false;

    41  }

    42    //入力に変化があったなら

    43  if (x) {

    44    //減光時

    45    Min_Val = val;

    46   } else {

    47    //点灯時

    48    Max_Val = val;

    49  }

    50   return true;

    51  }

    52 //—————————————————-

    53 //Ledの点滅サブルーチン

    54 void Led_Blink(int C, int P, int Dly) {

    55  for (int s = 0; s < C; s++)

    56   {

    57    digitalWrite(State_Led, HIGH);

    58    delay(P);

    59    digitalWrite(State_Led, LOW);

    60    delay(Dly);

    61  }

    62  }

    63 //

    64 //

    65

    66 void setup() {

    67  // put your setup code here, to run once:

    68

    69  pinMode(N_In, INPUT_PULLUP);

    70

    71  pinMode(Led_Out, OUTPUT);

    72  pinMode(13, OUTPUT);

    73  pinMode(State_Led, OUTPUT);

    74  Serial.begin(9600);

    75  In_State = Get_Stats();

    76  digitalWrite(13, !In_State); //13番をニュートラル表示と同じに

    77  //——————————–

    78  //入力と出力を

    79  if (In_State) {

    80    analogWrite(Led_Out, 255);

    81   } else {

    82    analogWrite(Led_Out, 0);

    83  }

    84  //——————————–

    85  //——————————–

    86  Serial.println("SetUp—start!");

    87  }

    88 //===========================================

    89 //===========================================

    90 //===========================================

    91 //===========================================

    92

    93 //———————–

    94 //———————-

    95

    96 void loop() {

    97   //==========================================

    98   //現行時間が一定時間すぎれば完全に消灯

    99   //Serial.println(LOFF_Flg);

    100   if (Loff_Flg) {

    101    // Led_Blink(3,400);//状態表示を3回表示

    102    if (Time_Val + Light_Wait_Val < millis()) {

    103      analogWrite(Led_Out, 0);

    104      Loff_Flg = false;

    105      Serial.println("Light_OFF");

    106    }

    107  }

    108  //一定時間が経過したら、入力の状態を確認

    109

    110  delay(Delay_Time);

    111  //記憶している状態と現在の状態が同じなら何もしない

    112   if (In_State == Get_Stats()) {

    113    if (In_State) {

    114      //ライトONの状態なら

    115      Led_Blink(1, 10, 0); //状態表示を1回表示

    116   } else {

    117      //ライトOFFの状態なら

    118      if (Loff_Flg) {

    119        //減光時

    200        Led_Blink(2, 10, 400); //状態表示を2回表示

    201      } else {

    202        //完全消灯時

    203        Led_Blink(1, 500, 400); //状態表示をゆっくり1回表示

    204      }

    205    }

    206    return;

    207   }

    208  //ここからスタート

    209  //

    210  //

    211

    212  Serial.println("Event Start");

    213  Loff_Flg = false;

    214  //状態の食い違いを合わせる

    215  In_State = Get_Stats();

    216

    217  //———————————

    218  digitalWrite(13, !In_State);

    219  if (In_State) {

    220   //徐々に点灯

    221    for (int Led_Val = Min_Val; Led_Val < 256; Led_Val++)

    222    {

    223      //Serial.println(led_val);

    224      analogWrite(Led_Out, Led_Val);

    225     delay(Delay_On_Time);

    226      if (Chk_Chg(false, Led_Val)) {

    227        return; //入力に変化があったら抜け出す

    228      }

    229    }

    230    } else {

    231    //徐々に消灯

    232    for (int Led_Val = Max_Val; Led_Val > Light_Low_Val; Led_Val–)

    233    {

    234      //Serial.println(led_val);

    235      analogWrite(Led_Out, Led_Val);

    236      delay(Delay_Off_Time);

    237      if (Chk_Chg(true, Led_Val)) {

    238        return; //入力に変化があったら抜け出す

    239      }

    240    }

    241    //————————————

    242    Time_Val = millis();

    243    Loff_Flg = true;

    244

    245    //——————————————————

    246   }

    247   }//End

    ======================ここで終わり=============================

    /記号で始まる部分はコメントです

    Serialで始まるコードは動作検証のためにPCに表示させるためのもので

    実際にはなくても関係ありません

    ※7行目から20行目

     各変数を宣言しています

     アナログポートを利用して半固定抵抗を付けて各値をハード的に設定するのも

     可能だと思いますが、最初設定したら変更することがないので

     変数の中で宣言してるだけです

     実際、今回使用しているポートは入力1個、出力1個、表示用に2個使用しているだけです

     ある意味もったいない・・

    ※26から31行

     入力の接続方法でHiとLowの動作が違うので

     変更する場合ここを書き換えるだけで済むように

     関数を作成しました

    ※33から51行目

     動作中ニュートラルの動作に変更があった時

     現在のライトの明るさを取得します

    ※53から62行目

     マイコンの動作状況を把握するためのLEDを点滅させる関数です

    ※66から87行目

     この部分は、電源が入った時一度だけ実行される部分です

     変数の初期化、入出力の設定を行います

    ※96から247行目

     この部分がループされて実行されます

    ※100から107行目

     この部分は減光して一定時間がすぎれば消灯するためのコードです

    ※110行目

     一定時間待機します(現在は1秒)

     これは、ギヤがローからセカンドに入る場合とか一瞬の動作変更を

     無視するためにタイムラグを取っています

    ※112から207行目

     これは上記のタイムラグを経過したあと

     ニュートラルの状態を確認して今までと同じ状態であれば

     ここでループを抜けだしてこれ以降のコードを実行しません

    ※212から247行目

     ここで、ニュートラルの状態によって、ゆっくり点灯か

     ゆっくり消灯か判断しています

     PWM出力ができるのでパルスのディユーティ比を変更して明るさを変えています

     0から255の256段階変更できます

    最初ニュートラルの割り込みを

    attachInterrupt関数を利用して割り込みをかけたのですが

    うまく行かず四苦八苦してようやくこのコードになりました

    疲れたので今日はここまで

    コード上、おかしいところを発見したら連絡ください

    明日もバイクでラジコンに行くので、壊れるかもしれません

    最後に回路図載せます、これはおかしいと思うところがあれば連絡ください

    尚、バイクの搭載後でもコードを変更できるようにシリアル接続できるように

    ピンヘッダーも取り付けました

    ※2015/04/14 マイコンのピン配置が間違ってましたので図面差し替えました

    2

    では、m(_ _)m  今度は何つくろーかな

     


  • ヘッドライト減光装置つづき1

    こんにちは

    今回はソフト面の紹介を行うつもりでしたがその前に・・

    仮付したものが、どうもうまくだ動作しない

    それも、走りだして数時間は問題なく動作するのですが

    いつの間にか、動作してない

    ニュートラルランプ確認用のLEDが点滅してる?

    基板を取り外し、机上で確認すると動作しない?

    もう一度、プログラムを書き込んで見ると

    今度は正常に動作します

    多分、プログラム上はうまく動作していると思うのですが

    何かの影響でチップがエラーになる????

    とりあえず、出力側にもフォトカプラーを入れて

    入出力をバイクの電源ラインから切り離してみました

    この1週間で何度バイクから付けたり外したりしたことか( ̄Д ̄;;

    まぁ問題なく1回で動作したら面白くないし( ̄ー ̄)ニヤリ

    ということで、基板にledを追加

    今までは

    電源のLED

    ニュートラル確認用LED

    出力確認用LED

    でしたが

    これだけではプログラムが上手く動作しているのかよくわからないので

    Loopの中に一度点滅するLEDを追加しました

    これで、プログラムが正常に動作していれば1秒に1回程度点滅します

    ついでに、これだけではつまらないので

    減光待機時に、2回点滅

    消灯時に、長めの1回点滅を追加しました

    これで、またバイクに取り付けて動作確認したいと思います

    机上で仮設のLEDでプログラムの動作確認した動画はこれです

    下のLEDで動作状態が確認できます

    ボタンを押した状態でニュートラルです

    放してギヤオンです

    ついでに、PCオシロで出力した波形です

    最初、フル点灯からニュートラル入れて、減光状態

    一定時間後に消灯

    次に、ギヤオンでフル点灯です

    机上で実際のヘッドライトを取り付けて動作確認です

    減光時あまり減光していないように見えますが

    実際は結構減光してます

    動作確認用LEDは右下です

    これで、また様子見ます

    いまさらですが

    ヘッドライトの消灯は多分違法でしょうが

    停止時のみ消灯はどうなのでしょうか???

    もしかして、これって違法になる???

    基本的には減光ですが、消灯にする利用は

    バイクでラジコンに行くと、ラジコンの電池を

    バイクの電源で充電するのです

    この時、ライトが点灯していると勿体無いので

    減光が発生してから20秒後に消灯するように作成したのですが

    消灯するのをもうちょっと遅くするか・・


  • ヘッドライト減光装置

    こんにちは、m(_ _)m

    前回も、話しましたがArduinoの件です

    Arduinoとの出会いで、自分の電子工作の環境が大きく変わりました

    ますます、どうでもいいものを作ってしまいそうです

    その第1回目としてバイクヘッドライトの減光リレーを作ることに

    まず、こんなものが必要なのか?・・・・・・ということで

    ネット検索・・・・・

    結構作ってる方いるじゃないですか・・

    家族からは、またくだらないことしていると

    白い目で見られながらも制作しました( ´,_ゝ`)ハイハイ

    多分、結構な方がArduinoってなんじゃ??と思う方もいるでしょうが

    (自分も、数週間前まで知りませんでした(*´ェ`*)

    簡単に言うとpcでプログラムを書いて

    チップに書き込みいろいろなものを制御できますね

    小さなコンピュータと言いましょうか

    このチップには、最初にブートローダーを書き込まないと

    駄目だし、ちゃんと16MHzの発信子も必要です

    言語はC言語となっています

    チップにとりあえず書き込めるようになるまで1周間程度かかりました

    でも、プログラムを修正して何度でも書き込めるので

    思っていた以上に便利です

    まぁ、Arduinoの勉強ということで、最初からあまり難しい物を

    考えても挫折するので・・

    やりたいことは

    1.ニュートラルで減光する

    2.ニュートラル一定時間で減光から消灯

    3.ギヤを入れると再点灯する

    せっかくPWM出力できるのですから

    点灯・消灯時はゆっくり点灯、ゆっくり消灯したいと思います

    簡単にできるかと思いましたが、疲れました

    まずはハード面から

    ヘッドライトは以前にLEDにしてますので

    電流を測定すると、Hi点灯時でも1.6A程度しか流れませんでした

    制御はFETで行うことにしました

    入力は、

    メーターパネルのニュートラルランプから取ることに

    これがなかなかうまく行かず

    試行錯誤して、結局フォトカプラを使いました

    どうしても、バイクの電源が12v、マイコンが5vで動作なので

    インターフェースは、こういうもので分けたほうがいいみたいです

    フォトカプラも、1個50円程度でした

    今回は、最初なのでコンパクトさにはこだわらずちょっと大きめ

    チップもソケットに入れました

    制作後にプログラムを変更できるようにシリアル端子もつけました

    Dsc_0773_r

    画面の右上が入力部の半導体ですが

    最終的にはこの部分をフォトカプラに変更しました

    下記がデスク上でプログラムを書いて、ブレットボードで動作検証しているところです

    Dsc_0765_r
    Dsc_0767_r

    別な基板に入出力部、電源部、基準発信部、プログラム転送用接続部分

    を組み込みます、あとはPCと接続してプログラムを転送します

    Dsc_0772_r

    pcとの接続はUSBで行うため

    そのインターフェースは右側の基板にしかないため

    今回製作品のデータのやり取りは右側の基板を通して行います

    Dsc_0774_r

    机上で実際にヘッドライトを接続して動作を確認します

    とりあえず、基板をビニール袋に入れてハンドルに縛り付けて

    1ヶ月ほど動作を確認したいと思います

    基板上のLEDで動作状態がわかるようにしてます

    Dsc_0775_r_2
    Dsc_0776_r_2

    取り付けて何度か走行しましたが

    もう、プログラム修正です

    Dsc_0778_r
    Dsc_0777_r
    Dsc_0779_r

    まぁ、傍から見ればバイクにパソコンつないで

    何してる?????と思うのでしょうかね

    「いつも隣の方には、変な顔で見られています(;д;)」

    こういうものを製作する方法はいろいろあると思いますが

    自分はArduinoと出会わなければこんなものは製作できなかったです

    何よりも、動作の変更がソフトで出来るは大変便利です

    でも、バグの検証は必要になってしまいます

    自分で言うのもなんですが、こんなに緻密に製作しているのに

    基板をビニールに入れて取り付けるのはいかがなものか・・・

    と思いますが、どうもだいたい出来上がる目処がつくと

    最後の締めが甘いのですよね

    ずっとこのままだったりして・・・・・・・

    次回は、この装置のソフト面を報告しますm(_ _)m


  • ウィンカーブザー製作その2

    先日、試作したウィンカブザー実際に取り付けて数日試しましたが

    最初の製作記事はこちら

    なんかイメージが違う・・

    小さいブザーは、やはり音が小さい

    大きいブザーは音質がいまいち・・ということで

    まず電子ブザーを再度入手

    Dsc_0705_r

    4種8個も購入してしまいました(ノ_-。)

    また、ピッと鳴る音が短い感じなので

    抵抗を大きい物に変更

    ブレットボードで試行錯誤してやっと、気に入った音と大きさに

    Dsc_0704_r

    Dsc_0706_r
    Dsc_0707_r
    Dsc_0708_r
    Dsc_0709_r

    試作品も含めてこんなに

    Dsc_0711_r

    今度は結構音が大きいので、基板と電子ブザーを、まるごと

    ヘッドライトケースの中へ収めちゃいました

    Dsc_0710_r

    最後に音の動画です

    今回色々勉強にもなりましたが

    ついでに購入したICとか抵抗とかブザーとかまた余計なものが

    在庫になってしまいました

    これで当分様子を見ます

    何も、たかがウィンカの音にこだわらなくてもいいのですが・・

    バイクに怪しい配線ばかりで

    雨降るとトラブル起こりそう・・・ではまた(=゚ω゚)ノ o(_ _)oペコッ


  • ウィンカーブザー製作

    こんにちは

    今回はウィンカーブザーについてです

    バイクのウィンカーって、車のように自動的に戻らないので

    基本自分で戻さないとウィンカー出しっぱなしになってしまうのですよね

    結構戻し忘れがあり、危険です

    そんなわけで、自分は以前からウィンカーブザーをつけています

    ウィンカーブザーも色々あり、ただの電子ブザーでも機能的には問題無いと思いますが

    自分のは、ウィンカの立ち上がりと立ち下がり時に短く「ピッ」と音がなるようにちょっと

    細工してあります

    5~6年ほど前にキットで購入しましたが、現在販売されていないようです

    もう1個必要になったので、色々調べて同じものを作ることに

    以前購入したものはキットでしたので、その資料を元に一部変更します

    変更する理由は、音量がいまいち足りない

    電子回路は詳しいわけではないので推測ですが

    元のキットは音を出す部分が他励式の圧電ブザーみたいなので、これを電子ブザーで駆動することに

    普通の電子ブザーであればこの部分を変更して調整できるかと思います

    まずは部品を調達

    抵抗とかコンデンサは基板は手持ちがあるのでICと電子ブザーを購入

    ブレッドボードで動作を確認します

    小さい電子ブザーは、音はいい音ですが音量がいまいち

    大きい電子ブザーは、音量は結構大きいのですが音質がいまいちかな

    とりあえず電子ブザーを変更できるように製作して使用してみます

    12vで駆動できるロジックICで4個のNANDゲートが入っているTC4011BPの2個を利用して

    入力信号を変換します

    他の2個は使用しないのでGNDに落とします

    入力信号の変換部分は、元の回路をそのまま利用します

    しかしこのNANDゲート2個と数個の抵抗とコンデンサでこのような動きになるのでしょうかねぇ

    こういうのを考える方は頭がいい・・・

    ここから、ブザーの駆動部分を一部変更します

    ネットで探してリレーを駆動する回路があったのでそれと同じく

    デジタルトランジスタを利用して電子ブザーを直接駆動します

    このトランジスタで100mA程度までは駆動できるようですので

    それに見合う電子ブザーを選択して購入しました

    まずは、ブレットボードにて確認です

    大きい方のブザーはエーモンの1868というもので

    消費電流が50mAです

    これなら音が大きいのでとりあえずこれで試してみることに

    Dsc_0690_r
    Dsc_0691_r

    うまく動作したので基板に取り付け

    Dsc_0693_r
    Dsc_0695_r
    Dsc_0696_r

    物干し竿の収縮チューブにて収めました

    Dsc_0700_r

    音量はこんなかんじです

    とりあえず来週バイクにセットして動作の確認をしてみます

    結構いい感じですよ

    ではまた、m(__)m


  • ばんばん200 シフトインジケーター不安定(;д;)

    ばんばん200を購入してプロテックのシフトインジケーター(SPI-110)をつけていますが

    最初のひと月程度は問題なく動作していたのですが

    最近動作が不安定??

    具体的には、頻繁にAという表示になる

    これは回転数信号が取れていないということです

    ある程度走ると何でもないときもある・・

    まぁ、接触不良かノイズでしょうかね

    接触不良については調べたけど多分問題ない

    ネットで調べると結構ノイズの問題がありますね

    もうひとつ気になっているのがたまにスピードメーターが

    動作しない時がある、これは一度エンジンを切ってかけ直すと治る

    やっぱり電源ラインに何か問題があるのかも・・・

    Dsc_0523

    電源にラインフィルタとか入れるといいのかもしれないのですが

    秋月電子で面白いもの発見!

    「超ローノイズ・プログラマブル電源キット」1200円

    今回の現象に意味がないかもしれませんがゲットします

    そもそも、単気筒のエンジンの電源は不安定そうですので

    メータパネルの電源はこれを経由することにしてみます

    この電源ユニットは0.1v単位で設定できるみたいです

    Dsc_0607
    Dsc_0609
    Dsc_0608

    早速ケースを作成

    Dsc_0610
    Dsc_0611
    Dsc_0613

    このユニットをライトケースの中に収めました

    Dsc_0614

    供給電圧をディップスイッチで12.0vに設定

    取り付け後、なんとなくledランプの表示が明るくなったような気が・・

    また、ウィンカの音もクリアになった気が・・・

    しかし、シフトインジケータは相変わらず調子悪い

    では、プラグコードに止めてある部分を調整してみることに

    回転信号の取り出しはプロテックのPG-220を使用しています

    プラグコードにクランプコアというもので挟むだけですが

    挟んだあとリード線を2回ほど巻きつけてみました

    なんと、これが大正解!!

    ピタリと不安定解消!!!

    結局、回転信号が弱かったみたいです

    こんなことで解消するとは、もっと早く試してみればよかったです

    でも、電源ユニットはこのまま取りつけておきます

    これで、しばらく様子見ます

    では、m(_ _)m


  • テール及びウィンカのLED化

    今回はテールランプの交換及びウィンカのLED化です

    CB1300の時は自分で基板から作成しましたが

    現在は買ったほうが早くて安い

    テールランプはヤフオクで1699円で購入したものです

    Dsc_0558_r

    ウィンカはG18のLED球をヤフオクで1個198円で購入

    当然LED化するとハイフラになるので

    ウィンカリレーを交換する必要があります

    これはアマゾンで440円で購入

    実はウィンカリレー2個目です

    1個目はプラスとマイナスを間違えてしまい

    簡単に壊れてしまいました

    Dsc_0556_r
    Dsc_0555_r

    ついでにETCとUSB電源も取り出すようにしました

    これでナビも使えます

    Dsc_0560_r
    Dsc_0561_r

    今回でやりたいことほとんどしてしまったような気が・・・

    さぁ、これでどこ行くか


  • バンバン200ヘッドライトLED化

    こんにちは

    今回はヘッドライトをLEDに交換します

    CB1300の時は苦労してHID化しましたが

    今回はついにヘッドライトのLED化です

    と、いっても球交換するだけ・・

    LEDヘッドライトは初挑戦なので、様子見で安めのものをゲット

    2500円でした

    600x450201408210000129

    LED自体にファンが付いているため後ろの部分にスペースが必要です

    バンバンのヘッドライトのケースは小さいのですが

    無理やり何とか納まりましたが、これを機会にちょっと大きめの

    マルチリフレクタに交換することにします

    オークションで4000円弱で新品を買いました

    左がバンバンのもの右が購入したものです

    Dsc_0540_r

    今まではライトの下で固定でしたが、今度のケースは横で固定なため

    ブラケットを作成します

    Dsc_0539_r
    Dsc_0546_r
    Dsc_0547_r
    Dsc_0548_r

    計算して作成したはずなのに、なんとスピードセンサの機械式ワイヤが

    干渉するではありませんか!!Σ( ̄ロ ̄lll)

    仕方ないので、ブラケットを作ってセンサユニット自体を移動します

    Dsc_0550_r
    Dsc_0544_r_2

    なんとか取り付け完了

    まだ夜間で試してませんが結構明るいです

    Dsc_0551_r Dsc_0549_r

    次回は、ウィンカのLED化の報告にしますか