RIGHT STUFF, Inc.

Right Stuff Wrong Stuff


XS650(XS1B) イグナイタ用PICコントローラ(Ver2)

始動直後の極低速時の挙動を考えすぎて?行き詰まっていたデジタル制御のフルトラですが、何とか目処が立ちました。

プログラム的にも進角特性的にも試作止まりの内容ですが、とりあえず忘れないように纏めておこうと思います。


ここには進角特性のグラフがあります。

今回の目標とする進角特性です。大きく三つの部分に分けて制御しています。

始動から600rpm未満の範囲は極低速と位置づけて進角無しにしました。この範囲は計算などは何も行わず、センサ入力の通りにコイルへの通電をコントロールするだけです。そのことによって最初の1発目でもキックがゆっくりであっても確実に上死点で点火することが出来ます。

進角をゼロにしたのはケッチン防止の意味もありますが、計算などのシンプル化のためにセンサの動作ゾーンを解りやすくて測定もしやすい上死点基準の180度としたためでもあります。

600rpmから3600rpmまでは回転数に応じて進角していくゾーンです。純正の1200rpmで15度を基準として、コントロールしやすいようにy=axの形の関数にしています。

3600rpm以上の範囲は一定進角の部分です。プログラム上は回転数は見ておらず、計算した角度と45を比べて、計算値が45よりも大きければ45を採用しているだけです。45度はちょっと大きめですが、センサによって得られる180度を4で割った数値、すなわち2回シフトしただけで得られる数値と言うことから採用しています。


ここにはPIC基板の画像があります。

以前試作して試験していたPICコントロール基板です。馬鹿みたいに簡単なソフトでしたが、耐ノイズ性とか最低限の評価は出来ていますから、これに今回のソフトを乗せて試験していきます。

前回はセンサ入力が2個でイグナイタへの出力が2個でしたが、今回はそれぞれ1個です。プログラムの簡易化とセンサタイミングの安定化を考慮してセンサの取付位置をカムシャフトからクランクシャフトに変更するためです。

私のXSは360度クランクの360度点火です。1個のコイルで点火する場合は高圧側が2本出たタイプを用いて両方の気筒に対して捨て火有りの同時点火にする必要が有ります。

難しげに聞こえますが、要はクランクシャフト1回転に1回点火するだけなので、2STの単気筒と同じ事です。ただ2STだとこの進角特性では旨くないでしょう(笑)。


ここには試験波形の画像があります。

車上で試験する前に、試験用のシグナルジェネレータを使って試験しておきます。

画面下が入力信号です。デューティー比が50%で周波数が20Hzです。点火系の構成に寄りますが、今回の例では20Hzは1200rpmに相当します。信号の立ち下がりがクランク軸の下死点、信号の立ち上がりが上死点です。

画面上はイグナイタへの出力信号です。この信号がローレベルの時だけイグニッションコイルに通電されています。と言うことは上の段の信号の立ち下がりがコイルへの通電開始で、立ち上がりが点火となります。

セミトラやドエル制御無しのフルトラなら、下の波形の立ち下がりと同時に通電開始になりますが、この例では通電開始から点火までが10msしか有りません。ドエルタイムがきちんとコントロールされていることが解ります。

点火タイミングは横軸を拡大して確認したところ、上死点前2.2msくらいでした。これは360度が50msで有ることから逆算すると15.84度となります。8ビットコントロールにしてはまあまあの線です。


ここには試験波形の画像があります。

こちらは40Hzの例です。今回の構成では2400rpmに相当します。

こちらもドエルタイムは10ms確保されています。しかしこの状態で丁度入力信号の立ち下がりと同じタイミングです。プログラム上の手抜きから入力信号の立ち下がり以前にはコントロールされていませんので、これ以上の回転数ではドエルタイムはどんどん短くなり、点火に必要なエネルギーが不足気味になります。まあ、今回は検証用と言うことなので(笑)。

点火時期はこちらも上死点前2.2ms程度で1200rpmの時と同じです。しかし1回転の時間が違うので点火時期は異なります。今回は360度が25msなので31.68度に相当します。予定通りに進角されているようです。


今回のプログラムはこちらです。汚くて低レベルなので参考にはなりませんが、自分用の覚えとして残しておきます。
ig02.asm


ここにはセンサ部の画像があります。

クランク軸からのセンサとしては反射型のフォトインタラプタを使うことにしました。本当は実績があってスペック上の耐熱性も十分のホールICを使いたかったのですが、XSのクランク端にはスペースが全くなく、銀ラッカーでストライカに相当する帯を描くのが精一杯でした。

信号の内容的には、クランク軸の下死点かで信号がオンになります。そのままずっとオンが続いて上死点でオフになります。この信号を基準にPICでコントロールします。丁度上記のシミュレーションと同じように、デューティー比が50%の信号です。

ここには参考回路図があります。

今回の回路図です。イグナイタは機械進角式フルトラで使っていた物です。PICは前回の試作品で入出力は1回路だけ使っています。センサ部分は今回新作した部分です。部品や配線を減らすためにちょっとトリッキーな回路になってしまいました。

当初はフォトトランジスタに2SC1815をダーリントン接続で組み合わせてみました。しかしこれでは単純に明暗の状態を増幅しただけなので、デジタル回路にとってあまりに変化がなだらか過ぎたのです。特に極低速ではPICが何回もオンオフを繰り返したと認識してしまいます。

スパッとオンオフを切り替えるにはコンパレータを入れれば良いのですが、スペースや配線や電源の事を思うとなかなか旨く行きません。そこでTL431内部のコンパレータを利用することを思いつきました。これによって信号のキレは良くなりましたが、閾値付近でのチャタリングは残っています。ヒステリシスが無いので仕方有りません。


ここには点火コイル部の画像があります。

点火コイル部分です。コイルは解体屋みたいなバイク屋さんから2個(4気筒分)1,000円で購入してきた中古品です。CBRか何かという話でした。

コイル自体は同時点火の国産車に良く装着してある「TEK」と書かれた小型のコイルです。このコイルはインダクタンスが4.5mHしか有りません。かなり高回転向けのコイルのような気がします。

このコイルは純正装着状態では鉄製のブラケットに固定されていました。このブラケットは磁路の一部となっており、ブラケットが無いとインダクタンスがかなり現象することが測定から解っています。

CBRよりも低速寄りのXSに対して、CBRよりもインダクタンスを小さくする理由はありません。工作はしにくいけれども頑張って鉄製のブラケットを作りました。2x4用の補強材の流用です。


結果的に、この方式はボツになりました。理由は色々ありますが主なものとしては

極低速の挙動が不安定だしデバッグもしにくい事が有ります。進角0度からコントロールゾーンへの遷移点を、0rpm近くに移してみたり色々と試して見ましたがどうも安定しません。これは私のプログラムの不具合かもしれないのですが、大前提の低速が安定しないと試験が始まらないわけです。

何回も何回もキックを繰り返して、やっと動いたかと思ったら不調だったりなんか変だったり・・・心身共に疲れ果ててしまいました。そのために極低速はプログラムに依らず、単純なフルトラ的に信号からダイレクトに点火された方が良いように思っています。

さらにこのようにすると分解能が向上する副産物もあります。現在は600rpmを256分割でコントロールを始めます。そのために高回転になればなるほど制御が荒くなります。アイドリングはノーコンとして、制御を1500rpmあたりで始めるとすれば、600rpmから制御する場合に比べて2.5倍も分解能を上げることが出来ます。まあこれは、16ビットカウントに移行すれば重要度が薄れてきますが。

アイドリングの安定問題も有ります。私のXSに限った事かもしれませんが、アイドリング領域で進角を大きくすると回転が上がります。遅角側に振っていくと回転数が下がります。しかしこのプログラムでは回転が下がると遅角してしまいます。回転が上がると進角します。そのために以前のノーコンフルトラ時よりもアイドリングが不安定なのです。アイドリングは進角一定か、若しくはV字の谷みたいに低回転でも進角するような特性の方が良いような気がします。


そんなこんなで次回のバージョンは、下死点前15度から上死点前15度の信号を基準にプログラムを書いてみるつもりです。

これだと極低速域はノーコンで、信号のままにイグナイタをオンオフするだけ。1500rpmを越えた辺りから進角制御に移ればOKです。


このボタンは、目次に戻るリンクです。