11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【Arduino入門編⑮】Arduino Unoへの電力供給(外部電源)および電源出力端子の使い方!【追記】

Arduino入門編の記事として以前、Arduinoの電源供給方法をご紹介しました。(こちらではテスト環境で使いやすいArduino Unoをメインでご紹介しています。)

【Arduion入門編⑩】Arduinoの主な電源供給方法!

上記記事でもご紹介しましたが、Arduino Unoでは主な電源供給方法としてUSB端子からの給電に加え、DCジャックからの外部電源(ACアダプター等使用)と外部電源用のポート(Vin)を使って給電する方法をご紹介しました。

そしてArduinoには外部に電力を供給できる5V出力端子と3.3V出力端子があります。
外部に作った回路に電力を供給したりと便利に使える電源出力端子となり、これまでこちらの端子を使いブレッドボードに組んだ回路に電力供給をするために使いご紹介してきました。

上記記事に「5V出力端子からの電圧が低くなる場合があるのですが?」というご質問を頂いたので考えられる原因を少し検証してみたいと思います。

今回は上記記事の追記的な内容となります。
DCジャックや外部電源ポート(Vin)からの給電で実際にどれだけの電圧がArduinoに供給されているのかをチェックしてみたいと思います。

Arduino Unoの電源仕様について

Arduinoはボードの種類により(NanoやMegaなど)電源仕様は多少異なりますが、こちらではArduino Unoについて見ていきたいと思います。

前回『【Arduion入門編⑩】Arduinoの主な電源供給方法!』の追記的な内容となるのでこちらも見て頂けると理解しやすいかと思います。

Arduino UnoはUSB端子からの電力供給以外にも外部電源として2通りの電源供給方法があります。

外部電源はDCジャックとVin(外部電源ポート)から供給の2通り

通常ArduinoはUSB端子を介してPCからのスケッチの書き込みを行う以外にも電力の供給(5V)も行っています。

Arduino UnoにはさらにDCジャック外部電源用のポート(Vin)からの2通りの外部電源供給方法が用意されています。
外部電源を使うことによりArduinoをPCに接続しなくても既に書き込まれているプログラム(スケッチ)を動かすことも出来ます。

①DCジャックからの電力供給

USB端子からの電力供給以外にArduino UnoはDCジャックから電力供給を行うことが出来ます。
対応電圧は7~12V(約1A)となっています。
レギュレーターを介してArduinoに安定した5Vを供給することが出来ます。

②外部電源ポート(Vin)からの給電

さらにArduino Unoには外部電源供給用のポートとしてVinピンから電力供給を行うことも出来ます。
こちらも対応電圧は7~12V(約1A)となっています。

このようにDCジャックや外部電源ポート(Vin)からの電力供給によりArduinoに安定して5Vを供給することが出来るようになっています。

そしてArduinoボード上のMOSFETによりUSBからの給電か外部電源からの供給か自動的に切り替えが行われます。(電圧が高い方に)

ここまでは以前ご紹介した内容になりますが、次にArduinoから外部に電源を供給できるポートについて見ていきます。

電源出力ポート(5V / 3.3V)

Arduino本体への電源供給方法を見ていきましたが、Arduinoには外部に電力を供給できるポートもあります。
こちらのポートから5Vおよび3.3Vの電源を外部に供給することが出来ます。

このポートについて詳しく見ていきましょう。

Arduinoボード本体から取れる5V(および3.3V)出力用の電源端子となります。
これまでブレッドボードに回路を組みこちらの端子から電力を取る形で使ってきました。
マイコンを経由していないためより大きな電流を取り出すことが出来ます。

そして上記の外部電源からの供給も併用すると安定した5V電圧を取り出すことが出来るようになります。
これはArduinoが自動的に外部電源を選択し(電圧が高い場合)、レギュレーターを通して5Vを作り出してくれるからです。

そして上記で見ていった外部電源での駆動では7~12Vの電圧が必要な点に注意が必要です。(5Vではありません!)

Arduinoには5V用のレギュレーターと3.3V用のレギュレーターが搭載されていてそれぞれの電圧を作り出しています。
そしてMOSFETにより電圧の高い方(USB端子 or DCプラグ/ Vin)に自動的に切り替える仕様となっています。

そして「電源出力ポート(5V/3.3V)からの出力電圧が低い場合がある」といったご質問がありましたが、USBハブ等使用によりUSB端子からのArduinoへの供給電圧が低いためか、または外部電源からの入力電圧が足りていないためだと思われます。

Arduinoへの電力供給にUSB端子からのみの給電ではUSBハブなどを介してArduinoに接続している場合、Arduinoへ入力している電圧が下がる場合があります。
そしてArduinoから出力する5V端子からの出力電圧もそれに伴い下がってしまう場合があります。

また外部電源のみ使用している場合、先述したようにDCプラグおよび外部電源ポート(Vin)からの入力電圧は7~12Vとなっています。
この範囲の電圧を入力することによりArduinoのレギュレーターが5V(または3.3V)の電圧を作り出してくれますが、電圧が低い場合はこちらも5V出力端子からの電圧は低く安定しません。

MEMOレギュレーターとは?
電圧レギュレーターとは、入力電圧や出力電流が変わっても常に一定の電圧を出力する回路(IC)となります。

外部電源からの供給で実際に出力されている電圧を調べてみました。
安定化電源を使いDCプラグからArduinoに電力を供給した際の5V出力端子の電圧を計測してみます。(Vinからの供給でも同様となります)

5Vから始めてみます。
DCジャックからの入力電圧の既定値は7~12Vの範囲ですが、5Vの入力では出力できる電圧は3.1Vくらいとなり不足していますね!

そこから電圧を徐々に上げていくと7V付近で出力電圧が5Vになり、そこから常に5Vが出力されているのが確認できました。

私もArduinoを始めた当初は外部電源入力は5V入力だと勘違いしていたのですが、DCジャックおよびVinからの電力供給では7V以上の電圧(上限は12V)が必要なことが分かりました。

これで今回のご質問の回答になったかと思います。

今回のポイント

今回のポイント
  1. USB端子からの電源供給では、USBハブなどを使うことによりArduinoへの入力電圧が下がりArduinoからの電源出力端子(5V or 3.3V)の電圧も下がってしまう場合がある。
  2. 外部電源(DC or Vin)から電源供給することにより安定した電圧が得られる
  3. Arduino Unoの外部電源(DC or Vin)では7V以上の入力電圧が必要

【追記】Arduinoボードの電源供給方法をまとめました!

Arduinoボードへの電源供給方法に関して、当ブログやSNSなどで質問や問い合わせを多く頂くことからさらにまとめてみました。
よく使われるArduino UnoやNanoを例にボードへの電源供給方法をまとめています。

Arduinoにはその他にも多数のボードがありUSB端子やDCジャックの有無などボードによって仕様が多少異なりますが、基本的に他のArduinoボードでも電源の供給方法は同じとなります。

こちらの記事も合わせて読んで頂ければと思います。

【電子工作】Arduinoボードへの電源供給方法まとめ!

今回使ったパーツ

Arduino UNO

Arduinoはオープンソースのハードウェアなので正規品以外にも互換品が多数メーカーから販売されています。
互換品でも正規品と比べて特に問題なく使用でき安価で入手出来るのでArduino学習用としていいですね!(ELEGOO製のArduino Unoは使いやすいかと思います。)

最後に!

私もArduinoを始めた頃は外部電源について5V入力だと勘違いしていました。
そして実際に動くものを作って電源を供給してみると今回ご質問頂いたような出力電圧が安定しなく上手く動作してくれず・・・かなりハマった記憶があります。

シリアルモニタ経由でPCからArduinoを制御しながら電源は外部から供給しテストで動かすという場面はよく出てきます。

センサーやモーターなど複数のパーツを動かす場合はArduinoとは完全に独立した外部電源を用意するのが望ましくなりますが、Arduinoの電源についての仕様を理解できていると何かと便利かと思います。
これからArduinoを始められる方は参考にしてみて下さい!

コメントを残す