テスト用スケッチでサーボテスト
早速、サーボテスト用のスケッチを作りました。
一応、固定値は、最初に定義する方式で組んでいます。
経験上、美しいプログラムは、メンテもしやすいのです。
/*
目的:サーボの角度を90度から50度へ単純に変更を繰り返す
2017/08/22
*/
#include<Servo.h>
Servo servo1;
int pos;
int start_pos = 90; //開始位置
int end_pos = 50; //終了位置
int pin_no = 9; //出力ピン指定
int dealy_cnt = 80; //スピード調整
void setup() {
// put your setup code here, to run once:
servo1.attach(pin_no);
servo1.write(start_pos);
}
void loop() {
// put your main code here, to run repeatedly:
int angle_1 = servo1.read();
delay(1000); //dummy
if(angle_1==start_pos)
for(pos = start_pos; pos>=end_pos; pos-=1)
{
servo1.write(pos);
delay(dealy_cnt);
}
delay(1000); //dummy
if(angle_1==end_pos)
for(pos = end_pos; pos<=start_pos; pos+=1)
{
servo1.write(pos);
delay(dealy_cnt);
}
delay(1000); //dummy
}
サーボを接続して、動くことは確認できました。
しかし、何点か、戸惑う部分も。
まずは、サーボへの電源供給。400円のサーボは、Arduino本体から電源供給しても動いたのですが、
500円のサーボは、音はするけど動かない。
結局、5VをACアダプタから供給したところ、動きました。
Arduino本体の5Vでは、容量不足なのかもしれません。
それと、サーボにACアダプタを接続したら、いきなりサーボがブルブルと暴れました。
これは、アースをArduino本体に接続したら、解決しました。
ブログ村に参加しています。
下のバナーのクリックをお願いします。
« スローアクションの可能性(予告編) | トップページ | JAMレポート »
「電子工作(Arduino)」カテゴリの記事
- Arduinoジャンパワイヤオーガナイザーを印刷(2026.05.26)
- Arduinoの在庫確認(2026.05.22)
- Arduino ケースの作成(2026.05.21)
- フォトリフレクタでの進行方向判定 その2(2025.09.10)
- フォトリフレクタでの進行方向判定(2025.09.09)


こんばんは。
経験者は語るです。
①サーボ駆動電源
サーボ動作時の消費電流が公開されていません。
400円のSG-90は40mAMaxのArduino出力ピンで動きますがスペック越えの可能性が高く、これも別電源5V駆動する必要があります、Arduinoを壊す可能性があります。
②システム電源一本化
サーボ電源ONして制御信号入力が無いとサーボが暴れます、最悪ポイント破損します。
逆にサーボ電源OFFで制御信号が入力される状態も避けるべきです。
従ってシステム電源一体化、具体的には12Vからシリーズレギュレータ(最低200-300mA)で5Vを作るのが良いと思います。
③制御線プルダウン
ボードの組み方。配線法にもよりますが、サーボ制御線にデジタルノイズが乗り動作不安定になります。 33-100kΩでプルダウンする事をお薦めします。
④電源投入時過渡応答
スケッチ設計にもよりますが、サーボから見て、電源ONと制御信号受信のタイムラグでサーボ暴れが発生する事があります。 サーボ5V電源に遅延回路追加で解消します。
以上oomoriさんなら文章情報だけで何とかされるだろうと差し出口をしました。
ではまた。
投稿: lofthonsen | 2017年8月23日 (水) 23時48分
lofthonsen さん、コメント頂き感謝いたします。
①サーボ駆動電源
サーボ動作時の消費電流がメーカーでも公開されていませんね。
やはり、別電源が必要なようですね。
②システム電源一本化
以前、Arduinoで、PWMコントローラーを試作した時に、12Vから5Vが必要だったので、
三端子レギュレータは、数種類集めています。多分、これが使えるかな。
③制御線プルダウン
この辺りの原理がよく理解出来ていませんが、参考にさせていただき、プルダウン抵抗を追加します。
④電源投入時過渡応答
遅延回路が必要な事は理解できましたが、どんなものなのか想像できません。
少しググッた限りでは、コンデンサを挿入するのかな?という程度しかわかりませんでした。
もう少しヒントをお願いします。
投稿: oomori | 2017年8月25日 (金) 12時51分
こんばんは。
さすがにポイントは理解されてますね。
①サーボ電流
高トルク品が唸っていたのは、Arduinoから無理やり電流を引き出し、壊そうとして壊しきれなかった状態です。 私の調査では愛機を2度墜落させた飛行機マニアの測定結果が200-300mAでした。
それより小型のマイクロサーボでも100mA 前後と推定しています。
③プルダウン
Arduino出力もサーボ制御入力もハイインピーダンスで直流電位が決まらない電気的ブラブラ状態です。
ここにクロックノイズが乗ると容易に誤動作します。 33kΩ~330kΩをGNDに入れて置くとピタリと収まります。
④電源過渡応答によるサーボ暴れ
口頭説明難しいです、回路図できてます、ご入用なら添付メアドにご連絡ください。
ではまた。
投稿: lofthonsen | 2017年8月25日 (金) 22時13分