発行済み 2026-04-05
このガイドでは、標準を管理する方法を正確に説明します。サーボシンプルなロボット アームからカメラのパン機構まで、DIY プロジェクトで正確な回転動作を生み出すモーターです。配線、信号要件、実践的なコーディング例、安全上のヒントを学びます。これらはすべて、愛好家の作業台にある一般的なコンポーネントを使用しています。
あサーボモーターは、特定の角度位置まで回転し、外力に対してその位置を保持する内蔵型デバイスです。継続的に回転する普通の DC モーターとは異なり、サーボは自分がどこにあるかを正確に「認識」し、コマンドに応じた量だけ (通常は 0 ~ 180 度の範囲で) 動きます。
愛好家がサーボで遊ぶのが好きな理由:
1 本の信号線だけで簡単に制御できます。
サイズの割に高いトルクを提供します。
ロボット グリッパー、おもちゃの車のステアリング メカニズム、傾斜するソーラー パネル、またはなびく旗など、正確に動くものを構築できます。
> 現実世界のケース: 趣味の人が、単純な「ドラムを叩くロボット」を作りたいと考えていました。彼らは 2 つのサーボに 2 本の割り箸を取り付けました。サーボを異なる速度で前後に動かすことで、箸が空の箱をたたきました。楽しくてやりがいのあるプロジェクトは、ある午後で完了しました。
標準 5V または 6V サーボ モーター 1 台 (一般的に「マイクロ サーボ」または「標準サーボ」と呼ばれます)
マイクロコントローラーボード(PWM信号を出力できる任意のボード)
ジャンパー線(ダイレクトプラグ用メス-メス)
5V 電源 (バッテリー パックまたは小型サーボ用のマイクロコントローラーの 5V ピンを使用できます)
テスト用の小さな負荷: ペーパークリップ、プラスチックレバー、または軽量のボール紙アーム
すべての標準サーボには 3 本のワイヤがあります。
ブラウンまたはブラック→ グランド(GND)
赤→ 電源(5V)
オレンジまたはイエロー→信号(PWM入力)
接続手順:
1. サーボの茶色のワイヤをマイクロコントローラーの GND ピンに接続します。
2. 赤いワイヤを 5V 出力ピンに接続します。
3. オレンジ/黄色のワイヤを選択したデジタル ピン (ピン 9 など) に接続します。
> よくあるケース: 多くの初心者は信号線を正しく接続しますが、サーボとマイクロコントローラーの間で同じグランドを共有することを忘れます。共通のグランドがないと、信号が不安定になり、サーボがジッターするか、何も動作しなくなります。サーボのグランドとマイコンのグランドが接続されていることを常に確認してください。
サーボは単純な HIGH/LOW コマンドを読み取りません。それは、パルスの幅20 ミリ秒 (50 Hz) ごとに繰り返されます。これはパルス幅変調 (PWM) と呼ばれます。
仕組み:20 ミリ秒ごとに、短い HIGH パルスを送信します。その HIGH パルスの長さによって、サーボがどこに行くべきかが決まります。残り時間 (20 ms からパルス幅を引いた値) は LOW です。
> 例え: 20 秒ごとに時を刻む時計を想像してください。カチカチ音が鳴ったら、ボタンを一定のミリ秒間押し続けます。押し続ける時間が長ければ長いほど、サーボはより遠くまで回転します。次に、次のティックまで待ちます。
以下は、ほぼすべてのマイクロコントローラーで動作する移植可能なコード スケッチです。独自のライブラリを使用せずに、必要なパルスを直接生成します。
// 信号ピンを定義 int servoPin = 9; void setup() { pinMode(servoPin, OUTPUT); // ニュートラル位置から開始 (1.5ms パルス) } void loop() { // 0 度に移動 (0.5ms パルス) sendPulse(0.5);遅延(1000); // 1 秒間保持 // 90 度に移動 (1.5ms パルス) sendPulse(1.5);遅延(1000); // 180 度に移動 (2.5ms パルス) sendPulse(2.5);遅延(1000); } // 正確なパルスを 1 つ生成する関数 void sendPulse(floatpulseWidthMs) {digitalWrite(servoPin, HIGH);遅延マイクロ秒(パルス幅Ms * 1000); // ミリ秒をマイクロ秒に変換しますdigitalWrite(servoPin, LOW);遅延(20 - パルス幅Ms); // 残り 20ms の間待機します }
表示される内容:サーボ軸は0°まで移動、1秒停止、90°まで移動、停止、180°まで移動を繰り返します。
> ヒント: サーボが振動したり異音を発する場合は、パルスのタイミングがわずかにずれている可能性があります。を調整します。遅延マイクロ秒静かで安定するまで、値を±50μsずつ変化させます。
例: 単純なボール紙グリッパーの構築
2 つのサーボを用意し、向かい合って取り付けます。
湾曲したボール紙片を各サーボ ホーンに接着します。
ボタンを押すと両方のサーボが内側 (グリッパーを閉じる) に回転し、別のボタンを押すと外側 (グリッパーが開く) に回転するコードを作成します。
結果: 綿球やピンポン球を拾うことができる、動くロボットの爪。
サーボシャフトに無理な力を加えないでください機械的限界 (通常は 0° ~ 180°) を超えます。内部のプラスチックギアが剥がれる可能性があります。
定格電圧を超えないようにしてください– マイクロサーボの場合は 5V、標準サーボの場合は 6V。電圧が高くなると制御回路が焼損します。
ホーンを調整する前に電源を切ってください– プラスチックホーンの位置を変更する必要がある場合は、最初にサーボのプラグを外してください。信号が突然変化すると、ガクガクして指を傷つける可能性があります。
最初に軽い負荷でテストしてください– 重いものを取り付ける前に、ペーパーポインターを使用してください。
ステップ 1 (今日):サーボ 1 台、マイクロコントローラー、およびジャンパー ワイヤー 3 本を集めます。セクション 3 の配線図に従います。セクション 5 からコードをアップロードします。サーボが 0° から 180° まで動くことを確認します。
ステップ 2 (明日):ハードコードされた角度をスムーズなスイープに置き換えます。パルス幅を 0.5ms から 2.5ms まで小さなステップで (たとえば、10µs ずつ) 徐々に増加させてから、元に戻します。
ステップ 3 (今週末):ボタンや光センサーなどの単純な入力を追加し、サーボをその入力に応答させます。たとえば、ボタンを放すとサーボが 0° に回転し、ボタンを押すと 90° に回転します。
ステップ 4 (来週):物理的な仕組みを構築します。サーボホーンにボール紙のアームを取り付けて、波打ったり尖らせたりします。次に、2 つのサーボを組み合わせてパンチルト システムを作成します。
標準的なサーボを制御するためにマスターしなければならない唯一のことは、20ms ごとに 0.5ms ~ 2.5ms の正確なパルスを生成することです。サーボ制御のすべての「魔法」は、その 1 つのタイミング ルールに帰着します。任意のマイクロコントローラー、任意のプログラミング言語、さらには 555 タイマー チップを使用して、これらのパルスを書き込んだり生成したりできると、サーボに希望どおりの動作をさせることができます。
最終的な行動アドバイス:スイープの例から始めます。次に、すぐに物理オブジェクト (紙のポインター) を追加して、角度の変化を確認します。成功とはすべてを理解することではなく、サーボがあなたの命令に従って動くのを見ることです。今すぐ配線してください。
更新時間:2026-04-05