Arduinoの電源が「カチカチ落ちる」原因はこれだった

Arduinoの電源が「カチカチ落ちる」原因はこれだった

こんにちは。AI coordinatorの清水です。この記事ではArduinoにセンサー付けまくって遊びまくろーと意気込んで作成してた過程で、電源周りに割と苦労したので、同じ悩みを持つ方向けに記事にしてみました。

11.1V LiPo×Groveベースシールド運用で学んだ“brown-out(瞬断リセット)”対策

Arduinoで作品を作っていると、地味に心を折ってくるのがこれ。

  • 11.1V(3S)LiPoをDCジャックに挿したら、なぜか不安定
  • LEDや小型ファンは動くのに、サーボを動かした瞬間にArduinoが再起動
  • ループが最初から動き直す/シリアルが途中で途切れる
  • 「カチカチ…」と落ちて復帰してを繰り返す(まるで接触不良みたい)

自分もこれでハマりました。しかも、最初は「Arduino壊れた?」「バッテリー弱い?」と勘違いしがち。
でも結論から言うと、原因はかなりの確率でこれです。

負荷変動で5Vが一瞬落ちる → brown-out(瞬断) → Arduinoがリセット

つまり「壊れてる」よりも、電源設計が“Arduinoを巻き込む構造”になっているのが原因でした。
同じ悩みの人は多いはずなので、自分の学びをできるだけ再現性ある形でまとめます。

今回の構成:何をやっていたか(失敗しやすい典型パターン)

自分がやっていたのは、いわゆる「便利だから全部まとめる」構成です。

  • Arduino+Grove Base Shield(ケーブル1本で挿せて最高)
  • 電源:11.1V(3S)LiPoをArduinoのDCジャックへ
  • Groveポートに LEDライト、ミニファン などを追加して動かす
  • さらにサーボも使う(PCA9685で2個程度)
  • たまに12V系のモーターも絡む(作品によって)

この状態で、サーボが動く瞬間、あるいはLEDやファンを同時に動かした瞬間にArduinoが落ちました。

「え? 11.1Vって余裕じゃないの?」と思うんですが、
電圧が高いこと=安定ではない、というのがポイントです。

なぜ落ちる?:brown-out(瞬断リセット)の正体

Arduinoの5Vは、実はとても繊細です。
作品を作っていると「5Vだから安定でしょ」と思いがちですが、実際には

  • 電源ラインの抵抗(細いケーブル、長い配線、コネクタ)
  • 瞬間的に増える電流(サーボ、モーター、LED)
  • ノイズ(PWM、モーター、スイッチング)

の影響をすぐ受けます。

サーボやモーター、LEDは「電流が跳ねる」

特にサーボは、動き出し負荷がかかった瞬間に電流が急増します。
LEDテープやファンも、ON/OFFやPWMで切り替えると瞬間的に電流が増えたり、ノイズが出たりします。

すると何が起こるか。

  • 配線やコネクタの抵抗で 電圧が一瞬落ちる
  • GNDが揺れて マイコンが誤動作する
  • 5Vラインにノイズが乗って CPUがリセットする

この「一瞬の落ち」が、Arduinoにとって致命的です。

Arduinoは5Vが落ちると“安全のために”リセットする

Arduino(AVR系)は、電源電圧が一定以下になると誤動作しないように
brown-out(電圧低下)でリセットする仕組みがあります。

つまり「カチカチ落ちる」は、

  • 電圧が落ちる
  • リセットで復帰
  • また負荷が動いて落ちる

を繰り返しているだけ、というケースが多いです。
(この状態だと、ソフト側でどれだけ頑張っても勝てません)

11.1V LiPoが“悪い”わけではない:問題は「Arduino経由で電力を配る」こと

ここ、誤解されがちなので強調します。

  • 11.1V LiPoは強い(大電流を出せる)
  • だからモーターやサーボのピークにも耐えやすい
  • でも、強い電源ほど「配り方」が重要

今回の落ち方は、だいたいこういう構図です。

  1. ArduinoのDCジャックに11.1V(満充電12.6V)を入れる
  2. Arduino内部で5Vを作る(ここが繊細)
  3. Groveベースシールド経由でLED・ファンなどにも電力が流れる
  4. サーボが動いた瞬間に電流が跳ねる
  5. 5Vが一瞬落ちる(brown-out)
  6. Arduinoがリセット → 作品が止まる/ループが最初から

つまり、負荷の変動がArduinoの生命線(5V)に直撃しているのが原因です。

実体験で学んだこと(再現性のある結論)

ここからが今回の学びです。
同じ構成で悩む人が多いと思うので、要点を具体的に書きます。

学び1)ArduinoのDCジャックに11.1V直挿しは、意外と不安定になりやすい

11.1Vは名目で、満充電だと12.6Vまで上がります。
この状態でArduinoに入れると、Arduino側で5Vを作る部分の余裕が減り、
さらに負荷変動があると5Vが一瞬落ちやすい

結論:Arduino側は7V前後が安定しやすいです。
(電源の落ちやすさが体感で激減します)

学び2)PCA9685(サーボ)を6Vにしても、同じバッテリーなら落ちることがある

「サーボは6Vだから大丈夫」と思っても、電池が同じ=瞬間の電圧降下を共有します。

サーボが動く瞬間に電池電圧やGNDが揺れ、
Arduino側の5Vが瞬間的に落ちてリセットが起きる。

ここでのポイントは「電圧」よりも「瞬間の電流変動」です。

学び3)Grove Base Shieldは便利。でも“電源までGroveでまとめる”のは危険

Groveは挿すだけで便利です。
ただしそれは「配線が楽」という意味であって、
「大電流を安全に供給できる」という意味ではないです。

LEDテープ(60個)やミニファンは動かせてしまうので、余計に沼ります。
でも、複数付けたりサーボと併用すると、途端に不安定になる。

結論:

  • 信号はGroveでOK
  • 電源は外部で用意(作品が安定する)

学び4)11.1V LiPoで動かすなら「電源ツリー」を最初に決めるべき

これは今回いちばん大きい学びでした。
“最後に電源を考える”のではなく、最初に分岐を決める

安定する電源構成(例)

  • Arduino用:7V前後に降圧(DCジャックへ)
  • PCA9685サーボ用:6Vに降圧(大電流対応)
  • 12V DCモーター:必要ならそのまま(ただしドライバ経由)
  • GNDは共通(信号の基準がズレると逆に不安定)

「全部Arduinoに入れて、そこから分岐」だと、Arduinoが巻き込まれます。
バッテリーから用途別に分けるのが正解でした。

“今すぐ効く”対策:症状別に原因を切り分ける

同じ「落ちる」でも、落ち方で原因が見えてきます。

パターンA:サーボが動いた瞬間に落ちる

ほぼ確実にサーボの突入電流/ノイズで5Vが落ちています。

  • サーボ電源をArduinoと分離
  • PCA9685のサーボ電源近くに電解コンデンサ(470〜1000µF)
  • 配線を短く、電源線を太く

これだけで改善することが多いです。

パターンB:LEDを明るくした瞬間/複数同時点灯で落ちる

LEDテープは想像より電流を食います。
特に白や高輝度は一気に増えます。

  • LEDは外部電源へ
  • Arduinoは信号だけ
  • GND共通は必須

パターンC:何もしてないのに、一定時間で落ちる

この場合はレギュレータの発熱や、バッテリーの電圧変動も疑います。
ただ、今回のあなたのケースは「負荷変動で落ちる」なので、まずは分離が最短です。

対策チェックリスト(同じ悩みの人はここから)

最後に「ここまでやればほぼ治る」チェックリストです。

  • Arduinoへの入力を 7〜9V にしている(11.1V直をやめる)
  • サーボの電源(6V)は Arduinoと別系統 にしている
  • LEDテープ・ファンの電源は 外部給電 にしている
  • GNDは 共通 にしている(信号があるなら必須)
  • サーボ電源ラインに 電解コンデンサ(470〜1000µF) を追加した(推奨らしい。)
  • 電源ラインの配線は太く短く(作品が動くほどここが効く)

11.1V LiPoのおすすめポイント

最後に、11.1V LiPoを作品に使うメリットも書いておきます。

  • 大電流を出せる(モーター・サーボが元気に動く)
  • 同じパワーなら電流が減る(5V系より有利)
  • 12V系の機器と相性がいい(DCモータやファンなど)

ただし、その強さゆえに

  • いきなり全部を一系統にまとめると“暴れる”
  • 電源分岐と安定化(降圧・コンデンサ・配線設計)が重要

というのが今回の学びです。

FAQ(よくある疑問)

Q. 5Vピンに直接5Vを入れるのはアリ?

アリですが、外部5Vが安定していることが前提です。
(逆接・過電圧・USBとの併用などで壊しやすいので、運用ルールが必要)

初心者はまず「DCジャックに7〜9V」方式の方が事故りにくいです。

Q. なぜ7Vぐらいが良いの?

Arduino内部で5Vを作るために「少し上の電圧」が必要ですが、
高すぎると余計な熱が増えたり、変動に弱くなったりします。
現場感として7〜9Vあたりが扱いやすいです。

Q. 外部電源を分けると、GNDはどうする?

GNDは共通にします。
信号(PWMやI2C)をやり取りするなら、基準電位を揃えないと逆に不安定になります。

まとめ:落ちる原因は「brown-out」だった

Arduinoが「カチカチ落ちる」症状は、

負荷変動で5Vが一瞬落ちる(brown-out) → リセット

で説明できることが多いです。

そして対策はシンプルで、

  1. Arduinoは7V前後で入力を作る
  2. サーボ/LED/ファンは外部給電で分離する
  3. 電源ツリーを先に設計する

これで安定性が段違いに上がりました。

誰かの参考になれば幸いです。それではまた。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

LEAVE A REPLY

*
*
* (公開されません)