PIC24FJで4足ロボットの製作 [PIC]
Amazonで安く売っていたマイクロサーボ SG90 の買い置きがあったので、PIC24FJ64GA を使ってサーボ制御実験をしてみようと思います。
単にサーボを動かすだけではつまらないので4足ロボットを目標にします。
[ 前へ ] 連載記事 [ 次へ ]
単にサーボを動かすだけではつまらないので4足ロボットを目標にします。
- サーボ制御
今回は1足につき3個のサーボを使う予定なので全部で12個のサーボを制御できるようにします。
サーボの制御は PWM 方式で周期が 10 ~ 20 ms でパルス幅が 1.5 ms ± 0.8 ms 程度なので今回は
- 周期 : 20 ms
- パルス幅 : 1.5 ms ± 0.8 ms
PIC24FJ64GA には Timer が5個もあるので Timer1 ~ Timer3 を使ってサーボ制御用の PWM 信号を生成します。
Timer1 で 2.5 ms 間隔で割込みを発生させ、割込み処理で 2ch 分の PWM 信号を high レベルにし、Timer2 と Timer3 に PWM周期分のタイマー値を設定後 Timwe2 と timer3 を enable にします。
Timer2 と Timer3 の割込みが発生した際に対応するチャンネルの PWM 信号を low にしてから自身のタイマーを disable にします。
PWM 周期は 20ms なので Timer1 は1周期当り8回の割込みが発生し、各割込みで 2ch 分の PWM 信号を制御します。合計で 16ch(=2ch x 8)の制御が可能になります。
下図では
- ①、④、⑦ Timer1 割込み
- ②、⑤ Timer2 割込み
- ③、⑥ Timer3 割込み
PWM制御 - 周期 : 20 ms
- サーボの連結
サーボ連結用の部品は3Dプリンタで作りました。
まずはデザイン的な考慮はせずに連結部品を検討しました。
サーボの回転軸を可動状態で固定するためにサーボの裏側に回転軸と同様な突起をつけて固定しています。
サーボ連結部品 サーボ連結後
[ 前へ ] 連載記事 [ 次へ ]
コメント 0