【2023年12月迄のご購入者様へ】「AIセミトラ・イグナイター」バージョンアップのお願い
カワサキ 650RS W3AIセミトラ・イグナイター

【AIセミトラ】自己学習の妙

AIとかエラそうに言ってますが、ようは、過去の実績を元に次を予測するだけです。使うPICがショボい(と言っても、セミトラに使うには豪勢)ので大したことは出来ません。
AIセミトラで予測が必要なのは、コンタクトブレーカーがブレークした時の次の回転数とドエルアングルです。

次の回転数は、正直、どんなに賢いAIでも正確には予測できません。スロットルポジションセンサーとかギヤポジションセンサーなんかがあっても、ソコソコの線までしか予測できないと思います。結局ココに関しては、クランクから沢山のピックアップ信号が出てこないと程良い値が出ないんです。
ただ、幸いな事にエンジンは高回転になればなるほど極端な回転変化は起こらないので、高回転に関しては過去の回転数と今の回転数の差から次は最大でどの程度の回転数になるか、ありえない回転数は何回転以上/以下かというのは分かります。

ドエルアングルは、高回転であろうが低回転であろうが基本的に変わりません。クランクの回転に対して何度のドエルアングルになるかは、コンタクトブレーカーとコンタクトブレーカーを動かすカムに依存しています。
厄介なのは、これが半導体ではなく物理的なスイッチになっている点です。コンタクトブレーカーがコンタクトする時は、盛大にチャタリングします。場合によってはブレークする時もチャタリングするかもしれません。もちろん、ブレークするとプラグに火が飛ぶのでノイズも乗ってきます。さらに、コンタクトブレーカーは熱の影響で金属が伸びたり縮んだりして安定しなかったり、たまに何となく少し動きがズレてみたりと、デジタルの世界からみると、もうメチャクチャです。
そして、ココがAIの出番です。

AIセミトラでは、ドエルアングルを求めるのにAI(まぁ、簡単な機械学習です)を使っています。
これは、次の理由のためです。

  • 車両によってドエルアングルが違う
  • 同じ車両でも条件によってドエルアングルが違う
  • 同じ車両でも常にドエルアングルが変わってくる
  • チャタリング等、本来ドエルアングルに関係の無いコンタクト/ブレークがある

ようは、マイクロ秒単位でみると、とにかくドエルアングルが一定しないんです。
AIセミトラでは、コンタクトブレーカーがコンタクトするタイミングでドエルを開始するのに最適なタイミングを再計算して補正しています。つまり、ドエルアングルが正確でないと正確なドエル開始タイミングを掴めなくなるわけです。
そこで、AIの出番です。コンタクトブレーカーの動きを機械学習することで、かなり正確なドエルアングルを求めます。機械学習には条件も必要で、回転数があまり高くない状態で、回転数にあまり起伏が無い時に限ります。高回転域ではチャタリングが多発するうえに、カムの動きが速すぎてコンタクトブレーカーが正しく追従しないし、回転数が安定していないと、読み取ったドエルアングルが狂っている為です。

それを確認するのに、テスト回路を作って実車に乗せて走りまくりました。

自作セミトラ

とにかくデータが欲しいんで、普通に走ってみたり、かなり意地の悪い走り方してみたりと散々走ってみて、コンタクトブレーカーの嫌な部分を取り除き、「まぁ、この辺だろう」と判断できる値は取れました。

次は、そのデータを元にプログラムを組んで、テスターにかけてオシロスコープで読んでみると……

オシロスコープ
赤がコンタクトブレーカーの動きで、黄色が実際のドエル。
下がった時がコンタクト/ドエルしているタイミングです。

エンジン始動判定と同時にドエルタイムが8ミリ秒に縮小してます。

オシロスコープ

そのまま回転数を上げてもドエルタイムは8ミリ秒のまま微動だにしません。

オシロスコープ

更に回転数を上げてコンタクトブレーカーのドエルアングルが8ミリ秒を下回ってます。ここまでくるとAI補正がきかなくなるので、実車だと8ミリ秒より僅かに伸びる方向に行くことがちょいちょいあると思います。

オシロスコープ

更に回転数を上げても問題ないし、ここからドエルアングルを変えて回転数を下げると、AIが学習してドエルタイムがゆっくりとまた8ミリ秒に戻っていくところまで確認しました。
いいぞ!ちゃんと動くようになってる!なんか、おもろい~

コメント一覧