●RCサーボ制御の基本
RCサーボの制御信号線(通常は白)には右図のようなパルスが送られてきます。このパルス幅によってサーボの角度がコントロールされています。一般のRCサーボは1.5msec前後が中立位置となりこのパルス幅を変えることでサーボ角が変化します。パルス周期は通常10msec以上で大きすぎると反応が遅くなります。
※MYUUSB-1A基板は8個、MYUROBO-1A基板の場合は6個のサーボをコントロールできます。
●2.54mmピンヘッダ(3P)の取り付け
RCサーボを使うためにはサーボ用のコネクタをに半田付けしなければなりません。※MYUUSB-1A基板(S1-S8)、MYUROBO-1A基板(S1-S6)
コネクタは電子部品店などで売られている2.54mmピッチのピンヘッダ(3P)を使います。これにRCサーボのコネクタを接続しますが必ず黒コード(−側)を外側にします。
※モーターとRCサーボの制御は同じ出力ポートを使っているので同時使用には制限があります。
MYUUSB-1A基板の場合
1、4モーター制御の場合はサーボ制御は不可
2、M1モーターとS1・S2・S3・S4・S5・S6サーボ制御は可能
3、M1・M2モーターとS1・S2・S3・S4サーボ制御は可能
4、M1・M2・M3モーターとS1・S2サーボ制御は可能
5、8サーボ制御の場合はモーター制御は不可
|
MYUROBO-1A基板の場合
1、3モーター制御の場合はサーボ制御は不可
2、M1モーターとS1・S2・S3・S4サーボは可能
3、M1・M2モーターとS1・S2サーボ制御は可能
4、6サーボ制御の場合はモーター制御は不可
|
●RCサーボの制御
サーボ命令は、第1引数の値mでサーボ角を、第2引数の値nでサーボ番号を指定します。
※サーボ角の中立位置は、MYUUSB-1A基板の場合は 140、MYURUBU-1A基板の場合は 185 前後となります。
※S1に接続した場合、サーボ番号は 1 となります。
※サーボは電圧3V以下では動作しません。3.5V以上での利用をお勧めします。
※サーボ命令を実行すると20msecごとにタイマーがクリアされます。
サーボ,m,n ※転送ソフトの命令
Servo m,n ※MYU BASIC の命令
m n サーボ ※ドリトルの命令
使用例(転送ソフト) ※サーボ命令と時間設定可能な命令と組み合わせて使います。
サーボ,150,1 //S1のサーボ角を150
サーボ,180,2 //S2のサーボ角を180
前進,10 //前進1秒
サーボ,120,1 //S1のサーボ角を120
サーボ,150,2 //S2のサーボ角を150
停止,10 //停止1秒
●アナログ入力を使ったサーボ制御
右図のように10Kのボリューム(B型)をアナログポート(MYUUSB-1A基板はAN10、MYUROBO-1A基板はIn4)に接続すると簡単なプログラムでサーボをコントロールできます。ボリュームを回すとそれに比例してサーボが動きます。
//ボリュームコントロール(転送ソフト)
繰り返す{
AN,10 //AN10のアナログ値をAレジスタにセット、MYUROBO-1A基板の場合は、AN,4
サーボ,A,1 //Aレジスタの値をS1のサーボ角にセット
}
//ボリュームコントロール(MYU BASIC)
Do
Servo AN(10),1 //AN10のアナログ値をS1のサーボ角にセット、MYUROBO-1A基板はAN(4)
Loop
●パソコンからサーボのリモート操作
パソコンと基板を転送ケーブルで接続、計測/R実行ボタンを押すと右のダイヤログが現れサーボをリモコン操作できます。
●ゆっくり連続的にサーボを動かす
Aレジスタや変数を使いサーボをゆっくり動かします。
//(転送ソフト)
A,100 //Aレジスターの値を100にする
繰り返す(A < 200){ //Aレジスタが200以下の間、{・・}内を繰り返す
サーボ,A,1 //Aレジスタの値をS1のサーボ角にセット
待つ,1 //0.1秒の待ち
ADD,1 //Aレジスタに1加える
}
//(MYU BASIC)
Byte S //変数Sを宣言
For S=100 To 199 //Sの値を100から199まで1づつ増やす
Servo S,1 //Sの値をS1のサーボ角にセット
Wait 1 //0.1秒の待ち
Next
●3個のRCサーボを使った2足歩行ロボット工作例

直立 → 片足立(重心移動) → 前進(足首回転)
★動画(888KB)はこちら
|