> 業界の洞察 >カスタムドライブ
テクニカルサポート

製品サポート

51 マイクロコントローラーはステアリング ギアをどのように制御しますか?初心者でもわかる接続方法と手順

発行済み 2026-03-19

あなたは次のことを考えたことがあるでしょう。51 マイクロコントローラーは非常にクラシックで安価なので、これを制御に使用できるでしょうか。サーボ?答えは「はい」です。それはさまざまな意味でそうです。今日は、51 マイクロコントローラーを使用してゲームをプレイする方法について説明します。サーボ小さな船を動かしてみませんか。

51 マイクロコントローラーはどのようにステアリング ギアを制御するのでしょうか?

実はステアリングは「怠け者」なのです。どこに曲がるか指示する限り、内部回路とモーターを使用してその位置まで走行します。それを見分ける方法は、調整可能な幅を持つ方形波信号である PWM 波です。標準サーボ20 ミリ秒のパルス サイクルが必要で、ハイ レベルの幅がサーボの角度を決定します。

51 マイクロコントローラーには専用のハードウェア PWM モジュールがありませんが (古いモデルにはありません。強化バージョンについては別途説明します)、タイマーを使用してそれをシミュレートできます。これは、ストップウォッチを使用して時間を測定するのと似ており、最初にピンにハイ レベルを出力させ、タイマーが期限切れになるとローに引き下げ、20 ミリ秒の期間が終了するまで待ってから繰り返します。タイミングが十分に正確である限り、51 マイクロコントローラーはこのタスクを完全に実行できます。

ステアリングギア制御にはどのようなコンポーネントが必要ですか?

サーボを回転させるには、マイコンだけでは不十分です。まず、低消費電力の SG90 などの使いやすいサーボが必要です。次に、特に重要な電源です。サーボの動作電流は、特に起動時に小さくありません。マイクロコントローラー開発ボードから直接電力を供給すると、マイクロコントローラーが簡単に再起動する可能性があります。そのため、バッテリーパックや電圧安定化モジュールなど、サーボ用の5V電源を別途用意する必要があります。

その他の小さなコンポーネントも不可欠です。接続にはブレッドボードまたはデュポン ワイヤが使用されます。 100μF程度のコンデンサを用意し、サーボ電源の両端にフィルタをかけると良いでしょう。コンデンサは小さなリザーバのように機能し、電流の変動を緩衝し、ステアリングギアの動作をより安定させ、マイクロコントローラーがリセットに「関与」するのを防ぎます。

51マイコン制御サーボプログラムの書き方

プログラムを書く際の基本的な考え方は、タイマーを使用して 20 ミリ秒の周期を生成し、その周期中にさまざまな幅のパルスを出力するようにピンを制御することです。たとえば、0.1 ミリ秒ごとに割り込んでカウントするようにタイマーを設定します。 1.5 ミリ秒のパルスを出力する場合は、割り込みでカウントが 15 に達したときにピンを Low にプルし、次にカウントが 200 に達したとき (20 ミリ秒が到着したとき) にピンを High にプルします。

コードの書き方も複雑ではありません。タイマ割り込みサービス関数では、現在のカウント値が設定したパルス幅値に達したかどうかをif文で判定し、サーボ端子を0クリアします。メインプログラムでは、パルス幅の値に対応する変数を変更するだけで簡単にステアリングギア角を変更できます。もちろん、プログラムを実行するための基礎となるタイマーと割り込みの初期化を忘れないでください。

ステアリングギア回転角の設定方法

ステアリングギアの回転角度はハイレベルパルス幅によって直接決定され、両者の関係は基本的に線形です。一般に、0.5 ミリ秒のパルスは 0 度に対応し、1.5 ミリ秒は 90 度に対応し、2.5 ミリ秒は 180 度に対応します。サーボのブランドが異なると若干の違いがある場合がありますが、これは一般的な範囲です。

では、プログラム内でどのように角度を設定するのでしょうか?角度変数を定義し、簡単な式を使用して必要なパルス幅を計算できます。パルス幅 = 0.5 + (角度/180)*2.0、単位はミリ秒です。次に、この時間をタイマーのカウント値に変換します。たとえば、前述したように 0.1 ミリ秒に 1 回の割り込みがある場合、1.5 ミリ秒は 15 回の割り込みになります。最後に、このカウント値を割り込み内の比較変数に代入するだけです。シンプルですよね?

51 複数サーボのマイコン制御方法

多くの場合、プロジェクトには複数のステアリング ギアが存在します。たとえば、6本足のロボットを作るには多くのものが必要です。 51 マイクロコントローラーを使用して複数のサーボを制御する一般的な方法は、「時分割多重化」です。各サーボには 20 ミリ秒周期のパルスが必要なため、20 ミリ秒をいくつかのセグメントに分割し、各セグメントがサーボ パルスを出力します。たとえば、最初に 0.5 ~ 2.5 ミリ秒のパルスをサーボ No. 1 に送信し、次にすぐにサーボ No. 2 にパルスを送信するというように、すべてのサーボのパルスが 20 ミリ秒以内に送信されるまで続きます。

この方法では複数の IO ポートが必要となり、割り込みプログラムを順番に配置する必要があります。ご使用のマイコンがハードウェア PWM モジュールを備えた強化マイコンであれば、さらに安心です。複数の PWM 出力を直接設定でき、CPU はそれをほとんど気にする必要がなく、精度も高くなります。初心者の場合は、まず時分割多重化の使用を練習し、原理を理解した後でアップグレード方法を検討してください。

マイクロコントローラー制御サーボに関する 51 のよくある質問

サーボを使って遊んでいるときに最もよく遭遇するのはジッターです。これは通常、電源の問題です。サーボが動くと電圧が低下し、マイコンが正常に動作しなくなり信号乱れが発生します。解決策としては、電源の強化、独立電源の使用、電源線とアース線をできるだけ太く短くし、コンデンサーをサーボの近くに設置することです。

サーボの角度がずれていたり、応答が遅い場合があります。これは、信号ライン上の干渉、またはプログラムのタイミングが十分に正確でないことが原因である可能性があります。 10k プルダウン抵抗を信号ラインとグランドに接続して、耐干渉能力を向上させることができます。プログラム上、水晶発振器が正確であるか、タイマーの初期値が正しく計算されていないかを確認してください。これらの基礎が適切であることを確認してください。そうすれば、サーボが希望の場所にヒットできるようになります。

51 マイクロコントローラーを使用してサーボを操作する過程で、特に興味深い障害に遭遇したり、興味深いアプリケーションを思いついたことはありますか?メッセージを残してコメント エリアで共有することを歓迎します。また、より多くの友達がこれらの実践的なヒントを見ることができるように、「いいね」を押して保存することを忘れないでください。

更新時間:2026-03-19

未来に力を与える

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

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