まず、本発明の基本概念について説明する。まず、太陽電池モジュールMの電流と電圧との関係をグラフにすると、図12に示すようなIVカーブが描かれる。このようなIVカーブに対し、太陽電池モジュールMの出力が最大となる最大出力動作点Pmaxを設定する。このとき、最大出力動作点Pmaxに対して長方形を設定すると「長方形の面積=太陽電池モジュールMの最大出力」の関係が成り立つ。従ってIVカーブを長方形で近似することによって、以降の演算を簡略化することができる。このように近似された長方形を、説明のために以下「出力ブロックBL」と称する。このように近似された出力ブロックBLを用いると、複数の太陽電池モジュールMを直列に接続して、電圧を上げたストリングSTの電流と電圧の関係は、図12(b)のように表される。太陽電池モジュールMの結合によって形成される出力ブロックBLの集合体を以下「出力アセンブリAS」と称する。太陽電池モジュールMを直列接続したストリングSTに対応する出力アセンブリASは、各出力ブロックBLを横方向に積むことによって構成される。このストリングSTに対する最大出力動作点Pmaxは、出力アセンブリASの右上の角部に設定される。ストリングSTを並列に接続して、電流を上げたアレイAの電流と電圧の関係は、図12(c)にように表される。アレイAに対応する出力アセンブリASは、各ストリングSTに対応する出力ブロックBLの段を複数段積むことによって構成される。このアレイAに対する最大出力動作点Pmaxは、出力アセンブリASの右上の角部に設定される。
図12(c)のように出力ブロックBLの形が全て同じであれば、アレイAに対応する出力アセンブリASはシンプルな長方形となるため、最大出力動作点Pmaxを容易に設定できる。しかしながら、図13(a)に示すように、一部の太陽電池モジュールMが影になる場合がある。このような場合、当該影になっている太陽電池モジュールMだけ、電流が小さくなり出力ブロックBLが低くなる可能性があり、更に、電圧が低くなって出力ブロックBLが狭くなる可能性もある。このような場合、図13(b)の上段に示すように影の部分の太陽電池モジュールMに対応する出力ブロックBLが小さくなる(ここでは、電流のみが小さくなっている)。個々の出力ブロックBLが小さくなることで間に空間が開くため、当該空間を埋めるように出力アセンブリASは再構築され、図13(b)の下段に示すような構成となる。このように歪な出力アセンブリASに対しては、最大出力動作点Pmaxは一義的に定めることができず、候補点P1,P2,P3のいずれかの点に設定される。しかしながら、候補点P1を最大出力動作点Pmaxに設定した場合、実線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。候補点P2を最大出力動作点Pmaxに設定した場合、点線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。候補点P3を最大出力動作点Pmaxに設定した場合、一点差線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。
ここで、太陽電池モジュールMの接続の最適化を図り、図14(a)に示すように、影になっていた部分の太陽電池モジュールMのみでストリングSTを構成する。なお、このアレイAは、太陽電池モジュールMの位置を物理的に移動しているのではなく、位置はそのままで太陽電池モジュールM同士の結線のみを変更することで、このようなアレイAを形成している。このようなこの場合、図14(b)に示すように、出力アセンブリASの一段目は、影になるストリングSTに対応する出力ブロックBLのみで構成されており、高さ(電力)が全て一致している。従って、出力アセンブリAS全体で見ると長方形を描く。このような出力アセンブリASであれば、最大出力動作点Pmaxを一義的に設定することができ、一部の電力を無駄にすることなく、全ての電力が最大出力に寄与することができる。以上のように、太陽電池モジュールMの接続関係を最適化することで発電量向上を図ることができる。ここで、太陽電池モジュールMの枚数が多いと演算量が膨大に増えてしまう。本発明の各実施形態に係る太陽光発電を最適化する演算装置、太陽光発電を最適化する方法、太陽光発電システム及び太陽光発電シミュレーション装置では、太陽電池モジュールMをクラス分けすることで、少ない演算量にて発電量向上を図ることが可能となる。
[第1実施形態]
図1を参照して、本発明の第1実施形態に係る太陽光発電を最適化する演算装置、太陽光発電システム及び太陽光発電を最適化する方法について詳細に説明する。
図1に示すように、太陽光発電システム100は、演算装置1と、発電装置2と、パワーコンディショナー3と、を備えている。
発電装置2は、太陽光によって発電する機能を有しており、複数の太陽電池モジュールMと、検出部4と、結線部6と、を備えている。各太陽電池モジュールMは平面方向に一間隔で縦横複数列に並べられており、物理的な配置は固定されている。検出部4は、全ての太陽電池モジュールMのパラメータを検出可能である。検出部4は、パラメータとして、電流値、電圧値を検出することができる。検出部4は、少なくとも電流値を検出する。具体的に、検出部4は、各太陽電池モジュールMに対して一つずつ設けられた検出センサによって構成されている。検出部4は、検出結果を演算装置1へ出力する機能を有している。結線部6は、演算装置1で選択された結線パターンに基づいて、各太陽電池モジュールMを結線する機能を有している。結線部6は、物理的な位置によらず、複数の太陽電池モジュールMをあらゆるパターンにて結線することができる。結線部6は、隣り合っていない太陽電池モジュールM同士を直列・並列接続することができる。
パワーコンディショナー3は、発電装置2で発電されたDC電力を変換する機能を有しており、DC/DCコンバータを備えている。本実施形態においては、発電装置2に対して(すなわち太陽電池モジュールMのアレイAに対して)一個のパワーコンディショナー3が設けられていればよい。
演算装置1は、太陽光発電を最適化する機能を有すると共に、太陽光発電システム100全体の制御を行う機能を有しており、例えば電子制御を行うデバイス(例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、および入出力インターフェイスを含んで構成されたデバイス)によって構成されている。演算装置1は、複数の太陽電池モジュールMの最適な結線パターンを演算し、選択する機能を有している。演算装置1は、発電装置2との間で信号の送受信を行う機能を有している。この信号の送受信は無線通信であっても有線通信であってもよい。演算装置1は、パラメータ取得部11と、クラス分け部12と、ストリング形成部13と、擬似モジュール形成部14と、結線パターン選択部17と、処理部18と、記憶部19と、を備えている。
パラメータ取得部11は、検出部4の出力を受信することにより、各太陽電池モジュールMから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。
クラス分け部12は、パラメータに基づいて、各太陽電池モジュールMをクラス分けする機能を有している。また、クラス分け部12は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける機能を有し、具体的には、電流値が高いクラスと、電流値が低いクラスとに分ける機能を有している。本実施形態では日向クラスと、当該日向クラスより電圧が低い日影クラスの二クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールMの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールMの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。
ストリング形成部13は、クラスごとに太陽電池モジュールMのストリングSTを形成する機能を有している。ストリング形成部13は、日向クラスに属する太陽電池モジュールMのみを直列接続させた日向クラスのストリングST(第1のストリング)と、日影クラスに属する太陽電池モジュールMのみを直列接続させた日影クラスのストリングST(第2のストリング)と、日向クラスに属する太陽電池モジュールのあまりモジュールEM、及び日影クラスに属する太陽電池モジュールMによって構成される擬似モジュールVMを直列接続させたストリングST(第3のストリング)と、を形成可能である。なお、ストリング形成部13は、各クラスの太陽電池モジュールMの枚数によって、三種類のストリングSTを全て形成する場合もあれば、三つのうちの何れか二つのみのストリングを形成する場合、三つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部13は、設定された直列数に基づいて、日向クラス及び日影クラスに属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTについては、直列数に満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。この直列数は、パワーコンディショナー3の許容電圧などによって一定範囲の数(例えば5〜7)を設定することが可能であり、ストリング形成部13は、各直列数に応じたストリングSTを形成できる。また、ストリング形成部13は、日向クラスに属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングSTを形成し、日影クラスに属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってストリングSTを形成する機能を有している。
擬似モジュール形成部14は、日向のクラスに属する太陽電池モジュールMのパラメータ(本実施形態では電流値)に基づいて、日影のクラスに属する複数の太陽電池モジュールMを並列接続することによって擬似モジュールVMを形成する機能を有している。
結線パターン選択部17は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールMの結線によって構成されるアレイAの最大出力が最大となるように、結線パターンを選択する機能を有している。
処理部18は、上述の各部11〜17で行われる処理以外の処理を実行する機能を有している。記憶部19は、各種情報を記憶する機能を有している。
クラス分けにあたっては、所定の条件、例えばセル温度25℃、日射強度1kW/m2、スペクトルAM1.5における太陽電池の最大出力動作電流を使用することも可能であるし、同条件における短絡電流を使用することも可能であるし、他の条件、例えばNOCTでの電流値を使用することもできる。また、太陽電池の設置角度がモジュールによって異なる場合や、モジュールに発生する影の影響がモジュールによって相違する場合は、各モジュールの電流の予想値を、所定の単数または複数の日時について計算によって求めておき、その結果によって太陽電池モジュール間の結線を最適化してもよい。更に、そのクラス分けを、日時に応じて複数行い、それぞれに対して最適な結線を求めておき、日時によって結線を変更することも可能である。この場合、日時によって変化する最適な結線パターンをきめ細かに実現できるため、設置工事の時にのみ最適化を行うよりも優れた発電量向上効果が得られる。更に、最大出力動作電流または短絡電流を定期的に実測し、その結果に基づいて太陽電池モジュールMのクラス分け、結線パターンの最適化を定期的に実施してもよい。この場合、実際のパラメータを使用するため、更に優れた発電量向上効果が得られる。
次に、図2〜図11を参照して、演算装置1の具体的な演算処理の内容について説明する。図2は、演算装置1が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図2の処理は、結線パターンを選択する際に、所定のタイミングで実行される。図3〜図7は、図2の各処理の具体的な内容を示すフローチャートである。
日影になることによる太陽電池モジュールMの出力は、電流の変化に比して電圧の変化の方が小さい。本実施形態に係る制御処理では、日影の太陽電池モジュールMの電圧は変化せず、電流のみが変化するものと近似して演算を行う。図2に示すように、パラメータ取得部11は、各太陽電池モジュールMの電流値を取得する(ステップS100)。電流値として、例えば、太陽電池モジュールMの短絡電流、または最大出力動作点における電流値を使用することができる。次に、クラス分け部12は、S100で取得された電流値に基づいて、各太陽電池モジュールMのクラス分け処理を実行する(ステップS102)。クラス分け部12は、複数の太陽電池モジュールMを、「日向クラス」と「日影クラス」とに分ける。日影クラスは、日向クラスよりも電流値が低いクラスである。
ここで、図3を参照してS102のクラス分け処理の詳細について説明する。図3において、クラス分け部12は、あらゆるパターンで暫定的に「日向クラス」と「日影クラス」とに分けて、最適なパターンを求め、当該組み合わせをクラス分けとして採用する。まず、クラス分け部12は、各太陽電池モジュールMを電流値の降順にソートし、電流値の低い方から順に1〜nの番号を付す(ステップS130)。具体的には、図8に示すように、電流値が低い方から順(出力ブロックBLの高さが低いものから順に)に太陽電池モジュールM1,M2,…,Mi,…Mnと番号が付されて並べられる。なお、図8では、理解を容易とするため、太陽電池モジュールMを出力ブロックBLに置き換えて示される。すなわち、日影となる太陽電池モジュールMは、電流が小さくなって出力ブロックBLの高さが低くなるため、薄く示される。以下の図面においても同様である。
次に、クラス分け部12は、最も電流値が低い一番目の太陽電池モジュールM1を日影クラスに加え、その他の全ての太陽電池モジュールM2〜Mnを日向クラスに加える(ステップS132)。また、クラス分け部12は、パターン番号iとして「1」を設定する(ステップS134)。
次に、クラス分け部12は、各クラスの乖離度算出処理を実行する(ステップS136,S138)。具体的な乖離度の演算では、図4に示すように、クラス分け部12は、同一クラスに属する太陽電池モジュールMの電流値の平均値を演算する(ステップS150)。その次に、クラス分け部12は、クラス内の各太陽電池モジュールMについて、電流値の平均値からの差の二乗の値をそれぞれ算出し、全ての太陽電池モジュールMについての当該二乗の値を合計する。クラス分け部12は、その二乗の値の合計値を、パターン番号iでのクラスの乖離度と設定する(ステップS152)。図4に示す方法にて、クラス分け部12は、日影クラスの乖離度を算出し(ステップS136)、日向クラスの乖離度を算出する(ステップS138)。次に、クラス分け部12は、S136で算出した日影クラスの乖離度とS138で算出した日向クラスの乖離度とを合計し、パターン番号iでのクラス分け乖離度として設定し、記憶部19へ記憶させる(ステップS140)。
次に、クラス分け部12は、パターン番号iがn−1まで至ったか否かを判定する(ステップS142)。S142において、パターン番号iがn−1まで至っていないと判定された場合、すなわちクラス分け乖離度を算出していないパターンが残っている場合、クラス分け部12は、パターン番号iに1を加算する(ステップS144)。クラス分け部12は、新たに設定されたパターン番号iにて、i番目の太陽電池モジュールMi(すなわち、前回の演算で日向クラスに分けられていたものの中で最も電流値が低いもの)を日向クラスから日影クラスへ移動させる(ステップS146)。その後、クラス分け部12は、S136〜S146の処理を、パターン番号i=n−1のクラス分け乖離度を算出するまで繰り返し実行する。これにより、パターン番号i=1〜n−1の全てのクラス分け乖離度が算出される。
パターン番号i=n−1のクラス分け乖離度が算出されると、S142においてパターン番号iがn−1になったと判定され、S148の処理へ移行する。クラス分け部12は、パターン番号i=1〜n−1のクラスの組み合わせのうち、最もクラス分け乖離度が低くなるパターンを選択する(ステップS148)。これによって、日向クラスと日影クラスのクラス分け処理が完了し、図3に示す処理が終了する。
図2に戻り、処理部18は、直列数Sとして、予め設定しておいた直列数の中の最低値を設定する(ステップS104)。直列数Sは、太陽電池モジュールMのアレイAを構成する際の、ストリングSTの直列数であり、パワーコンディショナー3が許容する電圧値で定められる。直列数が大きすぎる時は電圧値が高くなりすぎ、パワーコンディショナー3がダメージを受け、直列数が小さすぎる時は電圧値が低くなりすぎ、パワーコンディショナー3が起動しない可能性がある。本実施形態では、直列数S=5〜7に設定されている。従って、S104では、直列数S=5が設定される。次に、ストリング形成部13は、日向クラスのストリング形成処理を実行する(ステップS106)。なお、以降の説明において、日向クラスの太陽電池モジュールM(その出力ブロックBL)を「太陽電池モジュールMS(出力ブロックBLS)」とし、日影クラスの太陽電池モジュールM(その出力ブロックBL)を「太陽電池モジュールMD(出力ブロックBLD)」として説明する。
ここで、図5を参照して、日向クラスのストリング形成処理の詳細について説明する。図5に示すように、ストリング形成部13は、日向クラスの太陽電池モジュールMSを電流値の高い順に直列数S枚ずつ組み合わせ、日向ストリングSTSを形成する(ステップS160)。例えば、図9(a)に示すように、図中DRで示すような順番で電流値の高い太陽電池モジュールMSから並べられる。直列数S枚の日向ストリングSTSが形成され、それぞれの日向ストリングSTSは並列に接続される。なお、図9では、厳密には各太陽電池モジュールMS(出力ブロックBLS)の高さは徐々に低くなるものであるが、後述の日影の「太陽電池モジュールMD(出力ブロックBLD)」との区別を明確にすべく、全て同じ形状にしている。
次に、ストリング形成部13は、太陽電池モジュールMSの数が直列数Sに満たない日向ストリングSTSがあるか否かを判定する(ステップS162)。図9の例では、最下段の日向ストリングSTSで太陽電池モジュールMSが三つ不足している。S162において、直列数Sに満たない日向ストリングSTSがあると判定された場合、ストリング形成部13は、当該日向ストリングSTSの太陽電池モジュールMSをf個の「あまりモジュールEM」として設定する(ステップS164)。その後、ストリング形成部13は、設定した日向ストリングSTSと、あまりモジュールEMとを、記憶部19に記憶させる(ステップS166)。一方、S162において、直列数Sに満たない日向ストリングSTSがないと判定された場合、ストリング形成部13は、設定した日向ストリングSTSを、記憶部19に記憶させる(ステップS166)。
図2に戻り、処理部18は、あまりモジュールEMがあるか否かを判定する(ステップS108)。具体的には、処理部18は、図5のS166において記憶部19に格納された情報を参照することによって、判定する。S108において、あまりモジュールEMが無いと判定された場合、演算処理は、日影クラスのストリング形成処理へ移行する(ステップS114)。一方、S166において、あまりモジュールEMが有ると判定された場合、擬似モジュール形成部14は、擬似モジュール形成処理を実行する(ステップS110)。擬似モジュール形成部14は、あまりモジュールEMを有している日向ストリングSTSに対して、日影の太陽電池モジュールMDで擬似的に形成されたモジュール(以下、擬似モジュールVMとする)を追加することで、不足分の太陽電池モジュールMSを補う。
ここで、図6を参照して、擬似モジュール形成処理の詳細について説明する。まず、擬似モジュール形成部14は、日向ストリングSTSのあまりモジュールの数fと、直列数Sとから、形成すべき擬似モジュールVMの数(S−f)を演算する(ステップS170)。図9の例では、あまりモジュールEMのモジュール数f=2で直列数S=5であるため、擬似モジュールVMは、3つと算出される。
次に、擬似モジュール形成部14は、日影クラスとして分けられた太陽電池モジュールMDの数で、必要とされる擬似モジュールVMの数をまかなえるか否かを判定する。具体的には、擬似モジュール形成部14は、日影クラスとして分けられた太陽電池モジュールMDの数をkとし(ステップS172)、当該モジュール数kが擬似モジュール数(S−f)以上であるか否かを判定する(ステップS174)。S174において、擬似モジュール数(S−f)が日影クラスの太陽電池モジュールMDのモジュール数kより多いと判定された場合、擬似モジュールVMを作成することができないため、擬似モジュールVMを形成することなく図6の処理を終了する。
一方、S174において、太陽電池モジュールMDのモジュール数kが擬似モジュール数(S−f)以上であると判定された場合、擬似モジュール形成部14は、日向クラスのあまりモジュールEMの平均電流値IOを算出する(ステップS176)。当該平均電流値IOは、擬似モジュールVMを形成する際の、目標電流値として設定される。擬似モジュール形成部14は、日影クラスの太陽電池モジュールMDのうち、電流値の高いものから順に、(S−f)枚を一並列擬似モジュールVMとして割り当てる(ステップS178)。また、擬似モジュール形成部14は、割り当てた太陽電池モジュールMDを日影クラスから取り除く(ステップS180)。図10(a)の例では、三つの擬似モジュールVMのそれぞれに対して、電流値の高い太陽電池モジュールMDから順に一つずつ割り当てられる。このときの割り当て順序も、図9(a)に示すDRに示す順序に従う。また、割り当てられた三つの太陽電池モジュールMDは、日影クラスから除かれている。
次に、擬似モジュール形成部14は、各擬似モジュールVMに対し、日影クラスに残存する太陽電池モジュールMDを割り当てて並列接続する。これによって、擬似モジュール形成部14は、各擬似モジュールVMについて、平均電流値IOに近くなる組み合わせを選定する(ステップS182)。擬似モジュール形成部14は、選定した太陽電池モジュールMDを日影クラスから取り除く(ステップS184)。また、擬似モジュール形成部14は、選定した(S−f)組の擬似モジュールVM(並列接続された太陽電池モジュールMDの組み合わせ)を、記憶部19に記憶させる(ステップS186)。図10(b)の例では、既に各擬似モジュールVMに割り当てられた太陽電池モジュールMDの電流値を補うように、低い電流値の太陽電池モジュールMD中から選定して、擬似モジュールVMに割り当てる。また、割り当てられた太陽電池モジュールMDは、それぞれの擬似モジュールVMの中で並列接続される。S186の処理が完了したら、擬似モジュールVMの形成処理が終了し、図6の処理が終了する。
図2に戻り、ストリング形成部13は、日向クラスのあまりモジュールEMと、S110で形成された擬似モジュールVMとでストリングSTSを形成する(ステップS112)。具体的には、ストリング形成部13は、図9(b)に示すように、各擬似モジュールVM内の太陽電池モジュールMDを並列接続し、あまりモジュールEMと擬似モジュールVMとを直列接続して、一つの日向ストリングSTSを形成する。次に、ストリング形成部13は、日影クラスのストリングSTDを形成する日影クラスのストリング形成処理を実行する(ステップS114)。
ここで、図7を参照して、日影クラスのストリング形成処理の詳細について説明する。なお、図6の擬似モジュール形成処理において、擬似モジュールVM作成のために太陽電池モジュールMDが使用された場合、図7の処理は、使用された太陽電池モジュールMDが日影クラスから除かれた状態にて実行される。まず、ストリング形成部13は、日影クラス内の太陽電池モジュールMDを電流値の高い順に、直列数S枚ずつ組み合わせ、ストリングSTDを形成する(ステップS190)。図11に示す例では、図中DRに示す方向に従って、電流値の高いものから順に太陽電池モジュールMDが並べられる。次に、ストリング形成部13は、モジュール数がS枚に満たないストリングSTDが有るか否かを判定する(ステップS192)。S192において「有る」と判定された場合、ストリング形成部13は、当該ストリングSTDの太陽電池モジュールMDをあまりモジュールEMとして認定する(ステップS194)。一方、S192において「無い」と判定された場合、あまりモジュールEMは無いとして、S194の処理がスキップされる。ストリング形成部13は、日影クラスの太陽電池モジュールMDの組み合わせ(ストリングSTD)と、あまりモジュールEMを記憶する(ステップS196)。S196の処理が完了したら、日影クラスのストリング形成処理が終了し、図7の処理が終了する。
図2に戻り、処理部18は、日影クラスのあまりモジュールEMがあるか否かを判定する(ステップS116)。具体的には、処理部18は、図7のS196において記憶部19に格納された情報を参照することによって、判定する。S116において、あまりモジュールEMが有ると判定された場合、処理部18は、当該あまりモジュールEMは使用しないものと認定する(ステップS118)。S116において、あまりモジュールEMが無いと判定された場合、S118の処理はスキップされる。
次に、ストリング形成部13は、S110、S112、及びS114にて形成した日向クラスのストリングSTS及び日影クラスのストリングSTDを並列に接続し、アレイAを形成する。更に、ストリング形成部13は、当該アレイAでの最大出力動作点Pmaxを算出し、直列数SでのアレイAとして記憶部19に記憶させる(ステップS120)。例えば、図11の例では、ストリング形成部13は、日向クラスのストリングSTS及び日影クラスのストリングSTDを並列接続してアレイAを構成する。このとき、日影クラスのあまりモジュールEMは使用されない。更に、ストリング形成部13は、作成したアレイAの出力ブロックBLを用いて、図14(b)に示すものと同趣旨の出力アセンブリASを作成し、最大出力動作点Pmaxを認定する。
次に、処理部18は、直列数Sが7であるか否かを判定する(ステップS122)。直列数Sが7でない(すなわち5か6)と判定された場合、処理部18は直列数Sに1を加算する(ステップS124)。また、新たに設定した直列数Sにて、S106〜S122の処理を繰返す。これにより、直列数Sを一つ増やした場合のアレイAにおける最大出力動作点Pmaxを求めることができる。
S122にて直列数Sが7であると判定された場合、全ての直列数についてのアレイ形成が終了したとし、結線パターン選択部17は、直列数S=5〜7のそれぞれのアレイAの最大出力動作点Pmaxを記憶部19から読み出すと共に比較し、最もPmaxが大きくなるときのアレイAの構成を選択する(ステップS126)。すなわち、結線パターン選択部17は、当該アレイAを構成できるような結線パターンを選択する。S126の処理が完了したら、採用すべき結線パターンが決定し、図2の処理が終了する。
次に、本実施形態の作用・効果について説明する。
演算装置1によれば、各太陽電池モジュールMの電流値を含むパラメータに基づいて、クラス分け部12が太陽電池モジュールMのクラス分けを行っている。すなわち、太陽電池モジュールMの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。
また、クラス分け部12は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングST、アレイAを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールMの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。
また、演算装置1によれば、電流値が高い太陽電池モジュールMのみで日向クラスのストリングSTを形成し、電流値が低い太陽電池モジュールMのみで日影クラスのストリングSTを形成することが可能となる。これにより、電流値が近いもの同士を直列接続して各ストリングSTを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングST内でのモジュール間の電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図13に示すような歪な出力アセンブリALではなく、四角形に近い出力アセンブリALを形成し易くなり、最大出力動作点Pmaxを大きくし易くなる。更に、擬似モジュールVMを用いることによって、日向クラスのストリングST相当の電流値を得られるストリングSTを形成することができるため、全ての太陽電池モジュールMを無駄なく利用することができる。
また、本実施形態では、電流値のみに基づいてクラス分けした後で、直列数が揃うようにクラスごとにサブアレイが形成され、各サブアレイを並列に接続して一つのアレイが構成される。電圧は変化しないものと近似して、クラスごとにアレイを形成することで、クラス同士の電圧の差を考慮する必要がなく、簡単に結線パターンを選択することができる。また、本実施形態では、パワーコンディショナー3が発電装置2に対して一個でよい。
また、ストリング形成部13は、少なくとも日向クラスのストリングSTに対して設定された直列数Sに基づいて、日向クラスに属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTは、直列数Sに満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。このように、日向クラスにおいて直列数Sに満たないあまりモジュールEMがあっても、擬似モジュールVMで補うことができるため、あまりモジュールEMが無駄になることを防止し、アレイ出力に寄与させることができる。
また、結線パターン選択部17は、複数設定された直列数に対して、各ストリングSTを並列接続させて形成される各アレイのうち、アレイの最大出力が最も大きくなるときの直列数に係る結線パターンを選択する。ストリングSTの直列数Sを変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数Sを選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。
また、ストリング形成部13は、日向クラスに属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングSTを形成し、日影クラスに属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによって日影クラスのストリングSTを形成することが好ましい。単に太陽電池モジュールMを電流値の順番に並べればよいだけなので、容易に各ストリングSTを形成することができる。一方で、順番に並べられることで、各ストリングST内では太陽電池モジュールM間の電流差が小さくなるため、アレイAの最大出力を大きくし易くなる。
[第2実施形態]
第2実施形態に係る演算装置、太陽光発電システム及び太陽光発電を最適化する方法について説明する。第2実施形態では、日影の影響による各太陽電池モジュールの電流値のみならず電圧値の変化も考慮している点、各クラスごとの最大出力を考慮して結線パターンを選択する点で、主に第1実施形態と異なっている。図15に示すように、太陽光発電システム200は、演算装置20と、発電装置2と、パワーコンディショナー3と、を備えている。発電装置2の構成は第1実施形態と同様である。パワーコンディショナー3は、クラスの数に応じて複数設けられている。
演算装置20は、パラメータ取得部21と、クラス分け部22と、ストリング形成部23と、モジュール調整部24と、結線パターン選択部27と、結線パターン選択部27と、処理部28と、記憶部29と、を備えている。
パラメータ取得部21は、検出部4の出力を受信することにより、各太陽電池モジュールMから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。
クラス分け部22は、パラメータに基づいて、各太陽電池モジュールMをクラス分けする機能を有している。また、クラス分け部22は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける機能を有し、具体的には、パラメータが大きいクラスと、パラメータが小さいクラスとに分ける機能を有している。本実施形態では最もパラメータが大きいクラスα1と、中間のクラスα2と、パラメータが小さいクラスα3の三クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールMの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールMの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。
ストリング形成部23は、クラスごとに太陽電池モジュールMのストリングを形成する機能を有している。ストリング形成部23は、一のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST(第1のストリング)と、それより一つ下位のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST(第2のストリング)と、を形成可能である。また、ストリング形成部23は、各クラスのストリングによって形成されるアレイの最大出力に基づいて、それぞれのクラスのストリングを形成する機能を有している。なお、ストリング形成部23は、各クラスの太陽電池モジュールMの枚数によって、二種類のストリングSTを全て形成する場合もあれば、二つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部23は、それぞれのクラスについて設定された直列数に基づいて、各クラスに属する太陽電池モジュールMをそれぞれ直列接続する。この直列数は、パワーコンディショナー3の許容電圧などによって一定範囲の数(例えば5〜7)を設定することが可能であり、ストリング形成部23は、各直列数に応じたストリングSTを形成できる。また、ストリング形成部23は、一のクラスに属する太陽電池モジュールMを電流値の順番に並べることによって当該クラスに対応するストリングを形成し、一つ下位のクラスに属する太陽電池モジュールMを電流値の順番に並べることによって当該クラスに対応するストリングSTを形成する機能を有している。
モジュール調整部24は、各クラス間で太陽電池モジュールの調整を行う機能を有している。具体的には、モジュール調整部24は、各クラスでのストリングのあまりモジュールEMの発生状況に応じて、一つ下位のクラスから太陽電池モジュールMを移動し、あるいは一つ下位のクラスへ太陽電池モジュールMを移動させる機能を有する。
結線パターン選択部27は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールMの結線によって構成されるアレイAの最大出力が最大となるように、結線パターンを選択する機能を有している。
処理部28は、上述の各部21〜27で行われる処理以外の処理を実行する機能を有している。記憶部29は、各種情報を記憶する機能を有している。
次に、図16〜図23を参照して、演算装置20の具体的な演算処理の内容について説明する。図16は、演算装置20が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図16の処理は、図2と同様に、結線パターンを選択する際に、所定のタイミングで実行される。図17〜図20は、図16の各処理の具体的内容を示すフローチャートである。
本実施形態に係る制御処理では、日影の太陽電池モジュールMは、電流・電圧共に変化するものとして演算を行う。また、図16に示す制御処理の例では、各太陽電池モジュールMを三つのクラス(α=1,2,3)に分けるものとする。図16に示すように、パラメータ取得部21は、各太陽電池モジュールMの電流値及び電圧値を取得する(ステップS200)。次に、クラス分け部22は、S200で取得された電流値・電圧値に基づいて、各太陽電池モジュールMのクラス分け処理を実行する(ステップS202)。クラス分け部22は、複数の太陽電池モジュールMを、「クラスα=1(最も日向のクラス)」と「クラスα=2(中間のクラス)」と「クラスα=3(最も日影のクラス)」とに分ける。
ここで、図17を参照してS202のクラス分け処理の詳細について説明する。図17では、クラス分け部22は、各太陽電池モジュールMの出力ブロックBLの右上側の点(パラメータの大きさを示している。以下「右上点」という)を考慮することでクラス分けを行っている(K−means法)。クラス分け部22は、各太陽電池モジュールMをランダムにクラスα1,α2,α3に分ける(ステップS220)。後にクラス間で調整を行うので、この段階では、各クラスのモジュール数も暫定的に決めてよい。また、この段階では、クラスα1,α2,α3の電流・電圧の大小は考慮せずにクラス分けがなされている。次に、クラス分け部22は、電流値−電圧値の座標中における各クラスの重心C1,C2,C3を算出する(ステップS222)。図21(a)に示す例では、暫定的に分けられたクラスα1の中の太陽電池モジュールMの出力ブロックBLを一つずつ座標中に挿入し、他の太陽電池モジュールMの出力ブロックBLとの平均値から重心位置を算出する。当該演算をクラスα1中の全ての太陽電池モジュールMについて行うことで、図21(a)に示すC1が、クラスα1の重心として設定される。クラスα2,α3についても同様に演算することで、重心C2,C3が設定される。
次に、クラス分け部22は、クラス分けとは関係無しに、全ての太陽電池モジュールMについて、その右上点Gと、各クラスの重心C1,C2,C3との距離を演算する(ステップS224)。また、クラス分け部22は、全ての太陽電池モジュールMについて、クラスα1,α2,α3のうち、最も距離の近い重心が属するクラスに割り当て直す(ステップS226)。図21(a)の例では、座標に挿入された太陽電池モジュールMの出力ブロックBLの右上点Gは、重心C2との距離が最も短くなる。従って、当該太陽電池モジュールMは、クラスα2に割り当て直される。S226で割り当て直した各太陽電池モジュールMの右上点Gに基づいて、各クラスα1,α2,α3の重心C1,C2,C3を再度算出する(ステップS228)。前回のクラス分けでのクラス分けが十分でない場合、S228で再設定された重心C1,C2,C3は、前回設定されたものと異なるものとなる。クラス分け部22は、再度算出された重心C1,C2,C3が、前回のものから変化したか否かを判定する(ステップS230)。当該判定は、完全に前回の重心C1,C2,C3した場合に「変化なし」と判定されてもよく、変化量が所定の範囲内となった場合に「変化なし」と判定されてもよい。S230において変化ありと判定された場合、更に好適にクラス分けをするため、S224〜S230を再び繰返す。
一方、S230において変化なしと判定された場合、クラス分け部22は、クラスの重心の絶対値の大きいものから順に、各クラスに属する太陽電池モジュールMの集合を、クラスα1、クラスα2、クラスα3として、記憶部29に記憶する(ステップS232)。すなわち、クラス分け部22は、暫定的クラス名が付された各クラスα1,α2,α3の重心C1,C2,C3のうち、最も絶対値が大きくなるクラスを、「クラスα1」というクラス名に決定する。また、クラス分け部22は、暫定的クラス名が付された各クラスα1,α2,α3の重心C1,C2,C3のうち、次に絶対値が大きくなるクラスを、「クラスα2」というクラス名に決定する。また、クラス分け部22は、暫定的クラス名が付された各クラスα1,α2,α3の重心C1,C2,C3のうち、最も絶対値が小さくなるクラスを、「クラスα3」というクラス名に決定する。なお、ここでの重心C1の絶対値とは、座標の原点(電流値=0,電圧値=0の点)と重心C1との距離である。重心C2,C3についても同様である。図21に示す例では、S222〜S230の処理中では、暫定的クラス名としてクラスα2の重心C2の絶対値が一番大きく、クラスα1の重心C1が次に大きいものとして、調整がなされていた。しかし、S232の処理により、図21(b)に示すように、元々重心C2を有する「クラスα2」とされていたクラスのクラス名は、「クラスα1」に決定され、重心C1を有する「クラスα1」とされていたクラスのクラス名は、「クラスα2」に決定される。これにより、「クラスα1」には最も出力が大きくなる太陽電池モジュールMが属し、「クラスα3」には最も出力が小さくなる太陽電池モジュールMが属し、「クラスα2」には中間の出力の太陽電池モジュールMが属することとなる。
図16に戻り、モジュール調整部24は、クラス間のモジュール調整処理を実行する(ステップS204)。当該調整処理では、各クラスで形成されるストリングの直列数を考慮して、各クラスのクラス分けの微調整が行われる。なお、以降の説明において、クラスα1の太陽電池モジュールM(その出力ブロックBL)を「太陽電池モジュールM1(出力ブロックBL1)」とし、クラスα2の太陽電池モジュールM(その出力ブロックBL)を「太陽電池モジュールM2(出力ブロックBL2)」とし、クラスα3の太陽電池モジュールM(その出力ブロックBL)を「太陽電池モジュールM3(出力ブロックBL3)」として説明する。なお、本実施形態でも、直列数S=5〜7に設定されている。また、クラスα1内のモジュール数をm1とし、クラスα2内のモジュール数をm2とし、クラスα3内のモジュール数をm3とする。
ここで、図18を参照して、クラス間のモジュール調整処理の詳細について説明する。図18に示すように、モジュール調整部24は、記憶部19から、クラス分け処理によって割り振られた各クラスα1,α2,α3の太陽電池モジュールMの集合を読み出す(ステップS240)。モジュール調整部24は、クラスα1の直列数S1の初期値として5を設定する(ステップS242)。次に、モジュール調整部24は、「モジュール数m1/直列数S1」の余りa1を算出する(ステップS244)。また、モジュール調整部24は、余りa1が直列数S1の半分よりも小さいか否かを判定する(ステップS246)。
S246において、余りa1がS1/2より小さいと判定された場合、モジュール調整部24は、余りa1枚分の太陽電池モジュールM1をクラスα1からクラスα2に移動させ、他己相反度R1を求める処理を実行する(ステップS248)。この場合は、クラスα1での余りが少なく、ストリングを形成するには、一つ下のクラスα2から多くの太陽電池モジュールM2を持ってくる必要があるため、余りをクラスα2へ移動しようとするものである。ここで、図19(a)及び図22を参照して、当該他己相反度R1を求める処理について説明する。なお「他己相反度」とは、あるクラスに割り振られた太陽電池モジュールを他のクラスに移動する場合に、当該移動モジュールが移動先の他の太陽電池モジュール(または移動元の他の太陽電池モジュール)からどの程度かけ離れているかを示すパラメータである。すなわち、当該移動によって移動先のクラスまたは移動元のクラスがどの程度影響を受けるかを示すパラメータである。ここでは、図19(a)中の記号には、「枚数x=余りa1」、「i=1」、「j=2」が代入される。
図19(a)に示すように、モジュール調整部24は、モジュール数m1枚の太陽電池モジュールM1の全て(k=1,2,…m1)の重心に対し、「d1ff(k)=クラスα2の重心C2からの距離d2―クラスα1の重心C1からの距離d1」を計算する(ステップS300)。なお、図17でのクラス分け方法より、クラスα1の太陽電池モジュールM1の重心は、重心C2よりも重心C1に近くなるので、d1ff(k)は正の値となる。次に、モジュール調整部24は、d1ff(k)の小さなものから、「余りa1」枚分の太陽電池モジュールM1をクラスα1からクラスα2へ移動させる移動モジュールTMとして、記憶部29に記憶させる(ステップS302)。図22の例では、出力が小さくて重心C2寄りになるものが、移動モジュールTMとして認定される。次に、モジュール調整部24は、移動モジュールTMとして記憶された「余りa1」枚のモジュールについて、d1ff(k)の合計値を計算し、当該合計値を他己相反度R1として取得する(ステップS304)。
一方、S246において、余りa1がS1/2以上であると判定された場合、モジュール調整部24は、「直列数S1−余りa1」枚分の太陽電池モジュールM2をクラスα2からクラスα1に移動させ、他己相反度R1を求める処理を実行する(ステップS250)。この場合は、クラスα1での余りが多く、一つ下のクラスα2から少しの太陽電池モジュールM2を持ってくれば、ストリングを形成できるため、不足分をクラスα2からクラスα1へ移動しようとするものである。ここでは、図19(a)中の記号には、「枚数x=直列数S1−余りa1」、「i=2」、「j=1」が代入される。演算の手順はS248と同様である。
次に、モジュール調整部24は、S248またはS250での処理結果に基づいて、クラスα1及びクラスα2のモジュールの再編成を行う(ステップS252)。モジュール調整部24は、S248で移動モジュールTMと認定された太陽電池モジュールM1を、クラスα1からクラスα2へ移動させる。または、モジュール調整部24は、S250で移動モジュールTMと認定された太陽電池モジュールM2を、クラスα2からクラスα1へ移動させる。
次に、モジュール調整部24は、クラスα2の直列数S2の初期値として5を設定する(ステップS254)。次に、モジュール調整部24は、「モジュール数m2/直列数S2」の余りa2を算出する(ステップS256)。また、モジュール調整部24は、余りa2が直列数S2の半分よりも小さいか否かを判定する(ステップS258)。
S258において、余りa2がS2/2より小さいと判定された場合、モジュール調整部24は、余りa2枚分の太陽電池モジュールM2をクラスα2からクラスα3に移動させ、他己相反度R2を求める処理を実行する(ステップS260)。この場合は、クラスα2での余りが少なく、ストリングを形成するには、一つ下のクラスα3から多くの太陽電池モジュールM3を持ってくる必要があるため、余りをクラスα3へ移動しようとするものである。ここでは、図19(a)中の記号には、「枚数x=余りa2」、「i=2」、「j=3」が代入される。演算の手順はS248と同様である。
一方、S258において、余りa2がS2/2以上であると判定された場合、モジュール調整部24は、「直列数S2−余りa2」枚分の太陽電池モジュールM3をクラスα3からクラスα2に移動させ、他己相反度R2を求める処理を実行する(ステップS262)。この場合は、クラスα2での余りが多く、一つ下のクラスα3から少しの太陽電池モジュールM3を持ってくれば、ストリングを形成できるため、不足分をクラスα3からクラスα2へ移動しようとするものである。ここでは、図19(a)中の記号には、「枚数x=直列数S2−余りa2」、「i=3」、「j=2」が代入される。演算の手順はS248と同様である。
次に、モジュール調整部24は、S260またはS262での処理結果に基づいて、クラスα2及びクラスα3のモジュールの再編成を行う(ステップS264)。モジュール調整部24は、S260で移動モジュールTMと認定された太陽電池モジュールM2を、クラスα2からクラスα3へ移動させる。または、モジュール調整部24は、S262で移動モジュールTMと認定された太陽電池モジュールM3を、クラスα3からクラスα2へ移動させる。
次に、モジュール調整部24は、クラスα3の直列数S3の初期値として5を設定する(ステップS266)。次に、モジュール調整部24は、「モジュール数m3/直列数S3」の余りa3を算出する(ステップS268)。また、モジュール調整部24は、余りa3枚分の太陽電池モジュールM3をクラスα3(モジュール数m3)から除く場合の、自己相反度R3を求める処理を実行する(ステップS270)。クラスα3では、それより下のクラスが存在しないため、余ったモジュールは直ちに除かれる。
ここで、図19(b)を参照して、当該自己相反度R3を求める処理について説明する。なお「自己相反度」とは、クラスα3からモジュールを取り除く場合に、当該モジュールを取り除くことによってクラスα3がどの程度影響を受けるかを示すパラメータである。図19(b)中の記号には、「枚数x=余りa3」が代入される。
図19(b)に示すように、モジュール調整部24は、クラスα3に属する太陽電池モジュールM3のうち、パラメータの絶対値(例えば図22に示すように、太陽電池モジュールM3の右上点Gと、電流値=0、電圧値=0の原点との距離)が最も小さい「余りa3」枚を、クラスα3から取り除く移動モジュールTMとして、記憶部29に記憶させる(ステップS306)。次に、モジュール調整部24は、余り3a枚分の移動モジュールTMについて、パラメータの絶対値の合計を算出し、自己相反度R3として取得する(ステップS308)。
図18に戻り、モジュール調整部24は、直列数S1,S2,S3に対する相反度R(=R1+R2+R3)を演算し、当該相反度Rと共にそのときの各クラスのモジュール数m1,m2,m3を記憶部29に記憶させる(ステップS272)。次に、モジュール調整部24は、クラスα3の直列数S3に1を加算する(ステップS274)。また、モジュール調整部24は、直列数S3が7より大きくなったか否かを判定する(ステップS276)。直列数S3が7以下の場合は、再びS268〜S276の処理が繰返される。これにより、直列数S1=5、直列数S2=5であって、直列数S3=5,6,7の全てのパターンでの相反度Rとモジュール数m1,m2,m3が記憶される。直列数S3が7より大きい場合は、モジュール調整部24は、クラスα2の直列数S2に1を加算する(ステップS278)。また、モジュール調整部24は、直列数S2が7より大きくなったか否かを判定する(ステップS280)。直列数S2が7以下の場合、モジュール調整部24は、クラスα2,α3のモジュール構成をS252のものにリセットする(ステップS282)。その後、再びS256〜S280の処理が繰返される。これにより、直列数S1=5であって、直列数S2=5,6,7、直列数S3=5,6,7の全てのパターンでの相反度Rとモジュール数m1,m2,m3が記憶される。直列数S1が7より大きい場合は、モジュール調整部24は、クラスα1の直列数S1に1を加算する(ステップS284)。また、モジュール調整部24は、直列数S1が7より大きくなったか否かを判定する(ステップS286)。直列数S2が7以下の場合、モジュール調整部24は、クラスα1,α2,α3のモジュール構成をクラス分け処理時のもの(すなわち図18の処理の開始時のもの)にリセットする(ステップS288)。その後、再びS244〜S286の処理が繰返される。これにより、直列数S1=5,6,7、直列数S2=5,6,7、直列数S3=5,6,7の全てのパターンでの相反度Rとモジュール数m1,m2,m3が記憶される。
直列数S1,S2,S3の全てのパターンでの演算が終了すると、モジュール調整部24は、相反度Rが最小となっているときの、直列数S1,S2,S3及び各クラスα1,α2,α3のモジュールの集合をストリング形成のための条件として取得し、当該結果を返す。(ステップS290)。
図16に戻り、処理部28は、ストリングを形成するクラスをα=1に設定する(ステップS206)。ストリング形成部23は、1番目のクラス、すなわちクラスα1についてのストリング形成処理を実行する(ステップS208)。
図20を参照して、所定のクラスのストリング形成処理の詳細について説明する。図20に示すように、ストリング形成部23は、クラスα1の直列数S1と、当該クラスα1の太陽電池モジュールM1の集合(図18のS290で記憶させた結果)を、記憶部29から読み出す(ステップS310)。ストリング形成部23は、クラスα1に属する太陽電池モジュールM1を電流値の降順にソートする(ステップS312)。ここでは、電圧値は考慮せず、電流値のみを考慮する。ストリング形成部23は、電流値の大きい方から順に太陽電池モジュールM1を選択し、直列数S1のストリングを形成する(ステップS314)。また、ストリング形成部23は、クラスα1内のストリングSTのストリング数βを算出する(ステップS316)。また、ストリング形成部23は、各ストリングSTを電流値の昇順にソートする(ステップS318)。これによって、図23(a)に示すようなアレイA1が形成され、図23(b)に示すような出力アセンブリAL1が形成される。図23(a)に示すアレイA1は、図中にDRで示す矢印の方向に向かって、電流値の高いものから順に太陽電池モジュールM1が並べられている。電流値の低いものから順に、直列数S1のストリングST1,ST2…STβ―1,STβが形成される。また、図23(b)に示すように、下からのストリングST1,ST2…STβ―1,STβ順で出力ブロックBL1が積まれ、出力アセンブリAL1が形成される。なお、この段階では、電流値のみを考慮し電圧値が考慮されていないため、各ストリングSTの合計電圧値は揃っていない。
次に、ストリング形成部23は、最も電流値の低いストリングST1を読み出す(ステップS320)。ストリング形成部23は、ストリングST1の各太陽電池モジュールM1(出力ブロックBL1)を、他のストリングST2〜STβの太陽電池モジュールM1(出力ブロックBL1)と入れ替えた後、クラスα1内の各ストリングSTを並列接続した場合のアレイA1の出力を算出し、出力が最大化されたかどうかの判断を行う(ステップS322)。例えば図23に示すように、ストリングST1の何れかの太陽電池モジュールM1(出力ブロックBL1)を他のストリングSTの何れかの太陽電池モジュールM1(出力ブロックBL1)と交換し、再構成されたアレイA1での出力を算出する。また、当該再構築によって最大出力が向上したかの判断を行う。次に、ストリング形成部23は、モジュール入れ替えの効果が無くなったか否かを判定する(ステップS324)。すなわち、あらゆるパターンでモジュール入れ替えを行い、これ以上再構築してもアレイA1の出力を大きくすることができないと判断された場合に、モジュール入れ替えの効果が無くなったと判定される。S324において、モジュール入れ替えにより出力の向上が見られた場合は、再びS322にて他の入れ替えパターンを実行し、より出力を大きくできる組み合わせを形成する。一方、S324において、モジュール入れ替えの効果が無くなったと判定された場合、ストリング形成部23は、クラスα1のストリングST1に属する太陽電池モジュールM1を確定し、記憶部29に記憶させる。
その後、ストリング形成部23は、ストリング番号iがβ―1になったか否かを判定する(ステップS328)。すなわち、ストリング形成部23は、全てのストリングSTについて太陽電池モジュールM1が確定したかを判定する(なお、電流値が一番大きいストリングSTβについては、入れ替える対象となるストリングがないため、モジュール入れ替えを行わない)。S328においてストリング番号iがβ―1になっていないと判定されると、ストリング形成部23は、ストリングの番号iに1を加算し(ステップS330)、S322〜S328の処理を繰返す。このとき、既に確定したストリングSTの太陽電池モジュールM1(出力ブロックBL1)は、モジュール入れ替えに用いられない。S328においてストリング番号iがβ―1になったと判定されたら、全てのストリングSTの太陽電池モジュールM1の構成が確定したとして、図20の処理が終了する。
図16に戻り、処理部28は、クラスがα=3であるか否かを判定する(ステップS210)。すなわち、全てのクラスについてストリング形成処理が完了したか否かを判定する。S210においてα=3でないと判定されると、αに1を加算し、S208を繰り返し、次のクラスについてストリング形成処理を行う。これによって、クラスα2及びクラスα3についてのストリングSTが形成される。以上のように、各クラスのそれぞれについて、最大出力を大きくできるような結線パターンが形成される。
結線パターン選択部27は、各クラスα1,α2,α3の太陽電池モジュールMの接続形態を採用すべきアレイAの結線パターンとして選択し、記憶部29に記憶させる(ステップS214)。結線パターン選択部27は、クラスα1について確定された各ストリングSTと、クラスα2について確定された各ストリングSTと、クラスα3について確定された各ストリングSTと、を並列に接続したものを、アレイAの結線パターンとして選択する。S214の処理が完了したら、採用すべき結線パターンが決定し、図16の処理が終了する。
次に、本実施形態の作用・効果について説明する。
演算装置20によれば、各太陽電池モジュールMの電流値を含むパラメータに基づいて、クラス分け部22が太陽電池モジュールMのクラス分けを行っている。すなわち、太陽電池モジュールMの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。
また、クラス分け部22は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングST、アレイAを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールMの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。
演算装置20によれば、パラメータの大きい太陽電池モジュールMのみでクラスα1のストリングSTを形成し、パラメータの小さい太陽電池モジュールのみで下位のクラスα2,α3のストリングSTを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングSTを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングST内でのモジュール間の電流差が少ないために、各ストリングSTを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図13に示すような歪な出力アセンブリALではなく、四角形に近い出力アセンブリALを形成し易くなり、最大出力動作点Pmaxを大きくし易くなる。更に、クラスα1のストリングSTによって形成されるアレイ(クラスα1の出力アセンブリAL)の最大出力に基づいて、当該クラスα1のストリングSTを形成し、クラスα2のストリングSTによって形成されるアレイ(クラスα2の出力アセンブリAL)の最大出力に基づいて、当該クラスα2のストリングSTを形成し、クラスα3のストリングSTによって形成されるアレイ(クラスα3の出力アセンブリAL)の最大出力に基づいて、当該クラスα3のストリングSTを形成するため、それぞれのクラスで独立にアレイの結線パターンを最適化すればよく、演算の負荷を低減することができる。
また、本実施形態では、電流値に基づいてクラス分けした後で、クラスごとにアレイが構成される。クラスごとにパワーコンディショナー3を設け、クラスごとにアレイを形成することで、クラス同士の電圧の差を考慮する必要がなく、簡単に結線パターンを選択することができる。
また、ストリング形成部23は、クラスα1に属する太陽電池モジュールM1を電流値の順番に並べることによってクラスα1のストリングSTを形成し、クラスα2に属する太陽電池モジュールM2を電流値の順番に並べることによってクラスα2のストリングSTを形成し、クラスα3に属する太陽電池モジュールM3を電流値の順番に並べることによってクラスα3のストリングSTを形成している。単に太陽電池モジュールMを電流値の順番に並べればよいだけなので、容易に各ストリングSTを形成することができる。一方で、順番に並べられることで、各ストリングSTでは太陽電池モジュールM間の電流差が小さくなるため、アレイAの最大出力を大きくし易くなる。
[第3実施形態]
第3実施形態に係る演算装置、太陽光発電システム及び太陽光発電を最適化する方法について説明する。第3実施形態では、日影の影響による各太陽電池モジュールの電流値のみならず電圧値の変化も考慮している点、擬似モジュールVMを並列接続のみならず直列接続も用いて形成する点で、主に第1実施形態と異なっている。図24に示すように、太陽光発電システム300は、演算装置30と、発電装置2と、パワーコンディショナー3と、を備えている。発電装置2の構成は第1実施形態と同様である。パワーコンディショナー3は、発電装置2に対して一個設けられている。
演算装置30は、パラメータ取得部31と、クラス分け部32と、ストリング形成部33と、擬似モジュール形成部34と、結線パターン選択部37と、処理部38と、記憶部39と、を備えている。
パラメータ取得部31は、検出部4の出力を受信することにより、各太陽電池モジュールMから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。
クラス分け部32は、パラメータに基づいて、各太陽電池モジュールMをクラス分けする機能を有している。また、クラス分け部32は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける機能を有し、具体的には、電流値が高いクラスと、電流値が低いクラスとに分ける機能を有している。本実施形態では最も電流が高いクラスα1と、中間のクラスα2と、電流が最も低いクラスα3の三クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールMの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールMの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。
ストリング形成部33は、クラスごとに太陽電池モジュールMのストリングを形成する機能を有している。ストリング形成部33は、一のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST(第1のストリング)と、それより一つ下位のクラスに属する太陽電池モジュールMのみを直列接続させたストリングST(第2のストリング)と、上位のクラスに属する太陽電池モジュールのあまりモジュールEM、及び一つ下位のクラスに属する太陽電池モジュールMによって構成される擬似モジュールVMを直列接続させたストリングST(第3のストリング)と、を形成可能である。なお、ストリング形成部33は、各クラスの太陽電池モジュールMの枚数によって、三種類のストリングSTを全て形成する場合もあれば、三つのうちの何れか二つのみのストリングを形成する場合、三つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部33は、クラスα1について設定された直列数に基づいて、クラスα1に属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTについては、直列数に満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。この直列数は、パワーコンディショナー3の許容電圧などによって一定範囲の数(例えば5〜7)を設定することが可能であり、ストリング形成部33は、各直列数に応じたストリングSTを形成できる。下位のクラスα2,α3については、クラスα1のストリングSTの合計電圧に基づいてストリングSTが形成される。また、ストリング形成部33は、一のクラスに属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングを形成し、一つ下位のクラスに属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってストリングSTを形成する機能を有している。
擬似モジュール形成部34は、一のクラスに属する太陽電池モジュールMのパラメータ(電流値及び電圧値)に基づいて、一つ下位のクラスに属する複数の太陽電池モジュールMを並列接続(また、必要に応じて直列接続)することによって擬似モジュールVMを形成する機能を有している。
結線パターン選択部37は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールMの結線によって構成されるアレイAの最大出力が最大となるように、結線パターンを選択する機能を有している。
処理部38は、上述の各部31〜37で行われる処理以外の処理を実行する機能を有している。記憶部39は、各種情報を記憶する機能を有している。
次に、図25〜図31を参照して、演算装置30の具体的な演算処理の内容について説明する。図25は、演算装置30が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図25の処理は、図2と同様に、結線パターンを選択する際に、所定のタイミングで実行される。図26〜図28は、図25の各処理の具体的内容を示すフローチャートである。
本実施形態に係る制御処理では、日影の太陽電池モジュールMが、電流・電圧共に変化するものとして演算を行う。また、図25に示す制御処理の例では、各太陽電池モジュールMを三つのクラス(α=1,2,3)に分けるものとする。図25に示すように、パラメータ取得部31は、各太陽電池モジュールMの電流値及び電圧値を取得する(ステップS400)。次に、クラス分け部32は、S400で取得された電流値・電圧値に基づいて、各太陽電池モジュールMのクラス分け処理を実行する(ステップS402)。クラス分け部32は、複数の太陽電池モジュールMを、「クラスα=1(最も日向のクラス)」と「クラスα=2(中間のクラス)」と「クラスα=3(最も日影のクラス)」とに分ける。S402のクラス分けでは、例えば第2実施形態の図17で説明したようなK−means法を用いてクラス分けすることができる。S402で三つにクラス分けした後、クラス内の太陽電池モジュールMの平均出力(W)が高いものから順に、クラスα1、クラスα2、クラスα3とする(ステップS404)。
次に、処理部38は、クラスα1の平均電圧値と、パワーコンディショナー3の許容電圧に基づいて、クラスα1の許容直列数S1を決定する(ステップS406)。ここでは、S1=5〜7に設定されるものとする。次に、処理部38は、クラスα1の直列数S1として初期値である5を設定する(ステップS408)。次に、ストリング形成部33は、クラスα1のストリング形成処理を実行する(ステップS410)。
図26を参照して、クラスα1のストリング形成処理の詳細について説明する。図26に示すように、ストリング形成部33は、クラスα1の直列数S1と、当該クラスα1の太陽電池モジュールM1の集合を、記憶部39から読み出す(ステップS450)。ストリング形成部33は、クラスα1に属する太陽電池モジュールM1を電流値の降順にソートする(ステップS452)。ここでは、電圧値は考慮せず、電流値のみを考慮する。ストリング形成部33は、電流値の大きい方から順に太陽電池モジュールM1を選択し、直列数S1のストリングを形成する(ステップS454)。ここで、あまりモジュールがあった場合、ストリング形成部33は、当該モジュールをあまりモジュールEMとして記憶部39に記憶させ、クラスα1から除く(ステップS456)。また、ストリング形成部23は、クラスα1内のストリングSTのストリング数βを算出する(ステップS458)。また、ストリング形成部33は、各ストリングSTを電流値の昇順にソートする(ステップS460)。これによって、第2実施形態でのストリング形成処理と同様に、図23(a)に示すようなアレイA1が形成され、図23(b)に示すような出力アセンブリAL1が形成される。
次に、ストリング形成部33は、最も電流値の低いストリングST1を読み出す(ステップS462)。ストリング形成部33は、ストリングST1の各太陽電池モジュールM1(出力ブロックBL1)を、他のストリングST2〜STβの太陽電池モジュールM1(出力ブロックBL1)と入れ替えた後、クラスα1内の各ストリングを並列接続した場合のアレイA1の出力を算出し、出力が最大化されたかどうかの判断を行う(ステップS464)。例えば図23に示すように、ストリングST1の何れかの太陽電池モジュールM1(出力ブロックBL1)を他のストリングSTの何れかの太陽電池モジュールM1(出力ブロックBL1)と交換し、再構成されたアレイA1での出力を算出する。また、当該再構築によって最大出力が向上したかの判断を行う。次に、ストリング形成部23は、モジュール入れ替えの効果が無くなったか否かを判定する(ステップS466)。すなわち、あらゆるパターンでモジュール入れ替えを行い、これ以上再構築してもアレイA1の出力を大きくすることができないと判断された場合に、モジュール入れ替えの効果が無くなったと判定される。S466において、モジュール入れ替えにより出力の向上が見られた場合は、再びS464にて他の入れ替えパターンを実行し、より出力を大きくできる組み合わせを形成する。一方、S466において、モジュール入れ替えの効果が無くなったと判定された場合、ストリング形成部33は、当該組み合わせに係るストリングSTを、クラスα1における完成ストリングSTCPとして確定し、記憶部39に記憶させる(ステップS468)。
その後、ストリング形成部33は、ストリング番号iがβ―1になったか否かを判定する(ステップS470)。すなわち、ストリング形成部33は、全てのストリングSTについて太陽電池モジュールM1が確定したかを判定する(なお、電流値が一番大きいストリングSTβについては、入れ替える対象となるストリングがないため、モジュール入れ替えを行わない)。S470においてストリング番号iがβ―1になっていないと判定されると、ストリング形成部23は、ストリングの番号iに1を加算し(ステップS472)、S464〜S470の処理を繰返す。このとき、既に確定したストリングSTの太陽電池モジュールM1(出力ブロックBL1)は、モジュール入れ替えに用いられない。S470においてストリング番号iがβ―1になったと判定されたら、全てのストリングSTの太陽電池モジュールM1の構成が確定したとして、図26の処理が終了する。
図25に戻り、処理部38は、クラスα1においてストリングSTが最低一本でも形成できたか否かを判定する(ステップS412)。クラスα1に属する太陽電池モジュールM1が少なすぎることで、ストリングSTが一本も形成できず、S412において形成できないと判定されると、処理部38は、クラスα2に属する全ての太陽電池モジュールM2をクラスα1に移動する(ステップS414)。また、処理部38は、クラスα3に属する全ての太陽電池モジュールM3をクラスα2に移動する(ステップS416)。その後、再びS410及びS412の処理が実行される。処理部38は、クラスα1の全てのストリングSTの電圧(ストリングST中の各出力ブロックBLの電圧値の合計)のうち、最低電圧をストリング最低電圧Vminとして、記憶部39に記憶させる(ステップS418)。処理部38は、図26のS456で記憶された情報を参照し、クラスα1にあまりモジュールEMがあるか否かを判定する(ステップS420)。S420においてあまりモジュールEMがあると判定された場合、擬似モジュール形成部34は擬似モジュール形成処理を実行し(ステップS422)、あまりモジュールEMが無いと判定された場合、S422の処理はスキップされてS424の処理へ移行する。
図28を参照して、擬似モジュール形成処理の詳細な内容について説明する。擬似モジュール形成部34は、図25のS418にて記憶された最低電圧Vminと、クラスα1のあまりモジュールEMの合計電圧との差として、最低補電圧Vcomを算出する(ステップS500)。この最低補電圧Vcomは、あまりモジュールEMを用いてストリングを形成する場合に、少なくとも最低電圧Vminまで電圧を確保するのに最低限度補うべき電圧である。擬似モジュール形成部34は、クラスα1におけるあまりモジュールEMの平均電流Ioを算出する(ステップS502)。
次に、擬似モジュール形成部34は、クラスα1の下位のクラスα2の太陽電池モジュールM2の合計電圧が最低補電圧Vcom以上であるか否かを判定する(ステップS504)。一段下位のクラスα2の太陽電池モジュールM2では、そもそも最低補電圧Vcomを確保することができず、S504において合計電圧が最低補電圧Vcomより小さいと判定されたら、擬似モジュールVMを形成することなく図28の処理は終了する。なお、擬似モジュールVMを形成できない場合、あまりモジュールEMは、下位のクラスα2へ移動する。一方、S504において合計電圧が最低補電圧Vcom以上であると判定されると、擬似モジュール形成部34は、クラスα2の太陽電池モジュールM2を用いて擬似モジュールVMを形成する(ステップS506)。
具体的には、擬似モジュール形成部34は、クラスα2の中から太陽電池モジュールM2(出力ブロックBL2)を選択し、直列、並列に組み合わせて次の条件を満たす組み合わせを探索する。探索すべき組み合わせの条件は、「最低補電圧Vcom≦擬似モジュールの電圧V」を満たすと共に、「(Vcom,Io)からの距離が最短となるような頂点(V,I)を持つ」を満たすことである。例えば図30(a)に示すように、太陽電池モジュールM2(出力ブロックBL2)の組み合わせによって形成される擬似モジュールVMは右上角部に頂点(V,I)を持っている。この擬似モジュールVMの電圧Vは、最低補電圧Vcom以上となっており、頂点(V,I)は出来る限り(Vcom,Io)に近くに設定される。なお、図30(b)に示すように、(Vcom,Io)と一致するような頂点(V,I)を持つ組み合わせがあった場合は、当該組み合わせが直ちに採用される。擬似モジュール形成部34は、組み合わせが見つかったら当該結果を記憶部39に記憶させる。このようにして形成された擬似モジュールVMは、あまりモジュールEMと直列接続され(例えば図29参照)、一つの完成ストリングSTCPとして記憶される。
擬似モジュール形成部34は、擬似モジュールの作成に用いられた太陽電池モジュールM2を、下位のクラスα2から取り除く(ステップS508)。S508の処理が完了すると、図28に示す処理が終了する。
図25に戻り、S410〜S422の処理が完了すると、直列数S1=5におけるクラスα1の完成ストリングSTCPが確定する。その後、クラスα2における完成ストリングSTCPの形成がなされる。ストリング形成部33は、クラスα2のストリング形成処理を実行する(ステップS424)。
図27を参照して、クラスα2のストリング形成処理の詳細な内容を説明する。クラスα2では、ストリングSTの直列数を設定するのではなく、クラスα1の完成ストリングSTCPの最低電圧Vminに基づいて、ストリングSTが形成される。すなわち、図29に示すように、ストリング形成部33は、太陽電池モジュールM(出力ブロックBL)の集合の中から一つずつワークスペースの座標に積んで完成ストリングSTCPを形成する。また、ストリング形成部23は、あまりモジュールEMがある場合は、クラスα3の太陽電池モジュールMで擬似モジュールVMを形成し、完成ストリングSTCPを完成させる。まず、ストリング形成部33は、クラスα2内の完成ストリングSTCPを0本の初期化し(ステップS480)、途上ストリングSTDPのモジュールを0枚に初期化する(ステップS482)。次に、ストリング形成部33は、クラスα2に太陽電池モジュールM2が無く、空になっているか否かを判定する(ステップS484)。空になっている場合は、S492の処理へ移行する。
一方、S484において空になっていないと判定されると、ストリング形成部33は、クラスα2の中の太陽電池モジュールM2のうち、電流値が最も高いものを途上ストリングSTDPに移動する(ステップS486)。図29に示すように、ストリング形成部33は、クラスα2に残っている太陽電池モジュールM2の中から一番電流値が高いものをワークスペースへ移動し、座標上で作成途中にある途上ストリングSTDPに直列に接続する。ストリング形成部33は、途上ストリングSTDPの合計電圧が最低電圧Vminより小さいか否かを判定する(ステップS488)。すなわち、図29に示すように、途上ストリングSTDPの電圧が最低電圧Vminのラインを超えているか否かを判定する。S488において合計電圧が最低電圧Vminより小さいと判定されると、再びS484〜S488の処理が繰返され、途上ストリングSTDPに新たな太陽電池モジュールM2が追加される。一方、S488において合計電圧が最低電圧Vmin以上になったと判定されると、ストリング形成部33は、ワークスペース中の途上ストリングSTDPを、完成ストリングSTCPの記憶エリア(図29参照)に追加する(ステップS490)。その後、S482が実行されてワークスペースが初期化された後、S484〜S490の処理が繰返されて、複数の完成ストリングSTCPが形成される。
ある程度の本数の完成ストリングSTCPが形成されると、クラスα2の残りの太陽電池モジュールM2が少なくなる。この場合、最後の一本の完成ストリングSTCPを形成した直後にクラスα2が空になる(S490→S484:YES)か、あるいは途上ストリングSTDPの合計電圧が最低電圧Vminを超える前にクラスα2が空になる(S488→S484:YES)。
クラスα2が空になった後、ストリング形成部33は、途上ストリングSTDP中の太陽電池モジュールMが0枚であるか否かを判定する(ステップS492)。すなわち、ワークスペースに太陽電池モジュールMを残した状態でクラスα2が空になったのか、ワークスペースに何も残さずにクラスα2が空になったのかが判定される。S492において0枚であると判定された場合、ストリング形成部33は、クラスα2にはあまりモジュールEMが無いとして、あまりモジュールの記憶エリア(図29参照)を空にする(ステップS494)。一方、S492において0枚でないと判定された場合、途上ストリングSTDPに含まれる太陽電池モジュールMを、あまりモジュールEMとして記憶部39に記憶させる(ステップS496)。以上により、ストリング形成部33は、全ての完成ストリングSTCP(モジュールの組み合わせ)と、あまりモジュールEMを返す(ステップS498)。S498の処理が完了すると、図27の処理が終了する。
図25に戻り、ストリング形成部33は、あまりモジュールEMがあるか否かを判定する(ステップS426)。S426においてあまりモジュールEMがあると判定された場合、擬似モジュール形成部34は擬似モジュール形成処理を実行し(ステップS428)、あまりモジュールEMが無いと判定された場合、S428の処理はスキップされてS430の処理へ移行する。クラスα2における擬似モジュール形成処理は、前述のクラスα1における擬似モジュール形成処理と同様の処理がなされる。ここでは、クラスα3の太陽電池モジュールM3を用いて擬似モジュールVMが形成される。擬似モジュールVMは、あまりモジュールEMと直列接続され、一つの完成ストリングSTCPとして記憶される。
S424〜S428の処理が完了すると、直列数S1=5におけるクラスα2の完成ストリングSTCPが確定する。その後、クラスα3における完成ストリングSTCPの形成がなされる。ストリング形成部33は、クラスα3のストリング形成処理を実行する(ステップS430)。クラスα3におけるストリング形成処理は、前述のクラスα2におけるストリング形成処理と同様の処理がなされる。ストリング形成部33は、あまりモジュールEMがあるか否かを判定する(ステップS432)。S432においてあまりモジュールEMがあると判定された場合、ストリング形成部33は、クラスα3よりも下位のクラスが無く、擬似モジュールを形成することができないので、クラスα3のあまりモジュールEMを不使用とし(ステップS434)、あまりモジュールEMが無いと判定された場合、S434の処理はスキップされてS436の処理へ移行する。S430〜S434の処理が完了すると、直列数S1=5におけるクラスα3の完成ストリングSTCPが確定する。
ストリング形成部33は、クラスα1,α2,α3の各完成ストリングSTCPを全て並列に接続してアレイAを形成し、当該直列数S1における最大出力動作点Pmaxを算出し、全ての完成ストリングSTCPと共に記憶部39に記憶させる(ステップS436)。次に、処理部38は、直列数S1が7であるか否かを判定する(ステップS438)。S438において直列数S1が7でないと判定されると、直列数S1に1が加算され(ステップS440)、新たな直列数S1にてS410〜S438の処理が繰返される。これによって、直列数S1=6,7における最大出力動作点Pmaxと、その時の完成ストリングSTCPが記憶部39に記憶される。一方、S438において直列数S1が7であると判定されると、結線パターン選択部37は、直列数S1=5,6,7のそれぞれの最大出力動作点Pmaxを比較し、最大出力動作点Pmaxが最大となるときの直列数S1での全ての完成ストリングSTCPを返す(ステップS442)。結線パターン選択部37は、当該直列数S1での各クラスの完成ストリングSTCPを並列接続したものを、採用すべきアレイAの結線パターンとして選択する。S442の処理が完了したら、採用すべき結線パターンが決定し、図25の処理が終了する。
次に、本実施形態の作用・効果について説明する。
演算装置30によれば、各太陽電池モジュールMの電流値及び電圧値を含むパラメータに基づいて、クラス分け部32が太陽電池モジュールMのクラス分けを行っている。すなわち、太陽電池モジュールMの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。
また、クラス分け部32は、パラメータが近い太陽電池モジュールM同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングST、アレイAを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールMの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。
また、演算装置30によれば、パラメータが大きい太陽電池モジュールMのみでクラスα1のストリングSTを形成し、パラメータが小さい太陽電池モジュールMのみでクラスα2,α3のストリングSTを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングSTを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングST内でのモジュール間の電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図13に示すような歪な出力アセンブリALではなく、四角形に近い出力アセンブリALを形成し易くなり、最大出力動作点Pmaxを大きくし易くなる。更に、擬似モジュールVMを用いることによって、日向クラスのストリングST相当の電流値を得られるストリングSTを形成することができるため、全ての太陽電池モジュールMを無駄なく利用することができる。
また、本実施形態では、パラメータ(電流、電圧)に基づいてクラス分けした後で、電圧が揃うようにクラスごとにサブアレイが形成され、各サブアレイを並列に接続して一つのアレイが構成される。各ストリングの電圧を近づけるようにクラスごとにアレイを形成することで、簡単に結線パターンを選択することができる。また、本実施形態では、パワーコンディショナー3が発電装置2に対して一個でよい。
また、ストリング形成部33は、クラスα1のストリングSTに対して設定された直列数S1に基づいて、クラスα1に属する太陽電池モジュールMを直列接続し、あまりモジュールEMを含むストリングSTは、直列数Sに満たない数のあまりモジュールEMを擬似モジュールVMで補うことによって形成される。クラスα2のあまりモジュールEMもクラスα3からの擬似モジュールVMで補うことができる。このように、あまりモジュールEMがあっても、擬似モジュールVMで補うことができるため、あまりモジュールEMが無駄になることを防止し、アレイ出力に寄与させることができる。
また、結線パターン選択部27は、各直列数S1において各ストリングSTを並列接続させて形成されるアレイAのうち、アレイAの最大出力が最も大きくなるときの直列数S1に係る結線パターンを選択する。ストリングSTの直列数S1を変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数S1を選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。
また、ストリング形成部33は、クラスα1に属する太陽電池モジュールMを電流値の順番に並べることによって各ストリングSTを形成し、クラスα2に属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってクラスα2のストリングSTを形成し、クラスα3に属する太陽電池モジュールMのうち、擬似モジュールVMに用いられないものを、電流値の順番に並べることによってクラスα3のストリングSTを形成する。単に太陽電池モジュールMを電流値の順番に並べればよいだけなので、容易に各ストリングSTを形成することができる。一方で、順番に並べられることで、各ストリングSTでは太陽電池モジュールM間の電流差が小さくなるため、アレイAの最大出力を大きくし易くなる。
[第4実施形態]
第4実施形態に係る発明は、図1に示すように、演算装置1を備えた太陽光発電シミュレーションシステム101である。太陽光発電シミュレーションシステム101では、発電装置2は、演算装置1(または別の演算装置)の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールMは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム101の演算装置1は、第1の実施形態に係る演算装置1と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム101で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。
[第5実施形態]
第5実施形態に係る発明は、図15に示すように、演算装置20を備えた太陽光発電シミュレーションシステム201である。太陽光発電シミュレーションシステム201では、発電装置2は、演算装置20(または別の演算装置)の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールMは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム201の演算装置20は、第2の実施形態に係る演算装置20と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム201で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。
[第6実施形態]
第6実施形態に係る発明は、図24に示すように、演算装置30を備えた太陽光発電シミュレーションシステム301である。太陽光発電シミュレーションシステム301では、発電装置2は、演算装置30(または別の演算装置)の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールMは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム301の演算装置30は、第3の実施形態に係る演算装置30と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム301で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。
本発明は上述の実施形態に限定されるものではない。
例えば第1実施形態では2つのクラスに分け、第2実施形態及び第3実施形態では、3つのクラスに分ける場合を例にして説明したが、クラス分けの数は特に限定されず、より多く(第2,3実施形態を2つのクラスとしてもよい)のクラスに分けてもよい。また、好適なクラス数を決定するための処理を行ってもよい。例えば、図31に示すような処理を行ってもよい。まず、クラス分け部は、全ての太陽電池モジュールMの出力ブロックBLの重心(電流、電圧)を算出する(ステップS600)。次に、クラス分け部は、前記重心からの距離を全ての太陽電池モジュールMの重心について演算し、当該距離の和を求め、D1として記憶部に記憶させる(ステップS602)。次に、クラス分け部は、クラス数CNの初期値として2を設定する(ステップS604)。クラス分け部は、CN(=2)個のクラスにクラス分け処理をする(ステップS606)。次に、クラス分け部は、全ての太陽電池モジュールMについて、当該太陽電池モジュールMの重心と所属するクラスの重心との距離を算出し、当該距離を全モジュールに亘って合計し、当該合計値をDCNとして記憶する(ステップS608)。クラス分け部は、CNが太陽電池モジュールMのモジュール数Nに至ったか否かを判定する(ステップS610)。S610で至っていないと判定されると、CNに1を加算し、S606〜S610の処理を繰返す。
S610で至ったと判定されると、クラス分け部は、D1−D2、D2−D3、D3−D4、…Di−1−Di,…DN−1−DNの中で最大のものを求め、そのときのiを採用すべきクラス数として返す(ステップS614)。
各太陽電池モジュールの出力ブロックの重心(電流、電圧)の、クラスの重心からの距離は、クラス数を増加させることによって減少する。他方、適切な数を超えて多数のクラスに分離しても、演算負荷は大きくなるのに対して、距離はあまり減少しなくなる。図31の処理では、重心からの距離(ズレ)を縦軸に設定し、クラス数を縦軸に設定したときに、最も大幅にズレが減少したときのクラス数を(D1−D2、D2−D3、D3−D4、…Di−1−Di,…DN−1−DNの中で、値が最大となるものにおけるクラス数i)、適切なクラス数として採用することができる。
また、上述の実施形態では、パワーコンディショナー3の許容電圧から、直列数S=5〜7を例示したが、当該直列数は特に限定されず、状況に合わせて適宜変更してもよい。あるいは、直列数Sを変化させず、一つの値に設定して結線パターンを決定してもよい。
また、クラス分けの方法として、K−means法を例示したが、これに限られず、最短距離法や、最長距離法、群平均法、ウォード法など、あらゆるクラス分け方法と採用してもよい。
クラス内での結線パターンの最適化は、予め所定の直列数の制約条件の下で、可能性のある結線パターンを予め登録しておき、その中からアレイの最大出力が最大となるパターンを選択する方法や、自動的に結線パターンを逐次生成しながら最適な結線パターンを選択する方法でもよい。後者の方法としては、予め初期値となる結線状態をいくつか生成した後、遺伝的アルゴリズム、ニューラルネットワークによって最適な結線パターンを見出す手法などがある。
また、結線パターン選択部は、同じクラス内の太陽電池モジュールが全て直列に接続される結線パターンを選択してもよい。この方法では、クラス分けが終了した時点で、結線の最適化も完了しているため、演算が容易であるというメリットがある。
また、クラス分け部は、第1のクラスにおける太陽電池モジュールMのパラメータの標準偏差と、第2のクラスにおける太陽電池モジュールMのパラメータの標準偏差との合計値が、クラス分けを実施しないときの全太陽電池モジュールMの標準偏差を下回るようにクラス分けをしてもよい。