マグネットアクチュエータドライバ

[Previous] [Next] [Index]
 マグネットアクチュエータドライバは、コイルに流すパルス電流のデューティを調節することによって、コイルの中央に置かれたマグネットをコントロールする。 PWM(Pulse Width Modulation) 制御という手法を用いて実現することができる(らしい)。

 PWM 制御の具体的な方法についての知識をもたないので、小黒さんからアドバイスしてもらった。しかし、実際にプログラムを書くには高度な知識を要求される。そこでそれらしく動くプログラムを初心者レベルで考えてみた。

 できれば実際にインドアエアプレーンに搭載したい。最近ラダーのみをコントロールする飛行機が見られるようになってきた。上昇下降はモーターをコントロールして行う。これなら 1 チャンネルのアクチュエータドライバでいい。今の知識レベルでもなんとか作れそうだ。

 実装時には PIC12C509A/SN という軽量なフラットパッケージを使いたいが、プログラミングには PIC16F84A を使用する。紫外線消去のできる PIC12C509A/JW をせっかく調達したのに、紫外線による消去テスト中に壊してしまったのが残念。

 マグネットアクチュエータはコイルとマグネットだけなのでとてもシンプル。しかも軽い。市販されているモータサーボでは今のところ 2.7g の LS-2.4 が一番軽い。マグネットアクチュエータなら 1g 台で作ることができる。

 マグネットアクチュエータのコイルは一般的にその抵抗値が 100Ω から 200Ω 程度のものが使われている。最近インドアエアプレーンに使われているリチウムイオン電池の定格電圧は 3.6V なので PIC も問題なく動く。コイルの極性反転には通常 H 型ブリッジ回路を使う。スイッチング素子にトランジスタを 4 個使い、 2 個の素子を同時に ON/OFF する。低い電圧でドライブする場合にはこの素子の電圧降下がばかにならない。

 そこでコイルを直接 PIC でドライブできないかと考えた。仮に 100Ω のコイルにリチウムイオン電池のの定格電圧 3.6V を印加したとすると計算上 36mA の電流が流れることになる。この 36mA を直接 PIC でドライブすることはできないが、 1 ポートあたり 25mA の最大許容電流があるので 2 ポートをパラレルに接続すれば許容範囲に収まる。 H 型ブリッジ回路の役割を PIC に持たせて外部ドライブ回路が省略できれば、計量化も図れ一挙両得というわけである。

 ポートを同時に ON/OFF する方法で少し悩んだが、解決方法が判ったので早速簡単なプログラムを書いてテストしてみた。 RB2 と RB3 にコイルの片方を、 RB4 と RB5 にコイルのもう一方を接続した(回路図)。電源にリチウムイオン電池を使って 100Ω の負荷を接続すると、RB2、RB3 を High にして RB4、RB5 を Low にしたときに 22.7mA の電流が流れ、 1.5V ほど電圧降下があった。電流値から 1 ポートでもドライブできそうだが、 1 ポートだけでテストしたら電圧降下がかなり大きくなってしまった。 8 ピンの12C509A での実装を考慮して 2 ポート + 2 ポートとした。リチウムイオン電池と FM 受信機を接続して実験中の様子。ユニバーサル基板はいろいろな実験に使っているため、今回の実験に関係ない部品も載っている。

 遠い昔、学生時代に勉強したアンペア・ターンを思い出した。確か磁力の強さを表す単位だったと思う。太い線を数多く巻けば強い磁力を発生できるが、軽さも重要なのでそう簡単には答えが出ない。手元にあるエナメル線をいろいろと巻いてみたが、ようやく何とか実用になりそうなコイルが巻けるようになった。テストしたコイルは 0.05mm エナメル線をダブルで 610 ターン巻いたもの。抵抗値は 99Ω で 0.9g 。上記テストでは 51mW の消費電力となるが、それよりもアンペア・ターンのほうが大事だ(と思う)。今回のテストでは 610 x 0.0227 = 13.85AT と計算できた。 1 ターンのコイルに 13.85A 流したのと同じ?う〜んなんだかピンとこない。学生時代にもっと勉強しておけばよかったと反省。いまさら取り返しがつかないけどね。

 さて、いよいよ PWM もどきを何とかしなければならない。インドアエアプレーンでは軽い受信機を使うため、ほとんどの受信機が PPM なので入力パルスの周期は 23msec ほどになる。入力パルス幅はニュートラルを 1500μsec として前後 500μsec ほど変化する。送信機のスティックで左右それぞれ 6 ステップとして 50μsec 刻みでコイルに供給する電圧のデューティ比を変化させる方法を試してみた。

 実際に飛行機に搭載してみないとなんともいえないが、片側 6 ステップの分解能があれば実用になりそうな気がする。

 初心者が考えた PWM もどきはこんなプログラムだ。誰も見ないだろうが、冗長なプログラムからいかにも初心者とわかるだろう。公開できるのも初心者ならではの特権。ここはこうした方がいいよといったアドバイスがあることを期待したい。今のレベルでは精一杯だがとにかく動いたので嬉しい。

 リチウムイオン電池を電源としたので PIC 供給電圧は 3.6V と低いため、受信機からの信号レベル (3V) との差も少ないことから入力のトランジスタ回路も省略した。 PIC12C509A で実装できるレベルになれば PIC とバイパスコンデンサとコイルだけの超簡単回路構成となる。次回は PIC12C509A への移植を考える。


  • PIC12C509A/SN の重量を測定 10 個で 0.9 グラム(軽いっ!)
    [Previous] [Next] [Index]
    2002/06/06