SG90 サーボ プログラミングのアイデアがありませんか?フローチャートによりコードが自動的に実行される_ギアモーター_業界インサイト_Kpower
> 業界の洞察 >ギアモーター
テクニカルサポート

製品サポート

SG90 サーボ プログラミングのアイデアがありませんか?フローチャートによりコードが自動的に実行されます

発行済み 2026-03-10

あなたはSG90を持っていますサーボ手に持って動かしたい。プログラミング ソフトウェアを開いて、空白のコード ボックスに直面することができます。あなたの心は混乱していますか?最初のステップで何をすればいいのか分からないのですが、コードを書いている途中で行き詰まってしまったのですが?実際、最初に紙の上または頭の中でフローチャートを確認する限り、コードを書くのはレシピに従うのと同じくらい簡単です。

ステアリングギアのフローチャートの書き方

SG90 のフローチャートを描くことは、実はそれほど不思議なことではありません。平たく言えば、頭の中にある考えを枠や矢印を使って描くことです。あなたが欲しいと想像してみてくださいサーボ左から右に曲がり、また元に戻ります。フローチャートの最初のステップは常に「開始」であり、次に「初期化」が続きます。これは、どのピンをマイクロコントローラーに接続するかを指示することです。サーボそしてそれはどのくらいの速さであるべきか。次のステップは、「サーボを90度に回転」し、処理ボックスを描画し、次に「1秒待機」してから、「0度に回転」する処理ボックスを描画します。最後に、矢印を使用して戻ってループを形成するか、直接「終了」します。各ステップを明確に記述すると、コードはこのロジックに従って翻訳されます。

ステアリングギアが回らないのはなぜですか?

プログラムは書いてあるのですが、サーボが全く動きません。これが最もイライラすることかもしれません。心配しないでください。10 回中 9 回、フローチャートには重要なステップである電源が欠落しています。 SG90 は小さいですがモーターでもあり、マイコンの電流で駆動することはできません。フローチャートでは、「初期化」の後に「外部電源のチェック」というステップを追加する必要があります。 ️解決策は非常に簡単で、サーボの赤い線を5Vに、茶色の線をアースに、黄色の線を信号に接続します。それでも動作しない場合は、フローチャートに正しい PWM 波形が設定されているかどうかを確認してください。 SG90 は通常、20ms の周期である 50Hz の周波数を必要とし、ハイレベル時間は 0.5ms ~ 2.5ms です。これらの条件はどれもフローチャートから欠落することはできません。

ステアリングギア角をより正確に計算する方法

サーボを 45 度に回すと 60 度になるのはなぜですか?これはおそらく、フローチャートの計算ロジックに問題があると考えられます。使用しているSG90はハイレベルの持続時間を変えることで角度をコントロールします。より正確なアプローチは、0 度は 0.5 ミリ秒、180 度は 2.5 ミリ秒を丸暗記しないことです。最初にフローチャートの「キャリブレーション」リンクを実行できます。たとえば、最初に 0.5 ミリ秒のパルスを送信して実際の角度を測定し、次に 2.5 ミリ秒のパルスを送信して再度測定します。これら 2 つの実際の角度と理論値を線形変換してプログラムに組み込むと、どこにでも打ち込むことができます。フローチャートでは実際の個体差を考慮していないため、細かな誤差が多く発生します。

サーボの振動問題を解決するには

ようやく回り始めましたが、サーボがもみがらのように震えていて、音がうるさかったです。問題は通常、プロセス設計が「ラフ」すぎることにあります。サーボを直接0度から180度まで瞬時にジャンプさせますか?これは、ある人に、家の玄関からコミュニティの玄関まで一瞬で逃げろと言うようなものです。彼は間違いなく数歩でつまずくでしょう。解決策は、フローチャートに「スムーズな移行」を追加することです。たとえば、サーボを 0 度から 90 度まで回転させたい場合、それを 10 ステップに分割し、毎回 9 度回転し、各ステップ間に 10 ミリ秒の遅延を追加できます。フローチャートでは、これがループ構造として反映されています。目標角度を設定し、現在の角度と目標角度の差を計算し、その差が 1 度より大きい場合は、次のステップに進みます。この設計により、ステアリングギアはよりスムーズに動きます。

ステアリングギアプログラムループの設計方法

プロジェクトで、サーボが最初に 30 度回転し、しばらく待ってから 120 度回転して元に戻るなどの一連の動作を繰り返し実行する必要がある場合。フローチャートにコードの長いリストを決して書かないでください。より良いアプローチは、「ステート マシン」の概念を導入することです。 「状態 0」は 30 度まで回転、「状態 1」は 1 秒待機、「状態 2」は 120 度まで回転すると定義できます。メイン プログラムは、現在どの状態にあるかを判断し、その状態に対応するアクションを実行し、次の状態を決定することだけを行います。このデザインを使用すると、フローチャートが非常に明確になります。アクションを追加または変更する場合は、プログラム全体に手を加えることなく、状態とジャンプ条件を変更するだけで済みます。

複数のサーボを同時に制御する方法

1 つのマイクロコントローラーを使用して複数の SG90 を制御し、それぞれが独自の方法で移動できるようにしたいですか?このとき、フローチャートの設計でレベルが試されます。それらを 1 つずつ制御すると、2 番目のサーボが動こうとしたときに、1 番目のサーボが停止しており、「同時に」動かすことができないことがわかります。秘訣は、特定のサーボの回転が完了するのを待ってプログラムがフローチャート内で「スタック」しないようにすることです。各サーボの PWM 信号を時間指定の割り込みで順番にリフレッシュできます。メインループでは、各サーボの次の目標角度を計算することのみを担当します。交響曲の指揮者と同じように、彼は自分で演奏する必要はなく、適切なタイミングで各音楽家に開始の合図を送るだけで済みます。フローチャートも次のように設計する必要があります。1 つは計算と意思決定を担当し、もう 1 つは正確な実行を担当します (割り込みサービス ルーチン)。このようにして、10 個または 8 個のサーボを問題なく使用できます。

ステアリングギアのプロジェクトに取り組むときに遭遇する最も厄介な問題は何ですか?コメント エリアに来てチャットしてください。フローチャートの最適化をお手伝いできるかもしれません。この記事が役に立ったと思われる場合は、サーボをプレイするより多くの友人に見てもらえるように、「いいね」を押して共有することを忘れないでください。

更新時間:2026-03-10

未来に力を与える

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

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