(57)【要約】【課題】定電流デジタル電源装置の制御回路を単電源で駆動可能とし、単電源でオペアンプを使用してもフィードバック制御できない低電流領域での電流制御を可能とする電流制御方法を提供すること。【解決手段】デジタル制御されるパルス幅変調信号によりスイッチング素子をオン／オフ制御し、入力電圧に基づいて所定の出力電流を負荷に出力する定電流デジタル電源装置の電流制御方法であり、設定電流値が所定電流値以上のときはフィードバック制御で定電流を負荷に出力し、設定電流値が所定電流値未満のときはフィードフォワード制御で定電流を負荷に出力し、予め負荷の特性をサンプリングすることにより、フィードフォワード制御の指令値と設定電流値との関係を多項式で近似し、当該多項式に設定電流値を代入してフィードフォワード制御の指令値とし、その指令値に補償係数を乗じてパルス幅変調信号の制御量とする。【選択図】図６
2018125938.tif 000002
【特許請求の範囲】
【請求項１】
デジタル制御されるパルス幅変調信号によりスイッチング素子をオン／オフ制御し、入力電圧に基づいて所定の出力電流を負荷に出力する定電流デジタル電源装置の電流制御方法であって、
設定電流値が所定電流値以上のときはフィードバック制御で定電流を前記負荷に出力し、
前記設定電流値が前記所定電流値未満のときはフィードフォワード制御で定電流を前記負荷に出力し、
予め前記負荷の特性をサンプリング測定することにより、前記フィードフォワード制御の指令値と前記設定電流値との関係を多項式で近似し、当該多項式に前記設定電流値を代入して前記フィードフォワード制御の指令値とし、該指令値に補償係数を乗じて前記パルス幅変調信号の制御量とすることを特徴とする定電流デジタル電源装置の電流制御方法。
【請求項２】
請求項１に記載された定電流デジタル電源装置の電流制御方法であって、
試験電流を変化させて前記負荷に出力したときの前記出力電流の挙動から前記補償係数を求めることを特徴とする定電流デジタル電源装置の電流制御方法。
【請求項３】
請求項２に記載された定電流デジタル電源装置の電流制御方法であって、
前記試験電流を所定のサンプリング周期で段階的に変化させて前記負荷に出力し、前記出力電流が所定の測定閾値に到達した時点のフィードバック制御の指令値に基づいて前記補償係数を算出することを特徴とする定電流デジタル電源装置の電流制御方法。
【請求項４】
請求項３に記載された定電流デジタル電源装置の電流制御方法であって、
前記測定閾値を前記設定電流値として前記多項式に代入することによって算出した前記フィードフォワード制御の指令値を基準値としたとき、
前記出力電流が前記測定閾値に到達したサンプリング周期のフィードバック制御の指令値を連続して複数回取得して平均値を求め、前記基準値と前記平均値との差から前記補償係数を算出することを特徴とする定電流デジタル電源装置の電流制御方法。
【請求項５】
請求項２ないし４のいずれかに記載された定電流デジタル電源装置の電流制御方法であって、
前記試験電流を出力する前に前記出力電流を停止させる電流停止期間を設けることを特徴とする定電流デジタル電源装置の電流制御方法。
【請求項６】
請求項２に記載された定電流デジタル電源装置の電流制御方法であって、
前記試験電流を前記負荷に出力し出力電流が目標電流値の一定範囲に収束したサンプリング周期のフィードバック制御の指令値を連続して複数回取得して平均値を求め、前記目標電流値を前記設定電流値として前記多項式に代入することによって算出した前記フィードバック制御の指令値を基準値とし、該基準値と前記平均値との差から前記補償係数を算出することを特徴とする定電流デジタル電源装置の電流制御方法。
【請求項７】
請求項１ないし６のいずれかに記載された定電流デジタル電源装置の電流制御方法であって、
前記定電流デジタル電源装置の入力電圧の変動に対して、一定の基準電圧値に対する前記入力電圧値の割合を電圧変動係数とし、当該電圧変動係数を前記指令値に乗算してパルス幅変調信号の制御量とすることを特徴とする定電流デジタル電源装置の電流制御方法。
【請求項８】
請求項１ないし７のいずれかに記載された定電流デジタル電源装置の電流制御方法を備えた定電流デジタル電源装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、定電流デジタル電源の電流制御方法およびその方法を備えた定電流デジタル電源装置に関する。
【背景技術】
【０００２】
近年、ＬＥＤ(Light Emitting Diode)、ＬＤ（Laser Diode）等の照明用機器に使用される電源は小型化、高精度化、低コスト化が進んでいる。これらの機器を駆動するための電源にはスイッチング電源が直流電源として広く使用されている。
【０００３】
スイッチング電源に用いられる制御方式は、アナログ制御方式とデジタル制御方式がある。アナログ制御方式は、トランジスタ、コイル、コンデンサ、抵抗等で構成するアナログ回路を用いて制御を行う。
【０００４】
一方、デジタル制御方式は、ＡＤ（Analog Digital）変換器やマイクロコンピュータを備え、ＰＩＤ制御等の演算を実現するデジタル信号処理回路によって制御を行う。すなわち、定電流を得るために電流検出回路から取得した信号をＡＤ変換器によりサンプリングして数値化する。この数値化した出力電流値と設定電流値との偏差を演算して、デジタルコントローラ（Ｐ、ＰＩ、ＰＩＤ制御）によって指令値を求め、更にＰＷＭ（Pulse Width Modulation：パルス幅変調）制御によりチョッパ回路へフィードバックすることで目標の電流を負荷に流す方式である。
【０００５】
このデジタル制御方式は、アナログ制御方式と比較して、簡単な回路構成で実現でき、負荷や外部条件等に応じた柔軟な制御が可能であるため、小型化、低コスト化等の性能向上が可能である。
【０００６】
さらに、スイッチング電源は小型化、高精度化、低コスト化を図るため、シャント抵抗、オペアンプ、単電源等の回路構成で低電流域から定格電流まで連続的に制御するが、単純にオペアンプを単電源で駆動するとＧＮＤ（グランド）付近でリニアリティを失うため目的の電流を精度よく制御するのが困難である。
【０００７】
この問題に対して、例えば特許文献１には、電流検出用オペアンプのオフセットによる影響を受けずに、電流を高精度で検出することができ、さらに電流検出用オペアンプは単電源での構成をも可能にし、それによって高精度かつ高速の電流制御が可能なスイッチング電源装置が開示されている。図１７は、その特許文献１に記載された電流検出用オペアンプの構成例を示す回路構成図である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７―１８９７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に開示された、電流検出用オペアンプを単電源とし高精度の電流制御を可能とする電流検出回路は、抵抗以外にトランジスタやコンデンサ等の部品を使用するため部品点数が多くなり、その分コストもアップし低コスト化が難しいという問題がある。
【００１０】
本発明は、前記従来の問題に鑑みてなされたものであって、その目的は、電源装置の制御回路を単電源で駆動可能とし、単電源でオペアンプを使用してもフィードバック制御できない領域での電流制御を可能とする電流制御方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明は、デジタル制御されるパルス幅変調信号によりスイッチング素子をオン／オフ制御し、入力電圧に基づいて所定の出力電流を負荷に出力する定電流デジタル電源装置の電流制御方法であって、設定電流値が所定電流値以上のときはフィードバック制御で定電流を出力し、設定電流値が所定電流値未満のときはフィードフォワード制御で定電流を出力し、予め負荷の特性をサンプリング測定することにより、フィードフォワード制御の指令値と設定電流値との関係を多項式で近似し、当該多項式に設定電流値を代入してフィードフォワード制御の指令値とし、該指令値に補償係数を乗じてパルス幅変調信号の制御量とすることを特徴とする定電流デジタル電源の電流制御方法であり、その電流制御方法を備えた定電流デジタル電源装置である。
【発明の効果】
【００１２】
本発明によれば、単電源で使用する電源回路で、プログラムの制御のみで、フィードバックができない低電流域から定電流を取り出すことができる。
【図面の簡単な説明】
【００１３】
【図１】降圧チョッパ方式の定電流デジタル電源装置の概略構成図である。
【図２】デジタル制御方式の制御回路のブロック図である。
【図３】本発明の設定電流値により制御方法が異なることを説明する図である。
【図４】パイロット電流測定とその前後のフィードフォワード制御の指令値の変化を説明する図である。
【図５】パイロット電流測定による指令値の取得および補償係数の算出を説明する図である。
【図６】デジタル制御方式の制御回路の信号処理フロー図である。
【図７】デジタル制御方式の制御回路の信号処理フロー図にパイロット電流測定の信号処理フローを示した図である。
【図８】デジタル制御方式の制御回路の信号処理フロー図にフィードフォワード制御＋負荷特性補償の信号処理フローを示した図である。
【図９】デジタル制御方式の制御回路の信号処理フロー図にフィードバック制御の信号処理フローを示した図である。
【図１０】本発明のデジタル制御方式のメインプログラムのフローチャートである。
【図１１】デジタル制御方式のＡＤ変換完了割込みプログラムのフローチャートである。
【図１２】パイロット電流測定プログラムのフローチャートである。
【図１３】パイロット電流送出制御プログラムのフローチャートである。
【図１４】フィードフォワード制御＋負荷特性補償のプログラムのフローチャートである。
【図１５】フィードバック制御のプログラムのフローチャートである。
【図１６】パイロット電流測定の別の方法のプログラムのフローチャートである。
【図１７】電流が高精度で検出可能な電流検出用オペアンプを単電源で構成可能にした従来技術の回路構成である。
【発明を実施するための形態】
【００１４】
本発明の実施形態である定電流デジタル電源装置について図面を参照して説明する。
図１は、本発明の実施形態である降圧チョッパ方式の定電流デジタル電源装置の概略構成図である。
図１に示す定電流デジタル電源装置１０は、入力電源１１、コンデンサ１２、スイッチング素子１３、ホイルダイオード１４、インダクタ１５、コンデンサ１６、電流検出回路（シャント抵抗）１７、差動増幅器１９および制御回路２０で構成される。定電流デジタル電源装置１０の出力には負荷１８が接続される。
電流検出回路１７には、シャント抵抗のほか、ホール素子、カレントトランス等が使用される。
【００１５】
定電流デジタル電源装置１０は、入力電源１１を直流電源として定電流制御された出力電流を負荷１８に供給する。入力電源１１は商用の交流電源を整流し平滑した定電圧電源でもよい。コンデンサ１２は平滑コンデンサであり、入力電源１１のノイズおよび後段のスイッチング素子１３によるノイズを低減する。
【００１６】
スイッチング素子１３は制御回路２０内のデジタルＰＷＭ発生器によってＰＷＭ制御される。スイッチング素子１３がオンの期間は、スイッチング素子１３からインダクタ１５、シャント抵抗１７、負荷１８へと出力電流が流れ、またインダクタ１５に電力が蓄えられる。スイッチング素子１３がオフの期間は、インダクタ１５に蓄えられた電力により、ホイルダイオード１４、インダクタ１５、シャント抵抗１７、負荷１８へと出力電流が流れる。
【００１７】
インダクタ１５とコンデンサ１６はフィルター回路を構成しており、リプルノイズを低減し出力電流を平滑化する。シャント抵抗１７の両端に発生する電圧は差動増幅器１９で増幅され、電流値のフィードバック信号として制御装置２０に入力される。
これらの構成により、定電流デジタル電源装置１０から制御された定電流が負荷１８に供給される。
【００１８】
図２は、図１に示すデジタル制御方式の制御回路２０のブロック図である。制御回路２０は、設定電流入力部２５、ＡＤ変換器２１、ＡＤ変換器２２、デジタル信号処理回路２３およびデジタルＰＷＭ発生器２４で構成される。
設定電流値は、定電流デジタル電源装置１０の外部から、例えばＳＰＩ（Serial Peripheral Interface）通信等により設定電流入力部２５に入力される。ＡＤ変換器２１は、図１に示す差動増幅器１９により増幅された出力電流値をデジタル値に変換する。ＡＤ変換器２２は、入力電源１１の電圧値をデジタル値に変換する。いずれもデジタル信号処理回路２３に入力される。
【００１９】
デジタルＰＷＭ発生器２４は、デジタル信号処理回路２３により演算された出力電流に対応する指令値によってスイッチング素子１３をオン／オフするパルス信号を出力する。
デジタル信号処理回路２３は、図示はしていないがＣＰＵ、ＲＯＭ、ＲＡＭ等で構成され、ＲＯＭに格納されたプログラムが実行されることにより定電流制御を実現する。
【００２０】
図３は、本発明の設定電流値により制御方法が異なることを説明する図である。横軸は設定電流であり縦軸は出力電流で、ＡＤ変換の不感帯となる出力電流範囲の制御方法を示した図である。
本発明は、設定電流値が所定電流値以上であれば、フィードバック（ＦＢ）制御で定電流を出力し、設定電流値が所定電流値未満であればフィードフォワード（ＦＦ）制御と負荷特性補償の組合せ方式で、定電流を出力する。
【００２１】
本実施形態の定電流デジタル電源装置１０では、出力電流を検出する差動増幅器１９は単電源で構成されており、ＧＮＤ付近ではリニアリティを失う。そのため、所定電流値未満ではフィードフォワード制御と負荷特性補償の組合せ方式で定電流制御を実施する。
本実施形態ではその所定電流値は０．５Ａとしているが、差動増幅器１９の性能の違いや電源装置の制御範囲等により、０．５Ａ以外の電流値としてもよい。
【００２２】
本発明のフィードフォワード制御と負荷特性補償の組合せ方式の定電流制御は、予め事前に本電源装置１０に特定の負荷を接続した状態で出力電流をサンプリング測定してそれに対応する指令値を求め、設定電流値と指令値の関係を多項式によって近似する(多項式から擬似回路をエミュレートする)。そして、具体的なフィードフォワード制御の設定電流値をその多項式に代入して指令値を算出し、この指令値をデジタルＰＷＭ発生器２４に設定する。この方法によれば非線形負荷であっても対応が可能である。
【００２３】
しかし、フィードフォワード制御は、事前に特定の負荷を接続したときの負荷特性を多項式によって近似するものの、多項式により算出された指令値による出力電流は、事前に特定した負荷と実際の負荷が異なり、また環境温度の変化によって負荷特性が変わると、実際の電流値から乖離する。
【００２４】
本発明では、この事前に特定する負荷と実際の負荷の違いや温度等の環境変化に起因する出力電流の相違に対して、フィードフォワード制御の期間に、定期的に短期間試験電流（以下、「パイロット電流」という）を負荷に流してパイロット電流と出力電流との関係を測定する。パイロット電流による出力電流が目標値（以下、パイロット電流による出力電流の目標値を「測定閾値」という）に到達した時点のＰＩ制御の指令値を取得して補償係数を算出する。その補償係数をフィードフォワード制御の指令値に乗算して負荷の違いや温度変化等に対して補償する指定値とする。
ここで、パイロット電流とは、事前に特定の負荷を本電源装置に接続したときの出力電流をサンプリングすることによって設定電流値と指令値との関係を近似した多項式を、校正するために定期的に短時間負荷に出力する電流のことである。
【００２５】
パイロット電流測定は、直前のフィードフォワード制御からフィードバック制御に切り換え、フィードバック制御のＰＩ制御の指令値をサンプリングして取得する。
本実施形態は、パイロット電流目標値を１．０Ａと設定し、スルーレート値を０．１８Ａとすると、後述するスルーレートコントローラよりサンプリング周期（本実施形態では、６６ｋＨｚで周期は約１５μｓ。フィードバック周期と同じ）毎の目標電流は、０．１８Ａに抑えられるので、０．１８Ａ、０．３６Ａ、０．５４Ａ、０．７２Ａ、０．９０Ａ、１．０Ａと６サンプリング周期を経ることで目標値に達する。一方、出力電流の測定閾値を０．５Ａとすると、出力電流が測定閾値の０．５Ａに到達した時点でパイロット電流測定が終了する。
【００２６】
なお、スルーレート値は、パイロット電流測定の電流上昇に対して負荷特性の追随を考慮して、設定してもよい。例えば、スルーレート値を小さくすればパイロット電流測定には時間を要するが、サンプリング誤差を少なくすることができ、出力電流が目標値に達したときのＰＩ制御の指令値は、より精度の高い値となる。
【００２７】
次に、図４を参照してパイロット電流の送出方法を説明する。
図４は、パイロット電流測定とその前後のフィードフォワード制御の指令値の変化を説明する図である。横軸は時間、縦軸はフィードフォワード制御のＩｆｆ指令値（以下、フィードフォワード制御の指令値は「Ｉｆｆ指令値」という）である。
【００２８】
図４に示すように、パイロット電流測定直前のフィードフォワード制御の次のサンプリング周期から、パイロット電流送出前に電流停止期間を設ける。これにより、直前のフィードフォワード制御の設定電流値が、パイロット電流による測定結果に影響を及ぼすことを防ぐことができる。
【００２９】
電流停止期間後、パイロット電流の設定電流値は、電流停止期間の「０Ａ」からパイロット電流目標値（本実施形態では１．０Ａ）に設定され、測定が開始される。パイロット電流は、スルーレートコントローラの機能によりサンプリング周期毎に段階的に上昇する。
パイロット電流測定は、フィードバック制御で実施され、出力電流が測定閾値（本実施形態では０．５Ａ）に達する時のフィードバック制御のＰＩ制御演算器の指令値（以下、フィードバック制御の指令値は「Ｉｐｉ指令値」という）を取得して補償係数を算出するための入力値とする。パイロット電流測定は定期的に実施し、連続して取得したＩｐｉ指令値の移動平均値を補償係数算出の入力値とする。
【００３０】
補償係数が算出されると、パイロット電流測定終了後の次のフィードフォワード制御のＩｆｆ指令値は、図４に示すように多項式により算出されたＩｆｆ指令値に補償係数を乗じた補償後のＩｆｆ指令値として、デジタルＰＷＭ発生器２４に設定される。
【００３１】
次に、補償係数の算出方法について図５を参照して説明する。
図５は、パイロット電流測定による指令値の取得および補償係数の算出を説明する図である。横軸は設定電流、縦軸はフィードフォワード制御のＩｆｆ指令値である。実線の曲線は事前に特定した負荷特性であり多項式によって近似したものである。２つの点線の曲線は、補償係数を適用した多項式の変化を示す。
【００３２】
パイロット電流測定により求めたＩｐｉ指令値の平均値と、多項式により算出した測定閾値のＩｆｆ指令値（以下、「基準値」という）との差が、負荷電流に対する指令値の変化分である。そこで、この変化分を多項式で算出したＩｆｆ指令値に補償することにより、負荷変動に対してのフィードフォワード制御の新たな指令値とする。
【００３３】
フィードフォワード制御での設定電流は、通常、設定電流値（図５のＡ）を多項式（図５に示す実線の曲線）に代入してフィードフォワード制御のＩｆｆ指令値（図５のａ）を算出し、このＩｆｆ指令値に、後述する入力電源１１の電圧変動係数やＰＷＭゲインを乗算してデジタルＰＷＭ発生器２４に設定する。
【００３４】
パイロット電流測定はフィードバック制御で実行されるから、パイロット電流を送出し出力電流が測定閾値（図５のＢ）となったときの、Ｉｐｉ指令値（図５のｂ１）を取得する。このＩｐｉ指定値はサンプリング誤差を解消するため、連続した複数のＩｐｉ指令値の移動平均値とする。このとき、測定閾値（図５のＢ）の多項式によるＩｆｆ指令値（図５のｂ０）は基準値であるから、補償係数は以下の式で求められる。
補償係数＝（Ｉｐｉ平均値―基準値）＊ＡＧＣゲイン＋１．０    ・・・（１）
ここで、ＡＧＣ（Auto Gain Control）ゲインは、負荷のバラツキの最大値を実測して決めるが、個々の電源装置で調整する。
【００３５】
パイロット電流測定が終了し補償係数が更新された次のフィードフォワード制御では、設定電流値が設定されると、設定電流値（例えば、図５のＣ）を多項式に入力して、フィードフォワード制御のＩｆｆ指令値（図５のｃ０）を算出し、このＩｆｆ指令値にパイロット電流測定によって求めた補償係数を乗算する。すなわち、
フィードフォワード制御の補償後の指令値＝多項式から得られた指定値（ｃ０）＊補償係数・・・（２）
によって、負荷特性の変動や温度変化等に対応したＩｆｆ指令値が出力される。
【００３６】
以上の説明は、基準値（図５のｂ０）に対してＩｐｉ平均値が大となる場合であり、基準値よりＩｐｉ平均値が小となる場合も同様に求めることができる（図５のｂ２、c２）。この場合は式（１）の「Ｉｐｉ平均値―基準値」は負の値である。
なお、図５に示すｂ１を含む点線の曲線は、多項式により算出する指令値よりも実際の指令値が大きくなっている場合である。すなわち、補償係数の算出後、設定電流のＩｆｆ指令値は、この点線で示された多項式によって指令値が算出されたようになり、実際の負荷の変動等に対応することができる。
また、ｂ２を含む点線の曲線は、多項式により算出したＩｆｆ指令値よりも実際のＩｐｉ指令値が小さい場合の補償係数を適用した多項式である。
【００３７】
次に、図２に示した制御回路２０を構成する機能および信号の流れを説明する。
図６は、本発明の電流制御方法を実現するデジタル制御方式の制御回路２０の信号処理フロー図である。
【００３８】
パイロット電流測定に関する機能は、パイロット電流測定タイミングコントローラ３１、パイロット電流測定コントローラ４０、スイッチ４６、スイッチ４７、移動平均算出器４３、偏差算出器４４、ＡＧＣゲイン乗算器４５、スイッチ４８、スルーレートコントローラ３９、偏差演算器３８、ＰＩ制御演算器３６、デジタルＰＷＭ発生器２４、ドライバ３７、電流検出回路１７、差動増幅器１９およびＡＤ変換器２１により実現される。
【００３９】
次に、フィードフォワード制御に負荷特性補償を組合せた制御に関する機能は、設定電流検出器３３、スイッチ４８、スルーレートコントローラ３９、スイッチ４９、変換器４２、デジタルＰＷＭ発生器２４およびドライバ３７により実現される。
【００４０】
さらに、フィードバック制御に関する機能は、設定電流検出器３３、スイッチ４８、スルーレートコントローラ３９、偏差演算器３８、スイッチ４６、ＰＩ制御演算器３６、デジタルＰＷＭ発生器２４、ドライバ３７、電流検出回路１７、差動増幅器１９およびＡＤ変換器２１により実現される。
【００４１】
なお、入力電圧の変動に関する機能は、ＡＤ変換器２２、変換器３４およびＰＷＭゲイン乗算器３５で実現される。これらは、パイロット電流測定、フィードフォワード制御に負荷特性補償を組合せた制御、フィードバック制御のいずれにも使用される機能である。
また、図６に示す「○」に「＋」を重ねた記号は加算器であり、「○」に「×」を重ねた記号は乗算器である。
さらに、スイッチ４９および変換器４１は、フィードバック制御に、必要であればフィードフォワード制御による指令値を加算する機能である。
【００４２】
ここで、入力電圧の変動に対する補償について説明する。
本実施形態の定電流デジタル電源装置１０の負荷は、例えば、ＬＤ（Laser Diode）のような特異的な負荷特性で電流制御範囲が広いため、なるべくフィードバック制御にかかるプログラムの負荷を少なくする必要がある。そのため、入力電源１１の入力電圧の変動に対して、一定の基準電圧値（以下、「基準ＤＣ電圧」という）に対する入力電圧の割合を電圧変動係数として算出する。指令値にその電圧変動係数を乗算してＰＷＭ制御の指令値としてフィードバック制御のプログラムの負荷を少なくする。
【００４３】
すなわち、入力電圧が上昇すれば、電圧の上昇分だけ電流が増加する。その増加を抑制するため、デジタルＰＷＭ発生器２４に入力される指令値にこの電圧変動係数（基準ＤＣ電圧を入力電圧で除算するため、電圧が上昇すれば１より小さい値）を乗算して指令値を小さくすることによりフィードバック制御によらず出力電流を抑制することができる。
本実施形態では、基準ＤＣ電圧値を５５Ｖとしているが、入力電源１１の入力電圧に応じて基準ＤＣ電圧値は変更される。
【００４４】
ここで、本実施形態のデジタルＰＷＭ発生器２４に入力される信号は、ＰＩ制御演算器３６によって演算された指令値そのものではなく、指令値に相当するＰＷＭカウント値が設定される。デジタルＰＷＭ発生器２４はこのＰＷＭカウント値に対応した出力パルスによりチョッパ回路のスイッチング素子を制御し定電流を出力する。
なお、デジタルＰＷＭ発生器２４に入力されるこのカウント値をパルス幅変調（ＰＷＭ）信号の制御量という。
【００４５】
次に、図７に示すパイロット電流測定の各機能について説明する。
図７は、図６に示したデジタル信号処理フロー図に、パイロット電流測定の信号処理フローを示した図である。
パイロット電流測定タイミングコントローラ３１は、一定周囲毎にパイロット電流測定開始の信号を出力する。パイロット電流測定コントローラ４０は、この信号を受けて、スイッチ４８をパイロット電流測定側に接続する。また、パイロット電流測定はフィードバック制御で実施されるためスイッチ４６を接続する。さらに、スイッチ４７を接続し出力電流が目標値（測定閾値）に到達したときのＩｐｉ指令値を取得できるようにする。
【００４６】
ここで、スルーレートコントローラ３９について説明する。スルーレートコントローラ３９は、設定電流値が上昇又は下降するときに、設定電流値と前回（1つ前のサンプリング周期）の設定値と差があればサンプリング周期毎にスルーレート値を加算（又は減算）する。
【００４７】
パイロット電流測定コントローラ４０は、電流停止期間、パイロット電流送出期間、パイロット電流測定終了を判定し、その期間に応じてパイロット電流を制御する。パイロット電流測定コントローラ４０から出力されたパイロット電流は、スルーレートコントローラ３９の機能によりスルーレート値を越えるような設定電流の変化は抑制され、偏差演算器３８に入力される。もう一方の出力電流は、電流検出回路１７で検出された後、差動増幅器１９を介してＡＤ変換器２１でＡＤ変換され偏差演算器３８に入力される。偏差演算器３８は、２つの入力の偏差を演算し、ＰＩ制御演算器３６に出力する。
【００４８】
ＰＩ制御演算器３６で演算されたＩｐｉ指令値は、変換器３４で算出された電圧変動係数およびＰＷＭゲイン乗算器３５のＰＷＭゲインとそれぞれ乗算され、デジタルＰＷＭ発生器２４に入力設定される。デジタルＰＷＭ発生器２４の出力パルスによってドライバ３７が駆動され電流が出力される。
【００４９】
また、パイロット電流測定は、一定周期毎に実施されるので、連続したパイロット電流測定により、出力電流が測定閾値に到達したときのＩｐｉ指定値を複数取得し、それらの移動平均を移動平均算出器４３により算出する。
【００５０】
式（１）に示したように、算出した移動平均値と、出力電流の測定閾値を多項式に代入して算出される基準値との偏差算出を行い、その偏差にＡＧＣゲインを乗算する。算出された補償係数はフィードフォワード制御に負荷特性補償を組合せた制御で使用される。
なお、入力電圧の変動に対する補償は、変換器３４で算出された電圧変動係数がＩｐｉ指令値と乗算され、デジタルＰＷＭ発生器２４に入力設定される。
【００５１】
次に、低電流（設定電流が０．５Ａ未満）のフィードフォワード制御と負荷特性補償との組合せ方式に関する各機能について説明する。
図８は、図６に示した信号処理フロー図にフィードフォワード制御＋負荷特性補償の信号処理フローを示した図である。
【００５２】
設定電流検出器３３により、設定電流が所定電流値（０．５A）と比較されて低電流と判定されると、スイッチ４８は設定電流側に接続される。設定電流はスルーレートコントローラ３９の機能によりスルーレート値を越えるような設定電流の変化は抑制されて出力される。
スイッチ４９は多項式による負荷特性補償側に接続され、変換器４２において設定電流値から多項式によりＩｆｆ指令値が算出される。算出されたＩｆｆ指令値はパイロット電流測定により算出した補償係数と乗算され、さらに変換器３４の電圧変動係数およびＰＷＭゲイン乗算器３５のＰＷＭゲインと乗算後、デジタルＰＷＭ発生器２４に入力設定される。これにより事前に特定した負荷と実際の負荷との違いや温度変化に対応した電流制御が実施される。
【００５３】
次に、通常（設定電流が０．５A以上）のフィードバック制御の信号の流れと各機能について説明する。
図９は、図６に示した信号処理フロー図にフィードバック制御の信号処理フローを示した図である。
設定電流検出器３３により、設定電流が所定電流値（０．５A）と比較され所定電流値以上と判定されると、スイッチ４６がオンして制御ループが構成され、フィードバック制御が可能となる。
【００５４】
スイッチ４８が設定電流側に接続されると、設定電流がスルーレートコントローラ３９に入力され、設定電流値のスルーレート値を超える変化は上昇又は下降が抑制される。スルーレートコントローラ３９の出力は偏差演算器３８の一方に接続される。もう一方の入力端子には、電流検出回路１７で検出され、差動増幅器１９を介してＡＤ変換器２１でＡＤ変換された出力電流信号が入力される。偏差演算器３８は２つの入力の偏差を演算しＰＩ制御演算器３６に出力する。
【００５５】
ＰＩ制御演算器３６で演算されたＩｐｉ指令値は、変換器３４で算出された電圧変動係数およびＰＷＭゲイン乗算器３５のＰＷＭゲインとそれぞれ乗算され、デジタルＰＷＭ発生器２４に入力設定される。デジタルＰＷＭ発生器２４の出力パルスによってドライバ３７が駆動され出力電流を制御する。
【００５６】
ここで、スイッチ４９は、図９に示すように変換器４１側に接続され、スルーレートコントローラ３９の出力が、変換器４１（入力をそのまま出力する機能）を介してフィードバック制御によるＩｐｉ指令値に加算される信号処理フローになっている。
すなわち、フィードバック制御とフィードフォワード制御の合成出力の信号処理フローを示す。なお、フィードバック制御のＩｐｉ指令値のみによる制御の場合は、スイッチ４９は接続しない。また、スイッチ４７はフィードバック制御ではオフである。
【００５７】
また、図６のデジタル信号処理フローでは、信号の上限値、下限値を設けるリミッタは省略している。例えば、ＰＩ制御演算器３６の前後に設けられるリミッタは制御系が不安定になることを防止する機能がある。
【００５８】
以上で図６に示す本発明のデジタル信号処理フローのそれぞれの機能の説明は終了し、以下、本発明の電流制御方法を実現するプログラムについて、フローチャートを参照して説明する。
これらのプログラムは図２に示すデジタル信号処理回路２３のメモリ（ＲＯＭ）に記憶され、デジタル信号処理回路２３のＣＰＵによって実行される。
【００５９】
図１０は、本発明のデジタル制御方式のメインプログラムのフローチャートである。
このプログラムは、電源が投入されるとスタートし、ステップＳ１０で初期化が実施される。初期化により、例えば、メモリが「０」にクリヤされ、定電流デジタル電源装置１０の制御に必要な各種パラメータに初期値がセットされる。
【００６０】
次に、一定周期でパイロット電流測定起動の処理が実施される（Ｓ１１）。規定の時間が到達する毎に初期化フラグがセットされ、シーケンスカウンタが「０」にクリヤされる（Ｓ１１）。メインプログラムはこの処理を繰り返し、割込みが発生するとその割込みプログラムに移行する。
ここで、シーケンスカウンタの数値は、次の意味で使用する。
０〜１３・・・・・電流停止期間
１４〜２５５・・・パイロット電流送出期間
２５６・・・・・・パイロット電流測定終了値
【００６１】
図１１は、デジタル制御方式のＡＤ変換完了割込みプログラムのフローチャートである。このプログラムは、出力電流がサンプリング周期毎にＡＤ変換されると、ＡＤ変換完了の割込みが発生し実行される。本発明の電流制御方法はこの割込み処理プログラムで実現される。
ＡＤ変換完了の割込みが発生すると、入力電圧のＡＤ変換値を読込み、基準ＤＣ電圧値を入力電圧値で除算して電圧変動係数を算出し、メモリへ保存する（Ｓ１０１）。
【００６２】
ステップＳ１０２で、設定電流値を読込む。次に、設定電流値が０．５Ａ以上か判定する（Ｓ１０３）。設定電流値が０．５Ａ以上のとき（Ｓ１０３、ＹＥＳ）、ステップＳ１０４のフィードバック制御のサブルーチンプログラムが実行される。そのプログラムが終了すると、割込み処理プログラムは終了し、メインプログラムに戻る。
【００６３】
一方、設定電流値が０．５Ａ未満のとき（Ｓ１０３、ＮＯ）、シーケンスカウント値が０〜２５５か判定する（Ｓ１０５）。シーケンスカウント値が２５６であれば（Ｓ１０５、ＮＯ）、ステップＳ１０６のフィードフォワード制御＋負荷特性補償のサブルーチンプログラムが実行される。そのプログラムが終了すると、割込み処理プログラムは終了し、メインプログラムに戻る。
【００６４】
シーケンスカウントが０〜２５５であれば（Ｓ１０５、ＹＥＳ）、パイロット電流測定のサブルーチンプログラムが実行される（Ｓ１０７）。そのプログラムが終了すると、割込み処理プログラムは終了し、メインプログラムに戻る。
【００６５】
次に、図１１に示す３つのサブルーチンプログラムの内、パイロット電流測定のプログラムをまず説明し、以下フィードフォワード制御＋負荷特性補償のプログラム、フィードバック制御のプログラムの順に説明する。
図１２は、パイロット電流測定プログラムのフローチャートである。このプログラムは、図４および図５を参照して説明したパイロット電流の送出、出力電流の測定、Ｉｐｉ指令値の取得を実行する。
ステップＳ２０１では、初期化フラグがセットされたか判定する。初期化フラグはメインプログラムで一定周期毎にセットされる。初期フラグがセットされていれば（Ｓ２０１、ＹＥＳ）、ステップＳ２０４に移行し、パイロット電流測定の初期化が実行される。
【００６６】
ステップＳ２０４では、設定電流値を０Ａにセットし、シーケンスカウント値を「１」にセットし、初期化フラグをクリヤする。パイロット電流測定は、フィードバック制御で実行されるため、次のステップＳ２０５でフィードバック制御のサブルーチンプログラムが実行される。フィードバック制御のサブルーチンプログラムが終了すると、このサンプリング周期のパイロット電流測定の処理は終了する。
【００６７】
一方、初期化フラグがセットされていなければ（Ｓ２０１、ＮＯ）、シーケンスカウント値を１つ進め（Ｓ２０２）、ステップＳ２０３で電流停止期間か判定する。パイロット電流測定は、シーケンスカウント値が１３になるまでは電流停止期間であり、その期間の設定電流値は０Ａとする。
【００６８】
電流停止期間であれば（Ｓ２０３、ＹＥＳ）、ステップＳ２０５のフィードバック制御のサブルーチンプログラムが実行され、このサンプリング周期のパイロット電流測定の処理は終了する。
電流停止期間でなければ（Ｓ２０３、ＮＯ）、ステップＳ２０６でパイロット電流送出期間か判定する。
パイロット電流送出期間が終了していれば（Ｓ２０６、ＮＯ）、ステップＳ２０９のパイロット測定終了の処理後、このサンプリング周期のパイロット電流測定の処理は終了する。
一方、パイロット電流送出期間であれば（Ｓ２０６、ＹＥＳ）、出力電流が目標値（測定閾値、ここでは０．５Ａ）に到達したか判定する（Ｓ２０７）。
出力電流が目標値に到達していなければ（Ｓ２０７、ＮＯ）、ステップＳ２０８のパイロット電流送出制御のサブルーチンプログラムが実行され、このサンプリング周期のパイロット電流測定の処理は終了する。
【００６９】
一方、出力電流が目標値に到達していれば（Ｓ２０７、ＹＥＳ）、ステップＳ２１０でパイロット電流のＩｐｉ指令値を取得し、このサンプリング周期のパイロット電流測定のＩｐｉ指定値と前回のサンプリング周期のＩｐｉ指令値との移動平均値（２つのＩｐｉ指令値の移動平均値）を求め、式（１）により補償係数を算出する。
補償係数はデジタル信号処理回路２３のメモリに保存する。
なお、このプログラムではＩｐｉ指令値は２つの移動平均値としているが、３以上の移動平均値としてもよく、また連続して取得したＩｐｉ指令値の加重平均値としてもよい。
【００７０】
次のステップＳ２１１は、パイロット電流送出期間終了前に出力電流が目標値（測定閾値）に到達していれば、シーケンスカウント値が２５５より小さい場合なので、シーケンスカウント値を測定終了値の２５６とする。
【００７１】
図１３は、パイロット電流送出制御プログラムのフローチャートである。図１２に示すステップＳ２０８のサブルーチンプログラムの詳細である。このプログラムは、スルーレートコントローラ３９の機能をプログラムで実現するものである。
ステップＳ３０１では、パイロット電流目標値が、前回（１つ前のサンプリング周期）のフィードフォワード制御の設定電流の設定値より小さいか判定する。
【００７２】
図４に示すパイロット電流測定方法の場合、電流停止期間があるため前回設定値は０Ａなので、パイロット電流目標値を１．０Ａとすると、判定は「小さくない」（Ｓ３０１、ＮＯ）となり、ステップＳ３０２に移行する。図４に示すパイロット電流目標値を一旦０Ａとする測定方法では、ステップＳ３０１の判定で「ＹＥＳ」とならないが、後述するパイロット電流測定の別の方法では、「ＹＥＳ」となる場合があり、ステップＳ３０１の判定を設ける。
なお、前回設定値とは、1つ前のサンプリング周期の設定電流値であり、今回設定値とは、現在実行中のサンプリング周期の設定電流値である。
【００７３】
ステップＳ３０１の「ＹＥＳ」のとき、今回設定値にパイロット電流目標値を代入する（Ｓ３０３）。次に、ステップＳ３０５のフィードバック制御のサブルーチンプログラムが実行され、このプログラムは終了する。
ステップＳ３０２では、前回設定値がパイロット目標電流値に到達したか判定する。前回設定値がパイロット電流目標値に到達していれば（Ｓ３０２、ＹＥＳ）、設定値を変更する必要はないので、ステップＳ３０５のフィードバック制御のサブルーチンプログラムが実行され、このプログラムは終了する。
【００７４】
一方、前回設定値がパイロット電流目標値に到達していなければ（Ｓ３０２、ＮＯ）、前回設定値にスルーレート値を加算し（Ｓ３０４）、パイロット電流の設定値を上昇させる。
次に、ステップＳ３０５のフィードバック制御のサブルーチンプログラムが実行され、このプログラムは終了する。
【００７５】
図１４は、フィードフォワード制御＋負荷特性補償のプログラムのフローチャートである。図１１に示したステップＳ１０６のサブルーチンプログラムの詳細である。
ステップＳ４０１は、設定電流値を多項式に代入してＩｆｆ指令値を求める。ここで、設定電流値からＩｆｆ指令値を算出する多項式は、例えば、
Ｉｆｆ指令値＝Ａ（１−Ｘ）３＋ＢＸ＋Ｃ                        ・・・・（３）
で表すことができる。ここで、Ｘは設定電流値、Ａ、ＢおよびＣは係数である。式（３）に示す多項式は一例であり、事前に特定した負荷の特性によって種々の多項式がある。
ステップＳ４０２では、Ｉｆｆ指令値にパイロット電流測定で算出した補償係数を乗じる。ステップＳ４０３は、補償係数を乗じた指令値にＰＷＭゲインと電圧変動係数をさらに乗じて最終の指令値とし、デジタルＰＷＭ発生器２４に入力設定する（Ｓ４０４）。
【００７６】
図１５は、フィードバック制御のプログラムのフローチャートである。
図１１のステップＳ１０４の他、図１２のステップＳ２０５、図１３のステップＳ３０５で実行されるサブルーチンプログラムの詳細である。
ステップＳ５０１で設定電流値と出力電流値の偏差を求める。次に、ＰＩ制御演算器３６ではＰＩ制御方程式に偏差を代入して、Ｉｐｉ指令値を算出する（Ｓ５０２）。
ここで、ＰＩ制御方程式は、例えば、
Ｉｐｉ指令値（今回）＝Ｉｐｉ指令値（前回）＋ｋ０＊偏差（今回）
＋ｋ１＊偏差（前回）                ・・・・・・・（４）
で表すことができる。ここで、偏差は「設定電流値―出力電流値」であり、ｋ０およびｋ１は係数である。また、前回および今回は上述したように１つ前のサンプリング周期および現在実行中のプログラムのサンプリング周期である。
【００７７】
次に、ステップＳ５０３は、算出した指令値にＰＷＭゲインと電圧変動係数を乗じて最終の指令値とし、デジタルＰＷＭ発生器２４に入力設定する（Ｓ５０４）。
なお、フィードバック制御プログラムにおいて、スルーレートコントローラの処理は省略している。
【００７８】
以上、本発明の電流制御方法によれば、単電源で使用する電源回路で、プログラムの制御のみで、フィードバック制御ができない低電流域から定電流を取り出すことができる。
【００７９】
（第２のパイロット電流測定方法）
図１６は、図１２を参照して説明したパイロット電流測定方法と別の方法のプログラムのフローチャートである。
この方法は、定期的にパイロット電流（目標電流は０．５Ａ）を短期間に負荷へ出力して、出力電流が一定範囲に収束したサンプリング周期のフィードバック制御のＰＩ制御演算器３６のＩｐｉ指令値を取得する。連続して取得した複数のＩｐｉ指令値の平均値と目標電流値を多項式に代入して算出した基準値から、式（１）によって補償係数を算出する。
【００８０】
図１２で示した方法との相違は、電流停止期間がないこと、1つ前のサンプリング周期の設定電流値をそのまま受け継ぎ、その電流値からパイロット電流測定の目標値まで上昇（場合によっては下降）させること、出力電流が目標値に達した（目標値を横切る）ときのＩｐｉ指令値を取得するのではなく、出力電流が目標値の一定範囲に収束したときのＩｐｉ指令値を取得することである。
【００８１】
図１６に示すパイロット電流測定は、ステップＳ６０１で初期化フラグがセットされたか判定する。初期化フラグがセットされていれば（Ｓ６０１、ＹＥＳ）、ステップＳ６０２のシーケンスカウントを「０」にセットし、初期化フラグをクリヤする。さらにフィードフォワード制御のＩｆｆ指令値をフィードバック制御のＩｐｉ指令値として引き継ぐ。
【００８２】
次に、ステップＳ６０３のフィードバック制御のサブルーチンプログラムが実行され、このサンプリング周期のパイロット電流測定のプログラムは終了する。
一方、初期化フラグがセットされてなければ（Ｓ６０１、ＮＯ）、シーケンスカウント値を１つ進め（Ｓ６０４）、ステップＳ６０５のパイロット電流送出期間か判定する。
【００８３】
パイロット電流送出期間でなければ（Ｓ６０５、ＮＯ）、ステップＳ６１０のパイロット電流測定終了の処理が実行され、このサンプリング周期のパイロット電流測定のプログラムが終了する。
一方、パイロット電流送出期間であれば（Ｓ６０５、ＹＥＳ）、ステップＳ６０６で出力電流の前回値と今回値との電流差が一定値以内か判定する。その差が一定値（例えば０．０１Ａ）以内でなければ（Ｓ６０６、ＮＯ）、まだ出力電流は安定していないと判定し、ステップＳ６０７のパイロット電流送出制御のサブルーチンプログラムを実行する。そのプログラムが終了すれば、このサンプリング周期のパイロット電流測定のプログラムは終了する。
一方、出力電流の前回値と今回値との差が一定値以内であれば（Ｓ６０６、ＹＥＳ）、ステップＳ６０８の処理を行なう。
【００８４】
このステップＳ６０８の処理は、パイロット電流のＩｐｉ指令値を取得し、この指令値（今回値）と1つ前のサンプリング周期でのＩｐｉ指令値（前回値）と移動平均値を求め、式（１）で示した補償係数を算出する。
補償係数はフィードフォワード制御＋負荷特性補償のプログラムで使用されるためメモリに保存する。
【００８５】
次に、ステップＳ６０９でパイロット電流送出期間終了前に出力電流の前回値と今回値との電流差が一定値以内になれば、シーケンスカウント値がまだ２５５より小さい場合であっても、シーケンスカウント値を測定終了値の２５６とする（Ｓ６０９）。その処理が終了すれば、このサンプリング周期のパイロット電流測定のプログラムは終了する。
【００８６】
なお、図１６に示すパイロット電流測定のプログラムのステップＳ６０６では、出力電流の前回値と今回値との電流差が一定値以内かの判定を実施しているが、パイロット電流送出開始後の経過期間（例えばシーケンスカウント値で２５）を決めパイロット電流のＩｐｉ指令値を取得する方法もある。この場合、経過期間は実際の負荷特性を評価して決定する。
【符号の説明】
【００８７】
１０・・・定電流デジタル電源装置、１９・・・差動増幅器、２０・・・制御回路、２１、２２・・・ＡＤ変換器、２３・・・デジタル信号処理回路、２４・・・デジタルＰＷＭ発生器、３１・・・パイロット電流測定タイミングコントローラ、３３・・・設定電流検出器、３４・・・変換器、３６・・・ＰＩ制御演算器、３８・・・偏差演算器、３９・・・スルーレートコントローラ、４０・・・パイロット電流測定コントローラ、４１、４２・・・変換器、４３・・・移動平均算出器、４４・・・偏差演算器、４５・・・ＡＧＣゲイン乗算器。
【図１】
2018125938.tif 000003
【図２】
2018125938.tif 000004
【図３】
2018125938.tif 000005
【図４】
2018125938.tif 000006
【図５】
2018125938.tif 000007
【図６】
2018125938.tif 000008
【図７】
2018125938.tif 000009
【図８】
2018125938.tif 000010
【図９】
2018125938.tif 000011
【図１０】
2018125938.tif 000012
【図１１】
2018125938.tif 000013
【図１２】
2018125938.tif 000014
【図１３】
2018125938.tif 000015
【図１４】
2018125938.tif 000016
【図１５】
2018125938.tif 000017
【図１６】
2018125938.tif 000018
【図１７】
2018125938.tif 000019