2012年5月22日火曜日

CDI開発(2) スパーク!

プロトタイプのプログラムができたので、モータを使ったテスト環境でテストしてみたところ全然スパークしません。

デバックしようにも使用しているマイクロコントローラ(PIC8ピン)が小さくて、RS232CとかUSBとかで情報を取り出したりできないので、もう少し大きなマイクロコントローラにプログラム移植してデバック情 報をRS232Cで取り出して解析してみました。

まあ、単純なバグでプログラム先頭で定義した割り込みフラグのアドレスが間違っていました。(ロジックは正しかったので、簡単に見つけられませんでした。)

ちょうどRS232Cでのデバック環境もあるので、実際にモータ回してみて進角/遅角の計算結果をみたところ、回転数→点火進角の計算が正しいことも確認できました。修正したプログラムを実際のタイマーボードに搭載し、CDI(高圧回路)からME8プラグへ接続するとモーターの回転に合わせてスパークするのが確認できます。

 
でも、デバック用のRS232Cを入れた状態ではプログラムの遅延もあり、本当のタイミングがわかりません。やっぱりストロボライト付けてテスト必要かと。

K口さん、ストロボライトお借りできます?



さらに、ここで問題発生!

手でエンジンを掛ける際に逆回転で手を叩くというトラブルがあります。これはペラを手でフリップするスピードが遅く、BTDC(上死点)よりずっ と前で点火してしまうのが原因と思います。そのため、今回はあまりフリップ速度が遅いとスパークしないようなロジックをいれたのですが、モーターが低速で 回らない・・・ 600RPMくらいでモータが止まってしまいます。

手でフリップするのって200RPMくらいですよね? モータかギヤ変更して100~300rpmを可変できるようにしないと。田宮のギヤモーターあたりかな?


PIC16F684Aを使って、ブレッドボードにタイマーボード作ってみました。HES入力、RS232出力、それと、ICSP(マイコンのプログラムポート)

0 件のコメント: