サーボモーターを動かす

サーボモーターの原理

サーボモーターを動かす


mbedではp21~p26までがPWM出力できるピンになっています。
ここでは、p21を使用してみます。

プチロボットで用いている小型のサーボモーターを動かしてみます。
パソコンからのUSBポートから取れる最大電流は500mAが仕様ですので、サーボモーターは正しく動かない可能性があります。従って、外部から5Vの電源をつなげるようにしました。サーボからのコネクタの赤が5V、黒がGND、信号が白でp21につなげます。



プログラムは次のようになります。
一般的にサーボモーターに与えるパルス幅はそのサーボモーター固有なので、下記のプログラムがそのままつ使えることはありません。数字を試行錯誤で決めてください。
サーボモーターを動かす
#include "mbed.h"

PwmOut pwm(p21);

int main() {
    int start=500, end=2200;
    while(1){
        for(int p = start; p < end; p += 20) {
            pwm.pulsewidth_us(p);
            wait_ms(40);
        }
        for(int p = end; p >=start; p -= 20) {
             pwm.pulsewidth_us(p);
            wait_ms(40);
        }
    }
}
 1 mbed用のヘッダ
 2 
 3 パルス幅変調の出力はp21を用いる
 4 
 5 
 6 pwmのhighの部分の時間を500μ秒から
 7 2200μ秒までスキャンさせる
 8 左回り
 9 パルス幅を設定する
10 40ミリ秒待つ
11 
12 右回り
13 パルス幅を設定する
14 40ミリ秒待つ
15 
16 
17 


プチロボのサーボモータを連続回転に改造する

改造する

GWSのPICO STDのサーボモータを連続回転に改造する

改造する
簡単なライントレースロボットを作る