±12Vの両電源をLM2596で作る

Aliexpress で購入したLM2596モジュールを使って、モジュラーシンセ用に電源を作ろうと思います。安価なスイッチング電源なのでスイッチングノイズが発生しますが、これもモジュラーシンセにはある種の味なのかとの思い込みで進めます。モジュラーシンセの電源構成は±12Vと5V なので、LM2596でマイナス電源を作る必要があります。

データシートにはマイナス電源の推奨回路が載っていますし、2つを並列に繋いだ正負電源の作り方を紹介した Youtube動画もありますので、それらを参考にして作ってみようと思います。

LM2596

スペック

両電源をLM2596で作る理由は、おおもとの電源が1つのACアダプタで済むことに加え、3端子レギュレータよりも効率が良く発熱に有利だからです。ひとつのACアダプタから3つのLM2596を経由して、±12Vと5V を作る計画です。

基本構成

  • ACアダプター:Nintendo Wii用 15V、5A (WUP-002 )
  • 降圧モジュール:LM2596 (Aliexpress)x3個
    • 参考 Official specifications:
      • モジュール特性:非絶縁降圧
      • 整流モード:非同期整流器
      • 入力電圧: 3V-40V
      • 出力電圧:1.5V-35V
      • 出力電流:定格電流は2A、最大3A(追加のヒートシンクが必要です)
      • 変換効率:92%(最高)
      • スイッチング周波数:150KHz
      • 出力リップル:30mV (最大)
      • ロードレギュレーション:±0.5%
      • 電圧レギュレーション:±2.5%
      • 作業温度:-40 °C ~ +85 °C
      • 寸法:43mm*21mm*14mm (長さ*幅*奥行き)

電圧、電流

+12V : 1.5A
-12V : 1.0A
+5V : 1.0A
Tiptop Micro Zeusとかを参考にして、これらの目標値を適当に決めました。モジュールの消費電力を50mAと仮定すると、20個程度のモジュールに電力供給が可能な計算です。また、3電圧源合計で3.5Aに対して変換効率0.7のとき、3.5(A)/0.7=5.0(A) となるので、Wiiの15V 5A アダプタで賄えるという胸算用です。
LM2596は正電圧で公称定格2A出力です。 データシートをみると、負電圧では1Aそこそこのようです。

気になるのはLM2596のスイッチングノイズです。特に、アリエクLM2596はまず偽物で、スイッチング周波数は正規品の150kHzに比べて50kHzと低く、その分スイッチングノイズがより大きくなることが予想されます。

機能とサイズ

ユーロラック 4HP、若しくは6HPパネル(厚み20mmか、30mm)
各電圧の起動/動作確認用LED
電源スイッチ

両電源回路

データーシートを参考に下記の回路構成としました。


考慮すべき要件は

  1. 遅延スタートアップ
  2. 反転レギュレータ
  3. 入力および出力コンデンサ
  4. ノイズ/リップルフィルタ
です。それぞれについては、 データシートの内容を下記に引用します。

1.遅延スタートアップ

遅延スタートアップ機能は、入力電源の電流に限界がある状況で役立ちます。この機能によって、入力電圧が十分に高くなってから、レギュレータの動作を開始することができます。

図8-5の回路は、ON/OFF ピン5 を使用して、入力電圧が印加されてから出力電圧が上昇するまでの時間を遅延させます。入力電圧が上昇すると、コンデンサ C1 が充電されることによって ON/OFF ピン5 が High になり、レギュレータは OFF のままに維持されます。入力電圧が閾値1.3V に達するとON/OFF ピン5 が Low になり、コンデンサの充電が停止した後で抵抗 R2 によって回路のスイッチングが可能になります。

2.反転レギュレータ

図 8-5 の回路は、正の入力電圧を、共通のグランドを持つ負の出力電圧に変換します。この回路は、レギュレータのグランド・ピンを負の出力電圧にブートストラップしてから、フィードバック・ピンを接地することで動作し、レギュレータは反転出力電圧を検出してレギュレートします。

レギュレータの両端に発生する最大電圧は、入力電圧と出力電圧の絶対和で、これを最大 40V に制限する必要があります。たとえば、 +20V を -12V に変換する場合、レギュレータの入力ピンとグランド・ピンの間に 32V が発生します。LM2596 の最高入力電圧仕様は 40V です。

このレギュレータ構成では、追加のダイオードが必要です。ダイオード D1 は、軽負荷または無負荷の状況で、入力電圧のリップルやノイズが $C_{IN}$ コンデンサを経由して出力と結合することを防止するために使用されます。また、このダイオード絶縁により、トポロジが降圧構成とよく似たものに変化するため、閉ループの安定性が向上します。入力電圧が低い場合はショットキー・ダイオードの使用を推奨しますが (電圧降下が小さいため)、入力電圧が高い場合は高速リカバリダイオードを使用できます。ダイオード D3 を使用しないと、入力電圧が最初に印加されたとき、$C_{IN}$ の充電電流により、出力が短い時間だけ正の方向に数ボルトだけシフトする可能性があります。D3 を追加すると、出力がダイオードの電圧を超えて正になることを防止できます。

3.入力および出力コンデンサ

入力ピンとグランド・ピンの間には、 低 ESR のアルミまたはタンタルのバイパス・コンデンサが必要です。このコンデンサは、入力で大きな電圧過渡が発生することを防止し、スイッチが ON になるたびに必要になる瞬間的な電流を供給します。

入力コンデンサの重要なパラメータは、電圧定格と RMS 電流定格です。降圧コンバータの入力コンデンサに流れる RMS 電流は比較的大きいため、このコンデンサは容量や電圧定格ではなく RMS 電流定格で選択する必要があります。ただし、容量の値と電圧定格は RMS 電流定格に直接関係します。

電解コンデンサの値、電圧定格、定格 RMS 電流の相互の関係を、図 9-1 に示します。


出力をフィルタリングし、レギュレータのループ安定性を実現するには、出力コンデンサが必要です。スイッチング・レギュレータ・アプリケーション用に設計された、低インピーダンスまたは低 ESR の電解またはソリッド・タンタル・コンデンサを使用する必要があります。出力コンデンサを選択するとき、重要なパラメータは 100kHz の ESR、RMS リップル電流定格、電圧定格、容量値です。出力コンデンサでは、ESR の値が最も重要なパラメータです。

出力コンデンサには、上限および下限を持つ ESR 値が必要です。出力リップル電圧が低い場合は、ESR 値が低い必要があります。この値は、許容される最大出力リップル電圧、通常は出力電圧の 1%~2% によって決定されます。

アルミ電解コンデンサの ESR 値は、容量値とその電圧定格に関係します。ほとんどの場合、高電圧の電解コンデンサほど ESR 値が低くなります (図 9-2 を参照)。

4.ノイズ/リップルフィルタ

連続モードで動作するスイッチング電源の出力電圧には、スイッチャ周波数ののこぎり波のリップル電圧が含まれ、のこぎり波のピークにおける短い電圧スパイクも含まれることがあります。

出力リップル電圧は、インダクタののこぎり波リップル電流と、出力コンデンサの ESR の関数です。出力リップル電圧の標準値は、出力電圧の約 0.5%~3% の範囲内です。リップル電圧を低くするには、出力コンデンサの ESR を低くする必要があります。ただし、ESR が非常に低いコンデンサを使用すると、ループの安定性に影響し、発振の問題が起きる可能性があることに注意してください。

極めて低い出力リップル電圧 (20mV 未満) が要求される場合は、ポスト・リップル・フィルタをお勧めします (図 9-10 を参照)。





シミュレーション


回路

使用するLM2596はスイッチング周波数が50kHzの偽物なので、シミュレーションはスイッチング周波数が50kHzのLM2576のモデルを使います。ともに、 TIのサイトから入手できました。

シミュレーション回路は前項の各項目を反映させています。また、出力コンデンサとリップルフィルタの定数は LM2576のデータシートに載っていた値にしています。


スタートアップ特性とリップルノイズ

正電圧(pos) は50msで+12V に立ち上がり、負電圧(neg) は16msの遅延時間を待って、その後 60msまでに -12V に立ち上がっています。

負電圧の遅延の詳細を観察すると、C1コンデンサのチャージとともにON/OFF ピン(5) に働くs3点での電圧が下がっていきます。そして、閾値の1.3Vになるとスイッチングを開始しています。

前項のデータシートで説明されてますが、負電源に供給される電圧とそこで生成される負電圧の電位差は、15V - ( -12V) = 27V になるので注意すべきポイントです。

LM2596の起動時にはPos側で15A、Neg側で5A の瞬間電流が流れています。この瞬間電流に対応するためアリエクのLM2596モジュールには、50V 100uFのOSコンらしきコンデンサが入力側に設けられています。

シミュレーションで表われるリップルノイズは、リップルフィルタの効果で+12V側で 1.1mV、-12V側で 5.1mVと非常に小さな値です。(フィルタ手前でも、+12V側で 42mV、-12V側で 179mV)



リップルフィルタ前後の出力電圧をFFTで見たものが下図です。偽物LM2596を踏襲するためLM2576のSpice Modelを使ったので、50kHzにスイッチング周波数が表れています。フィルタ後に出ている 3.2kHzはLCリップルフィルタの共振です。


実機特性


起動できない問題と対策

正電圧回路と負電圧回路のそれぞれ単独では起動しますが、正電圧用と負電圧用のLM2596を前述の回路図の通りに、2つ組み合わせると起動できません。実験電源を使ってCVモードの15Vを印加しているにも関わらず、CCモードのショート状態になります。無負荷でも起動しません。起動したときにはLEDが点灯するのですが、負電源用のLM2596は下図のようにLEDが点灯しません。このとき実験電源の電圧は下図のように4.5V弱を示します。また、負電源の入力電圧は2Vでした。



ここここの情報を読み取ると、LM2596の刻印番号(ロット?)によって起動できるものと、できないものがあるようです。(使用したものはJM87RP、JM98RP でした。そもそも偽物なので、そのせいかもしれません。)さらに、正規品の起動には瞬間的に5Aの電流が必要だとも書いてありました。

遅延スタートの動作を疑いC1コンデンサやR1/R2抵抗を変更したり、あれこれ起動実験を繰り返しているうちに、正電源が起動した後に負電源側をつなぐと、CC1Aの制限の下でも起動できることがわかりました。そこで、npnトランジスタとフォトカプラでONディレイ回路(次項)を構成して、負電源側LM2596の起動を遅らせることで正負両電源の起動ができるようになりました。下図の右側小さなユニバーサル基板がONディレイ回路です。

検証できていませんが、起動には実験電源の供給電流(CC電流制限)も影響するようです。負荷を付けて定常値 2A 流れる条件で、CC 3.0A では起動できず、CC 4.0A で起動できました。

最初はフォトカプラではなくメカリレー(OMRON G5V-1)を使いました。起動条件はフォトカプラーよりも緩かった(無負荷、CC 0.2A でも起動可、1次遅れもより少なくて可)のですが、最大電流が 1A なので 2A のフォトカプラに変更しました。



正負両電源が起動時したときの入力電圧と出力電圧を下図に載せます。正側から8ms遅れて負側を接続すると、うまく起動することができています。その後、負側の出力には遅延スタートアップが働き、さらに10ms以上遅れて出力が立ち上がる様子が観察できます。


パワーONディレイ回路

下図の緑枠で囲んだ部分が追加した遅れ回路(パワーONディレイ回路)です。


このときのシミュレーションは図のようになります。ONディレイ回路で13ms遅れ、遅延スタートアップでさらに16ms遅れたときから、負電圧の出力が立ち上がっています。実機の方が10ms程度立ち上がりが早いようです。

なお、負側が立ち上がりには5Aの電流が必要なようで、起動の可否は正側との電流との関連があるようなのですが、このシミュレーションで見る限りではONディレイを設けない前項のシミュレーション事例との差異は見られませんでした。(電流は同方向なのですが、見やすくするため正負に分けています。)


リップルノイズ

LM2596の生成した出力電圧をそのpeak to peak (リップルノイズ)で評価することにします。次項に述べる各種対策を盛り込んだときのリップルノイズを測定すると図のようになります。

下図オシロ波形の下段に自動測定されたpeak to peak電圧(リップルノイズ電圧)を表示しています。リップルノイズ電圧は周期的な?変動があるようで、時間刻みの取り方のよっても多少のバラツキがあります。

サンプリング数の多い 100us/Div の測定条件でのリップルノイズ電圧は次のようになりました。全て、peak to peak電圧です。波形を見ると、+12V と-12V はうり二つに見えます。

入力電圧: 310mV
5V出力: 90mV、8Ω抵抗負荷(mA)
+12V出力: 90mV、1A定電流負荷
-12V出力: 100mV、16Ω抵抗負荷(mA)




リップルノイズ対策


オリジナル特性(無負荷)

何も手を加えていないオリジナルの入力電圧+V と出力電圧+12V は下図の特性でした。入力には 700mVp-p、出力には 440mVp-p のリップルノイズが乗っています。スイッチング周波数は50kHz と思われますが、peak to peak は 13kHzの波が表われています。



出力コンデンサ +2200uF(1A定電流負荷)

偽物LM2596のスイッチング周波数が50kHz なので、スイッチング周波数が50kHz であるLM2576のデータシートに記載されている出力コンデンサの値にします。(2200uF/35V を追加します。)


+12V出力でのリップルノイズは、440mV → 152mV と1/3 になりました。また、Normalにあった13kHzの大きな波が入力、出力ともに消えています。


出力リップルフィルタ(1A定電流負荷)

リップルフィルタの定数はL 22uH、C 470uF/16V OSコン (シミュレーションではL 22uH、C 100uF)で、接点周波数は1.57kHz (同3.39kHz)です。


+12V出力でのリップルノイズは、152mV → 132mV (LC Filter 後)とわずかな向上が見られます。


入力コンデンサ +100uF(1A定電流負荷)

入力に100uF/16V のOSコンを追加しました。


入力でのリップルノイズが340mV に低減し、出力も92mV に低減しています。


Arduinoとリップルノイズ

5V電源はArduino用です。このとき気になるのは大きなリップルノイズによる誤動作です。ネットで調べた範囲では、マイコン誤動作の原因はリップルノイズの大きさではなく、主要因は下記とされています。(電圧が低いと誤動作する。)
  • 動作電源電圧
  • 動作周波数
  • 動作温度

ATmega328pのデータシートには下図の特性が挙げられており、この図に沿うと16MHzで動作させるには3.8V以上で駆動させる必要があります。つまり、リップルノイズの下限が3.8Vを下回らなければOKということでしょうか?


Arduinoの5V電圧

実際に動作しているArduinoの5V電源とLM2596生成の5V電圧のリップルノイズを比較してみます。PCとUSB接続したArduino UnoやLeonardoの5Vピン出力のリップルノイズを測定しました。それらを比較すると下表になります。

その結果、Arduino の5V出力よりも今回生成した5Vのリップルノイズが小さく、十分に使えると判断しました。

Arduino Uno Arduino Leonard LM2596 5V
100ns/Div 400mV/62kHz 310mV/62kHz 90mV/50kHz
10ns/Div 420mV 290mV 70mV
1ns/Div 390mV 340mV 80mV
負荷 無負荷 無負荷 275mA

同一条件で測定したノイズ波形を見ると、下図のようにUnoやLeonardoの5V出力よりも peak to peak が小さく、また振動の収束も良好であることがわかります。

LM2596の5V出力でArduinoを動かす検証

念のために、LM2596の5V出力でArduino Nano を動かして、誤動作なきことを確認しました。

下記はATmega328pのFAST PWMを使いパルス周波数をめいっぱい高めるスケッチです。7.81kHzのPWM信号のデューティ比が5秒周期のサイン波で変化するようにして、波形の動きをオシロでしばらく観察しました。


void setup(){
  pinMode(3, OUTPUT);//R2B
  pinMode(11, OUTPUT);//R2A
  TCCR2A = _BV(COM2A1) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20);//TCCR2A = B10100011 WGMが011でfast PWM。COM2A,COM2Bが10で出力AとB に非反転 PWM。
  TCCR2B = _BV(CS21);//TCCR2B = B00000010 8分周 周波数:16MHz / 8 / 256 = 7.81kHz
}

void loop(){
  unsigned long currentTime = millis();

  int dutyCycleA = map(sin(currentTime / 5000.0 * 2 * PI)*100, -100, 100, 0, 255);
  int dutyCycleB = map(sin(currentTime / 5000.0 * 2 * PI + PI/2)*100, -100, 100, 0, 255);

  OCR2A = dutyCycleA; //D11ピン デューティ比 OCR2A / 256
  OCR2B = dutyCycleB; //D3 ピン デューティ比 OCR2B / 256
delay(100); }

また、高速のPWM出力にCRローパスフィルタを通すことで簡易的なD/A変換を行い、デューティ比に応じて意図したアナログ電圧になるか検証しました。

下図はデューティ比がある一瞬における波形です。7.81kHzのPWM信号(Duty比84%)をD/A変換すると、3.84Vのアナログ電圧が出力されました。問題なくArduino Nanoが動作することが確認できました。


デューティ比を5秒周期のサイン波で変化させていますので、 その様子を動画にしました。正常な動作が確認できます。



最終仕様


構成

追加した部品は手持ち在庫を利用したので部品の統一性はありません。

POS +12V NEG -12V 5V
LM2596刻印 JM87RP JM98RP JM32RP
遅延スタートアップ C1: 0.1uF
R1: 47kΩ
R2: 47kΩ
反転レギュレータ D1: 1N5822 (3A/40V)
D3: 1N5399 (1.5A/1000V)
入力コンデンサ 100uF/50V OSコン?
+ 220uF/16V OSコン
100uF/50V OSコン?
+ 470uF/50V アルミ電解
100uF/50V OSコン?
+ 1000uF/35V アルミ電解
出力コンデンサ 220uF/35V OSコン?
+ 2200uF/35V アルミ電解
220uF/35V OSコン?
+ 2200uF/35V アルミ電解
220uF/35V OSコン?
+ 2200uF/50V アルミ電解
ノイズリップルフィルタ L: 22uH
C: 470uF/16V OSコン
L: 22uH
C: 470uF/16V OSコン
L: 22uH
C: 220uF/16V OSコン
パワーONディレイ フォトカプラ: TPL241A
C: 10uF
R: 30kΩ

下図は上から、POS +12V、NEG -12V、5V の順になります。


負荷と発熱

起動後、30分経過後の発熱部の温度は下表でした。また、ヒートシンクは触ると熱を感じる程度でした。

入力 POS +12V NEG -12V 5V
15.2V
2118mA
12.44V
1005mA
-12.14V
730mA
5.14V
573mA
LM2596 50℃ 52℃ 46℃
L: 47uH 47℃ 56℃ 44℃


参考ブログ

Next Post Previous Post
Gemini