サーボモータを動かしてみる [Arduino]
サーボモータを動かしてみます。
Arduinoにはサーボモータを動かすライブラリがあるのですが、PWMの制御などむつかしそうなことを裏でやっているようなので自前で動かしてみたいと思います。
今回のターゲットは、一番ちいさくて、800円とお手頃な、
GWSサーボ PICO/STD/F(フタバ)
http://akizukidenshi.com/catalog/g/gM-01905/
です。
ちょっと調べてみると、サーボモータの制御は、、
・周期 (15~)20 msec のパルスを使用
・パルス幅 1~2 msec で角度を制御
するらしいです。
疑問に思っていたことを実験してみました。
・マイコンと電源を共有してもいいの?
→ ホビーユースならよさそう。
・パルスを流さないときはどうなるのか?
→ そのままじっとしていました。
→ 外力にも耐えています。
・力(トルク)は?
→ そこそこあるみたいです。
・定格4.8Vらしいけど、1.5Vの乾電池2個で動かないかなぁ?
→ 動作が遅く、トルクも落ちるけど、なんとか動いた。
ATtiny13A (int. 9.6MHz) で動かしたのがこちら。
再生できない場合、ダウンロードは🎥こちら
Arduinoにはサーボモータを動かすライブラリがあるのですが、PWMの制御などむつかしそうなことを裏でやっているようなので自前で動かしてみたいと思います。
今回のターゲットは、一番ちいさくて、800円とお手頃な、
GWSサーボ PICO/STD/F(フタバ)
http://akizukidenshi.com/catalog/g/gM-01905/
です。
ちょっと調べてみると、サーボモータの制御は、、
・周期 (15~)20 msec のパルスを使用
・パルス幅 1~2 msec で角度を制御
するらしいです。
疑問に思っていたことを実験してみました。
・マイコンと電源を共有してもいいの?
→ ホビーユースならよさそう。
・パルスを流さないときはどうなるのか?
→ そのままじっとしていました。
→ 外力にも耐えています。
・力(トルク)は?
→ そこそこあるみたいです。
・定格4.8Vらしいけど、1.5Vの乾電池2個で動かないかなぁ?
→ 動作が遅く、トルクも落ちるけど、なんとか動いた。
ATtiny13A (int. 9.6MHz) で動かしたのがこちら。
// サーボモータを動かす。
void setup() {
pinMode(2, OUTPUT);
}
void loop() {
unsigned int i;
for(i=0; i<50; i++) {
digitalWrite(2, HIGH); delayMicroseconds( 1000);
digitalWrite(2, LOW); delayMicroseconds(19000);
}
delay(1000);
for(i=0; i<20; i++) {
digitalWrite(2, HIGH); delayMicroseconds( 1500);
digitalWrite(2, LOW); delayMicroseconds(18500);
}
delay(1000);
for(i=0; i<20; i++) {
digitalWrite(2, HIGH); delayMicroseconds( 2000);
digitalWrite(2, LOW); delayMicroseconds(18000);
}
delay(1000);
}
再生できない場合、ダウンロードは🎥こちら
タグ:サーボ
2012-08-30 23:35
nice!(0)
コメント(0)
トラックバック(0)
コメント 0