発行済み 2026-05-11
引き出しをあさって埃をかぶった SG90 を見つけましたが、まったく止まらないことに気づき愕然としました。
長い間議論されてきた、いわゆる「90度回転」は、実際には達成できない贅沢になりました。それはまるで手綱から解放され、狂ったように回転し続ける野生の馬のようなものです。慌てないで。多くの場合、皆さんが手に持っているのは「360度連続回転」と呼ばれるステアリングギアです。
壊れているのではなく、根本的にそうなのですすべきではありません位置サーボとして使用します。
位置と速度: 「スマート トイ」に関する 2 つの致命的な誤解
従来の180度サーボは、一種の「甘やかされた」スマートトイでした。 90 度コマンドなどのコマンドを送信すると、全力を尽くしても目標角度に向かって調整し、正確に停止します。
完全自己満足の360度サーボとは?入力パルス幅が1.5ms(中央)の場合は定常状態となります。 1.45ms未満の場合はフルスピードで逆転します。 1.55ms を超えると、全速力で正転します。
変更できるパルス幅はマイクロ秒単位です。現時点では、回転速度のみを認識し、回転角度は認識しません。
ちょうど 30 度で停止させたいですか?すみません。その認知カテゴリーには「位置」という概念はなく、「方向」と「速度」のみがあります。
最初の書き込みプロンプトの単語を推測しました:トピックの位置を明確にする。
コードトラップ: なぜ Arduino ルーチンが「アクセラレータ」になるのか?
Arduino ルーチンを取り出します。
#含む
私のサーボ.attach(9);
このサーボ角度設定とは、サーボ角度を90度に設定することを意味する。 360度サーボタイプの動作で、中間位置で停止する効果があります。

待ってください、最も一般的な誤解が現れました。書いたのは myservo.write(45) です。 45 度回転すると予想されますが、順方向に最も遅い速度で回転します。それはあなたが「左」の合図をしたからです。。
360サーボの場合、write(0)動作は全速逆転の状態に対応し、write(180)動作は全速正転の状態に対応し、write(90)動作は停止の状態に対応します。
DC モーター + ドライバー ボードのように動作しますが、制御信号はより「繊細」です。
想像してみてください。5 回転後に正確に停止したいとします。何をするか?
計時方法は、正方向全速回転し、delay(2000)(実測によると2秒は約3.5周相当)してからwrite(90)となります。。
補助エンコーダ (外部): ただし、手元にあるのは SG90 だけなので、夢を見ないでください。
2 番目の書き込みプロンプトは自然に現れました。論理遷移。
ゲームの打開: 3 つの「直感に反する」コントロール ケース
ケースAは初心者が転倒したケースです。シャオミンさんは自動で蓋が開くゴミ箱を作りました。彼は 360 度サーボを使ってロープを引っ張りました。その結果、起動するたびに位置が異なり、蓋が半開きになったり、飛ばされたりする状態になりました。
解決策は、位置記憶を放棄し、マイクロスイッチであるリミットスイッチを取り付けることです。トリガーされたら、90 を書き込んで停止します。サーボは「引く」と「離す」の2つの動作のみを担当します。
ケース B (スマートカー): Xiaoli はディファレンシャル ステアリングを行います。 2 つのサーボはそれぞれ左右の車輪を制御します。
左輪前進 + 右輪停止 = その場で右折します。
左右の車輪が逆方向 = その場で回転します。
キーポイント:map(speed, -100, 100, 0, 180) を使用します。ここで、負の数値は逆回転を表し、0 は停止を表し、正の数値は順回転を表します。
ケースC(模擬水道メーター)に関しては、老王が定期的に首を振る状況です。要件は、20 秒間ゆっくりと首を振り、その後 3 秒間急激に戻ることです。
低速:書き込み(100)(低速正転) 20秒遅れます。

急回:書く(30)(低速後進) 3 秒遅れます。
気をつけて! Write(0) をフルスピードで実行すると、反転速度が速すぎるため、マシンが衝撃を受け、ポテンショメータが損傷します。
分かりましたか?すべてのケースで 3 番目のプロンプトの単語が確認されます。細部が成功か失敗かを決める。
SG90 の寿命が短いのはなぜですか?キロパワーサーボのインスピレーション
「私のサーボはまだ 1 週間しか使用していないのですが、震え続けています。」
分解して見てください。プラスチックのギアが磨耗しています。あなたはそれを停止させました(動かなくなったがまだ電力が残っていた)。
のみキロパワー長時間回転状態が固着する状況に対応できるのはサーボのような金属素材で作られたサーボだけです。 SG90 の制限については、次のとおりです。
連続動作 ≤ 30 秒 (冷却が必要)
ロックされたローター電流は 800mA で、ドライバーチューブは 10 秒以内に焼き切れます。
中間位置の微調整を実行する場合は、最初に myservo.write(90) コマンドを実行し、次に機械デバイスのポテンショメータが完全に静止するまで調整する必要があります。
4 番目のプロンプトの単語:事例が信頼性を高める。
実際に起こった出来事はこうだった。 12 個の SG90 を使用してロボット アームを作成する教育キットがありました。しかし、各サーボがブロックされて回転してしまいました。その結果、わずか 2 日でサーボの半分が焼き切れてしまいました。
> 教訓: 360 度ステアリング ギアは、「移動中に抵抗がない」シナリオにのみ適しています。
軌道に戻る: 「トラブルシューティング」Q&A
Q: サーボが 5V に接続されているのに動きません。
A: Arduino の GND とサーボの GND が同一グランドにあることを確認してください。それらが同じ地面にない場合、信号はランダムにドリフトし、サーボが激しく回転します。
Q: 電源を入れるとコードを書かなくても勝手に電源が入りますか?
A: 信号ピンがフローティング状態になっているため、誤ったトリガーが発生する可能性があります。 10k プルダウン抵抗を追加して GND に接続するか、最初に write(90) プログラムをアップロードします。
Q: 正確に10回転させたいのですが、どのように測定すればよいですか?
A: 最速で正方向に回転し、ストップウォッチを使用して 5 周にかかる時間を測定し、Delay() 関数を通じて制御します。誤差は 5% ~ 10% であるのが一般的です。。
Q: 逆方向の方が順方向よりも遅いのはなぜですか?
A. 工場出荷時にニュートラル位置がオフセットされており、コードは微調整されています。この値を停止するか (90 を 92 に置き換えるなど)、ポテンショメータを変更する必要があります。
Q: 1.6msのパルス幅は速すぎますが、もっと遅くすることはできますか?
速度が遅くなるほどパルス幅は1.5msに近づき、極低速正転では1.51msとなります。書き出しのプロンプトワードは最終的にループを閉じ、結論を強化し、行動を促すものになります。
結論:「スピードをコントロールできるホイール」です
角度を無視し、1.5ms (一時停止)、1.45ms (全速後退)、1.55ms (全速前進) の 3 つの数値を覚えておいてください。
振動ファン、ベルトコンベア、自動カーテン、ライン追従車などを含むArduinoプロジェクトについては、絶対位置を必要としない動きであれば、360度SG90の方が価格も安く、操作も簡単です。
この時点で、「位置コマンド」によって混乱する前に、IDE を開いて 3 行のテスト コードを作成します。
write(0) 操作の実行後、遅延時間は 2 秒、write(90) 操作の実行後、遅延時間は 1 秒、write(180) 操作の実行後、遅延時間は 2 秒です。
音を聞いて速度を伝えます。そのとき、本当に「わかる」のです。
更新時間:2026-05-11