発行済み 2026-04-20
リモコンで制御される車がどのように操縦されるのか、あるいはロボット アームがどのように正確に動くのか疑問に思ったことがあるなら、その答えはパルス幅変調 (PWM) と呼ばれるシンプルだが強力な技術にあります。この記事では、PWM による制御方法の基本原理について説明します。サーボモーター – 多くの愛好家やエンジニアが抱く質問です。本質的に、PWM はサーボモーターに送信される電気パルスの幅を 20 ミリ秒ごとに変更することでモーターを制御します。のサーボこのパルス幅を読み取り、出力軸を特定の角度(0°、90°、180°など)に回転させます。複雑なデジタル信号やブランド固有のプロトコルは必要ありません。「オン」時間が変化するパルスを繰り返すだけです。
パルス幅変調 (PWM) は、電気信号を個別のオン/オフ パルスに切り刻み、電気信号によって供給される平均電力を低減する方法です。安定した DC 電圧の代わりに、一連の方形波が得られます。重要なパラメータはデューティサイクル– 固定期間内で信号が HIGH (オン) である時間の割合。
サーボ制御の場合、期間は、ほとんどの場合 20 ミリ秒 (ms)、つまり 1 秒あたり 50 パルス (50 Hz) です。各 20 ms 期間内で、信号は短い「パルス幅」の間 HIGH になり、残りの時間の間 LOW になります。サーボの内部電子機器はその正確な HIGH 時間を測定し、それを目標位置と比較します。
基本原理は、パルス幅 (「オン」時間) とサーボの出力角度の間の線形マッピングです。標準的なホビー サーボの一般に受け入れられている値は次のとおりです (ロボット アーム、RC 飛行機、パンチルト カメラなどの日常的なプロジェクトで一般的です)。
0.5 ms パルス (5% デューティ サイクル)→ シャフトが回転します0度(反時計回りに完全に回す、通常の限界)
1.5 ms パルス (7.5% デューティ サイクル)→ シャフトが回転します90度(センターポジション)
2.5 ms パルス (12.5% デューティ サイクル)→ シャフトが回転します180度(時計回りに完全に回す、通常の限界値)
0.5 ms ~ 2.5 ms のパルス幅では、比例した角度が生成されます。たとえば、1.0 ms パルスは約 45°、2.0 ms パルスは約 135° を与えます。
小さなボールを拾うロボット グリッパーを構築していると想像してください。標準サーボをグリッパーのジョーに取り付けます。 20 ms ごとに 1.5 ms パルスを送信すると、サーボは 90° に移動し、ジョーを半分開いた状態に保ちます。ジョーを閉じるには、0.5 ミリ秒のパルスを送信します。サーボは 0° まで回転し、グリッパーが完全に閉じます。解放するには、2.5 ミリ秒のパルスを送信します。サーボは 180° になり、ジョーが完全に開きます。この正確で再現性のある制御が、PWM が業界標準である理由です。
標準的なサーボ モーターの内部には、DC モーター、ポテンショメータ (位置センサー)、ギア トレイン、および小型の制御回路という 4 つの主要コンポーネントがあります。 PWM 信号は制御回路に入り、20 ミリ秒ごとに 3 つのステップが実行されます。
1. 測定受信パルス幅 (例: 1.5 ミリ秒)。
2. 読むポテンショメータからの現在位置 (例: 現在 70°)。
3. 比較する– 目的の位置 (パルス幅から) が現在の位置よりも大きい場合、回路は DC モーターに電力を供給して正転させます。小さい場合は逆回転します。歯車列は速度を低下させ、トルクを増加させて出力シャフトを動かします。
![]()
4. 停止ポテンショメータの電圧がパルス幅に相当する電圧と一致するとき。
この閉ループ フィードバックは継続的に発生し、外力 (サーボのトルク定格まで) に対しても位置を保持します。外部エンコーダやコントローラは必要ありません。サーボの内部電子機器がすべての作業を行います。
間違い 1: 間違ったピリオドを使用する。初心者の中には 20 ミリ秒以外の周期 (10 ミリ秒や 50 ミリ秒など) を使用する人もいます。一部のデジタル サーボはより広い範囲に対応しますが、標準のアナログ サーボではジッターや過熱が発生します。常に 20 ms (50 Hz) から開始します。
間違い 2: 0.5 ~ 2.5 ミリ秒の範囲外でパルスを送信します。0.5 ms より短いパルスではサーボが動かない可能性があり、2.5 ms より長いパルスではサーボが機械的な停止部に衝突して、ギアが剥がれる可能性があります。安全な範囲内に留まってください。
間違い 3: パルスの更新が遅すぎるか不規則です。サーボは 20 ミリ秒ごとに新しいパルスを期待します。数秒間停止すると、サーボの保持トルクが失われる可能性があります。安定した 50 Hz のリフレッシュ レートを維持します。
PWM と角度のマッピングは事実上の標準 (趣味のサーボ メーカーによって数十年前に確立された) であるため、学校のプロジェクト用に低コストのサーボを購入する場合でも、ロボット用の高トルク サーボを購入する場合でも、遭遇するすべての汎用サーボで機能します。独自のソフトウェア、ドライバー、ブランド固有のハードウェアは必要ありません。 20 ms ごとに 0.5 ~ 2.5 ms の正確なパルスを生成できるマイクロコントローラー (または単純な 555 タイマー回路でも) であれば、標準的なサーボを制御できます。
1. 既知の良好な設定でテストします。サーボを接続する前に、オシロスコープまたはロジック アナライザを使用して PWM 信号のパルス幅と周期を確認してください。これにより、偶発的な損傷が防止されます。
2. 中心位置から開始します。リンケージを破壊する可能性のある突然のジャンプを避けるために、サーボは常に 1.5 ms (90°) で初期化してください。
3. 位置を変更するたびにわずかな遅延を追加します。0° から 180° に移動する場合は、サーボが物理的に移動できるように、20 ~ 50 ms の遅延を伴って増分パルス幅 (例: 0.5 ms → 0.7 ms → 0.9 ms …) を送信します。突然の大きなジャンプはモーターを停止させる可能性があります。
4. 専用の電源を使用します。サーボは移動時に 200 ~ 500 mA 以上を消費する可能性があります。マイクロコントローラーの 5V ピンから直接電力を供給しないでください。別個の 5V ~ 6V バッテリ、または共通アースを備えた安定化電源を使用してください。
5. サーボの実際の限界を測定します。すべてのサーボが 0.5 ms で正確に 0°、または 2.5 ms で 180° に達するわけではありません。簡単なテスト プログラムを使用して 0.4 ms から 2.6 ms までスイープし、サーボが物理的に停止する場所を記録します。次に、それに応じてソフトウェア制限を設定します。
PWM でサーボ モーターを制御するには、次のことだけを覚えておく必要があります。20 ms の周期、0.5 ms ~ 2.5 ms のパルス幅、0 ~ 180 度までのダイレクト リニア マッピング。残りの部分はサーボが読み取り、比較し、位置を保持します。この単純な原理は、おもちゃの車のステアリングから産業用オートメーション アームに至るまで、無数の現実世界のデバイスに動力を与えています。 「なぜ」と「どのように」を理解したので、自信を持って自分のプロジェクトに PWM サーボ制御を実装できるようになります。基本的なテストから始めます。20 ミリ秒ごとに 1.5 ミリ秒のパルスを生成し、サーボが中心に移動するのを確認してから、パルスを 2.0 ミリ秒に変更します。シャフトが回転するのがわかります。それが行動の基本原則です。
更新時間:2026-04-20