SG-90 マイクロサーボ完全ガイド:Arduino制御・仕様・選定・応用まで徹底解説
RCカー、ロボットアーム、カメラジンバル——精密な角度制御が必要なプロジェクトで真価を発揮するのがSG-90 マイクロサーボです。わずか9gの軽量ボディに高トルクを詰め込み、Arduino等のマイコンからPWM信号一つで簡単制御。本記事では仕様、配線、Arduino実装、サーボ選定基準、応用例まで完全網羅します。
SG-90 サーボとは
SG-90は、パルス幅変調(PWM)信号で回転角度(0〜180°)を制御する小型ホビーサーボです。内部はDCモータ、減速ギア、ポテンショメータ、制御ICで構成され、フィードバック制御により目標角度を保持します。標準サーボ(SG-5010等)の約1/3サイズ・重量で、ブレッドボードや小型ロボットへの組み込みに最適です。
配線・ピンアサイン(3線式)
| 線色 | 信号名 | 機能 | Arduino接続例 |
|---|---|---|---|
| 茶色 / 黒 | GND | グランド(0V) | GND |
| 赤 | VCC | 電源入力(4.8〜6V、典型5V) | 5V *注意下記 |
| 橙 / 白 / 黄 | PWM / Signal | 制御パルス入力(50Hz, 0.5〜2.5msパルス幅) | D9 等のPWMピン |
主要仕様(典型値)
| 項目 | 仕様 |
|---|---|
| 重量 | 約 9g |
| 寸法 | 31 × 11.8 × 22.2 mm |
| 動作電圧 | 4.8V(典型 5V) |
| ストールトルク | 1.8 kgf·cm (4.8V) / 2.2 kgf·cm (6V) |
| 動作速度 | 0.10 sec/60° (4.8V) / 0.08 sec/60° (6V) |
| デッドバンド幅 | 10 μs |
| 動作温度範囲 | 0℃ 〜 55℃ |
| 回転範囲 | 0° 〜 180°(パルス幅 500〜2500μs 対応) |
| ギア材質 | ナイロン樹脂(金属ギア版: MG90S/MG995等) |
同等・上位互換サーボ
| 型番 | 特徴 | 用途 |
|---|---|---|
| MG90S | 金属ギア、SG-90同サイズ、トルク/耐久性向上 | 負荷大/長寿命要求 |
| MG995 / MG996R | 標準サイズ、金属ギア、高トルク(10〜15 kgf·cm) | ロボットアーム/脚部 |
| VTS-08A | アナログサーボ、SG-90互換サイズ | 代替品 |
| SG-90 360°連続回転版 | 角度制御→速度制御、車輪駆動用 | ロボット車輪 |
サーボ選定 4つの判断基準
- 必要トルク:負荷質量 × アーム長 で必要トルク算出。余裕率1.5〜2倍で選定。電圧上げるとトルク向上(6V駆動可否確認)
- 回転角度:180°未満なら標準サーボ。360°連続回転必要なら「連続回転サーボ」または「勝手に改造(ポテンショメータ固定+ギア切断)」
- ギア材質:長時間/高負荷/振動環境なら金属ギア(MG90S/MG995)必須。樹脂ギアは剥離リスクあり
- 重量・サイズ制約:マイクロ(9g)・ミニ(20g前後)・標準(40〜60g)から選択
Arduino で SG-90 を制御する
必要部品
- Arduino UNO (または Nano/Leonardo/Mega 等)
- SG-90 サーボ
- ブレッドボード、ジャンパワイヤ
- 外部電源(重要):サーボ複数や高負荷時、Arduino 5Vピンからの給電はレギュレータ/USB電流制限で不安定。別途5V/2A以上のACアダプタやLiPo+BEC推奨
配線図
基本スケッチ(標準ライブラリ使用)
#include
Servo myServo;
const uint8_t SERVO_PIN = 9;
void setup() {
myServo.attach(SERVO_PIN, 500, 2500); // パルス幅範囲指定(μs)
Serial.begin(115200);
}
void loop() {
// 0° → 180° → 0° スイープ
for (int pos = 0; pos <= 180; pos++) {
myServo.write(pos);
delay(15);
}
for (int pos = 180; pos >= 0; pos--) {
myServo.write(pos);
delay(15);
}
// 任意角度指定例
// myServo.write(90); // 90度
// myServo.writeMicroseconds(1500); // パルス幅直接指定(μs)
}
複数サーボ制御のポイント
- Arduino UNO: 最大12サーボ制御可能(Servoライブラリ仕様)。ただし電源は必ず外部から
- 電源ラインに大容量電解コンデンサ(470〜1000μF) + セラミック(0.1μF)でリップル対策
- サーボ間の干渉防止で、信号線に100Ω程度の直列抵抗推奨
主な応用例
- ロボットアクチュエータ:ヘキサポッド(6脚)、バイペッド(2足)、ロボットアーム(関節駆動)
- RC模型:ステアリング、スロットル、ラダー、エレベータ
- 位置制御フィードバック不要システム:カメラパンチルト、ソーラートラッカー、自動給餌器
- 多自由度ヒューマノイド:軽量化必須箇所にSG-90/MG90S採用
- 教育/プロトタイピング:制御理論実験、PID制御デモ
よくあるトラブルと対策
| 症状 | 原因 | 対策 |
|---|---|---|
| ジッター/ガタガタ動く | 電源電圧降下/ノイズ | 外部電源、GND共通、デカップコン、信号線100Ω |
| 全く動かない | 配線間違い/電圧不足/信号未出力 | 配線確認、5V外部給電、Serial.printでデバッグ |
| 特定角度で止まる/振動 | ポテンショメータ接触不良/ギア噛み合わせ不良 | サーボ交換、MG90S等金属ギア版検討 |
| 発熱/焦げ臭い | ストール状態継続/電流過大 | 負荷軽減、トルク大きいサーボに変更、電流制限 |
結論
SG-90は「安い・軽い・扱いやすい」三拍子揃ったエントリーサーボの決定版です。ArduinoのServo.hライブラリで数行のコードで制御でき、外部電源さえ確保すれば複数台同時制御も容易。より高トルク・長寿命が必要ならMG90S、大型ロボットならMG995系へステップアップ可能です。あなたのプロジェクトに最適なサーボ選定・回路設計でお困りなら、お気軽にご相談ください。
産業技術
- ArduinoとHC-SR04で作るサーボ駆動障害物回避ロボット
- Arduino Nanoとジョイスティックで2軸ステッピングモーターを制御:Visuinoで簡単プログラミング
- Bluetoothで複数サーボを制御:Arduino & Androidアプリ
- IQ Motion Control、ロボティクス・産業用途向け高性能・コスト効率サーボモーターを発表
- 精度最大化:ギアヘッドとサーボモータの最適ペアリング
- 高度なモータ制御回路:ラッチング、停止、タイムディレイ技術
- ステッピングモーター:種類、特性、実用応用
- ブラシレスDCモーター:設計、構造、先進応用
- 単相誘導モーターの理解:種類、動作、効率改善
- AC整流子モーターの理解:設計、種類、応用
- 油圧モータ速度制御:PWM・リモート制御・最新デジタル技術の実践ガイド