発行済み 2026-05-11
初めに事実について話しましょう。Arduino の車で遊んでいるとき、Arduino のロボット アームで遊んでいるとき、または Arduino の小さなアクセス コントロールで遊んでいるとき、十中八九、青い 9g マイクロ サーボ、または透明な 9g マイクロ サーボ、つまり SG-90 に遭遇するでしょう。。小さいサイズにもかかわらず、角度をひねったり、スイッチを制御したり、うなずいたり首を振ったりしますが、これらはすべてパルス幅信号に依存しています。しかし、多くの人は最初のステップで困難に遭遇します。つまり、線をどうやって接続するかということです。コードを書いた後にコードがジッターするのはなぜですか?今日はそれを詳しく整理し、圧倒的な経験から本質的なものをピックアップします。
茶線:GND(アース)
赤線:VCC(5V電源)
オレンジ線: PWM 信号ピン (D9/D10 はオプション)
以下は一般的なロールオーバー状況です。赤い線を 3.3V に押しても、サーボが回転しません。バッテリーのプラス端子に差し込むと、内蔵ドライブが焼損します。
安全地帯は5Vで、USB電源に頼って駆動するには十分です。 2 台以上を運転する場合は、外部バッテリー パックを使用するとより安定します。
PWM デューティ サイクルを自分で作成しないで、Servo ライブラリを使用してください。
#含むサーボmyServo; void setup() { myServo.attach(9); // 信号線はピン 9 に接続されています } void loop() { myServo.write(0); // 0 度の遅延(1000); myServo.write(90); // 90 度遅延(1000); myServo.write(180); // 180 度の遅延(1000); }
このセクションは前後に回転します。なぜそれが 0、90、180 の状況に属するのかを尋ねる必要はありません。物理的な限界はここにあります。
中にはポテンショメータと減速機が入っています。 1msのパルス幅を与えると0度回転、1.5msのパルス幅を与えると90度回転、2msのパルス幅を与えると180度回転します。

サーボ ライブラリは、書き込み時の角度を対応するパルス幅に自動的に変換します。
ただし、SG-90 はメーカーが異なると数度の誤差が生じる場合があるため、校正プロセスを省略することはできません。
まずアーム部分が垂直かどうかを確認するために(90)を書き込みます。
そうでない場合は、手動で垂直位置まで曲げて、アームを再度取り付けます。
Q/Aセクション
Q: 接続時にサーボが激しく振動するのですが、どうすれば解決しますか?
A: 電源が不安定な状態です。 5V電源供給動作は赤ラインのみで行われます。 Arduino の 5V ピンは信号基準としてのみ使用されます。。
Q: write(180) が 120 度までしか到達できない場合はどうすればよいですか?
A: まずwrite(180)操作を行ってから電源を切り、手動でアームを最大角度まで曲げてから再度電源を入れてください。。
Q: サーボを数分間回し続けると熱くなるのは正常ですか?
答:異常です。 SG-90は位置サーボですので、連続回転モーターとしては使用しないでください。
Q: 信号ケーブルは正しく接続されており、コードも正しいのに、動かないのですか?

A: 共通点を確認してください。 ArduinoのGNDとサーボのGNDを接続する必要があります。
Q: サーボライブラリではなく直接PWM信号を与えることはできますか?
A: はい、ただし必須ではありません。ライブラリは 20ms サイクルをカプセル化しており、自分で作成するとサーボを焼き付けるのが簡単です。
6本足のロボットを一度に作ろうと考えないでください。まず小さなデバイスを作成します。
段ボールでできたバリア
ボタンをトリガーし、一度押してレバーを上げ、次に下のレバーを押します
コードの重要な点は、write(0) または write(90) が呼び出されるたびに現在の状態を記録することです。
状況を検知できます。 0から90まで素早く変化すると、サーボが「前に飛んでいる」ように見えます。遅延を追加しますか?そうではありませんが、イージングを追加します。
void throwMove(int from, int to, int stepDelay) { if (from = to; i--) { myServo.write(i);遅延(ステップ遅延); } }
これにより、本物のアームのようにゆっくりと動き、ギアが崩れにくくなります。
どういう意味ですか?単三電池を持ち上げるのには問題ありませんが、本を押したいですか?行き詰まっているはずです。
ロボットアームを製作する過程で、大きなアーム部分にはMG995などの金属歯サーボを使用する必要があります。ただし、SG-90は手首や爪の製作のみに適しています。
類推論: SG-90 は自転車のチェーンのようなものです。車を引っ張るのに使ったら確実に壊れます。
SG-90 デバッグ デシジョン ツリー §─ 接続しても応答なし │ §─ チェック: GND が同一グランドにありますか? │ └─ 確認:5V電源で1Aで十分ですか? §─ 目標位置移動後のジッタ │ §─ コンデンサ追加:赤線とGND間に100uF電解 │ └─ コード書き込み後の遅延(15) │ §─ 角度がずれている │ §─ ソフトキャリブレーション: myServo.write (実際の角度+オフセット) │ └─ ハードキャリブレーション: アームピースを取り外し、再度取り付ける 肯定 ─ コードを全く守らない └─ デジタルキャリブレーションに変更し、他のライブラリが Timer1 を占有しているかどうかを確認します
1. ブレッドボード、SG-90、および DuPont ワイヤ 3 本を用意します。
2. 上記の最初の段落を反転するコードを書き込みます。
3. 0度、90度、180度の位置を確認します。
4. 45 度で停止し、10 秒間保持するようにコードを変更します。
5. 成功すると、小型サーボのアプリケーション シナリオの 80% をマスターしたことになります。
残りの20%は何でしょうか?複数のサーボを直列に接続し、ポテンショメータを読み取って閉ループを実現し、アクショングループを設定します。ただし、これについては最初に実行する必要があるため、今日は説明しません。
覚えておいてください: すべての複雑なロボット プロジェクトは、準拠して 30 度回転できる SG-90 から始まります。様子見するだけではなく、ぜひ試してみてください。
更新時間:2026-05-11