raspberry Pi でサーボモータ制御
サーボモーターは、回転軸の角度、速度が制御できる特殊なモーターのこと
ホビー用としては
ラジコンとかロボットで使われるRCサーボがある
RCサーボは3本のケーブルを持ち
2本は電源用
1本は制御信号用
となっている
サーボモータに送る制御信号で
モーターの角度を変化させることができるので
ロボットの手足の関節部分に使われる
制御信号の送りかたは
信号のパルス幅でサーボモータの角度が変化する
というもの
これはPWMが使われている
サーボモータの種類により異なるけど
20ms 単位の周期で
1~2ms 程度のパルス幅を与えると
そのパルス幅を与えた角度に移動する
Raspberry Pi のPWM回路は
数百KHz の周期でパルスを発生できるけど
サーボモータで発生する周期は
50Hz 程度のため
Raspberry Pi のPWM回路で生成するのは困難なので
サーボモータの制御に特価した ServiBlaster
もしくは
WiringPi の softServiWrute'( で制御する
ServoBlaster はサーボモータの制御に特化している
これは、仮想デバイスファイルにアクセスすることで
簡単にサーボモータの角度を制御できる
また
デーモンとして起動し
ソフトウェアでPWM信号を出力するため
複数のGPIOポートに接続したサーボモータを制御できる
ServoBlaster を起動すると
初期設定では
GPIO 4
GPIO 17
GPIO 18
GPIO 27
GPIO 22
GPIO 23
GPIO 24
GPIO 25
がサーボモータ用のポートになる
とりあえずまずは実験したほうがわかりやすいので
実際に ServoBlaster をインストール
インストールには git が必要なので
sudo apt-get install git-core
でインストール
次に
ServoBlaster のソースをダウンロード
git clone git://github.com/richardghirst/PiBits.git
ダウンロード完了したらコンパイル
cd PiBits/ServoBlaster/user/ make sudo make install
ServoBlaster をインストールすると
自動起動する
自動起動しないようにするには
sudo update-rc.d servoblaster remove
とする
ServoBaster を自動起動させたいのなら
sudo update-rc.d servoblaster defaults
とする
これでソフトのインストールはできたので次回配線