早速 16 ステップのマグネットアクチュエータドライバのプログラムをライタにセットして書き込んでみた。 0.1μF のバイパスコンデンサはチップタイプのものをフラットパッケージ PIC の裏側に貼り付けた。書き込んだ PIC は現在製作中の飛行機に搭載するつもりなので、受信機に接続するために極細のケーブル 3 本と超小型 JST コネクタを取り付けた。超軽量マグネットアクチュエータドライバの完成。重量は 0.2g しかない。隣の DIP タイプ PIC12C509A が巨大に見える。
mag12c10.hex magnet actuator driver for PIC12C509A (update1)
紫外線消去タイプの PIC に書き込んでテストしたときに、PIC16F84A でテストしたときとニュートラルの位置にずれがあった。紫外線消去時に何らかの不手際で校正値がプログラム実行時に反映されなくなってしまったものと思っていたが、今回フラットパッケージの PIC に書き込んだものも同様のずれが発生した。このずれは送信機側のトリムで調整できる範囲なので実用上問題はないが、気になる範囲ではある。セラロックによる 4MHz と RC 発信回路による 4MHz とでこれほど差が出るとは考えにくい。
そこで小黒さんに助けを求めた。プログラムの最初に校正値を読み込んで OSCCAL レジスタ (05H) にセットする必要があるということであった。校正値を変化させてみると 30% ぐらい変化するということだ。早速紫外線消去タイプの PIC にプログラムを書き込んでテストしてみた。校正値がプログラムの実行速度に反映されていることを確認できた。
今回のマグネットアクチュエータドライバは、初心者レベルにしてはかなり分解能も高く、いいものができたと自負している。何よりも外付け部品がバイパスコンデンサ 1 個だけ、しかもコイルを直接 PIC でドライブできたのは素晴らしい。今後は 2 チャンネルの PWM 制御についても勉強しなければと思っていたが、これだけ軽くできるのなら 1 チャンネルのものを 2 組使っても重量的には問題なさそうだ。
マグネットアクチュエータドライバについてはまだまだ勉強しなければならないことが沢山あるが、一応実用レベルに達したので、次回から新たな勉強に取り組む。