Arduino DUEにTFTシールドを装着して、色々なアプリケーションを作って見ているのですが、その時にすごく困るのが3.3V電源の確保なのです。
下図の様に、DUEに挿さったTFTシールドが、1本しかないDUEの3.3Vピンソケットを塞いでしまうため、3.3V電源を引き出すことが出来ないのです。
外部に何らかの回路を構築するアプリケーションの場合、どうしても3.3V電源が必要となるため、不便でなりません。今までは、DUEの5Vピンソケットから電源を供給し、降圧電源モジュール(下図)で3.3Vを生成していました。
これで3.3V電源問題は解決、なのですが、難点を上げるとすると、スペースを喰う事です。下図の様なミニブレッドボードに回路を構築しようとしても、上図の電源モジュールは大きすぎて載りません。
そこで、小さくてミニブレッドボードでも使い易い三端子レギュレータを購入してみました(下図)。
LM1117-3.3というレギュレータです。メーカマークから、ナショナルセミコンダクタ製だと判りました。
LM1117のデータシートを検索する(別ウインドウが開きます)
3本の端子はGND/Vout/Vinというシンプルな構造です。本体の上に伸びて穴が開いているヒートシンク部分もVoutになっています。
※LM1117データシートから引用
使い方もシンプルで、入力と出力端子にコンデンサを繋ぎ、入力端子に電源を接続するだけでOKです。コンデンサにはタンタルコンデンサ(Tantalum)が指定されていますが、手元にタンタルコンデンサはありませんので、上図で指定された10μFの電解コンデンサで代用します。
タンタルコンデンサの指定は、周波数特性や温度特性などの特性面を考えての事だろうと思いますが、正確な理由は知りませんm(1__)m。心配な方は、ちゃんとタンタルコンデンサを入手して使ってください。
LM1117-3.3を実用する前に最低限、以下の項目について評価して確かめておきたいと思います。
評価方法ですが、出力電圧を可変にできるタイプの降圧電源モジュール(下図)を使ってLM1117-3.3の入力電圧を作ります。
モジュール上の可変抵抗器で出力電圧を可変にできるので、ここからLM1117-3.3の入力電圧Vinへ供給します。LM1117-3.3の入・出力電圧をUNOのアナログ端子で測定して、出力電圧特性を測定します。
評価回路は以下の通りです。
一応、出力のVdd側に負荷回路としてLEDを接続しておこうと思います。電流制限抵抗は1kΩを使います。LEDのVf≒2.0Vと仮定すると、If=(Vdd−Vf)/1kΩ≒1.3mA程の負荷となります。
その他、UNOにLogiscopeを書き込んで、適切なアナログ端子と上回路のVcc,Vddを接続してください。例えば、Vcc→A0、Vdd→A1等。Logiscopeの【ina】コマンドなどでアナログ端子A0,A1の電圧を測定します。
以下、実験中の様子です。
降圧電源モジュールにもドロップアウト電圧があるので、UNOから5Vを供給しても4V程度の出力しか出ません。よって、上図の様にACアダプタから9Vを供給しています。降圧電源モジュールからは最大で8V程度の出力が得られることになります。
UNOのアナログ端子に5V(正確にはVcc+0.5V)以上の電圧を印加すると、絶対最大定格違反となってUNOが壊れてしまいますので、降圧電源モジュールの出力が5Vを超えないよう、細心の注意を払って実験してください。
以下図に評価結果のグラフを示します。
横軸にLM1117-3.3の入力電圧Vin[V]、縦軸に出力転圧Vout[V]を取っています。
雑感:
ちゃんとした測定装置を持っていないので、出力電圧Vinの絶対値については、ちと微妙(ぐでぐで(1x_;))でしたが、ドロップアウト電圧の方は、ほぼ規格通りの値だと判りました。少なくとも、DUEから5Vを給電する分には問題なく3.3V電源を生成できるようです。
乾電池🔋などを使って3.3V電源を作る場合には、3.3V+Vdo<Vinとなるように、入力電圧Vinを用意する必要があります。規格値を使うなら、Vdo=1.2V(MAX)なのでVin>4.5Vであり、eneloop(1.2V)だと、4本が必須です。アルカリ乾電池(1.5V)だと、3本でちょうど4.5V(マージン無し)なので、ちょっと迷うところですね。
今回のお買い物は、以下の通りです。
追加購入したATmega328と一緒に購入した部品です。85円で2個入っていました。
ここ(本HP)の電子工作も、DUE(3.3V定格)を使うケースが増えてきています。さらに、TFTシールドがかかわってくると、三端子レギュレータが活躍する場面が増えることでしょう。