(57)【要約】【課題】  部品の仮想の支持面として機能する３点を精度良く抽出して、検査精度を高める。【解決手段】検査対象の部品の各端子につき、それぞれ代表点の３次元座標を求めた後、各代表点を３個ずつ順に組み合わせながら、組み合わせにかかる３点が第１、第２の各条件を満たしているかどうかを判別する。第１の条件は、３点による三角形平面に部品中心部を投影できるという条件であり、第２の条件は、三角形平面が３点以外のすべての代表点よりも下方に位置するという条件である。双方の条件を満たす３点の組み合わせが見つかると、これら３点を含む仮想平面と各代表点との距離Ｄを求め、その距離Ｄを用いて各端子の浮き上がりの有無を判別する。【選択図】  図５
2006058213.tif 000002
【特許請求の範囲】
【請求項１】
パッケージの側面または底面に多数の端子が配置された電子部品を検査対象として、各端子の浮き上がりの有無を検査する方法であって、
各端子について、それぞれ代表点の３次元座標を計測する第１のステップと、
前記第１のステップで得た各代表点の３次元座標を用いて、これらの代表点の中から部品中心部を投影可能な三角形平面を構成し、かつこの三角形平面が他の代表点よりも下方に位置する３個の代表点を抽出する第２のステップと、
前記第２のステップで抽出された３個の代表点にかかる三角形平面とその他の代表点の距離とを算出し、その算出結果に基づき各端子の浮き上がりの有無を判別する第３のステップとを、実行することを特徴とする電子部品の端子検査方法。
【請求項２】
請求項１に記載された方法において、
前記第２のステップでは、各代表点を３個ずつ順に組み合わせながら、仮想の水平面に前記組み合わせにかかる３個の代表点を投影し、各投影点による三角形内に前記部品中心部を投影できるか否かを判別することにより、前記３個の代表点にかかる三角形平面に部品中心部を投影できるか否かを判別する電子部品の端子検査方法。
【請求項３】
請求項１または２に記載された方法において、
前記第２のステップでは、前記部品中心部の位置データとして、すべての代表点の３次元座標の平均値を使用する電子部品の端子検査方法。
【請求項４】
パッケージの側面または底面に多数の端子が配置された電子部品を検査対象として、各端子の浮き上がりの有無を検査する装置であって、
各端子の代表点の３次元座標を計測またはその計測結果を入力する３次元座標取得手段と、
前記３次元座標取得手段が求めた各代表点の３次元座標を用いて、これらの代表点の中から、部品中心部を投影可能な三角形平面を形成し、かつこの三角形平面が他の代表点よりも下方に位置する３個の代表点を抽出する抽出手段と、
前記抽出手段が抽出した３個の代表点を含む平面とその他の代表点の距離とを算出する距離計測手段と、
前記距離計測手段により代表点毎に算出された距離をそれぞれ所定のしきい値と比較して、各端子の浮き上がりの有無を判別する判別手段と、
前記判別手段の判別結果を検査結果として出力する出力手段とを、具備して成る検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パッケージの側面に多数のリード端子が設けられたタイプの電子部品（ＩＣ，ＱＦＰなど）またはパッケージの底面に多数のボール端子が設けられたタイプの電子部品（ＢＧＡ，ＣＳＰなど）を検査対象として、各端子の浮き上がりの有無を検査する技術に関連する。
【背景技術】
【０００２】
上記の検査を精度良く行うために、各端子の先端部の３次元座標を求め、その計測結果を解析することが提案されている（特許文献１参照。）。
【０００３】
【特許文献１】特開平７−１５１５２２号公報
【０００４】
特許文献１のように、各端子の３次元座標を用いて浮きの有無を判別する場合、一般に、端子間に形成される仮想の平面のうちの最下面を形成する３点を抽出する。そしてこれら３点による仮想平面と他の点との距離を算出し、各距離をそれぞれ所定のしきい値と比較する。
【０００５】
従来は、各３次元座標を用いた最小自乗法により各代表点の分布に近似する平面を求めた後、この平面より下方にある代表点の中から平面に対する距離が最も大きいもの、２番目に大きいもの、３番目に大きいものの３点を求め、これらの点による仮想平面を最下面としている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
端子の浮き上がりを精度良く検出するには、基板面などの水平面上に部品を置いたときに、水平面と各端子との間で部品全体を支持する仮想平面に対する距離を求める必要がある。
また、３つの点で部品本体を水平に支持するには、これらの３点が構成する三角形状の平面が部品中心部を含む部分に対向しているのが望ましい。
【０００７】
これに対し、上記した従来の方法では、最下面を形成する３点として、最も下方にあるものから順に３点を抽出しているので、一列に並んだ端子の中から２点または３点が抽出されるなど、平面を構成できない３点が抽出されたり、部品中心部を投影できない三角形平面を構成する３点が抽出されるなど、適切な３点が選択されない可能性がある。
【０００８】
この発明は上記問題点に着目してなされたもので、各端子の代表点の中から、部品の仮想の支持面として機能する３点を精度良く抽出することにより、端子の浮き上がり検査にかかる精度を高めることを目的とする。
【課題を解決するための手段】
【０００９】
各端子の代表点のうちの任意の３点を抽出し、これら３点により形成される三角形状の仮想の平面（この明細書では「三角形平面」という。）を考える。この三角形平面が部品の仮想の支持面となるには、部品中心部をこの平面上に投影することができるという条件（以下、「第１条件」という。）、およびこの三角形平面が前記３点以外のすべての代表点よりも下方（パッケージとは反対の方向を意味する。）に位置するという条件（以下、「第２条件」という。）を満たすのが望ましい。
【００１０】
この発明にかかる電子部品の端子検査方法は、各端子について、それぞれ代表点の３次元座標を計測する第１のステップと、前記第１のステップで得た各代表点の３次元座標を用いて、これらの代表点の中から、部品中心部を投影可能な三角形平面を形成し、かつこの三角形平面が他の代表点よりも下方に位置する３個の代表点を抽出する第２のステップと、前記第２のステップで抽出された３個の代表点を含む平面とその他の代表点の距離とを算出し、その算出結果に基づき各端子の浮き上がりの有無を判別する第３のステップとを、実行することを特徴とする。
【００１１】
上記において、第１のステップでは、２台のカメラなどを用いて三角測量の原理による３次元計測処理を行うことができる。各端子の代表点は、基板に接する部分から選択するのが望ましい。ただし、リード端子の場合は、先端部の上面側の点を選択してもよい。
【００１２】
第２のステップでは、各端子の代表点を３個ずつ順に組み合わせ、組み合わせ毎に、その組み合わせにかかる３点が前記第１条件および第２条件の双方を満たすか否かを判別することができる。なお、この一連の判別処理の途中で両条件を満たす３点の組み合わせが見つかった場合には、その時点で判別処理を終了することができる。
【００１３】
前記第２のステップ中、３個の代表点の組み合わせが第１の条件を満たすか否かを判別する処理として、仮想の水平面に前記組み合わせにかかる３個の代表点を投影し、各投影点による三角形内に前記部品中心部を投影できるか否かを判別することができる。このようにすれば、部品の上方または下方から見た三角形平面と部品中心部との関係を認識することができるから、第１条件を満たすか否かを容易に判別することができる。
【００１４】
なお、部品中心部は、部品の本体（パッケージ）の重心または本体下面の中心点に対応する位置であるのが望ましいが、これに限定されるものではない。たとえば、あらかじめパッケージ表面の中央部にマークを付けておき、３次元計測処理の際に、このマークに対応する座標も計測し、これを部品中心部の位置として使用してもよい。または、あらかじめ部品中心部の座標を定めておき、この座標に基づき検査対象の部品を厳密に位置決めするようにしてもよい。さらに、好ましくは、前記第１のステップで求めたすべての代表点の３次元座標の平均値を算出し、これを部品中心部の位置データとして使用するとよい。
【００１５】
この発明にかかる検査装置は、各端子の代表点の３次元座標を計測または入力する３次元座標取得手段と、前記３次元座標取得手段が取得した各代表点の３次元座標を用いて、これらの代表点の中から、部品中心部を投影可能な三角形平面を形成し、かつこの三角形平面が他の代表点よりも下方に位置する３個の代表点を抽出する抽出手段と、前記抽出手段が抽出した３個の代表点を含む平面とその他の代表点の距離とを算出する距離計測手段と、前記距離計測手段により代表点毎に算出された距離をそれぞれ所定のしきい値と比較して、各端子の浮き上がりの有無を判別する判別手段と、前記判別手段の判別結果を検査結果として出力する出力手段とを具備する。
【００１６】
上記において、３次元座標取得手段は、前記した三角測量の原理を用いて各端子を計測する装置とすることができる。または、この種の３次元計測機能を備えた装置から計測結果を入力する入力部（インターフェース回路などを含む。）、もしくは３次元計測結果を保存した記憶媒体から前記３次元結果を読み出すドライブ装置とすることもできる。
【００１７】
抽出手段、距離計測手段、判別手段は、それぞれその手段の機能が設定されたコンピュータにより構成することができる。また、これら３つの手段を一台のコンピュータで構成することもできる。さらに、このコンピュータには、浮き上がりが検出された端子の浮き上がり量を計測する手段を設けることもできる。
出力手段には、検査結果をディジタルまたはアナログの信号で出力するための信号生成回路やインターフェース回路を含めることができる。
【発明の効果】
【００１８】
この発明によれば、電子部品の各端子の中から、部品を支持する仮想の三角形平面を構成する３点を精度良く求めることができるので、各端子の浮き上がりの有無を高い確度で判別することができ、高精度の検査を行うことができる。
【発明を実施するための最良の形態】
【００１９】
図１は、この発明にかかる検査装置の電気構成を示す。
この検査装置は、パッケージの側面に多数のリード端子が設けられた部品や、パッケージの底面に多数のボール端子が設けられた部品を検査対象として、各端子の浮き上がりの有無を検査するもので、２台のＣＣＤカメラ１ａ，１ｂ（以下、単に「カメラ１ａ，１ｂ」という。）、各カメラ１ａ，１ｂに対応する画像入力部２ａ，２ｂ、画像メモリ３、ＣＰＵ４、メモリ５、ワーク支持部６、入力部７、出力部８などにより構成される。
【００２０】
ワーク支持部６は部品パッケージの吸着機構を含むもので、この吸着機構により検査対象の部品を所定の高さ位置で支持する。各カメラ１ａ，１ｂは、ワーク支持部６により支持された部品を下方から撮像する。画像入力部２ａ，２ｂは、カメラ用のインターフェース回路やＡ／Ｄ変換回路などにより構成される。
【００２１】
画像メモリ３は、各画像入力部２ａ，２ｂでディジタル変換された画像データを記憶するためのものである。メモリ５には、ＣＰＵ４の動作に必要なプログラムや設定データが格納されるほか、作業用のデータ格納領域が設定される。
【００２２】
前記入力部７は、検査に先立ち、端子の浮き状態を判別するためのしきい値などを入力するためのもので、キーボードやマウスにより構成される。出力部８は、検査結果を出力するためのもので、モニタや外部機器への出力端子などを含む。
【００２３】
上記において、ＣＰＵ４は、画像メモリ３に入力された２枚の画像にそれぞれエッジ抽出処理などを施して、各端子に対応する領域を抽出する。つぎに、端子毎に１個の代表点を抽出し、各カメラ１ａ，１ｂの座標系の関係に基づき、各代表点を画像間で対応づけする。そして、対応づけられた代表点毎に、三角測量の原理に基づき、画像上の座標から３次元座標を算出する。
【００２４】
前記端子の代表点は、実装時に基板面に接する部分から選択される。図２はその選択例を示すもので、図中の１０，１２は部品本体を構成するパッケージの一部であり、１１はリード端子、１３はボール端子である。図２（１）のリード端子１１を有する部品では、端子１１の下面側先端部の点Ｐが選択されている。図２（２）のボール端子１３を有する部品では、端子１３の下端部の点Ｑが選択されている。
【００２５】
前記ＣＰＵ４は、３次元計測処理で求めた各代表点の３次元座標を用いて、部品の仮想の支持面（以下、単に「支持面」という。）を抽出する。そして、各代表点と前記支持面との距離を求め、これを所定のしきい値と比較することによって、各端子の浮き上がりの有無を判別する。また前記距離がしきい値を超えた端子については、前記支持面に対する代表点の距離が浮き上がり量として抽出される。
【００２６】
以下、部品の支持面を抽出する処理の詳細について、説明する。
図３は、この実施例の３次元計測処理に使用される空間座標系と検査対象の部品（図示例ではＱＦＰ）との対応関係を示す。この例では、水平面をｘｙ座標系で表すとともに、高さ方向をｚ軸として、部品のパッケージ１４がｘｙ平面に平行になるように支持し、計測を実施する。そして、各端子の代表点の３次元座標を求めると、これらの代表点を３点ずつ順に組み合わせ、組み合わせにかかる３点が構成する三角形平面が前記支持面に相当するか否かを判別する。
【００２７】
前述したように、３点による三角形平面が部品の支持面として機能するには、この三角形平面が部品中心部を投影可能な位置にあるという条件（第１条件）と、三角形平面が３点を除くすべての代表点よりも下方に位置するという条件（第２条件）とを満たすのが望ましい。この実施例では、まず、第１条件を満たすかどうかを判別するために、３点の座標をそれぞれｘｙ平面に投影し、これらの投影点により構成される三角形内に部品中心部の投影点が含まれるかどうかを判断する。なお、部品中心部として部品本体の重心やパッケージ面の中心点を使用しても良いが、その場合には、重心や中心点を計測するか、重心や中心点が一定の場所に位置するように部品を厳密に位置決めする必要がある。この実施例では、そのような処理の煩雑さをなくすために、各代表点の座標の平均値を部品中心部を示す位置データとして使用する。
【００２８】
図４（１）（２）は、前記３点および部品中心点の投影像の関係を示す。各図において、点Ａ，Ｂ，Ｃは前記３点の投影点である。また、点Ｏは、各代表点の座標の平均値に対応する点の投影点である。以下では、この点Ｏを中心点Ｏという。
この実施例では、点Ａと中心点Ｏとを通る直線ＬＡを求め、この直線ＬＡが点Ａに対向する線分ＢＣに交わるかどうかをチェックする。他の点Ｂ，Ｃについても、同様に、その点と中心点Ｏとを通る直線ＬＢ，ＬＣを求め、これらの直線ＬＢ，ＬＣがそれぞれ線分ＡＣ，ＡＢに交わるかどうかをチェックする。
【００２９】
三角形ＡＢＣ内に中心点Ｏが含まれる場合には、図４（１）に示すように、いずれの直線ＬＡ，ＬＢ，ＬＣも前記線分と交差する。一方、三角形ＡＢＣ内に中心点Ｏが含まれない場合には、図４（２）に示すように、線分と交差しない直線（図示例ではＬＡ，ＬＣ）が存在する。
【００３０】
ここで、３点Ａ，Ｂ，Ｃの座標をそれぞれ（ｘＡ，ｙＡ）（ｘＢ，ｙＢ）（ｘＣ，ｙＣ）、中心点Ｏの座標を（ｘＯ，ｙＯ）とし、線分ＡＢに直線ＬＣが交わるための条件を考える。
【００３１】
まず、前記線分ＡＢを含む直線（直線Ｍとする。）の式を
ｐ１・ｘ＋ｑ１・ｙ＋ｒ１＝０とし、  ｄｘ＝ｘＢ−ｘＡ，  ｄｙ＝ｙＢ−ｙＡ  とすると、ｐ１＝ｄｙ、ｑ１＝−ｄｘ、ｒ１＝ｄｘ・ｙＡ−ｄｙ・ｘＡ    となる。
【００３２】
また直線ＬＣの式をｐ２・ｘ＋ｑ２・ｙ＋ｒ２＝０とすると、
ｐ２＝ｙＣ−ｙＯ、  ｑ２＝ｘｏ−ｘＣ、
ｒ２＝（ｙＯ−ｙＣ）・ｘＯ＋（ｘＣ−ｘＯ）・ｙＯ    となる。
よって、直線Ｍと直線ＬＣとの交点（ｘ，ｙ）を、以下の（１）（２）式で求めることができる。
【００３３】
【数１】
2006058213.tif 000003
【００３４】
【数２】
2006058213.tif 000004
【００３５】
前記直線ＬＣが線分ＡＢと交わるならば、上記（１）（２）式で求めた交点（ｘ，ｙ）は線分ＡＢ上に位置することになる。そのためには、以下の条件Ｘまたは条件Ｙを満たす必要がある。
条件Ｘ：｜ｄｘ｜≧｜ｄｙ｜のとき
ｄｘ＜０であればｘＢ≦ｘ≦ｘＡ；ｄｘ≧０であればｘＡ≦ｘ≦ｘＢ
条件Ｙ：｜ｄｘ｜＜｜ｄｙ｜のとき
ｄｙ＜０であればｙＢ≦ｙ≦ｙＡ；ｄｙ≧０であればｙＡ≦ｙ≦ｙＢ
【００３６】
よって、直線ＬＡ，ＬＢ，ＬＣにつき、それぞれ（１）（２）式に基づき対応する線分ＢＣ，ＡＣ，ＡＢを含む直線との交点を求め、その交点が前記条件ＸまたはＹを満たすかどうかを判別することにより、前記三角形ＡＢＣ内に中心点Ｏが含まれるかどうかを確認することができる。
【００３７】
この実施例では、上記の方法により、第１条件を満たすと判断された代表点の組み合わせについて、さらにこれらの点が第２条件を満たすかどうかを判別するようにしている。この判別処理では、各代表点を含む仮想平面を求め、他のすべての代表点がこの仮想平面よりも上方にあるかどうかを判別する。なお、この仮想平面は、前記した３点による三角形平面を包括するものである。この仮想平面の式をａｘ＋ｂｙ＋ｃｚ＋ｄ＝０とすると、組み合わせ外の任意の代表点（ｘｉ，ｙｉ，ｚｉ）がこの平面より上方に位置するための条件Ｚは、
ａｘｉ＋ｂｙｉ＋ｃｚｉ＋ｄ＞０となる。
【００３８】
図５は、上記の検査装置が一部品を検査する際の処理の手順を示す。なお、この手順は、各カメラ１ａ，１ｂにより検査対象の部品が撮像され、その画像が画像メモリ３に入力されたことに応じてスタートする。
まず、最初のＳＴ１（ＳＴはステップの略である。以下も同じ。）では、各カメラ１ａ，１ｂから入力された画像を処理して、各端子の代表点の３次元座標を算出する。算出された３次元座標は前記メモリ５に格納される。なお、前記したｘｙ平面への投影点には、代表点の３次元座標のｘ，ｙ座標が反映されるので、投影点の座標を求める処理は不要である。
【００３９】
つぎに、ＳＴ２では、各代表点のｘ座標およびｙ座標の平均値ｘＯ，ｙＯを求め、この平均値ｘＯ，ｙＯに対応する点を前記中心点Ｏとする。
【００４０】
ＳＴ３では、前記代表点の中から任意の３点を選択する。ＳＴ４では、これら３点の投影点Ａ，Ｂ，Ｃと中心点Ｏとを通る直線ＬＡ，ＬＢ，ＬＣを求める。ＳＴ５では、これらの前記直線ＬＡ，ＬＢ，ＬＣと各直線に対応する線分ＢＣ，ＡＣ，ＡＢにつき、それぞれ（１）（２）式に基づき交点の座標を算出する。
【００４１】
ＳＴ６では、前記ＳＴ５で算出した各交点がそれぞれ条件Ｘまたは条件Ｙを満たすかどうかを判別する。ここでいずれの交点とも条件Ｘまたは条件Ｙを満たしている場合には、前記第１条件が満たされていると判断してＳＴ７に進む。
【００４２】
ＳＴ７では、前記３点の３次元座標を用いて、３点を含む仮想平面を求める。なお、３点の座標を（ｘＡ，ｙＡ，ｚＡ）（ｘＢ，ｙＢ，ｚＢ）（ｘＣ，ｙＣ，ｚＣ）とすると、前記した平面の式の各係数ａ，ｂ，ｃ，ｄは、以下のようになる。
ａ＝（ｙＢ−ｙＡ）（ｚＣ−ｚＡ）−（ｙＣ−ｙＡ）（ｚＢ−ｚＡ）
ｂ＝（ｘＣ−ｘＡ）（ｚＢ−ｚＡ）−（ｘＢ−ｘＡ）（ｚＣ−ｚＡ）
ｃ＝（ｘＢ−ｘＡ）（ｙＣ−ｙＡ）−（ｘＣ−ｘＡ）（ｙＢ−ｙＡ）
ｄ＝−（ａｘＡ＋ｂｙＡ＋ｃｚＡ）
【００４３】
つぎのＳＴ８では、前記３点以外のすべての代表点の座標を用いて、各点がそれぞれ前記条件Ｚを満たしているかどうかを判別する。ここで、すべての代表点が条件Ｚを満たすと、前記第２条件が満たされていると判断する。
【００４４】
ＳＴ６で前記３点が第１条件を満たさないと判断された場合、または第１条件は満たすがＳＴ８で第２条件を満たさないと判断された場合は、ＳＴ９を介してＳＴ３に戻り、３点の選択をやり直す。そして、新たな組み合わせにかかる３点について、同様にＳＴ４〜８の処理を実行する。
【００４５】
所定の組み合わせにかかる３点について、第１、第２の各条件を満たしていると判断すると、ＳＴ１１に進み、この組み合わせにかかる仮想平面に対する各代表点の距離Ｄを算出する。なお、代表点の座標を（ｘｉ，ｙｉ，ｚｉ）とした場合、距離Ｄの算出式は（３）式に示すとおりである。
【００４６】
【数３】
2006058213.tif 000005
【００４７】
ＳＴ１２では、ＳＴ１１で求めた代表点毎の距離Ｄを所定のしきい値と比較するなどして、各端子の浮き上がりの有無を判別する。ＳＴ１３では、この判別結果を出力部８から出力し、しかる後に処理を終了する。
【００４８】
なお、代表点の組み合わせをすべて選択し終えた時点で、なお、ＳＴ６またはＳＴ８が「ＮＯ」となった場合には、ＳＴ９が「ＹＥＳ」となってＳＴ１０に進み、出力部８からエラー信号を出力する。部品の支持の状態が悪かったり、端子に大きな浮きが生じたり、端子が曲がって部品が斜めになっているなど、明らかな不良が生じている場合には、このエラー処理が実行されると考えられる。
【図面の簡単な説明】
【００４９】
【図１】この発明にかかる検査装置の電気構成を示すブロック図である。
【図２】端子における代表点の選択例を示す説明図である。
【図３】３次元座標系と部品との関係を示す説明図である。
【図４】３個の代表点の投影点と中心点との関係を示す説明図である。
【図５】検査にかかる処理手順を示すフローチャートである。
【符号の説明】
【００５０】
１ａ，１ｂ  カメラ
４  ＣＰＵ
１１  リード端子
１３  ボール端子
１４  パッケージ
【図１】
2006058213.tif 000006
【図２】
2006058213.tif 000007
【図３】
2006058213.tif 000008
【図４】
2006058213.tif 000009
【図５】
2006058213.tif 000010