はじめに
ニキシー管時計づくりにチャレンジしてみました。
そのための第一歩として昇圧チョッパ回路の設計と制作を行います。
他の記事はこちらから
- part 0:事前学習&準備編
- part 1:昇圧チョッパ制作編
- part 2:ニキシー管点灯編
- part 3:NTPとRTCで時間管理編
- part 4:プログラム完成編
- part 5:comming soon...(?)
昇圧チョッパとは
昇圧チョッパは、インダクタ(コイル)が電流の変化を連続的にする性質を利用し、出力電圧を負帰還動作によって安定させる、DC/DCコンバータのひとつです。
詳しい原理はこの方の説明が非常にわかりやすいです。
Youtube:昇圧チョッパはなぜ昇圧できるのか?
使用予定のニキシー管( IN-12B )を点灯させるには 170~200V 程度の高電圧を印加しなければなりません。
今回、電源にはACアダプタの出力( DC12V )を使用するため、それを引き上げる昇圧回路を制作します。
DC/DCコンバータ制御用 IC 「 NJM2360A 」
DC/DCコンバータの作成には制御用 IC が便利です。今回は NJM2360A(正確には DIP タイプの NJM2360AD )を使います。
内部に発振回路を持ち、コンデンサやコイル、抵抗などを繋げるだけで簡単にDC/DCコンバータが作れます。
リンク(秋月):NJM2360AD
回路設計
昇圧チョッパの回路図を考え、各部品の値を計算していきます。
基本的な回路や部品の計算方法は NJM2360/2360A のアプリケーションノート(ここからダウンロード可能)の p.38~44 が参考になります。
他にも以下の記事を大いに参考にさせていただきました。
堀部啓二ホームページ 昇圧回路 NJM2360(Output: 170V to 200V, 20mA) …以下「参考サイト①」
高電圧を作る昇圧回路を設計してみる …以下「参考サイト②」
仕様
ニキシー管 IN-12B は、データシート(ここからダウンロード可能)によると
電流:2~3.5mA
電圧:170~200V
で光るようです。
今回使用するのは 4 管ですので、出力電流は 3.5 × 4 = 14mA とします(ダイナミック点灯を採用するため、実際は 3.5mA 程度しか必要としません。今後の拡張性を考慮しました)。
出力電圧は、明るさを調整できるように 170~200V の可変にしようと思います。
そのほかの条件も含めて次のような仕様とします。
- 入力電圧 VIN = 12V
- 出力電圧 VO = 170~200V
- 出力電流 IO = 14mA
- 出力リプル電圧 Vripple(p-p) ≦ 1V
- 効率 η ≧ 70%
- 周辺温度 Ta = 25℃
回路図
回路図は参考サイト①、②に倣い以下のようにしました。
以降、定数を計算し、部品を決定していきます。
スイッチングトランジスタ Q2
NJM2360A も内部にトランジスタを持つため、小電力のコンバータであれば外付けトランジスタは不要です。
今回作りたいコンバータが消費する電力は次のように求まります。
PO = VO(MAX) × IO = 200 × 0.014 = 2.8W
PIN = PO / η = 2.8 / 0.7 = 4W
PIN - PO = 1.4W
よって 1.4W を NJM2360A で消費することになりますが、これは NJM2360AD の絶対最大定格の消費電力 PD(MAX) = 875mW を上回るため、外付けトランジスタによる増幅が必要となります。
ここでは FET の 2SK3234(500V、8A)を使うことにしました。
発振周波数 fOSC
発振周波数は、人間の可聴領域や、ノイズ、効率を考慮して決定します。
人間の可聴領域は最大 20kHz 程度と言われています。
また「間欠発振」(パルススキップ)と呼ばれる現象を避けるため、周波数は高めに設定すると良いそうです。
今回はアプリケーションノートでも使われている 72kHz としました。
タイミングキャパシタ CT
fOSC の値をもとに、アプリケーションノートの「発振周波数対タイミングキャパシタ特性例」からタイミングキャパシタの値を決定します(以下の図はノートから転載)。
fOSC = 72kHz を読み取って、アプリケーションノートと同様にタイミングキャパシタは 330pF とします。
スイッチON時間 ton & スイッチOFF時間 toff
次に「スイッチON/OFF時間対タイミングキャパシタ特性例」から、CT = 330pF でのスイッチ ON 時間とスイッチ OFF 時間を読み取ります(以下の図はノートから転載)。
これもアプリケーションノートと同様ですが、ton = 9.4us、toff = 4.0us とします。
一応これらは VIN=5V でのグラフであり、今回のように VIN=12V の場合は異なります。
参考サイト①でも言及されていますが、それほど問題にならないだろうと思ってそのままとしました。
インダクタンス L & ピーク電流 Ipk
今回の回路(参考サイトの回路)はアプリケーションノートの例とは異なり、バイポーラトランジスタの代わりに MOS-FET を使用しています。
それにより、ノートの計算式中で VSAT として用いられるバイポーラトランジスタの飽和電圧 VCE(SAT) が不明です。FET にはこのようなパラメータは無く、代わりにドレイン・ソース間のオン抵抗(Ω)がデータシートに記載されているのみです(2SK3234 の場合 0.65Ω )。
どのように計算するか悩みましたが、2 つの参考サイトでの方法と自分で考えた方法の 3 通りを試してみて、大幅に違う結果にはならなかったため、L の最小値 LMIN を150~170uH、ピーク電流 Ipk を 0.7A 程度で考えることとします。
以下にそれぞれの方法の詳細を書いておきます(クリックで展開)。
方法① オン時に流れる電流を 0.5A とする [結果:LMIN = 155uH、Ipk = 0.71A]
参考サイト①での方法。オン時、FET のドレイン・ソース間に 0.5A が流れるとして計算します。
トランジスタ 2SK3234 のデータシートから、オン時のドレイン・ソース間抵抗は 0.65Ω。よって単純にオームの法則から
VSAT = 0.65 × 0.5 = 0.325V
アプリケーションノートの式に代入し、インダクタ L の最小値は
LMIN = (VIN - VSAT)2 / (2 × PO) × ton2 × f = (12 - 0.325)2 / (2 × 2.8) × (9.4 × 10-6)2 × 72 × 103 = 154.8509... × 10-6
よって 155uH。
その時のピーク電流は
Ipk = (VIN - VSAT) / L × ton = (12 - 0.325) / (154.8509... × 10-6) × 9.4 × 10-6 = 0.708713...
よって 0.71A。
方法② オン時に VSAT = 0V とする [結果:LMIN = 164uH、Ipk = 0.69A]
参考サイト②での方法。FET が完全にオンになるとして、オン時のドレイン・ソース間抵抗 0.65Ω を無視します。
抵抗成分が無いため、電圧降下 VSAT も 0V になります。
アプリケーションノートの式より、インダクタ L の最小値は
LMIN = (VIN - VSAT)2 / (2 × PO) × ton2 × f = (12 - 0)2 / (2 × 2.8) × (9.4 × 10-6)2 × 72 × 103 = 163.5922... × 10-6
よって 164uH。
その時のピーク電流は
Ipk = (VIN-VSAT)/L×ton = (12 - 0) / (154.8509... × 10-6) × 9.4 × 10-6 = 0.689519...
よって 0.69A。
方法③ オン時に Ipk が流れるとする [結果:LMIN = 151uH、Ipk = 0.72A]
自分で考えてみた方法。オン時、ドレイン・ソース間に流れる電流こそが Ipk なのでは?という考えです。
つまりオン時のドレイン・ソース間抵抗 0.65Ω を RSAT として、 VSAT = RSAT × Ipk が成り立つと仮定します。
すると LMIN と Ipk についての連立方程式が得られます。が、最終的に 3 次方程式を解かないとなりません。
I_{pk} = \frac{V_{IN} - R_{SAT}I_{pk}}{L_{MIN}}t_{on} \,\,\,\,-①\,\,\,\,\,\,\,\, L_{MIN} = \frac{(V_{IN} - R_{SAT}I_{pk})^2}{2P_{O}}t_{on}^2f \,\,\,\,-②
①より、
L_{MIN} = \frac{V_{IN} - R_{SAT}I_{pk}}{I_{pk}}t_{on}
よって、
\frac{V_{IN} - R_{SAT}I_{pk}}{I_{pk}}t_{on} = \frac{(V_{IN} - R_{SAT}I_{pk})^2}{2P_{O}}t_{on}^2f
頑張って整理して
R_{SAT}^2I_{pk}^3 - 2R_{SAT}V_{IN}I_{pk}^2+ \left(V_{IN}^2+\frac{2R_{SAT}P_{O}}{t_{on}f}\right)I_{pk} - \frac{2V_{IN}P_{O}}{t_{on}f} = 0
値を代入して
0.65^2\times I_{pk}^3 - 2\times0.65\times12\times I_{pk}^2+ \left(12^2+\frac{2\times0.65\times2.8}{9.4\times10^{-6}\times72\times10^3}\right)I_{pk} - \frac{2\times12\times2.8}{9.4\times10^{-6}\times72\times10^3} = 0
これを適当なサイトを使って解きます。
結果、
I_{pk} = \frac{240}{13}, \,\,\,\frac{20(846+\sqrt{608791})}{1833}, \,\,\,\frac{20(846-\sqrt{608791})}{1833}
\\
= 18.46..., \,\,\, 17.74..., \,\,\, 0.7173...
となり、値が 3 つ求まります。
それぞれの場合の LMIN を求めてみます。
I_{pk} = \frac{240}{13} = 18.46...の時、L_{MIN} = 0
\\
I_{pk} = \frac{20(846+\sqrt{608791})}{1833} = 17.74...の時、L_{MIN} = 24.702...\times 10^{-6}
\\
I_{pk} = \frac{20(846-\sqrt{608791})}{1833} = 0.7173...の時、L_{MIN} = 151.12...\times 10^{-6}
1 つ目のパターンでは LMIN が 0 になってしまいます。また 2 つ目は(1 つ目もですが)Ipk が大きすぎるので不適だと思います。唯一、最後のパターンがそれらしい値です。
方法①では特に解説せずに Ipk を決めており、方法②ではデータシートに明記されたドレイン・ソース間のオン抵抗を無視しています。どちらもどこかモヤモヤしてしまったので数日悩みました。
その中でこの方法③を思いついたので計算してみましたが、複数出てきた答えの中からそれらしい値を選ばねばならず、やっぱりすっきりすることはできませんでした。
(正直購入できるインダクタの値の選択肢はそれほど多くないので、あまり細かい値にこだわる必要はないと思います。)
最小値が 150uH 程度ということなので、入手性から 220uH のインダクタを使います。
さらに、インダクタに要求される許容電流値はピーク電流の 2 倍が目安だそうです。1.5A 以上のものを探しました。
トロイダルコイル 220μH2A(秋月)
のちに以下に変更(後述)
SMDパワーインダクター 220μH1.45A(秋月)
PNPトランジスタ Q1
パワー MOS-FET の寄生容量はスイッチングの遅延を引き起こします。
PNP トランジスタは、FET に溜まった電荷を逃がし素早く OFF にするために設置します。
今回は 2SA1015 を使うことにしました。
バイアス抵抗器 RBE
アプリケーションノートと違い FET を使う回路構成なので、RBE の計算方法が異なります。
アプリケーションノートの回路では、この RBE が スイッチングトランジスタの電荷を逃がす役割を担います。
しかし今回は、OFF 時に FET Q2 の電荷を逃がす、PNP トランジスタ Q1 のベース抵抗として設置します。
( BE:ベースエミッタ間抵抗という名前は不適切ですが、アプリケーションノートに合わせています)
FET から素早く電荷を逃がすために、トランジスタ 2SA1015 のコレクタ電流には 100mA 程度が流れるとします。
増幅率を 80 とすると、その時のベース電流 IB は、
IB = (100 × 10-3) / 80 = 1.25 × 10-3
つまり 1.25mA です。
この電流が流れるのは FET が OFF になったときです。FET が OFF になるベースの電圧はソース遮断電圧 VGS(off) の最大値とします。2SK3234 の場合 4V です。
ダイオードの電圧降下を 0V とすると、この 4V が OFF 時の RBE の両端電圧なので、オームの法則から
RBE = VGS(off)(MAX) / IB = 4 / (1.25 × 10-3) = 3.2 × 103
よって 3.2kΩ 程度にすればベースに 1.25mA が流れることがわかります。ここでは 3.3kΩ を使うことにします。
なお消費電力 PRBE は
PRBE = IB2 × RBE = (1.25 × 10-3)2 × 3.3 × 103 ≒ 5.17 × 10-3
よっておよそ 5.17mW です。チップ抵抗で検討しました。
ショットキーバリアダイオード D2
RBE の計算でもこのダイオードの順方向電圧を無視したように、なるべく電圧降下が低いものが望ましいです。
また逆回復時間が短いものがいいため、ショットキーバリアダイオードを選択しました。
コレクタ抵抗 RC1 & RC2
RC1 はオン時に RBE と直列につながるので、その際 RBE の両端電圧( = FET のゲート電圧)が FET の動作電圧を超えるかに注意して決定します。
RC2 の回路の影響を無視すれば、RC1 を RBE 以下の抵抗値にしておけば 12V の半分以上が RBE に分圧されるので Q2 のソース遮断電圧 4V は超えます。
ここでは 1kΩ としました。
抵抗での消費電力 PRC1 は、12V の 1/4 程度が印加されることから
PRC1 = (VIN / 4)2 / RC1 = 32 / (1 × 103) = 9 × 10-3
よってチップ抵抗でも問題ない大きさです。
RC2 は RC1 と同じくらいがいいそうです。一応アプリケーションノートと同じ式でも計算してみます。
(※下の式での「Q1」「Q2」はアプリケーションノートに従って NJM2360A 内のトランジスタを指します。)
RC2 = { VIN - VSAT(Q2) - VBE(Q1) - VBE(Tx) } / { ( IRC1 / hVFE(MIN) ) + ( VBE(Q1) / 158 ) }
IRC1 は NJM2360A 内の Q1 のコレクタ電流です。これは最終的に外付け FET のゲート容量の充電に使われるため、200mA 程度とします。VIN は 12V 、VBE(Tx) は 0.65Ω × 0.7A = 0.455V とします。そのほかはアプリケーションノートに記載されている定数です。
それらを代入し、
RC2 = { 12 - 0.4 - 0.6 - 0.455 } / { ( 200 × 10-3 / 35 ) + ( 0.6 / 158 ) } = 1.109... × 103
よってこれも 1kΩ で大丈夫そうです。
その時の消費電力 PRC2 は、
PRC2 = VRC22 / RC2 = ( 12 - 0.4 - 0.6 - 0.455 )2 / (1 × 103) = 0.111...
こちらもチップ抵抗が使えそうです。
検出抵抗 R1 & R2 & VR1
アプリケーションノートの回路では、R1 の電圧を NJM2360A 内部の基準電圧 1.25V と比較し出力を安定させます。逆に言えば、安定しているとき R1 の両端電圧は 1.25V ということです。出力電圧と 1.25V の差分が R2 に分圧されることから、R1 と R2 の比率が決まります。
なお今回の回路では出力電圧を 170~200V とするため、可変抵抗 VR1 を R2 につなぎ増加させます。R1 と R2 の比率が変わるので、R1 の分圧 1.25V と R2 の分圧の比率が変わり、出力電圧が変化します
つまり、抵抗値と出力電圧には以下の関係が成り立ちます。
1.25 : VO = R1 : R1 + R2 + VR1
よって、
VO = 1.25 × { ( R1 + R2 + VR1 ) / R1 } = 1.25 × { 1 + ( R2 + VR1 ) / R1 }
出力電圧が 200V のとき、
1.25 × { 1 + ( R2 + VR1(MAX) ) / R1 } = 200
1 + ( R2 + VR1(MAX) ) / R1 = 160
R2 + VR1(MAX) = 159 × R1 …[ R2 + VR1(MAX) は R1 の 159 倍]
また出力電圧が 170V のとき、
1.25 × { 1 + ( R2 + VR1(MIN) ) / R1 } = 170
1.25 × { 1 + R2 / R1 } = 170
1 + R2 / R1 = 136
R2 = 135 × R1 …[ R2 は R1 の 136 倍]
未知数が 3 つあり、式が 2 つなのでどれか 1 つの値を決定する必要があります。今回は参考サイト①と同様に可変抵抗 VR1(MAX) を 20kΩ としました。
よって、
R2 + 20 × 103 = 159 × R1
この式から R2 = 135 × R1 を減じて
24 × R1 = 20 × 103
R1 = 833.33...
また、
R2 = 135 × 833.33... = 112.5 × 103
よって、VR1 = 20kΩ 、R1 = 820Ω 、R2 = 110kΩ とします。
なお検出精度を高めるためには、NJM2360A 内部のコンパレータへの入力バイアス電流の最大値 IIB(MAX) = 400nA を無視できる値の電流を抵抗に流さなければなりません。合成抵抗がおよそ 110k~130kΩ 、電圧が 170~200V なので、電流はおよそ 1.54mA 。これは 400nA の 4000 倍近くであり、十分と言えるでしょう。
なお抵抗の消費電力ですが、R1 では
PR1 = ( 1.54 × 10-3 )2 × 820 = 1.944... × 10-3
R2 では
PR2 = ( 1.54 × 10-3 )2 × 110 × 103 = 0.2608...
VR1 では
PVR2 = ( 1.54 × 10-3 )2 × 20 × 103 = 0.0474...
よって、R2 は 1/2W の炭素被膜抵抗を使おうと思います。
3216角形チップ抵抗器 RK73B 820Ω 0.25W ±5%【RK73B2BTTD821J】(マルツ)
ARCELI 100バリュー1000ピース 1-10MΩ1/2W カーボンフィルム抵抗器詰め合わせキット(Amazon) の中から100kΩと10kΩ
過電流検出抵抗 RSC
外付けスイッチングトランジスタとインダクタを保護するため、過電流検出抵抗を設置します。
FET 2SK3234 のドレイン電流の絶対最大定格は 8A 、インダクタの許容電流は 2A のため、より小さい 2A を過電流とします。
アプリケーションノートの式より、
RSC = VIPK(MIN) / IL(MIN) = 0.25 / 2 = 0.125
ここでは 1Ω 抵抗を 8 つ並列に接続し、合成抵抗を 0.125Ω にして使用します。
全抵抗の消費電力は
PRSC = ( 0.25 )2 / 0.125 = 0.5
抵抗を並列にすることで流入する電流が 5 等分され、各抵抗の消費電力は 1/5 になるので、チップ抵抗で大丈夫です。
平滑容量 CO & CIN1 & CIN2
出力平滑容量 CO は、出力リプル電圧に影響するパラメータです。アプリケーションノートの式から、
CO = IO × ton / Vripple(p-p) = 14 × 10-3 × 9.4 × 10-6 / 1 = 0.1316 × 10-6
よって、0.1316μF 以上のものを探します。
耐圧も 200V 以上が必要です。
0.22μF であれば、Vripple(p-p) は 14 × 10-3 × 9.4 × 10-6 / ( 0.22 × 10-6 ) = 0.5981... ≒ 0.6V 程度に抑えることができます。
2 つの入力平滑容量は、参考サイト①の値をそのまま使います。CIN1 = 10nF 、CIN2 = 120μF です。
積層セラミックコンデンサー 0.01μF50V X7R 5mm(秋月)
電解コンデンサー(日本ケミコンLXJ) 120μF35V105℃(秋月で販売終了)
ダイオード D1
高速に ON/OFF が可能で、逆方向耐圧が高い必要があります。UF2010 にしました。
そのほか
ACアダプタは 12V 1A のものを使います。
それを接続する DC ジャックは、ブレッドボードやユニバーサル基板用とプリント基板用に 2 種類買いました。
ブレッドボード用DCジャックDIP化キット(秋月)
2m1mm標準DCジャック(4A) 基板取付用 MJ-179PH(秋月)
配線図
決定した定数も書き込んだ配線図です( KiCad 初めて&回路図初心者なので見づらかったらすみません)。
ブレッドボードでの実装
まず、基本的な回路構成と計算された値が正しいかを確かめるため、ブレッドボード上で回路を動作させました。
ブレッドボードなのでチップ抵抗は使用できませんし、代用で炭素被膜抵抗を使っています。
主に抵抗以外の素子で、170~200V が出せるか確かめることだけが目的です。
重負荷での実験
DC12V を入力し、出力部と GND の電圧を測定しました。負荷は無限大(開放)です。
半固定抵抗 VR1 を 0Ω → 20kΩ に変化させ、出力電圧の下限と上限を調べます。
VR1 = 0Ω のとき( 170V 狙い)
VR1 = 20kΩ のとき( 200V 狙い)
いい感じです。どちらも狙いを下回っていますが、誤差 5% の抵抗を多用しているため想定内です。
軽負荷での実験
DC/DCコンバータでは、負荷が小さい場合に正常に動作しないことが多いようです。
実際にニキシー管 1 つを点灯させる想定で、3.5mA 程度を流させてみます。
出力電圧を 170V とすると 3.5mA を流すときの電流制限抵抗は、単純なオームの法則から 170V / 3.5mA ≒ 48.6kΩ 。
消費電力が 170V × 3.5mA = 0.595 なので、1/2W の 100kΩ 抵抗を 2 つ並列にして出力側に接続します。
VR1 = 0Ω のとき( 170V 狙い)
VR1 = 20kΩ のとき( 200V 狙い)
アカンやん...
問題と原因
インダクタが異常に発熱していました。
回路を組みなおしたり、定数の計算を何度もやり直しましたが、間違いやミスは見つかりませんでした。
かなりの時間がかかりましたが、思わぬところから原因の特定ができました。
dip工房さんの「ニキシー管駆動用電源回路と部品選定」の中にまとめられた、電源回路における複数のインダクタの性能比較です。
詳細は書きませんが、インダクタの高周波での振る舞いはデータシートを鵜呑みにしてはいけないようです。
記載されていた結果を踏まえ、使用していた Core Master 社のインダクタ( 220μH 、2A )から、スミダのパワーインダクタ( 220μH 、1.45A )に変更することにしました。
また許容電流が 2A → 1.45A となったため、過電流検出抵抗 RSC も修正します。
アプリケーションノートの式より、
RSC = VIPK(MIN) / IL(MIN) = 0.25 / 1.45 = 0.1724..
よって 1Ω 抵抗を 8 つから 5 つの並列接続に変更し、合成抵抗を 0.2Ω にして使用します。
全抵抗の消費電力は
PRSC = ( 0.25 )2 / 0.2 = 0.3125
抵抗を並列にすることで流入する電流が 5 等分され、各抵抗の消費電力は 1/5 になるので、やはりチップ抵抗で大丈夫です。
インダクタ以外の部品についても、理論的&実験的に検討されています。
電源回路の設計はかなり繊細で難しいことがわかりました。
ユニバーサル基板での実装
ブレッドボードでの結果を踏まえ、修正した回路をユニバーサル基板で実装します。
最終的な完成品にはプリント基板を使いますが、それまでの製作や試験はこの基板で行います。
さくっと回路図を修正し、配線図を作成します。
配線図はかなりテキトウに作っています...右側の何もつながっていない接続点がコネクタです。
今後のことを考えて、12V のコネクタも右下に設置しています。
チップ抵抗のはんだ付けが初めてだったので、めちゃくちゃ汚いです...
重負荷での実験
再び開放状態で電圧を計測します。
VR1 = 0Ω のとき( 170V 狙い)
VR1 = 20kΩ のとき( 200V 狙い)
ユニバーサル基板での結果よりもさらに値が低いですが、誤差 5% 強なのでチップ抵抗などの誤差が累積した結果だと思われます。
軽負荷での実験
インダクタを変えて再挑戦です。
VR1 = 0Ω のとき( 170V 狙い)
VR1 = 20kΩ のとき( 200V 狙い)
やはり少々低い値ですが、今回は軽負荷と同程度で昇圧を維持できています。
インダクタの発熱も見られませんでした。
道のりは長かったですが、昇圧チョッパ完成です!!(多分)
ひとまずニキシー管の点灯実験まではこの回路が使えそうですが、本番の回路ではもっと気を付けないとですね...
おわりに
長い。まとめる才能がほしい。
次回はこの昇圧チョッパを使って、ついにニキシー管を点灯させます。
次回:ESP32でニキシー管時計を作る part 2:ニキシー管点灯編
部品一覧
選定した部品を表に示します。