発行済み 2026-03-18
やあ、やった友達よサーボプログラミングは必ずこの障害に遭遇する必要があります。サーボ45 度回転しますが、代わりに 90 度にジャンプします。機械式アームを人間の手のようにゆっくりと持ち上げたいのですが、所定の位置に「スイスイ」移動してしまうので、恐ろしいです。はっきり言って、作り方を知らないだけです。サーボ希望の角度に合わせてスムーズかつ正確に動きます。心配しないでください。今日はそれを分解して、どの角度でもスムーズな変化を実現するためにサーボをプログラムする方法について説明します。
サーボを思いどおりに制御したい場合は、まずサーボが誰の声を聞いているかを理解する必要があります。ステアリングギアの内部には小型モーターに加えて、一連のギアとポテンショメータで構成されるフィードバック システムがあります。 PWM(パルス幅変調)と呼ばれる信号のみを認識します。この信号は、サーボに送信される「時間の長さ」コマンドと考えることができます。
このコマンドの具体的な方法は、プログラミングによりサーボの信号線に一定周期(通常は20ミリ秒)でハイレベルのパルスを出力するというものです。このパルスの幅、つまりハイレベルの継続時間は、サーボ出力軸が停止する位置を直接決定します。プログラム内でこのパルスの幅を変更すると、サーボを任意の角度に回転させることができます。
前述したように、PWM 信号は実際には方形波です。これは、20 ミリ秒ごとにオンとオフをすばやく切り替える、非常に時間厳守なスイッチと考えることができます。重要なのは、各ターンオンの継続時間、つまりパルス幅にあります。ほとんどのサーボでは、1 ミリ秒のパルスは 0 度に対応し、1.5 ミリ秒は 90 度に対応し、2 ミリ秒は 180 度に対応します。
したがって、サーボを 45 度回転させたい場合は、約 1.25 ミリ秒のパルスを生成するプログラムが必要です。この信号が迅速に生成されるか正確に生成されるかによって、ステアリング ギアの滑らかさと位置精度が直接決まります。幸いなことに、STM32 などの現在の主流のマイクロコントローラーには、これらの信号を正確に生成するのに役立つ既製のライブラリ関数が備わっています。
この関係は、実は「パルス幅」と「回転角度」が一対一に対応しているのです。簡単に言うと、パルスの幅に応じてサーボが対応する角度に回転します。通常、それらの間には線形関係があります。蛇口をひねるようなものと考えることができます。ねじれの角度(パルス幅)によって水流の大きさ(サーバー角度)が決まります。
ただし、サーボのブランドやモデルが異なると、この対応が若干異なる場合がありますのでご注意ください。たとえば、一部のサーボでは、0.5 ミリ秒のパルスが 0 度に対応し、2.5 ミリ秒のパルスが 180 度に対応します。したがって、プログラミングを開始する前に、サーボの技術情報を見て、サーボを向けた場所にヒットできるように、そのパルス幅の範囲を確認するのが最善です。
それを言うのは難しいことではありません。今日のプログラミング環境はすでに非常にフレンドリーです。たとえば、わずか数行のコードで実行できます。含める必要があるのは、サーボ.hライブラリ、サーボ オブジェクトを定義してから使用します()ピンをバインドし、最後にwrite(角度)回転させたい角度(117度など)を入力するとサーボが素直に回転します。
30 度から 150 度までゆっくりと滑らかな効果を実現したい場合は、ループを使用する必要があります。角度の値を 30 から開始し、毎回少しずつ (1 度など) 増加させてから、書く()関数を 1 回実行し、途中に 15 ミリ秒などの小さな遅延を追加します。このようにして、サーボは段階的に動き、連続的で滑らかな動きのように見えます。
️ スムーズな動きを達成するための簡単な手順:
1. を使用します。のために角度を増やすループ私開始値から目標値まで。
2. ループ内で次を使用します。.write(i)現在の角度を設定します。
3. 次のような短い遅延を追加します。遅延(15)、移動速度を制御します。
これはとても役に立ちます!これは、何かを動かそうとするほぼすべてのメーカー プロジェクトの中核です。最も典型的な例はロボットの製作です。たとえば、6 脚ロボットが 1 つの脚を優雅に持ち上げたい場合は、脚にある 3 つの関節サーボを制御して、特定の時間と角度に合わせて動作する必要があります。
別の例は、スマートカーにカメラジンバルを取り付けることです。車がターゲットを検出すると、カメラが 1 つずつジャンプするのではなく、常にターゲットに向けられるように、ジンバルはサーボをスムーズに回転させる必要があります。アイテムを掴むためのロボットアームもあります。ロボットアームの先端が美しい円弧を描くように各関節の角度を正確に制御し、障害物を避けて物を正確につかむ必要があります。
本格的にサーボを購入する準備ができたら、注意すべきパラメータがいくつかあります。 1 つ目はトルクで、ステアリング ギアの強さを決定します。単位は通常kg・cmです。ロボットアームを持ち上げるなど、非常に重いプロジェクトを実行したい場合は、より大きなトルクを持つものを選択する必要があります。
2つ目はスピードと正確さです。速度は「秒/60度」で表され、60度回転するのに何秒かかるかを表します。精度は、サーボが希望する正確な位置で停止できるかどうかに関係します。通常のエントリーレベルのプロジェクトの場合は、通常のアナログ サーボで十分です。精度と応答速度に対する高い要件がある場合は、デジタル サーボを検討してください。まずはこれらの専門メーカーの公式 Web サイトにアクセスし、提供されているサーボ パラメーターの比較やチュートリアルを参照することをお勧めします。そうすることで、多くの回り道を避けることができます。
ステアリングギアを自分で制御しているときに、特に奇妙な現象に遭遇したことはありますか?たとえば、サーボが震えたり、熱くなったり、まったく動かなかったりしますか?コメント エリアに来てあなたの経験について話し、共有して一緒に落とし穴を避けましょう。この記事が役に立ったと思ったら、ぜひ「いいね」を押して、より多くの友達と共有してください~
更新時間:2026-03-18