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

製品サポート

サーボが振れて定位置にない? PID制御アルゴリズムを使用してステアリングギアをスムーズかつ正確に動かします

発行済み 2026-02-26

いつもこんな感じですか?サーボ遊んでいるときに「ピクピク」しますか?揺れが止まらないか、その場で回転できず、わずかな力で「叩く」ことになります。心配しないでください。おそらく、ステアリングギアにそれを制御するための賢い「頭脳」が欠けているからです。今日は、PID のキーを使用して、正確な制御への扉を開く方法について説明します。サーボそしてその動きをスムーズかつ従順にします。

ステアリングギアがいつも従わないのはなぜですか?

あなたは喜んでインストールしますサーボロボットアームに取り付けましたが、電源を入れると異常が発生します。急いで近づいてくるか、ゆっくりと揺れるが位置に到達できません。手で軽く触れただけでも震え続けます。これは実際には典型的な制御問題です。ステアリングギア自体は、「ある角度まで回転する」ということだけを知っていますが、回転中にどれだけの抵抗を受けるか、速度を速くすべきか遅くすべきかは知りません。これは、初心者ドライバーがアクセルとブレーキを急に踏むだけで、車が自然に突進してしまうようなものです。必要なのは、実際の状況に応じて「スロットル」と「ブレーキ」をリアルタイムに調整できるインテリジェントなドライバーであり、PIDが最適な候補です。

PID は、実際の状況に応じたリアルタイム調整の鍵として、ステアリング ギア制御の問題を解決する上で重要な役割を果たします。ステアリングを切ったときのさまざまな状況を正確に感知し、熟練ドライバーのように複雑な路面状況にも冷静に対処します。ステアリングギアが大きな抵抗に遭遇した場合、PID は車速を巧みに制御するのと同じように、オーバーシュートやその場での揺れを避けるために出力を合理的に調整します。リアルタイムのフィードバックに基づいて「スロットル」と「ブレーキ」を動的に調整することができ、まるで滑らかで滑らかな道路で車両を運転する優秀なドライバーのように、ステアリングギアをよりスムーズかつ正確に動作させることができます。

サーボPID制御とは

簡単に言うと、PID は、処理を迅速かつ安定して実行できるようにする「エラー修正マスター」です。 P(比例)は、現在の偏差がどのくらいかを見て、遠すぎる場合は力を入れて引き戻します。私(ポイント)は、古いアカウントを清算し、常に存在する小さな逸脱を蓄積し、それらをゆっくりと解消する責任があります。 D(ディファレンシャル)は予言者のような存在で、勢いが合わないことを予測し、事前にブレーキをかけてやりすぎを防ぎます。これら 3 つを組み合わせると、あなたのステアリングはもはや放心状態の若者ではなく、「目標を目指し、過去を振り返り、未来を見据える」方法を知っているマスターになり、その動きは自然で正確かつスムーズになります。

ステアリングギア PID の落とし穴は何ですか?

初めてパラメータを調整し始めると、罠に陥りがちです。最も一般的なのは、P キーが大きすぎると、サーボがパーキンソン病のような状態になり、高周波で振動し、ノイズが多く、熱くなります。あるいは、P が小さすぎて、ナマケモノのようにぐったりして力がなくなり、指定された位置にまったく到達できなくなります。人によっては D の役割を無視するため、サーボが常に「 」 (オーバーシュート) になり、停止するまでに数回前後に振動します。 ️ パラメータの調整は自転車のタイヤに空気を入れるようなものであることを覚えておいてください。少なすぎると乗れなくなり、多すぎるとタイヤがパンクしてしまいます。完璧なバランスポイントを見つけるために、少しずつ試してみる必要があります。

サーボのPIDパラメータの調整方法

パニックにならないでください。パラメータを調整するためのルーチンがあります。最初は P 項目だけを保持し、サーボがわずかに振動し始めるまで、小さい値から大きい値へとゆっくりと値を上げていきます。このときのP値をメモし、それを半分にしたものを基本P値とします。次に、ジッターを効果的に抑制できる項目 D を追加します。ハンドプッシュサーボが明らかな抵抗を感じるがスタックせず、ジッターがなくなるまで追加します。最後に、サーボに常に小さな静的誤差があることがわかった場合 (たとえば、合計の差が 1 度未満である場合)、それを吸収するために少し I 項を追加します。 ️プロセス全体で忍耐強く、一度微調整し、一度観察し、一口で太ることについて考えないでください。

役に立つステアリング ギア PID ライブラリにはどのようなものがありますか?

PIDアルゴリズムを一から書くのは本当に面倒です。幸いなことに、使用できる既製の「ホイール」が多数あります。関連する操作を実行するために使用する場合、最も古典的なものは「PID」です。強力な機能と豊富なドキュメントを備えています。直接呼び出すこともできるのでとても便利です。

ESP32 を使用している場合は、ESP32 コアに適合した PID ライブラリを見つけるか、モーター (サーボを含む) の制御を適切にサポートする FOC ライブラリを選択できます。 STM32 ユーザーは、効率的で問題なく、CMSIS-DSP ライブラリの PID 関数を直接使用できます。自分のニーズに合ったものを選択すると、多くの回り道を省くことができます。

ステアリングギアのPID制御コードの書き方

コードを書くということは、実際には上記の考え方をマイクロコントローラーに正確に翻訳して理解させることです。その核心は主に 3 つのステップで構成されます。まず、目標値を設定します (たとえば、90 度に設定します)。 2 番目に、ポテンショメータのフィードバックを通じて実装される現在の値を読み取ります。 3 番目に、PID 計算関数を呼び出して出力値 (PWM デューティ サイクル) を取得し、この新しい命令に従ってサーボを動作させます。コードのフレームワークは通常、セットアップ関数で PID とサーボを初期化し、ループ関数で「読み取り -> 計算 -> 適用」の一連の動作を継続的に実行して、閉ループを形成します。 ️ PID の計算が頻繁すぎたり遅すぎたりしないように、必ずサンプリング時間を設定してください。一般的に言えば、サンプリング時間は約 10 ミリ秒がより適切です。

実際のコーディングプロセスでは、すべてのステップが重要です。目標値を設定するステップでは、特定のアプリケーション シナリオに従って、必要な角度やその他のパラメータを正確に決定する必要があります。現在値を読み取る場合、ポテンショメータのフィードバック精度も後続の計算の精度に影響します。 PID 計算関数を呼び出す場合、正確な出力値を取得するには、そのパラメーターが適切に設定されていることを確認する必要があります。コード フレームワークを構築するときは、閉ループ システム全体が安定して効率的に実行できるように、セットアップ関数とループ関数の操作を仕様に従って厳密に実行する必要があります。 ️ サンプリング時間の設定はシステムのパフォーマンスに直接関係します。適切なサンプリング時間を設定することで、演算精度を確保しながらリソースの過剰な消費を回避し、サーボが指示どおりに正確に動作できるようになります。

PID を使用するとどの程度効果的ですか?

PID を使用する前は、サーボは無謀な酔っぱらいのように見えるかもしれません。 PIDを使用すると、すぐにエレガントなダンサーに変わります。例えば、2自由度のジンバルを作ってPIDを使わないと、少しでも動かすとカメラ画像が大きく揺れて北の方向が分からなくなる可能性があります。調整された PID を使用した後、ジンバルはターゲットを安定してロックできます。ベースプレートをどのように振っても、カメラは常に見るべき方向を向きます。動かさずに指定した場所に正確にヒットする感覚は、これまで頭を悩ませたパラメーター調整の価値があると感じさせます。

これを読んだら、試してみたくなりませんか?ステアリングギアのPIDを調整するときに遭遇する最も厄介な問題は何ですか?コメントエリアにコメントを残して、「いいね!」を押して、サーボによって苦しめられているより多くの友達と共有してください。

更新時間:2026-02-26

未来に力を与える

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

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