アドレスV125S 点火回路を自作する~リミッターを解除するため~
回転数を上げるとECUの方でリミッターがかかってしまうアドレス。
カメファクのEブレイカーを使えばリミッターを解除できるらしいのですが
これ、似たようなものを自分でどうにか回路を作れないものかと。
既存の配線にかませるだけでリミッターを制御できるということはそんなに難しい事はやってない…??
ということで、まずはアドレスの点火の仕組みを調べることからはじめます。
調べてみるとK5~K7モデルはCDI点火、K9~L0モデルはトランジスタ点火(TCI)という点火方式らしい。
点火装置に関してはCDIという名前しか知らなかったのでTCIとは何ぞやという感じだったのですが、分かりやすく解説しているサイトを見つけました。
上のサイトから引用した画像。
これを見たときどこかで見たような形だな~と思ったんですけどこれ要はポイント点火と同じ。ポイント点火はカムでポイントの接点が開くと点火する仕組みだから、このTCIはトランジスタでポイントの役目をしてる。
なのですごく簡単に言うと、イグニッションコイルからECUに繋がってる線を直接アースに落とせば火花が飛ぶ。実際にアドレスのイグニッションコイルに繋がってる配線をアースに落とすとバチッと点火しました。
ようはこのアースに落とす作業をトランジスタで行える回路を自作すれば完成です!
そこでネットを漁っていると実際に作っている人を発見。
回路図を見ると部品点数も少ないし意外と簡単にできそう。
ただひとつ問題があって、上のサイトはポイント点火用の回路なんです。アドレスはピックアップコイルから点火信号が送られてくるのでポイントとは信号が逆になる。
ポイント→電流が止まると点火
ピックアップコイル→電流が流れると点火
なのでピックアップ信号を拾ったら回路の信号をオフにしないといけない。
電子工作に詳しい人ならアナログ回路で済ませられるんでしょうけど、自分はその辺の知識がないのでマイコンでその制御をします。
それにマイコンで点火信号を制御できれば点火時期をプログラムの変更だけで自由にセッティングできそうだし。
それでもって完成したのがこちら。
点火用の回路とピックアップを拾うマイコン側とで基盤を分けました。
ピックアップを拾うのはフォトカプラから。前にCDIを作った時に買っていたものです。
//ATtiny85/13 pin,
byte din = 3;
byte dout = 4;
byte LED = 2;
byte d = 255;
void setup() {
pinMode(din,INPUT);
pinMode(dout,OUTPUT);
pinMode(LED,OUTPUT);PORTB |= _BV(LED);//digitalWrite(LED,HIGH);
delay(d);
PORTB &= ~_BV(LED);//digitalWrite(LED,LOW);
PORTB |= _BV(dout);//digitalWrite(dout,HIGH);
delay(d);
PORTB &= ~_BV(dout);//digitalWrite(dout,LOW);
delay(d);
PORTB |= _BV(dout);//digitalWrite(dout,HIGH);
}
void loop() {bool val;
val = digitalRead(din);while(val == true){//Pickup_ON==IG_ON==TrangisterOFF
delayMicroseconds(10);
digitalWrite(LED,HIGH);//FIRE
digitalWrite(dout,LOW);
delayMicroseconds(10);
val = digitalRead(din);
}digitalWrite(LED,LOW);
digitalWrite(dout,HIGH);
}
単純なスケッチですが一応載せておきます。
それで実際に装着!!
仮付けですがとりあえず点火はしました!
回転信号もちゃんと読み込んでくれます。アドレスはクランクから出ている緑線からパルスが出ています。
で実際にエンジンをかけてみたのですが……全然ダメです。
かろうじてアイドリングはするのですがしばらくするとエンスト。アクセルをあけるとエンスト。どうも点火タイミングが全然合ってないみたいです。
でも自分で組んだ回路でエンジンが動くのは感動ものです!
あとは点火プログラムをいじって地道にタイミングを合わせていくだけ…!!まあこれが長そうなんですが^^;
PS.ここまですんなりと事が進んだように書いてますが、実際には丸々1週間くらい基盤とにらめっこしながら完成?までこぎつけました。
ツェナーダイオードを逆に繋げてたのを気づかなくてトランジスタを燃やしたり、フレットボードでは動いたのに基盤に載せたら動かなくなったりと…しんどい!
理想は回転数に合わせた進角で、最適な点火時期を出せるようにしたいのですが、、まずは進角固定でちゃんと走る様にしたいですね…!!
それと気になるのが点火に使うFET。サイトでは2SK3192(250V?)というのが使われていたのですが、秋月電商では売っておらず。代わりに2SK3234(500V8A)というそれっぽいのを買ってきました。定格は高い方がいいでしょ~?くらいにしか考えてません。果たしてこれで耐久性はどうなのか……。
それとピックアップコイルからのノイズの問題。オシロスコープとかは無いので実際どうなのかはわかりませんが、結構ノイズは大きそう。そこをプログラムでどう回避すればいいのか、点火時期の計算に影響が出てきそう。
プログラムの書き方も正直よく分からん…詳しい方がいたらアドバイスお願いします。