====== 昇圧型DC/DCコンバータ(PWM方式)V3 ====== ===== 概要 ===== 前回の実験「昇圧型DC/DCコンバータ(PWM方式)」で、高電圧の電源が実現できそうだと判断し、今回は、それを実際の電源として利用できるように改良してみました。 ===== 動作原理 ===== 基本的な原理は、以前に製作した、「昇圧型B電源ユニット」および「昇圧型DC/DCコンバータ(PWM方式)」を参照してください。 今回の改良のポイントは以下の4項目です。 * 電流容量を増やすために、スイッチング部をパラレル4段構成とする。 * 出力電圧を監視し、電圧を設定値になるように自動制御する。 * 出力電圧を1V単位で、アップ/ダウン可能とする。 * 自動制御をON/OFF(ホールド状態)可能とする。 ===== 回路図 ===== {{:imgpaste:202004:htmikan-20200430-103053.png}} ===== ソースコード ===== //********************************************************************** /* <DC2DCコンバータ V3> */ //********************************************************************** #define SW_UP PORTA.F2 #define SW_DOWN PORTA.F3 #define SW_HOLD PORTA.F5 //********************************************************************** void Pwm_Change_DutyEx(unsigned int duty_ratio) { CCPR1L = duty_ratio >> 2; CCP1CON.CCP1Y = duty_ratio & 0b00000001; CCP1CON.CCP1X = (duty_ratio & 0b00000010) >> 1; } //********************************************************************** void main() { //変数の設定 static double ad, target; static unsigned char buf[10]; static unsigned short cnt; static unsigned int duty; //ポート関連の設定 TRISA = 0b00111100; TRISB = 0b00000000; OSCCON = 0b01110000; // クロックを8Mhzに設定する。 ANSEL = 0b00010000; // A/D変換を使用する。 //LCDの設定 Lcd_Custom_Config(&PORTA, 1, 0, 7, 6, &PORTB, 5, 6, 7); Lcd_Custom_Cmd(LCD_CURSOR_OFF); Lcd_Custom_Cmd(LCD_CLEAR); // Pwm_Init(10000); //freq=10kHz PR2 = 0xFF; duty = 100; Pwm_Change_DutyEx(duty); //duty=10% Pwm_Start(); // target = 100; // WordToStr(target, buf); Lcd_Custom_Out(1, 1, &buf[2]); Lcd_Custom_Out(1, 4, "V"); Lcd_Custom_Out(2, 4, "V"); Lcd_Custom_Out(2, 6, "duty="); while (1) { ad = 0.0; for (cnt = 0; cnt < 100; cnt++) { ad += Adc_Read(4); } ad = ad / 100.0; ad = ((ad * 4.8828125) * 101.0) / 1000.0; WordToStr(ad, buf); Lcd_Custom_Out(2, 1, &buf[2]); // if (SW_HOLD == 1) { if (ad > target) { duty--; } else { duty++; } } Pwm_Change_DutyEx(duty); WordToStr(duty, buf); Lcd_Custom_Out(2, 11, &buf[1]); // if (SW_UP == 0) { target += 1; WordToStr(target, buf); Lcd_Custom_Out(1, 1, &buf[2]); } if (SW_DOWN == 0) { target -= 1; WordToStr(target, buf); Lcd_Custom_Out(1, 1, &buf[2]); } } } //********************************************************************** ===== 動作確認 ===== スイッチング部は、別ユニットとし、パワーMOSFETには放熱板を取り付けました。 {{:imgpaste:202004:htmikan-20200430-103158.png?500}} {{:imgpaste:202004:htmikan-20200430-103215.png?500}} 出力電圧を、昔の真空管ラジオ(トランス付き5球スーパー)のB電圧として利用し、動作を確認してみました。 {{:imgpaste:202004:htmikan-20200430-103227.png?500}} B電圧の供給口は、整流管の直後とします。 左側:整流管(6X4)、電力増幅管(6AR5)、電圧増幅管(6AV6)です。 右側:6X4をソケットから外したところです。 {{:imgpaste:202004:htmikan-20200430-103238.png}}{{:imgpaste:202004:htmikan-20200430-103244.png}} 6X4の7番ピン(カソード)と筐体アース部分から、B電圧を供給します。 {{:imgpaste:202004:htmikan-20200430-103259.png?500}} 200Vを供給、コンバータの電源は、12V/1.36Aを消費、十分な音量で鳴ってくれます。 LCDの表示は、左上側(設定電圧)、左下側(出力電圧)、右下側(PWMのデューティ値)です。 {{:imgpaste:202004:htmikan-20200430-103311.png}}{{:imgpaste:202004:htmikan-20200430-103315.png}} 150Vを供給、コンバータの電源は、12V/0.74Aを消費、十分な音量で鳴ってくれます。 {{:imgpaste:202004:htmikan-20200430-103321.png}}{{:imgpaste:202004:htmikan-20200430-103325.png}} 100Vを供給、コンバータの電源は、12V/0.28Aを消費、やや音量が小さくなりました。 {{:imgpaste:202004:htmikan-20200430-103332.png}}{{:imgpaste:202004:htmikan-20200430-103336.png}} 50Vを供給、コンバータの電源は、12V/0.04Aを消費、かなり小さな音量ですが鳴っています。 {{:imgpaste:202004:htmikan-20200430-103342.png}}{{:imgpaste:202004:htmikan-20200430-103346.png}} 如何ですか? これを少し工夫すれば、AC100Vを使用せずに、車の12Vバッテリーのみで真空管ラジオを十分な音量で鳴らせることが出来ますね ^_^ また、スイッチング部のパラレル段数を更に増やすことにより、真空管ラジオよりも電流容量が必要となる、真空管ステレオアンプにも十分使えるのではと考えています。 このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。[[elechobby:picdic:picdic|詳細]] This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.[[elechobby:picdic:picdic|Details]]