発行済み 2026-04-15
あサーボモーターの信号線は、パルス幅変調 (PWM) と呼ばれる特定のタイプの電気信号によって制御されます。単純なオン/オフ制御とは異なり、信号線は繰り返しパルスを伝送し、各パルスの幅 (持続時間) が信号の状態を示します。サーボ正確にどの位置に移動するか。このガイドでは、正確なメカニズム、一般的な実際の例、実装するための実践的な手順について説明します。サーボ自分自身をコントロールしてください。
信号線はパルスの連続ストリームを受信します。標準的なホビー サーボの場合、制御パラメータは次のとおりです。
パルス繰り返し周期:20 ミリ秒 (ms) – 1 秒あたり 50 パルス。
パルス幅範囲:通常は 0.5 ミリ秒から 2.5 ミリ秒です。
位置マッピング:
0.5ms パルス → 0° (完全に反時計回り)
1.5msパルス→90°(ニュートラル/センター)
2.5msパルス → 180°(完全時計回り)
> 重要な事実:サーボは残りの 20ms 期間を無視します。パルス幅のみが重要です。
サーボ内部では、信号線が内蔵の制御回路に接続されています。この回路:
1. 入力パルス幅を測定します。
2. 内部ポテンショメータ (出力シャフトに取り付けられている) からの位置フィードバックと比較します。
3. フィードバックが指令されたパルス幅と一致するまで、DC モーターを正方向または逆方向に駆動します。
この閉ループ システムにより、出力シャフトがパルス幅に対応する正確な角度に移動し、その角度を保持することが保証されます。
一般的なマイクロコントローラーは 20ms ごとに 1.25ms パルスを生成します。これを受けてサーボが約45°回転します。パルスが 1.75ms に変化すると、サーボは即座に 135°に移動します。
一部のサーボは連続回転できるように変更されています。次に、パルス幅によって速度と方向が制御されます。
1.5ms→停止
>1.5ms → 逆方向に回転
標準のサーボ信号線を制御するには、次のプロセスに従います。
![]()
> 実践的なヒント:ほとんどのマイクロコントローラーには PWM ハードウェアが組み込まれています。パルス幅値を設定するだけで済みます。たとえば、16 ビット タイマーでは、1.5ms パルスは通常、(1.5/20) * 65535.
観察された症状:サーボはけいれんしますが、1 つの位置付近に留まります。
根本的な原因:電源電流が不十分です。一般的なサーボはアイドル時に 200 ~ 500mA、移動時に 1A 以上を消費します。
解決:別の 5 ~ 6 V バッテリまたは少なくとも 2A 定格の安定化電源を使用してください。マイクロコントローラの 5V ピンからサーボに電力を供給しないでください。
観察された症状:中間ポジションはありません。
根本的な原因:制御信号はクリーンな PWM ではありません。単純なオン/オフ信号かもしれません。
解決:オシロスコープで、パルス幅が 0.5ms から 2.5ms まで滑らかに変化することを確認します。よくあるプログラミングの間違い: PWM モードの設定を忘れます。
観察された症状:過度の熱と一定の可聴音。
根本的な原因:サーボが機械的にブロックされているか、指令された位置が物理的範囲外にあります。
解決:障害物がないか確認し、パルス幅がサーボの指定制限を超えていないことを確認してください。
信号線制御が機能していることを確認するには、次の方法を使用します。
オシロスコープ/ロジックアナライザ:信号線を直接測定します。 20 ミリ秒の期間を探し、高パルス幅が意図した値 (例: 1.5 ミリ秒 ±0.01 ミリ秒) と一致していることを確認します。
テストスイーププログラム:サーボに 0° から 180° まで 10° ずつステップするように命令します。スムーズでジッターのない動きを聞いてください。
手動フィードバックテスト:電源を切った状態でサーボホーンを手で回してください。自由に動くはずです。次に、1.5ms 信号を適用します。ホーンは手動の回転 (保持トルク) に抵抗する必要があります。
> 核心的な結論を改めて述べます:サーボ信号線は、電圧レベル、周波数、デジタル データではなく、反復パルス (PWM) の幅によってもっぱら制御されます。パルス幅をマスターすれば、サーボもマスターできます。
今日すぐに実行できるアクション:
1. 最初に測定します:サーボを接続する前に、オシロスコープを使用して、信号発生器が 20ms 周期で出力し、パルス幅は 0.5ms ~ 2.5ms の間で調整できることを確認してください。
2. 個別に電源を供給:必ず専用のサーボ電源(標準サーボの場合は4.8V~6.0V)を使用してください。信号グランド (GND) をコントローラのグランドに接続します。これは決して省略しないでください。
3. スイープ コードから始めます。パルス幅を 0.5 ミリ秒から 2.5 ミリ秒まで 0.1 ミリ秒単位で増加させ、ステップごとに 100 ミリ秒待機する単純なループを作成します。これにより、全範囲と直線性が検証されます。
4. 10‑100µFのコンデンサを追加しますサーボの電源ピンとグランド ピン (サーボに近い) 間に接続して、電圧スパイクを抑制し、ジッターを低減します。
最終チェック:サーボがブザー音を立てずに位置を保持し、任意の角度にスムーズに移動し、1.5ms を送信すると中心に戻る場合、信号線制御は正しく実装されています。
更新時間:2026-04-15