Table of Contents
倒立振子・自己バランスロボットとは?
倒立振子・自己バランスロボット(以下は自己バランスロボットと表記します)は、傾斜角度をセンサーで検出し、モーターを制御して姿勢を保つロボットです。 代表例は「セグウェイ」や「倒立振子ロボット」です。ロボットは以下の情報を使ってバランスを取ります。
- 加速度センサー(傾き)
- ジャイロセンサー(角速度)
- 距離センサー(障害物検知:HC-SR04)
- モーター(姿勢を戻す力)
この Vol.1 では、これらを Arduino で制御するための 回路設計 を解説します。
使用する主要部品と役割
主要部品の役割を説明します。
● Arduino UNO
ロボットの「頭脳」。センサー情報を読み取り、モーターを制御します。
● MPU6050(加速度+ジャイロ)
ロボットの傾きと傾く速度を検出するセンサー。
● HC-SR04(超音波距離センサ)
ロボット前方の障害物を検知するセンサー。 倒立制御とは直接関係しませんが、前進中の衝突防止を阻止できます。
- Trig ピン:超音波を発射
- Echo ピン:反射波を受信
- Arduino で距離を計算し、一定距離以内なら停止・回避が可能
● 連続回転サーボモーター(FS90R)
車輪を回して姿勢を調整します。 DC モーターより小型で消費電流が少ない。
● バッテリー(7.4V LiPo)
モーターと Arduino の電源です。動作時の電圧降下を避けるためモータへは別経路で5V レギュレータで安定化後に電流を供給します。
自己バランスロボットの動作は?
ロボットが前に倒れそうになると、車輪を前に回して姿勢を戻します。 後ろに倒れそうなら逆方向に回します。
この制御を行うために、Arduino は MPU6050 から以下の情報を取得します。
- 角度(傾き)
- 角速度(倒れる速さ)
さらに、HC-SR04 を使うことで、
- 前方の障害物までの距離
も取得でき、前進中の衝突を防げます。

回路構成(Arduino+MPU6050+HC-SR04+サーボ)
- Arduino UNO3と加速度・角速度センサ、連続回転サーボモータ、超音波距離センサをどのポートに接続するかを決めます。
- サーボモータ用の電源に5VレギュレータICを取り付けます。5VレギュレータICが出力されている時にLEDをONします。5VレギュレータICへはArduino UNO3のVin経由で電圧を供給します。Vinの電圧は7.4Vバッテリーから供給します。デバッグ中に連続回転サーボモータが回ると煩わしいのでトグルスイッチを付けて連続回転サーボモータ用の5VレギュレータICへの電圧の供給をON/OFFできるようにします。
● 回路図

● 配線ポイント
加速度・角速度センサ GY521(MPU6050)
- SDA → A4 (SDA)
- SCL → A5 (SCL)
- VCC → 5V
- GND → GND
超音波距離センサ HC-SR04
- Trig → 任意のデジタルピン(例:D2)
- Echo → 任意のデジタルピン(例:D3)
- VCC → 5V
- GND → GND
連続回転サーボモータ(FS90R)
- 信号線 → D5 / D6
- 電源 → 5V レギュレータから給電
- GND → 共通 GND
電源
- バッテリー 7.4VをArduino UNO R3のDCジャックへ接続
- サーボモーター用の電源は、Arduino UNO R3のVinの電圧を5V レギュレータ(LM7805)で安定化し供給する
電源設計の注意点
- サーボモータは消費電流が大きいため、Arduino の 5V ピンから直接取らないず、Vinへ供給されている7.4Vを5V レギュレータ(LM7805)で安定化して供給する。
- ノイズ対策として5V レギュレータ(LM7805)付近にコンデンサを追加する
主要部品リスト
| 部品 | 型番 | 用途 |
| Arduino | Arduino UNO R3 | 制御 |
| 加速度・角速度 センサ | GY-521 (MPU6050) | 傾き検出 |
| 超音波距離センサ | HC-SR04 | 障害物検知 |
| サーボモーター | FS90R | 駆動 |
| バッテリー | 7.4V LiPo | 電源 |
| 5V レギュレータ | LM7805 | 電源安定化 |
自己バランスロボットの構想は?
- 主要部品は決定しました。それぞれの大きさは解っているので、自己バランスロボットのどのように組み立てるかを考えます。Arduino UNOとバッテリーが大きな部品になります。色々と考えて構想をまとめました。横幅は15cm、縦は12cm程度の大きさです。
- 超音波距離センサ、加速度・角速度センサ、定電圧ICなどは自作シールドを作成し、そこに配置します。半田付けで配線する煩わしが減らします。また完成品の外観がさっぱりとします。
- バッテリーはロボットの下部に配置し重心を下げてロボットのバランスを取りやすくします。

自作シールドの部品
- 主要部品以外で自作シールで使用する部品リスト
| No. | 部品名 | 品番・仕様 | 購入先 | 員数 |
| 1 | シールド用PCB基板 | PCBメーカへ発注 | FusionPCB | 1 |
| 2 | ブロックターミナル | TB112-2-2-E-1 | 秋月電気通商 | 3 |
| 3 | 電源IC | LM7805 | 秋月電気通商 | 1 |
| 5 | セラミックコンデンサ | 1uF | 秋月電気通商 | 2 |
| 6 | Al電解コンデンサ | 470uF/16V | 秋月電気通商 | 1 |
| 7 | 角度検出センサ | GY-521 (MPU6050) | (キットに付属) | 1 |
| 8 | LED | (品番不明) | (キットに付属) | 1 |
| 9 | 抵抗 | 1KΩ | (キットに付属) | 1 |
※ キットとは「ELEGOO Arduino用のUNO R3 最終版スタータキット」です。
自作シールドの設計
- KiCADを使って自作シールドの回路図からパターンを作成し、自作シールド基板をPCB基板メーカーに発注することにしました。

- 部品の配置を3Dイメージで確認し、他の部品との干渉が起こらないか確認します。

専用シールドを発注します
- 安価な費用でPCB基板を製造するサービスが多くの企業から提供されています。またKiCADのような多機能のCADがフリーで使える状況になりました。自分自身でPCB設計をしてしまえば安価にPCBを入手できます。
- KiCADで設計したPCBをFusion PCBに発注しました。
- 発注して、5日後にシールドPCBが発送されたとの連絡がありました。発送後8日間で配達されてきました。設計したそのままにPCBが出来上がっているのは少し感動です!
- PCBの発注の費用は、PCBのサイズが10cm x 10cm以内であれば、10枚で$4.9です。(2026年1月時点の価格です。現在155円/ドル程度なので、760円です。この価格に輸送料金が加わります。輸送料金は輸送会社により異なり、$19から$29程度まで異なります。料金が高いほど輸送期間は短いようです。)
専用シールドが届きました
- 届いたPCBに部品を半田付けして、加速度・角速度センサと超音波距離センサを取り付けると完成です。

- 部品を半田付けした自作シールドをArduinoi UNOに挿入すれば結線が終了です。

筐体設計とプログラミングの記事への展開
自己バランスロボットの作成プロジェクトは分量が多いので以下のように分けて記事にしています。
- 倒立振子・自己バランスロボットの作成 – 回路設計
- 倒立振子・自己バランスロボットの作成 – 筐体設計
- 倒立振子・自己バランスロボットの作成 – プログラミング
御質問、誤植の指摘、記事の改善点の気づきなどありましたら「問い合わせ 」のページからお願いします。

