2022年 SPRESENSE™ 活用コンテスト 」開催中!ローパワーでハイパフォーマンスなエッジコンピューティングを、あなたの手で活用してみませんか?

4558Dのアイコン画像
4558D 2022年03月27日作成 (2022年05月30日更新) © CC BY-NC-SA 4+
製作品 製作品 閲覧数 595
4558D 2022年03月27日作成 (2022年05月30日更新) © CC BY-NC-SA 4+ 製作品 製作品 閲覧数 595

NE555で3.3V出力の降圧DC/DCコンバータを作ってみた。

NE555で3.3V出力の降圧DC/DCコンバータを作ってみた。

はじめに

NE555(以下、555)の応用案として、オペアンプとLDOを組み合わせた、3.3V出力の降圧DC/DCコンバータを試作した。
以下のツイートのように、入力電圧VCCによらず出力電圧VOUTは3.3Vの一定出力を保つことができている。

本記事では、DC/DCコンバータの基本原理と、555のCTRL端子(5pin)を用いたDuty比の制御を説明した後、実際に試作したDC/DCコンバータの回路と、その測定結果について紹介していきたい。

原理説明

まずは、今回作成した降圧型DC/DCコンバータの原理を説明する。
この章は、長いうえに数式による議論が多い。回路で必要な部分は後の章でも触れるので、理屈はいいから回路構成や実験結果を早く知りたい、という方は、この章を読み飛ばすことを推奨する。

降圧DC/DCコンバータの原理

試作回路を紹介する前に、今回作成した降圧DC/DCコンバータの動作原理を説明する。
基本的な回路構成は、2個のスイッチとコイル、負荷コンデンサで構成される回路である。(下図)
基本構成

この回路により、VINに対して、スイッチのON/OFF制御(スイッチング制御)を行うことで所望の出力電圧(VOUT)を得ることができる。
以下では、VINに対してVOUTをどのように決めることができるのか、その動作とともに説明したい。

SW-PがON、かつ、SW-NがOFFのとき

まず、上側のスイッチSW-PがONで、かつ、下側のスイッチSW-NがOFFのときのVOUT変化を考える。
このとき、VINからコイルを通じて、負荷コンデンサに電流が流入し、VOUTの電圧が上昇する。
SW-P=ON. SW-N=OFF
この流入電流をIpI_pとすると、IpI_pとVIN電圧ViV_i、VOUT電圧VoV_oの関係は以下のような微分方程式で表される。

ViVo=LdIpdt(t)V_i - V_o = L \frac{dI_p}{dt}(t)

ViV_iVoV_oが、SW-PがONしている時間tpt_pの間、ほぼ一定であるとすると、以下の関係が得られる。

Ip=ViVoLtpI_p = \frac{V_i - V_o}{L} t_p

SW-PがOFF、かつ、SW-NがONのとき

次に、上側のスイッチSW-PがOFFで、かつ、下側のスイッチSW-NがONのときのVOUT変化を考える。
このとき、負荷コンデンサに溜まった電荷は、コイルを通じてGNDに放電され、VOUTの電圧は低下する。
SW-P=OFF, SW-N=ON
この放電電流をIpI_pとすると、IpI_pとVIN電圧ViV_i、VOUT電圧VoV_oの関係は以下のような微分方程式で表される。

Vo=LdIndt(t)V_o = L \frac{dI_n}{dt}(t)

ViV_iVoV_oが、SW-NがONしている時間tnt_nの間、ほぼ一定であるとすると、以下の関係が得られる。

In=VoLtnI_n = \frac{V_o}{L} t_n

VINとVOUTの関係

VOUTが一定電圧を保持していると仮定すると、負荷コンデンサに流入する電流量と、放電する電流量は等しいはずである。すなわち、Ip=InI_p = I_nが成り立つ。先ほどの議論から、

Ip=ViVoLtp=VoLtn=InI_p = \frac{V_i - V_o}{L} t_p = \frac{V_o}{L} t_n = I_n

となり、これをVoV_oについて解くことで、VoV_oは、

Vo=tptp+tnVi=Duty×ViV_o = \frac{t_p}{t_p+t_n} V_i = Duty \times V_i

と表すことができる。なお、DutyDutyはスイッチング周期 tp+tnt_p + t_n に対する、SW-Pのオン時間 tpt_p の比である。

CTRLに電圧印加した場合の555無安定モード

555をスイッチング制御に用いる前に、CTRLピン(5pin)に任意の電圧をかけた場合の無安定動作について検討する。
動作の概略については、taltalp氏の回路シミュレータで作るNE555タイマーが非常に分かりやすいので、まずは一読いただきたい。
本記事では、数式を用いて発振周期を詳細に求めていきたい。なお、以下の議論は下図の回路を想定して行い、回路定数も下図のものを用いる。

CTRL(5pin)に任意の電圧を入れた場合

OUT端子がH/Lを維持しているとき、コンデンサCは充電/放電しており、Cの端子電圧VcV_cが変化している。
このVcV_cをコンパレータで監視し、閾値電圧VthHV_{thH}を超えたときOUT端子はH→Lに、閾値電圧VthLV_{thL}を下回ったときL→Hに切り替わるようになっている。この閾値電圧は、CTRLの状態によって、以下のように求められる。

  1. CTRL端子に何もつながっていない場合 (通常動作):

VthH=23VCC,VthL=13VCCV_{thH} = \frac{2}{3}V_{CC}, V_{thL} = \frac{1}{3}V_{CC}

  1. CTRL端子に任意の電圧αVCC\alpha V_{CC} (0<α1)(0<\alpha\leqq 1)がかかっている場合:

VthH=αVCC,VthL=12αVCCV_{thH} = \alpha V_{CC}, V_{thL} = \frac{1}{2} \alpha V_{CC}

OUT端子が切り替わってから再び切り替わるまでの時間、すなわち時間OUT端子がHまたはLを維持する時間は、Cに接続している抵抗R1, R2によって決まる。ここでは、 CTRL端子に任意の電圧αVCC\alpha V_{CC}がかかっている場合において、OUT端子がHの時間tHt_HとLの時間tLt_Lを、それぞれ求める。

OUT端子がHのとき

初期状態でOUT端子がHである場合を考える。この時、VcV_cの変化は、以下のように表せる。

Vc(t)=VCC[1exp(tt0n(R1+R2)C)]V_c(t) = V_{CC} \Big[1-\exp \Big( -\frac{t-t_0n}{(R_1+R_2)C} \Big) \Big]

ただし、t0nt_0nは、Vc(t0n)=0V_c(t_0n) = 0となる時刻とする。
OUT端子がL→H, H→Lに切り替わる時刻をそれぞれtriset_{rise}, tfallt_{fall}とおくとき、

Vc(tfall)=VCC[1exp(tfallt0n(R1+R2)C)]V_c(t_{fall}) = V_{CC} \Big[1 - \exp \Big( -\frac{t_{fall}-t_{0n}}{(R_1+R_2)C} \Big) \Big]

Vc(trise)=VCC[1exp(triset0n(R1+R2)C)]V_c(t_{rise}) = V_{CC} \Big[1 - \exp \Big( -\frac{t_{rise}-t_{0n}}{(R_1+R_2)C} \Big) \Big]

と表せることから、

tfall=(R1+R2)ClnVCCVCCVc(tfall)t_{fall} = (R_1+R_2)C \ln \frac{ V_{CC} }{V_{CC} - V_c(t_{fall}) }

trise=(R1+R2)ClnVCCVCCVc(trise)t_{rise} = (R_1+R_2)C \ln \frac{ V_{CC} }{V_{CC} - V_c(t_{rise}) }

となる。したがって、OUT端子がHである時間tHt_Hは、

tH=tfalltrise=(R1+R2)ClnVCCVCCVc(tfall)VCCVc(trise)VCCt_H = t_{fall} - t_{rise} = (R_1+R_2)C \ln \frac{ V_{CC} }{V_{CC} - V_c(t_{fall}) }\frac{ V_{CC} - V_c(t_{rise}) }{V_{CC} }

と書ける。ここで、条件よりVc(tfall)=VthH=αVCCV_c(t_{fall}) = V_{thH} = \alpha V_{CC}Vc(tfall)=VthH=αVCC/2V_c(t_{fall}) = V_{thH} = \alpha V_{CC}/2となることから、

tH=(R1+R2)ClnVCCVCCαVCCVCCαVCC/2VCCt_H = (R_1+R_2)C \ln \frac{ V_{CC} }{V_{CC} -\alpha V_{CC} }\frac{ V_{CC} - \alpha V_{CC}/2 }{V_{CC} }

tH=(R1+R2)Cln(122α1α)\therefore t_H = (R_1+R_2)C \ln \Big( \frac{1}{2} \cdot \frac{ 2-\alpha }{1 - \alpha } \Big)

と表すことができる。

OUT端子がLである時間

初期状態でOUT端子がLである場合を考える。OUT端子がHの時と同様、OUT端子がL→Hに切り替わる時刻をtriset_{rise}、OUT端子がH→Lに切り替わる時刻をtfallt_{fall}とおくと、VcV_cの変化は以下のように表せる。

Vc(t)=Vc(tfall)exp(ttfallR2C)V_c(t) = V_c(t_{fall}) \exp \Big( -\frac{t-t_{fall}}{R_2C} \Big)

このとき、時刻triset_{rise}におけるCの電圧Vc(trise)V_c(t_{rise})は、

Vc(trise)=Vc(tfall)exp(trisetfallR2C)V_c(t_{rise}) = V_c(t_{fall}) \exp \Big( -\frac{t_{rise}-t_{fall}}{R_2C} \Big)

と表せることから、OUT端子がLである時間tLt_Lは、

exp(trisetfallR2C)=Vc(trise)Vc(tfall)\exp \Big( -\frac{t_{rise}-t_{fall}}{R_2C} \Big) = \frac{ V_c(t_{rise}) }{ V_c(t_{fall}) }

tL=trisetfall=R2ClnVc(tfall)Vc(trise)\therefore t_L = t_{rise}-t_{fall} = R_2C \ln \frac{ V_c(t_{fall}) }{ V_c(t_{rise}) }

と書ける。OUT端子がHの時と同様、Vc(tfall)=VthH=αVCCV_c(t_{fall}) = V_{thH} = \alpha V_{CC}Vc(tfall)=VthH=αVCC/2V_c(t_{fall}) = V_{thH} = \alpha V_{CC}/2であるので、

tL=trisetfall=R2ClnVCCVCC/2=R2Cln2t_L = t_{rise}-t_{fall} = R_2C \ln \frac{ V_{CC} }{ V_{CC}/2 } = R_2C \ln 2

と表される。

OUT端子のDuty比

以上をまとめると、CTRL端子に電圧αVCC\alpha V_{CC}をかけたとき、OUT端子がH/Lを維持する時間は

tH=(R1+R2)Cln(122α1α)t_H = (R_1+R_2)C \ln \Big( \frac{1}{2} \cdot \frac{ 2-\alpha }{1 - \alpha } \Big)

tL=R2Cln2t_L = R_2C \ln 2

となり、CTRL端子の電圧を上げるとtHt_Hが長くなり、OUT端子がHになる時間のみが長くなる。
また、発振周期$Tは、

T=tH+tL=(R1+R2)Cln(122α1α)+R2Cln2T = t_H + t_L = (R_1+R_2)C \ln \Big( \frac{1}{2} \cdot \frac{ 2-\alpha }{1 - \alpha } \Big) + R_2C \ln 2

と表され、周期TTに対するL時間のDuty比DLD_Lは、

DL=tLT=R2Cln2(R1+R2)Cln(122α1α)+R2Cln2D_L = \frac{t_L}{T} = \frac{ R_2C \ln 2}{ (R_1+R_2)C \ln \Big( \frac{1}{2} \cdot \frac{ 2-\alpha }{1 - \alpha } \Big) + R_2C \ln 2}

と表すことができる。

555によるDC/DCコンバータ

ここまで長々と議論してきたが、555で降圧DC/DCコンバータを作るうえで重要なのは、以下の2点である。

  • 降圧型DC/DCコンバータの出力電圧VoV_oは、入力電圧ViV_iとスイッチング制御のDuty比で以下のように表される。

Vo=tptp+tnVi=Duty×ViV_o = \frac{t_p}{t_p+t_n} V_i = Duty \times V_i

  • 555のCTRL端子に任意の電圧αVCC\alpha V_{CC}を入力すると、周期TTに対するL時間のDuty比DLD_Lは以下のように表される。

DL=tLT=R2Cln2(R1+R2)Cln(122α1α)+R2Cln2D_L = \frac{t_L}{T} = \frac{ R_2C \ln 2}{ (R_1+R_2)C \ln \Big( \frac{1}{2} \cdot \frac{ 2-\alpha }{1 - \alpha } \Big) + R_2C \ln 2}

これらを用いることで、555を用いた降圧型DC/DCコンバータを組むことができる。
以下では、作成した回路とその測定結果を紹介していく。

可変抵抗による任意の電圧出力

まずは、CTRL端子に任意の電圧をかけられるよう、ボリュームを用いた回路で実験を行った。
555による発振回路、555のCTRLの電圧調整用のボリューム、電圧出力のためのSW (MOSFET)、コイル、負荷コンデンサで構成している。(下図)
出力可変降圧DC/DC

上記の回路により、可変抵抗でCTRL端子にかかる電圧を変えることで、下記ツイートのようにDC/DCの出力電圧Voutを変えることができた。
なおツイートの画像は、1枚目は測定環境を、2~4枚目がCTRL電圧を変えたときのVOUTの変化を示しており、2~4枚目の波形は、水色がDC/DCコンバータの出力Voutの、黄色が555のOUT端子電圧の時間変化を表している。

この構成により、CTRL端子の電圧を変えることにより、発振のDuty比を変えることができ、出力電圧をVoutを変えることができた。
しかしこの回路は、2つの改善点が存在する。

  1. ボリュームの位置を固定している状態でVCCが変化したとき、出力電圧Voutも連動して変化する。
    すなわち、ラインレギュレーションが悪い。
  2. 出力Voutに抵抗値の低い負荷を接続すると、負荷に流れる電流によって出力電圧も連動して変化する。
    すなわち、ロードレギュレーションが悪い。

これらは、DC/DCコンバータの主な用途である安定化電源として用いる場合には、とても都合が悪い。
なぜなら、安定化電源の用途はそもそも、入力電圧の変動や出力電流の変動に対して、出力が変動してほしくない機器の電源だからである。

フィードバックによる出力電圧安定化

回路説明

上記の改善点を解決する方法の一つとして、出力電圧Voutの変化を読み取り、それに応じてスイッチング制御のDuty比を変える、フィードバック制御が挙げられる。このフィードバックを実現するために、オペアンプと、LDOによる基準電圧を追加した。(下図)
フィードバックの追加

この回路追加により、Voutが上昇した場合は、その上昇量に応じてCTRLの電圧を上げることで、Duty比DLD_Lを下げ、上がったVoutを下げようとし、Voutが低下した場合は上昇時と逆に下がったVoutを上げようとすることで、Voutを一定に保つことができる。このフィードバックループを作ることにより、この時VoutはオペアンプのV+とV-の電圧が一致させるように制御が働き(イマジナリーショート)、3.3Vに保たれる。

実際、この構成でDC/DCの出力Vout(水色)と555のOUT端子の電圧(黄色)の出力を確認すると、Voutの変化に対してOUT端子の発振周波数が変化していることがわかる。

なお、CTRL端子の電圧が変わるとDuty比が変わると説明したが、実際にはOUT端子がHになっている時間tHt_Hだけである(DC/DCの動作としてはSW-Nのオン時間のみが伸びる)。
このため、この制御は、Duty比だけでなく動作周波数1/T1/Tも変化する、PFM(Pulse Frequency Modulation)制御である。

出力電圧の安定性測定

上記の改善点で上げた、入力電圧と出力負荷の変化に対するVoutの安定性を確認結果を以下に示す。

① 入力電圧の変化に対する出力電圧 (ラインレギュレーション)

入力電圧VCCを5V, 7.5V, 10V, 12Vに変えたときの出力電圧Voutの変化を以下に示す(いずれの条件においても、負荷抵抗なし)。いずれの波形も、入力電圧VCCを水色、出力電圧VOUTを黄色で示している。入力電圧が上がると、出力電圧の揺れが大きくなるものの、おおよそ3.3Vを保持できていることがわかる。

VCC = 5V VCC = 7.5V
VCC = 10V VCC = 12V

② 出力負荷の変化に対する出力電圧 (ロードレギュレーション)

出力負荷を無負荷, 1kΩ, 220Ω, 20Ωに変えたときの出力電圧Voutの変化を以下に示す(いずれの条件においても、VCC=5V)。いずれの波形も、入力電圧VCCを水色、出力電圧VOUTを黄色で示している。入力電圧の変化と異なり、出力負荷の抵抗値が変わってもVoutの揺れはほとんど変わらないことがわかる。

出力負荷: 無負荷 出力負荷: 1kΩ
出力負荷: 220Ω 出力負荷: 20Ω

まとめ

以上のように、555とオペアンプを組み合わせることで、入力・出力の状態によらず一定出力を保つ、降圧DC/DCコンバータの実現に成功した。
最後に、今回の達成事項のまとめと、今後の課題を示す。

達成できたこと
入力電圧や負荷によらず、一定の出力電圧を保つことのできる、降圧DC/DCコンバータを設計・試作できた。

今後の課題
・出力電圧を自在に変更すること。(今回は電圧源の電圧3.3Vしか出力できない)
・PFM制御を効果的に行うには、可変抵抗VR1を適切に調整する必要があること。(調整なしで発振周波数を決めたい)

1
4558Dのアイコン画像
アナログ回路に興味があります。 Twitterやってます。@electrotelecast
ログインしてコメントを投稿する