JP3922608B2 - Height measuring method and apparatus - Google Patents

Height measuring method and apparatus Download PDF

Info

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
Application number
JP04846298A
Other languages
Japanese (ja)
Other versions
JPH11248423A (en
Inventor
光正 岡林
純夫 後藤
勝 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juki Corp
Original Assignee
Juki Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juki Corp filed Critical Juki Corp
Priority to JP04846298A priority Critical patent/JP3922608B2/en
Publication of JPH11248423A publication Critical patent/JPH11248423A/en
Application granted granted Critical
Publication of JP3922608B2 publication Critical patent/JP3922608B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0003922608
【0043】
を算出することにより平坦度Fが演算される。演算回路64は、各3×3の画素ブロックの画素の最大値と階調の最小値の差ΔBを求め、演算回路65はF/ΔBを演算する。比較器66はF/ΔBがしきい値66’より小さいときには、画像データが平坦でないので、マルチプレクサ67を切り替える。これにより帯域除去フィルタ回路68で注目画素に対して
【0044】
【数2】
Figure 0003922608
【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】
Figure 0003922608
【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】
Figure 0003922608
【0067】
により計算され、2番目の問題点を解決するために、ステップS96で(x+2)から(X+6)に高さデータが採用されているかを調べているところが図14と異なる。
【0068】
3番目の問題点の解決としては、前記微分処理と最初と2番目の問題点の解決手段で抽出採用された高さデータを多重線形回帰によって計算し、近似直線を求めて傾きの補正を行う。このために、図16に図示したように、図11のステップS83の次に、高さ補正メモリ内のhxの数n、すなわち抽出採用された高さデータの数を調べる(ステップS100)。続いて、ステップS101で高さ補正メモリ内のhx=yとして、
【0069】
【数5】
Figure 0003922608
【0070】
の各値を求め、次にステップS102で
【0071】
【数6】
Figure 0003922608
【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 line light 122 from the line light generator 121 that is a light source is projected at a predetermined angle from obliquely above the object to be measured 123, and an image formed along the surface shape formed on the surface of the object to be measured 123 is vertical. The image is taken by the CCD camera 124 from above. The image captured by the CCD camera 124 is A / D converted by the CCD camera controller 125 and captured by the image capturing device 126. Then, the acquired data is converted into the three-dimensional coordinates of the measurement object 123 by the coordinate calculator 127.
[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 measurement unit 128 is moved from the initial expected avoidance position to the target measurement position by the XY moving gantry. Then, the measurement unit captures an image of the line light formed on the pad surface (resist surface) on the wiring board, which is the object to be measured, by the CCD camera 124 and then retreats to the initial expected avoidance position. Next, cream solder is printed on the pad surface of the wiring board. After the printing on the pad surface of the wiring board is completed, the measurement unit 128 is moved again to the target measurement position by the XY moving gantry, and the image of the line light formed along the shape of the cream solder is displayed on the CCD camera 124. Then, the image is moved back to the first expected avoidance position.
[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 cream solder 40 times while changing the light cutting position with a CCD camera. Therefore, the total number of times of imaging by the CCD camera is 80 times. Similarly, the total number of micro movements of the measurement unit is 80 times.
[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, reference numeral 1 denotes a laser diode as a laser light source. The laser light emitted from the laser diode 1 is collimated by a collimator lens 2 into a parallel light beam 1a parallel to the optical center axis. The laser parallel light beam 1a enters a light projecting unit 7 in which a focus lens 3, a light projecting mirror 4, and a line generator lens 5 are incorporated. The laser beam is narrowed down to become spot light by the focus lens 3 in the light projecting unit 7, reflected by the light projecting mirror 4 at an angle of 45 degrees with respect to the vertical axis (Z direction), and by the line generator lens 5. The line light 9 having a width of 14 to 20 μm and a length of 10 mm is formed, and the line light 9 is formed in the X direction on the object to be measured (cream solder or a wiring board on which it is printed) 11.
[0017]
Scattered and reflected light from the object to be measured 11 is imaged by a non-interlaced CCD camera 6 having a field of view of 6.4 mm × 4.8 mm arranged so that the optical axis 6a is a vertical axis. Further, the light projecting unit 7 is attached to the shaft 8a of the linear motor 8, and the linear motor 8 performs linear motion with a stroke of about 10 mm in the Y direction, as shown by double arrows. It reciprocates parallel to the light beam 1a. With this movement of the light projecting unit 7, the line light 9 moves in the direction perpendicular to the X direction in which the line light extends.
[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 CPU 44, outputs a command pulse train for driving the linear motor to the linear motor driver 32, and moves the linear motor 8 by 0.25 μm per pulse. The linear motor drive command unit 31 simultaneously sends a forward / reverse signal to an LD (laser diode) on / CCD trigger timing decoder (hereinafter referred to as timing decoder) 35, and the linear motor 8 moves in either the forward direction or the reverse direction. Let them know.
[0019]
The linear motor driver 32 receives the command pulse train to drive the linear motor, receives the signal indicating the actual position from the position encoder 8b built in the linear motor 8, adjusts the supply voltage to the linear motor 8, and The position is feedback controlled.
[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 linear motor 8, and outputs a position signal indicating the position of the linear motor 8 as digital data. The position counter 34 is reset by an origin reset signal from the position encoder 8b.
[0021]
The timing decoder 35 receives the position data from the position counter 34 and outputs an LD ON timing signal (160 μm pitch). In response to the rising edge of this signal, the one-shot multivibrator (MS) 46 outputs a 2 ms wide LD on pulse to the laser diode driver 36 and turns on the laser diode 1 in pulses. The laser diode 1 incorporates a light amount monitor photodiode (not shown), whereby the light amount of the laser diode 1 is controlled to be constant.
[0022]
Since the linear motor 8 is moving even while the LD is on, the correction is made to shift the line light position depending on the moving direction, and the half pitch (80 μm in the embodiment) is shifted in the reverse direction to the forward direction. Therefore, the forward / reverse direction signal is input from the linear motor drive command device 31 as described above.
[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 MS 46. To tell. Even when the LD is on, the line light moves and causes a deviation from the actual line light position. This is corrected in the CPU 44 by the line light moving speed, the LD on time, and the forward / reverse signal. Yes.
[0024]
On the other hand, the synchronization signal timing generator 39 receives the CCD camera synchronization timing signal from the timing decoder 35 via the OR circuit 35 ', and outputs a VD vertical synchronization signal that is synchronized with the HD horizontal synchronization signal. In association with the VD vertical synchronization signal, reading of the light amount data of each pixel in the previous frame is started. At the same time, accumulation of light quantity at each pixel starts, and an image by the line light 9 is acquired on the CCD area image sensor 38 of the CCD camera 6.
[0025]
The image on the CCD area image sensor 38 is read as a light amount value (analog value) of each pixel via the driver 33 by a vertical register transfer clock, a horizontal register transfer clock, etc. from the synchronization signal timing generator 39. This is input to the A / D converter 48 via the amplifier 47 and input to the V-RAM image memory 40 as digital data.
[0026]
The horizontal address counter 42 is reset after a predetermined number of horizontal clocks from the falling edge of the horizontal synchronizing signal from the synchronizing signal timing generator 39, and then the horizontal position of the current pixel in the effective screen is counted by counting the horizontal clocks thereafter. (Horizontal address) is output. The horizontal address value is input to the horizontal address of the V-RAM image memory 40 via the multiplexer 41.
[0027]
On the other hand, the vertical address counter 43 is reset after a predetermined number of horizontal synchronization signals from the falling edge of the vertical synchronization signal from the synchronization signal timing generator 39, and then counts the pulses of the horizontal synchronization signal, thereby counting the number of horizontal synchronization signals. The vertical position (vertical address) of the current pixel is output. This vertical address value is input to the vertical address of the V-RAM image memory 40 via the multiplexer 45.
[0028]
The write timing generator 49 writes a write signal to the V-RAM image memory 40 in synchronization with the horizontal clock between the effective horizontal scanning section signal from the horizontal address counter 42 and the effective vertical scanning section signal from the vertical address counter 43. Is output. Thus, the V-RAM image memory 40 stores each pixel data in the effective screen determined by the effective horizontal scanning section signal and the effective vertical scanning section signal.
[0029]
The horizontal / vertical address generator 50 outputs a horizontal address signal to the multiplexer 41, a vertical address signal to the multiplexer 45, and a read signal to the V-RAM image memory 40. The multiplexers 41 and 45 are switched to the reading side in response to the switching signal from the CPU 44, and the image data in the V-RAM image memory 40 having addresses determined by the horizontal address signal and the vertical address signal are sequentially read in synchronization with the reading signal. The reading of the image data is performed after the writing of the image data to the V-RAM image memory 40 is completed. This is ensured by switching the multiplexers 41 and 45 from the writing mode to the reading mode by the switching signal from the CPU 44.
[0030]
[Circuit configuration (data processing)]
4 shows a circuit configuration for processing the image data stored in the V-RAM image memory 40. The circuit configuration centered on the V-RAM image memory 40 is that shown in FIG. The same is shown.
[0031]
Image data read from the V-RAM image memory 40 in synchronization with the read signal when the multiplexers 41 and 45 are switched to read by the switching signal is input to the gradation data filter processing block 60 and noise is removed. . The gradation data filter processing block 60 is provided with two one-line buffers 61 and 62, whereby image data for three lines can be obtained simultaneously. The image data for these three lines is input to the arithmetic circuit 63, the flatness F of the image data is calculated, and also input to the arithmetic circuit 64, and the maximum gradation value MAX and the minimum gradation value MIN. The difference ΔB is calculated. The image data for three lines is also input to the band elimination filter 68, where the band elimination filter is applied. The output of the 1-line buffer 61 is input to the delay circuit 69, and a delay corresponding to the calculation processing time is applied. Note that the processing of the arithmetic circuits 63 and 64 and the band elimination filter 68 is performed in units of 3 × 3 pixel blocks.
[0032]
The arithmetic circuit 65 calculates the ratio of the flatness F of the image data to the difference ΔB, and the comparator 66 compares the calculation result with a threshold value 66 '. If it is less than the threshold value, the multiplexer 67 selects the image data subjected to the band removal filter processing by the band removal filter 68, and if it is greater than the threshold value, the delay circuit 69 applies a delay corresponding to each computation time. The selected image data is selected and output to the binarization processing block 70.
[0033]
In the binarization processing block 70, the average value calculation circuit 71 calculates an average value x (with a bar above) for each line of the image data from the gradation data filter processing block 60, and a standard deviation calculation circuit. 72, the standard deviation ρ is calculated for each line, and the threshold value calculation circuit 74 calculates the threshold value (x + 1.5ρ). The comparator 75 compares this threshold value with the image data for one line held in the one line buffer 73, and binarizes the image data.
[0034]
The binarized image data from the binarization processing block 70 is input to the noise removal processing circuit 83 and the two one-line buffers 81 and 82 of the binarization data filter processing block 80. The noise removal filter processing circuit 83 receives three lines of image data simultaneously from the two one-line buffers 81 and 82 on the input side and the direct image data, and small protrusions and isolated data are generated for each 3 × 3 image block. If it exists, if it exists, the process which removes the data is performed. The output of the noise removal processing circuit 83 is input to the determination circuit 87 and the 1-line buffer 85. The determination circuit 87 determines whether all of one line is 0. If all the one lines are 0, the multiplexer 89 selects the output of the OR circuit 88, and otherwise, selects the output of the 1 line buffer 85. Is input to the 1-line buffer 86. The image data in the 1-line buffer 85 corresponds to the current image data, and the output from the noise removal processing circuit 83 and the image data in the 1-line buffer 86 correspond to the image data before and after that. The image data filled in by OR processing of the data at the same horizontal position of the preceding and following lines is output.
[0035]
The binarized image data from the binarized data filter processing block 80 is input to the centroid position calculation processing block 90, and the centroid position is calculated for each line. The rising edge detection circuit 91 of the center-of-gravity position calculation processing block 90 detects that the binarized image data changes from “0” to “1”, and the horizontal address value of the horizontal address counter 93 at that time is latch circuit 94. Latch on. The falling edge detection circuit 92 detects that the binarized image data changes from “1” to “0”, and latches the horizontal address value of the horizontal address counter 93 at that time in the latch circuit 95. The barycentric position calculation circuit 96 calculates the barycentric position by averaging the horizontal address values at the time of rising and falling, and stores the value in the barycentric position calculation result memory 100. The horizontal address counter 93 counts a horizontal clock for reading from the V-RAM image memory in order to obtain a horizontal address value. The horizontal address counter 93 is reset when the image data 1 line is switched.
[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 CPU 44 generates a position command signal and a start signal in the linear motor drive command device 31, and the cream solder is printed on the linear motor 8. Move to the height measurement position. When this actual height measurement position is reached, the CPU 44 sends out a CCD camera synchronization timing pulse via the OR circuit 35 '(step S42), and generates an LD ON signal to light the laser diode 1 for 2 ms, for example ( Step S43).
[0038]
The laser light emitted from the laser diode 1 is condensed by the collimator lens 2, becomes a parallel light beam 1 a parallel to the optical center axis, and is narrowed down to become spot light by the focus lens 3. The laser spot light is reflected by the light projecting mirror 4 in a direction of 45 degrees with respect to the incident angle, and enters the line generator lens 5. The laser spot light is stretched in one direction (X direction) by the lens 5 by the lens 5 and becomes line light 9 having a width of 14 μm and a length of 10 mm on the object to be measured 11. This line light is imaged by a non-interlaced CCD camera 6 with a visual field of 6.4 mm × 4.8 mm.
[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 image sensor 38 of the CCD camera 6 is output from the write timing generator 49. In synchronism with this, it is read into the V-RAM image memory 40 (step S46). The image data obtained in this way is shown in FIG. In the figure, a high brightness image protruding to the right side is the cream solder portion 113a, and a straight line portion having a low brightness therebetween is the resist surface or pad surface 113b of the wiring board.
[0040]
This image data is subjected to each image processing in step S47. First, the multiplexers 41 and 45 are switched to the read mode by the switching signal of the CPU 44, and the image data is read from the V-RAM image memory 40 in synchronization with the horizontal address and the vertical address according to the read signal from the horizontal / vertical address generator 50. .
[0041]
The read image data is subjected to gradation data filter processing in a gradation data filter processing block 60. The arithmetic circuit 63 calculates the flatness F of gradations around the pixel at the center of each 3 × 3 pixel block as the target pixel. The flatness F is obtained as an average value of absolute values of differences between pixels around the target pixel, and pixel columns are A, B, C,..., Pixel rows are 1, 2, 3,. For example, if the pixel of interest is B2,
[0042]
[Expression 1]
Figure 0003922608
[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 arithmetic circuit 65 calculates F / ΔB. When F / ΔB is smaller than the threshold value 66 ′, the comparator 66 switches the multiplexer 67 because the image data is not flat. As a result, the band elimination filter circuit 68 applies to the target pixel.
[0044]
[Expression 2]
Figure 0003922608
[0045]
On the other hand, when ΔB = 0 or when F / ΔB is larger than the threshold value, the data from the delay circuit 69 is selected, and the data not subjected to the band removal filter processing is output. Is done.
[0046]
The image data on which the gradation data has been filtered in this way is binarized by the binarization processing block 70. For this purpose, the arithmetic circuits 71 and 72 calculate the average value x (with a bar above) and the standard deviation ρ of the gradations of each line. The comparator 75 sets the current pixel value to 1 when the gradation data of each pixel of the line buffer 73 is larger than the average value x + ρ × 1.5 of the gradation of the line, and when Will binarize the current pixel value to 0.
[0047]
Each of the binarized image data is sent to the binarized data filter processing block 80, and the noise removal processing circuit 83 removes the small protrusion data and the isolated data as noise for each 3 × 3 pixel block. This noise removal corresponds to performing the filter processes a to f as shown in FIG. With the pixel at the center of 3 × 3 as the target pixel, when the pattern of FIG. 7 appears, the value of the target pixel is set to zero. The five types of filters other than f are rotated by 90 degrees and executed. The binarized image data subjected to noise processing in this way is sent to the 1-line buffers 85 and 86. When all the pixels in one line are 0, the determination circuit 87 performs hole filling with reference to the preceding and following lines. For example, if all the pixels in the second line are 0, and there is 1 pixel in the preceding and succeeding lines (first and third lines), the place where the 1 pixel exists is set to 1.
[0048]
The image data processed in this way is sent to the centroid position calculation processing block 90, and the centroid position (average value) is calculated by the calculation circuit 96. As shown in FIG. 19, the center of gravity is determined by assigning sequential numbers such as 1, 2, 3,... To the pixel rows A, B, C. In this example, for the first and second rows, the pixel values in the I and J columns are 1, the I column number is 9, and the J column number is 10. Therefore, the centroid values in the first and second rows are 9. 5 For the third, fourth, and fifth rows, the pixels in the I, H, and G columns are 1, and the center-of-gravity value of each row is 9, 8, and 7, which is the same value as the number assigned to each column. In the same manner, the center of gravity value of each row is obtained.
[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 memory 100 as height data in step S48.
[0050]
Next, the height data of FIG. 8 is read from the memory 100, and differentiation is performed to obtain the height of the flat portion (resist surface), and the height of the cream solder with reference to the flat portion is obtained.
[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 line 45 in FIG. 8). The first column of FIG. 12 is the height data, the second column is the first derivative from the left, the third column is the second derivative from the left, the fourth column, the fifth column is the first derivative from the right, the second derivative, The sixth column is the extracted data. For example, the first-order differential value h′x in the second row is 9.5 / 9.4 = 1.01 (step S52 in FIG. 10). The secondary differential h ″ x is the primary differential ratio of 1.01 / 0.99 = 1.02 (step S59 in FIG. 10). Looking at the row of the height data 19 in FIG. 81, the second derivative is 1.72, which is equal to or greater than the threshold value 1.25 (steps S54 and S60) Therefore, the height data 10.5 of the previous row is extracted (six columns in FIG. 12). Exemplified in the eye).
[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]
Figure 0003922608
[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 Equation 3 is F ′ = (| 9.5-10 | + | 10−19 | + | 19−20 | + | 20−9.5 |) /4=5.25> 2 (threshold value). Therefore, it is adopted as the attention height data and stored in the height correction memory in step S55 (S61).
[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]
Figure 0003922608
[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]
Figure 0003922608
[0070]
Next, in step S102
[0071]
[Formula 6]
Figure 0003922608
[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-RAM image memory 40 has been subjected to image processing with the circuit configuration shown in FIG. 4, but the image data in the V-RAM image memory 40 can also be imported into spreadsheet software. . Since the image data in the V-RAM image memory 40 is a bitmap image of 640 pixels wide × 480 pixels high, after each pixel is converted to gradation data of 256 gradations, a cell of 640 columns × 480 rows is obtained. Into the spreadsheet software. Since the resolution between the pixels is 10 μm, the pixel corresponds to the cell when read into the spreadsheet software, and the pitch between the cells is 10 μm. However, since the actual spreadsheet software has a functional restriction that the maximum number of columns is 256 columns, processing is performed by fetching gradation data of 200 columns × 480 rows.
[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 Formula 2 is applied to the target cell. If ΔB = 0 or F / ΔB is larger than the threshold value, nothing is done. Next, the target cell is moved to B3, the above processing is executed, and B4, B5,... Are processed. Then, the process proceeds to the next line, and processing is sequentially performed as C2, C3.
[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 arithmetic circuits 71 and 72). For each cell, when the gradation data of the cell is larger than the average value of the gradation of the row + 1.5 × standard deviation (corresponding to the comparator 75), the value of the current cell is rewritten to 1, and at the following times Erases the value of the current cell. The average value and standard deviation of the first row are used for the cells A1, B1, C1,..., And the average value and standard deviation of the second row are used for the cells A2, B2, C2,. Each cell is 1 or blank.
[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 value 1 in each row. As shown in FIG. 19, for columns A, B, C..., This number becomes the value of the center of gravity when serial numbers 1, 2, 3,. Corresponding to circuit 96). In this example, for the first and second rows, the cell values in the I and J columns are 1, the I column number is 9, and the J column number is 10. Therefore, the centroid values in the first and second rows are 9. 5 For the third, fourth, and fifth rows, the cells in the I, H, and G columns are 1, and the center-of-gravity value of each row is 9, 8, and 7, which is the same value as the number assigned to each column. In the same manner, the center of gravity value of each row is obtained.
[0081]
Thus, each processing block 60, 70, 80, 90 of FIG. 4 can also be processed by software.
[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 .
高さデータが抽出されたときそれ以前の複数個の高さデータの中からすでに平坦部の高さデータが採用されているときは、その抽出された高さデータが破棄されることを特徴とする請求項1に記載の高さ測定方法。When the height data is extracted, if the height data of the flat part is already adopted from the plurality of previous height data, the extracted height data is discarded. The height measuring method according to claim 1 . 前記平坦部の高さデータとして採用された複数個の高さデータに基づいて多重線形回帰を用いて平坦部の高さデータの近似式を求め、前記近似式から平坦部のライン光に沿った方向の傾き補正を行なうことを特徴とする請求項1または2に記載の高さ測定方法。Based on a plurality of height data adopted as the height data of the flat portion, an approximate expression of the height data of the flat portion is obtained using multiple linear regression, and along the line light of the flat portion from the approximate expression The height measuring method according to claim 1 or 2 , wherein a direction inclination correction is performed. 平坦部から突出する突出物を有する被測定物にライン光を投光し、ライン光によって切断される平坦部及び突出物を撮像して光切断法により平坦部からの突出物の高さを測定する高さ測定装置において、
突出物にライン光を投光する投光装置と、
前記ライン光が投光された突出物の像を撮像する手段と、
前記ライン光による突出物の画像データを処理して突出物の高さデータを算出する手段と、
前記高さデータを一次微分と二次微分あるいは一次微分する手段と、
前記微分値から平坦部の高さを算出する手段と、
前記突出物の高さを前記平坦部の高さを基準にして算出する手段と、を有し、
前記平坦部の高さを算出する手段は、前記微分値がしきい値を超える時の前の高さデータを抽出し、抽出された高さデータ近辺の平坦度を調べ、所定よりも平坦でなければ前記抽出された高さデータを平坦部の高さデータとすることを特徴とする高さ測定装置。
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 .
前記平坦部の高さを算出する手段は、高さデータが抽出されたときそれ以前の複数個の高さデータの中からすでに平坦部の高さデータが採用されているときは、その抽出された高さデータを破棄することを特徴とする請求項に記載の高さ測定装置。The means for calculating the height of the flat portion is extracted when the height data of the flat portion is already adopted from the plurality of height data before the height data is extracted. The height measurement apparatus according to claim 4 , wherein the height data is discarded. 前記平坦部の高さデータとして採用された複数個の高さデータに基づいて多重線形回帰を用いて平坦部の高さデータの近似式を求め、前記近似式から平坦部のライン光に沿った方向の傾き補正を行なう補正手段が設けられることを特徴とする請求項4または5に記載の高さ測定装置。Based on a plurality of height data adopted as the height data of the flat portion, an approximate expression of the height data of the flat portion is obtained using multiple linear regression, and along the line light of the flat portion from the approximate expression 6. The height measuring apparatus according to claim 4, further comprising correction means for correcting a direction inclination.
JP04846298A 1998-03-02 1998-03-02 Height measuring method and apparatus Expired - Fee Related JP3922608B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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