今回は、負荷によって電圧が変動しないように、電圧フィードバックをして出力電圧を安定化させたいと思います。
タップドインダクタ昇圧回路については、前回の記事をご覧ください。
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ピンの小型のタイプに変更し、昇圧回路に組み込んで、昇圧回路単体で動作するように改良したいと思います。


コメント