発行済み 2026-03-15
あなたは次のような状況に遭遇したに違いありません。喜んで接続しました。サーボ90度回転させるプログラムを書きました。その結果、まったく動かないか、止まらずに揺れたり、さらには真横を向いたりしました。ロボットの関節やカメラヘッド、リモコンモデルなどでよく使われる90°の角度ですが、正確に制御するにはコツがあります。人の気質を理解している限り、心配しないでください。サーボ, 素直に90度回転させるのは実はとても簡単です。
ステアリング ギアの内部は、実際にはモーター、減速ギア、角度センサーを含む閉ループ制御システムです。その制御信号はパルス幅変調信号である PWM 波です。 PWM はスイッチと考えることができます。オンにするたびに、その時間の長さによって位置が決まります。サーボ。サーボの内部回路は、このパルス幅と現在の角度を比較します。間違っている場合は、一致するまでモーターを駆動して調整します。
ほとんどの標準サーボでは、パルス幅と角度の対応関係は規則的です。通常、1 ミリ秒 (ms) のパルスは 0° に対応し、1.5ms は 90° に対応し、2.5ms は 180° に対応します。もちろん、これは大まかな範囲であり、メーカーごとにサーボが若干異なる場合があります。重要なのは、サーボを90°で停止させるには、20msごとに1.5ms幅のハイレベルパルスを送る必要があるということです。
理論上、90°は 1.5ms のパルス幅に相当しますが、実際に使用すると、サーボによっては 1.48ms の精度を持つものもあれば、1.52ms を必要とするものもあります。これはサーボ自体の精度とコントローラーのタイマーの精度に関係します。したがって、新しいサーボを入手した場合は、正確な動作を実現するために、オシロスコープを使用するか、プログラムでサーボを微調整して真の 90° 点を見つけるのが最善です。
信号の特定のパラメータは 50Hz の周波数、つまり 20ms の周期です。このサイクルでは、ハイレベルが 1.5ms 継続し、残りの 18.5ms がローレベルになります。この時間を制御するには、比較的正確なタイミング機能を備えたマイクロコントローラーが必要です。 UNO や STM32 などの主流の開発ボードを使用している場合、そのタイマーは要件を完全に満たすことができるため、安心して使用できます。
これを使用している場合は、組み込みの Servo ライブラリを使用するのが最も簡単です。ヘッダー ファイルをインクルードし、サーボ オブジェクトを作成し、setup() で () を使用してピンを指定し、プログラムに .write(90) を記述するだけです。ライブラリ関数は、基本的な詳細を気にすることなく、1.5ms パルスを自動的に生成します。アイデアを素早く検証する場合に特に適しています。
制御原理をより深く理解したい場合は、タイマーを使用して自分で PWM 信号を生成することもできます。たとえば、これを使用する場合は、比較レジスタを設定し、割り込みでピンのレベルを反転します。この利点は、自由度が高く、パルス幅を正確に制御できることです。これは、サーボ制御の基礎となるロジックを理解するのに非常に役立ちます。ただし、どの方法を使用する場合でも、電源が安定している必要があります。これが基本です。
振動は、初心者が遭遇する最も一般的な頭痛の問題です。サーボが90度前後に振れて止まりません。この原因の 80% は、電源不足または信号の干渉です。サーボ起動時、特に負荷時は非常に大きな電流が流れます。電源供給が追いつかず電圧が変動すると、サーボは精度を失い振動を始めます。ひどい場合には制御基板が焼損する可能性もあります。
この解決策は実際には複雑ではありません。最初にサーボに個別に電力を供給し、マイクロコントローラーと電力を競合しないようにします。主電源からサーボに電力を供給するには、5V/2A 以上の電圧安定化モジュールを使用します。次に、制御信号線はできるだけ短くする必要があります。ラインが長すぎる場合は、プルダウン抵抗を追加できます。ソフトウェアにより、サーボの応答速度が若干遅くなる場合もあります。たとえば、制御信号の更新頻度を減らすと、システムをより安定させることができます。
6 脚ロボットやロボット アームの作成など、複数のサーボを同時に制御する必要がある場合、マイコンのリソースが十分ではない場合があります。この時、サーボ制御基板が必要となります。サーボに奉仕する小さな執事に相当します。複数の安定したPWM信号を同時に出力できるため、メイン制御チップの負担が大幅に軽減されます。
制御ボードを選択する際に考慮すべき主なポイントは次のとおりです。チャネル数はニーズに十分である必要があり、一般的には 16 チャネルの方が一般的です。使用するサーボ電圧をサポートする必要があります。多くの制御ボードには、サーボに直接電力を供給できる BEC (電圧安定化回路) も付属しています。通信インターフェースは、わずか 2 本のワイヤで 16 個のサーボを制御できる I2C インターフェースなど、便利なものである必要があります。配線もシンプルでとても使いやすいです。
ハンドルは小さく見えますが、食欲はかなり大きいです。ジンバル上のカメラなど、90 度の回転に負荷が伴う場合、瞬間電流は簡単に 1A を超える可能性があります。電源の電力が不足すると電圧がプルダウンされ、最悪回転不能になったり、最悪の場合フリーズしてしまう可能性があります。したがって、電源設計は不注意にならないでください。これがステアリングギヤの安定動作の要です。
より良いアプローチは、合計入力として 7.5V ~ 12V DC 電源を使用し、高電流電圧安定化モジュールを通じてそれを 5V または 6V に下げて、特にサーボに電力を供給することです。マイクロコントローラーとセンサーは別の電圧安定化モジュールから電力を供給され、2 つの電源のアース線は一緒に接続されています。これにより、ステアリングギアに十分なパワーを確保できるだけでなく、制御回路の正常な動作を妨げることもなく一石二鳥です。
ステアリング ギアのプロジェクトに取り組んでいたとき、正確に 90 度に回転させるためにどのような落とし穴がありましたか?またどうやって這い上がったんですか?誰もが一緒に回り道を避けることができるよう、コメント欄であなたの経験や学んだ教訓を共有してください。この記事が役に立った場合は、「いいね!」を忘れずに、周りでサーボをプレイしている友達に転送してください。あなたのサポートが私が共有する最大の動機です!
更新時間:2026-03-15