> 業界の洞察 >サーボ
テクニカルサポート

製品サポート

サーボモーターをプログラムする方法 サーボモーターをプログラムする方法?ジッターを解決し、角度を簡単に制御するための 3 つのステップ

発行済み 2026-03-25

こんな状況に遭遇したことはありませんか?サーボ小さな発明に使用したいと思っていましたが、接続しても動かないか、狂ったように振動しますか?心配しないでください、それはそうではありませんサーボが壊れている場合は、それと「通信」するための正しい方法を見つけていない可能性があります。今日は、プログラムの書き方について話します。サーボあなたの指示に従い、好きなだけ回転させることができます。

ステアリングギアの振動の根本原因は何ですか?

多くの友人は、開発を開始してすぐにサーボの 3 つのワイヤ (電源、グランド、信号) を開発ボードに何気なく接続しましたが、サーボが「ピクピク」しているのを見て自分の人生を疑い始めました。実際、サーボの振動の根本的な原因は、ほとんどの場合、電源不足です。サーボ内部には小型のモーターが内蔵されており、起動時の瞬間電流が非常に大きくなります。電源 (ボード上の 5V ピンなど) がこの瞬間電流を供給できない場合、電圧がプルダウンされ、サーボ内のチップ ロジックが混乱します。

もう 1 つの一般的な理由は、信号ケーブルが正しく接続されていないか、プログラムによって送信された PWM 信号周波数が正しくないことです。サーボは、信号ラインに 1 秒あたり 50 回 (つまり 50Hz) の特定のパルス幅を送信することで角度を制御します。プログラムで他の周波数を設定すると、サーボは何を言っているのか理解できず、自然にランダムに動き始めます。コードをチェックして、PWM 周波数が 50Hz に設定されていないかを確認してください。

ステアリングギアの安定した電源の選び方

この問題は、ステアリングギアが正常に機能するかどうかに直接関係します。サーボを1つだけ使用する場合、それが9gのような小さなサーボである場合、かろうじて開発ボードの5Vピンを使用して直接電源を供給できますが、実際には「ギリギリ」です。システムの安定性を確保するために、サーボに別の電源を供給することを強くお勧めします。少なくとも 1A の電流を供給できる 5V 電源 (直列の乾電池 3 個、または携帯電話のパワーバンクとブースト モジュールなど) が必要です。

サーボの電源コードと開発ボードの電源コードを逆に接続しないでください。燃える可能性があります。正しい接続方法は、サーボの赤線 (VCC) を独立電源のプラス極に接続し、黒線 (GND) を電源のマイナス極に接続することです。この黒色のワイヤは開発ボードの GND に接続する必要があります。これは「共通グランド」と呼ばれ、信号の安定性の鍵となります。多くの初心者はこの手順を無視し、信号線が「フローティング」し、サーボが従わなくなります。

どのようなハードウェアとソフトウェアを準備する必要がありますか?

サーボをいじりたい場合は、これらのものが手元に必要です。ハードウェアに関しては、サーボ (最も一般的なのは SG90 程度)、マイクロコントローラー開発ボード (Uno が最も使いやすい)、数本の DuPont ワイヤ、およびサーボに電力を供給できるバッテリー ボックスまたは電源モジュールです。初めてプレイする場合は、内蔵のプログラミング ライブラリがサーボをよくサポートしているため、Uno が最も使いやすいです。

ソフトウェアに関しては、無料の IDE をダウンロードする必要があります。インストール後、「ツール」メニューで開発ボードのモデルとシリアルポート番号を選択します。ここでちょっとした裏技をご紹介します。 IDEのサンプルプログラムには「Servo」の例があります。直接開くと、最も単純なサーボ制御コードが表示されます。サーボ信号線のピン番号を変更してボードにアップロードするだけです。サーボが前後に振り始めるはずです。これがプログラミングの最初のステップです。

制御信号の生成方法

もう少し詳しく、重要な PWM 信号について話しましょう。 PWMの正式名称はパルス幅変調です。率直に言うと、信号ラインには 20 ミリ秒ごとにハイレベルのパルスが発生します (周波数が 50Hz であるため)。このパルスが続く時間の長さによって、サーボが回転する角度が決まります。

通常、パルス幅が 0.5 ミリ秒の場合、サーボは 0 度回転します。 1.5 ミリ秒の場合は 90 度回転します。 2.5ミリ秒の場合は180度回転します。を使用するときは、.write(角度)関数を使用すると、角度が対応するパルス幅に自動的に変換されます。基本的な詳細についてはまったく心配する必要はありません。 STM32 などの別のマイクロコントローラーを使用している場合は、タイマーを使用してこの正確な PWM 波形を自分で生成する必要がある場合があります。少し複雑ですが、原理は全く同じです。

最初のサーボ制御プログラムの作成手順

さあ、サーボを前後に回転させるプログラムを書いてみましょう。最初のステップは、IDE を開いて新しいプロジェクトを作成することです。 2 番目のステップでは、次を使用します。# コードの先頭にサーボ ライブラリを導入します。 3 番目のステップは、次のようなサーボ オブジェクトを作成することです。サーボ;ステップ 4: で設定()機能、使い方.(9);サーボ信号線がピン9に接続されていることを宣言します。

5 番目のステップは、これも核心部分であり、制御ロジックを次のように記述します。ループ()関数。たとえば、サーボを最初に 0 度に回転させたい場合は 1 秒待ち、次に 180 度に回転して 1 秒待ちます。コードは次のとおりです。.write(0);遅延(1000); .write(180);遅延(1000);。それはとても簡単です。コードをアップロードすると、設定した 2 つの角度の間でサーボが前後にスイングすることがわかります。成功した瞬間は特別な達成感を感じましたか?

デバッグ時によくある間違いのいくつか

私自身の経験から言えば、初心者にとって「つまずき」となる間違いがいくつかあります。 1つ目は「共通点」を忘れることです。開発ボードのGNDとサーボ電源のGNDを有線で接続しないと、制御信号は基準系のないデータのようなものとなり、全く信頼できません。 2 つ目は、信号ラインを PWM でサポートされていないピンに接続することです。 Uno のピン 3、5、6、9、10、11 のみが PWM 出力をサポートします。ピン 2 または 4 に接続すると、プログラムはコンパイルされてパスしますが、サーボは動きません。

3 番目の間違いは、サーボ角度を連続的に調整できる必要があると考えることです。実際、多くのサーボの物理的な限界は 0 ~ 180 度です。書いたら書き込み(200)プログラムでは、サーボは 180 度で固定されるか、「カチッ」という音を立てて限界を超えようとします。時間が経つと、簡単に燃え尽きてしまいます。また、サーボを駆動するバッテリーの残量が不足すると、サーボが弱くなったり、揺れたり、途中で停止したりすることがあります。したがって、問題が発生した場合は、まず配線を確認し、次に電源を確認し、最後にコードを疑います。このシーケンスにより、時間を大幅に節約できます。

サーボのデバッグ中に「超常現象」に遭遇したことがありますか?たとえば、突然勝手に円を描き始めたりしますか、それとも温度に特に敏感ですか?ぜひコメント欄であなたの経験を共有し、一緒に話し合いましょう。より詳細なサーボの選定やコード例を知りたい場合は、「東芝セミコンダクタ」の公式 Web サイトを検索してください。そこには多数のアプリケーション ノートとリファレンス デザインがあり、開発の過程で間違いなく役立つでしょう。

更新時間:2026-03-25

未来に力を与える

お客様の製品に適したモーターまたはギアボックスを推奨するには、Kpower の製品スペシャリストにお問い合わせください。

Kpowerにメールする
お問い合わせを送信
WhatsApp メッセージ
+86 0769 8399 3238
 
kpowerMap