以下に、図面を用いて実施の形態を詳細に説明する。なお、以下に説明する実施の形態は例示である。
実施の形態1
図1は、実施の形態1における電源装置100の構成の一例を示す概略図である。図2は、実施の形態1におけるモジュールMiの構成の一例を示す概略図である。図1及び図2に示す電源装置100は、数値制御装置200から出力される電流指令ccに基づき、出力端O1と出力端O2の間に接続された電気負荷装置300に対して電流を出力する。ここで、電流指令ccは、出力電流の目標値を示す。数値制御装置200として、例えば、シーケンサ、コンピュータ等を用いることができる。
次に、電源装置100の構成について説明する。電源装置100は、モジュールM1からモジュールMmを有する。ここで、モジュールMiに割り当てられた行番号iは、1からmのいずれかひとつであり、mは2以上の整数である。図2を参照してモジュールMiの構造について説明する。以下の説明で、行番号iの構成要素について説明した場合、行番号1から行番号mの構成要素についても行番号iの構成要素についての説明と同様であるとする。
また、列番号jの構成要素について説明した場合、列番号1から列番号nの構成要素についても、列番号jの構成要素についての説明と同様であるとする。ここで、列番号jは1からnのいずれかひとつであり、nは2以上の自然数である。
モジュールMiは、充電器chi1から充電器chin、直列回路si1から直列回路sin、駆動部gi1から駆動部gin、トランスTi及び温度検出器kiを含む。直列回路sijは、スイッチング素子swijとスイッチング素子swijに対して直列に接続されたコンデンサcijとを含む。
駆動部gijは、指令信号sigijに基づき、スイッチング素子swij及び充電器chijを駆動する。スイッチング素子swijは、スイッチング動作を行い、充電器chijは、コンデンサcijの充電を行う。駆動部gijは、スイッチング素子swij及び充電器chijの各々を個別に駆動することもできる。駆動部gijとして、スイッチング素子swijを駆動する回路を用いてもよい。また、駆動部gijとして、充電器chijを駆動する半導体素子、スイッチ又はリレーを用いてもよい。
直列回路si1から直列回路sinは、互いに極性をそろえて並列接続されており、並列回路piを構成している。極性がそろっている状態とは、並列回路piの中で、コンデンサcijのプラスに充電される側が、コンデンサci1からコンデンサcinの間で一致している状態を意味する。
並列回路piのコンデンサciがプラスに充電される側の端を、並列回路piの高電位側Hiとよぶ。また、高電位側と逆の側の端を、並列回路piの低電位側Liとよぶ。また、高電位側Hiと低電位側Liを、並列回路piの両端とよぶ。並列回路piの両端には、トランスTiの1次巻線の両端が接続されている。
コンデンサcijの数と充電器chijの数の関係は、図1及び図2に示す形態に限定されるものではなく、充電器chijは、複数のコンデンサcijに対して1個設けてもよい。また、複数のコンデンサが並列接続されたものを、コンデンサcijとして用いてもよい。また、直列回路sijは、コンデンサcij及びスイッチング素子swijに加えてインダクタ又は抵抗を含んでもよい。この場合に、インダクタ又は抵抗は、コンデンサcij及びスイッチング素子swijに対して直列に接続してもよく、並列に接続してもよい。
温度検出器kiは、モジュールMiの内部のスイッチング素子swijの温度を計測した結果を温度検出信号tiとして制御部1に出力する。駆動部gijは、制御部1から出力された指令信号sigijに基づいてスイッチング素子swij及び充電器chijを駆動する。以上がモジュールMiの構造である。
本実施の形態において、温度検出器kiの配置は、スイッチング素子swijの温度を計測することができればよい。温度検出器kiの配置は、図1及び図2の形態に限定されない。例えば、電源装置100又はスイッチング素子swijに対して温度検出器を1個設けてもよい。また、温度検出器kiを省き、制御部1は、温度検出値tiを用いずに、指令信号sigijを決定してもよい。
トランスT1からトランスTmの各々は、2次巻線が、順次、直列に接続され、多段直列回路MSSCを構成している。多段直列回路MSSCのトランスT1の側の端を出力端O1とし、トランスTmの側の端を出力端O2とする。出力端O1と出力端O2の間に電気負荷装置300が接続されている。また、出力端O1を流れる電流を計測し、電流検出値Iとして出力する電流検出部2が設けられている。電流検出部2は、多段直列回路MSSCを流れる電流を検出すればよく、出力端O2を流れる電流を計測してもよい。
また、モジュールMi、並列回路Pi、直列回路sij、スイッチング素子swij、多段直列回路MSSC、電気負荷装置300のいずれかひとつ又は複数について、電流又は電圧を検出する検出装置Dを設け、検出した結果を検出値dとして出力してもよい。
また、駆動部gijは、図1及び図2のように直列回路sijの一つごとに1個ずつ設ける必要はなく、複数の直列回路sijに対して駆動部を1個設けてもよい。また、スイッチング素子swijを個別に駆動せずに、複数のスイッチング素子swijを同じタイミングで駆動してもよく、同じスイッチング動作をさせるように駆動してもよい。また、充電器chijを個別に駆動せずに、複数の充電器chijを同じタイミングで駆動してもよく、同じように充電動作をさせるように駆動してもよい。
次に、制御部1について説明する。図3は実施の形態1における電源装置100の構成の一例を示すブロック図である。図3では、並列回路pi、充電器chij等をまとめて制御対象3として示し、制御対象3と、電流検出部2、温度検出部kij、制御部1及び駆動部gijとの関係を示している。
図3において、制御部1は、電流指令ccを数値制御装置200から取得する。制御部1はさらに、駆動部gijが、スイッチング素子swij及び充電器chijの駆動に用いた実行済の指令信号sigijである実行済指令信号と、実行済指令信号によって発生した電流の電流検出値Iとを、出力データとして取得する。出力データとして、さらに、温度検出値ti、実行済指令信号による動作についての検出値d等を取得してもよい。
制御部1は、出力データ及び実行しようとする動作の電流指令ccから、実行しようとする動作において出力端O1と出力端O2の間に印可される出力電圧を推定する。そして、制御部1は、電流指令ccと推定された出力電圧を含む動作条件から、実行しようとする動作についての指令信号sigijを決定し、駆動部gijに対して出力する。駆動部gijは、指令信号sigijに基づいて制御対象3を駆動する。
ここで、出力電圧に代えて、電気負荷装置300のインピーダンスを推定してもよい。また、制御部1は、電源装置100から電気負荷装置300に対して出力される電流が電流指令ccに追随するように、指令信号sigijを出力してもよい。また、一連の指令信号sigijによる動作の完了前であっても、その指令信号sigijによる動作が一部完了していれば、実行済指令信号として動作条件の生成に使用してもよい。
以下では、スイッチング素子swijを流れる電流をスイッチング素子swijの電流、スイッチング素子swijに印可される電圧を、スイッチング素子swijの電圧とよぶ。ここで、スイッチング素子swijの一個あたりの電流値及び電圧値には、適正なスイッチングの動作状態が実現される範囲が存在する。この電流値及び電圧値の範囲をそれぞれ、電流適正範囲及び電圧適正範囲とよぶ。ここで、スイッチング素子swijの適正な動作状態が実現されている状態とは、以下のような状態とすることができる。
すなわち、スイッチングに要する時間があらかじめ定めたスイッチング時間の基準値以下となる。かつ、スイッチング素子swijの導通抵抗の値が、導通時であるオン時にあらかじめ定めた低抵抗時の基準値より小さくなる。かつ、非導通時であるオフ時に、スイッチング素子swijの導通抵抗の値が、あらかじめ定めた高抵抗時の基準値より大きくなる。
なお、スイッチング時間の基準値、低抵抗時の基準値及び高抵抗時の基準値は、各々のスイッチング素子swijのスイッチング動作を計測して定めてもよく、スイッチング素子swijの仕様から計算により定めてもよい。また、高抵抗時の基準値は低抵抗時の基準値より大きい。
制御部1は、動作条件に基づき、スイッチング素子swijの電流値及びスイッチング素子swijの電圧値のそれぞれが、電流適正範囲及び電圧適正範囲に含まれるように指令信号sigijを決定する。
ここで、駆動される並列回路piの個数と、駆動される並列回路piの内部の駆動されるスイッチング素子swijの個数を指定する情報を駆動情報とよぶ。指令信号sigi jは、駆動情報を含んでもよい。駆動されるモジュールMiの個数で出力電圧を除した値が、1個のスイッチング素子swijの電圧値となる。
また、駆動されるモジュールMiの内部の駆動されるスイッチング素子swijの個数で電流指令ccを除した値が、1個のスイッチング素子swijの電流値となる。このように、指令信号sigijが駆動情報を含むことにより、動作条件とスイッチング素子swijの1つあたりの電流及び電圧とを関係づけることができる。また、動作条件からスイッチング素子swijの1つあたりの電流及び電圧を算出することができる。
そして、スイッチング素子swijの1個あたりの電流及び電圧と、電流適正範囲及び電圧適正範囲とを対比して指令信号sigijを決定することができる。また、各々のスイッチング素子swijの電流、電圧又はこれらの組み合わせに依存して変化する特性を、出力する指令信号sigijに反映することができる。
また、各々のスイッチング素子swijが所望のスイッチング性能を発揮できるように各々のスイッチング素子swijの電流及び電圧を決定することができる。ここで、駆動情報として、駆動される直列回路sijの行番号及び列番号とを指定してもよい。また、並列回路piの数に代えてモジュールMiの数を指定してもよい。
スイッチング素子swijの導通抵抗、電流適正範囲、電圧適正範囲等について具体例を挙げて説明する。スイッチング素子swijの例として、MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor)を例示する。
MOSFETによるスイッチングにおいて、スイッチング時間は、スイッチング素子swijの電流が小さい程長くなり、スイッチング素子swijの電圧が小さくなるほど長くなる。そのため、スイッチング素子swijの電流又はスイッチング素子swijの電圧が小さくなりすぎると、スイッチングに要する時間がスイッチング時間の基準値を超えてしまう場合がある。
ここで、スイッチング時間とは、例えば、抵抗値がスイッチングによる全変動分の10%から90%まで変動するのに要する時間と、抵抗値が全変動分の90%から10%まで変動するのに要する時間との和としてもよい。ここで、スイッチング素子swijの高抵抗時における抵抗値と低抵抗時における抵抗値との差異を全変動分としてもよい。また、10%及び90%の値はそれぞれ、20%及び80%、5%及び95%等に、適宜変更して設定することができる。
さらに、スイッチング素子swijの低抵抗時すなわちオン時の導通抵抗は、低抵抗時の基準値より小さくなる必要があり、高抵抗時すなわちオフ時の導通抵抗は、高抵抗時の基準値より大きい必要がある。MOSFETによるスイッチングでは、スイッチング素子swijの電流又はスイッチング素子swijの電圧が大きくなりすぎると、低抵抗時の導通抵抗が所望の値まで下がらない状態が発生する。
また、MOSFETによるスイッチングでは、スイッチング素子swijの温度が上昇しすぎると、スイッチング素子swijの導通抵抗が低抵抗時に所望の値まで下がらない状態が発生し得る。そして、適正なスイッチング動作が実現できない状態が発生し得る。スイッチング素子swijの電流適正範囲及び電圧適正範囲は、例えば、上記のような、スイッチング素子swijの特性を考慮して定めることもできる。
一方、スイッチング素子swijの温度は、スイッチング素子swijの電力、パルス動作の繰り返し周波数、パルス動作のデューティ比に依存して変化する。ここで、スイッチング素子swijの電力とは、スイッチング素子swijの電流とスイッチング素子swijの電圧との積である。また、デューティ比とは、パルス動作の1サイクル内において、電流通過時間であるオン時間を、オン時間と電流停止時間であるオフ時間との和で除した値とすることができる。
制御部1は、電流指令cc、出力電圧の推定値に加えて、繰り返し周波数、デューティ比、スイッチング素子swijの温度等の諸条件を動作条件に加え、動作条件に依存して、電流適正範囲及び電圧適正範囲を変化させてもよい。そして、動作条件にこれらの諸条件を加えることにより、制御部1は、上記の諸条件の値を反映した指令信号sigijを出力することができる。
このようなスイッチング素子swijの電流又は電圧に依存するスイッチング時間の変化が、出力電流波形に及ぼす影響は、パルス動作の場合に特に顕著である。また、出力電流のパルス幅が1マイクロ秒以下の場合顕著であり、500ナノ秒以下の場合により影響が顕著である。そして、パルス幅が100ns以下の場合にはさらに影響が顕著である。
また、MOSFETに限らず、スイッチング素子swijの種類、仕様等に応じて電流適正範囲及び電圧適正範囲を決定するように制御部1を構成することができる。また、スイッチング素子swijに用いる半導体の材料として、シリコンを用いてもよく、炭化ケイ素、窒化ガリウム等のワイドギャップ半導体を適用して、スイッチング動作の高速化、低損失化を実現してもよい。また、スイッチング素子swijの高温動作等を実現してもよい。
さらに、制御部1の構成例を説明する。図4は、形態の形態1における制御部1の構成例を示すブロック図である。図5は、実施の形態1における制御部1の動作例を示すフロー図である。図4(a)に示す構成の動作は図5(a)に示され、図4(b)に示す構成の動作は図5(b)に示されている。
図4の動作条件生成部11について説明する。動作条件生成部11は、あらかじめ、実行済指令信号と実行済指令信号によって発生した電流についての電流検出値Iとを出力データとして取得する。そして、出力データと実行しようとする動作についての電流指令ccとから、実行しようとする動作についての出力電圧を推定する。
ここで、電気負荷装置300のインピーダンス及びスイッチング素子swijのスイッチング特性は、各瞬間の電流、電圧等に依存して変化する。さらに、電気負荷装置300のインピーダンス又はスイッチング素子swijの性能には、同じ仕様の素子又は同じ仕様の装置の間の固体差又は機差ばらつきがある。そのため、電流指令ccのみに基づいて、指令信号sigijを生成した場合、出力される電流波形が、電流指令ccと大きくずれる場合がある。本実施の形態では、出力データに基づき、出力電圧又は電気負荷装置300のインピーダンスを推定するため、電流指令ccに対して、精度良く動作条件を生成することができる。
次に、指令信号データセット13を生成する指令信号データセット生成部14について説明する。指令信号データセット13は、動作範囲とデータ内指令信号とを組にしたものである。動作範囲は、電源装置の動作条件の取りうる値を数値範囲に区分した各々の数値範囲である。データ内指令信号は、動作条件が動作範囲に含まれるときに出力される指令信号sigijを指定する。
ここで、データ内指令信号は、以下の条件を満たすように決定される。ここで、条件とは、以下のとおりである。動作範囲に対応するデータ内指令信号が指定する指令信号sigijを出力した場合に、スイッチング素子swijの1つあたりの電流及び電圧がそれぞれ、電流適正範囲及び電圧適正範囲に含まれる。
図6は、実施の形態1における指令信号データセット13を例示する図である。図6のように、データ内指令信号によって、駆動される並列回路piの個数と、駆動される並列回路piの内部の駆動されるスイッチング素子swijの個数とを指定してもよい。データ内指令信号が駆動情報を含むことにより、前述の指令信号sigijが駆動情報を含む場合と同様の効果を奏する制御部1を構成することができる。
図6の(A)及び(B)には、動作範囲として、出力電流のパルス幅、出力電流のピーク値、出力電圧のピーク値及びスイッチング素子swijの温度についての数値の範囲が示されている。図6の例では、50ナノ秒以上かつ100ナノ秒より小さいパルス幅を実現し、かつ、低抵抗時時に所望の値を下回り高抵抗時に導通抵抗が所望の値を超える。この条件を満たすためのスイッチング素子sij1個あたりの電流適正範囲及び電圧適正範囲の上限は、それぞれ、20アンペア及び1キロボルトと仮定している。さらに、温度についても条件が定められており、スイッチング素子swijの温度が摂氏20度以上かつ摂氏50度以下の場合に、上記の条件を満たすと仮定している。
以上の仮定に基づき、(A)の動作範囲に対しては、並列回路piが20段駆動され、並列回路piの内部で直列回路siが5列駆動されるデータ内指令信号対応している。一方、(B)の動作範囲に対しては、直列回路siを4列駆動するデータ内指令信号が対応している。(A)と(B)のデータ内指令信号の違いは、ピーク電流値の項目の違いに起因する。
図6の動作範囲の項目に、さらに繰り返し周波数又はデューティ比を加え、例えば、繰り返し周波数又はデューティ比が高い動作範囲については、スイッチング素子swijの温度が上昇することを考慮し、電流適正範囲を下げて、データ内指令信号を定めてもよい。
また、図6のデータ内指令信号では、駆動される並列回路piと、駆動される並列回路piの内部の直列回路sijが指定されている。そして、複数の並列回路piの間で出力電圧を均等に分割した電圧が、1個の並列回路piの両端電圧となるように充電を行うこととして、コンデンサcijの充電量又は充電電圧を指定していない。指令信号データ内指令信号として、駆動する直列回路sijのみを指定してもよい。また、充電器chij又はコンデンサcijを指定し、これらについての充電量又は充電電圧を指定してもよい。
次に、指令信号決定部12の動作について説明する。指令信号決定部12は、指令信号データセット13の中から、動作条件生成部11で生成された動作条件がその数値範囲に含まれる動作範囲を抽出する。そして、抽出した動作範囲に対応するデータ内指令信号を、指令信号sigijとして駆動部gijへ出力する。
以下に、図5(a)に示す制御部1の処理について説明する。ステップS101において、動作条件を数値範囲に区分して動作範囲を生成する。さらに、動作範囲の各々に対応するデータ内指令信号を決定する。そして、動作範囲と動作範囲に対応するデータ内指令信号を組にして、指令信号データセット13を生成する。ステップS101は、図4(a)の構成の場合では、指令信号データセット生成部14の動作に対応している。
次に、ステップS102において、実行済の動作の出力データ及び実行しようとする動作の電流指令ccに基づいて、実行しようとする動作の動作条件を生成する。ステップS102は、図4(a)の構成の場合では、動作条件生成部11の動作に対応している。
次に、ステップS103において、ステップS102で生成した動作条件が含まれる動作範囲を、指令信号データセット13の中から抽出する。さらに、抽出した動作範囲に対応するデータ内指令信号を指令信号sigijとして駆動部gijへ出力する。ステップS103は、図4(a)の構成の場合では、指令信号決定部12の動作に対応している。以上が図4(a)に示す制御部1の動作である。
ここで、データ内指令信号及び指令信号sigijは、駆動情報を含んでもよい。そして、指令信号データセット生成部14は、駆動情報によって、動作条件とスイッチング素子swijの1つあたりの電圧及び電流とを関係づけ、スイッチング素子の特性を反映して、データ内指令信号を決定してもよい。
また、指令信号データセット生成部14は、以下のようにデータ内指令信号を決定してもよい。すなわち、動作条件がある動作範囲に含まれる場合に、指令信号データセット生成部14は、この動作範囲に対応するデータ内指令信号を指令信号sigijとして出力すると、スイッチング素子swijの1個あたりの電流及び電圧の値はそれぞれ、電流適正範囲及び電圧適正範囲に含まれる。
ここで、ステップS101とステップS102は、順序を入れ替えて実施することができる。ステップS103の処理を開始する前に、ステップS101を完了しておけば、ステップS102の後、指令信号データセット13の生成を待つことなく、ステップS103を実施することができるため、処理に要する時間を短縮できる。
ステップS102の処理の後にステップS101の処理を実行すれば、動作条件に応じて指令信号データセット13を生成し、幅広い動作条件に対して指令信号データセット13を生成できる。また、指令信号データセット13を格納しておく記憶装置の負担を減らすことができる。
また、用いられる頻度が多い動作範囲については、ステップS102の前にステップS101の処理を実施して指令信号データセット13に格納しておく。一方、用いられる頻度の少ない動作範囲については、ステップS102の処理の実行後にステップS101の処理を実行して、動作条件に合わせて生成する。このように制御部1を構成してもよい。
また、指令信号データセット13は、記憶装置に格納されたデータとすることもできる。また、指令信号データセット生成部14を、制御部1の外部に設けてもよい。また、指令信号データセット生成部14に代えて作業者が指令信号データセット13を生成してしてもよい。また、制御部1は、入力部と指令信号データセット13を格納する記憶装置を備え、入力部から制御部1にデータを入力し、記憶装置に記憶させることによって指令信号データセット13を生成してしてもよい。
次に、図4(b)及び図5(b)に示す制御部1の構成及び動作について説明する。図4(b)の動作条件生成部11の動作及び構成は、図4(a)及び図5(a)と同じである。図4(b)の指令信号候補生成部15は、指令信号sigijの候補を、指令信号候補として生成する。生成される指令信号候補の数は単数でも複数でもよい。
また、動作条件生成部11で生成された動作条件に対応して指令信号候補を生成してもよい。指令信号候補は、スイッチング素子swijの電流値及び電圧値が、電流適正範囲及び電圧適正範囲にそれぞれ含まれるように生成してもよいが、動作条件と無関係に生成してもよい。また、指令信号候補生成部15を省いて、動作条件に依存しない一定の指令信号候補を用いてもよい。
図4(b)の指令信号決定部12aは、判定部16及び指令信号出力部17を備える。判定部16は、指令信号候補が、あらかじめ定められた基準を満たすかどうかについて判定を行う。ここで、指令信号候補及び指令信号sigijは駆動情報を含んでもよい。また、判定部16は、駆動情報を利用して、動作条件とスイッチング素子swij1つあたりの電圧及び電流とを関係付けても良い。このようにすれば、判定部16は、駆動情報を利用することによって、スイッチング素子の特性を反映して、判定をおこなうことができる。
また、取得した動作条件において、ある指令信号候補を指令信号sigijとして出力した場合に、スイッチング素子swijの1個あたりの電流及び電圧の値がそれぞれ、電流適正範囲及び電圧適正範囲に含まれる。このような場合に、上記の指令信号候補が基準を満たすと判定してもよい。
図4(b)の指令信号決定部12aの判定は、基準を満たす指令信号候補が1つだけ出力される場合、基準を満たした指令信号候補を、指令信号sigijとして駆動部gijに出力する。一方、複数の指令信号候補が基準を満たすと判定された場合には、基準を満たす指令信号候補の中から、最良の指令信号候補を選びだす処理を行ってもよい。そして、選定した指令信号候補を指令信号sigijとして駆動部gijに出力してもよい。
ここで、指令信号候補は、駆動される直列回路sijの行番号及び列番号の情報のみを含むものとしてもよい。そして、上記の判定部16の処理によって、指令信号候補を選定した後に、選定された指令信号候補の行番号及び列番号と動作条件とを利用して、コンデンサcijの充電量を算出し、算出した充電量を含めて指令信号sigijとして出力してもよい。また、指令信号候補にコンデンサcijの充電量が含まれるように構成してもよい。
次に、図5(b)のフロー図の制御部1の処理について説明する。図5(b)のステップS201に示す処理は、図5(a)のステップS102の処理と同じである。次に、ステップS202において、ステップS201で生成された動作条件に対して指令信号候補を生成する。図5(b)の指令信号候補生成部15は、動作条件に対応して指令信号候補を生成するとしている。次に、ステップS203において、指令信号候補が基準の範囲内であるか否かについて判定を行う。
ステップS203において、指令信号候補が基準の範囲外と判定された場合、ステップS202に戻り、再度、指令信号候補を生成する。一方、ステップS203において基準を満たすと判定された場合、ステップS204に進み、指令信号候補は生成された指令信号候補の中で最良か否かについての判定を行う。ここで、基準を満たす指令信号候補がひとつしかない場合には、この基準を満たす指令信号候補が最良であるという判断をする。
ステップS204において、指令信号候補の中で最良であると判定された場合、ステップS205に進み、最良であると判定された指令信号候補を、指令信号sigijとして駆動部gijへ出力する。一方、指令信号候補の中で最良ではないと判定された場合、ステップS204へ戻り、基準を満たし、かつ、最良ではないとされた指令信号候補とは別の指令信号候補について判定を行う。
そして、最良の指令信号候補であると判定されるまで、ステップS204の判定を繰り返す。ステップS202において指令信号候補をひとつだけ生成する構成として、ステップS204を省くこともできる。ここで、最良の指令信号候補とは、スイッチング時間が最も短いものとしてもよい。また、ステップS203とステップS204は、順番を変えて実行してもよい。以上が、図5(b)のフロー図の制御部1の処理である。
制御部1に含まれる、動作条件生成部11、指令信号決定部12、指令信号データセット生成部14、指令信号候補生成部15、判定部16及び指令信号出力部17として、プロセッサ又は処理回路を用いてもよい。これらの構成要素のハードウエア構成の一例として、動作条件生成部11のハードウエア構成を説明する。
図7は、実施の形態1における動作条件生成部11のハードウエア構成の一例を示す図である。図7において、動作条件生成部11は、情報処理部としてのプロセッサ1101と、情報を記憶する記憶部としてのメモリ1102とを有している。プロセッサ1101とメモリ1102とは、例えば、コンピュータの一部である。メモリ1102には、プログラムがインストールされている。
プログラムは、例えば、ネットワークを経由して又は情報を記憶する記憶媒体からインストールされる。プログラムは、実行済みの指令信号及び電流検出値Iの取得する処理と、出力電圧の推定の処理を実施するためのプログラムを含んでもよい。プロセッサ1101は、メモリ1102に記憶されているプログラムを実行することにより、動作条件を生成する。
動作条件生成部11の構成の全体又は一部は、半導体集積回路からなる制御回路で構成されてもよい。メモリ1102は、半導体記憶装置、ハードディスク装置、取り出し可能な記録媒体に情報を記録する装置などの各種の記憶装置を含んでもよい。以上が、動作条件生成部11のハードウエア構成の一例についての説明である。
また、上記に列挙した構成要素として、プロセッサ又は処理回路と記憶装置を組み合わせたもの等を用いてもよい。また、記憶装置には、プログラム又はデータを記憶させてもよい。また、制御部1の一部又は全部の構成要素を、制御対象3とネットワークで接続されたプロセッサ及び記憶装置を含むコンピュータとしてもよい。
また、図5(a)のステップS101の処理により、あらかじめ、指令信号データセット13として、データをルックアップテーブル(Lookup table)に格納したものを生成する。そして、ステップS103において、実行しようとする動作の動作条件の含まれる動作範囲をルックアップテーブルから抽出する。さらに、抽出した動作範囲に対応するデータ内指令信号を、ルックアップテーブルから取り出す。そして、取り出したデータ内指令信号を、指令信号sigijとして出力する構成としてもよい。
また、図5に示す処理は、プロセッサ又は処理回路によってソフトウェア、ファームウェア又はこれらの組合せを動作させることにより実現してもよい。ソフトウェア又はファームウェアをプログラムとして記述し、記憶装置に記憶し、記憶装置に記憶されたプログラムを読み出して実行してもよい。また、図5(a)又は図5(b)の一連の処理を1つの専用処理回路を用いて実現してもよく、各々の処理についてひとつずつ専用処理回路を設け、各処理を各専用処理回路が実現してもよい。専用処理回路の例としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific integrated Circuit)、FPGA(Field Programmable Gate Array)、これらを組み合わせたもの等を挙げることができる。
記憶装置の例としては、半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はDVD(Digital Versatile Disc)等を挙げることができる。ここで、半導体メモリは、不揮発性でも揮発性でもよい。
本実施の形態によれば、制御部1は、実行済の動作についての出力データと、実行しようとする動作についての電流指令ccとに基づいて、実行しようとする動作の動作条件を生成し、動作条件に基づいて実行しようとする動作の指令信号sigijを決定する。そのため、電気負荷装置300のインピーダンス又はスイッチング素子swijの特性に、変動又は固体差がある場合でも、出力データを通じてこれらの変動及び固体差を、次の動作の指令信号sigijに反映することができる。
また、指令信号sigijが駆動情報を含む場合、駆動情報によって動作条件とスイッチング素子の1つあたりの電流値及び電圧値とを関係づけることができる。そのため、出力する指令信号sigijを決定する際に、スイッチング素子の特性を反映することができる。
制御部1は、スイッチング素子swijの1個あたりの電流の値及び電圧の値がそれぞれ、電流適正範囲及び電圧適正範囲に含まれるように指令信号sigijを決定してもよい。さらに、電流適正範囲及び電圧適正範囲は、スイッチング素子swijのスイッチング時間がスイッチング時間の基準以下となり、かつ、スイッチング素子swijの導通抵抗の値が低抵抗時に低抵抗時の基準値より小さく、高抵抗時に高抵抗時の基準値より大きくなるように定めてもよい。このようにすれば、スイッチング素子の1つあたりの電流値及び電圧値を、適正なスイッチング動作が可能な値となるように指令信号sigijを決定することができる。
以上により、本実施の形態によれば、作業者による長時間の調整を要することなく、所望の時間波形の電力を電気負荷装置に供給することができる電源装置を提供することができる。
実施の形態2
図8は、実施の形態2における電源装置100aの構成の一例を示すブロック図である。電源装置100aは、機械学習装置5を備え、制御部1に代えて制御部1aを備える点が実施の形態1の電源装置100と異なる。本実施の形態の説明において、実施の形態1と同じ又は対応する構成要素については同じ符合を付す。
機械学習装置5について説明する。機械学習装置5は、データ前処理部50、動作結果取得部51、状態量観測部52、学習部55及び意思決定部56を備える。また、電源装置100aの外部に、結果付きデータ記録部18が設けられている。データ前処理部50は、電流指令cc、指令信号sigij、温度検出信号ti、電流検出値I等の外部からの信号を利用しやすいデータに変換する前処理を行い、動作結果取得部51及び状態量観測部52へ出力する。
データ前処理部50の配置は、図8の構成に限定されない。例えば、温度検出器kiからの出力データのみに前処理を行いたい場合は、状態量観測部52へ入力される温度検出器kiからの出力データが通る経路上にデータ前処理部50を設けても良い。また、動作結果取得部51、状態量観測部52が前処理の機能を備えていれば、データ前処理部50を省くこともできる。
動作結果取得部51は、データ前処理部50から電流検出値Iを取得し、結果付きデータ記録部18又は学習部55へ出力結果を出力する。図8の出力結果は、電流検出値Iとしてもよい。状態量観測部52は、電源装置100a又は電気負荷装置300についての計測結果、信号等を取得し、状態量を出力するが、取得する計測結果、信号等に対して、データ前処理部50において前処理を施してもよい。
図8の状態量観測部52は、電流指令cc、指令信号sigij及び温度検出信号tiを取得し、学習部55又は結果付きデータ記録部18へ状態量を出力する。図8における状態量は、例えば、電流指令cc、指令信号sigij、温度検出信号ti及び電流検出値Iとすることができる。
学習部55は、動作結果取得部51又は結果付きデータ記録部18から出力結果を取得し、状態量観測部52又は結果付きデータ記録部18から状態量を取得する。学習部55は、さらに、指令信号sigijを、状態量及び出力結果に関連付けて学習し、学習した結果を意思決定部56へ出力する。
学習した結果の例としては、指令信号sigijの候補、指令信号sigijの満たすべき条件等を挙げることができる。これらは、実施の形態1に説明した動作条件ごとに定められていてもよい。ここで、状態量観測部52及び動作結果取得部51は、作業者が介在することなく、自動的に電源装置100aの状態量及び出力結果を観測してもよいが、動作の一部又は全部を、作業者の操作、観測又は入力に依存してもよい。
意思決定部56は、学習部55が出力した学習した結果を参照して、指令信号sigi jを決定し、決定した指令信号sigijを制御部1aに出力してもよい。例えば、学習部55は複数の指令信号sigijの候補を学習結果データとして出力し、意思決定部56は、指令信号sigijの候補の中から指令信号sigijを決定してもよい。
学習部55についてより詳細に説明する。学習部55は、誤差計算部53及び学習モデル更新部54を備えている。誤差計算部53は、電流検出値Iと電流指令ccとの間の誤差を計算する。学習モデル更新部54は、誤差計算部53が計算した誤差に応じて学習モデルを更新する。ここで、誤差は、出力結果と出力結果の目標値との差異であればよく、電流検出値Iと電流指令ccとの間の誤差に限定されない。例えば、出力電圧の目標値と実測値の間の差異を誤差としてもよい。電源装置100aの各部が、目標値に追随するように、各部の検出値dとその目標値との差異を適宜選択して誤差として設定してもよい。
学習モデルについて説明する。学習部55は指令信号sigijを学習する複数の学習モデルを有してもよく、出力条件ごとに異なる学習モデルを有してもよい。出力条件とは、例えば、電気負荷装置300の種類、電流指令ccに含まれる電流パルスの仕様等とすることができる。ここで、電流パルスの仕様とは、例えば、周波数、電流ピーク値、パルス幅とすることができる。
また、指令信号sigijに基づいて電流を発生中に、動作結果取得部51からの出力結果として取得した電流検出値Iが、所定のレベルを越えると、誤差計算部53は、指令信号sigijの出力結果に所定の誤差が生じたとする計算結果を出力してもよい。そして、学習モデル更新部54はこの誤差が生じたとする計算結果に応じて学習モデルを更新してもよい。
図9は、実施の形態2における機械学習装置5の動作の一例を示すフロー図である。図9に示す機械学習装置5は、入力である指令信号sigijと出力結果である電流検出値Iとをペアで与える教師あり学習を適用している。
図9に示すように、機械学習装置5において学習動作が開始されると、まず、ステップS301において、電源装置100aへの電流指令ccの入力があるか否かを判定する。ステップS301において電流指令ccの入力がないと判定された場合、一定の時間をおいて、再度、ステップS301の処理を行う。ステップS301において電流指令ccの入力があると判定された場合、ステップS302において、機械学習装置5は、電流指令ccを取得する。
さらに、ステップS303において、取得した電源装置100aの最新の状態量に合った学習モデルを参照して指令信号sigijを決定し、制御部1aへ出力する。次に、ステップS304において、制御部1aは、駆動部gijへ指令信号sigijを出力する。駆動部gijは、指令信号sigijに基づいて充電器chij及びスイッチング素子swijを制御し、電気負荷装置300に対して電流を出力させる。
電気負荷装置300に電流が流れている間、電流検出値Iを観察し、検出された電流検出値Iが所定のレベルである第1の基準値を超えないかどうかについて監視する。この電流検出値Iを監視する動作は、図9のステップS305に示されている。ステップS305において、電流検出値Iが第1の基準値を超えたと判定された場合、ステップS306において、所定の誤差が生じたことを示す結果を出力する。そして、ステップS307において、出力された誤差に応じて学習モデルを更新する。そして、ステップS303に戻り、次の指令信号sigijを決定する。
ステップS305において、電流検出値Iが第1の基準値を超えたと判定されなかった場合、ステップS308において、機械学習装置5が出力した指令信号sigijによる電流の発生が終了したか否かを判断する。そして、電流の発生が終了していない場合は、ステップS305に戻り、電流の発生と電流検出値Iの監視を続ける。そして、ステップS308において、指令信号sigijによる電流の発生が終了と判断された場合は、ステップS309において、出力結果として電流検出値Iを受取る。
さらに、ステップS310において、電流指令ccと、電流指令ccに基づいて出力された電流についての電流検出値Iとの間の誤差を計算する。続いて、ステップS311において、計算された誤差に応じて学習モデルを更新する。そして、ステップS301に戻り、再度ステップS301からステップS311までのフローを実行する。ステップS301からステップS311のフローを繰返すことにより、学習部55は、学習モデルの更新を繰り返して指令信号sigijを学習する。
図8は、教師あり学習を行う機械学習装置5を備えた電源装置100aを示している。教師あり学習による学習方法について簡単に述べる。教師あり学習による学習の一例として、例えば式(1)に示すような予測モデルの回帰式を設定してもよい。
そして、学習の過程において、状態変数x1から状態変数xnがとる値を回帰式に当てはめたときに、目的変数yの値が得られるように、係数a0から係数anの値を調整することにより学習を進めてもよい。なお、学習の方法は、教師あり学習のアルゴリズムごとに異なる。(1)式を用いて説明した学習方法に限らず、教師あり学習のアルゴリズムとして、ニューラルネットワーク、最小二乗法、ステップワイズ法など様々な方法を用いることができる。
次に、強化学習を行う機械学習装置を備える電源装置の一例を挙げる。図10は、実施の形態2による電源装置100bの構成の一例を示すブロック図である。図10に示す機械学習装置5aは、強化学習を適用している。入力と出力のペアが大量に与えられる場合、教師あり学習が適しているとされる。一方、強化学習は未知の学習領域を開拓することができるという特徴がある。そのため、教師あり学習を用いて一定量の学習をした段階で強化学習を行うことによって、従来全く知られていなかった領域に、よりすぐれた指令信号sigijを見出すことができる可能性がある。
図10の電源装置100bは、制御部1aに代えて制御部1bを備え、機械学習装置5に代えて機械学習装置5aを備える点、加えて、結果付きデータ記録部18が設けられていない点が電源装置100aと異なる。そして、機械学習装置5aは、学習部55に代えて学習部55aを備える点が機械学習装置5と異なる。学習部55aは、報酬計算部57及び価値関数更新部58を備える。電源装置100bの説明において、電源装置100又は電源装置100aと同一又は対応する構成要素については同一の符合を付す。
報酬計算部57は、指令信号sigijごとに、出力結果と出力結果の目標値との間の差異を計算する。例えば、出力結果を電流検出値Iとし、目標値を電流指令ccとしてもよい。そして、この差異がしきい値より小さい場合、差異の小ささの程度に応じてプラスの報酬を与える。そして、差異がしきい値より大きい場合、差異の大きさの程度に応じてマイナスの報酬を与える。価値関数更新部58は、報酬計算部57の与えた報酬に応じて価値関数を更新する。価値関数更新部58は、できるだけ高い報酬が得られるように価値関数を更新してもよい。
図11は、実施の形態2における機械学習装置5aの動作の一例を示すフロー図である。動作が開始されると、ステップS401において、電源装置100aへの電流指令ccの入力があるか否かを判定する。次に、電流指令ccの入力があると判定された場合、ステップS402において電流指令ccを取得する。一方、電流指令ccの入力がないと判定された場合、一定時間経過後にステップS401を繰り返す。
次に、ステップS402において電流指令ccを取得した場合、ステップS403において、機械学習装置5aは、電源装置100bの最新の状態量と電流指令ccに合った価値関数を参照して、指令信号sigijを決定し、制御部1bへ出力する。ここで、学習部55aは、複数の価値関数を備えてもよく、さらに、出力条件に応じて価値関数を変えてもよい。出力条件は、図8及び図9において説明したものと同じである。
ステップS404において、制御部1bは、出力された指令信号sigijを駆動部gijへ出力し、電源装置100bから電気負荷装置300へ電流が出力される。電源装置100bが電流を出力している間は、リアルタイムでフィードバックされてくる出力結果として電流検出値Iを観察し、検出された電流検出値Iが所定のレベルである第2の基準値を超えないかを監視している。この監視の動作は、ステップS405に示されている。
ステップS405において、電流検出値Iが第2の基準値を越えたと判定された場合、ステップS406において、マイナスの報酬を与える。そして、ステップS407において、ステップS406において与えられた報酬に応じて価値関数を更新する。その後、ステップS403に戻って次の指令信号sigijを決定する。
ステップS405において、電流検出値Iが第2の基準値を越えたと判定されなかった場合、ステップS408において、出力された指令信号sigijによる電流の発生、すなわち指令信号sigijの実行が終了したか否かを判断する。そして、指令信号sigijの実行が終了するまでは、ステップS405に戻って電流の出力を続ける。そして、電流検出値Iの監視を続ける。
ステップS408において、指令信号sigijの実行が終了したと判断された場合、ステップS409において、出力結果を取得する。次いで、ステップS410において、出力結果と目標値との差異の大きさが小さいか否かについて判定を行う。ここで、出力結果を電流検出値I、目標値を電流指令ccとしてもよい。
そして、差異が小さい場合には、ステップS412において差異の小ささに応じてプラスの報酬を与える。一方、差異が大きい場合は、ステップS411において差異の大きさに応じてマイナスの報酬を与える。ここで、差異の値が、所定のしきい値を超えた場合に差異が大きいと判断し、このしきい値を超えない場合、小さいと判断してもよい。
次いで、ステップS413において、与えられた報酬に応じて価値関数を更新する。そして、ステップS401に戻り、再度、ステップS401からステップS413のフローを実行する。以上のステップを繰返すことにより、機械学習装置5aは、価値関数の更新を継続して、指令信号sigijを学習する。
次に、強化学習による学習方法について述べる。強化学習は、ある環境内におけるエージェントである行動主体が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。
強化学習の代表的な手法として、Q学習(Q-learning)、TD学習(TD−learning)等が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式(行動価値テーブル)は式(2)で表される。式(2)において、stは時刻tにおける環境を表し、atは時刻tにおける行動を表す。
行動atにより、環境はst+1に変わる。rt+1はその環境の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。Q学習を適用した場合、行動atには、指令信号sigijが該当する。以下に、機械学習装置5及び機械学習装置5aの構成の変形例、動作のバリエーションを例示する。
電源装置100a又は電源装置100bは動作条件生成部を備えても良い。ここで、動作条件生成部は、駆動に用いられた実行済みの指令信号である実行済指令信号及び実行済指令信号によって発生した電流の電流検出値を含む出力データと、電流指令とに基づき、電流指令及び出力端の両端の電圧である出力電圧の推定値を含む動作条件を生成する。そして、機械学習装置5又は機械学習装置5aは、この動作条件に基づき指令信号sigi jを学習又は決定してもよい。
また、機械学習装置5又は機械学習装置5aの出力する指令信号sigijは、指令信号sigijが駆動情報を含むように構成してもよい。指令信号sigijが駆動情報を含むことにより、動作条件とスイッチング素子swijの1つあたりの電流及び電圧とを関係づけることができる。
そのため、各々のスイッチング素子swijの電流、電圧又はこれらの組み合わせに依存して変化する特性を、出力する指令信号sigijに反映することができる。そのため、各々のスイッチング素子swijが所望のスイッチング性能を発揮できるように各々のスイッチング素子swijの電流及び電圧を決定することができる。
例えば、報酬計算部57は、スイッチング時間がスイッチング時間の基準以下となるときに、高い報酬を与え、スイッチング時間の基準を超える場合、低い報酬を与えてもよい。このようにすれば、スイッチング素子swijの1つあたりの電流値及び電圧値を、スイッチング時間が基準以下の動作となる指令信号sigijを学習することができる。そして、学習を繰り返すことにより、迅速かつ正確にスイッチング時間が基準以下の動作となる指令信号sigijを決定することができるようになる。
また、例えば、報酬計算部57は、スイッチング素子swijの導通抵抗の値が低抵抗時に低抵抗時の基準値より小さく、高抵抗時に高抵抗時の基準値より大きくなる場合には高い報酬を与え、それ以外の場合には低い報酬を与えるように構成してもよい。このようにすれば、スイッチング素子swijの1つあたりの電流値及び電圧値を、適正なスイッチング動作が可能な指令信号sigijを学習することができる。そして、学習を繰り返すことにより、迅速かつ正確に適正なスイッチング動作が可能な指令信号sigijを決定することができるようになる。
また、図8及び図10において、機械学習装置5及び機械学習装置5aはそれぞれ、制御部1a及び制御部1bの外部に設けられているが、制御部1a及び1bの内部に設けてもよい。また、学習結果データを記憶する学習結果データ記憶部を設けてもよい。そして、機械学習装置5又は機械学習装置5aにより、記憶された学習結果データを更新しつつ、制御部は、学習結果記憶部に記憶された学習結果データを参照して指令信号sigijを出力してもよい。
さらに、学習結果データ記憶部を設け、機械学習装置5又は機械学習装置5aを搭載しない電源装置を構成してもよい。そして、制御部は、学習結果データ記憶部に記憶された学習結果データを参照して指令信号sigijを出力してもよい。このようにすれば、学習を行わない場合、短時間かつ少ない計算負荷で、学習結果を反映した指令信号sigi jを出力することができる。また、学習結果データを、学習を行った電源装置以外の電源装置に適用することもできるため、効率よく学習結果データを利用できる。
また、電流を出力中に変化する状態量及び動作結果を含めた状態量及び動作結果に関連付けて指令信号sigijを機械学習させてもよい。これにより、出力中の変化に即応して、所望の出力電流を発生させることができる。また、電気負荷装置300において、電源装置から出力された電流によって発生する現象についての計測結果を検出し、状態量又は出力結果として使用してもよい。ここで、電気負荷装置300に発生する現象とは、例えば、放電、レーザ発振、プラズマ発振等の現象である。
また、図8の機械学習装置5は、同じ指令信号sigij及び出力結果に対して、パルスの形状、パルスの部位、周波数等の出力条件、動作モード等に応じて誤差配分の異なる複数の学習モデルを備えても良い。同様に、図10の機械学習装置5aは、出力条件、動作モード等に応じて報酬の配分の異なる複数の価値関数を有しても良い。
例えば、電流パルスのピーク部分と立ち上がり部分とで、誤差又はマイナス報酬の大きさの配分を変えてもよい。ここで、立ち上がり部分の誤差又はマイナス報酬の大きさの配分を大きく設定すると、立ち上がり部分の電流指令ccへの追随の精度を重視した学習が実施される。また、パルス幅に応じて誤差又はマイナス報酬の大きさの配分を変えることもできる。例えば、パルス幅が100nsから300nsのパルスについて誤差又はマイナス報酬の大きさの配分を大きくした場合、パルス幅が100nsから300nsのパルスについての電流指令ccへの追随の精度を重視した学習が実施される。
また、作業者に学習結果データ、学習結果データに基づく情報、指令信号sigij等を表示する表示部を設け、機械学習装置5又は機械学習装置5aの出力する学習結果データ等を反映した操作を作業者が行うことができるように構成してもよい。学習結果データに基づく情報とは、例えば、学習部55の出力する指令信号sigijの候補の中から、作業者が、指令信号sigijを選択してもよい。ここで、表示部は、プリンタ、ディスプレイ等の視覚を通じて情報を伝えるものでもよく、スピーカ等の聴覚を通じて情報を伝えるものでもよい。
また、複数の電源装置の各々に設けられた機械学習装置が、通信媒体を介して相互にデータを共有または交換する構成としてもよい。また、機械学習装置は、電源装置の外部に設けても良い。また、複数の電源装置がひとつの学習装置を共有してもよい。ここで、通信媒体を介して、単一の機械学習装置を複数の電源装置が共有しても良い。
さらには、機械学習装置をクラウドサーバ上に設け、学習効果を共有するだけでなく、データを集中管理し大規模な高性能プロセッサを利用して学習できるようにしてもよい。これらの機械学習装置には、汎用の計算機もしくはプロセッサを用いてもよい。また、GPGP(General-Purpose computing on Graphics Processing Units)、大規模PCクラスター等を適用して、高速に処理を行ってもよい。
また、本実施の形態に適用される機械学習方法は、本実施の形態に説明した教師あり学習と強化学習の2つ手法に限定されず、教師あり学習、教師なし学習、半教師あり学習、強化学習等の様々な手法を適用することが可能である。
本実施の形態の電源装置は、指令信号sigijを、電源装置又は電気負荷装置300の状態量及び動作結果に関連付けて学習した結果を参照して決定した指令信号sigijを、駆動部gijに出力することができる。そのため、長時間の調整を要することなく、所望の波形の電力を電気負荷装置に供給することができる電源装置を提供することができる。
また、指令信号sigijを、電源装置の出力中に変化する状態量及び動作結果も含めた状態量及び動作結果に関連付けて機械学習させることもできる。これにより、出力中の状態量の変化を反映して指令信号sigijを決定することが可能になり、より迅速に、出力結果と目標値との間の差異を小さくすることができる。
また、本実施の形態では、電源装置又は電気負荷装置300の状態を表す多くの状態量を観測すれば、状態の差異による出力結果の差異を見逃すことなく学習できる。また、電源装置に設けられた機械学習装置の間で相互にデータを共有又は交換すれば、より短い時間で学習効果を上げ、より短時間に精度の高い指令信号sigijを出力することができる。また、クラウドサーバ上に学習装置を設ければ、効率よく、学習速度、学習の精度を向上することができる。そして、短時間でより適切な指令信号sigijを出力することができるようになる。
実施の形態3
本実施の形態の電源装置100cは、実施の形態2に説明した機械学習装置5を用いて学習を行った学習済み学習器6を備える。図12は、実施の形態3における電源装置100cの構成の一例を示すブロック図である。本実施の形態において、実施の形態1又は実施の形態2に説明した構成要素と同一又は対応する構成要素については同じ符合を付す。
学習済み学習器6は、データ前処理部50、状態量観測部52、学習済み学習部60及び意思決定部56を備える。学習済み学習部60は、機械学習装置5によって学習を行った学習済みモデルを有し、学習済みモデルを参照することによって、状態量に基づいて学習結果データを意思決定部56へ出力する。意思決定部56は、学習済み学習部60から出力された学習結果データを参照して指令信号sigijを決定する。
学習済み学習器6の出力する指令信号sigijは、指令信号sigijが駆動情報を含むように構成してもよい。指令信号sigijが駆動情報を含むことにより、動作条件とスイッチング素子swijの1つあたりの電流値及び電圧値とを関係づけることができる。
そのため、スイッチング素子swijの1個あたりの電流、電圧又はこれらの組み合わせに依存して変化する特性を、出力する指令信号sigijに反映することができる。そのため、各々のスイッチング素子swijが所望のスイッチング性能を発揮できるようにスイッチング素子swijの1個あたりの電流値及び電圧値を決定することができる。
図13は、学習済み学習器6の動作を示すフロー図である。図13を用いて学習済み学習器6の動作について説明する。学習済み学習器6の動作が開始されると、まず、ステップS501において、電源装置100cへ電流指令ccの入力があるか否かを判定する。電流指令ccの入力がある場合、ステップS502において電流指令ccを取得する。
さらに、ステップS503において、電源装置100cの最新の状態量に合った学習モデルを参照し、状態量から指令信号sigijを決定して制御部1aへ出力する。そして、ステップS504において、制御部1aは、駆動部gijへ指令信号sigijを出力する。駆動部gijは、指令信号sigijに基づき充電器chij及びスイッチング素子swijを駆動し、電気負荷装置300に電流が流れる。
電流の出力中、リアルタイムでフィードバックされてくる動作結果として、電流検出値Iを観察し、電流検出値Iが、所定のレベルである第3の基準値を超えないかを監視する。監視の動作は、図13のステップS505に示されている。ステップS505において、電流検出値Iが第3の基準値を超えたと判定された場合は、ステップS503に戻って、次の指令信号sigijを決定する。
ステップS505において、電流検出値Iが第3の基準値を超えたと判定されなかった場合、ステップS506において、指令信号sigijによる電流の発生が終了したか否かを判断する。そして、ステップS506において、電流の発生が終了したと判定されなかった場合、指令信号sigijによる電流の発生が終了するまでステップS505に戻って電流の発生と電流検出値Iの監視を続ける。
ステップS506において、指令信号sigijによる電流の発生が終了と判断された場合は、ステップS501に戻り、再度、ステップS501からステップS506のフローを実行する。このように、ステップS501からステップS506のフローを繰返すことにより、学習済み学習器6から指令信号sigijが出力され、制御部1aにより制御対象3が制御される。
電源装置に、学習済み学習器6を搭載することにより、機械学習装置5による学習結果を用いて、電源装置の製造を行ってもよい。また、機械学習装置5以外の実施の形態2に記載の機械学習装置による学習を行った学習済み学習器を、学習済み学習器6に代えて電源装置に搭載してもよい。
また、機械学習装置5以外の実施の形態2に記載の機械学習装置による学習結果を用いて、電源装置の製造を行ってもよい。また、学習済み学習器は、必ずしも1台の電源装置に1台設ける必要はなく、複数の電源装置で1台の学習済み学習器を共有してもよい。機械学習装置5以外の実施の形態2に記載の機械学習装置とは、例えば機械学習装置5aでもよい。
本実施の形態の電源装置100cは、学習済み学習器6を備える。また、電源装置に、学習済み学習器6を搭載することにより、機械学習による学習結果を用いて電源装置の製造を行うことができる。そのため、学習結果を用いて指令信号sigijを出力し、長時間の調整を要することなく、所望の電流波形の電力を電気負荷装置に供給することができる電源装置を提供することができる。
本実施の形態の電源装置100cは、指令信号sigijを、電源装置100aの状態量及び動作結果に関連付けて学習した結果を参照して決定した指令信号sigijを駆動部gijに出力することができる。そのため、電源装置100cの調整に長い時間を要することなく、所望の波形の電力を電気負荷装置300に供給することができる電源装置100cを提供することができる。
また、電源装置100cの内部で学習動作を行わないため、より少ない計算負荷で、学習結果を反映した指令信号sigijを出力することができる。また、電源装置ごとに学習を行うことなく、学習結果を反映した指令信号sigijを出力することもできる。そのため、短時間に、より少ない負荷で指令信号sigijに学習結果を反映し、高精度に、所望の波形の電力を供給することができる電源装置を提供することができる。
以上に説明した実施の形態は組み合わせて適用することができる。
本発明の電源装置は、m×n個(m、nは2以上の整数)のスイッチング素子と、スイッチング素子の各々に対して直列接続され、m×n個の直列回路を構成するm×n個のコンデンサと、コンデンサを充電する充電器と、直列回路がn個ずつ極性をそろえて互いに並列に接続されることにより構成されるm個の並列回路の各々の両端に対して各々の1次巻線の両端が接続されたm個のトランスと、m個のトランスの2次巻線の両端が順次直列接続され両端が出力端となる多段直列回路を流れる電流を検出し電流検出値として出力する電流検出部と、出力端から出力される電流の目標値である電流指令及び電流検出値に基づいて生成された指令信号を出力する制御部と、指令信号に基づきスイッチング素子及び充電器を駆動する駆動部とを備える。制御部は、駆動部が用いた実行済みの前記指令信号である実行済指令信号及び実行済指令信号によって発生した電流の電流検出値を含む出力データと、電流指令とに基づき、電流指令及び出力端の両端の電圧である出力電圧の推定値を含む動作条件を生成する動作条件生成部と、動作条件に基づき指令信号を決定する指令信号決定部と、を備えることを特徴とする。