PR 記事には広告が含まれています
スポンサーリンク
Translate

タップドインダクタ昇圧回路の出力電圧安定化実験

スポンサーリンク

今回は、負荷によって電圧が変動しないように、電圧フィードバックをして出力電圧を安定化させたいと思います。

タップドインダクタ昇圧回路については、前回の記事をご覧ください。

スポンサーリンク

PWMをON,OFFする

Padaukの機能を利用する

Padauk PFS123のPWMジェネレータには、コンパレータ出力でPWMをON,OFFできる機能が入っています。上の図の緑色の線が、これまでの信号の流れです。赤い色の線が、コンパレータの出力によって、PWMをON,OFFするための信号の流れです。GPC_PWMをいうビットを1にすることで、PWMをコンパレータの結果でON,OFFできるようになります。

例えば、175Vを超えたらPWMをOFFして出力電圧を下げ、175V以下になったらPWMを再び出力して電圧を上げて、175Vを保つということが自動でできるようになります。

上の図は、PFS123に内蔵されているコンパレータの回路です。PFS123には1.2Vのバンドギャップリファレンス電源が内蔵されています。これをコンパレータのマイナスピンに接続します。コンパレータのプラスピンをPA4に接続します。こうすることで、1.2Vを基準にPA4の電圧が高いか低いかが、コンパレータから出力されるようになります。

コンパレータの出力は、実際に動作させてみるとかなりノイズがあり、PWM出力がHighの期間中に何度もHighとLowを繰り返すような動作をしていました。このため、コンパレータの出力にD-FFを接続し、PWMの周期以上の適当な周期でラッチするようにしました。

また上記の接続では、1.2Vを基準に、PA4ピンが低かったらLow、高かったらHighになるはずなのですが、なぜか実際は「PA4が1.2Vよりも低いとHigh」と論理が逆でした。今回は、昇圧回路の電圧が175Vよりも低かったらPWMをONしたいので、そのまま「PA4が1.2Vよりも低いとHigh」のままの設定としています。

回路図

回路は上の図のようになります。昇圧された電圧を、抵抗によって分圧してPadaukマイコンのコンパレータに入力します。分圧した電圧が、バンドギャップリファレンス電圧よりも高かったらPWMの出力が停止し、低くなったらPWMの波形が出力されます。

プログラム

#define PWM_OUT 3
#define PWM_MAX 320/2
#define PWM_ADD 4
#define PWM_DEFAULT 11*PWM_ADD
#define COMP_IN 4
#define COMP_OUT 0

void main() {
    MISCLVR = MISCLVR_4V;
    PDK_USE_FACTORY_IHRCR_16MHZ();
    PDK_USE_FACTORY_BGTR();
    AUTO_INIT_SYSCLOCK();
    CLKMD &= ~CLKMD_ENABLE_WATCHDOG;  // Disenable WDT

    //Timer2
    TM2C = (uint8_t)(TM2C_CLK_IHRC | TM2C_OUT_DISABLE);
    TM2S = (uint8_t)(TM2S_PRESCALE_DIV16 | TM2S_SCALE_DIV16 );

    //for PWM
    PAC |= ( 1 << PWM_OUT);
    PWMGCUBL = (uint8_t)(PWM_MAX << 5); PWMGCUBH = (uint8_t)(PWM_MAX >> 3);
    PWMG2DTL = 0;
    PWMG2DTH = 0;
    PWMGCLK = (uint8_t)(PWMGCLK_PWMG_ENABLE | PWMGCLK_CLK_IHRC);
    PWMG2C = (uint8_t)(PWMG2C_OUT_PA3);
    ROP = (uint8_t)(ROP_PWM_16MHZ | ROP_GPC_PWM );

    //for Comparator
    PAC &= ~( 1 << COMP_IN);
    PADIER &= ~( 1 << COMP_IN);
    PAC |= ( 1 << COMP_OUT);
    GPCC = (uint8_t)(GPCC_COMP_PLUS_PA4 | GPCC_COMP_MINUS_BANDGAP_1V2 | GPCC_COMP_ENABLE | GPCC_COMP_OUT_TO_TM2CLK);
    GPCS = (uint8_t)(GPCS_COMP_OUTPUT_PA0);

    int16_t pwm = PWM_DEFAULT;
    PWMG2DTL = (uint8_t)(pwm << 5);
    PWMG2DTH = (uint8_t)(pwm >> 3);

16,17行目でラッチのクロックを生成するためのタイマ2の設定をします。16MHzのクロックを源信号とし、16分周を2回行います。

26行目が、PWMをコンパレータの出力でON,OFFするための設定です。ROPという特殊なレジスタを設定する必要があります。

29から33行目がコンパレータの設定です。コンパレータ入力ピンはA/Dと同じように、IO周辺回路からのリーク電流をなくすために、PARIERレジスタを0にクリアする必要があります。

GPCCレジスタは、コンパレータの入力ピンにバンドギャップリファレンスとPA4を接続するように設定します。また、タイマー2の出力でラッチするように設定します。

スポンサーリンク

実験

それでは、出力電圧を175Vに設定して、まずは波形を見てみましょう。

これまで連続的だったPWMの波形が、断続的になりました。フィードバックによって、PWMが自動的にON,OFFされているのでしょう。

続いて、347kΩの負荷を1つずつ接続して、出力電圧がどのように変化するか確認してみましょう。

横軸が負荷(347kΩ)の接続数、縦軸が出力電圧です。負荷の数を増やしても、出力電圧が一定に保たれている様子がわかります。

横軸を出力電流に換算して、グラフを書き直してみます。また、消費電流、効率も描いてみます。

左上が出力電圧、右上が消費電流、左下が効率のグラフとなります。

出力電圧のフラフを見ると、負荷は6.5mAまでは170Vを維持していることがわかります。IN-14やIN-16のニキシー管をスタティック点灯するために必要な電流は、最大3.5mAです。このため、出力電流には十分余裕があります。余裕があるので、ダイナミック点灯時に6mA程度流すというのも可能になりますね。

また効率のグラフから効率が50%台と、これまで作ってきたタップドインダクタ昇圧回路としては、良い効率であることがわかりました。

スポンサーリンク

さて次回は

フィードバックによって、タップドインダクタ昇圧回路の出力電圧が安定し、175Vを安定して供給できることがわかりました。

これまでは、各設定やデバッグを行うために、16ピンのPadaukマイコン PFS123をインサーキット書き込み機を経由して実験してきました。これを6ピンの小型のタイプに変更し、昇圧回路に組み込んで、昇圧回路単体で動作するように改良したいと思います。

Padaukマイコンライターキット | kohacraftのshop
Padaukマイコンにドラッグ&ドロップで書き込めるライターキットです
Padaukマイコン PFS123(PFS173) | kohacraftのshop
ローエンドPadaukマイコンの中で最も高機能なマイコン10個入りです