JP3922608B2 - 高さ測定方法及び装置 - Google Patents
高さ測定方法及び装置 Download PDFInfo
- Publication number
- JP3922608B2 JP3922608B2 JP04846298A JP4846298A JP3922608B2 JP 3922608 B2 JP3922608 B2 JP 3922608B2 JP 04846298 A JP04846298 A JP 04846298A JP 4846298 A JP4846298 A JP 4846298A JP 3922608 B2 JP3922608 B2 JP 3922608B2
- Authority
- JP
- Japan
- Prior art keywords
- height
- height data
- data
- protrusion
- flat portion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Electric Connection Of Electric Components To Printed Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、高さ測定方法及びその装置、更に詳細には、表面実装システムに用いられるクリーム半田印刷機によって印刷されたクリーム半田など微細な高さを測定する高さ測定方法及び装置に関する。
【0002】
【従来の技術】
従来から三次元形状を認識して高さを測定する装置として光切断法を用いた三次元認識装置が知られている。この光切断法による三次元認識装置を図20に示す。光源であるライン光発生器121からのライン光122が被測定物123の斜め上方から所定の角度で投光され、被測定物123の表面に形成された面形状に沿ってできた像が垂直上方よりCCDカメラ124で撮影される。CCDカメラ124で撮影した画像はCCDカメラ制御器125でA/D変換され、画像取込み器126で取込まれる。そして、その取込まれたデータは座標演算器127によって被測定物123の三次元座標に変換される。
【0003】
クリーム半田印刷機に組込んで使用するようなクリーム半田高さ測定装置においては、図20で点線で囲まれた部分(測定ユニット)128が、XY移動ガントリー(XY移動機構)に組み込まれて使用される。まずクリーム半田印刷機に印刷用の配線基板が搬入されると、配線基板とステンシルの位置決め完了後に、XY移動ガントリーによって、初期待避位置から目的とする測定位置まで測定ユニット128が移動される。そして、測定ユニットは被測定物である配線基板上のパッド面(レジスト面)に形成されるライン光の像を、CCDカメラ124によって撮像してから初期待避位置に再び移動待避する。次に配線基板のパッド面にクリーム半田が印刷される。配線基板のパッド面への印刷が完了した後に、再びXY移動ガントリーによって測定ユニット128が目的とする測定位置まで移動されて、クリーム半田の形状に沿ってできたライン光の像を、CCDカメラ124によって撮像してから、初期待避位置に再び移動待避する。
【0004】
以上の撮像データから、配線基板のパッド面の高さ方向の重心位置座標と、クリーム半田部の高さ方向の重心位置座標を計算する。そして、配線基板のパッド面の高さ方向の重心位置座標とクリーム半田部の高さ方向の重心位置座標の差し引きから、配線基板のパッド面を基準として、印刷後のクリーム半田部の高さを算出する。そして各パッド面にわたるクリーム半田部の平均高さを算出する。
【0005】
三次元形状を得るためには、光切断位置を変えた複数のデータが必要となる。例えば長さが2mmのパッドに印刷されたクリーム半田の三次元形状を得るために、50μmのピッチで光切断を行うとする。この場合は、クリーム半田の印刷前に、配線基板のパッド面に形成されるライン光の像をCCDカメラによって、光切断の位置を変えながら40回撮像する。さらに、クリーム半田の印刷後に、クリーム半田の形状に沿って形成されたライン光の像を、CCDカメラで光切断の位置を変えながら40回撮像する必要がある。従って、CCDカメラによる撮像回数の合計は80回となる。同じく、測定ユニットの微小移動回数の合計も80回となる。
【0006】
【発明が解決しようとする課題】
しかしながら、従来のクリーム半田印刷機に組込んで使用するようなクリーム半田の高さ測定装置においては、印刷前のライン光の像と印刷後のライン光の像をCCDカメラで撮像してクリーム半田の高さを算出しなければならない。このためにタクトタイムが長くなり、半導体の表面実装システム全体の性能を下げてしまうという問題点があった。
【0007】
さらに、光切断の位置を微小に変えるにもCCDカメラが搭載された重い測定ユニットを移動しなければならず、XY移動ガントリーに対しては、目的とする測定位置までのスキップ機能と、測定目的位置での微小移動という二つの機能を持たせねばならず、XY移動ガントリー駆動用のサーボ系が複雑になるという問題点があった。
【0008】
従って、本発明は、このような問題を解決するためになされたもので、タクトタイムを大幅に向上させて正確な高さを測定することが可能な高さ測定方法及び装置を提供することをその課題とする。
【0009】
【課題を解決するための手段】
本発明では、この課題を解決するために、
平坦部から突出する突出物を有する被測定物にライン光を投光し、ライン光によって切断される平坦部及び突出物を撮像して光切断法により平坦部からの突出物の高さを測定する高さ測定方法において、
撮像された突出物の像から突出物の高さデータを求め、
前記高さデータを一次微分と二次微分あるいは一次微分し、
前記微分値がしきい値を超える時の前の高さデータを抽出し、
抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ前記抽出された高さデータを平坦部の高さデータとする構成を採用している。
【0010】
また、本発明では、
平坦部から突出する突出物を有する被測定物にライン光を投光し、ライン光によって切断される平坦部及び突出物を撮像して光切断法により平坦部からの突出物の高さを測定する高さ測定装置において、
突出物にライン光を投光する投光装置と、
前記ライン光が投光された突出物の像を撮像する手段と、
前記ライン光による突出物の画像データを処理して突出物の高さデータを算出する手段と、
前記高さデータを一次微分と二次微分あるいは一次微分する手段と、
前記微分値から平坦部の高さを算出する手段と、
前記突出物の高さを前記平坦部の高さを基準にして算出する手段と、を有し、
前記平坦部の高さを算出する手段は、前記微分値がしきい値を超える時の前の高さデータを抽出し、抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ前記抽出された高さデータを平坦部の高さデータとする構成も採用している。
【0011】
このような構成では、被測定物の画像データを処理して得られる高さデータの一次微分値と二次微分値あるいは一次微分値から被測定物の平坦部の高さデータを求め、この平坦部の高さを基準にして突出物の高さデータが算出されるので、突出物が形成される前の平坦部の高さデータを求める必要がなく、平坦部に突出物を形成するごとに突出物の高さを測定しなければならないような場合、例えば、配線基板にクリーム半田を印刷し、クリーム半田の高さを測定しなければならない場合などにタクトタイムを顕著に向上させることができる。
【0012】
本発明では、突出部の立ち上がり部では、微分値が大きくなるという考え方に立脚しているが、それ以外でも微分値が大きくなるという問題がある。この問題は、抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ抽出された高さデータを平坦部の高さデータとすることにより解決している。
【0013】
また、突出部の立ち上がりの途中でも、微分値が大きくなることがあるが、この問題は、高さデータが抽出されたときそれ以前の複数個の高さデータの中からすでに平坦部の高さデータが採用されているときは、その抽出された高さデータを破棄することにより解決している。
【0014】
更に、被測定物のライン光に沿った方向に被測定物にそりがある場合には、正確な測定ができないが、この問題は、平坦部の高さデータとして採用された複数個の高さデータに基づいて多重線形回帰を用いて平坦部の高さデータの近似式を求め、その近似式から平坦部のライン光に沿った方向の傾き補正を行なうことにより解決している。
【0015】
【発明の実施の形態】
以下、図面に示す実施の形態に基づいて本発明を詳細に説明する。
【0016】
[基本構成]
図1は本発明の1実施形態を示した3次元測定装置の主要光学部品の基本構成図であり、図2はその側面図である。各図において、符号1で示すものは、レーザ光源としてのレーザダイオードで、このレーザダイオード1から発光されたレーザ光は、コリメートレンズ2で光学中心軸に平行な平行光束1aにされる。このレーザ平行光束1aは、フォーカスレンズ3と投光ミラー4とラインジェネレータレンズ5が組み込まれている投光ユニット7に入射する。レーザ光束は、投光ユニット7内のフォーカスレンズ3によりスポット光となるように絞り込まれ、投光ミラー4によって垂直軸(Z方向)に対して45度の角度に反射され、ラインジェネレータレンズ5によって幅14〜20μm、長さ10mmのライン光9となり、被測定物(クリーム半田ないしそれが印刷される配線基板)11上にX方向にライン光9を形成する。
【0017】
被測定物11からの散乱反射光は、光軸6aが垂直軸となるように配置された6.4mm×4.8mm視野のノンインターレース式CCDカメラ6により撮像される。また、この投光ユニット7は、リニアモータ8のシャフト8aに取り付けられており、リニアモータ8がY方向に約10mmのストロークで直線運動を行なうことにより、2重矢印で示したように、平行光束1aに平行に往復移動する。この投光ユニット7の移動によりライン光9はライン光の伸びるX方向と垂直方向に移動することになる。
【0018】
[回路構成(データ取得)]
図3は、3次元測定装置において被測定物の画像データを取得する回路構成を示したブロック図である。同図において、リニアモータ駆動指令器31は、CPU44からのスタート信号を受けて、リニアモータドライバ32にリニアモータ駆動用の指令パルス列を出力し、リニアモータ8を1パルス当たり0.25μm移動させる。リニアモータ駆動指令器31は、同時にLD(レーザダイオード)オン/CCDトリガタイミングデコーダ(以下タイミングデコーダという)35に正/逆方向信号を送り、リニアモータ8が正方向か逆方向のどちらに移動しているかを知らせる。
【0019】
リニアモータドライバ32は、指令パルス列を受けてリニアモータを駆動するとともに、リニアモータ8内蔵の位置エンコーダ8bからの実際位置を示す信号を受けてリニアモータ8への供給電圧を調整し、リニアモータの位置をフィードバック制御する。
【0020】
位置カウンタ34は、リニアモータ8の位置エンコーダ8bにより90度位相の異なるA相信号、B相信号を受け、リニアモータ8の位置を示す位置信号をデジタルデータで出力する。なお、位置カウンタ34のリセットは、位置エンコーダ8bの原点リセット信号により行なう。
【0021】
タイミングデコーダ35は、位置カウンタ34からの位置データを受けてLDオンのタイミング信号(160μmピッチ)を出力する。この信号の立ち上がりを受けて、ワンショットマルチバイブレータ(MS)46は、2ms幅のLDオンパルスをレーザダイオードドライバ36に出力し、レーザダイオード1をパルス点灯する。レーザダイオード1には、光量モニタフォトダイオード(不図示)が内蔵されており、これによりレーザダイオード1の光量が一定に制御される。
【0022】
なお、LDオンの最中にも、リニアモータ8が動いているために、移動方向によりライン光位置がずれるための補正と、正方向と逆方向で半ピッチ分(実施例では80μm)ズラすために、上述したようにリニアモータ駆動指令器31から正/逆方向信号が入力される。
【0023】
位置ラッチ37は、位置カウンタ34から出力される位置データをLDオンのタイミングの立ち上がりでラッチし、そのときのライン光のY方向の位置をMS46からのLDオンパルスの立ち下がりタイミングに同期してCPU44に伝えている。LDオン中にもライン光が移動して、実際のライン光位置とずれを生じるが、これについては、ライン光移動速度とLDオン時間と正/逆方向信号により、CPU44内で補正を行なっている。
【0024】
一方、同期信号タイミング発生器39は、タイミングデコーダ35からOR回路35’を介してCCDカメラ同期タイミング信号を受け、HD水平同期信号とタイミングを合わせたVD垂直同期信号を出力する。このVD垂直同期信号に関連して、前フレームの各画素の光量データ読み出しが開始される。同時に、各画素での光量蓄積が始まり、ライン光9による画像がCCDカメラ6のCCDエリアイメージセンサ38上に取得される。
【0025】
CCDエリアイメージセンサ38上の像は、同期信号タイミング発生器39からの垂直レジスタ転送クロック、水平レジスタ転送クロック等により、ドライバ33を介して各画素の光量値(アナログ値)として読み出される。これが、アンプ47を介して、A/D変換器48に入力され、デジタルデータとして、V−RAM画像メモリ40に入力される。
【0026】
水平アドレスカウンタ42は、同期信号タイミング発生器39からの水平同期信号の立ち下がりより所定の水平クロック数後にリセットされ、その後水平クロックをカウントすることにより有効画面内の現在の画素の水平方向の位置(水平アドレス)を出力する。この水平アドレス値は、マルチプレクサ41を介してV−RAM画像メモリ40の水平アドレスに入力される。
【0027】
一方、垂直アドレスカウンタ43は、同期信号タイミング発生器39からの垂直同期信号の立ち下がりより所定の水平同期信号のパルス数後にリセットされ、その後水平同期信号のパルスをカウントすることにより有効画面内の現在の画素の垂直方向の位置(垂直アドレス)を出力する。この垂直アドレス値は、マルチプレクサ45を介してV−RAM画像メモリ40の垂直アドレスに入力される。
【0028】
書込タイミング発生器49は、水平アドレスカウンタ42よりの有効水平走査区間信号と、垂直アドレスカウンタ43よりの有効垂直走査区間信号の間、水平クロックに同期してV−RAM画像メモリ40に書き込み信号を出力する。これによりV−RAM画像メモリ40は有効水平走査区間信号と有効垂直走査区間信号で定まる有効画面内の各画素データを格納する。
【0029】
水平/垂直アドレス発生器50は、水平アドレス信号をマルチプレクサ41に、垂直アドレス信号をマルチプレクサ45に、また読出し信号をV−RAM画像メモリ40に出力する。マルチプレクサ41、45はCPU44からの切替信号に応じて読み出し側に切り替えられ、読出し信号に同期して水平アドレス信号及び垂直アドレス信号で定まるアドレスのV−RAM画像メモリ40の画像データが順次読み出される。なお、この画像データの読み出しは、V−RAM画像メモリ40に画像データの書き込みが完了した後に行なわれる。これは、CPU44からの切替信号によりマルチプレクサ41、45が書き込みから読み出しモードに切り替えられることにより保証される。
【0030】
[回路構成(データ処理)]
図4には、VーRAM画像メモリ40に格納された画像データを処理するための回路構成が図示されており、VーRAM画像メモリ40を中心とした回路構成は、図3に図示したものと同じものが図示されている。
【0031】
切替信号によりマルチプレクサ41、45が読出しに切り替えられることにより読出し信号に同期してVーRAM画像メモリ40から読み出される画像データは、階調データフィルタ処理ブロック60に入力され、ノイズ分が除去される。階調データフィルタ処理ブロック60には、2つの1ラインバッファ61、62が設けられ、これにより3ライン分の画像データが同時に得られる。これらの3ライン分の画像データは演算回路63に入力され、画像データの平坦度Fが演算され、また演算回路64にも入力されて、階調の最大値MAXと階調の最小値MINの差ΔBが演算される。また、3ライン分の画像データは帯域除去フィルタ68にも入力され、帯域除去フィルタがかけられる。また1ラインバッファ61の出力は遅延回路69に入力され、演算処理時間分に相当する遅延がかけられる。なお、演算回路63、64及び帯域除去フィルタ68の処理はそれぞれ3×3の各画素ブロック単位で処理が行なわれる。
【0032】
演算回路65は画像データの平坦度Fの差ΔBに対する比を演算し、比較器66はその演算結果をしきい値66’と比較する。しきい値以下であればマルチプレクサ67は、帯域除去フィルタ68で帯域除去フィルタ処理された画像データを選択し、またしきい値以上であれば遅延回路69で各演算時間分に相当する遅延のかけられた画像データを選択して二値化処理ブロック70に出力する。
【0033】
二値化処理ブロック70では、階調データフィルタ処理ブロック60からの画像データに対して平均値演算回路71で1ライン毎に平均値x(上にバー付き)が演算され、また標準偏差演算回路72で1ライン毎に標準偏差ρが演算され、しきい値演算回路74でしきい値(x+1.5ρ)が演算される。比較器75は、このしきい値と1ラインバッファ73で保持していた1ライン分の画像データを比較し、画像データの二値化を行なう。
【0034】
二値化処理ブロック70から二値化された画像データは、二値化データフィルタ処理ブロック80のノイズ除去処理回路83と2つの1ラインバッファ81、82に入力される。ノイズ除去フィルタ処理回路83は、入力側の2つの1ラインバッファ81、82と直接の画像データから同時に3ライン分の画像データを受け、3×3の各画像ブロック毎に小突起、孤立データがあるかを調べ、あればそのデータを除去する処理を行なう。ノイズ除去処理回路83の出力は判定回路87と1ラインバッファ85に入力される。判定回路87は、1ラインの全てが0かを判定し、1ライン全てが0の場合はマルチプレクサ89でオア回路88の出力を、またそうでない場合は1ラインバッファ85の出力を選択し、それを1ラインバッファ86に入力する。1ラインバッファ85の画像データは、現在の画像データに、またノイズ除去処理回路83の出力と1ラインバッファ86の画像データはその前後の画像データに相当するので、1ライン全てが0の場合は、前後のラインの同じ水平位置のデータのオア処理により穴埋めされた画像データが出力される。
【0035】
二値化データフィルタ処理ブロック80からの二値化された画像データは、重心位置演算処理ブロック90に入力され重心位置が各ライン毎に演算される。重心位置演算処理ブロック90の立上り検出回路91は、二値化画像データが「0」から「1」に変化するのを検出して、そのときの水平アドレスカウンタ93の水平アドレス値をラッチ回路94にラッチする。また、立下り検出回路92は、二値化画像データが「1」から「0」に変化するのを検出して、そのときの水平アドレスカウンタ93の水平アドレス値をラッチ回路95にラッチする。重心位置演算回路96は、この立上り及び立下り時の水平アドレス値を平均して重心位置を演算し、その値を重心位置演算結果メモリ100に格納する。なお、水平アドレスカウンタ93は水平アドレス値を求めるために、V−RAM画像メモリからの読み出し用の水平クロックをカウントしている。また、水平アドレスカウンタ93のリセットは画像データ1ラインの切り替わり時期に行なわれる。
【0036】
[高さデータの測定]
次に、このような構成において、被測定物を配線基板に印刷されたクリーム半田に例をとり配線基板ないしクリーム半田の高さデータを求める処理を図5の流れを参照して説明する。
【0037】
まず、ステップS40でクリーム半田が印刷されたことが確認された後、ステップS41において、CPU44はリニアモータ駆動指令器31に位置指令信号とスタート信号を発生し、リニアモータ8をクリーム半田が印刷されている高さ測定位置に移動させる。この実際の高さ測定位置にくると、CPU44よりオア回路35’を介してCCDカメラ同期タイミングパルスを送出するとともに(ステップS42)、LDオン信号を発生してレーザダイオード1を例えば2ms点灯させる(ステップS43)。
【0038】
レーザダイオード1から発光されたレーザ光は、コリメートレンズ2で集光されて、光学中心軸に対して平行な平行光束1aとなり、フォーカスレンズ3によりスポット光となるように絞り込まれる。このレーザスポット光は、投光ミラー4によって入射角に対して45度の方向に反射され、ラインジェネレータレンズ5に入射する。このレンズ5によりレーザスポット光は、プリズム効果によって一方向(X方向)に引き伸ばされて、被測定物11上で幅14μm、長さ10mmのライン光9となる。このライン光は、視野6.4mm×4.8mmでノンインターレース式のCCDカメラ6によって撮像される。
【0039】
ステップS44でT1の時間待機した後、ステップS45でCCDカメラ同期タイミングパルスを送り、同期信号タイミング発生器39を駆動してCCDカメラ6のイメージセンサ38の画像データを書込タイミング発生器49の出力に同期してVーRAM画像メモリ40に読み込む(ステップS46)。このようにして、取得された画像データが図6に図示されている。同図において、右側に突出した輝度の高い像がクリーム半田部113aであり、その間の輝度の低い直線部分が配線基板のレジスト面ないしパッド面113bである。
【0040】
この画像データはステップS47において各画像処理を受ける。まず、CPU44の切替信号によりマルチプレクサ41、45が読み出しモードに切り替わり、水平/垂直アドレス発生器50からの読み出し信号に従って水平アドレス及び垂直アドレスに同期してVーRAM画像メモリ40から画像データが読み出される。
【0041】
読み出された画像データは階調データフィルタ処理ブロック60で階調データフィルタ処理が行なわれる。演算回路63は、各3×3の画素ブロックの中心の画素を注目画素として、その周りの階調の平坦度Fを演算する。この平坦度Fは、注目画素周囲の画素間差の絶対値の平均値として求められ、画素列をA、B、C・・・・、画素行を1、2、3・・・・として、例えば、注目画素をB2とすると、
【0042】
【数1】
【0043】
を算出することにより平坦度Fが演算される。演算回路64は、各3×3の画素ブロックの画素の最大値と階調の最小値の差ΔBを求め、演算回路65はF/ΔBを演算する。比較器66はF/ΔBがしきい値66’より小さいときには、画像データが平坦でないので、マルチプレクサ67を切り替える。これにより帯域除去フィルタ回路68で注目画素に対して
【0044】
【数2】
【0045】
の帯域除去フィルタ処理のかけられたデータが出力され、一方ΔB=0の時またはF/ΔBがしきい値より大きい時は遅延回路69からのデータが選択され、帯域除去フィルタ処理されないデータが出力される。
【0046】
このように階調データのフィルタ処理が行なわれた画像データは、二値化処理ブロック70で二値化処理される。そのために、演算回路71、72は各ラインの階調の平均値x(上にバー付き)と標準偏差ρを計算する。比較器75は、1ラインバッファ73の各画素毎にその画素の階調データがそのラインの階調の平均値x+ρ×1.5より大きい時は現在の画素の値を1に、以下の時は現在の画素の値を0にして二値化する。
【0047】
この各二値化された画像データは、二値化データフィルタ処理ブロック80に送られ、ノイズ除去処理回路83は各3×3画素ブロック毎に小突起データ並びに孤立データをノイズとして除去する。このノイズ除去は、図7に示したようなa〜fのフィルタ処理を行うことに対応している。3×3の中心の画素を注目画素として、図7のパターンが現れた時、その注目画素の値を0にする。f以外の5種類のフィルタは、90度づつ回転させて実行する。このようにノイズ処理された二値化画像データは、1ラインバッファ85、86に送られる。判定回路87は、1ラインの全ての画素が0の場合には、前後のラインを参照して穴埋めを行なう。例えば、第2ラインの画素が全て0であった場合、その前後のライン(第1と第3ライン)に1の画素がある場合には、その1の画素のあるところを1にする。
【0048】
このように処理された画像データは重心位置演算処理ブロック90に送られ、演算回路96で重心位置(平均値)が演算される。この重心位置は、図19に示すように、画素列A、B、C・・・に対して1、2、3・・・のような連番を付けることにより行なわれる。この例では1、2行目に関してはI列、J列の画素の値が1であり、I列の番号は9、J列の番号は10なので、1、2行目の重心値は9.5となる。また3、4、5行目に関してはI列、H列、G列の画素が1であり、各行の重心値は各列に付された番号と同じ値の9、8、7となる。以下同様にして各行の重心値を求める。
【0049】
このようにして縦軸を重心値、横軸をライン番号としてグラフを描くと図8のようになる。この結果がステップS48で高さデータとしてメモリ100に格納される。
【0050】
次に、メモリ100から図8の高さデータを読み出して、微分を行なって平坦部(レジスト面)の高さを求め、この平坦部を基準としたクリーム半田の高さを求める。
【0051】
図9の(a)は図8の高さデータの一次微分、(b)はその一次微分を更に微分した二次微分のグラフである。微分は左側から行っている。従って、図8を左から右に走査した時、上方への突起部がクリーム半田部の立ち上り部、下方への突起部が立ち下がり部である。立ち下がり部の突起レベルは小さいので、立ち上り部のみ使用した。また右方向からの微分も行い、右から走査した時の立ち上り部(左から走査したときの立ち下り部に相当)も使用した。以下に説明する処理により平坦部とクリーム半田の高さがそれぞれ測定される。
【0052】
まず、図10のステップS50で高さ補正メモリ(不図示)を設け、これをクリアしておく。続いて、ステップS51で変数xを2とし、ステップS52でそのときの高さデータhxの前のラインに対する高さデータの比h'xを求め、それをh'メモリ(不図示)に格納する(ステップS53)。h'xがしきい値1.25より大きい場合には(ステップS54)、ステップS55でhx-1を(x−1)をアドレスとして高さ補正メモリに格納する。ステップS56でxを+1して以上の処理をx=i+1になるまで繰り返す(ステップS57)。
【0053】
一次微分が終了すると、ステップS58でx=3とし、ステップS59で二次微分値h"xを求め、この二次微分値がしきい値1.25より大きい場合には(ステップS60)、ステップS61でhx-1を(x−1)をアドレスとして高さ補正メモリに格納する。続いてステップS62でxを+1して以上の処理をx=i+1になるまで繰り返す(ステップS63)。
【0054】
図10が左からの微分であるのに対して、図11は右からの微分を示すもので、ステップS71で変数xをi−1とし、ステップS72でそのときの高さデータhxの次のラインに対する高さデータの比h'xを求め、それをh'メモリに格納する(ステップS73)。h'xがしきい値1.25より大きい場合には(ステップS74)、ステップS75でhx+1を(x+1)をアドレスとして高さ補正メモリに格納する。ステップS76でxを−1して以上の処理をx=0になるまで繰り返す(ステップS77)。
【0055】
一次微分が終了すると、ステップS78でx=i−2とし、ステップS79で二次微分値h"xを求め、この二次微分値がしきい値1.25より大きい場合には(ステップS80)、ステップS81でhx+1を(x+1)をアドレスとして高さ補正メモリに格納する。続いてステップS82でxを−1して以上の処理をx=0になるまで繰り返す(ステップS83)。
【0056】
図12には、図8のクリーム半田部の測定された高さデータとその一次微分並びに二次微分データの一部(図8のライン45近辺のデータ)が表として図示されている。図12の1列目が高さデータ、2列目が左からの一次微分、3列目が左からの二次微分、4列目、5列目が右からの一次微分、二次微分、6列目が抽出されたデータである。例えば、2行目の一次微分値h'xは9.5/9.4=1.01となる(図10のステップS52)。二次微分h"xは一次微分の比1.01/0.99=1.02となる(図10のステップS59)。図12の高さデータ19の行をみると、一次微分は1.81、二次微分は1.72でありしきい値1.25以上である(ステップS54、S60)。そこでこの行の前の行の高さデータ10.5を抽出する(図12の6列目に例示されている)。
【0057】
このように微分値が大きくなるところの高さデータは、図10のステップS55、S61あるいは図11のステップS75、S81で高さ補正メモリに格納され、それが図11のステップS84で平均値hAVとして求められる。図8に示す画像データでは、この平均値は9.33となった。この平均値はクリーム半田が印刷される平坦部(レジスト面)の高さデータに相当するので、ステップS85で高さデータ(hx)からこの平坦部の高さデータ(hAV)を減算することにより平坦部からのクリーム半田の実際の高さ(平均高さは102μm)が算出される。これが図13に図示されている。予め別の計測器で測定したクリーム半田の平均高さも102μmであったので、上記処理によるクリーム半田の高さが正確であることが確認できた。
【0058】
なお、上記処理では、一次微分と二次微分値を用いているが、一次微分だけでも平坦部の高さデータを抽出することができる。また、左側あるいは右側の一方の微分値だけで高さデータを抽出するようにしてもよい。
【0059】
[他の実施形態]
上述した処理だけでは、クリーム半田の立上がり部分以外でも、微分値が大きくなり、平坦部の高さデータを抽出してしまう場合が有ること、クリーム半田の初期立上りではなく、立上り途中でも微分値が大きくなり、高さを抽出してしまう場合が有ること、基板にそりがある場合、光切断画像が傾いて撮像され、高さを正しく計算できないことなどの問題が発生する場合がある。そのために以下のような処理でこれらの問題を解決する。
【0060】
最初の問題点は、高さデータが抽出された時に、その高さデータの前後の平坦度を調べて、平坦であればその高さは採用せず、平坦でなければ採用することにより解決する。また、2番目の問題点は、注目高さを採用する際に、複数個前迄にすでに高さデータが抽出されているかどうかを調べ、採用されていなければ、現在の注目高さデータを新たに採用し、採用されていれば、現在の注目高さデータは放棄するようにする。そのために、図10のステップS54(S60)とステップS56(S62)の間に図14(a)、(b)に示した処理を設ける。
【0061】
図14(a)のステップS90では、ステップS54(S60)で一次微分値あるいは二次微分値がしきい値以上で高さデータが平坦部の高さデータとして抽出された場合、その近辺で平坦度F’
【0062】
【数3】
【0063】
を計算する(なお、二次微分のときはhに代わりh’を用いる)。続いてステップS91でこの平坦度がしきい値(2)よりも大きいかを判断し、大きい場合には、抽出した注目高さデータを採用し、それ以外は不採用とする。図12の表のデータで実際に計算してみると、抽出した高さデータは10.5であるから、数3による平坦度F’は、F’=(|9.5−10|+|10−19|+|19−20|+|20−9.5|)/4=5.25>2(しきい値)となる。従って、注目高さデータとして採用され、ステップS55(S61)で高さ補正メモリに格納する。
【0064】
2番目の問題点は、ステップS91とステップS55(S61)の間に図14(b)に示したステップS92の処理を設けることにより解決できる。同ステップでは、例えば5つ前まで、すなわち(x−2)から(X−6)に高さデータが採用されているかどうかを調べる。採用されてない場合には、注目高さデータとして採用され、ステップS55(S61)で高さ補正メモリに格納する。
【0065】
図15は、図14が左から微分したときのに対して右側から微分したときに対応する処理であり、平坦度F”が
【0066】
【数4】
【0067】
により計算され、2番目の問題点を解決するために、ステップS96で(x+2)から(X+6)に高さデータが採用されているかを調べているところが図14と異なる。
【0068】
3番目の問題点の解決としては、前記微分処理と最初と2番目の問題点の解決手段で抽出採用された高さデータを多重線形回帰によって計算し、近似直線を求めて傾きの補正を行う。このために、図16に図示したように、図11のステップS83の次に、高さ補正メモリ内のhxの数n、すなわち抽出採用された高さデータの数を調べる(ステップS100)。続いて、ステップS101で高さ補正メモリ内のhx=yとして、
【0069】
【数5】
【0070】
の各値を求め、次にステップS102で
【0071】
【数6】
【0072】
よりa0、a1を求め、近似式a0+a1x=yを求める。
【0073】
例えば、抽出した注目高さデータが(62,9)(151,10)(184,10.5)(238,11.5)(362,12)(449,13)とすると、n=6,Σx=1446,Σy=66,Σx^2(xの2乗のΣ)=449790,Σxy=16918から、a0=8.592474,a1=0.00999が算出される。従って、近似式は:8.592474+0.00999x=yとなる。
【0074】
次に、ステップS103からS106において近似式のxを1から高さデータの数(i+1)までのyの値を求め、ステップS104でhxの補正をする。今、高さデータ数を480個とすると、前記480個の高さデータと480個のyの差を求めれば、これが傾きを補正した480個の高さデータとなる。図17(a)、(b)はその演算結果を示している。
【0075】
図18はそりのある基板で測定し、傾き補正をしないで0点の補正を行った例であり(図11ステップS85)、高さデータのグラフは右肩上がりとなっているのが分かる。これに図16の処理に沿った傾き補正を行うと、図13と同じような結果が得られる。
【0076】
[表計算ソフトによるデータ処理]
上述した実施形態では、VーRAM画像メモリ40の画像データは、図4に示す回路構成で画像処理されたが、VーRAM画像メモリ40の画像データを表計算ソフトに取り込んで行なうこともできる。VーRAM画像メモリ40の画像データは、横640画素×縦480画素のビットマップ画像であるので、これを各画素を256階調の階調データに変換した後、640列×480行のセルの表計算ソフトに取り込む。画素間の分解能は10μmであるので、表計算ソフトに読み込んだ場合は前記画素がセルに相当することから、セル間のピッチは10μmとなる。ただし、実際の表計算ソフトは最大列数が256列という機能上の制約が有るので、200列×480行の階調データを取り込んで処理を行う。
【0077】
まず、取込んだ階調データは3×3のセル毎に取り出されて、階調の平坦度を調べてフィルタ処理が行なわれる。3×3のセルの中心のセルを注目セルとし、その周りの階調の平坦度を計算する。注目セル周囲のセル間差の絶対値の平均値を求める。列をA、B、C・・・・、行を1、2、3・・・・として、例えば、注目セルをB2として、数1に従い平坦度Fを算出する(図4の演算回路63による演算に対応)。次に3×3のセルの中の階調の最大値と階調の最小値の差ΔBに対する比を求め(演算回路65に対応)、F/ΔBがしきい値より小さい時(比較器66に対応)に注目セルに対して、数2の帯域除去フィルタ(フィルタ回路68に対応)をかける。もしΔB=0の時またはF/ΔBがしきい値より大きい時は何もしない。次に注目セルをB3に移し以上の処理を実行し、B4、B5・・・・と処理をする。そして次の行に移行してC2、C3・・・のように順次処理を行う。
【0078】
以上のように階調データのフィルタ処理が終わると、次の二値化処理に移る。各行の階調の平均値と標準偏差を計算する(演算回路71、72に対応)。そして各セル毎にそのセルの階調データがその行の階調の平均値+1.5×標準偏差より大きい時(比較器75に対応)は現在のセルの値を1に書換え、以下の時は現在のセルの値を消去する。セルA1、B1、C1・・・に対しては1行目の平均値と標準偏差を用い、セルA2、B2、C2・・・に対しては2行目の平均値と標準偏差を用いる。各セルは1か空白の状態になる。
【0079】
このように各セルの値が二値化されたあと、小突起データ並びに孤立データはノイズと考えられるので、ノイズ除去のためにこれらのデータの消去処理を行う。すなわち、図7に示す様なa〜fのフィルタ処理を行う。3×3の中心のセルを注目セルとして、図7のパターンが現れた時、その注目セルの値を消去する。f以外の5種類のフィルタは、90度づつ回転させて実行する(ノイズ除去処理回路83に対応)。
【0080】
次は各行を参照して、全て空白の場合は上下の行の数値1のセルの配列を参照して、穴埋めを行う(判定回路87に対応)。次に、各行の数値1のセルに対して重心値を計算する。これは、図19に示すように、列A、B、C・・・に対しては、1、2、3・・・と連番を付けるとこの数値が重心の値となる(重心位置演算回路96に対応)。この例では1、2行目に関してはI列、J列のセルの値が1であり、I列の番号は9、J列の番号は10なので、1、2行目の重心値は9.5となる。また3、4、5行目に関してはI列、H列、G列のセルが1であり、各行の重心値は各列に付された番号と同じ値の9、8、7となる。以下同様にして各行の重心値を求める。
【0081】
このように、図4の各処理ブロック60、70、80、90をソフトウェアで処理することもできる。
【0082】
また、図14のステップS90の平坦度の計算は、表計算では、例えばH3のセルを注目高さとして抽出した時に、F’=(|H1−H2|+|H2−H4|+|H4−H5|+|H5−H1|)/4として計算する。しきい値をSとするとF’>Sの時に抽出した注目高さデータを採用し、それ以外は不採用とする。実施例ではS=2とした。その他2番目あるいは3番目の問題点を解決するための処理も表計算を用いて同様に行なうことができる。
【0083】
【発明の効果】
以上説明したように、本発明では、撮像された突出物の像から突出物の高さデータを求め、その高さデータを一次微分と二次微分あるいは一次微分し、その微分値から平坦部の高さデータを求めるようにしているので、突出物が形成される前の平坦部の高さデータを求める必要がなく、平坦部に突出物を形成するごとに突出物の高さを測定しなければならないような場合に、測定のタクトタイムを顕著に向上させることができる。
【0084】
また、本発明での高さデータ処理では、撮像された画素の階調データに対して平坦化処理がなされたあと二値化されるので、安定した高さデータが得られる。また二値化データに対してフィルタ処理を行なって、その結果空白行が発生した場合、その前後の行の二値化データの配列に応じて空白行にデータの埋め込みが行なわれるので、信頼性のある高さデータが求められる。
【0085】
また、本発明では、突出部の立ち上がり部以外で微分値が大きくなっても、抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ抽出された高さデータを平坦部の高さデータとしているので、信頼性のある高さデータが得られる。
【0086】
また、突出部の立ち上がりの途中で、微分値が大きくなっても、それ以前の複数個の高さデータの中からすでに平坦部の高さデータが採用されているときは、その抽出された高さデータを破棄することにより同様に信頼性のある高さデータが保証される。
【0087】
更に、被測定物のライン光に沿った方向に被測定物にそりがある場合には、平坦部の高さデータとして採用された複数個の高さデータに基づいて多重線形回帰を用いて平坦部の高さデータの近似式を求め、その近似式から平坦部のライン光に沿った方向の傾き補正を行なっているので、突出物の形成される基板に傾きがあってもそれを補正して正確な高さ測定を行なうことができる。
【図面の簡単な説明】
【図1】本発明に用いられる高さ測定装置の構成を示す斜視図である。
【図2】図1の高さ測定装置の側面図である。
【図3】ライン光を投光して得られる像から画像データを取得する回路構成を示した回路図である。
【図4】取得された画像データを処理する回路構成を示した回路図である。
【図5】クリーム半田部分にライン光を投光した場合に得られる画像の処理の流れを示したフローチャート図である。
【図6】クリーム半田部分にライン光を投光した場合に得られる画像を示した説明図である。
【図7】画像データのフィルタ処理に用いられるフィルタデータを示す説明図である。
【図8】クリーム半田の高さデータを示す線図である。
【図9】図8のクリーム半田の高さデータの一次微分及び二次微分を示す線図である。
【図10】高さデータを左側から微分して微分値を求める流れを示したフローチャート図である。
【図11】高さデータを右側から微分して微分値を求める流れを示したフローチャート図である。
【図12】微分値から配線基板の平坦部の高さデータを求める過程を示した表図である。
【図13】微分値に基づいて得られた配線基板の平坦部から測定したクリーム半田の高さデータを示した線図である。
【図14】クリーム半田の立ち上がり部分以外で抽出された信頼性のないデータを除去するための処理を示したフローチャートである。
【図15】図14と同様な処理で逆側から微分を行なった場合の処理を示すフローチャートである。
【図16】基板のそりを補正する流れを示したフローチャートである。
【図17】基板にそりがあるときの処理データを示す表図である。
【図18】基板にそりが有る場合の高さデータを示す線図である。
【図19】画素あるいはセルの情報から重心値を求めるための例を示した説明図である。
【図20】従来の三次元測定装置の構成を示した斜視図である。
【符号の説明】
1 レーザ光源
5 ラインジェネレータ
6 CCDカメラ
9 ライン光
Claims (6)
- 平坦部から突出する突出物を有する被測定物にライン光を投光し、ライン光によって切断される平坦部及び突出物を撮像して光切断法により平坦部からの突出物の高さを測定する高さ測定方法において、
撮像された突出物の像から突出物の高さデータを求め、
前記高さデータを一次微分と二次微分あるいは一次微分し、
前記微分値がしきい値を超える時の前の高さデータを抽出し、
抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ前記抽出された高さデータを平坦部の高さデータとすることを特徴とする高さ測定方法。 - 高さデータが抽出されたときそれ以前の複数個の高さデータの中からすでに平坦部の高さデータが採用されているときは、その抽出された高さデータが破棄されることを特徴とする請求項1に記載の高さ測定方法。
- 前記平坦部の高さデータとして採用された複数個の高さデータに基づいて多重線形回帰を用いて平坦部の高さデータの近似式を求め、前記近似式から平坦部のライン光に沿った方向の傾き補正を行なうことを特徴とする請求項1または2に記載の高さ測定方法。
- 平坦部から突出する突出物を有する被測定物にライン光を投光し、ライン光によって切断される平坦部及び突出物を撮像して光切断法により平坦部からの突出物の高さを測定する高さ測定装置において、
突出物にライン光を投光する投光装置と、
前記ライン光が投光された突出物の像を撮像する手段と、
前記ライン光による突出物の画像データを処理して突出物の高さデータを算出する手段と、
前記高さデータを一次微分と二次微分あるいは一次微分する手段と、
前記微分値から平坦部の高さを算出する手段と、
前記突出物の高さを前記平坦部の高さを基準にして算出する手段と、を有し、
前記平坦部の高さを算出する手段は、前記微分値がしきい値を超える時の前の高さデータを抽出し、抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ前記抽出された高さデータを平坦部の高さデータとすることを特徴とする高さ測定装置。 - 前記平坦部の高さを算出する手段は、高さデータが抽出されたときそれ以前の複数個の高さデータの中からすでに平坦部の高さデータが採用されているときは、その抽出された高さデータを破棄することを特徴とする請求項4に記載の高さ測定装置。
- 前記平坦部の高さデータとして採用された複数個の高さデータに基づいて多重線形回帰を用いて平坦部の高さデータの近似式を求め、前記近似式から平坦部のライン光に沿った方向の傾き補正を行なう補正手段が設けられることを特徴とする請求項4または5に記載の高さ測定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04846298A JP3922608B2 (ja) | 1998-03-02 | 1998-03-02 | 高さ測定方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04846298A JP3922608B2 (ja) | 1998-03-02 | 1998-03-02 | 高さ測定方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11248423A JPH11248423A (ja) | 1999-09-17 |
JP3922608B2 true JP3922608B2 (ja) | 2007-05-30 |
Family
ID=12804047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04846298A Expired - Fee Related JP3922608B2 (ja) | 1998-03-02 | 1998-03-02 | 高さ測定方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3922608B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102436955B1 (ko) * | 2020-03-11 | 2022-08-26 | 넥스타테크놀로지 주식회사 | 실장 헤드 및 이를 포함하는 부품 실장 장치 |
KR102391169B1 (ko) * | 2020-03-11 | 2022-05-03 | 넥스타테크놀로지 주식회사 | 실장 헤드 및 이를 포함하는 부품 실장 장치 |
KR102182856B1 (ko) * | 2020-03-11 | 2020-11-25 | 넥스타테크놀로지 주식회사 | 부품 실장 장치 |
KR102271499B1 (ko) * | 2020-10-16 | 2021-07-01 | 넥스타테크놀로지 주식회사 | 실장 헤드 및 이를 포함하는 부품 실장 장치 |
-
1998
- 1998-03-02 JP JP04846298A patent/JP3922608B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11248423A (ja) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100909159B1 (ko) | 위치 검출 방법, 위치 검출 장치, 패턴 묘화 장치 및 피검출물 | |
JP3371764B2 (ja) | 撮像方法及び装置 | |
KR20060044940A (ko) | 노광 장치 및 노광 방법 | |
JP3922608B2 (ja) | 高さ測定方法及び装置 | |
JP4137212B2 (ja) | 高さ測定方法及び高さ測定装置 | |
KR101653861B1 (ko) | 묘화 데이터 생성 방법, 묘화 방법, 묘화 데이터 생성 장치, 및 묘화 장치 | |
JP2002181732A (ja) | 外観検査装置および外観検査方法 | |
JPH08136235A (ja) | パターン検出方法 | |
JP4546635B2 (ja) | 電子部品実装方法及び装置 | |
JP4707598B2 (ja) | 対象物の重心検出方法 | |
JP4083854B2 (ja) | 画像検出装置 | |
JP3039704B2 (ja) | 印字評価方法及び印字評価装置 | |
JP2007101565A (ja) | 高さデータ処理方法 | |
JP3342171B2 (ja) | 部品の位置認識方法および位置認識装置 | |
JP3015641B2 (ja) | 部品位置認識装置 | |
JP3072787B2 (ja) | 印字評価方法及び印字評価装置 | |
JP3119376B2 (ja) | 印字評価方法及び印字評価装置 | |
JPH0674714A (ja) | 基板位置検出方法 | |
JP2630034B2 (ja) | リード曲り測定装置 | |
JP3119375B2 (ja) | 印字評価方法及び印字評価装置 | |
JP3072788B2 (ja) | 印字評価方法及び印字評価装置 | |
JP3029142B2 (ja) | 印字評価方法及び印字評価装置 | |
JP3029141B2 (ja) | 印字評価及び印字評価装置 | |
JP4760072B2 (ja) | X線検査装置及びx線検査方法 | |
JPH1032743A (ja) | 画像加算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060815 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060927 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070209 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070216 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |