FIコントローラ作成2

7/30
基盤がようやく出来ました。ケース加工も現物合わせで終わって
います。通電して異常が無ければ調整して動作確認します。

7/31
動作確認の前に 作ったソフトをPICに書き込みます。
ソフトの作成に使ったソフトはMPLAB IDEv6.60
書き込みは秋月のPICプログラマーで行っています。

これをコンパイルして書き込みの際にコンフィグレーションビット
のFOSC->XT、 WDTE->Disable、LVM->RB3=I/Oに変更して
書き込みます。

よく見て組んだつもりでしたが通電してみると5Vレギュレタの出力が
電源電圧と同じになってます。確認すると5VレギュレタのIN/OUTを
逆にしていました。予備と交換です。

交換して5V、9Vともに正常に出力されるようになりました。消費電力
はPICを入れない状態で17mA。さてスロットルセンサーの入力アンプ
を調整します。調整を始めると1.6V付近で出力が下がってきません。
再度シュミレーションすると前回シュミレーションしたファイルは壊れて
開けません。ファイルを作り直すと実測とほぼ同じ結果でした。

早速 R5とR6を2kΩの半固定抵抗に変えて調整出来るようにしました。

8/1
R12は50kΩ、R14は70kΩくらいにして調整をします。
調整点を4点決めて数回調整した結果 下のグラフの様になりました。

PICの入力保護の為に入れた5.1Vツェナーダイオードが出力を下げて
います。3.2Vまでは出力できていますので開度65%までは大丈夫です。
アクセル開度変化によって出力は上がってしまうので保護ダイオード
を外す事は出来ませんので 開度65%を越える領域ではマップの値を
変えて対応します。

さて通電して動作確認。LEDは正常に点滅してます。インジェクタは
最初動作しませんでしたが固着が取れたら元気に作動しました。
インジェクタへの通電時間を見ると ?? 変化しません。
マニュアルスイッチでは延長が見られるのでA/Dコンバータがデータ
を読み込んでいないようです。

間違っていたのはTRISレジスタをアナログ入力に対してもINPUTに
設定する必要があった点です。書き直してA/Dコンバータは動作
しました。再度動作確認すると今度はマップのデータを正しく読み
込んでいません。リセットがかかっているような動きもします。

8/2
マップのデータを読むのにADDWFコマンドを使ってPCLレジスタに
直に書き込んでいるのですが これが問題でした。
PCLレジスタはADDWFでジャンプする時オーバーフローすると
正しいアドレスにジャンプできません。8ビットカウンタなので
最大254のアドレス範囲にジャンプするように変更が必要です。
マップのデータを違うバンクに移して、PCHレジスタに間接的に
書き込みできるPCLATHレジスタを使ってデバッガーの上では
正しく動くようになりました。

残るはポンプを連続駆動する為の出力が上がったままになる
事をどうにかしないと・・・。
これは出力する時にPICは一旦ポート全部の電位を読み込んで
次に出力する為に 出力ピンにアサインしていてもピンの電位が
高いと他のピンに出力する際に勝手にHIにセットされてしまう事が
原因です。ポンプの駆動をタイマーIC555で組んだ発信回路からの
出力とPICからの出力をどちらもFETのゲートにダイオードを通して
つないだ為に起こりました。

インジェクタの駆動信号と同じタイミングでパルスを発生させ
タイマーIC555に入力し20msの駆動パルスを発生するように
回路変更しました。3000rpmでは連続駆動するようにプログラム
と回路に手を加えました。

ポンプの実動作確認は出来ませんでしたが 他はソフトどうりに
動作する事が確認できました。

<前 次>