JP3922608B2 - Height measuring method and apparatus - Google Patents
Height measuring method and apparatus 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
【0001】
【発明の属する技術分野】
本発明は、高さ測定方法及びその装置、更に詳細には、表面実装システムに用いられるクリーム半田印刷機によって印刷されたクリーム半田など微細な高さを測定する高さ測定方法及び装置に関する。
【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 ライン光[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a height measuring method and apparatus, and more particularly, to a height measuring method and apparatus for measuring a fine height such as cream solder printed by a cream solder printer used in a surface mounting system.
[0002]
[Prior art]
Conventionally, a three-dimensional recognition device using a light cutting method is known as a device for recognizing a three-dimensional shape and measuring the height. FIG. 20 shows a three-dimensional recognition apparatus using this light cutting method. The
[0003]
In a cream solder height measuring apparatus that is used by being incorporated in a cream solder printer, a portion (measurement unit) 128 surrounded by a dotted line in FIG. 20 is incorporated in an XY moving gantry (XY moving mechanism). Is done. First, when a printed wiring board is carried into the cream solder printing machine, after the positioning of the wiring board and the stencil is completed, the
[0004]
From the above imaging data, the center-of-gravity position coordinates in the height direction of the pad surface of the wiring board and the center-of-gravity position coordinates in the height direction of the cream solder portion are calculated. Then, from the subtraction of the center of gravity position coordinate in the height direction of the pad surface of the wiring board and the center of gravity position coordinate in the height direction of the cream solder part, the height of the cream solder part after printing is determined with reference to the pad surface of the wiring board. calculate. And the average height of the cream solder part over each pad surface is calculated.
[0005]
In order to obtain a three-dimensional shape, a plurality of data with different light cutting positions are required. For example, assume that light cutting is performed at a pitch of 50 μm in order to obtain a three-dimensional shape of cream solder printed on a pad having a length of 2 mm. In this case, before printing the cream solder, an image of line light formed on the pad surface of the wiring board is taken 40 times by the CCD camera while changing the position of light cutting. Furthermore, after the cream solder is printed, it is necessary to capture the image of the line light formed along the shape of the
[0006]
[Problems to be solved by the invention]
However, in a cream solder height measuring device that is used by being incorporated in a conventional cream solder printing machine, the image of the line light before printing and the image of the line light after printing are picked up by a CCD camera and the cream solder is used. The height of must be calculated. For this reason, there is a problem that the tact time becomes long and the performance of the entire semiconductor surface mounting system is lowered.
[0007]
Furthermore, in order to change the light cutting position minutely, the heavy measurement unit equipped with the CCD camera must be moved. For the XY moving gantry, the skip function to the target measurement position and the measurement purpose There is a problem that the servo system for driving the XY moving gantry is complicated because it must have two functions of minute movement at the position.
[0008]
Accordingly, the present invention has been made to solve such a problem, and provides a height measuring method and apparatus capable of measuring the exact height by greatly improving the tact time. Let that be the issue.
[0009]
[Means for Solving the Problems]
In the present invention, in order to solve this problem,
Line light is projected onto the object to be measured that has a protrusion protruding from the flat part, and the height of the protrusion from the flat part is measured by the light cutting method by imaging the flat part and the protrusion cut by the line light. In the height measurement method to
Find the height data of the protrusion from the image of the captured protrusion,
First and second derivative or first derivative of the height data,
The differential valueExtract the previous height data when is over the threshold,
The flatness in the vicinity of the extracted height data is checked, and if it is not flatter than a predetermined value, the extracted height data is used as the height data of the flat portion.The configuration is adopted.
[0010]
In the present invention,
Line light is projected onto the object to be measured that has a protrusion protruding from the flat part, and the height of the protrusion from the flat part is measured by the light cutting method by imaging the flat part and the protrusion cut by the line light. In the height measuring device to
A light projecting device that projects line light onto the protrusion;
Means for picking up an image of the projection projected with the line light;
Means for processing the image data of the protrusion by the line light to calculate the height data of the protrusion;
Means for first and second derivative or first derivative of the height data;
Means for calculating the height of the flat portion from the differential value;
Means for calculating the height of the protrusion based on the height of the flat portion.And
The means for calculating the height of the flat part extracts the previous height data when the differential value exceeds a threshold value, checks the flatness near the extracted height data, and is flatter than a predetermined value. Otherwise, the extracted height data is used as the height data of the flat part.The configuration is also adopted.
[0011]
In such a configuration, the height data of the flat portion of the object to be measured is obtained from the primary differential value and the secondary differential value or the primary differential value of the height data obtained by processing the image data of the object to be measured. Since the height data of the protrusion is calculated based on the height of the portion, there is no need to obtain the height data of the flat portion before the protrusion is formed, and every time the protrusion is formed on the flat portion. The tact time can be remarkably improved when the height of the protrusion must be measured, for example, when cream solder is printed on the wiring board and the height of the cream solder must be measured. .
[0012]
The present invention is based on the idea that the differential value increases at the rising portion of the protruding portion, but there is a problem that the differential value also increases in other cases. This problem is solved by checking the flatness in the vicinity of the extracted height data, and if the flatness is not flatter than a predetermined value, the extracted height data is used as the height data of the flat portion.
[0013]
In addition, the differential value may increase even during the rise of the protrusion, but this problem is that when the height data is extracted, the height of the flat part is already selected from the plurality of previous height data. When data is adopted, the problem is solved by discarding the extracted height data.
[0014]
Furthermore, accurate measurement cannot be performed when there is a warp in the direction along the line light of the object to be measured. However, this problem is caused by a plurality of heights adopted as the height data of the flat part. This is solved by obtaining an approximate expression of the height data of the flat portion using multiple linear regression based on the data, and correcting the inclination in the direction along the line light of the flat portion from the approximate expression.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail based on embodiments shown in the drawings.
[0016]
[Basic configuration]
FIG. 1 is a basic configuration diagram of main optical components of a three-dimensional measuring apparatus showing an embodiment of the present invention, and FIG. 2 is a side view thereof. In each figure,
[0017]
Scattered and reflected light from the object to be measured 11 is imaged by a
[0018]
[Circuit configuration (data acquisition)]
FIG. 3 is a block diagram showing a circuit configuration for acquiring image data of an object to be measured in the three-dimensional measuring apparatus. In the figure, a linear motor drive command device 31 receives a start signal from the
[0019]
The
[0020]
The position counter 34 receives an A-phase signal and a B-phase signal having a phase difference of 90 degrees from the position encoder 8b of the
[0021]
The
[0022]
Since the
[0023]
The position latch 37 latches the position data output from the position counter 34 at the rising edge of the LD on timing, and the position in the Y direction of the line light at that time is synchronized with the falling timing of the LD on pulse from the
[0024]
On the other hand, the synchronization signal timing generator 39 receives the CCD camera synchronization timing signal from the
[0025]
The image on the CCD
[0026]
The
[0027]
On the other hand, the
[0028]
The
[0029]
The horizontal /
[0030]
[Circuit configuration (data processing)]
4 shows a circuit configuration for processing the image data stored in the V-
[0031]
Image data read from the V-
[0032]
The
[0033]
In the
[0034]
The binarized image data from the
[0035]
The binarized image data from the binarized data filter processing block 80 is input to the centroid position
[0036]
[Measurement of height data]
Next, a process for obtaining height data of a wiring board or cream solder will be described with reference to the flow of FIG. 5 taking an example of cream solder printed on the wiring board as an object to be measured.
[0037]
First, after confirming that cream solder is printed in step S40, in step S41, the
[0038]
The laser light emitted from the
[0039]
After waiting for the time T1 in step S44, a CCD camera synchronization timing pulse is sent in step S45, the synchronization signal timing generator 39 is driven, and the image data of the
[0040]
This image data is subjected to each image processing in step S47. First, the
[0041]
The read image data is subjected to gradation data filter processing in a gradation data
[0042]
[Expression 1]
[0043]
The flatness F is calculated by calculating. The arithmetic circuit 64 calculates a difference ΔB between the maximum pixel value and the minimum gradation value of each 3 × 3 pixel block, and the
[0044]
[Expression 2]
[0045]
On the other hand, when ΔB = 0 or when F / ΔB is larger than the threshold value, the data from the
[0046]
The image data on which the gradation data has been filtered in this way is binarized by the
[0047]
Each of the binarized image data is sent to the binarized data filter processing block 80, and the noise
[0048]
The image data processed in this way is sent to the centroid position
[0049]
When the graph is drawn with the vertical axis as the center of gravity and the horizontal axis as the line number in this way, the graph is as shown in FIG. This result is stored in the
[0050]
Next, the height data of FIG. 8 is read from the
[0051]
(A) of FIG. 9 is a graph of the first derivative of the height data of FIG. 8, and (b) is a graph of the second derivative obtained by further differentiating the first derivative. Differentiation is performed from the left side. Therefore, when FIG. 8 is scanned from left to right, the upward protruding portion is the rising portion of the cream solder portion, and the downward protruding portion is the falling portion. Since the protrusion level of the falling part is small, only the rising part was used. Also, differentiation from the right direction was performed, and a rising portion when scanning from the right (corresponding to a falling portion when scanning from the left) was also used. The height of the flat portion and the cream solder is measured by the processing described below.
[0052]
First, in step S50 of FIG. 10, a height correction memory (not shown) is provided and cleared. Subsequently, in step S51, the variable x is set to 2, and in step S52, the ratio h′x of the height data to the previous line of the height data hx at that time is obtained and stored in the h ′ memory (not shown). (Step S53). If h'x is larger than the threshold value 1.25 (step S54), hx-1 is stored in the height correction memory using (x-1) as an address in step S55. In step S56, x is incremented by 1 and the above processing is repeated until x = i + 1 (step S57).
[0053]
When the primary differentiation is completed, x = 3 is set in step S58, and a secondary differential value h "x is obtained in step S59. If this secondary differential value is larger than the threshold value 1.25 (step S60), step In step S61, hx-1 is stored in the height correction memory using (x-1) as an address, and then x is incremented by 1 in step S62 and the above processing is repeated until x = i + 1 (step S63).
[0054]
FIG. 10 shows the differentiation from the right, whereas FIG. 11 shows the differentiation from the right. In step S71, the variable x is set to i−1, and in step S72, the next height data hx is obtained. The ratio h′x of the height data to the line is obtained and stored in the h ′ memory (step S73). If h'x is larger than the threshold value 1.25 (step S74), hx + 1 is stored in the height correction memory using (x + 1) as an address in step S75. X is decremented by 1 in step S76, and the above processing is repeated until x = 0 (step S77).
[0055]
When the primary differentiation is completed, x = i−2 is set in step S78, and a secondary differential value h ″ x is obtained in step S79. If this secondary differential value is larger than the threshold value 1.25 (step S80). In step S81, hx + 1 is stored in the height correction memory using (x + 1) as an address, x is decremented by 1 in step S82, and the above processing is repeated until x = 0 (step S83).
[0056]
FIG. 12 is a table showing the measured height data of the cream solder portion of FIG. 8 and a part of the first and second derivative data (data near
[0057]
The height data where the differential value becomes large is stored in the height correction memory in steps S55 and S61 in FIG. 10 or steps S75 and S81 in FIG. 11, and this is the average value hAV in step S84 in FIG. As required. In the image data shown in FIG. 8, this average value was 9.33. Since this average value corresponds to the height data of the flat portion (resist surface) on which the cream solder is printed, the height data (hAV) of the flat portion is subtracted from the height data (hx) in step S85. The actual height of the cream solder from the flat portion (average height is 102 μm) is calculated. This is illustrated in FIG. Since the average height of the cream solder measured with another measuring instrument in advance was 102 μm, it was confirmed that the height of the cream solder by the above treatment was accurate.
[0058]
In the above process, the first and second derivative values are used. However, the height data of the flat portion can be extracted only by the first derivative. Alternatively, height data may be extracted using only one of the left and right differential values.
[0059]
[Other embodiments]
With the above-described processing alone, the differential value becomes large even at a portion other than the rising portion of the cream solder, and the height data of the flat portion may be extracted. In some cases, the height may be extracted and the height may be extracted, and when the substrate is warped, the light-cut image may be tilted and captured, and the height may not be calculated correctly. Therefore, these problems are solved by the following processing.
[0060]
The first problem is solved by examining the flatness before and after the height data when the height data is extracted, not adopting the height if it is flat, and adopting it if it is not flat. . The second problem is that when adopting the attentional height, it is checked whether or not the height data has already been extracted before several times. If not, the current attentional height data is updated. If it is adopted, the current attention height data is abandoned. For this purpose, the processing shown in FIGS. 14A and 14B is provided between step S54 (S60) and step S56 (S62) in FIG.
[0061]
In step S90 of FIG. 14A, when the primary differential value or the secondary differential value is equal to or greater than the threshold value and the height data is extracted as the height data of the flat portion in step S54 (S60), the flatness is flat in the vicinity. Degree F '
[0062]
[Equation 3]
[0063]
(Note that h 'is used instead of h for the second derivative). Subsequently, in step S91, it is determined whether this flatness is larger than the threshold value (2). If it is larger, the extracted attention height data is adopted, and otherwise, it is not adopted. When actually calculating with the data in the table of FIG. 12, the extracted height data is 10.5, so the flatness F ′ according to
[0064]
The second problem can be solved by providing the process of step S92 shown in FIG. 14B between step S91 and step S55 (S61). In this step, for example, it is checked whether or not the height data is adopted up to five previous times, that is, from (x-2) to (X-6). If not adopted, it is adopted as attention height data, and is stored in the height correction memory in step S55 (S61).
[0065]
FIG. 15 shows a process corresponding to the case where FIG. 14 is differentiated from the left side with respect to the case where it is differentiated from the right side.
[0066]
[Expression 4]
[0067]
14 is different from FIG. 14 in that it is checked in step S96 whether height data is adopted from (x + 2) to (X + 6) in order to solve the second problem.
[0068]
To solve the third problem, the height data extracted and adopted by the differential processing and the first and second problem solving means is calculated by multiple linear regression, an approximate straight line is obtained, and the inclination is corrected. . For this purpose, as shown in FIG. 16, after step S83 in FIG. 11, the number n of hx in the height correction memory, that is, the number of extracted height data is checked (step S100). In step S101, hx = y in the height correction memory is set.
[0069]
[Equation 5]
[0070]
Next, in step S102
[0071]
[Formula 6]
[0072]
Thus, a0 and a1 are obtained, and an approximate expression a0 + a1x = y is obtained.
[0073]
For example, if the extracted target height data is (62,9) (151,10) (184,10.5) (238,11.5) (362,12) (449,13), n = 6 From Σx = 1446, Σy = 66, Σx ^ 2 (Σ of square of x) = 449790, Σxy = 16918, a0 = 8.592474 and a1 = 0.00999 are calculated. Therefore, the approximate expression is: 8.592474 + 0.00999x = y.
[0074]
Next, in steps S103 to S106, x in the approximate expression is obtained as a value of y from 1 to the number of height data (i + 1), and hx is corrected in step S104. Now, assuming that the number of height data is 480, if the difference between the 480 height data and 480 y is obtained, this becomes 480 height data with the inclination corrected. 17A and 17B show the calculation results.
[0075]
FIG. 18 shows an example in which measurement is performed on a substrate having a warp and zero correction is performed without correcting inclination (step S85 in FIG. 11), and it can be seen that the height data graph rises to the right. If the tilt correction is performed along the processing in FIG. 16, the same result as in FIG. 13 is obtained.
[0076]
[Data processing by spreadsheet software]
In the embodiment described above, the image data in the V-
[0077]
First, the acquired gradation data is extracted for each 3 × 3 cell, and the filter processing is performed by checking the flatness of the gradation. The center cell of the 3 × 3 cells is set as the target cell, and the flatness of the gradation around the cell is calculated. An average value of absolute values of differences between cells around the target cell is obtained. .., The rows are 1, 2, 3,..., For example, the target cell is B2, and the flatness F is calculated according to Equation 1 (by the arithmetic circuit 63 in FIG. 4). Corresponding to calculation). Next, a ratio to the difference ΔB between the maximum gradation value and the minimum gradation value in the 3 × 3 cell is obtained (corresponding to the arithmetic circuit 65), and when F / ΔB is smaller than the threshold value (comparator 66). 2), the band elimination filter (corresponding to the filter circuit 68) of
[0078]
When the gradation data filtering process is completed as described above, the process proceeds to the next binarization process. The average value and standard deviation of the gradation of each row are calculated (corresponding to the
[0079]
After the values of the respective cells are binarized in this way, the small protrusion data and the isolated data are considered to be noise. Therefore, these data are erased to remove noise. That is, the filter processes a to f as shown in FIG. 7 are performed. With the 3 × 3 center cell as the target cell, when the pattern of FIG. 7 appears, the value of the target cell is erased. The five types of filters other than f are rotated by 90 degrees (corresponding to the noise removal processing circuit 83).
[0080]
Next, reference is made to each row, and if all are blank, reference is made to an array of cells with a numerical value of 1 in the upper and lower rows, and hole filling is performed (corresponding to the determination circuit 87). Next, a centroid value is calculated for a cell of
[0081]
Thus, each
[0082]
Further, the flatness calculation in step S90 in FIG. 14 is calculated by F ′ = (| H1−H2 | + | H2−H4 | + | H4− in a table calculation when, for example, a cell H3 is extracted as the target height. Calculate as H5 | + | H5-H1 |) / 4. If the threshold value is S, the attention height data extracted when F ′> S is adopted, and the others are not adopted. In the example, S = 2. Other processes for solving the second or third problem can be similarly performed using a spreadsheet.
[0083]
【The invention's effect】
As described above, in the present invention, the height data of the protrusion is obtained from the imaged image of the protrusion, the height data is subjected to the primary differentiation and the secondary differentiation or the primary differentiation, and the flat value is determined from the differential value. Since the height data is obtained, it is not necessary to obtain the height data of the flat part before the protrusion is formed, and the height of the protrusion must be measured every time the protrusion is formed on the flat part. In such a case, the tact time of measurement can be remarkably improved.
[0084]
Further, in the height data processing according to the present invention, since the gradation data of the imaged pixel is flattened and then binarized, stable height data can be obtained. If binary data is filtered and a blank line is generated as a result, data is embedded in the blank line according to the binarized data array in the preceding and subsequent lines. A certain height data is required.
[0085]
Further, in the present invention, even if the differential value becomes large except at the rising portion of the protruding portion, the flatness in the vicinity of the extracted height data is checked, and if it is not flatter than the predetermined value, the extracted height data is Therefore, reliable height data can be obtained.
[0086]
Also, even if the differential value increases during the rise of the protruding part, if the height data of the flat part is already adopted from the plurality of previous height data, the extracted height By discarding the length data, reliable height data is similarly guaranteed.
[0087]
Furthermore, when there is a warp in the direction along the line light of the object to be measured, the object is flattened using multiple linear regression based on a plurality of height data adopted as the height data of the flat part. Since the approximate expression of the height data of the part is obtained and the inclination correction in the direction along the line light of the flat part is performed from the approximate expression, it is corrected even if the substrate on which the protrusion is formed has an inclination. Accurate height measurement.
[Brief description of the drawings]
FIG. 1 is a perspective view showing a configuration of a height measuring device used in the present invention.
FIG. 2 is a side view of the height measuring device of FIG.
FIG. 3 is a circuit diagram showing a circuit configuration for acquiring image data from an image obtained by projecting line light.
FIG. 4 is a circuit diagram showing a circuit configuration for processing acquired image data.
FIG. 5 is a flowchart showing a flow of processing of an image obtained when line light is projected onto a cream solder portion.
FIG. 6 is an explanatory diagram showing an image obtained when line light is projected onto a cream solder portion.
FIG. 7 is an explanatory diagram showing filter data used for filter processing of image data.
FIG. 8 is a diagram showing height data of cream solder.
9 is a diagram showing first and second derivatives of cream solder height data in FIG. 8; FIG.
FIG. 10 is a flowchart showing a flow of differentiating height data from the left side to obtain a differential value.
FIG. 11 is a flowchart showing a flow of differentiating height data from the right side to obtain a differential value.
FIG. 12 is a table showing a process of obtaining height data of the flat portion of the wiring board from the differential value.
FIG. 13 is a diagram showing cream solder height data measured from the flat portion of the wiring board obtained based on the differential value.
FIG. 14 is a flowchart showing a process for removing unreliable data extracted at a portion other than the rising portion of the cream solder.
FIG. 15 is a flowchart showing processing when differentiation is performed from the reverse side in the same processing as in FIG. 14;
FIG. 16 is a flowchart showing a flow for correcting warpage of a substrate.
FIG. 17 is a table showing processing data when a substrate is warped.
FIG. 18 is a diagram showing height data when a substrate has a warp.
FIG. 19 is an explanatory diagram showing an example for obtaining a centroid value from pixel or cell information.
FIG. 20 is a perspective view showing a configuration of a conventional three-dimensional measuring apparatus.
[Explanation of symbols]
1 Laser light source
5 Line generator
6 CCD camera
9 line light
Claims (6)
撮像された突出物の像から突出物の高さデータを求め、
前記高さデータを一次微分と二次微分あるいは一次微分し、
前記微分値がしきい値を超える時の前の高さデータを抽出し、
抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ前記抽出された高さデータを平坦部の高さデータとすることを特徴とする高さ測定方法。Line light is projected onto the object to be measured that has a protrusion protruding from the flat part, and the height of the protrusion from the flat part is measured by the light cutting method by imaging the flat part and the protrusion cut by the line light. In the height measurement method to
Find the height data of the protrusion from the image of the captured protrusion,
First and second derivative or first derivative of the height data,
Extract the previous height data when the differential value exceeds the threshold,
A flatness measurement in the vicinity of the extracted height data is examined. If the flatness is not flatter than a predetermined level, the extracted height data is used as the height data of the flat portion .
突出物にライン光を投光する投光装置と、
前記ライン光が投光された突出物の像を撮像する手段と、
前記ライン光による突出物の画像データを処理して突出物の高さデータを算出する手段と、
前記高さデータを一次微分と二次微分あるいは一次微分する手段と、
前記微分値から平坦部の高さを算出する手段と、
前記突出物の高さを前記平坦部の高さを基準にして算出する手段と、を有し、
前記平坦部の高さを算出する手段は、前記微分値がしきい値を超える時の前の高さデータを抽出し、抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ前記抽出された高さデータを平坦部の高さデータとすることを特徴とする高さ測定装置。Line light is projected onto the object to be measured that has a protrusion protruding from the flat part, and the height of the protrusion from the flat part is measured by the light cutting method by imaging the flat part and the protrusion cut by the line light. In the height measuring device to
A light projecting device that projects line light onto the protrusion;
Means for picking up an image of the projection projected with the line light;
Means for processing the image data of the protrusion by the line light to calculate the height data of the protrusion;
Means for first and second derivative or first derivative of the height data;
Means for calculating the height of the flat portion from the differential value;
Have a, means for calculating by the height of the projections relative to the height of the flat portion,
The means for calculating the height of the flat part extracts the previous height data when the differential value exceeds a threshold value, checks the flatness near the extracted height data, and is flatter than a predetermined value. Otherwise, the extracted height data is used as the height data of the flat portion .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04846298A JP3922608B2 (en) | 1998-03-02 | 1998-03-02 | Height measuring method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04846298A JP3922608B2 (en) | 1998-03-02 | 1998-03-02 | Height measuring method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11248423A JPH11248423A (en) | 1999-09-17 |
JP3922608B2 true JP3922608B2 (en) | 2007-05-30 |
Family
ID=12804047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04846298A Expired - Fee Related JP3922608B2 (en) | 1998-03-02 | 1998-03-02 | Height measuring method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3922608B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102436955B1 (en) * | 2020-03-11 | 2022-08-26 | 넥스타테크놀로지 주식회사 | Mounting head and apparatus for mounting component comprising the same |
KR102182856B1 (en) * | 2020-03-11 | 2020-11-25 | 넥스타테크놀로지 주식회사 | Apparatus for mounting component |
KR102391169B1 (en) * | 2020-03-11 | 2022-05-03 | 넥스타테크놀로지 주식회사 | Mounting head and apparatus for mounting component comprising the same |
KR102271499B1 (en) * | 2020-10-16 | 2021-07-01 | 넥스타테크놀로지 주식회사 | Mounting head and apparatus for mounting component comprising the same |
-
1998
- 1998-03-02 JP JP04846298A patent/JP3922608B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11248423A (en) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100909159B1 (en) | Position detecting method, position detecting device, pattern drawing device and detected object | |
JP3371764B2 (en) | Imaging method and apparatus | |
KR20060044940A (en) | Exposure apparatus and exposure method | |
EP0477037B1 (en) | A print evaluation apparatus | |
JP4137212B2 (en) | Height measuring method and height measuring apparatus | |
JP3922608B2 (en) | Height measuring method and apparatus | |
JP4546635B2 (en) | Electronic component mounting method and apparatus | |
KR101653861B1 (en) | Drawing data generating method, drawing method, drawing data generating apparatus and drawing apparatus | |
JP2002181732A (en) | Apparatus and method for visual inspection | |
JPH08136235A (en) | Method for detecting pattern | |
JP2004235671A (en) | Electronic component mounting device | |
JP4083854B2 (en) | Image detection device | |
JP3039704B2 (en) | Printing evaluation method and printing evaluation device | |
JP2001304819A (en) | Nozzle hole measuring method and apparatus | |
JP2007101565A (en) | Height data processing method | |
JP3342171B2 (en) | Component position recognition method and position recognition device | |
JP3015641B2 (en) | Component position recognition device | |
JP3072787B2 (en) | Printing evaluation method and printing evaluation device | |
JPH10311705A (en) | Image input apparatus | |
JP3119376B2 (en) | Printing evaluation method and printing evaluation device | |
JPH0674714A (en) | Substrate position detecting method | |
JP2630034B2 (en) | Lead bending measuring device | |
JP3119375B2 (en) | Printing evaluation method and printing evaluation device | |
JP2000121337A (en) | Method and device for image correction | |
JP3072788B2 (en) | Printing evaluation method and printing evaluation device |
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 |