ワンチップマイクロコンピュータを使った実験装置
第4章 マイクロコンピュータを使った実験装置例

4.14 R/Cサーボモータを動かしてみよう(AVR)


はじめに

 AVRを使ってR/Cサーボモータを動かすことは,それほど難しいことではありません。4.3節で説明したように,R/Cサーボモータにパルスを出力すればいいのです。以下,簡単な回路を作ってみましょう。



AVR回路

 図1にR/Cサーボモータを動かすためのAVR回路を示しています。走行補助装置の構造を示します。第2章で説明した基本回路のLEDの代わりにサーボモータの信号線をつないでいます。
 図中の発光ダイオードLED1は電源の確認用,LED2は動作確認用(出力パルス)です。取りつけなくても問題ありません。


図1 AVR回路
(上の画像をクリックすると大きい画像が表示されます。)


図2 AVR回路の外観(表面)


図3 AVR回路の外観(裏面)



サンプルプログラム

 以上のAVR回路に書き込んだプログラム(ATMEL社AVR用BASICコンパイラ)を紹介します。基本的には,入力ピンPD0〜PD1の信号(ON/OFF)を読みとり,R/Cサーボモータを動かすためのパルスを連続的に変化させながらピンPB1に出力します。

 1行〜16行は,REM文(プログラム上,意味のない文)です。17行〜18行はピンの入出力の設定をしています。19行〜26行は使用する変数の定義をしています。このプログラムでは全て整数(Integer)で使用しています。28行〜29行は,R/Cサーボモータへ送るパルス信号の最小時間と最大時間(us)に相当します。すなわち,どちらか一方を変化させるとサーボモータの運動が一方に傾き,両時間を狭めれば振幅が小さくなります。

 32行〜66行は,LOOP文(この間を永遠に繰り返す)です。33行〜36行で入力ピンの状況を読み取り,変数N(周波数に相当)を決定します。39行〜51行では正回転,52行〜64行では逆回転の動作をします。



おわりに

 以上のように,AVRを使って簡単にR/Cサーボモータを動かすことができます。図4はこれと同じ回路を使って,簡単な魚形推進模型ボートを製作した例です。工夫次第でもっと色々なものを作ることができると思います。


図4 魚形推進模型ボート
(平成14年度東京電機大学研修生,青木君の作品)


[ Microcomputer ] [ Hirata HOME ] [ Power and Energy Engineering Division ] [ NMRI HOME ]
Contact khirata@nmri.go.jp