金属疲労?
バイク購入時に取り付けたETCのベース(自作)が、本日折れました(゚0゚)
もともと、そんなに荷重がかかるところではないので
薄いアルミ板で製作していたのですが
突然取れました・・・
ということで、作り直しです
今度は3mmのアルミです
これなら大丈夫でしょ
まずは、大まかにけがき
バンドソーでカット
穴を開けて折り曲げます
ドリルで穴を開けグラインダーで削って完成
やはり電動工具がないと大変ですよね
元と同じように取り付けて完成
今度は壊れないでしょ
お疲れ様m(__)m
wai-tec.com
こんにちは
お久しぶりです
前回の話から結構経ちましたが
いろいろありました
結局、3回ほど作りなおしました
不具合は走行中に動作がおかしくなる?
ledの表示で判るのですが
プログラムの動作Loopがしなくなる?
Loopの中にledが点灯するコードを入れているのですが
これが、点灯しっぱなし
それも必ずではない・・
なるべくコンパクトにするため配線がごちゃごちゃでしたが
基板の大きさよりも配線が重ならないようにと
試行錯誤して考えました
汚いですが配線パターン
実際の基板
結局、こうすることによってご動作なくなりました?
当初この基板をヘッドライトケースに何とか収めようとして
極力サイズを小さくと考えたのですが諦めました
下記のケースを作成してヘッドライトの下に取り付けました
どうしても解決できなかったことが
減光時のヘッドライトの明るさです
コード上は減光時最小値(1)にしたのですが
感覚的には60%くらいでしょうか
PCオシロで波形を見ると
波形が訛っている?ようで、これが原因だと思います
しかし、どうすれば改善できるのか・・・
結局諦めてこのままです
また、使用していない端子はそのままでいいのでしょうか?
例えば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
こんにちは
本日午後からですが半日バイクに乗ってきました!
今回は、問題なく動作しました
やはり入出力回路を電気的に切り分ける必要があったのでしょう
ということです
この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 マイコンのピン配置が間違ってましたので図面差し替えました
では、m(_ _)m 今度は何つくろーかな
こんにちは
今回はソフト面の紹介を行うつもりでしたがその前に・・
仮付したものが、どうもうまくだ動作しない
それも、走りだして数時間は問題なく動作するのですが
いつの間にか、動作してない
ニュートラルランプ確認用の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円程度でした
今回は、最初なのでコンパクトさにはこだわらずちょっと大きめ
チップもソケットに入れました
制作後にプログラムを変更できるようにシリアル端子もつけました
画面の右上が入力部の半導体ですが
最終的にはこの部分をフォトカプラに変更しました
下記がデスク上でプログラムを書いて、ブレットボードで動作検証しているところです
別な基板に入出力部、電源部、基準発信部、プログラム転送用接続部分
を組み込みます、あとはPCと接続してプログラムを転送します
pcとの接続はUSBで行うため
そのインターフェースは右側の基板にしかないため
今回製作品のデータのやり取りは右側の基板を通して行います
机上で実際にヘッドライトを接続して動作を確認します
とりあえず、基板をビニール袋に入れてハンドルに縛り付けて
1ヶ月ほど動作を確認したいと思います
基板上のLEDで動作状態がわかるようにしてます
取り付けて何度か走行しましたが
もう、プログラム修正です
まぁ、傍から見ればバイクにパソコンつないで
何してる?????と思うのでしょうかね
「いつも隣の方には、変な顔で見られています(;д;)」
こういうものを製作する方法はいろいろあると思いますが
自分はArduinoと出会わなければこんなものは製作できなかったです
何よりも、動作の変更がソフトで出来るは大変便利です
でも、バグの検証は必要になってしまいます
自分で言うのもなんですが、こんなに緻密に製作しているのに
基板をビニールに入れて取り付けるのはいかがなものか・・・
と思いますが、どうもだいたい出来上がる目処がつくと
最後の締めが甘いのですよね
ずっとこのままだったりして・・・・・・・
次回は、この装置のソフト面を報告しますm(_ _)m
先日、試作したウィンカブザー実際に取り付けて数日試しましたが
なんかイメージが違う・・
小さいブザーは、やはり音が小さい
大きいブザーは音質がいまいち・・ということで
まず電子ブザーを再度入手
4種8個も購入してしまいました(ノ_-。)
また、ピッと鳴る音が短い感じなので
抵抗を大きい物に変更
ブレットボードで試行錯誤してやっと、気に入った音と大きさに
試作品も含めてこんなに
今度は結構音が大きいので、基板と電子ブザーを、まるごと
ヘッドライトケースの中へ収めちゃいました
最後に音の動画です
今回色々勉強にもなりましたが
ついでに購入したICとか抵抗とかブザーとかまた余計なものが
在庫になってしまいました
これで当分様子を見ます
何も、たかがウィンカの音にこだわらなくてもいいのですが・・
バイクに怪しい配線ばかりで
雨降るとトラブル起こりそう・・・ではまた(=゚ω゚)ノ o(_ _)oペコッ
こんにちは
今回はウィンカーブザーについてです
バイクのウィンカーって、車のように自動的に戻らないので
基本自分で戻さないとウィンカー出しっぱなしになってしまうのですよね
結構戻し忘れがあり、危険です
そんなわけで、自分は以前からウィンカーブザーをつけています
ウィンカーブザーも色々あり、ただの電子ブザーでも機能的には問題無いと思いますが
自分のは、ウィンカの立ち上がりと立ち下がり時に短く「ピッ」と音がなるようにちょっと
細工してあります
5~6年ほど前にキットで購入しましたが、現在販売されていないようです
もう1個必要になったので、色々調べて同じものを作ることに
以前購入したものはキットでしたので、その資料を元に一部変更します
変更する理由は、音量がいまいち足りない
電子回路は詳しいわけではないので推測ですが
元のキットは音を出す部分が他励式の圧電ブザーみたいなので、これを電子ブザーで駆動することに
普通の電子ブザーであればこの部分を変更して調整できるかと思います
まずは部品を調達
抵抗とかコンデンサは基板は手持ちがあるのでICと電子ブザーを購入
ブレッドボードで動作を確認します
小さい電子ブザーは、音はいい音ですが音量がいまいち
大きい電子ブザーは、音量は結構大きいのですが音質がいまいちかな
とりあえず電子ブザーを変更できるように製作して使用してみます
12vで駆動できるロジックICで4個のNANDゲートが入っているTC4011BPの2個を利用して
入力信号を変換します
他の2個は使用しないのでGNDに落とします
入力信号の変換部分は、元の回路をそのまま利用します
しかしこのNANDゲート2個と数個の抵抗とコンデンサでこのような動きになるのでしょうかねぇ
こういうのを考える方は頭がいい・・・
ここから、ブザーの駆動部分を一部変更します
ネットで探してリレーを駆動する回路があったのでそれと同じく
デジタルトランジスタを利用して電子ブザーを直接駆動します
このトランジスタで100mA程度までは駆動できるようですので
それに見合う電子ブザーを選択して購入しました
まずは、ブレットボードにて確認です
大きい方のブザーはエーモンの1868というもので
消費電流が50mAです
これなら音が大きいのでとりあえずこれで試してみることに
うまく動作したので基板に取り付け
物干し竿の収縮チューブにて収めました
音量はこんなかんじです
とりあえず来週バイクにセットして動作の確認をしてみます
結構いい感じですよ
ではまた、m(__)m
ばんばん200を購入してプロテックのシフトインジケーター(SPI-110)をつけていますが
最初のひと月程度は問題なく動作していたのですが
最近動作が不安定??
具体的には、頻繁にAという表示になる
これは回転数信号が取れていないということです
ある程度走ると何でもないときもある・・
まぁ、接触不良かノイズでしょうかね
接触不良については調べたけど多分問題ない
ネットで調べると結構ノイズの問題がありますね
もうひとつ気になっているのがたまにスピードメーターが
動作しない時がある、これは一度エンジンを切ってかけ直すと治る
やっぱり電源ラインに何か問題があるのかも・・・
電源にラインフィルタとか入れるといいのかもしれないのですが
秋月電子で面白いもの発見!
「超ローノイズ・プログラマブル電源キット」1200円
今回の現象に意味がないかもしれませんがゲットします
そもそも、単気筒のエンジンの電源は不安定そうですので
メータパネルの電源はこれを経由することにしてみます
この電源ユニットは0.1v単位で設定できるみたいです
早速ケースを作成
このユニットをライトケースの中に収めました
供給電圧をディップスイッチで12.0vに設定
取り付け後、なんとなくledランプの表示が明るくなったような気が・・
また、ウィンカの音もクリアになった気が・・・
しかし、シフトインジケータは相変わらず調子悪い
では、プラグコードに止めてある部分を調整してみることに
回転信号の取り出しはプロテックのPG-220を使用しています
プラグコードにクランプコアというもので挟むだけですが
挟んだあとリード線を2回ほど巻きつけてみました
なんと、これが大正解!!
ピタリと不安定解消!!!
結局、回転信号が弱かったみたいです
こんなことで解消するとは、もっと早く試してみればよかったです
でも、電源ユニットはこのまま取りつけておきます
これで、しばらく様子見ます
では、m(_ _)m
今回はテールランプの交換及びウィンカのLED化です
CB1300の時は自分で基板から作成しましたが
当然LED化するとハイフラになるので
ウィンカリレーを交換する必要があります
これはアマゾンで440円で購入
実はウィンカリレー2個目です
1個目はプラスとマイナスを間違えてしまい
簡単に壊れてしまいました
ついでにETCとUSB電源も取り出すようにしました
これでナビも使えます
今回でやりたいことほとんどしてしまったような気が・・・
さぁ、これでどこ行くか
こんにちは
今回はヘッドライトをLEDに交換します
CB1300の時は苦労してHID化しましたが
今回はついにヘッドライトのLED化です
と、いっても球交換するだけ・・
LEDヘッドライトは初挑戦なので、様子見で安めのものをゲット
2500円でした
LED自体にファンが付いているため後ろの部分にスペースが必要です
バンバンのヘッドライトのケースは小さいのですが
無理やり何とか納まりましたが、これを機会にちょっと大きめの
マルチリフレクタに交換することにします
オークションで4000円弱で新品を買いました
左がバンバンのもの右が購入したものです
今まではライトの下で固定でしたが、今度のケースは横で固定なため
ブラケットを作成します
計算して作成したはずなのに、なんとスピードセンサの機械式ワイヤが
干渉するではありませんか!!Σ( ̄ロ ̄lll)
仕方ないので、ブラケットを作ってセンサユニット自体を移動します
なんとか取り付け完了
まだ夜間で試してませんが結構明るいです
次回は、ウィンカのLED化の報告にしますか