秋月電子通商で販売されている安定化電源キットを利用して自作した安定化電源を紹介します。
「安定化電源って必要?」「そもそも何ソレ?」と思われる方もいると思いますので、少し説明します。
電子工作をしていると、「あー、今この電圧の電源がほしい。」という場合があります。(笑)
安定化電源は、指定した電圧(ものによっては電流も)を作ることができる電源のことです。
ArduinoなどのUSB端子が付いているマイコンボードを使った電子工作をする場合、プログラミング中はUSBでパソコンとつなげてUSBからの給電で動かせますが、本番はパソコンから切り離して何らかの電源で動かすことがほとんとでしょう。
マイコンボードやセンサー、モーターなどの部品には電圧・電流の規格があり、適切に電源供給する必要があります。
工作の初期段階では、電源まで完璧に構成する前に、部品との通信等の動作確認を行い、大丈夫そうなら電源を含め配線するという流れになると思います。
この初期段階で安定化電源は役立ちます。
最終的に電池で動かすものであっても、テスト段階では安定化電源を使いたくなります。
乾電池は使っているうちに弱っていくので、テスト段階では安定化電源を使い、本番は乾電池にするという使い分けをします。
安定化電源がほしくなってきましたか?…そうでもないですかね。
本記事では安定化電源の制作方法、改造のポイント、失敗例、注意点などを紹介しますので、これから自作する方に参考にしていただけると思います。
以下の動画に制作過程で試行錯誤した様子なども収めています。
使用したもの
手持ちの部品を使ったものもありますので、以下をすべて購入して作成したわけではありませんが、できるだけ同等のものを下表に記載しました。
部品名 | 価格 | 補足 | |
---|---|---|---|
秋月安定化電源キット | ¥600 | LM338T版を購入したが、途中で破壊してしまい、単品購入したLM350Tに置き換え | |
電源トランス | ¥4,070 | あくまで一例、実際に使用したのはオーディオ機器から外した100V入力、出力3種(36V、13.7V、10.4V) | |
整流ダイオード | ¥80 @10個 | 1000V、2A | |
2kΩ可変抵抗 | ¥40 | 電圧調整用 | |
ボリューム用ツマミ | ¥20 | ||
120Ω抵抗 | ¥200 @100本 | 電圧調整幅変更のためキットのR1を200Ω→120Ωに置き換え | |
電解コンデンサ | ¥110 | 22000uF、50V | |
セラミックコンデンサ | ¥15 | 0.1uF、250V | |
ワイヤー | ¥300 | あくまで一例、出力およびトランス周りの配線は太いほど良い | |
Arduino Pro Mini | ¥295 | アナログ値測定、TFT液晶制御用マイコンボード | |
USBシリアル変換モジュール | ¥490 | Arduino Pro Miniスケッチ書き込み用 | |
TFT液晶ディスプレイ0.96インチ | ¥1,001 | 電圧値表示用 | |
ユニバーサル基板 | ¥521 | Arduino Pro Mini、TFT液晶モジュール配線用 | |
冷却ファン | ¥980 | 12V、2線式 | |
ターミナル | ¥429 | 電源取り出し用 | |
ELPA 照光式スイッチ レッド HK-PSL01H(R) | ¥476 | 電源スイッチ用 | |
電源コード | ¥158 | 電源プラグ | |
電源コード | ¥270 | 電源コード | |
ヒューズ | ¥30 | 250V、5A | |
ヒューズホルダー | ¥30 | ||
木材(箱用) | - | - | ケース用 |
木ネジ | ¥552 | 箱固定用 | |
M3ネジ | ¥790 | 基盤固定用 | |
アクリル 絵の具 | ¥1,127 | 木材塗装用 | |
木材用ニス | ¥955 | 木材つや出し用 |
安定化電源キットの紹介
以下は秋月の安定化電源キットに付属する説明資料にある回路図です。
上図のコメントのとおり、キットに含まれるのは整流回路以降の右側部分のため、家庭用100V交流電源に差し込むプラグ、スイッチ、ヒューズ、トランス、整流ダイオードは別途用意する必要があります。
不要になったパソコン用などの電源コードがある場合は、左半分の整流回路の代わりに直流15V程度を出力しているものなどを利用することも考えられます。
このように、交流から直流に変換する左半分は、様々な構成が考えられ、どのような構成にも対応できるようにするため、キットには含めていないのだと思います。
ここまで読んでいただいてお分かりと思いますが、上記キットは電圧を調整することができても、何Vを出力しているのか把握する機能がないので、テスターで測りながら出力電圧を調整し、出したい電圧になったことを確認してから電源供給したい機器につなぐという使い方になります。
これではさすがに使いづらいので、Arduino Pro Miniと小型液晶ディスプレイを付けて、電圧表示する機能を加えました。
回路図
下図は電圧表示機能を含めた全体の回路図です。
安定化電源部(上)と電圧表示部(下)は別のトランス出力を使用し、表示に使用する電流が電源生成に影響を与えないようにしています。
右上の点線枠が秋月の安定化電源キット部分で、以下の箇所をキット付属のものから変更しています。
- R1: 200Ω → 120Ω
- RV: 複数R(0〜2kΩ)+1kΩ半固定抵抗 → 2kΩ可変抵抗
当初、R1は200Ωのまま可変抵抗2kΩを使っていたのですが、出力が13Vくらいまでしか出ず、次に5kオームにすると今度はボリュームを少し回すと大きく出力電圧が変わり、微調整が難しくなりました。
3kΩの可変抵抗を探したのですが見つからず、かといって電圧を調整するために2kΩと1kΩの2つのボリュームを付けるのもカッコ悪いと思い、R1の抵抗値を変えることにしました。
出力電圧値はR1とRVの比で決まるのでR1を小さくすると2kΩの可変抵抗による変動幅が大きくなり、所望の15V程度まで出せるようになりました。
LM338T/LM350TはR1の抵抗値によらず、R1にかかる電圧が1.25Vになるように動作します。
制作手順
トランスの確認
私の場合、壊れたオーディオ機器を分解して取っておいたトランスを再利用したので、何Vを出すトランスなのか調べるところから始めました。
結果は以下で、No.2を安定化電源用、No.3を電圧表示用に割り当てることにしました。
出力系統No. | 交流電圧 | 整流後直流電圧 | 用途 |
---|---|---|---|
1. | 36V | 48.8V | - |
2. | 13.7V | 17.5V | 安定化電源生成用 |
3. | 10.4V | 12.7V | Arduino Pro Miniと小型液晶ディスプレイST7735Sの給電用 |
安定化電源キット組み立て
部品をはんだ付けして組み上げると下図のようになります。
整流ダイオードはキットには含まれていないものの、基板には取り付け部分があるので、別途購入の整流ダイオードもはんだ付けします。
トランスや電源プラグをつなぎ、テスターで動作確認をします。
可変抵抗のツマミを回して出力電圧値が変えられることを確認します。
表示部の作成
回路図の下半分Arduino Pro Miniと小型TFT液晶モジュールの動作確認を行います。(スケッチは次章に記載)
まずは以下のようにブレッドボードで接続してアナログ入力値を表示できることを確認します。
動作が確認できたら、ユニバーサル基板などに取り付け、配線をはんだ付けします。
裏から見るとこんな感じ↓。
再度動作確認を行います。
全回路接続
以下のように回路すべての接続を行います。(下図はまだ接続していない部品あり)
冷却ファンや2系統目の整流部が横たわっているのがわかると思います。
上の写真の左側に見えているのは、Arduino Pro Miniへのスケッチ書き込みにしようするUSBシリアル変換モジュール(FTDI)です。
Arduino Pro MiniはUSB端子が無く、USBシリアル基盤を書き込み用ピンに接触させてスケッチを書き込みます。
ケースに収める
ホームセンターで激安で入手した端材をノコギリ、糸ノコ、電動ドリルなどで加工し、ケースを作りました。
100Vなどの高電圧を扱うため、基盤むき出しだとショートや感電が怖いので、ケースが無いと使いづらいと思います。
長めのM3ネジをネジ切りでちょうど良い長さに切り(下図)、底面に基盤とトランスを固定しました。
組み上げるとあまりに素っ気なかったので、流行りの鬼滅の刃をイメージした絵をアクリル絵の具で描き、ニスでコーティングしました。
この外観は家族の受けも良かったです。(笑)
で、何に使うものなの??って感じですが・・・
私は木でケースを作りましたが、電源は大電流を流すと発熱するため、加工する道具をお持ちの方は金属で作った方が良いと思います。
Arduinoスケッチ
ツール→ライブラリを管理 から検索部にTFTと入力して一番上に出てくるTFTと表示されるライブラリを使用しました。
私の場合、インストール済みでした。
上記赤枠内のMore Infoというリンクを押すと使い方やサンプルが載っているサイトが表示されます。
以下はサンプルに少し修正を加えたArduino Pro Mini用のスケッチです。
#include <TFT.h> // Arduino LCD library #include <SPI.h> // pin definition for the Uno #define cs 10 #define dc 9 #define rst 8 // create an instance of the library TFT TFTscreen = TFT(cs, dc, rst); // char array to print to the screen char sensorPrintout[6]; char sensorPrintout_prev[6]; // Value buffer #define AVENUM 30 float voltage_buf[AVENUM] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int vol_p = 0; void setup() { // Put this line at the beginning of every sketch that uses the GLCD: TFTscreen.begin(); // clear the screen with a black background TFTscreen.background(0, 0, 0); // write the static text to the screen // set the font color to white TFTscreen.stroke(255, 255, 255); // set the font size TFTscreen.setTextSize(2); // write the text to the top left corner of the screen TFTscreen.text("Sensor Value :\n ", 0, 0); // ste the font size very large for the loop TFTscreen.setTextSize(5); } void loop() { // Read the value of the sensor on A1 voltage_buf[vol_p++] = analogRead(A1) * 0.022; if(vol_p == AVENUM) vol_p = 0; float voltage = 0.0; for(int i = 0; i < AVENUM; i++){ voltage += voltage_buf[i]; } dtostrf(voltage / AVENUM, 2, 2, sensorPrintout); if(strcmp(sensorPrintout, sensorPrintout_prev) != 0){ // erase the text you just wrote TFTscreen.stroke(0, 0, 0); TFTscreen.text(sensorPrintout_prev, 10, 50); // set the font color TFTscreen.stroke(255, 255, 255); // print the sensor value TFTscreen.text(sensorPrintout, 10, 50); } delay(100); strcpy(sensorPrintout_prev, sensorPrintout); }
0.1秒おきに電圧値を測定し、直近30回分の平均値を表示するようにしています。
常に表示をするとチラついて見づらかったので、値が変わったときのみ表示するようにしました。
アナログ入力A1で電圧値を計測しています。
Arduinoは5Vまでしか入力できないため、回路図のR2、R3により1/5に分圧した値を計測し、テスターの値と合うように係数(上の例では0.022)掛けしています。
使い方
以下の手順で使用します。
- コンセントにプラグを差し込む
- スイッチをON(赤く点灯)
- ゆっくりとツマミを回し、液晶表示を見ながら所望の電圧値に合わせる
- ワニグチクリップなどで給電したい機器をつなぐ
失敗したこと
作成途中段階でいろいろと試行錯誤したのですが、その際の失敗について紹介します。
機器に給電すると電圧降下
当初、トランスの3つの出力系統のうち、最も電圧が高いNo.1を使って、20Vまで出力できるようにしようとしたのですが、出力端子に機器を接続して給電をすると、みるみる電圧が下がってしまい、役に立ちませんでした。
LM338Tのデータシートを見ると入力と出力の電位差に関するスペックがあり、問題に気づきました。
前述のトランスの表のうち、No.1は整流後電圧が50V近くあり(無負荷時)、5Vの電圧を出力しようとすると入力と出力の電位差は35V以上になり、上のグラフの線が途切れる部分になるため、まるで電流能力がない状態になっていました。
よく使う3〜5Vで使えるようにするため、最大電圧20Vはあきらめ、No.2の17.5Vを3端子レギュレータの入力に使うことにしました。
これにより、最大出力電圧は15V程度になりましたが、3〜5Vでも問題なく電源供給できるようになりました。
Arduino Pro Miniの定格超え
Arduino Pro MiniのRAW端子への入力電圧は、8〜12Vとなっています。
12.7Vでも大丈夫かなと思って入れてみたら壊れてしまいました。
前述の回路にあるR4 100Ωはそのために入れています。
部品の破損
3端子レギュレータが動作時にどの程度熱くなるのか確かめようと、指で触れた際にヒューズが切れて電源が落ちました。
3端子レギュレータの黒い絶縁部を触ったつもりが、端子部に触れてしまったのか、もしくは静電気により誤動作を引き起こしたのかもしれません。
触るならヒートシンクにすべきですね。
このあと、ヒューズを取り替えてもR1(下図矢印)が焼き焦げるようになってしまったので、部品を基盤から外して確認したところ、3端子レギュレータLM338Tが壊れていました。(涙)
LM338Tは正常であればはadj-out間を1.25Vに保ちますが、破損後はそうなっていませんでした。
ただし、上記の前にRVに何も抵抗をつながずに電源を入れてしまった(倍率無限大)ことがあり、このときにLM338Tが壊れてしまったのかもしれません。
秋月では単品でLM338T(最大5A)を売っていないようで、LM350T(最大3A)を購入して置き換えました。
3端子レギュレータを置き換えても正常動作しなかったのでさらに確認したところ、整流ダイオードのうち1つが壊れていることがわかりました。(涙)
これも基盤から取り外して1つずつテスターのダイオードテストで検査すると、両方向導通しているものがあり、判明しました。
ヒューズが切れたら、一度部品をすべてチェックすることをおすすめします。
制限事項
LM350Tはスペック上3Aまで供給できますが、5V 3AのRaspberry Pi 4Bに給電して動かそうとすると、起動の途中にリセット状態に移行してしまい、起動できませんでした。
おそらく瞬時の大電流に電源供給が追従できず、電圧降下が起こったためと考えられます。
市販の安定化電源と比べると瞬時変化への追従機能は弱いようです。
Raspberry Pi 3Bは正常に起動できました。
まとめ
電源は電子工作をする上で欠かせず、安定化電源を自作する中で試行錯誤したり調べたりすることで勉強になり、電源回路のおもしろさと奥深さに気づくことができました。
私の場合、秋月のキット以外にも使った部材を考慮すると結局6千円以上かかっていると思いますので、オーディオから外したトランスや木材など手持ちの部品を活用したにも関わらず、金額的には市販品を購入するのと同程度かかってしまいました。
電源の回路を学びたい方に自作(失敗、解析、克服を含め)は良い経験になると思いますが、苦労の割に性能面では市販品に劣り、費用も同程度かかるので、どなたにもおすすめできるものではありません。
サクっと進めたい方は↓のような市販品の購入したほうがよいと思います。
さんざん説明しておいてソレかい…という終わりですみません。
参考文献
- LM317使用 可変電圧レギュレータ(簡易電圧計・簡易電流計付き)(http://jsdiy.webcrow.jp/vameter/)
- 秋月電子のキット「大容量出力可変安定化電源キット LM338T使用 最大5A」を製作してみた(https://jun-odyssey.at.webry.info/201305/article_3.html)