スピードコントローラ NO.2

[Previous] [Next] [Index]
PIC16F84A での PWM プログラミング
 PIC16F84A でプログラミングし、ユニバーサル基板にドライブ用の FET 等を取り付けて実際にモータを取り付けてテストしながら、プログラムの手直しをした。

 最スローからフルハイまでを 22 ステップでプログラミングし、 38μsec ごとに PWM のデューティ比を変化させたところスティックの動きとマッチした。自分が使用している送信機にタイミングをぴったり合わせられるのがアマチュアプログラミングのよいところだ。

 スロットルパルス幅 1002μsec 以下をスロットル OFF とし 1724μsec 以上を ON として、その間を 38μsec ずつ 20 ステップで PWM 制御を行うようにした。

 具体的な切替えタイミングは 1002μsec以下-1002-1040-1078-1116-1154-1192-1230-1268-1306-1344-1382-1420-1458-1496-1534-1572-1610-1648-1686-1724-1724μsec 以上の 22 ステップ。

 たとえばパルス幅が1002μsec 以下ではオフ、 1003μsec 以上 1040μsec 以下のときは 50μsec ON/ 950μsec OFF、1344μsec 以上 1382μsec 以下の時に 500μsec ON/ 500μsec OFFで 50% デューティといった具合。

 上記の設定だとスロットル最スローから上に 3 コマ目で出力を開始し、スロットルフルハイの 1 コマ手前で 100% ONになる。

実験中のスピードコントローラでスロットルスティックをほぼ中央にしたときの波形。下が入力パルスで上が PWM 出力波形。デューティ比がほぼ 50% なっているのがわかる。

 とはいえ、あくまでもテストベンチ上での話。オートカットは考えていない。ところでオートカットは何のために付けるのか。通常これ以上モーターに電力を供給すると受信機およびサーボの電力が足らなくなるので、少し電池の容量が残っているうちにカットし、安全に着陸できるまでの電池残量を確保することだと考える。インドアで飛ばす場合を考えると、よほどでない限りオートカットが働いてから降ろすようなことはない。しかも最近は Li-Ion 電池を使うようになったので、いやになるほど長時間飛んでくれる。また電池電圧の安定している時間も長い。それらを総合するともしかしたらオートカットは必要ないかもしれない。事実、シュルツの 08be をリチウムイオン電池 1 セルで使うときはオートカットを外して長い間使っていた。

 万一に備えて PIC への入力信号が途絶えたときに、スロットル出力を OFF にする回路だけはプログラムに組み込んだ。(PIC16F84A によるスピードコントローラプログラム)


[Previous] [Next] [Index]
2002/07/13