以下、本発明の一実施形態に係る太陽電池検査装置について図面を用いて説明する。図1は、この太陽電池検査装置の全体概略図である。太陽電池検査装置は、磁気センサ10を支持固定するセンサ支持台11を有し、センサ支持台11は、X方向スライド機構20によってX方向(紙面左右方向)に移動するとともに、Y方向スライド機構30によってY方向(紙面垂直方向)に移動する。センサ支持台11は、図2に詳細に示すように、方形状の平板で構成されて、上面にて磁気センサ10を支持固定する。このセンサ支持台11は、X方向スライド機構20の一部を構成する方形状の移動部材21により支持されている。この移動部材21には、センサ支持台11を上下に変位させて磁気センサ10の上下方向位置を調整する調整機構(図示しない)が設けられており、調整つまみ22の操作によりセンサ支持台11が上下方向に位置調整されるようになっている。
移動部材21の下面には、Y方向に所定の幅を有する凸部21aが設けられている。この凸部21aは、X方向に延設された支持部材23の上面に設けた溝23aに侵入して、溝23a内をX方向にスライドするようになっている。支持部材23の溝23a内には、X方向に延設されて移動部材21の凸部を貫通する雄ねじ24が収容されている。移動部材21の凸部21a内には、雄ねじ24に螺合した図示しないナットが組み込まれており、雄ねじ24の回転により、移動部材21がX方向に移動するようになっている。すなわち、雄ねじ24と移動部材21に組み込まれたナットにより、ボールねじ機構が構成されている。雄ねじ24の一端は、支持部材23の一端に組み付けたX方向モータ25の回転軸に連結され、雄ねじ24の他端は支持部材23の他端に回転可能に支持されている。これにより、X方向モータ25の回転により雄ねじ24が軸線周りに回転して、移動部材21、センサ支持台11及び磁気センサ10がX方向に移動する。
支持部材23のX方向の両端近傍部の下面には、X方向に所定の幅を有する凸部23b,23cがそれぞれ設けられている。これらの凸部23b、23cは、Y方向にそれぞれ延設された支持部材31,32の上面に設けた溝31a,32aに侵入して、溝31a,32a内をY方向にスライドするようになっている。支持部材31の溝31a内には、Y方向に延設されて支持部材23の凸部23bを貫通する雄ねじ33が収容されている。支持部材23の凸部23b内には、雄ねじ33に螺合した図示しないナットが組み込まれており、雄ねじ33の回転により、支持部材23がY方向に移動するようになっている。すなわち、雄ねじ33と支持部材23に組み込まれたナットにより、ボールねじ機構が構成されている。雄ねじ33の一端は、支持部材31の一端に組み付けたY方向モータ34の回転軸に連結され、雄ねじ33の他端は支持部材31の他端に回転可能に支持されている。これにより、Y方向モータ34の回転により雄ねじ33が軸線周りに回転して、支持部材23が移動部材21、センサ支持台11及び磁気センサ10と共にY方向に移動する。
また、この太陽電池検査装置は、太陽電池パネルSPを載置するための、ステージ40を備えている。ステージ40は、支持部材31,32の各端部から上方に延設された連結部41a,41b,41c,41dを介して、支持部材31,32の上方に配置された方形状の枠体42を有している。枠体42は、支持部材31,32の上方にそれぞれ位置する支持部42a,42bと、両支持部42a,42bの両端部をそれぞれ連結する支持部42c、42dとを備えている。支持部42a,42b,42cには、内側方向に突出して太陽電池パネルSPを載置する載置部が設けられている。支持部42a,42bには、移動載置部材43が両端部にてY方向に摺動可能に組み付けられている。この移動載置部材43にも、支持部42c方向に突出して太陽電池パネルSPを載置する載置部が設けられている。そして、太陽電池パネルSPを枠体42の支持部42a,42b,42c及び移動載置部材43上に載置した状態では、磁気センサ10が太陽電池パネルSPの下方に位置するようになっている。
X方向モータ25内には、X方向モータ25の回転を検出して、その回転を表す回転信号を出力するエンコーダ25aが組み込まれている。この回転信号は、X方向モータ25が所定の微少角度だけ回転するたびにハイレベルとローレベルとを交互に切替えるパルス列信号であって、回転方向を識別するために互いにπ/2だけ位相のずれたA相信号とB相信号とで構成される。回転信号は、X方向位置検出回路61及びX方向フィードモータ制御回路62に出力される。X方向位置検出回路61は、前記回転信号のパルス数をX方向モータ25の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値からX方向モータ25によるステージ40(太陽電池パネルSP)に対するセンサ支持台11のX方向位置(すなわち磁気センサ10のX方向位置)を検出し、検出したX方向位置をX方向フィードモータ制御回路62及び後述するコントローラ70に出力する。X方向フィードモータ制御回路62は、コントローラ70の指示により、X方向モータ25の駆動及び停止を制御する。このX方向モータ25の駆動時においては、X方向フィードモータ制御回路62は、エンコーダ25aからの回転信号を用いてX方向モータ25を所定の回転速度で回転させる。
X方向位置検出回路61におけるカウント値の初期設定は、電源投入時にコントローラ70の指示によって行われる。すなわち、コントローラ70は、電源投入時に、X方向フィードモータ制御回路62にセンサ支持台11の初期位置に対応したX方向限界位置への移動、及びX方向位置検出回路61に初期設定を指示する。この指示により、X方向フィードモータ制御回路62は、X方向モータ25を駆動してセンサ支持台11を初期位置に対応したX方向限界位置まで移動させる。X方向位置検出回路61は、センサ支持台11のX方向への移動中、X方向モータ25内のエンコーダ25aからの回転信号を入力し続けている。そして、センサ支持台11が初期位置に対応したX方向限界位置まで達してX方向モータ25の回転が停止すると、X方向位置検出回路61はエンコーダ25aからの回転信号の入力停止を検出して、カウント値を「0」にリセットする。このとき、X方向位置検出回路61は、X方向フィードモータ制御回路62に出力停止のための信号を出力し、これにより、X方向フィードモータ制御回路62はX方向モータ25への駆動信号の出力を停止する。その後に、X方向モータ25が駆動された際には、X方向位置検出回路61は、回転信号のパルス数をX方向モータ25の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値に基づいてセンサ支持台11のX方向位置を計算し、計算したX方向位置をX方向フィードモータ制御回路62及びコントローラ70に出力し続ける。
Y方向モータ34内には、Y方向モータ34の回転を検出して、前記X方向モータ25と同様に、その回転を表す回転信号を出力するエンコーダ34aが組み込まれている。この回転信号は、Y方向位置検出回路63及びY方向フィードモータ制御回路64に出力される。Y方向位置検出回路63は、前記回転信号のパルス数をY方向モータ34の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値からY方向モータ34によるセンサ支持台11のY方向位置(すなわち磁気センサ10のY方向位置)を検出し、検出したY方向位置をY方向フィードモータ制御回路64及びコントローラ70に出力する。Y方向フィードモータ制御回路64は、コントローラ70の指示により、前記X方向フィードモータ制御回路62の場合と同様に、Y方向モータ34の駆動及び停止を制御する。このY方向モータ34の駆動時においては、Y方向フィードモータ制御回路64は、エンコーダ34aからの回転信号を用いてY方向モータ34を所定の速度で回転させる。
Y方向位置検出回路63におけるカウント値の初期設定は、電源投入時にコントローラ70の指示によって行われる。すなわち、コントローラ70は、電源投入時に、Y方向フィードモータ制御回路64にセンサ支持台11の初期位置に対応したY方向限界位置への移動、及びY方向位置検出回路63に初期設定を指示する。この指示により、Y方向フィードモータ制御回路64は、Y方向モータ34を駆動してセンサ支持台11を初期位置に対応したY方向限界位置まで移動させる。Y方向位置検出回路63は、センサ支持台11のY方向への移動中、Y方向モータ34内のエンコーダ34aからの回転信号を入力し続けている。そして、センサ支持台11が初期位置に対応したY方向限界位置まで達してY方向モータ34の回転が停止すると、Y方向位置検出回路63はエンコーダ34aからの回転信号の入力停止を検出して、カウント値を「0」にリセットする。このとき、Y方向位置検出回路63は、Y方向フィードモータ制御回路64に出力停止のための信号を出力し、これにより、Y方向フィードモータ制御回路64はY方向モータ34への駆動信号の出力を停止する。その後に、Y方向モータ34が駆動された際には、Y方向位置検出回路63は、回転信号のパルス数をY方向モータ34の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値に基づいてセンサ支持台11のY方向位置を計算し、計算したY方向位置をY方向フィードモータ制御回路64及びコントローラ70に出力し続ける。
この太陽電池検査装置は、さらに、通電信号供給回路65、通電回路66、センサ信号取出回路67、ロックインアンプ68及びコントローラ70を備えている。通電信号供給回路65は、正弦波発振器及び矩形波変換回路を含み、コントローラ70によって作動制御されて、正弦波発振器によって発振される正弦波信号を通電信号として通電回路66に供給する。なお、通電信号は、「0」を基準に正負に変化する信号であり、その周波数は、例えば数10ヘルツから数100ヘルツ程度である。また、通電信号供給回路65は、前記正弦波信号からなる通電信号を矩形波変換回路による変換により、前記通電信号と同期して「0」を中心として正負に変化する矩形波信号を生成して、参照信号としてロックインアンプ68に出力する。
通電回路66も、コントローラ70によって作動制御されて、前記供給された通電信号に基づいて接続端子St1,St2を介して詳しくは後述する太陽電池パネルSPに通電する。この場合、通電回路66は、通電信号供給回路65から供給される「0」を基準に正負に変化する正弦波信号に正のオフセット電圧を加算して、前記オフセット電圧を中心に正弦波状に変化して常に正の範囲内で変化する通電信号に変換して、太陽電池パネルSPの接続端子St1に正側電圧としてそれぞれ供給する。一方、通電回路66の接地電圧は、太陽電池パネルSPの接続端子St2に負側電圧として供給される。すなわち、所定周波数の交流成分を重畳させた直流電圧が、太陽電池パネルSPの接続端子St1,St2間に印加される。
次に、磁気センサ10について説明しておく。磁気センサ10は、図3に示すように、X方向の磁界を検出するX方向磁気センサ10Aと、Y方向の磁界の変化を検出するY方向磁気センサ10Bとを備えている。X方向磁気センサ10Aは、抵抗r11,r12,r13及び磁気抵抗素子MR1からなるブリッジ回路で構成されており、抵抗r11,r13の接続点と、抵抗r12及び磁気抵抗素子MR1の接続点との間に、センサ信号取出回路67の後述する定電圧供給回路67aから電圧+V,−Vが印加されるようになっている。また、X方向磁気センサ10Aにおいては、抵抗r13及び磁気抵抗素子MR1の接続点と、抵抗r11,r12間の接続点との間の電圧をX方向磁気検出信号として出力する。抵抗r11,r12,r13の値は同じであり、磁界の強さが「0」であるときの磁気抵抗素子MR1の抵抗値に等しい。これにより、ほぼ「0」を基準としたX方向の磁界の正負の変化により、X方向磁気検出信号はほぼ「0」を基準にX方向の磁界の大きさに比例して正負に変化する電圧信号となる。
Y方向磁気センサ10Bは、抵抗r21,r22,r23及び磁気抵抗素子MR2からなるブリッジ回路で構成されており、抵抗r21,r22の接続点と、抵抗r23及び磁気抵抗素子MR2の接続点との間に、センサ信号取出回路67の後述する定電圧供給回路67bから電圧+V,−Vが印加されるようになっている。また、Y方向磁気センサ10Bにおいては、抵抗r22及び磁気抵抗素子MR2の接続点と、抵抗r21,r23間の接続点との間の電圧をY方向磁気検出信号として出力する。抵抗r21,r22,r23の値は同じであり、磁界の強さが「0」であるときの磁気抵抗素子MR2の抵抗値に等しい。これにより、ほぼ「0」を基準としたY方向の磁界の正負の変化により、Y方向磁気検出信号はほぼ「0」を基準にY方向の磁界の大きさに比例して正負に変化する電圧信号となる。
センサ信号取出回路67は、定電圧供給回路67a,67b及び増幅器67c,67dを備えている。定電圧供給回路67a,67bは、コントローラ70からの指示により、X方向磁気センサ10A及びY方向磁気センサ10Bに対して、定電圧+V,−Vを供給する。増幅器67c、67dは、X方向磁気検出信号及びY方向磁気検出信号をそれぞれ増幅してロックインアンプ68に出力する。
ロックインアンプ68は、図4に詳細に示すように、X方向磁気センサ10Aから増幅器67cを介して供給されるX方向磁気検出信号を入力するハイパスフィルタ68aと、Y方向磁気センサ10Bから増幅器67dを介して供給されるY方向磁気検出信号を入力するハイパスフィルタ68bとを備えている。ハイパスフィルタ68a,68bは、X方向磁気検出信号及びY方向磁気検出信号に含まれる、磁界の強さに比例した信号成分以外の不要な成分を取り除くとともに、信号をグランドレベルを中心に変化するようにする。
ハイパスフィルタ68aの出力は、増幅器68cを介して位相検波回路68d,68eに供給される。位相検波回路68d,68eは、それぞれ乗算器によって構成されている。位相検波回路68dは、ハイパスフィルタ68a及び増幅器68cを介して供給されるX方向磁気検出信号に、通電信号供給回路65からの参照信号を乗算してローパスフィルタ68fに出力する。位相検波回路68eは、ハイパスフィルタ68a及び増幅器68cを介して供給されるX方向磁気検出信号に、通電信号供給回路65からの参照信号を位相シフト回路68gで90度位相を遅らせた遅延参照信号を乗算してローパスフィルタ68hに出力する。これにより、ローパスフィルタ68fにはX方向磁気検出信号の通電信号(参照信号)と同期した成分が供給され、ローパスフィルタ68fは供給された成分信号をローパスフィルタ処理してX方向磁気検出信号の通電信号と同期した成分の大きさを表す信号を出力する。ローパスフィルタ68hにはX方向磁気検出信号の通電信号よりも90度位相を遅らせた信号(遅延参照信号)と同期した成分が供給され、ローパスフィルタ68hは供給された成分信号をローパスフィルタ処理してX方向磁気検出信号の通電信号よりも90度位相を遅らせた信号と同期した成分の大きさを表す信号を出力する。
ハイパスフィルタ68bの出力は、増幅器68iを介して位相検波回路68j,68kに供給される。位相検波回路68j,68kには、ローパスフィルタ68m,68nが接続されている。位相検波回路68j,68k及びローパスフィルタ68m,68nは、前述した位相検波回路68d,68e及びローパスフィルタ68f,68hと同様に構成されている。これにより、ローパスフィルタ68mにはY方向磁気検出信号の通電信号(参照信号)と同期した成分が供給され、ローパスフィルタ68mは供給された成分信号をローパスフィルタ処理してY方向磁気検出信号の通電信号と同期した成分の大きさを表す信号を出力する。ローパスフィルタ68nにはY方向磁気検出信号の通電信号よりも90度位相を遅らせた信号(遅延参照信号)と同期した成分が供給され、ローパスフィルタ68nは供給された成分信号をローパス処理してY方向磁気検出信号の通電信号よりも90度位相を遅らせた信号と同期した成分の大きさを表す信号を出力する。ローパスフィルタ68f,68h,68m,68nは、A/D変換器68o,68p,68q,68rにそれぞれ接続されている。A/D変換器68o,68p,68q,68rは、所定の時間間隔ごとに、ローパスフィルタ68f,68h,68m,68nからの信号をそれぞれA/D変換してコントローラ70に供給する。
ふたたび図1の説明に戻り、コントローラ70は、CPU、ROM、RAMを備えたマイクロコンピュータと、ハードディスクや不揮発性メモリなどの記憶装置と、入出力インタフェース等から構成される電子制御装置である。コントローラ70は、記憶装置に記憶された図5A及び図5Bのデータ取得プログラム及び図6A乃至図6Hの評価プログラムを実行してこの太陽電池検査装置の動作を制御する。コントローラ70には、作業者が各種パラメータや処理等を指示するための入力装置71と、作業者に対して作動状況等を視覚的に知らせるための表示装置72とが接続されている。
次に、太陽電池パネルSPについて説明しておく。太陽電池パネルSPは、図7に示すように、マトリクス状に配置された多数の太陽電池セルSCが、基板80上に固定されている。本実施形態では、X方向にtmax個、Y方向にsmax個の太陽電池セルSCが配置されているものとする。各太陽電池セルSCには様々な構造があるが、図8Aの拡大概略断面図に示すように、裏面電極81、p+形層82、p形層83、n形層84及び反射防止膜85を積層して構成されている。また、太陽電池セルSCは、平板状かつ長尺状に形成され等間隔で横方向に配列された複数のグリッド電極(受光面電極)86を備え、グリッド電極86の下端面はn形層84に接続されて上端面を上方に突出させている。複数のグリッド電極86の上端面には、棒状に形成した一対のバスバー電極87がそれらの下面にて接続されている。
そして、Y方向に配置されたsmax個の太陽電池セルSCは直列に接続され、この直列に接続されたsmax個の太陽電池セルSCからなるtmax組の太陽電池セルSC群がそれぞれ並列に接続されている。この場合、Y方向に配置されたsmax個の太陽電池セルSCにおいては、図8Bに示すように、隣の太陽電池セルSCのバスバー電極87を接続線88を介して裏面電極81に接続するようにしている。また、直列に接続されたsmax個の太陽電池セルSCからなるtmax組の太陽電池セルSC群においては、具体的には、太陽電池セルSC群のY方向一端の太陽電池セルSCの裏面電極81が接続線89aによって共通に接続されるとともに、Y方向他端の太陽電池セルSCのバスバー電極87が接続線89bによって共通に接続されている。そして、接続線89a,89bの出力端は、接続端子St1,St2に接続されている。なお、太陽電池セルSCの接続方法においては、X方向の複数列の太陽電池セルSCを直列に接続してもよい。
次に、上記のように構成した太陽電池検査装置の動作について説明する。作業者は、図7に示すように、検査対象となる太陽電池パネルSPの接続端子St1,St2を導線L1,L2を介して通電回路66に接続して、ステージ40の枠体42上に載置する。この場合、太陽電池パネルSPのX−Y平面の原点となる位置(後述するプログラムで変数n,mが共に「1」となる位置)の近傍のコーナーを、枠体42のコーナーの一つ(本実施形態では図2の右下に位置するコーナー)に合わせ、移動載置部材43を移動させて太陽電池パネルSPを固定する。この状態で、太陽電池検査装置の電源が投入されると、上述したように、コントローラ70の指示により、X方向フィードモータ制御回路62及びY方向フィードモータ制御回路64はセンサ支持台11(すなわち磁気センサ10)をX方向及びY方向の限界位置に移動させるとともに、X方向位置検出回路61及びY方向位置検出回路63は検出されるX方向位置及びY方向位置を初期値に設定する。
その後、作業者は、入力装置71を操作することにより、太陽電池パネルSPの計測に必要なパラメータを入力する。この場合、必要なパラメータとしては、太陽電池セルSCのX方向及びY方向の数tmax,smax、各太陽電池セルSCのX方向及びY方向の長さ、各太陽電池セルSC内のバスバー電極87の数(図7に示す太陽電池セルSCにおいては2個)などである。この入力されたパラメータは、コントローラ70に記憶される。また、後述するデータ処理プログラムや評価プログラムにて使用されるX方向終了位置Xmax、Y方向終了位置Ymax、値Nn、値Nm、値ce等のパラメータが、この入力されたパラメータから計算されて記憶される。
次に、作業者は、入力装置71の操作により、コントローラ70に図5A及び図5Bのデータ取得プログラムの実行を開始させる。すなわち、太陽電池パネルSPの計測の開始をコントローラ70に指示する。この指示に応答して、コントローラ70は、図5AのステップS10にてデータ取得プログラムの実行を開始し、ステップS11にて変数nを「0」に初期設定するとともに、変数m,aをそれぞれ「1」に初期設定する。変数n,mは、太陽電池パネルSPに対する磁気センサ10の走査位置を示す変数である。なお、磁気センサ10は、図9に示すように、まず、X方向に初期値Xsによって表される開始位置から終了値Xmaxによって表される終了位置を越えるまで所定の微小値ΔXずつ移動制御される。そして、X方向の終了位置に達すると、磁気センサ10はY方向に所定の微小値ΔYだけ移動制御され、その後に、X方向の終了位置からX方向の開始位置まで微小値ΔXずつ移動制御される。そして、ふたたび、磁気センサ10はY方向に微小値ΔYだけ移動制御されて、X方向の開始位置から終了位置まで微小値ΔXずつ移動制御される。このように、磁気センサ10は、X方向に往復運動しながらY方向に移動して、太陽電池パネルSPを走査する。なお、微小値ΔX,ΔYは、太陽電池セルSCの縦横の長さに比べて極めて小さい。変数aは、「1」により磁気センサ10の中心位置がX軸方向正側に移動している状態を表し、「−1」により磁気センサ10の中心位置がX軸方向負側に移動している状態を表している。以降、この磁気センサ10の中心位置を検査位置という。
前記ステップS11の処理後、コントローラ70は、ステップS12にて、X方向フィードモータ制御回路62に対して磁気センサ10をX軸方向に移動して検査位置がX軸方向の初期値Xsによって表される初期位置になるように指示するとともに、Y方向フィードモータ制御回路64に対して磁気センサ10をY軸方向に移動して検査位置がY軸方向の初期値Ysによって表される初期位置になるように指示する。この指示に応答して、X方向フィードモータ制御回路62は、X方向位置検出回路61からX方向検出位置(X軸方向の検査位置すなわち測定位置)を入力しながら、X方向検出位置が初期値Xsに一致するまでX方向モータ25を駆動制御する。Y方向フィードモータ制御回路64は、Y方向位置検出回路63からY方向検出位置(Y軸方向の検査位置すなわち測定位置)を入力しながら、Y方向検出位置が初期値Ysに一致するまでY方向モータ34を駆動制御する。
ステップS12の処理後、コントローラ70は、ステップS13にて通電信号供給回路65の作動開始を指示する。この指示に応答して、通電信号供給回路65は、正弦波状の通電信号を通電回路66に供給するとともに、前記通電信号と同期した矩形波状の参照信号をロックインアンプ68に供給し始める。次に、コントローラ70は、ステップS14にて通電回路66の作動開始を指示する。この指示に応答して、通電回路66は、前記供給された通電信号に応じて正の範囲内で正弦波状に変化する通電信号により、太陽電池パネルSPに接続端子St1,St2を介して通電を開始する。次に、コントローラ70は、ステップS15にてセンサ信号取出回路67の作動開始を指示する。この指示に応答して、センサ信号取出回路67内の定電圧供給回路67a,67bは、X方向磁気センサ10A及びY方向磁気センサ10Bに定電圧信号+V,−Vを供給し始める。これにより、X方向磁気センサ10A及びY方向磁気センサ10BによるX方向磁気検出信号及びY方向磁気検出信号が、増幅器67c,67dを介してロックインアンプ68にそれぞれ供給され始める。
このX方向磁気検出信号及びY方向磁気検出信号について説明する。通電回路66による通電により、各太陽電池セルSCの表面には接続端子St1,St2を介して電流が流れ、太陽電池パネルSPのX−Y平面近傍には、前記電流による磁界が発生する。そして、X方向磁気センサ10Aは、X方向の磁界Hの大きさに比例した電圧をX方向磁気検出信号として出力し始める。また、Y方向磁気センサ10Bは、Y方向の磁界Hの大きさに比例した電圧をY方向磁気検出信号として出力し始める。これらのX方向磁気検出信号及びY方向磁気検出信号は、前記通電回路66から供給される電流の大きさが正弦波状に変化するので、正弦波状に変化する信号である。ただし、X方向磁気検出信号及びY方向磁気検出信号の位相は、通電回路66から出力される正弦波状の通電信号とは若干異なる。
ロックインアンプ68においては、入力されたX方向磁気検出信号がハイパスフィルタ68a及び増幅器68cを介して位相検波回路(乗算器)68d,68eにそれぞれ供給されるとともに、入力されたY方向磁気検出信号がハイパスフィルタ68b及び増幅器68iを介して位相検波回路(乗算器)68j,68kにそれぞれ供給される。位相検波回路68d,68jには、通電信号供給回路65からの矩形波状の参照信号が供給されている。また、位相検波回路68e,68kには、前記参照信号の位相を位相シフト回路68gで90度遅らせた遅延参照信号が供給されている。そして、位相検波回路68d,68eは、増幅器68cを介して供給されたX方向磁気検出信号に参照信号及び遅延参照信号をそれぞれ乗算して、乗算した信号をローパスフィルタ68f,68hを介してA/D変換器68o,68pにそれぞれ供給する。位相検波回路68j,68kは、増幅器68cを介して供給されたY方向磁気検出信号に参照信号及び遅延参照信号をそれぞれ乗算して、乗算した信号をローパスフィルタ68m,68nを介してA/D変換器68q,68rにそれぞれ供給する。
ここで、ローパスフィルタ68f,68h,68m,68nは供給された信号の成分の大きさを表す信号すなわち正弦波状の信号の振幅に比例した大きさを表す信号を出力するように機能する。したがって、A/D変換器68oには、X方向磁気検出信号の参照信号(すなわち通電信号)に同期した信号成分の大きさを表す信号が供給される。A/D変換器68pには、X方向磁気検出信号の参照信号から90度だけ位相の遅れた信号成分の大きさを表す信号が供給される。A/D変換器68qには、Y方向磁気検出信号の参照信号に同期した信号成分の大きさを表す信号が供給される。A/D変換器68rには、Y方向磁気検出信号の参照信号から90度だけ位相の遅れた信号成分の大きさを表す信号が供給される。そして、A/D変換器68o,68p,68q,68rは、それぞれ供給された信号を所定時間ごとにサンプリングしてA/D変換し、A/D変換したサンプリングデータをコントローラ70に供給する。したがって、コントローラ70には前記各信号成分の所定時間ごとの大きさを表すサンプリングデータが所定時間ごとに供給されるようになる。
前記ステップS15の処理後、コントローラ70は、ステップS16にて変数nに変数aを加算する。この場合、ステップS16の処理前の変数nは「0」であり、変数aは「1」であるので、変数nは「1」に変更される。前記ステップS16の処理後、コントローラ70は、ステップS17にて、ロックインアンプ68のA/D変換器68o,68p,68q,68rから供給されるサンプリングデータを取込み、ステップS18にて取込んだ各サンプリングデータの数が所定数Kに達したか否かを判定する。この所定数Kは、例えば数個から数十個の各サンプリングデータの数を表す値に設定されている。各サンプリングデータの数が所定数Kに達していなければ、コントローラ70は、ステップS18にて「No」と判定して、ステップS17にてA/D変換器68o,68p,68q,68rから次に出力されるサンプリングデータを取込む。そして、A/D変換器68o,68p,68q,68rから取込んだ各サンプリングデータの数が所定数Kに達すると、コントローラ70は、ステップS18にて「Yes」と判定して、ステップS19以降の処理を実行する。ステップS17にて取込まれたサンプリングデータは、変数n,mによって指定されるサンプリングデータ群として、RAMに記憶される。
具体的には、A/D変換器68oから取込んだ所定数Kのサンプリングデータ、すなわちX方向磁気検出信号の参照信号と同期した信号成分の大きさを表す所定数Kのデータは、サンプリングデータ群Sx1(n,m)としてRAMに記憶される。A/D変換器68pから取込んだ所定数Kのサンプリングデータ、すなわちX方向磁気検出信号の遅延参照信号と同期した信号成分の大きさを表す所定数Kのデータは、サンプリングデータ群Sx2(n,m)としてRAMに記憶される。A/D変換器68pから取込んだ所定数Kのサンプリングデータ、すなわちY方向磁気検出信号の参照信号と同期した信号成分の大きさを表す所定数Kのデータは、サンプリングデータ群Sy1(n,m)としてRAMに記憶される。A/D変換器68rから取込んだ所定数Kのサンプリングデータ、すなわちY方向磁気検出信号の遅延参照信号と同期した信号成分の大きさを表す所定数Kのデータは、サンプリングデータ群Sy2(n,m)としてRAMに記憶される。なお、この場合の変数n,mは、共に「1」である。
前記ステップS17,S18の処理後、コントローラ70は、ステップS19にて変数aが「1」であるか否かを判定する。変数aは「1」に初期設定されているので、この場合、コントローラ70は、ステップS19にて「Yes」と判定して、ステップS20にて、値Xs+n・ΔXがX軸方向の終了値Xmaxよりも大きいか否かを判定する。値Xs+n・ΔXは、X軸方向の走査間隔を表す所定値ΔXに変数nを乗算して初期値Xsを加算した値であり、次のX軸方向の検出位置(X軸方向の走査位置すなわち測定位置)を表す値(図9参照)である。値Xs+n・ΔXが終了値Xmax以下であれば、コントローラ70は、ステップS20にて「No」と判定して、ステップS21にて、X方向フィードモータ制御回路62に、磁気センサ10の中心位置をX軸方向正側に移動させるように指示する。これにより、X方向フィードモータ制御回路62は、X方向モータ25を作動させて磁気センサ10の中心位置をX軸方向正側に移動させ始める。
次に、コントローラ70は、ステップS22にてX方向位置検出回路61からX方向位置を入力し、ステップS23にて入力したX方向位置が次のX軸方向の検出位置に達したか否か、すなわちX方向位置を示す値が値Xs+n・ΔX以上になったか否かを判定する。そして、X方向位置検出回路61から入力したX方向位置が次のX軸方向の検出位置に達するまで、コントローラ70は、ステップS23にて「No」と判定し続けて、ステップS22,S23の処理を繰り返し実行する。X方向位置検出回路61から入力したX方向位置が次のX軸方向の検出位置に達すると、コントローラ70は、ステップS23にて「Yes」と判定し、ステップS24にてX方向フィードモータ制御回路62に、磁気センサ10のX軸方向正側への移動を停止させることを指示する。これにより、X方向フィードモータ制御回路62は、X方向モータ25の作動を停止させて、磁気センサ10のX軸方向正側への移動を停止させる。その結果、磁気センサ10は、値Xs+n・ΔXで表されたX軸方向位置、かつY軸方向初期値Ysを磁気センサ10の検出位置として、太陽電池パネルSPの磁界を検出し始める。
前記ステップS24の処理後、コントローラ70は、ステップS16に戻って、ステップS16の処理によって変数nに変数a(この場合、a=1)を加算して、前述のステップS17,S18のサンプリングデータの取込み処理を実行する。これらのステップS17,S18の処理により、値Xs+(n−1)・ΔXで表されたX軸方向位置、かつY軸方向初期値Ysを検出位置とする磁気センサ10の磁界検出によるサンプリングデータがRAMに新たに記憶される。具体的には、X方向磁気検出信号の参照信号及び遅延参照とそれぞれ同期した信号成分の大きさを表す所定数Kのサンプリングデータが、サンプリングデータ群Sx1(n,m),Sx2(n,m)としてRAMに記憶される。また、Y方向磁気検出信号の参照信号及び遅延参照信号とそれぞれ同期した信号成分の大きさを表す所定数Kのサンプリングデータが、サンプリングデータ群Sy1(n,m),Sy2(n,m)としてRAMに記憶される。なお、この場合の変数nは「2」であり、変数mは「1」である。
そして、コントローラ70は、次のX軸方向の検出位置(X軸方向の走査位置)を表す値Xs+n・ΔXが終了値Xmaxよりも大きくなるまで、ステップS16〜S24の処理により、磁気センサ10による検出位置をX軸方向正側に所定値ΔXずつ移動させるとともに、変数nを「1」ずつ増加させながら、サンプリングデータを取込む。そして、次のX軸方向の検出位置を表す値Xs+n・ΔXが終了値Xmaxよりも大きくなると、コントローラ70は、ステップS20にて「Yes」と判定して、プログラムを図5BのステップS30に進める。この状態では、サンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)(n=1,2,3・・・nmax,m=1)がRAMに記憶される。なお、値nmaxは、終了値Xmax直前の検出位置によるサンプリングデータ群に関する変数nの値であって、X軸方向における検出位置の数を表している。
コントローラ70は、ステップS30において、Y方向フィードモータ制御回路64に、磁気センサ10による検出位置をY軸方向正側に移動させるように指示する。これにより、Y方向フィードモータ制御回路64は、Y方向モータ34を作動させて磁気センサ10による検出位置をY軸方向正側に移動させ始める。次に、コントローラ70は、ステップS31にてY方向位置検出回路63からY方向位置を入力し、ステップS32にて入力したY方向位置が次のY軸方向の検出位置Ys+m・ΔYに達したか否かを判定する。この次のY軸方向の検出位置Ys+m・ΔYは、X軸方向の次の検出位置Xs+n・ΔXと同様に、Y軸方向の走査間隔を表す所定値ΔYに変数mを乗算して初期値Ysを加算した値である(図9参照)。そして、Y方向位置検出回路63から入力したY方向位置が次のY軸方向の検出位置に達するまで、コントローラ70は、ステップS32にて「No」と判定し続けて、ステップS31,S32の処理を繰り返し実行する。Y方向位置検出回路63から入力したY方向位置が次のY軸方向の検出位置に達すると、コントローラ70は、ステップS32にて「Yes」と判定し、ステップS33にてY方向フィードモータ制御回路64に、磁気センサ10のY軸方向正側への移動を停止させることを指示する。これにより、Y方向フィードモータ制御回路64は、Y方向モータ34の作動を停止させて、磁気センサ10検出位置のY軸方向正側への移動を停止させる。その結果、磁気センサ10は、値Xs+(n-1)・ΔX(=Xs+(nmax-1)・ΔX)で表されたX軸方向位置、かつ値Ys+m・ΔY(=Ys+ΔY)で表されたY軸方向位置を検出位置として、太陽電池パネルSPの表面近傍の磁界を検出し始める。
前記ステップS33の処理後、コントローラ70は、ステップS34にて、Y方向位置検出回路63からY方向位置を入力して、入力したY方向位置が終了値Ymaxによって表されたY軸方向の走査終了位置を越えたか否かを判定する。Y方向位置が走査終了位置を越えていなければ、コントローラ70は、ステップS34にて「No」と判定して、ステップS35にて変数mに「1」を加算し、ステップS36にて変数aに「−1」を乗算する。この場合、ステップS35の処理によって変数mは「2」になり、ステップS36の処理によって変数aは「−1」になる。また、変数nは値nmaxに保たれている。前記ステップS36の処理後、コントローラ70は、ステップS17に戻って、ステップS17,S18の処理より、K個ずつの各サンプリングデータ群Sx1(nmax,2),Sx2(nmax,2),Sy1(nmax,2),Sy2(nmax,2)をロックインアンプ68からそれぞれ取込み記憶する。
前記ステップS17,S18の処理後、コントローラ70は、ステップS19にて変数aは「1」であるか否かを判定する。この場合、前記ステップS36の処理によって変数aは「−1」に設定されているので、コントローラ70は、ステップS19にて「No」と判定して、ステップS25にて、値Xs+(n−2)・ΔXがX軸方向の初期値Xsよりも小さいか否かを判定する。この場合、変数nはnmaxであり、値Xs+(n−2)・ΔXは、太陽電池パネルSPの図9における右端から2番目の検出位置を左側へ移動させた際における次のX軸方向の検出位置(X軸方向の走査位置)を表す値である。値Xs+(n−2)・ΔXが初期値Xsよりも小さくなければ、コントローラ70は、ステップS25にて「No」と判定して、ステップS26にて、X方向フィードモータ制御回路62に、磁気センサ10による検出位置をX軸方向負側に移動させるように指示する。これにより、X方向フィードモータ制御回路62は、X方向モータ25を作動させて磁気センサ10による検出位置をX軸方向負側に移動させ始める。
次に、コントローラ70は、ステップS27にてX方向位置検出回路61からX方向位置を入力し、ステップS28にて入力したX方向位置が次のX軸方向の検出位置に達したか否か、すなわちX方向位置を示す値が値Xs+(n−2)・ΔX以下になったか否かを判定する。そして、X方向位置検出回路61から入力したX方向位置が次のX軸方向の検出位置に達するまで、コントローラ70は、ステップS28にて「No」と判定し続けて、ステップS27,S28の処理を繰り返し実行する。X方向位置検出回路61から入力したX方向位置が次のX軸方向の検出位置に達すると、コントローラ70は、ステップS28にて「Yes」と判定し、ステップS29にてX方向フィードモータ制御回路62に、検出位置のX軸方向負側への移動を停止させることを指示する。これにより、X方向フィードモータ制御回路62は、X方向モータ25の作動を停止させて、磁気センサ10による検出位置のX軸方向負側への移動を停止させる。その結果、磁気センサ10は、値Xs+(n−2)・ΔX(=Xs+(nmax−2)・ΔX)で表されたX軸方向位置、かつ値Ys+(m−1)・ΔYs(=Ys+ΔYs)で表されたY軸方向位置を検出位置として、太陽電池パネルSPの表面近傍の磁界を検出し始める。
前記ステップS29の処理後、コントローラ70は、ステップS16に戻って、ステップS16の処理によって変数nに変数a(この場合、a=−1)を加算して、前述のステップS17,S18のサンプリングデータの取込み処理を実行する。これらのステップS17,S18の処理により、前記ステップS16の処理前の値Xs+(n−2)・ΔX(=Xs+(nmax−2)・ΔX)で表されたX軸方向位置、かつ値Ys+(m−1)・ΔYs(=Ys+ΔYs)で表されたY軸方向位置を検出位置とするK個ずつの各サンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)が取込み記憶される。なお、この取込み記憶されるサンプリングデータ群に関する変数nは値nmax−1であり、変数mは「2」である。
そして、コントローラ70は、次のX軸方向の検出位置(X軸方向の走査位置)を表す値Xs+(n−2)・ΔXが初期値Xsよりも小さくなるまで、ステップS16〜S19,S25〜S29の処理により、検出位置をX軸方向負側に所定値ΔXずつ移動させるとともに、変数nを「1」ずつ減少させながら、サンプリングデータを取込む。そして、次のX軸方向の検出位置を表す値Xs+(n−2)・ΔXが初期値Xsよりも小さくなると、コントローラ70は、ステップS25にて「Yes」と判定して、図5BのステップS30に進む。なお、このときの変数nは「1」である。この状態では、前述したサンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)(n=1,2,3・・・nmax,m=1)に加えて、サンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)(n=1,2,3・・・nmax,m=2)がRAMに記憶される。
コントローラ70は、前述したステップS30〜S33の処理により、Y方向モータ34を作動させて磁気センサ10による検出位置を次のY軸方向検出位置Ys+m・ΔYに移動させる。その結果、磁気センサ10は、初期値Xsで表されたX軸方向の初期位置、かつ値Ys+m・ΔY(=Ys+2・ΔY)で表されたY軸方向位置を検出位置として、太陽電池パネルSPの表面近傍の磁界を検出し始める。次に、コントローラ70は、Y方向位置検出回路63によって検出されたY方向位置が終了位置を越えていないことを条件に、コントローラ70は、ステップS34にて「No」と判定して、ステップS35にて変数mに「1」を加算し、ステップS36にて変数aに「−1」を乗算する。この場合、ステップS35の処理によって変数mは「3」になり、ステップS36の処理によって変数aは「1」になる。また、変数nは「1」に保たれている。前記ステップS36の処理後、コントローラ70は、ステップS17に戻って、ステップS17,S18の処理より、K個ずつの各サンプリングデータ群Sx1(1,3),Sx2(1,3),Sy1(1,3),Sy2(1,3)をロックインアンプ68からそれぞれ取込み記憶する。
前記ステップS17,S18の処理後、コントローラ70は、ステップS19にて変数aは「1」であるか否かを判定する。この場合、前記ステップS36の処理によって変数aは「1」に設定されているので、コントローラ70は、ステップS19にて「Yes」と判定して、前述したステップS20〜S24,S16〜S19の処理を、値Xs+n・ΔXが終了値Xmaxよりも大きくなるまで繰り返し実行する。これにより、磁気センサ10による検出位置がX軸方向正側に走査されて、サンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)(n=1,2,3・・・nmax,m=3)がRAMに新たに記憶される。
そして、変数mを「3」に設定した状態で、磁気センサ10の検出位置のX軸方向正側への走査が終了すると、ステップS20の判定処理により、ステップS30〜S36の処理が実行されて、磁気センサ10による検出位置が次のY軸方向位置に変更されるとともに、変数m,aが変更される。そして、前述したステップS16〜S19,S25〜S29の処理により、磁気センサ10による検出位置がX軸方向負側へ走査され、サンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)(n=1,2,3・・・nmax,m=4)がRAMに新たに記憶される。
このようなステップS16〜S36の処理により、磁気センサによる検出位置がX軸方向を往復するように走査されるとともにY軸方向正側に走査されて、Y方向位置検出回路63によって検出されるY方向位置が終了値Ymaxよりも大きくなると、コントローラ70は、ステップS34にて「Yes」と判定して、ステップS37以降の処理を実行する。この状態では、RAM内に、K個ずつの各サンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)(n=1〜nmax,m=1〜mmax)が記憶されている。なお、値mmaxは、終了値Ymax直前の検出位置によるサンプリングデータ群に関する変数mの値であって、Y軸方向における検出位置の数を表している。
コントローラ70は、ステップS37にてセンサ信号取出回路67の作動停止を指示し、ステップS38にて通電回路66の作動停止を指示し、ステップS39にて通電信号供給回路65の作動停止を指示する。これらの作動停止の指示により、通電信号供給回路65、通電回路66、センサ信号取出回路67、ロックインアンプ68及び磁気センサ10の作動が停止する。前記ステップS39の処理後、コントローラ70は、ステップS40にて、センサ支持台11をX方向駆動限界位置まで移動させることをX方向位置検出回路61及びX方向フィードモータ制御回路62に指示するとともに、センサ支持台11をY方向駆動限界位置まで移動させることをY方向位置検出回路63及びY方向フィードモータ制御回路64に指示して、ステップS41にてデータ取得プログラムの実行を終了する。X方向フィードモータ制御回路62は、前述の初期設定のように、X方向位置検出回路61と協働して、センサ支持台11をX方向駆動限界位置まで移動させる。Y方向フィードモータ制御回路64は、前述のように、Y方向位置検出回路63と協働して、センサ支持台11をY方向駆動限界位置まで移動させる。
次に、前記データ取得プログラムで取得した所定数Kずつのサンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)(n=1〜nmax,m=1〜mmax)を用いて、太陽電池パネルSPを評価する方法について説明する。この場合、作業者は、入力装置71を操作して、コントローラ70に図6A乃至図6Hの評価プログラムを実行させる。この評価プログラムにおいては、太陽電池パネルSPの合否判定が行われたり、作業者が太陽電池パネルSPの合否を判定するために、太陽電池パネルSPのX−Y座標の各点における電流の大きさと向きである電流分布の画像が表示装置72に表示される。そこで、評価プログラムを説明する前に、太陽電池セルSCの電極に異常が発生した場合における電流分布について説明しておく。
図10Aは、太陽電池セルSCの電極の1つが断線している場合における電流の大きさの分布の実験結果を示している。(A)は、1つの太陽電池セルSCに着目して、通電回路66を一対の裏面電極81,81(裏面電極側端子81a,81aを図示)と一対のバスバー電極87,87に接続した等価回路を示している。なお、電流の方向は、図示下方向及び左方向を正とする。この状態で、図示左側のバスバー電極87に流れる電流の大きさは、Y方向位置において次のように変化する。まず、断線が生じていない場合には、図示左側のバスバー電極87に流れる電流の大きさの分布は、(B)のAに示すように、Y方向位置が変化してもほぼ一定となった。一方、バスバー電極87側を断線させた場合((A)のB断線)、図示左側のバスバー電極87に流れる電流の大きさは、(B)のBに示すように、断線箇所に近い下部であるY方向位置では小さく、上方に向かうに従って大きくなる。また、裏面電極側端子81a側を断線させた場合((A)のC断線)、図示左側のバスバー電極87に流れる電流の大きさは、(B)のCに示すように、断線箇所に遠い下部であるY方向位置では大きく、上方に向かうに従って小さくなる。これらは、断線箇所に近い位置の電流が流れ難く、断線した位置から離れるに従って、グリッド電極86などを介して流れ込む電流が増加するためであると推定される。
(C)は、前述したA,B,Cの条件下で、右側のバスバー電極87に流れる電流の大きさのY方向における分布を示している。この場合、(B)の場合とは逆に、左側のバスバー電極87の断線箇所に近いY方向位置の電流の大きさは大きく、前記断線箇所から離れたY方向位置ほど電流の大きさは小さくなる。これは、左側のバスバー電極87を流れることができなくなった分の電流が右側のバスバー電極87に流れ込んでいるためと推定される。このように、バスバー電極87側及び裏面電極側端子81a側を断線させた場合には、左側及び右側のバスバー電極87,87に流れる電流の大きさは、断線してない場合に比べて極めて大きく変化することが分かる。なお、前記説明では、電流の大きさ(電流の絶対値)の変化について説明したが、バスバー電極87内を流れる電流の向きはほぼY方向であるので、Y方向の電流の大きさを用いても同じ結果が得られる。
また、(D)は、前述したA,B,Cの条件下で、左右のバスバー電極87,87間に流れる電流の大きさのX方向における分布を示している。この場合の電流分布は、左右のバスバー電極87,87の長尺方向全体にわたるX方向の電流分布の平均値又はバスバー電極の87,87の長尺方向の中間位置のX方向の電流分布である。この電流には、グリッド電極86にX方向に流れる電流に加えて、太陽電池セルSCの表面に流れる面電流も含まれる。正常な場合、バスバー電極87,87間にはほとんど電流が流れていない。一方、B断線の場合には、負方向(すなわち右方向)の電流が流れている。また、C断線の場合には、正方向(すなわち左方向)の電流が流れている。これらは、断線により流れることができなくなった分の電流がバスバー電極87,87間に流れるためと推定される。このように、前記断線により、バスバー電極87,87間に流れる電流の大きさも、正常な場合に比べて大きく変化する。また、このバスバー電極87,87間を流れる電流の向きはX方向である傾向が強いので、X方向の電流の大きさを用いても同じ結果が得られる。
図10Bは、太陽電池セルSCの左側のバスバー電極87の接触抵抗rが大きい場合における電流の大きさの分布の実験結果を示している。(A)は、1つの太陽電池セルSCに着目して、左右のバスバー電極87,87間に抵抗を接続した等価回路を示している。この場合、接触抵抗rを、左右のバスバー電極87,87間に、50cm及び150cmの電線を接続することにより実現している。なお、左右のバスバー電極87,87間の距離は、例えば5cmである。また、この場合も、電流の方向は、図示下方向及び左方向を正とする。このような接触抵抗rにより、図示左側のバスバー電極87に流れる電流の大きさは、Y方向位置において次のように変化する。まず、正常時(左右のバスバー電極87,87が通常に接続されている場合)には、図示左側のバスバー電極87に流れる電流の大きさの分布は、(B)のAに示すように、Y方向位置が変化してもほぼ一定となった。一方、左右のバスバー電極87,87間に50cmの電線を接続した場合には、図示左側のバスバー電極87に流れる電流の大きさは、(B)のBに示すように、接触抵抗rが大きい下部であるY方向位置では小さく、上方に向かうに従って大きくなる。また、左右のバスバー電極87,87間に150cmの電線を接続した場合には、図示左側のバスバー電極87に流れる電流の大きさは、(B)のCに示すように、接触抵抗rが大きい下部であるY方向位置ではさらに小さくなる。これらは、接触抵抗rが大きくて電流が流れ難い位置の電流が小さくなり、前記電流が流れ難い位置から離れるに従って、グリッド電極86などを介して流れ込む電流が増加するためであると推定される。そして、この電流の変化は、前記図10Aの断線の場合に比べて小さいものである。
(C)は、前述したA,B,Cの条件下で、右側のバスバー電極87に流れる電流の大きさのY方向における分布を示している。この場合も、(B)の場合とは逆に、左側のバスバー電極87の接触抵抗rの大きなY方向位置の電流の大きさは大きく、前記断線箇所から離れたY方向位置ほど電流の大きさは小さくなる。この場合も、左側のバスバー電極87を流れることができなくなった分の電流が右側のバスバー電極87に流れ込んでいるためと推定される。このように、バスバー電極87側の接触抵抗が大きくなった場合も、前記断線の場合よりはその変化は小さいが、左側及び右側のバスバー電極87,87に流れる電流の大きさは、接触抵抗が正常な場合に比べて極めて大きく変化することが分かる。また、裏面電極81側の接触抵抗が大きくなった場合も、同様な現象が現われる。なお、この場合も、前記説明では、電流の大きさ(電流の絶対値)の変化について説明したが、バスバー電極87内を流れる電流の向きはほぼY方向であるので、Y方向の電流の大きさを用いても同じ結果が得られる。
また、(D)は、前述したA,B,Cの条件下で、左右のバスバー電極87,87間に流れる電流の大きさのX方向における分布を示している。この場合の電流分布も、左右のバスバー電極87,87の長尺方向全体にわたるX方向の電流分布の平均値又はバスバー電極の87,87の長尺方向の中間位置のX方向の電流分布である。この電流にも、グリッド電極86にX方向に流れる電流に加えて、太陽電池セルSCの表面に流れる面電流も含まれる。正常な場合、バスバー電極87,87間にはほとんど電流が流れていない。一方、左右のバスバー電極87,87間に50cmの電線を接続した場合には、負方向(すなわち右方向)の電流が流れている。また、左右のバスバー電極87,87間に150cmの電線を接続した場合には、前記Bの場合よりも絶対値の大きな負方向(すなわち右方向)の電流が流れている。これは、接触抵抗rにより流れることができなくなった分の電流がバスバー電極87,87間に流れるためと推定される。このように、電極の接触抵抗が大きくなった場合も、前記断線の場合よりはその変化は小さいが、バスバー電極87,87間に流れる電流の大きさも、正常な場合に比べて大きく変化する。また、このバスバー電極87間を流れる電流の向きはX方向である傾向が強いので、X方向の電流の大きさを用いても同じ結果が得られる。
図10Cは、太陽電池セルSCのバスバー電極87とグリッド電極86との間に接触不良が生じている場合における電流の大きさの分布の実験結果を示している。(A)は、1つの太陽電池セルSCに着目して、左側のバスバー電極87が図示上部位置(図示×印位置)にてグリッド電極86と接触不良である状態の等価回路を示している。なお、この場合も、電流の方向は、図示下方向及び左方向を正とする。この状態で、図示左側のバスバー電極87に流れる電流の大きさは、Y方向位置において次のように変化する。まず、バスバー電極87とグリッド電極86との間に接触不良が生じていない場合には、図示左側のバスバー電極87に流れる電流の大きさの分布は、(B)のAに示すように、若干は変化するもののY方向位置が変化してもほぼ一定となった。一方、バスバー電極87とグリッド電極86との間に接触不良が生じた場合、図示左側のバスバー電極87に流れる電流の大きさは、(B)のBに示すように、接触不良位置から遠い下部であるY方向位置では大きく、接触不良位置である上方に向かうに従って小さくなる。これは、接触不良位置では、バスバー電極87に流れる電流が減少するためであると推定される。
(C)は、前述したA,Bの条件下で、右側のバスバー電極87に流れる電流の大きさのY方向における分布を示している。この場合、(B)の場合とは逆に、左側のバスバー電極87の接触不良に近い上部であるY方向位置の電流の大きさは大きく、前記接触不良箇所から離れたY方向位置ほど電流の大きさは小さくなる。これは、左側のバスバー電極87を流れることができなくなった分の電流が右側のバスバー電極87に流れ込んでいるためと推定される。このように、バスバー電極87とグリッド電極86との間に接触不良が生じた場合も、左側及び右側のバスバー電極87,87に流れる電流の大きさは、接触不良が生じていない場合に比べて極めて大きく変化することが分かる。なお、前記説明では、電流の大きさ(電流の絶対値)の変化について説明したが、この場合も、バスバー電極87内を流れる電流の向きはほぼY方向であるので、Y方向の電流の大きさを用いても同じ結果が得られる。
また、(D)は、前述したA,Bの条件下で、左右のバスバー電極87,87間に流れる電流の大きさのX方向における分布を示している。この場合の電流分布も、左右のバスバー電極87,87の長尺方向全体にわたるX方向の電流分布の平均値又はバスバー電極の87,87の長尺方向の中間位置のX方向の電流分布である。この場合も、この電流には、グリッド電極86にX方向に流れる電流に加えて、太陽電池セルSCの表面に流れる面電流も含まれる。正常な場合、バスバー電極87,87間にはほとんど電流が流れていない。一方、バスバー電極87とグリッド電極86との間に接触不良が生じている場合には、正方向(すなわち左方向)の電流が流れている。これは、接触不良箇所により流れることができなくなった分の電流がバスバー電極87,87間に流れるためと推定される。このように、バスバー電極87とグリッド電極86との間に接触不良が生じた場合も、バスバー電極87,87間に流れる電流の大きさも、正常な場合に比べて大きく変化する。また、この場合も、このバスバー電極87,87間を流れる電流の向きはX方向である傾向が強いので、X方向の電流の大きさを用いても同じ結果が得られる。
次に、評価プログラムの実行について説明する。この評価プログラムの実行は図6AのステップS100にて開始され、コントローラ70は、ステップS102にて変数n,mをそれぞれ「1」に初期設定するとともに、変数CHを「0」に初期設定する。変数n,mは、それぞれX,Y軸方向における検出位置を指定するための変数である。そして、値nmax,mmaxは、前述のように、それぞれX,Y軸方向における検出位置の数を表している。変数CHは、詳しくは後述するが、「0」によりバスバー電極87がY軸方向に延設されていることを表し、「1」によりバスバー電極87がX軸方向に延設されていることを表す。前記ステップS102の処理後、コントローラ70は、ステップS104にて、変数n,mによって指定される所定数Kずつのサンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)の磁界の大きさの各平均値Sx1,Sx2,Sy1,Sy2を計算する。具体的には、各サンプリングデータ群Sx1(n,m),Sx2(n,m),Sy1(n,m),Sy2(n,m)ごとに、K個のサンプリングデータを加算して値Kで除算する。
次に、コントローラ70は、ステップS106にて、前記計算した平均値Sx1,Sx2を用いた下記式1,2の演算の実行により、X方向磁気検出信号の極大値Hxと、X方向磁気検出信号の参照信号に対する位相シフト量θxとを計算する。
Hx=(Sx12+Sx22)1/2 …式1
θx=tan-1(Sx2/Sx1) …式2
これにより、X方向磁気検出信号としてHx・sin(2πft+θx)が検出されたことになる。なお、fは、通電信号供給回路65から出力される通電信号及び参照信号の周波数に等しい。
次に、コントローラ70は、ステップS108にて、前記計算した平均値Sy1,Sy2を用いた下記式3,4の演算の実行により、Y方向磁気検出信号の極大値Hyと、Y方向磁気検出信号の参照信号に対する位相シフト量θyとを計算する。
Hy=(Sy12+Sy22)1/2 …式3
θy=tan-1(Sy2/Sy1) …式4
これにより、Y方向磁気検出信号としてHy・sin(2πft+θy)が検出されたことになる。
次に、コントローラ70は、ステップS110にて、前記計算したHx,θx,Hy,θyを用いた下記式5,6の演算の実行により、通電回路66の印加電圧が最大となるタイミング(前記X方向磁気検出信号Hx・sin(2πft+θx)及び前記Y方向磁気検出信号Hy・sin(2πft+θy)における2πftがπ/2のタイミング)における、検査位置の磁界の強さHxy及び磁界の向きθxyを計算する。この場合、通電回路66の印加電圧が最大となるタイミングを採用した理由は、位相シフト量θx,θyは小さく、印加電圧が最大となるタイミング近傍で検査位置の磁界の強さHxyが最大値近傍の値になるためである。なお、位相シフト量θx,θyが小さくなく、印加電圧が最大となるタイミング近傍で検査位置の磁界の強さHxyが最大値近傍にならない場合には、磁界の強さHxyが最大値近傍になるようなタイミングの角度をπ/2に代えて用いればよい。
Hxy=[{Hx・sin(π/2+θx)}2+{Hy・sin(π/2+θy)}2]1/2 …式5
θxy=tan-1{Hy・sin(π/2+θy)}/{Hx・sin(π/2+θx)} …式6
次に、コントローラ70は、ステップS112にて、太陽電池パネルSPに流れる電流は前記磁界の強さHxyに比例し、かつ方向が磁界の方向θxyと−π/2異なることから、前記計算したHxy,θxyを用いた下記式7,8の演算の実行により、通電電流が最大となるタイミングにおける、太陽電池パネルSPの検査位置に流れる電流の大きさIxy及び方向θixyを計算する。ただし、値Kは、比例定数である。
Ixy=K・Hxy …式7
θixy=θxy−π/2 …式8
そして、このステップS112にて、前記計算された電流の大きさIxy及び方向θixyは、太陽電池パネルSPの検査位置を表す変数n,mを用いて電流の大きさデータIxy(n,m)及び方向データθixy(n,m)としてRAM又は記憶装置に記憶される。
次に、コントローラ70は、ステップS114にて、前記計算したIxy,θixyを用いた下記式9,10の演算の実行により、太陽電池パネルSPの検査位置においてX方向及びY方向に流れる電流の大きさIx,Iyを計算する。
Ix=Ixy・cosθixy …式9
Iy=Ixy・sinθixy …式10
そして、このステップS114にて、前記計算された電流の大きさIx,Iyも、太陽電池パネルSPの検査位置を表す変数n,mを用いて電流の大きさデータIx(n,m),Iy(n,m)としてRAM又は記憶装置に記憶される。
そして、コントローラ70は、ステップS116にて変数nがX軸方向の検出位置数を表す値nmaxに達したか否かを判定する。変数nが値nmaxに達していなければ、コントローラ70は、ステップS116にて「No」と判定し、ステップS118にて変数nに「1」を加算してステップS104に戻る。そして、前述したステップS104〜S114の処理を実行した後、コントローラ70は、ステップS116にてふたたび変数nが値nmaxに達したか否かを判定する。変数nが値nmaxに達しない限り、ステップS104〜118の処理が繰り返し実行される。
このようなステップS104〜S118の繰り返し処理中、変数nが値nmaxに達すると、コントローラ70は、ステップS116にて「Yes」と判定して、ステップS120にて変数mがY軸方向の検出位置数を表す値mmaxに達したか否かを判定する。変数mが値mmaxに達しなければ、コントローラ70は、ステップS120にて「No」と判定し、ステップS112にて変数mに「1」を加算し、ステップS124にて変数nを「1」に初期設定して、ステップS104に戻る。そして、変数nが所定値nmaxに達するまで前述したステップS104〜S118の処理を繰り返し実行した後、コントローラ70は、ステップS120にてふたたび変数mが値mmaxに達したか否かを判定する。変数mが値mmaxに達しない限り、ステップS104〜124の処理が繰り返し実行される。そして、変数mが値mmaxに達すると、コントローラ70は、ステップS120にて「Yes」と判定して、図6BのステップS130に進む。
この時点では、太陽電池パネルSPの検査位置ごとに、電流の大きさデータIxy(n,m)、電流の方向データθixy(n,m)、X方向の電流の大きさデータIx(n,m)及びY方向の電流の大きさデータIy(n,m)(n=1〜nmax,m=1〜mmax)が、RAM又は記憶装置に記憶されている。
次に、バスバー電極87位置の電流の大きさデータIxy(n,m)を抽出するステップS130〜S134の処理を実行する。まず、コントローラ70は、ステップS130にて、前記計算した全ての電流の大きさデータIxy(n,m)の中から、最大の電流の大きさを最大電流Imaxとして抽出する。次に、コントローラ70は、ステップS132にて、全ての電流の大きさデータIxy(n,m)の分布において、度数分布が極大であり、かつ前記最大電流Imaxに最も近い電流の大きさを電流値Icとして計算する。図11は、前記電流の大きさデータIxy(n)の分布、最大電流Imax及び電流値Icを示している。前記ステップS132の処理後、コントローラ70は、ステップS134にて、前記全ての電流の大きさデータIxy(n)の中から、値{Ic−2・(Imax-Ic)}以上の電流の大きさデータIxy(n)を抽出する。これらのステップS130〜134の処理は、バスバー電極87位置の電流の大きさデータIxy(n,m)は、他の部分と比べて際立って大きいことに基づく。これにより、少なくとも、バスバー電極87位置の電流の大きさデータを含む大きな電流の大きさデータIxy(n,m)が抽出される。
次に、太陽電池パネルSPのステージ40上への置き方により、バスバー電極87がY軸方向に延設されているか、X軸方向に延設されているかを検出するステップS140〜S162の処理を実行する。コントローラ70は、まず、ステップS140にて変数nを「1」に初期設定し、ステップS142にて、前記ステップS134の処理によって抽出した電流の大きさデータIxy(n,m)において、変数nによって指定され、かつ変数mが連続している大きさデータIxy(n,m)の数を計算して値Nnとして設定する。そして、コントローラ70は、ステップS144にて、値Nnが所定数以上であるかを判定する。この判定処理は、バスバー電極87が変数nによって指定されるX軸方向位置にあり、かつY軸方向に延設されていれば、前記値Nnは1つの太陽電池セルSCのY軸方向の長さをY軸方向の検出間隔ΔY(図9参照)で除した値程度の大きさであることに基づくものである。したがって、前記所定数は、上述したように、作業者が入力した1つの太陽電池セルSCのY軸方向の長さを検出間隔ΔYで除した値よりも若干小さな値である。この場合、値Nnが所定数以上でなければ、コントローラ70は、ステップS144にて「No」と判定して、ステップS146に進む。
ステップS146においては、コントローラ70は、変数nをX軸方向の検出間隔ΔX(図9参照)に乗算した値n・ΔXが所定距離以上であるかを判定する。この処理は、後述する変数nの増加による検出位置のX軸方向への変化により、1つ分の太陽電池セルSCのX軸方向の幅に対応した長さ分だけ、前記ステップS142,S144の処理を実行し終えたかを判定するものである。したがって、前記所定距離は、作業者が入力した1つの太陽電池セルSCのX軸方向の長さにほぼ等しい。値n・ΔXが所定距離以上でなければ、コントローラ70は、ステップS146にて「No」と判定して、ステップS148にて変数nに「1」を加算して、ステップS142に戻る。そして、これらのステップS142〜S146からなる循環処理中に、ステップS142の処理によって計算された値Nnが所定数以上になると、コントローラ70は、ステップS144にて「Yes」すなわちバスバー電極87はY軸方向に延設されていると判定して、図6CのステップS170に進む。一方、値Nnが所定数以上になったことが検出されず、値n・ΔXが所定距離以上になると、コントローラ70は、ステップS146にて「Yes」すなわちバスバー電極87はY軸方向に延設されていないと判定して、ステップS150〜S156の処理を実行する。
ステップS150〜S156の処理は、バスバー電極87がX軸方向に延設されているかを検出する処理である。コントローラ70は、まず、ステップS150にて変数mを「1」に初期設定し、ステップS152にて、前記ステップS134の処理によって抽出した電流の大きさデータIxy(n,m)において、変数mによって指定され、かつ変数nが連続している大きさデータIxy(n,m)の数を計算して値Nmとして設定する。そして、コントローラ70は、ステップS154にて、値Nmが所定数以上であるかを判定する。この判定処理は、バスバー電極87が変数mによって指定されるY軸方向位置にあり、かつX軸方向に延設されていれば、前記値Nmは1つの太陽電池セルSCのX軸方向の長さをX軸方向の検出間隔ΔX(図9参照)で除した値程度の大きさであることに基づくものである。したがって、前記所定数は、作業者が入力した1つの太陽電池セルSCのX軸方向の長さを検出間隔ΔXで除した値よりも若干小さな値である。この場合、値Nmが所定数以上でなければ、コントローラ70は、ステップS154にて「No」と判定して、ステップS156に進む。
ステップS156においては、コントローラ70は、変数mをY軸方向の検出間隔ΔY(図9参照)に乗算した値m・ΔYが所定距離以上であるかを判定する。この処理は、後述する変数mの増加による検出位置のY軸方向への変化により、1つ分の太陽電池セルSCのY軸方向の幅に対応した長さ分だけ、前記ステップS152,S154の処理を実行し終えたかを判定するものである。したがって、前記所定距離は、作業者が入力した1つの太陽電池セルSCのY軸方向の長さにほぼ等しい。値m・ΔYが所定距離以上でなければ、コントローラ70は、ステップS156にて「No」と判定して、ステップS158にて変数mに「1」を加算して、ステップS152に戻る。そして、これらのステップS152〜S156からなる循環処理中に、ステップS152の処理によって計算された値Nmが所定数以上になると、コントローラ70は、ステップS154にて「Yes」すなわちバスバー電極87はX軸方向に延設されていると判定して、ステップS160,S162の処理後、図6CのステップS170に進む。
ステップS160においては、コントローラ70は、前記ステップS134の処理によって抽出した電流の大きさデータIxy(n,m)を電流の大きさデータIxy(m,n)に並び換える。これは、後述する処理において、バスバー電極87がX軸方向に延設されている場合と、バスバー電極87がY軸方向に延設されている場合との処理を共通にするもので、電流の大きさデータIxy(n,m)のX座標値をY座標値に変更し、Y座標値をX座標値に変更することになる。そして、ステップS162においては、コントローラ70は、変数CHを、前記電流の大きさデータIxy(n,m)を電流の大きさデータIxy(m,n)に並び換えを表すとともに、バスバー電極87がX軸方向に延設されていること表す「1」に変更する。
一方、値Nmが所定数以上になったことが検出されず、値m・ΔYが所定距離以上になると、コントローラ70は、ステップS156にて「Yes」すなわちバスバー電極87はY軸方向に延設されていないと判定して、図6HのステップS310に進む。なお、このステップS156における「Yes」との判定は、バスバー電極87のX軸方向の延設も、Y軸方向の延設も検出されないことを意味する。
次に、バスバー電極87の位置を示す電極位置座標Bxy(n,m)(すなわち磁気センサ10による検出位置群)を検出して、マトリクス状に配置したバスバー電極87のX方向及びY方向の順番を特定するX方向電極番号gx及びY方向電極番号gy(図7参照)を、前記検出した電極位置座標Bxy(n,m)に割当てる図6C及び図6DのステップS170〜S214の処理について説明する。なお、値n,mは、X軸方向及びY軸方向の磁気センサ10による検出位置をそれぞれ示す変数である。まず、コントローラ70は、図6CのステップS170にて、変数nを「1」に初期設定するとともに、X方向電極番号gx及びY方向電極番号gyをそれぞれ「1」に初期設定する。
次に、コントローラ70は、ステップS172にて、前記ステップS134にて抽出した電流の大きさデータIxy(n,m)に含まれて変数nによって指定される電流の大きさデータIxy(n,m)の数を値Nnmとして計算する。そして、コントローラ70は、ステップS174にて、この値Nnmが所定数以上であるかを判定する。これらのステップS172,S174の処理は、変数nによって指定されるX方向位置がバスバー電極87の位置に対応していれば、バスバー電極87の位置では電流の大きさデータIxy(n,m)は大きいはずであるので、値Nnmも大きいはずである。なお、前記所定数は、バスバー電極87のY方向の合計長さとY方向の移動距離単位ΔYによって決まる値であり、例えば、前記合計長さを移動距離単位ΔYで除した値の半分程度の値である。値を低めに設定するのは、後述するように、異常により電流の大きさが小さいバスバー電極87が存在する可能性があるためである。変数nによって指定されるX方向位置がバスバー電極87の位置に対応していなければ、値Nnmは小さいので、コントローラ70は、ステップS174にて「No」と判定して、ステップS176にて変数nがX軸方向の検出位置数を表す値nmaxに達したかを判定する。変数nが値nmaxに達していなければ、コントローラ70は、ステップS176にて「No」と判定して、ステップS178にて変数nに「1」を加算して、前記ステップS172,S174の処理を実行する。
変数nによって指定されるX方向位置がバスバー電極87の位置に対応して値Nnmが所定数よりも大きくなると、コントローラ70は、ステップS174にて「Yes」と判定して、ステップS180にて、Y軸方向の磁気センサ10の検出位置を示す変数mを「1」に初期設定するとともに、バスバー電極87のY軸方向の検出位置の数(バスバー電極87の長さをY軸方向の移動距離単位ΔYで除した数)をカウントするための変数pを「0」に初期設定して、ステップS182〜S186の判定処理を実行する。
これらのステップS182〜S186の判定処理について説明する前に、バスバー電極87に対応するX方向位置のY方向の電流の大きさデータIxy(n,m)の分布について説明しておく。図12に示すように、複数のバスバー電極87はY方向に沿って配置されている。そして、複数のバスバー電極87は、図12及び図13(A)に示すように、接続線88によって裏面電極81に接続されている。この場合、バスバー電極87を流れる電流の大きさデータIxy(n,m)は大きいが、接続線88を流れる電流はX−Y平面を流れる電流ではなく、Z方向(下方向)に流れる成分を含むために小さい。したがって、複数のバスバー電極87に沿ってY方向に流れる電流は、図13(B)に示すように、バスバー電極87に対応する位置では大きく、接続線88に対応した位置では小さく、バスバー電極87と接続線88間では連続的に急激に変化する。
ふたたび、図6Cの説明に戻ると、ステップS182においては、前記ステップS134の処理によって抽出した電流の大きさデータ群Ixy(n,m)(ただし、変数nは特定値)の中に、変数mによって指定される電流の大きさデータIxy(n,m)が存在するか否かが判定される。この場合、変数mによって指定されるY方向位置がバスバー電極87に対応する位置であれば、図13(B)に示すように、その位置の電流の大きさデータIxy(n,m)は大きいので、前記ステップS182の判定においては、「Yes」すなわち存在すると判定される。また、変数mに指定されるY方向位置が接続線88に対応する位置であってバスバー電極87から離れた位置にあれば、その位置の電流の大きさデータIxy(n,m)は小さいので、前記ステップS182の判定においては、「No」すなわち存在しないと判定される。
ステップS184においては、変数n,mによって指定される電流の大きさデータIxy(n,m)と、変数n,m−1によって指定される電流の大きさデータIxy(n,m−1)とを用いて計算した値{Ixy(n,m)−Ixy(n,m−1)}/Ixy(n,m−1)が所定の負の値−Io以下であるか否かが判定される。これは、変数mによって指定される位置が変数mの増加によりバスバー電極87を越えて接続線88の領域に入ったものの、バスバー電極87に近いために、前記ステップS182の処理によって「Yes」すなわち存在すると判定されたときでも、バスバー電極87に対応する位置でないことを判定するものである。すなわち、変数mによって指定されるY方向位置が接続線88領域に入った直後であれば、電流の大きさデータIxy(n,m)は急激に減少しているはずであるから、変数mによって指定されるY方向位置の電流の大きさデータIxy(n,m)は、変数m−1によって指定される前記Y方向位置の1つの前のY方向位置の電流の大きさデータIxy(n,m)よりある程度小さくなるはずである。したがって、この場合には、前記計算した値{Ixy(n,m)−Ixy(n,m−1)}/Ixy(n,m−1)は、ある程度絶対値の大きな負の値となるはずである。したがって、変数mによって指定される位置がバスバー電極87を越えて接続線88の領域に入っても、前記ステップS182の処理によって「Yes」すなわち存在すると判定された場合には、このステップS184にて「Yes」と判定され、それ以外の場合には「No」と判定される。
ステップS186においては、変数n,mによって指定される電流の大きさデータIxy(n,m)と、変数n,m+1によって指定される電流の大きさデータIxy(n,m−1)とを用いて計算した値{Ixy(n,m)−Ixy(n,m+1)}/Ixy(n,m+1)が所定の負の値−Io以下であるか否かが判定される。これは、変数mによって指定される位置が接続線88の領域にあるものの、変数の増加によってバスバー電極87に近づいてきたために、前記ステップS182の処理によって「Yes」すなわち存在すると判定されたときでも、バスバー電極87に対応する位置でないことを判定するものである。すなわち、変数mによって指定されるY方向位置がバスバー電極87領域に入る直前であれば、電流の大きさデータIxy(n,m)は急激に増加しているはずであるから、変数mによって指定されるY方向位置の電流の大きさデータIxy(n,m)は、変数m+1によって指定される前記Y方向位置の1つの後のY方向位置の電流の大きさデータIxy(n,m)よりある程度小さくなるはずである。したがって、この場合には、前記計算した値{Ixy(n,m)−Ixy(n,m+1)}/Ixy(n,m+1)は、ある程度絶対値の大きな負の値となるはずである。したがって、変数mによって指定される位置がバスバー電極87に近づいた接続線88の領域にあっても、前記ステップS182の処理によって「Yes」すなわち存在すると判定された場合には、このステップS186にて「Yes」と判定され、それ以外の場合には「No」と判定される。
したがって、変数mによって指定されるY方向位置がバスバー電極87に対応する位置であれば、コントローラ70は、ステップS182にて「Yes」と判定するとともに、ステップS184,S186にてそれぞれ「No」と判定して、ステップS188にて変数pに「1」を加算し、ステップS190にて変数mに「1」を加算して、ステップS182に戻る。変数mの増加によって検出位置がY方向に移動されても、検出位置がバスバー電極87に対応する位置である限り、前記ステップS182〜S190の循環処理が繰り返し実行されて、変数pが変数mの増加に従って増加する。このステップS182〜S190の循環処理中、検出位置がバスバー電極87を超えて接続線88の領域に入ると、コントローラ70は、ステップS182にて「No」又はステップS184,S186にて「Yes」と判定して、図6DのステップS192に進む。
ステップS192においては、前記変数pが所定数以上であるかを判定する。この場合、所定数は、バスバー電極87の長さを移動距離単位ΔYで除した値よりも若干小さな値であり、本実施形態の場合、前記入力した太陽電池セルSCのY方向の長さと移動距離単位ΔYとにより予め決められた値である。バスバー電極87の位置に対応した電流の大きさIxy(n,m)が正確に検出されていれば、変数pは所定数以上であるので、コントローラ70はステップS192にて「Yes」と判定して、ステップS194にてバスバー電極87のX−Y座標位置を表す電極位置座標Bxy(n−1,m−p)〜Bxy(n−1,m−1)内のいずれかにX方向電極番号gx及びY方向電極番号gyが割当てられているか否かを判定する。この判定処理は、今回検出したバスバー電極87の位置を表す電極位置座標Bxy(n,m)を定義して同電極位置座標Bxy(n,m)にX方向電極番号gx及びY方向電極番号gyを割当てる前に、X方向位置が変数n−1で指定される前回検出のバスバー電極87の位置に対応した電極位置座標Bxy(n−1,m)にX方向電極番号gx及びY方向電極番号gyが既に割当てられているかを判定するものである。もし、前回検出のバスバー電極87の位置を表す電極位置座標Bxy(n−1,m−p)〜Bxy(n−1,m−1)に未だX方向電極番号gx及びY方向電極番号gyが割当てられていなければ(すなわち電極位置座標Bxy(n−1,m−p)〜Bxy(n−1,m−1)が未だ定義されていなければ)、コントローラ70は、ステップS194にて「No」と判定して、ステップS196にて電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)を定義してX方向電極番号gx及びY方向電極番号gyを割当て、ステップS206に進む。この場合、変数pの使用により、バスバー電極87の長さに対応した位置分の電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)が定義されて、この定義された電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)にX方向電極番号gx及びY方向電極番号gyが割当てられたことになる。
一方、前回検出の電極位置座標Bxy(n−1,m−p)〜Bxy(n−1,m−1)にX方向電極番号gx及びY方向電極番号gyが既に割当てられていれば、コントローラ70は、ステップS194にて「Yes」と判定して、ステップS198,S200に進む。ステップS198においては、前回検出の電極位置座標Bxy(n−1,m−p)〜Bxy(n−1,m−1)に対応した位置の電流の大きさデータIxy(n−1,m−p)〜Ixy(n−1,m−1)の平均値Iavebが計算される。また、ステップS200においては、今回検出の電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)に対応した位置の電流の大きさデータIxy(n,m−p)〜Ixy(n,m−1)の平均値Iaveaが計算される。そして、コントローラ70は、ステップS202にて、今回の平均値Iaveaが前回の平均値Iaveb以上であるか否かを判定する。今回の平均値Iaveaが前回の平均値Iaveb以上であれば、コントローラ70は、ステップS202にて「Yes」と判定して、前回検出の電極位置座標Bxy(n−1,m−p)〜Bxy(n−1,m−1)に割当てられているX方向電極番号gx及びY方向電極番号gyを、今回検出の電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)に割当て、ステップS206に進む。一方、今回の平均値Iaveaが前回の平均値Iaveb以上でなければ、コントローラ70は、ステップS202にて「No」と判定して、前記割当ての変更を行うことなく、ステップS206に進む。これらのステップS194〜S204の処理により、1つのバスバー電極87に対しては、最も平均電流の大きな1組の電流の大きさデータIxy(n,m−p)〜Ixy(n,m−1)に対応した電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)にのみ、X方向電極番号gx及びY方向電極番号gyが割当てられる。ステップS206においては、コントローラ70は、Y方向電極番号gyに「1」を加算して、ステップS208に進む。これは、図12のY方向に沿って次のバスバー電極87の検出を意味する。
また、前記ステップS192の判定処理において、「No」すなわち変数pが所定数未満である場合には、コントローラ70は、ステップS192にて「No」と判定して、ステップS194〜S206の処理を実行しないで、ステップS208に進む。この場合、電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)に対する、X方向電極番号gx及びY方向電極番号gyの割当ては行われない。
ステップS208においては、変数mが値mmax(すなわち終了値Ymax直前の検出位置によるサンプリングデータ群に関する変数mの値)に達したかが判定される。変数mが値mmaxに達していなければ、コントローラ70は、ステップS208にて「No」と判定して、ステップS210にて変数pを「0」に初期設定して、図6CのステップS190に進む。コントローラ70は、ステップS190にて変数mに「1」を加算し、ステップS182〜S184の判定処理をふたたび実行する。ステップS180〜S184の処理は、前述のように、Y方向の検出位置がバスバー電極87間の接続線88に対応していることを判定する処理である。そして、検出位置が接続線88に対応した位置にある状態では、コントローラ70は、ステップS182にて「No」又はステップS184,S186にて「Yes」と判定して、図6DのステップS192に進む。この場合、変数pは前記ステップS210の処理により「0」に保たれるので、コントローラ70はステップS192にて「No」と判定し続けて、図6DのステップS192,S208,S210及び図6CのステップS190,S182〜S186の循環処理を繰り返し実行する。
この循環処理中、ステップS190による変数mの増加により、検出位置がバスバー電極87に対応した位置まで来ると、前述の場合と同様に、コントローラ70は、ステップS182にて「Yes」、ステップS184,S186にてそれぞれ「No」と判定して、ステップS182〜S190の循環処理を繰り返し実行する。そして、検出位置が接続線88の領域に入ると、前述のように、コントローラ70は、ステップS182にて「No」又はステップS184,S186にて「Yes」と判定して、図6DのステップS192〜S206の処理を実行する。これらのステップS192〜S206の処理により、Y方向の次のバスバー電極87に対応した電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)が定義されて次のX方向電極番号gx及びY方向電極番号gyが割当てられる。また、変数pが所定数未満のときには、ステップS192における「No」との判定のもとに、X方向電極番号gx及びY方向電極番号gyの割当ては行われない。
これらのステップS192〜S206の処理後、コントローラ70は、前記ステップS208,S210の処理を実行して、ふたたび図6CのステップS190に進む。これにより、変数mの増加により、図12に示すY方向のバスバー電極87の位置を表す電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)が次々に定義されてX方向電極番号gx及びY方向電極番号gyが割当てられていく。そして、変数mが値mmaxに達すると、コントローラ70は、ステップS208にて「Yes」と判定し、ステップS212にてX方向電極番号gxに「1」を加算し、Y方向電極番号gyを「1」に戻して、図6CのステップS178に進む。コントローラ70は、ステップS178にて変数nに「1」を加算した後、ステップS172に進み、前述したステップS172〜S178の循環処理により、図12に示すX方向の次のバスバー電極87の列を検出する。そして、前記ステップS182〜S210の処理により、次のX方向の列におけるY方向の複数のバスバー電極87を検出し、前記ステップS212,S214の処理後の図6CのステップS170〜S190及び図6DのステップS192〜S210の処理により、X方向に移動しながら次々にバスバー電極87を検出して、バスバー電極87の位置を表す電極位置座標Bxy(n,m−p)〜Bxy(n,m−1)が次々に定義されてX方向電極番号gx及びY方向電極番号gyが割当てられていく。そして、変数nが値nmax(終了値Xmax直前の検出位置によるサンプリングデータ群に関する変数nの値)に達すると、コントローラ70は、ステップS176にて「Yes」と判定して、図6EのステップS220に進む。
次に、前記ステップS170〜S214の処理によって抽出されるべきバスバー電極87の位置を示す電極位置座標Bxy(n,m)(すなわち磁気センサ10による検出位置群)が断線や接触不良等の異常により電流の大きさデータが小さいために抽出されていない箇所を検出し、検出した箇所の電極位置座標Bxy(n,m)にX方向電極番号gx及びY方向電極番号gy(図7参照)を割当てる図6E及び図6FのステップS220〜S256の処理について説明する。まず、コントローラ70は、図6EのステップS220にて、変数k,sを「1」にそれぞれ初期設定する。変数kは、X方向においてバスバー電極87を指定するための変数である。変数sは、Y方向においてバスバー電極87を指定するための変数である。
次に、コントローラ70は、ステップS222にて、前記X方向電極番号gx及びY方向電極番号gyの割当て処理により割当てられたY方向電極番号gyの最大値が、前記入力したY方向の太陽電池セルSCの数に等しい否かを判定する。すなわち、割当てられたX方向電極番号gxの少なくとも1つにおいて、Y方向の全てのバスバー電極87の位置が検出されているかを判定する。図12の左側からX方向に沿って2列のバスバー電極87のように、Y方向の全てのバスバー電極87が検出されていて、Y方向電極番号gyの最大値がY方向の太陽電池セルSCの数に等しければ、コントローラ70は、ステップS222にて「Yes」と判定して、ステップS224に進む。一方、Y方向電極番号gyの最大値がY方向の太陽電池セルSCの数に等しくなければ、コントローラ70は、ステップS222にて「No」と判定して、図6HのステップS310に進む。これは、X方向の全てのバスバー電極87の列において、Y方向の全てのバスバー電極87の位置が検出されていないことは、入力ミス又は何らかの異常が発生している可能性が高いからである。
ステップS224においては、変数kに等しいX方向電極番号gx(gx=k)によって特定されるY方向電極番号gyの最大値が、前記入力したY方向の太陽電池セルSCの数に等しいか否かが判定される。前記最大値がY方向の太陽電池セルSCの数に等しいとき(図12の左の2列のバスバー電極87群)、すなわち全てのY方向の磁気センサ10による検出位置群が抽出されているとき、コントローラ70は、ステップS224にて「Yes」と判定し、ステップS226にて変数kはX方向電極番号gxの最大値(すなわちX方向の太陽電池セルSCの数に1つの太陽電池セルSCにおけるバスバー電極87の数を乗算した値)に等しいかを判定する。そして、等しくないことを条件に、ステップS228にて変数kに「1」を加算して、ふたたび前記ステップS224の判定処理を実行する。これにより、全てのY方向の磁気センサ10による検出位置群が抽出されていれば、X方向におけるバスバー電極87の位置を指定するための変数kを順次増加させながら、ステップS224〜S228の処理を実行する。
前記ステップS224にて「No」すなわち全てのY方向の磁気センサ10による検出位置群が抽出されていないと判定されたとき、コントローラ70は、ステップS230にて、変数kに等しいX方向電極番号gxが割当てられている電極位置座標Bxy(n,m)のY方向の中央値AvemをY方向電極番号gyごとに計算する。次に、コントローラ70は、ステップS232にて、変数s+1によって指定されるAvem(s+1)から変数sによって指定されるAvem(s)及び値ceを減算した絶対値|Avem(s+1)−Avem(s)−ce|が所定の小さな値Δp以下であるかを判定する。この場合、変数CHが「0」であってバスバー電極87がY軸方向に延設されている場合には、値ceは、太陽電池セルSCのY方向の長さを移動距離単位ΔYで除した値である。一方、変数CHが「1」であってバスバー電極87がX軸方向に延設されている場合、すなわち前記図6BのステップS160の処理によって電流の大きさデータIxy(n,m)が電流の大きさデータIxy(m,n)に並べ換えられている場合、値ceは、太陽電池セルSCのX方向の長さを移動距離単位ΔXで除した値である。したがって、値ceは、バスバー電極87の延設方向における位置検出数に等しい。
今、バスバー電極87がY方向にて連続して検出されていれば、前記絶対値|Avem(s+1)−Avem(s)−ce|はほぼ「0」である。したがって、この場合には、コントローラ70は、ステップS232にて「Yes」と判定して、ステップS234にて変数sに「1」を加算し、ステップS236にて変数s+1によって指定される次の中央値Avem(s+1)が存在していることを条件に「Yes」と判定して、ふたたびステップS232の判定処理を実行する。一方、図12のX方向の3列目のように、Y方向の4番目のバスバー電極87が検出されていない場合、変数sが「3」であるとき、前記絶対値|Avem(s+1)−Avem(s)−ce|はほぼ値ceとなる。この場合には、コントローラ70は、ステップS232にて「No」と判定し、ステップS238にて変数kに等しいX方向電極番号gx及び変数sに等しいY方向電極番号gyに割当てられた電極位置座標Bxy(n,m)の変数mに値ceをそれぞれ加算した電極位置座標Bxy(n,m+ce)を新たに定義し、定義した電極位置座標Bxy(n,m+ce)に変数kに等しいX方向電極番号gx及び変数s+1に等しいY方向電極番号gyを割当て、変数mの中央値Avem(gy)を計算する。次に、ステップS240にて、変数kに等しいX方向電極番号gx及び変数s+1以上のY方向電極番号gyが割当てられた電極位置座標Bxy(n,m)のY方向電極番号gyをそれぞれY方向電極番号gy+1に変更する。これにより、図12のX方向の3列目でY方向の4番目のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算され、Y方向電極番号gyも順番にY方向の全ての電極位置座標Bxy(n,m)に割当てられる。
また、図12のX方向の4列目のように、Y方向の3番目及び4番目のバスバー電極87が連続して検出されていない場合、変数sが「2」であるとき、前記絶対値|Avem(s+1)−Avem(s)−ce|はほぼ値2・ceとなる。そして、この場合には、前述のステップS238,S240の処理により、X方向に4列目でY方向の3番目のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算され、Y方向電極番号gyも順番にY方向の全ての電極位置座標Bxy(n,m)に割当てられる。しかし、この場合には、この補充によっても、変数sが「3」になったとき、前記絶対値|Avem(s+1)−Avem(s)−ce|はほぼ値ceとなる。したがって、ステップS234の処理後、コントローラ70は、ステップS236にて「Yes」と判定し、ステップS232にて「No」と判定して、ふたたびステップS238,S240の処理を実行する。これにより、X方向に4列目でY方向の4番目のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算され、Y方向電極番号gyも順番にY方向の全ての電極位置座標Bxy(n,m)に割当てられる。その結果、4列目のバスバー電極87に対応した電極位置座標Bxy(n,m)の数も太陽電池セルSCの数に等しくなる。なお、3つ以上の電極位置座標Bxy(n,m)が欠落しても同様に、前記ステップS232〜S240の処理により、欠落した電極位置座標Bxy(n,m)は補充される。
前記ステップS232〜S240の処理中、変数s+1によって指定される中央値Avem(s+1)が存在しなくなると、すなわちY方向の次の電極位置座標Bxy(n,m)の中央値Avem(s+1)が存在しなくなると、コントローラ70は、ステップS236にて「No」と判定して、ステップS242にて変数sが変数kに等しいX方向電極番号gxによって特定されるY方向電極番号gyの最大値であるかを判定する。最大値であれば、コントローラ70は、ステップS242にて「Yes」と判定し、前述したステップS226以降の処理を実行する。このステップS228の処理により、変数kがX方向電極番号gxの最大値に等しくなると、すなわちX方向の最後の列の電極位置座標Bxy(n,m)の補充処理が終了すると、コントローラ70は、ステップS228にて「Yes」と判定して、図6GのステップS260に進む。
一方、図12のX方向の5列目及び6列目のように、Y方向の最後のバスバー電極87が検出されていない場合、又は図12のX方向の7列目及び8列目のように、Y方向の最初のバスバー電極87が検出されていない場合には、前述したステップS232,S238,S240の処理では、電極位置座標Bxy(n,m)の欠落を補充できない。そして、この場合には、中央値Avem(s+1)(すなわち次の中央値Avem)が存在しなくなった時点でも、変数sがY方向電極番号gyの最大値に等しくなく、コントローラ70は、ステップS242にて「No」と判定して、図6FのステップS244に進む。
ステップS244においては、コントローラ70は、変数kに等しいX方向電極番号gx及び変数sに等しいY方向電極番号gyが割当てられた電極位置座標Bxy(n,m)のX座標値nをX方向座標nxとして設定するとともに、変数sによって指定される中央値Avem(s)に前記所定値ce(太陽電池セルSCのY方向の検出位置数)を加算した値Avem(s)+ceをY方向座標nyとする。そして、座標nx,nyで指定される電流の大きさデータIxy(nx−a,ny−a)〜Ixy(nx+a,ny+a)の中から最大値を抽出して最大電流値Iemaxとする。なお、値aは、5〜数10程度の予め決められた値である。これにより、電極位置座標Bxy(n,m)の中央座標値を囲む位置の所定範囲における電流の大きさデータIxy(n,m)の最大値が最大電流値Iemaxとして設定される。前記ステップS244の処理後、コントローラ70は、ステップS246にて前記最大電流値Iemaxが設定値以上であるかを判定する。なお、この設定値は、太陽電池セルSCが存在するならば、太陽電池セルSCが異常であっても、そのバスバー電極87位置にて検出される比較的小さな予め決められた電流値である。
そして、前記位置にバスバー電極87が存在して、前記最大電流値Iemaxが設定値以上であれば、コントローラ70は、ステップS246にて「Yes」と判定してステップS248に進む。これは、図12のX方向の5列目又は6列目のように、Y方向の最後のバスバー電極87が検出されていない場合の処理である。ステップS248においては、変数kに等しいX方向電極番号gx及び変数sに等しいY方向電極番号gyが割当てられた電極位置座標Bxy(n,m)の変数mに所定値ceをそれぞれ加算した電極位置座標Bxy(n,m+ce)を新たに定義し、新たに定義した電極位置座標Bxy(n,m+ce)に変数kに等しいX方向電極番号gx及び変数s+1に等しいY方向電極番号gyを割当て、変数mの中央値Avem(gy)を計算する。これにより、検出されていなかったY方向の後方のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算される。そして、コントローラ70は、図6EのステップS234以降の処理を実行するが、図12のX方向の5列目のように、Y方向の最後の1つのバスバー電極87が検出されていなかった場合には、ステップS234の処理よって増加された変数sはY方向電極番号gyの最大値を示すことになるので、ステップS242にて「Yes」と判定されてステップS226以降に進められる。
しかし、図12のX方向の6列目のように、Y方向の最後の2つのバスバー電極87が検出されていなかった場合には、ステップS242にてふたたび「No」と判定されて、前述したステップS244〜S248からなる処理が実行されて、検出されていなかったY方向の後方のバスバー電極87に対応した電極位置座標Bxy(n,m)がさらに補充されるとともに、その中央値Avemも計算される。その結果、全てのバスバー電極87に対応した電極位置座標Bxy(n,m)が補充される。さらに、Y方向の最後の3つ以上のバスバー電極87が検出されていなかった場合にも、前述したステップS244〜S248からなる処理が実行されて、検出されていなかったY方向の後方のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算される。
次に、図12のX方向の7列目及び8列目のように、Y方向の最初のバスバー電極87が検出されていない場合について説明する。この場合には、前記ステップS244の処理によって計算されるY方向座標ny(=Avem(s)+ce)付近には、太陽電池セルSCは存在しない。したがって、この場合には、コントローラ70は、ステップS246にて「No」と判定して、ステップS250に進む。ステップS244においては、コントローラ70は、変数kに等しいX方向電極番号gx及び変数sに等しいY方向電極番号gyが割当てられた電極位置座標Bxy(n,m)のX座標値nをX方向座標nxとして設定するとともに、中央値Avem(1)から前記所定値ceを減算した値Avem(1)−ceをY方向座標nyとする。そして、座標nx,nyで指定される電流の大きさデータIxy(nx−a,ny−a)〜Ixy(nx+a,ny+a)の中から最大値を抽出して最大電流値Ismaxとする。なお、この場合も、値aは、5〜数10程度の予め決められた値である。これにより、電極位置座標Bxy(n,m)の中央座標値を囲む位置の所定範囲における電流の大きさデータIxy(n,m)の最大値が最大電流値Ismaxとして設定される。前記ステップS250の処理後、コントローラ70は、ステップS252にて、前記ステップS246と同様に、前記最大電流値Ismaxが前記設定値以上であるかを判定する。
そして、前記位置にバスバー電極が存在して、前記最大電流値Ismaxが設定値以上であれば、コントローラ70は、ステップS252にて「Yes」と判定してステップS254に進む。これは、図12のX方向の7列目又は8列目のように、Y方向の最初のバスバー電極87が検出されていない場合の処理である。ステップS254においては、変数kに等しいX方向電極番号gx及び「1」であるY方向電極番号gyが割当てられた電極位置座標Bxy(n,m)の変数mから前記所定値ceをそれぞれ減算した電極位置座標Bxy(n,m−ce)を新たに定義し、新たに定義した電極位置座標Bxy(n,m−ce)に変数kに等しいX方向電極番号gx及び「1」であるY方向電極番号gyを割当て、変数mの中央値Avem(gy)を計算する。これにより、検出されていなかったY方向の前方のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算される。前記ステップS254の処理後、コントローラ70は、ステップS256にて、変数kに等しいX方向電極番号gx及び「2」以上のY方向電極番号gyが割当てられた電極位置座標Bxy(n,m)のY方向電極番号gyをそれぞれY方向電極番号gy+1に変更する。これにより、図12のX方向の7列目でY方向の1番目のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算され、Y方向電極番号gyも順番にY方向の全ての電極位置座標Bxy(n,m)に割当てられる。
そして、コントローラ70は、図6EのステップS234以降の処理を実行するが、図12のX方向の7列目のように、Y方向の最初の1つのバスバー電極87のみが検出されていなかった場合には、ステップS234の処理によって増加された変数sはY方向電極番号gyの最大値を示すことになるので、ステップS242にて「Yes」と判定されてステップS226以降に進められる。
しかし、図12のX方向の8列目のように、Y方向の最初の2つのバスバー電極87が検出されていなかった場合には、ステップS242にてふたたび「No」と判定されて、前述したステップS250〜S256からなる処理が実行されて、検出されていなかったY方向の前方のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算される。その結果、全てのバスバー電極87に対応した電極位置座標Bxy(n,m)が補充される。さらに、Y方向の最初の3つ以上のバスバー電極87が検出されていなかった場合にも、前述したステップS250〜S256からなる処理が実行されて、検出されていなかったY方向の前方のバスバー電極87に対応した電極位置座標Bxy(n,m)が補充されるとともに、その中央値Avemも計算される。
また、図6FのステップS246において「No」と判定されるとともに、ステップS252においても「No」と判定された場合には、コントローラ70は、図6HのステップS310以降に進める。これは、バスバー電極87に対応した電極位置座標Bxy(n,m)の補充ができない場合には、太陽電池検査装置に異常が発生していて、太陽電池パネルSPの異常を的確に検出できない可能性が高いためである。
次に、太陽電池パネルSPの合否の判定及び電流分布の画像表示を行う図6G及び図6HのステップS260〜S312の処理について説明する。まず、コントローラ70は、ステップS260にて、X方向電極番号gx及びY方向電極番号gyが割当てられている全ての電極位置座標Bxy(n,m)群に対応した全てのY方向の電流の大きさデータIy(n,m)群のデータであって、各大きさデータIy(n,m)群の両端部に対応する大きさデータIxy(n,m)群を除いた全ての大きさデータIxy(n,m)群のトータル平均値Iavtyを計算する。この処理により、図7において、全てのバスバー電極87の両端部を除いてバスバー電極87に流れる電流の検出位置ごとのY方向の電流のトータル平均値Iavtyが計算される。各大きさデータIy(n,m)群の両端部すなわちバスバー電極87の両端部を除く理由は、この両端部では電流が安定しないことがあるためで、両端部の長さとしては全長の数パーセントから20パーセント程度である。
次に、コントローラ70は、ステップS262にて、X方向電極番号gx及びY方向電極番号gyが割当てられている全ての電極位置座標Bxy(n,m)群に対応した全てのX方向の電流の大きさデータIx(n,m)群以外の、X方向の電流の大きさデータIx(n,m)群のトータル平均値Iavtxを計算する。すなわち、全てのX方向の電流の大きさデータIx(n,m)群から、全ての電極位置座標Bxy(n,m)群に対応した全てのX方向の電流の大きさデータIx(n,m)群を除いたX方向の電流の大きさデータIx(n,m)群の平均値Iavtxを計算する。この処理により、図7において、全てのバスバー電極87が位置する部分を除く、太陽電池パネルSPの全体に流れるX方向の電流のトータル平均値Iavtxを計算することになる。そして、コントローラ70は、ステップS264にて、変数k,s,t,ep,qを「1」にそれぞれ初期設定する。変数kは、図7に示すように、X方向電極番号gxを指定するための1〜kmaxで変化する変数である。変数sは、Y方向電極番号gyを指定するための1〜smaxで変化する変数である。変数tは、X方向の太陽電池セルSCを指定するための1〜tmaxで変化する変数である。変数epは、1つの太陽電池セルSC内のバスバー電極87を指定するための変数であり、図7では「1」又は「2」である。変数qは、バスバー電極87の長尺方向の位置を指定するための変数であり、本実施形態では「1」〜「3」で変化する。
前記ステップS264の処理後、コントローラ70は、ステップS266にて、変数kに等しいX方向電極番号gx及び変数sに等しいY方向電極番号gyが割当てられた電極位置座標Bxy(n,m)に対応したY方向の電流の大きさデータIy(n,m)から、前記ステップS260の場合と同様に両端部を除いたY方向の電流の大きさデータIy(n,m)を抽出して、RAM又は記憶装置に記憶する。このRAM又は記憶装置に記憶した電流の大きさデータIy(n,m)は、本発明の電極の延設方向における電流の大きさの分布を表すデータであり、このステップS266の処理が特に本発明の第1分布計算手段に対応する。次に、ステップS268にて、前記抽出したY方向の電流の大きさデータIy(n,m)を用いて次のような計算を実行する。まず、変数kに等しいX方向電極番号gx及び変数sに等しいY方向電極番号gyが割当てられた1つのバスバー電極87に流れる平均電流として、前記抽出したY方向の電流の大きさデータIy(n,m)の平均値Iaveyを計算する。この平均値Iaveyを、変数t,s,epによって指定される評価データA(t,s,ep)としてRAM又は記憶装置に記憶しておく。
次に、前記ステップS268にて、前記計算した平均値Iaveyの絶対値|Iavey|を前記ステップS260の処理により計算したトータル平均値Iavtyの絶対値|Iavty|で除算して、除算結果|Iavey|/|Iavty|を1つのバスバー電極87に流れる電流レベルを評価するための評価データB(t,s,ep)としてRAM又は記憶装置に記憶しておく。また、前記抽出したY方向の電流の大きさデータIy(n,m)の最大値から最小値を減算して、減算結果を前記計算した平均値Iaveyの絶対値|Iavey|で除算して、除算結果(最大値−最小値)/|Iavey|を、1つのバスバー電極87に流れる電流レベルの変動を評価するための評価データC(t,s,ep)としてRAM又は記憶装置に記憶しておく。また、前記抽出したY方向の電流の大きさデータIy(n,m)の標準偏差σを前記計算した平均値Iaveyの絶対値|Iavey|で除算して、除算結果σ/|Iavey|を、1つのバスバー電極87に流れる電流レベルの変動を評価するための評価データD(t,s,ep)としてRAM又は記憶装置に記憶しておく。
前記ステップS268の処理後、コントローラ70は、ステップS270にて、変数epが前記入力した太陽電池セルSCの電極数に達したか否かを判定する。変数epが太陽電池セルSCの電極数に達していなければ、コントローラ70は、ステップS270にて「No」と判定し、ステップS272にて変数epに「1」を加算し、かつステップS274にて変数kに「1」を加算して、ステップS266に戻る。そして、変数epが太陽電池セルSCの電極数に達するまで、ステップS266〜274の処理を実行する。これにより、変数t,sによって指定される1つの太陽電池セルSCの各バスバー電極87に関する評価データA(t,s,ep),B(t,s,ep),C(t,s,ep),D(t,s,ep)が計算されてRAM又は記憶装置に記憶されることになる。
変数epが太陽電池セルSCの電極数に達すると、コントローラ70は、ステップS270にて「Yes」と判定し、ステップS276にて、前記計算したX方向電極番号gx及びY方向電極番号gyが割当てられた太陽電池セルSCの全てのバスバー電極87に関する評価データA(t,s,ep)を用いて、それらの最大値から最小値を減算してそれらの平均値で除算することにより、1つの太陽電池セルSC内のバスバー電極87間の電流のばらつきを評価するための評価データE(t,s)を計算してRAM又は記憶装置に記憶する。
次に、コントローラ70は、ステップS278にて、値(k−ep+1)に等しいX方向電極番号gx及び値sに等しいY方向電極番号gyが割当てられている電極位置座標Bxy(n,m)と、値kに等しいX方向電極番号gx及び値sに等しいY方向電極番号gyが割当てられている電極位置座標Bxy(n,m)と間の全ての座標(n,m)のうちで、変数mが値{Avem(s)−(2−q)・ce/3}である座標(n,m)に対応したX方向の電流の大きさデータIx(n,m)を抽出して、RAM又は記憶装置に記憶する。ここで、抽出されるX方向の電流の大きさデータIx(n,m)について説明しておく。図7に示すように、変数kはX方向のバスバー電極87を指定するもので、値epは1つの太陽電池セルSC内のバスバー電極87の数(図7の例では2つ)を表すものである。そして、このステップS278の処理の時点では、前記ステップS266〜S274の循環処理の終了により、変数kはX方向に配置された各太陽電池セルSCの図示右側の最後のバスバー電極87を指定するための値になっている。したがって、図7の最も左側の太陽電池セルSCの処理時には、同最も左側の太陽電池セルSCのX方向の両端のバスバー電極87の位置に挟まれたX方向の全ての座標(n,m)のうちで、値{Avem(s)−(2−q)・ce/3}により指定されたY方向位置の座標が指定される。そして、値Avem(s)は変数sによって指定されるY方向の太陽電池セルSCのバスバー電極87のY方向の中央位置を表し、値ceはバスバー電極87のY方向の長さにほぼ等しいので、最初、変数qが「1」であるときには、前記バスバー電極87の位置に挟まれたX方向の全ての座標(n,m)のうちで、バスバー電極87のY方向の中央位置からバスバー電極87の長さの1/3だけ小さなY方向位置の座標(n,m)に対応したX方向の電流の大きさデータIx(n,m)が抽出されて、RAM又は記憶装置に記憶される。
前記ステップS278の処理後、コントローラ70は、ステップS280にて、前記記憶したX方向の電流の大きさデータIx(n,m)を用いて次の計算を実行する。まず、抽出した全ての大きさデータIx(n,m)の平均値Iavexを計算する。次に、この平均値の絶対値|Iavex|を前記ステップS262の処理によって計算したX方向の電流の大きさのトータル平均値の絶対値|Iavtx|で除算して、除算結果をバスバー電極87間の電流レベルを評価するための評価値データF(t,s,q)としてRAM又は記憶装置に記憶しておく。
次に、コントローラ70は、ステップS282にて変数qが「3」に達したか否かを判定する。そして、変数qが「3」に達していなければ、コントローラ70は、ステップS282にて「No」と判定し、ステップS283にて変数qに「1」を加算して、前述したステップS278,S280の処理を実行する。この場合、変数qは「2」であるので、ステップS278の処理においては、前記バスバー電極87の位置に挟まれたX方向の全ての座標(n,m)のうちで、バスバー電極87のY方向の中央位置の座標(n,m)に対応したX方向の電流の大きさデータIx(n,m)が抽出されて、RAM又は記憶装置に記憶される。そして、この記憶された大きさデータIx(n,m)に関しても、ステップS280の処理により、平均値Iavexが計算され、この平均値Iavexを用いて評価値データF(t,s,q)=|Iavex|/|Iavtx|が計算されてRAM又は記憶装置に記憶される。
そして、ステップS282の判定処理がふたたび実行される。この場合も、変数qは「3」に達していないので、コントローラ70は、前記ステップS283,S278、S280の処理を実行する。前記ステップS283,S278、S280の処理後には、変数qは「3」に設定されているので、ステップS278の処理においては、前記バスバー電極87の位置に挟まれたX方向の全ての座標(n,m)のうちで、バスバー電極87のY方向の中央位置からバスバー電極87の長さの1/3だけ大きなY方向位置の座標(n,m)に対応したX方向の電流の大きさデータIx(n,m)が抽出されて、RAM又は記憶装置に記憶される。そして、この場合も、抽出した大きさデータIx(n,m)に関しても、ステップS280の処理により、平均値Iavexが計算され、この平均値Iavexを用いて評価値データF(t,s,q)=|Iavex|/|Iavtx|が計算されてRAM又は記憶装置に記憶される。前記ステップS278の処理後、変数qは「3」であるので、コントローラ70は、ステップS282にて「Yes」と判定して、図6HのステップS284に進む。なお、この時点では、変数t,sによって指定される1つの太陽電池セルSCに関して、評価データA(t,s,ep),B(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)がRAM又は記憶装置に記憶されている。
なお、前記ステップS278の処理によって抽出されてRAM又は記憶装置に記憶されるX方向の電流の大きさデータIx(n,m)は、本発明の複数の電極間に流れる電流の大きさの分布を表すデータであり、このステップS278の処理が特に本発明の第2分布計算手段に対応する。
ステップS284においては、コントローラ70は、変数t,sによって指定される太陽電池セルSCに関して、評価データB(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)がそれぞれ許容値よりも大きいか否かを判定する。この場合、許容値は、太陽電池セルSCの異常を判定するための、各評価データごとに予め決められた値である。そして、評価データB(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)のうちのいずれか1つでも許容値よりも大きければ、コントローラ70は、ステップS284にて「Yes」と判定して、ステップS286にて変数t,sによって指定されるエラーデータEr(t,s)を太陽電池セルSCの異常を表す“1”に設定して、ステップS288に進む。なお、エラーデータEr(t,s)は、初期において全て正常を表す“0”に設定されている。一方、全ての評価データB(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)がそれぞれ許容値以下であれば、コントローラ70は、ステップS284にて「No」と判定して、ステップS288に進む。
ステップS288においては、コントローラ70は、変数tが前記入力したX方向の太陽電池セルSCの数tmaxに達したか否かを判定する(図7参照)。変数tがX方向の太陽電池セルSCの数tmaxに達していなければ、コントローラ70は、ステップS288にて「No」と判定し、ステップS290にて変数tに「1」を加算し、ステップS292にて変数ep,qを初期値「1」に戻して、図6GのステップS274に戻る。そして、コントローラ70は、前述した図6GのステップS266〜S283及び図6HのステップS284,S286の処理を繰り返し実行して、変数t,sによって指定される太陽電池セルSCの評価データA(t,s,ep),B(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)及びエラーデータEr(t,s)を計算してRAM又は記憶装置に記憶する。そして、これらの図6GのステップS266〜S283及び図6HのステップS284,S286の処理を、変数tがX方向の太陽電池セルSCの数tmaxに達するまで行い、変数nがX方向の太陽電池セルSCの数tmaxに達すると、コントローラ70は、ステップS288にて「Yes」と判定して、ステップS294に進む。その結果、図7の最も左側から最も右側の太陽電池セルSCに関する評価データA(t,s,ep),B(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)及びエラーデータEr(t,s)がRAM又は記憶装置に記憶されることになる。
ステップS294においては、コントローラ70は、変数sが前記入力したY方向の太陽電池セルSCの数smaxに達したか否かを判定する(図7参照)。変数sがY方向の太陽電池セルSCの数smaxに達していなければ、コントローラ70は、ステップS294にて「No」と判定し、ステップS296変数sに「1」を加算し、ステップS298にて変数k,t,ep,qを初期値「1」に戻して、図6GのステップS266に戻る。そして、コントローラ70は、前述した図6GのステップS266〜S283及び図6HのステップS284〜S292の処理を繰り返し実行して、変数t,sによって指定される太陽電池セルSCの評価データA(t,s,ep),B(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)及びエラーデータEr(t,s)を計算してRAM又は記憶装置に記憶する。そして、これらの図6GのステップS266〜S283及び図6HのステップS284〜S292の処理を、変数sがY方向の太陽電池セルSCの数smaxに達するまで行い、変数sがY方向の太陽電池セルSCの数smaxに達すると、コントローラ70は、ステップS294にて「Yes」と判定して、ステップS300に進む。その結果、図7の全ての太陽電池セルSCに関する評価データA(t,s,ep),B(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s),F(t,s,q)(q=1〜3)及びエラーデータEr(t,s)がRAM又は記憶装置に記憶されることになる。
ステップS300においては、コントローラ70は、前記RAM又は記憶装置に記憶した電流の大きさデータIxy(n,m)、電流の方向データθixy(n,m)、X方向の電流の大きさデータIx(n,m)及びY方向の電流の大きさデータIy(n,m)(n=1〜N,m=1〜M)から表示用画像データを生成して、表示装置72に画像データによって表された画像を表示する。この画像は、例えば、太陽電池セルSCの検査位置ごとに、電流の大きさデータIxy(n,m)に応じて明度、色彩などを異ならせて表示するとともに、電流の方向データθixy(n,m)によって示された方向を示す矢印を表示する。また、X方向の電流の大きさデータIx(n,m)及びY方向の電流の大きさデータIy(n,m)に応じて明度、色彩などを異ならせて表示するとよい。この場合、バスバー電極87がX方向に延設されていて変数CHが“1”である場合には、表示装置72における電流の大きさデータIxy(m,n)の表示状態を90度回転させる。
図14A乃至図14Cは、1つ太陽電池セルSCに関する表示例を示している。図14Aは、図10Aの正常及び断線異常に対応した例である。(A)は太陽電池セルが正常の場合であり、(B)は左側のバスバー電極87側の表面側接続線に断線が生じた場合であり、(C)は左側の裏面電極81側の裏面側接続線に断線が生じた場合である。図14Bは、図10Bの正常及び抵抗増大に対応した例である。(A)は太陽電池セルが正常の場合であり、(B)は左側のバスバー電極87側の表面側接続線として50cmの導線を追加した場合であり、(C)は左側のバスバー電極87側の表面側接続線として150cmの導線を追加した場合である。図14Cは、図10Bの正常及びバスバー電極87とグリッド電極86との接続不良に対応した例である。(A)は太陽電池セルが正常の場合であり、(B)は左側のバスバー電極87とグリッド電極86とが接続不良の場合である。
前記ステップS300の処理後、コントローラ70は、ステップS302にて、エラーデータEr(t,s)(t=1〜tmax,s=1〜smax)の中に“1”を示すエラーデータが存在するかを調べる。“1”を示すエラーデータが存在しなければ、コントローラ70は、ステップS302にて「No」と判定して、ステップS304にて表示装置72に「合格」を表示し、ステップS314にてこの評価プログラムの実行を終了する。一方、“1”を示すエラーデータが存在すると、コントローラ70は、ステップS302にて「Yes」と判定して、ステップS306にて表示装置72に「不合格」を表示し、ステップS308にて、エラーデータE(t,s)が“1”である変数t,sを取り出して、前記表示した画像中の変数t,sによって指定される太陽電池セルSCを欠陥ありの太陽電池セルSCとして表示する。
次に、図6BのステップS156にて「Yes」、図6EのステップS222にて「No」、図6FのステップS252にて「No」と判定されて、図9HのステップS310,S312の処理に進められた場合について説明する。これらは、入力ミス、検査装置の異常などにより太陽電池セルSCの自動的な合否の判定が不能であったり、不能である可能性が高い場合である。この場合も、コントローラ70は、ステップS310にて、前記ステップS300の処理と同様に、電流の大きさデータIxy(n,m)、電流の方向データθixy(n,m)、X方向の電流の大きさデータIx(n,m)及びY方向の電流の大きさデータIy(n,m)(n=1〜N,m=1〜M)から表示用画像データを生成して、表示装置72に画像データによって表された画像を表示する。次に、コントローラ70は、ステップS312にて、「太陽電池セルSCの合否判定は不能」である旨を表示装置72に表示して、ステップS314にてこの評価プログラムの実行を終了する。
上記のように動作する実施形態においては、通電信号供給回路65及び通電回路66によって、太陽電池パネルSPに直流電圧を印加して太陽電池パネルSPに電流を流し、磁気センサ10を移動させて、太陽電池パネルSPの複数の箇所に流れる電流によって発生する磁界をそれぞれ検出する。そして、コントローラ70が、この検出磁界をセンサ信号取出回路67及びロックインアンプ68を介して取込んで、複数のバスバー電極87の延設方向の各部に流れる電流の大きさの分布、及び複数のバスバー電極87間の電流の大きさの分布を計算する。太陽電池パネルSPに異常な箇所があると、前記電流の大きさの分布は太陽電池パネルSPが正常な場合に比べて変化するので、太陽電池パネルSPを特別な検査場所に運搬する必要なく検査を行うことができる。
また、通電信号供給回路65及び通電回路66は、所定の周期で大きさが変化する直流電圧を太陽電池パネルSPに印加し、センサ信号取出回路67及びロックインアンプ68は、前記所定の周期と等しい周期で強度が変化する磁界を検出する。したがって、上記実施形態によれば、外乱光や、外部磁界が存在しても、これらの影響を受けずに、太陽電池パネルSPに対向する複数の箇所で磁界を検出することができ、太陽電池パネルSPを発電させないように遮光する必要もなくなり、検査効率をさらに高めることができる。
また、上記実施形態においては、コントローラ70は、ステップS170〜S214,S220〜S256,S260〜S298の処理により、前記太陽電池パネルSPの複数の箇所における電流の大きさの分布に基づいて、複数のバスバー電極87の延設方向における電流の大きさに関する特性を表す評価データB,C,D,Eと、複数のバスバー電極87間に流れる電流の大きさの分布に関する特性を表す評価データFを計算するとともに、これらの評価データB,C,D,E,Fを用いて太陽電池パネルSPの合否の判定を自動的に行うようにした。これらの評価データB,C,D,E,Fは、実験の結果、太陽電池パネルSPにおいて、電極間の断線、電極間の接触不良等がある異常な状態では正常な状態から大きく変化することが分かっている。したがって、これらの評価データB,C,D,E,Fを用いることで、太陽電池パネルSPの合否の判定は的確に行われる。
以上、本発明の一実施形態について説明したが、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形も可能である。
上記実施形態では、複数の太陽電池セルSCを有する太陽電池パネルSPを検査するようにした。しかし、本発明は、これに代えて、太陽電池セルSCを個々に検査する検査装置にも適用できる。
また、上記実施形態においては、1つの太陽電池セルSCの両端部のバスバー電極87間のX方向の電流の大きさデータIx(m,n)の平均値に関して、図6GのステップS278〜S282の処理によりY方向の3箇所においてバスバー電極87間のX方向の電流の大きさデータIx(m,n)の平均値をそれぞれ計算するようにした。しかし、この平均値の計算に関しては、3箇所よりも少ない1箇所又は2箇所であってもよいし、4箇所以上であってもよい。また、1つの太陽電池セルSCの両端部のバスバー電極87間全体のX方向の電流の大きさデータIx(m,n)の平均値を計算するようにしてもよい。
また、上記実施形態においては、X方向電極番号gx及びY方向電極番号gyを電極位置座標Bxy(n,m)に割当てる図6C及び図6DのステップS170〜S214の処理において、電流の大きさデータIxy(n,m)を用いてバスバー電極87の位置を検出するようにした。しかし、バスバー電極87位置を流れる電流の向きはほぼY方向であるので、前記電流の大きさデータIxy(n,m)に代えて、Y方向の電流の大きさデータIy(n,m)を用いるようにしてもよい。さらに、上記実施形態においては、バスバー電極87に流れる電流の評価のための評価データA(t,s,ep),B(t,s,ep),C(t,s,ep),D(t,s,ep),E(t,s)の算出のための図6GのステップS260,S266〜S276の処理において、Y方向の電流の大きさデータIy(n,m)を用いた。しかし、前記のように、バスバー電極87位置を流れる電流の向きはほぼY方向であるので、前記Y方向の電流の大きさデータIy(n,m)に代えて、電流の大きさデータIxy(n,m)を用いるようにしてもよい。また、評価データF(t,s,q)の算出のための図6GのステップS262,S278〜S283の処理において、X方向の電流の大きさデータIx(n,m)を用いた。しかし、バスバー電極87間を流れる電流の向きは主にX方向であるので、前記X方向の電流の大きさデータIx(n,m)に代えて、電流の大きさデータIxy(n,m)を用いるようにしてもよい。
また、上記実施形態及び変形例では、図6AのステップS104〜S112の処理より、磁気センサ10の検出位置のX方向磁気検出信号の極大値Hx、X方向磁気検出信号の参照信号に対する位相シフト量θx、Y方向磁気検出信号の極大値Hy、Y方向磁気検出信号の参照信号に対する位相シフト量θy、磁界の強さHxy及び磁界の向きθxyを計算して、ステップS112,S114の処理により、磁気センサ10の検出位置の電流の大きさIxy(n,m)、前記電流の方向θixy(n,m)、X方向の電流の大きさIx(n,m)及びY方向の電流の大きさIy(n,m)を計算した。そして、これらの電流の大きさIxy(n,m)、前記電流の方向θixy(n,m)、X方向の電流の大きさIx(n,m)及びY方向の電流の大きさIy(n,m)を用いて、太陽電池セルSCに関する評価データを計算して太陽電池セルSCを評価するようにした。しかし、電流の大きさIxyは磁界の大きさHxyに比例しており、電流の方向θixyは磁界の方向θxyとπ/2異なるだけである。したがって、磁界に関する情報を電流に関する情報に変換しなくても、磁気センサ10の各検出位置のX方向磁気検出信号の極大値Hx、Y方向磁気検出信号の極大値Hy及び磁界の強さHxyを、上記実施形態のX方向の電流の大きさIx(n,m)、Y方向の電流の大きさIy(n,m)及び電流の大きさIxy(n,m)に代えて用いることにより、各太陽電池セルSCに関する評価データを計算して太陽電池パネルSPを評価するようにしてもよい。
また、上記実施形態では、バスバー電極87の位置を自動的に検出し、検出した位置の電流の大きさの分布に関する評価データを計算して、各太陽電池セルSCの合否判定を行うようにした。しかし、これに代えて、作業者が表示装置72に表示される電流分布の画像を見てバスバー電極87の位置をコントローラ70に指示し、コントローラ70がこの指示された位置の電流の大きさの分布に関する評価データを計算して、各太陽電池セルSCの合否判定を行うようにしてもよい。また、コントローラ70は、評価データの計算も行わずに、図14A〜14Bのような画像を表示装置72に表示し、作業者はこの表示を見て各太陽電池セルSCの合否を判定するようにしてもよい。
また、コントローラ70は、合否判定まで行う代わりに、評価データを計算して表示装置72に表示し、作業者にこの評価データを見せて、各太陽電池セルSCの合否判定を行わせるようにしてもよい。また、評価データの計算を行わずに、図6GのステップS266の処理によって抽出されるとともに記憶されたバスバー電極87ごとのY方向の電流の大きさデータIy(n,m)を用いて、バスバー電極87の延設方向におけるY方向の電流の大きさの分布を表示装置72に表示して、作業者に各太陽電池セルSCの合否判定を行わせるようにしてもよい。具体的には、図10A〜10Cの(B)(C)のように電流の大きさの分布を表示するとよい。また、この場合、バスバー電極87の両端部に対応するY方向の電流の大きさデータIy(n,m)を省略しなくても、バスバー電極87の延設方向全体にわたるY方向の電流の大きさデータIy(n,m)を用いて、バスバー電極87の延設方向におけるY方向の電流の大きさの分布を表示してもよい。
また、図6GのステップS278の処理によって抽出されるとともに記憶されたバスバー電極87間のX方向の電流の大きさデータIx(n,m)を用いて、バスバー電極87間におけるX方向の電流の大きさの分布を表示装置72に表示して、作業者に各太陽電池セルSCの合否判定を行わせるようにしてもよい。具体的には、図10A〜10Cの(D)のように電流の大きさの分布を表示するとよい。また、この場合も、前述のように、このX方向の分布に関しては、3箇所よりも少ない1箇所又は2箇所であってもよいし、4箇所以上であってもよい。また、1つの太陽電池セルSCの両端部のバスバー電極87間全体のX方向の電流の大きさデータIx(n,m)から、変数nが同じであって変数mが異なる電流の大きさデータIx(n,m)の平均値を変数nごとに計算して、変数nに対する(すなわちX方向の)前記計算した平均値の分布を表示装置72に表示してもよい。
また、これらの電流の大きさの分布の表示においても、前述のように、Y方向及びX方向の電流の大きさデータIy(n,m),Ix(n,m)に代えて、電流の大きさデータIxy(n,m)を採用してもよい。さらに、前述のように、この場合も、Y方向及びX方向の電流の大きさデータIy(n,m),Ix(n,m)に代えて、Y方向及びX方向の磁界の強さデータHy(n,m),Hx(n,m)、すなわち磁気センサ10の各検出位置の磁界の強さHxy及び磁界の向きθxyから下記式11,12で与えられる値を採用してもよい。
Hy=Hxy・sinθxy …式11
Hx=Hxy・cosθxy …式12
また、上記実施形態及び変形例においては、磁気センサ10を載置したステージ40をX,Y方向に移動するようにした。しかし、これに代えて、検査対象物である太陽電池パネルSP又は太陽電池セルSCをセットするステージをX,Y方向に移動するようにしてもよい。また、双方のステージがX,Y方向に移動するようにしてもよい。さらには、磁気センサ10及び検査対象物である太陽電池パネルSP(又は太陽電池セルSC)をセットするステージを移動させずに、多数の磁気センサ10を、マトリクス状に配置するようにしてもよい。
また、上記実施形態及び変形例においては、磁気センサ10を載置したステージ40は、検査対象物である太陽電池パネルSP又は太陽電池セルSCをセットするステージの下を移動するようにした。しかし、これに代えて、磁気センサ10を載置したステージ40が、検査対象物である太陽電池パネルSP又は太陽電池セルSCをセットするステージの上を移動するようにしてもよい。この場合には、磁気センサ10が検査対象物と対向するように、上記実施形態及び変形例のステージ40を下側に向ければよい。
また、上記実施形態及び変形例においては、太陽電池パネルSP又は太陽電池セルSCの各種評価データを計算して、各種評価データの値によって太陽電池パネルSP又は太陽電池セルSCの合否を判定するようにした。しかし、検査対象である太陽電池パネルSP又は太陽電池セルSCの形状及び大きさが1つに限定されていれば、正常な太陽電池パネルSP又は太陽電池セルSCに関する各種計算パラメータ(例えば、電流の大きさデータIxy(m、n)、X方向の電流の大きさデータIx(m,n)、Y方向の電流の大きさデータIx(m,n)など)との比較により、太陽電池パネルSP又は太陽電池セルSCの合否判定を行うようにしてもよい。また、検査対象である太陽電池パネルSP又は太陽電池セルSCの電流分布(又は磁界分布)と共に、正常な太陽電池パネルSP又は太陽電池セルSCの電流分布(又は磁界分布)を表示して、作業者に対比観察により検査対象である太陽電池パネルSP又は太陽電池セルSCの合否判定を行わせるようにしてもよい。
また、上記実施形態では、磁気センサとして磁気抵抗素子(MR素子)を利用したが、これに代えて、ホール素子、磁気インピーダンス素子効果センサ、フラックスゲート、超伝導量子干渉素子などを利用するようにしてもよい。