定電圧定電流電源1


【概要】

9VのACアダプタの電源から、降圧するレギュレータで、出力電圧可変、
制限電流も可変できる定電圧、定電流電源です。
出力は1.0V〜8V、電流は最大1Aとなっています。
完成した外観は下図のような基板単体ユニットとなっています。

【全体構成】

全体構成は下図のようになっています。


 入力電源としては市販のACアダプタを使うこととし直流の9Vとします。
したがって、最大出力電圧もこれで制限されDC8V程度となります。

 実は、当初はDC24V程度まで対応できるように考えたのですが、
SMPS
デバイス本体の3.3Vの電源供給を簡単化するため3端子レギュレータを
使ったことにより、発熱で9Vに制限されることになりました。
 電力制御用のMOSFETは小型の5Aクラスのもので十分でした。
この駆動にはMOSFETドライバを使って効率よくMOSFETが駆動できるようにしました。
このMOSFETドライバにはマイクロチップ社の最新のデバイスを使っていて、
耐圧が30Vまで大丈夫ですので、24Vの場合にもこのままで行けます。

 出力電流の計測には0.1Ωを3個並列にした0.033Ωのシャント抵抗を使って
ハイサイドで検出しています。この抵抗での電圧降下を増幅するため、MAXIM社の
ハイサイド電流検出用のアンプを使っています。
このアンプで50倍した出力をSMPSAN2ピンに接続し、内部でA/Dコンバータと
アナログコンパレータ両方で使うことにしました。
 つまり、A/Dコンバータでは電流計測表示に使い、アナログコンパレータでは
電流制限機能に使います。

 入力電圧と出力電圧は単純に抵抗で分圧してSMPSのアナログ入力ピンに
接続しています。分圧比は入力が最大25Vまで、出力は20Vまで計測できるように
しています。つまり24V入力用として設計しています。

 電圧と電流の設定は可変抵抗で行うことにし、電源を可変抵抗で分圧した電圧を
直接SMPSのアナログ入力としています。電圧と電流の値の表示をするために
液晶表示器を使いました。この液晶表示器はI2C接続となっていますので、
2本の配線だけで制御できます。電源も3.3Vとなっていますので好都合なものと
なっています。

 全体構成図から作成した回路図が下図となります。LED1個ありますが、
ここに内蔵アナログコンパレータの出力ピンを接続して、電流制限機能が
動作している目印用とします。




【製作】

 実装は簡単化のため片面基板単体で構成しましたが、実用的に使えるようなもの
にしました。入力はDCジャックで直接ACアダプタを接続し、出力には基板用の
端子台を使って負荷を接続しやすいようにしました。液晶表示器も基板上に
コネクタで接続しています。
 電圧、電流の設定には、基板上の可変抵抗と、外付けの可変抵抗いずれかが
使えるようにジャンパで切り替えられるようにしました。
 MOSFET3端子レギュレータ、チップコンデンサははんだ面側の実装となります。
グランドパターンを安定動作とレギュレータの放熱のため、できるだけ広く取れるように
したことで、ジャンパ線がちょっと多くなっています。


意外とすっきりした実装となりました。



左端にMOSFET、上端に3端子レギュレータ
が実装されています。

【プログラムの製作】

 この回路構成で電圧と電流の制御をするため、内蔵PWMモジュール、
A/Dコンパレータ、アナログコンパレータをフル活用することにしました。
プログラムで制御する部分をできるだけ少なくし、大部分の制御を
内蔵モジュールで自動的に実行させています。
このため各モジュールの初期設定が重要で、これで大部分の機能が
実現されてしまいます。

@PWMモジュールの設定
 このSMPS4チャネルのPWMペア出力ができますが、今回はPWM#1
ペア系統のみ、基本的な相補出力モードで使います。
 PWMを最高速度で動作させ、リップルを小さくするためデューティ分解能を
12
ビットで4096段階としましたので、結局周期はこれで決定され、
1.04nsec×4096=4.26μsecとなり約235kHzの周期となります。

 次に、デッドタイムの設定ですが、これは調整が必要な項目で、写真
ように波形を見ながら設定する必要があります。
調整を始める初期値は大きめにしないと貫通電流で発熱しますので、
大きめの値から波形を見ながら徐々に小さくしていきます。
今回は、立下り側が240×1.04nsec、立ち上がり側が60×1.04nsec
余裕のある最小値となりました。
使ったMOSFETのターンオフ時間が100nsecとちょっと大きかったのと、
波形の振動が大きいため、長めのデッドタイムとなってしまいました。



 次は、PWM10サイクルごとにA/Dコンバータのトリガを出力し、出力の
電圧と電流のA/D変換を起動するようにします。
これでA/Dコンバータを自動起動し、変換終了で割り込みを発生させます。
この割り込みごとに電圧の単純フィードバック制御を実行します。
これで電圧と電流のA/D変換が42.6μsecごとに実行されフィードバックされる
ことになります。
この高速性のため、単純フィードバック制御だけで負荷変動特性は十分確保
できました。


 次に、電流制限を、アナログコンパレータと連動させたフォルト制御で行う
ためにフォルト制御の設定を行います。
 PWM#1のフォルト制御要因をアナログコンパレータ#1の出力に設定し、
RP14ピンに割り付けます。そしてこのフォルト入力時の動作をサイクルごとに
PWM1HピンはHighに、PWM1LピンはLowにするように設定します。
これでアナログコンパレータの出力でPWMサイクルごとにデューティを制御
する方法で電流を制限することができます。





A A/Dコンバータモジュールの設定
 A/Dコンバータの入力は、AN0からAN56チャネルとなり、2チャネルずつの
ペアで動作設定するようになっています。すべて整数形式の変換とします。
 AN0AN1のペア0AN0の入力電圧だけで使っていますので、
個別トリガモードとしてプログラムで変換を開始します。
 AN2AN3のペア1は出力電流と電圧の計測で、PWM#1で自動起動される
ように設定し、割り込みも生成するよう有効化します。
 AN4AN5のペア2は電圧と電流の設定値入力用ですので、個別トリガモード
としてプログラムで起動するようにします。

B アナログコンパレータモジュールの設定
 アナログコンパレータは電流制限用に使います。まずコンパレータの出力を、
LED
の接続されたRP14ピンとするようピン配置設定機能で設定します。
 PWMモジュールのフォルト入力もこの同じピンに設定されていますので、
電流が設定をオーバーするとLEDが点灯して電流制限機能が動作を開始します。

 制限する電流値は、アナログコンパレータのリファレンス電圧を生成する
D/Aコンバータで決定されます。したがって、電流設定により設定された値に
基づいてD/Aコンバータの10ビットのリファレンス電圧出力設定をします。

 リファレンス電圧は最高3.3V/2=1.65Vとなっており、電流検出抵抗が0.033Ω、
電流増幅用ハイサイドアンプのゲインが50倍となっていますので、
1.65V÷50÷0.033Ω=1Aとなって、ちょうど出力電流が1Aのとき最大の
リファレンス電圧になります。
 これだけの設定で、PWMサイクルごとに出力電流が設定値を超過すれば、
自動的にデューティをオフとして出力電圧を下げる制御をしてくれますので、
プログラムは何もする必要がありません。

 以上で設定完了です。内蔵モジュールだけで大部分の機能が実行されて
しまうことが分かるかと思います。

【使い勝手】

実際に使ってみた具合は、電圧調整が非常にスムースで、設定値と実際の
値もぴったり一致しますので、気持ちよく使うことができました。
 スイッチング電源ですのでアナログ回路用の電源としては無理がありますが、
マイコン等の実験用電源としては十分実用になるなと感じました。
 ちょっとレギュレータ部分の発熱が気になりますが、プリントパターンで
十分放熱はできていますので、長時間連続で使っても問題ないでしょう。
 逆にMOSFET部分の発熱はほとんど感じないくらいで、スイッチング方式の
メリットが出ています。
 SMPSデバイスは、PWM周波数が高く、デューティ分解能も高いので、
リップルの問題は難なくクリアできましたし、電流制限も内蔵アナログコンパレータと
フォルト機能だけで実現できました。
しかもサイクルごとに制限機能が動作しますから、電圧変動も非常にわずかな
範囲に抑えることができました。

【データダウンロード】

本製作に使用したデータは下記からダウンロードできます。

★★★ 基板パターン図
 PDF形式となっていますので、そのままインクジェットプリンタ等で印刷して
 お使いください。OHPフィルムに2度重ね印刷するときれいにできます。


★★★ プログラムプロジェクトファイル一式
 適当なフォルダに展開後プロジェクトを再作成し、コンパイルしてお使いください。
 MPLAB C30のコンパイラで作成しています。
 液晶表示器のライブラリも一緒に含まれています。

★★★ Eagleファイル ダウンロード


   目次ページへ