raspberry Pi でサーボモータ制御

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 

とする

これでソフトのインストールはできたので次回配線

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です