プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

Arduinoの電源電圧はいくら必要か?

Arduinoの電源電圧は何ボルト必要か?

公式の仕様としては、推奨7~12V、最低6~20Vとあります。

ではこの電圧範囲を超えると何が起きるのでしょうか?
上限は部品の損傷ということが第一に考えられますので、ここでは除外します。
入力の下限を切ったらどうなるのかを調査してみました。

いろいろなpinを実測してみる


電源電圧が不足するとGPIOの出力他が不足すると考えられます。
これが標準状態と比べて変化する点を限界点(最小)とします。

グラフの系列はPWM dutyで、縦軸はPWMをローパスフィルターした電圧です。
USB入力は5Vですが、DCジャックからの入力とは系統が異なります。
USBの5V入力または推奨の7V以上では出力電圧が安定していることが確認できました。
これを下回るとPWMの出力、他のPinの出力電圧が低下し4Vでは、ほぼ出力が無くなりました。
最低限、とかかれている6Vも出力は下がっていることが分かります。


回路図から確認してみる

Arduino Unoの関連図面は以下にあります。
Arduino Uno Rev3store-usa.arduino.cc
回路図
https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf

まずUSB入力は、5VはそのままUSBからの5Vを使っていて、3.3VはLP2985というレギュレータが入っています。

https://www.ti.com/lit/ds/symlink/lp2985.pdf?ts=1649581986476&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252Fja-jp%252FLP2985%253Futm_source%253Dgoogle%2526utm_medium%253Dcpc%2526utm_campaign%253Depd-dlp-ecd-prodfolderdynamic-cpc-pf-google-jp%2526utm_content%253Dprodfolddynamic%2526ds_k%253DDYNAMIC%2BSEARCH%2BADS%2526DCM%253Dyes%2526gclid%253DCj0KCQjwgMqSBhDCARIsAIIVN1U8dPpq6WCbPQy6eHz_8GmIpFAJmOv1JVcxacEhQ-T29FyP2Zd-zr0aAkp6EALw_wcB%2526gclsrc%253Daw.ds
ちなみに、このレギュレータは最大入力が16Vなので、USB経由で16Vをいれても大丈夫と考えられます。
※ただし、このUSBからとった5Vが他にも使われています。そのすべてが16Vを入れてもOKというわけではありません。

DCジャックからの入力はダイオードを通ってそのままVINに入っています。
電源電圧とVinとの差はこのダイオードの順方向電圧と考えられます。

次にNCP1117というレギュレータで5Vを作っています。
このレギュレータのMaximum Input Voltageが20Vとなっています。
これによりArduino公式の上限値が20Vとなっているということになります。


https://www.mouser.jp/datasheet/2/308/NCP1117_D-2307187.pdf

まとめ

ArduinoのDCジャックからの入力は7~20Vであることが分かりました。
下限はArduino公式の推奨値と一致し、上限はレギュレータの入力上限で決まっています。
電源電圧が変動する可能性がある場合は、電源電圧が下振れしたとき7V以上を確保する必要があるといえます。
USBの場合は通常ACアダプターからの電源を使うのでそれなりに安定していると思いますので、気にすることは少ないかと思います。