ステアリング ギア角度は PWM 計算、0.5ms ~ 2.5ms パルス幅に対応します Formula_BLDC_Industry Insights_Kpower
> 業界の洞察 >BLDC
テクニカルサポート

製品サポート

ステアリングギア角度はPWM計算、0.5msから2.5msのパルス幅式に対応します

発行済み 2026-03-10

その間、それがわかりますサーボデバッグ プロセスで、その角度に対応する PWM 値について頭を悩ませることがよくありますか?角度は正確に計算されているのに、モーターが指定の位置まで回転しない、または揺れ続ける。実際、この背後には単純な数式が働いています。それを理解すると、あらゆるレベルを正確に制御できるようになります。サーボ.

ステアリングギア角の計算式は何ですか?

端的に言えば、その機能は、サーボPWM の計算式は、「角度」と「パルス幅」を 1 対 1 に対応させるのに役立ちます。

一般的に使用されるサーボ制御信号は、20ms 周期の 50Hz PWM です。この周期範囲内で、ハイレベルの幅は一般に 0.5ms ~ 2.5ms であり、この幅間隔に対応する角度範囲は 0° ~ 180°です。

計算式は次のように記述できます。目標パルス幅 = 最小パルス幅 + (角度/180°) × (最大パルス幅 - 最小パルス幅)。この式は、特定のパラメータに基づいてターゲット パルス幅を計算する方法を明確に示しています。たとえば、サーボ制御のコンテキストで、サーボの 0° が 0.5ms に対応し、180° が 2.5ms に対応する場合、この式で 90° の位置を計算すると、結果は 1.5ms になります。この計算プロセスは、ステアリング ギア角度とパルス幅の対応において非常に重要であり、さまざまな角度でステアリング ギアに必要なパルス幅の値を正確に決定できます。

正確なデューティサイクル値を計算する方法

通常はデューティ サイクル レジスタをマイクロコントローラで設定する必要があるため、パルス幅を知るだけでは十分ではありません。デューティ サイクル = ターゲット パルス幅/20ms。たとえば、1.5ms のパルス幅が必要な場合、デューティ サイクルは 1.5 / 20 = 0.075、つまり 7.5% になります。

具体的にコードに実装すると、たとえば、STM32 を選択し、自動リロード値を 2000 (この値は 20 ミリ秒を表す) に設定する場合、比較値を 150 (この値は 1.5 ミリ秒を表す) に設定する必要があります。このプロセスでは、実際に時間比率をレジスタ値に変換し、ハードウェアが正確な波形を出力できるようにします。

実際のコード動作では、STM32 を例に挙げると、自動リロード値を 2000 (20 ミリ秒を表す) に設定する場合、比較値は 150 (1.5 ミリ秒を表す) に設定する必要があります。時間比率をレジスタ値に変換するこのプロセスは、ハードウェアが正確な波形を出力することを保証する上で重要な役割を果たします。

さまざまなサーボの pwm 範囲を決定する方法

これはおそらく最も陥りやすい罠です。サーボのブランドやモデルが異なると、あるいは同じモデルでもバッチが異なるサーボでも、PWM 範囲が異なります。一部のサーボの 0° 状態での対応する PWM 値は 0.5ms ですが、その他のサーボは 0.6ms です。 180° 状態の場合、一部のサーボの対応する PWM 値は 2.5 ミリ秒になる場合がありますが、他のサーボは 2.4 ミリ秒になる場合があります。

したがって、サーボを使用する際には、サーボの特定の PWM 範囲を事前に理解しておかないと、パラメータの不一致によりさまざまな問題が発生しやすくなり、サーボの正常な使用や関連機器の動作に影響を及ぼします。

最も安全な方法は、サーボの公式データシートを確認することです。マニュアルが見つからない場合は、パルス幅を徐々に大きくしてサーボが回転し始める最小値を求め、次にサーボが回転を停止する最大値を求め、自分で測定することをお勧めします。実測により得られたこの 2 つの値を式に代入することで、サーボは正確に目標位置を指示し、過度のストレスによるモーターの損傷を防ぐことができます。

ステアリングギア角の公式を誤って使用するとどうなりますか?

不正確な計算の最も直接的な結果は「非線形性」です。たとえば、サーボが 45° 回転すると予想しても、実際には 40° しか回転しません。さらに深刻なのは、パルス幅がサーボの許容範囲を超えると、例えば2.6msのパルス幅を与えてしまうと、サーボ内部のリミッターがガッチリ固着してしまい、サーボに過負荷がかかり、発熱し、ドライバーチップが焼損してしまうこともあります。

一方、パルス幅の範囲が狭すぎる場合 (たとえば、1ms ~ 2ms のみを使用する場合)、サーボの実際の回転範囲は 120° のみになる可能性があり、その機械的性能が無駄になります。したがって、式内の 2 つの終点値は、ステアリング ギアの物理的制限に正確に対応する必要があります。

ステアリングギア制御コードに数式を適用する方法

コードを記述するときは、通常、数式を関数にカプセル化します。入力は希望の角度、出力はタイマーの比較値です。手順は簡単です。

1. まず 2 つの定数を定義します。そして、測定された0°および180°のパルス幅に対応します。

2. 次に、次の式を使用します。= + (角度 / 180.0) * ( - ) .

3. 浮動小数点の結果を整数に変換し、それをタイマーのキャプチャ比較レジスタに直接割り当てることを忘れないでください。

このようにして、関数を呼び出すたびに、サーボはスムーズに任意の角度に回転することができます。

ステアリングギアの制御精度を向上させるにはどうしたらよいでしょうか?

高精度が必要なロボット アームや視覚追跡プロジェクトに取り組んでいる場合は、閉ループ制御の導入を検討してください。上記のオープンループ式では「どれだけのパルス幅を与えてどれだけの角度を回すか」しか保証できませんが、サーボに力が加わってブロックされてしまうと位置が失われてしまいます。

このとき、サーボ出力シャフトにポテンショメータまたはエンコーダを追加して実際の角度をリアルタイムで読み取り、PID アルゴリズムを使用して PWM 値を動的に調整できます。これにより、外部からの干渉があっても自動的にステアリングギアを目標位置まで引き戻し、正確な制御を実現します。

実際のプロジェクトで、サーボの中央値(90°)が不正確で、機構全体の左右の振り幅が非対称になってしまう状況に遭遇したことはないだろうか。コメント エリアでデバッグの経験についてチャットすることを歓迎します。役に立つと思ったら、ぜひ「いいね」を付けて、より多くの友達と共有してください。

更新時間:2026-03-10

未来に力を与える

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

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