以下、本発明の実施形態を図面に基づいて説明する。
(第1実施形態)
まず、図1〜図3を参照して、本発明の第1実施形態による実装機100の構造について説明する。なお、実装機100は、本発明の「基板処理装置」の一例である。
図1に示すように、実装機100は、基台1と、一対のコンベア2と、テープフィーダ4と、支持部5と、一対の支持部6と、実装部7と、カメラユニット8とを備えている。また、実装機100は、図2に示すように、表示部9と、XY軸制御部10と、画像処理部11と、メイン制御部12とを備えている。
図1に示すように、実装機100は、所定の実装作業位置においてプリント基板3(以下、基板3という)に部品4aを実装する装置である。
コンベア2は、基板3をX2側からX1側に搬送するように構成されている。また、コンベア2は、基板3を実装作業位置で停止させた状態で保持するように構成されている。
テープフィーダ4は、複数の部品4aを保持したテープを含んでいる。部品4aは、IC、トランジスタなどの電子部品である。
支持部5は、搬送方向(X方向)に延びるように構成されている。また、支持部5は、実装部7を支持するように構成されている。また、支持部5は、モータ61が駆動されることにより支持部6にY方向に沿って移動するように構成されている。
また、支持部6は、X方向に垂直なY方向に延びるように構成されている。一対の支持部6は、支持部5をX方向の両側から支持するように構成されている。
実装部7は、基板3を撮像するカメラ71と、テープフィーダ4に保持された部品4aを吸着する複数の吸着ノズル72とを含んでいる。また、実装部7は、基板3よりも上側に配置されている。また、実装部7は、吸着ノズル72により吸着された部品4aを基板3に実装するように構成されている。また、実装部7は、モータ51が駆動されることにより支持部5に沿ってX方向に移動するように構成されている。また、実装部7は、X方向およびY方向に移動可能に構成されている。なお、カメラ71は、本発明の「撮像部」の一例である。
図3に示すように、カメラ71は、実装部7が支持部5および支持部6に沿って移動することにより、基板3の異なる領域を撮像するように構成されている。また、カメラ71は、基板3に設けられた認識マークMを基板3とともに撮像する。カメラ71は、基板3の略正方形形状の3×3のマトリクス状の撮像領域R1〜R9を撮像するように構成されている。具体的には、カメラ71は、マトリクスの中央の撮像領域R1と、撮像領域R1に隣接する撮像領域R2〜R9とを撮像するように構成されている。また、カメラ71は、後述するメインCPU122(図2参照)の制御により、基板3の撮像領域R1を撮像視野に収めるように移動する。そして、カメラ71は、移動しながら撮像領域R1〜R9を順次撮像するように構成されている。これにより、撮像領域R1〜R9の各々に対応する画像I1〜I9が撮像される。なお、認識マークMは、所定の形状、所定のサイズ、所定の光の反射率などにより定義されている。この認識マークMは、メインCPU122により認識される。また、撮像領域R1は、本発明の「第1撮像視野領域」の一例である。また、撮像領域R2〜R9は、本発明の「第2撮像視野領域」の一例である。
図1に示すように、カメラユニット8は、基台1の上面に設置されている。また、カメラユニット8は、吸着ノズル72に吸着された部品4aを下側から撮像するように構成されている。
図2に示すように、表示部9は、実装機100に関する情報や、カメラ71により撮像された画像などを表示するように構成されている。また、表示部9は、タッチパネルであり、ユーザによる入力を受付可能に構成されている。
XY軸制御部10は、XY軸制御CPU110により構成されている。XY軸制御CPU110は、メインCPU122により制御されている。XY軸制御CPU110は、実装部7を支持部5に対して移動させるモータ51を制御するように構成されている。XY軸制御CPU110は、支持部5を支持部6に対して移動させるモータ61を制御するように構成されている。
画像処理部11は、画像処理CPU111により構成されている。画像処理CPU111は、メインCPU122により制御されている。画像処理CPU111は、カメラ71が撮像した画像を処理するように構成されている。具体的には、画像処理CPU111は、図3に示すように、撮像領域R1〜R9のそれぞれに対応する画像I1〜I9を1つの結合画像Iaとして結合するように構成されている。また、画像処理CPU111は、結合画像Iaを生成する際、平面視における認識マークMの直径の長さ分だけ隣接する画像同士の縁部(境界部分)を重ねて結合画像Iaを生成する。また、画像処理CPU111は、表示部9に画像を表示する制御を行うように構成されている。また、画像処理CPU111は、結合画像Iaを生成する処理に加えて、必要に応じて画像I1〜I9を別個に表示部9に表示することが可能なように構成されている。
図2に示すように、メイン制御部12は、記憶部121と、メインCPU122とから構成されている。記憶部121は、実装機100が基板3に部品4aを実装するための生産プログラムを記憶している。また、メインCPU122は、生産プログラムに基づいて部品4aを基板3に実装させる制御および実装機100の全体の制御を行うように構成されている。なお、メインCPU122は、本発明の「制御部」の一例である。
次に、図2〜図7を参照して、実装機100の教示処理について説明する。この処理は、メインCPU122、画像処理CPU111およびXY軸制御CPU110により実施される。
なお、教示とは、生産プログラムとして予め指定されている基板の認識マークMの定義(認識条件)を修正(微調整)することを示す概念である。具体的には、教示とは、所定の位置座標、所定の形状、所定のサイズ、所定の光の反射率などにより定義されている認識マークMの定義を修正(微調整)することを示す概念である。
また、第1実施形態における教示とは、具体的には、生産プログラムとして予め指定されている基板の認識マークMの位置座標を修正(微調整)することを示す概念である。教示が行われることにより、生産プログラムとして予め指定されている認識マークMの位置座標(設計値の位置座標)を実際の認識マークMの位置座標に修正(微調整)することができる。これにより、実際の認識マークMの位置座標を反映させて正確に実装処理が行われる。
図4に示すように、ステップS1において、メインCPU122は、開始条件の問い合わせ画面を表示部9に表示する処理を行う。具体的には、メインCPU122は、図示しない教示処理される生産プログラムの一覧、この生産プログラムで処理が行われる基板3の一覧、および、教示の対象候補となる認識マークMの一覧を表示部9に表示する。
次に、ステップS2において、メインCPU122は、ユーザから開始条件の問い合わせに対する応答があったか否かを判断する。具体的には、メインCPU122は、教示処理される生産プログラム、この生産プログラムで処理が行われる基板3および教示の対象となる認識マークMがユーザにより選択されたか否かを判断する。メインCPU122は、ユーザからの応答があるまでこの判断を繰り返し、応答があると、ステップS3に処理を進める。
次に、ステップS3において、メインCPU122は、結合画像生成処理を開始する。具体的には、メインCPU122は、カメラ71に基板3の撮像領域R1〜R9の画像I1〜I9(図3参照)を順次撮像させる処理を行う。また、メインCPU122は、撮像領域R1〜R9のそれぞれの画像I1〜I9に認識マークMがあるか否かを判断する処理を行う。また、画像処理CPU111は、撮像領域R1〜R9の各々の画像I1〜I9を1画像に結合し、結合画像Iaを生成する処理を行う。ステップS3の詳細(サブルーチン)は、後で詳細に説明する。
次に、ステップS4において、メインCPU122は、ステップS3で生成された結合画像Iaを表示部9に表示する処理を行う。
次に、ステップS5において、メインCPU122は、教示に関する問い合わせ画面(図5参照)を表示部9に表示する処理を行う。具体的には、認識マークMが複数認識されている場合には、メインCPU122は、教示に関する問い合わせ画面として、結合画像Iaに加えて、いずれの認識マークMを教示位置とするかユーザが応答(入力)するための表示(カーソルK)を表示部9に表示する処理を行う。また、図5に示す例では、認識マークMが2点ある。この場合、複数の認識マークMがあることを示す「類似点あり」の表示が表示(図6参照)されている。そして、メインCPU122は、教示に関する問い合わせ画面として、結合画像Iaと教示位置とする認識マークMにカーソルKを合わせ込むための操作部91を表示部9に表示させる処理を行う。なお、図5に示す例は、撮像領域R5の認識マークMが正規の認識マークMであり、撮像領域R1の認識マークMは正規の認識マークMでない(基板のパターンや異物が認識マークMとして誤認識されたものである)例を示している。
すなわち、メインCPU122は、基板3の認識マークMの位置を教示する際に、一の認識マークMに加えて、他の認識マークMが認識された場合に、撮像領域R1の画像I1および撮像領域R2〜R9の画像I2〜I9を表示部9に表示させる。そして、メインCPU122は、この状態で、撮像領域R1の画像I1に表示された一の認識マークMまたは撮像領域R5の画像I5に表示された他の認識マークMのうちいずれの認識マークMを教示位置とするか否かの問い合わせ表示を表示部9に行わせる。
次に、ステップS6において、メインCPU122は、教示確認画面(図6参照)を表示部9に表示する処理を行う。具体的には、メインCPU122は、ステップS5において、ユーザが表示部9の操作部91を操作して撮像領域R5の認識マークMにカーソルKが合わせ込まれると、図6に示した、教示確認画面を表示部9に表示させる。
次に、ステップS7において、メインCPU122は、教示に関する問い合わせに対して「はい」のボタンが押下されたか否かを判断する。メインCPU122は、ユーザにより「いいえ」のボタンが押下されると、ステップS5に処理を戻す。一方、メインCPU122は、ユーザにより「はい」のボタンが押下されると教示処理を終了する。
なお、教示処理により、生産プログラムとして予め指定されている基板の認識マークMの位置座標が修正(微調整)される。これにより、実装機100は、実際の認識マークMの位置座標を反映させた生産プログラムにより実装処理を精度よく行うことが可能である。
次に、図7を参照して、図4に示した結合画像生成処理(サブルーチン)の詳細について説明する。
まず、ステップS11において、XY軸制御CPU110は、カメラ71を撮像領域Rn(n=1〜9のいずれか)に移動させる処理を行う。なお、最初に基板3が撮像される場合は、XY軸制御CPU110は、カメラ71を撮像領域R1に移動させる(すなわちn=1)。また、XY軸制御CPU110は、画像処理CPU111が認識マークMの直径の長さ分だけ隣接する画像I1〜I9同士の縁部を重ねて結合画像Ia(図3参照)を生成することが可能なようにカメラ71を移動させて画像I1〜I9を撮像させる。
次に、ステップS12において、メインCPU122は、カメラ71に撮像を行わせる。
次に、ステップS13において、メインCPU122は、撮像された画像を記憶する処理を行う。具体的には、メインCPU122は、撮像領域Rnと対応付けて画像Inを記憶部121に記憶する処理を行う。
次に、ステップS14において、認識マークMの有無を判別する。具体的には、メインCPU122は、ステップS12において撮像された撮像領域Rnの画像Inにおいて、認識マークMとして予め定義されている条件に合致するものがないか否かを判別する。そして、メインCPU122は、予め定義されている条件に合致するものがあると認識マークMが認識されたと判別する。
次に、ステップS15において、メインCPU122は、全ての撮像領域R1〜R9が撮像されたか否かを判断する。全ての撮像領域R1〜R9が撮像されたと判断しない場合には、ステップS11に処理を戻す。一方、全ての撮像領域R1〜R9が撮像されたと判断した場合には、ステップS16に処理を進める。すなわち、メインCPU122は、ステップS11〜ステップS15の処理によって、カメラ71により撮像された基板3の所定の撮像領域R(たとえば撮像領域R1)の画像I1において一の(ある)認識マークMが認識された場合でも、カメラ71に基板3の撮像領域R1とは異なる撮像領域R2〜R9を撮像させ、他の認識マークMの有無を判別する処理を行う。
次に、ステップS16において、画像処理CPU111は、結合画像Iaを生成する。その後、メインCPU122は、結合画像生成処理を終了する。
第1実施形態では、以下のような効果を得ることができる。
第1実施形態では、上記のように、基板3の撮像領域R1の画像I1において一の認識マークMが認識された場合でも隣接する撮像領域R2〜R9の画像I2〜I9において他の認識マークMの有無を判別するメインCPU122を設ける。これにより、認識マークMとして誤認される可能性があるものがある場合でも、真の認識マークMと、認識マークMとして誤認される可能性があるものとを抽出することができる。その結果、認識マークMが複数個認識された場合でも、最初に認識された一の認識マークMと、他の認識マークMとのうち正しい認識マークMをユーザが選択することができる。これにより、正しい位置情報に基づいて、基板3の処理位置に関する制御を行うことができる。以上より、本発明によれば、基板3の処理位置に関する制御の精度が低下するのを抑制することができる。
また、第1実施形態では、基板3の認識マーク位置を教示する際に、一の認識マークMに加えて、他の認識マークMが認識された場合に、撮像領域R1の画像I1および撮像領域R2〜R9の画像I2〜I9を表示部9に表示させた状態で、撮像領域R1の画像I1に表示された一の認識マークMまたは撮像領域R2〜R9の画像I2〜I9に表示された他の認識マークMのうちいずれの認識マークMを教示位置とするかの問い合わせ表示を表示部9に行わせるようにメインCPU122を構成する。これにより、認識マークMが複数個認識された場合でも、一の認識マークMと、他の認識マークMとのうち正しい認識マークMをユーザが選択して基板3の認識マークMの位置を教示することができる。その結果、正しい位置情報に基づいて、基板3の認識マークMの位置を教示することができる。これにより、基板3の認識マークMの位置を精度よく教示することができる。
また、第1実施形態では、撮像領域R1の画像I1および撮像領域R2〜R9の画像I2〜I9を1つの結合画像Iaとして表示部9に表示させた状態で、1つの結合画像Iaに表示された一の認識マークMまたは他の認識マークMのうちいずれの認識マークMを教示位置とするかの問い合わせ表示を表示部9に行わせるようにメインCPU122を構成する。これにより、撮像領域R1の画像I1および撮像領域R2〜R9の画像I2〜I9が別個に表示される場合と異なり、認識マークMが複数個認識された場合でも、1つの結合画像Iaを視認しながら正しい認識マークMをユーザが容易に選択することができる。その結果、認識マークMの位置を容易に教示することができる。
(第2実施形態)
以下、図1を参照して、本発明の第2実施形態による実装機200の構成について説明する。なお、実装機200は、本発明の「基板処理装置」の一例である。
この第2実施形態では、実装機100の生産プログラムの教示を行う第1実施形態と異なり、生産プログラムに指定されている条件を補正して基板3を処理する(部品実装位置の補正)を行う実装機200について説明する。なお、以下の説明において、上記第1実施形態における参照符号と同じ参照符号が付された部材は、上記第1実施形態と同様の構成であるためその説明を省略する。
図1に示すように、第2実施形態による実装機200は、装置構成上は第1実施形態と同様の構成を有している。
また、メインCPU222は、基板3に対する処理時(実装機200内に搬入された基板3に部品4aを実装する時)に基板3の認識マーク位置を認識する際に、撮像領域R1の画像I1において一の(ある)認識マークMが認識された場合のみならず撮像領域R1の画像I1において一の認識マークMが認識されない場合でも、カメラ71に撮像領域R1に隣接する撮像領域R2〜R9を撮像させる。そして、メインCPU222は、撮像領域R1および撮像領域R2〜R9の両方の画像I1〜I9を通じて一の認識マークMが認識されて他の認識マークが認識Mされない場合に、認識された一の認識マークMに基づいて基板3の部品実装位置の補正を行うように構成されている。
次に、図2、図8および図9を参照して、実装機200の部品実装位置補正処理について説明する。この処理は、メインCPU222、画像処理CPU111およびXY軸制御CPU110により実施される。
まず、図8のステップS21において、メインCPU222は、実装作業位置に基板3を搬入する処理を行う。
次に、ステップS22において、XY軸制御CPU110は、カメラ71を撮像領域Rnに移動させる処理を行う。なお、最初に基板3が撮像される場合は、XY軸制御CPU110は、カメラ71を撮像領域R1(すなわちn=1)に移動させる。
次に、ステップS23において、メインCPU222は、カメラ71に撮像を行わせる。
次に、ステップS24において、メインCPU222は、撮像された画像Inを、撮像領域Rnと対応付けて記憶部121に記憶する処理を行う。
次に、ステップS25において、メインCPU222は、認識マークMの有無を判別する。
次に、ステップS26において、メインCPU222は、全ての撮像領域R1〜R9が撮像されたか否かを判断する。全ての撮像領域R1〜R9が撮像されたと判断しない場合には、ステップS21に処理を戻す。一方、全ての撮像領域R1〜R9が撮像されたと判断した場合には、ステップS27に処理を進める。すなわち、メインCPU222は、ステップS22〜ステップS26の処理によって、カメラ71により撮像された基板3の所定の撮像領域R(たとえば撮像領域R1)の画像I1において一の認識マークMが認識された場合でも、カメラ71に基板3の撮像領域R1とは異なる撮像領域R2〜R9を撮像させ、他の認識マークMの有無を判別する処理を行う。
次に、ステップS27において、メインCPU222は、画像I1〜I9に認識マークMが1つだけあるか否かを判断する。認識マークMが1つである場合には、ステップS31に処理を進める。認識マークMが0個または2個以上である場合には、ステップS28に処理を進める。
次に、ステップS28において、画像処理CPU111は、ステップS22〜ステップS26の処理によって取得された画像I1〜I9に基づいて、結合画像Iaを生成する。
次に、ステップS29において、メインCPU222は、補正に関する問い合わせ画面(図9参照)を表示部9に表示する処理を行う。具体的には、ステップS27において認識された認識マークMが0個または2個以上である場合には、メインCPU222は、補正に関する問い合わせ画面として、結合画像Iaに加えて、いずれの認識マークMを補正位置とするかの表示を表示部9に表示する処理を行う。そして、メインCPU222は、補正に関する問い合わせ画面として、結合画像Iaと、補正位置とする認識マークMを中心Cに合わせ込むための操作部91とを表示部9に表示させる処理を行う。そして、ユーザは操作部91を操作して、補正位置とする認識マークMを中心Cに合わせ込み、ティーチボタンを押下する。なお、図9に示す例は、撮像領域R1の認識マークMが正規の認識マークMであり、撮像領域R5の認識マークMは正規の認識マークMでない例を示している。
すなわち、メインCPU222は、基板3の認識マークMの位置に基づいて補正する際に、一の認識マークMに加えて、他の認識マークMが認識された場合に、結合画像Ia(画像I1および画像I2〜I9)を表示部9に表示させる。そして、メインCPU122は、この状態で、撮像領域R1の画像I1に表示された一の認識マークMまたは撮像領域R5の画像I5に表示された他の認識マークMのうちいずれの認識マークMを補正位置とするか否かの問い合わせ表示を表示部9に行わせる。詳細には、メインCPU222は、撮像領域R1および撮像領域R2〜R9の結合画像Ia(画像I1〜I9)を通じて、認識された認識マークMが0個または2個以上である場合には、補正に関する問い合わせ画面(警告表示)を表示部9に行うように構成されている。なお、認識された認識マークMが0個である場合には、ユーザは、結合画像Iaにおいて認識マークMとして考えられるものを選択する。
次に、ステップS30において、メインCPU222は、補正に関する問い合わせに対してティーチボタンが押下されたか否かを判断する。メインCPU222は、ユーザによりティーチボタンが押下されるまでこの処理を繰り返し、ティーチボタンが押下されるとステップS31に処理を進める。
次に、ステップS31において、補正量が決定される。具体的には、ステップS27において認識マークMが1つである場合には、その認識マークMの設計値の座標と検出点の座標との差分(ずれ量)に基づいて補正量が決定される。すなわち、メインCPU222は、基板3に対する処理時に基板3の認識マークMの位置を認識する際に、撮像領域R1の画像I1において一の認識マークMが認識された場合のみならず撮像領域R1の画像I1において一の認識マークMが認識されない場合でも、カメラ71に撮像領域R2〜R9を撮像させ、撮像領域R1〜R9の画像I1〜I9を通じて1つの認識マークMのみ認識された場合に、認識された一の認識マークMに基づいて基板3の部品4aの実装位置に関する補正を行うように構成されている。一方、認識マークMが1つでない場合には、ステップS29でユーザにより選択された認識マークMの設計値の座標と検出点の座標と差分に基づいて補正量が決定される。
次に、ステップS32において、メインCPU222は、部品4aを実装し、基板3を搬出する。具体的には、メインCPU222は、ステップS31で決定された補正量に基づいて部品4aを基板3に実装し、部品4aの実装が完了すると基板3を実装作業位置から搬出する。その後、メインCPU222は、部品実装位置補正処理を終了する。
このように、第2実施形態によれば、所定のプログラム(たとえば、予め第1実施形態の教示処理が施された生産プログラム)を用いて基板3の実装処理を行う際に、基板3の個体差などに起因して認識マークMとして複数認識できるものが現れた場合であっても、実装不良が発生するのを抑制することが可能である。
第2実施形態では、以下のような効果を得ることができる。
第2実施形態では、上記のように、撮像領域R1の画像I1において一の認識マークMが認識された場合でも隣接する撮像領域R2〜R9の画像I2〜I9において他の認識マークMの有無を判別するメインCPU222を設ける。これにより、第1実施形態と同様に、基板3の処理位置に関する制御の精度が低下するのを抑制することができる。
また、第2実施形態では、基板処理時に認識マークMの位置を認識する際に、撮像領域R1の画像I1において一の認識マークMが認識された場合のみならず撮像領域R1の画像において一の認識マークMが認識されない場合でも、カメラ71に撮像領域R2〜R9を撮像させ、撮像領域R1および撮像領域R2〜R9の両方の画像を通じて一の認識マークMが認識されて他の認識マークMが認識されない場合に、認識された一の認識マークMに基づいて基板3の生産プログラムに指定されている条件を補正して基板3を処理するようにメインCPU222を構成する。これにより、一の認識マークMのみに基づく正しい位置情報に基づいて、基板3の処理位置に関する制御を行うことができる。
また、第2実施形態では、撮像領域R1および撮像領域R2〜R9の両方の画像I1〜I9を通じて、一の認識マークMおよび他の認識マークMの両方とも認識されないかまたは両方とも認識された場合には、警告表示を表示部9に行うようにメインCPU222を構成する。これにより、メインCPU222は、認識マークMとして誤認されるものがある可能性がある場合に、誤った位置情報に基づいて、基板3の処理位置に関する制御が行われるのを抑制することができる。
(第3実施形態)
以下、図1および図10を参照して、本発明の第2実施形態による実装機300の構成について説明する。なお、実装機300は、本発明の「基板処理装置」の一例である。
この第3実施形態では、撮像領域R1および撮像領域R2〜R9の両方の画像I1〜I9を通じて1つ(ある)の認識マークMが認識された場合に、認識された一の認識マークMに基づいて基板3の生産プログラムに指定されている条件を補正して基板3を処理する第2実施形態と異なり、基板3の離間する第1部分510と第2部分520(第3部分530または第4部分540)とにおいて検出された2つの認識マークMの検出点の座標の差分に基づいて生産プログラムに指定されている条件を補正して基板3を処理する(部品実装位置の補正)を行う実装機300について説明する。なお、以下の説明において、上記第1実施形態における参照符号と同じ参照符号が付された部材は、上記第1実施形態と同様の構成であるためその説明を省略する。
図10に示すように、カメラ71(図1参照)は、基板3の4隅の第1部分510〜第4部分540をそれぞれ撮像するように構成されている。詳細には、メインCPU322は、基板3の4隅に設けられた認識マークMを撮像するように構成された生産プログラムに基づいて、カメラ71に基板3の4隅近傍における撮像領域R11を含む第1部分510と、撮像領域R21を含む第2部分520と、撮像領域R31を含む第3部分530と、撮像領域R41を含む第4部分540とをそれぞれ撮像させる制御を行う。また、第1部分510〜第4部分540は、互いに離間している。また、カメラ71は、第1部分510については、メインCPU322の制御により撮像領域R11と、撮像領域R11と隣接する撮像領域R12〜R19を撮像するように構成されている。すなわち、カメラ71は、少なくとも、第1部分510については3×3のマトリクス状の撮像領域R11〜R19を一通り撮像するように構成されている。また、カメラ71は、第2部分520の撮像領域R21、第3部分530のR31および第4部分540のR41において認識マークMが認識されない場合には、撮像領域R21、R31およびR41のそれぞれに隣接する撮像領域R22〜R29、R32〜R39およびR42〜R49を撮像するように構成されている。これにより、各撮像領域Rnに各々に対応する画像Inが撮像される。なお、撮像領域R11は、本発明の「第1撮像視野領域」の一例である。また、撮像領域R12〜R19は、本発明の「第2撮像視野領域」の一例である。また、第3部分530および第4部分540は、本発明の「第2部分」の一例である。
メインCPU322は、基板処理時(実装機300内に搬入された基板3に部品4aを実装する時)に、基板3の第1部分510において認識マークMの位置を認識する際に、第1部分510の撮像領域R11〜R19の画像I11〜I19において一の認識マークMが認識された場合でもカメラ71に第2部分520(第3部分530および第4部分540)を撮像させる。そして、メインCPU322は、第1部分510と離間する第2部分520(第3部分530および第4部分540)をカメラ71に撮像させ、第2部分520(第3部分530および第4部分540)において別の認識マークMが認識された場合には、第1部分510の一の認識マークMの認識位置および第2部分520(第3部分530および第4部分540)の別の認識マークMの認識位置の差分と、第1部分510の一の認識マークMの設計位置(生産プログラムにより指定された位置)および第2部分520(第3部分530および第4部分540)の別の認識マークMの設計位置の差分とを対比する。これにより、メインCPU322は、基板3の処理位置に関する補正を行う。また、メインCPU322は、第1部分510の一の認識マークMの認識位置および第2部分520(第3部分530および第4部分540)の別の認識マークMの認識位置の差分が、第1部分510の一の認識マークMの設計位置および第2部分520(第3部分530および第4部分540)の別の認識マークMの設計位置の差分に差異許容値が加減された値の範囲外の場合には、警告表示を表示部9に行うように構成されている。なお、差異許容値は、本発明の「所定値」の一例である。
次に、図2および図9〜図13を参照して、実装機300の部品実装位置補正処理について説明する。この処理は、メインCPU322、画像処理CPU111およびXY軸制御CPU110により実施される。
まず、ステップS41において、メインCPU322は、実装作業位置に基板3を搬入する処理を行う。
次に、ステップS42において、XY軸制御CPU110は、カメラ71を撮像領域Rnに移動させる処理を行う。なお、最初に基板3が撮像される場合は、XY軸制御CPU110は、カメラ71を撮像領域R11に移動させる。
次に、ステップS43において、メインCPU322は、カメラ71に撮像を行わせる。
次に、ステップS44において、メインCPU322は、撮像された画像Inを撮像領域Rnと対応付けて記憶部121に記憶する処理を行う。
次に、ステップS45において、メインCPU322は、認識マークMの有無を判別する。
次に、ステップS46において、メインCPU322は、基板3の第1部分510の撮像であるか否かを判断する。メインCPU322は、第1部分510の撮像である場合には、ステップS48に処理を進める。一方、メインCPU322は、第1部分510の撮像でない場合には、ステップS47に処理を進める。
次に、ステップS47において、認識マークMがあるか否かを判別する。そして、メインCPU322は、認識マークMがある(ステップS45において認識マークMが認識されている)場合には、ステップS49に処理を進める。また、メインCPU322は、認識マークMがない(ステップS45において認識マークMが認識されていない)場合には、ステップS48に処理を進める。
ステップS48に進んだ場合には、メインCPU322は、周辺検索処理を行う。具体的には、メインCPU322は、第1部分510においては、撮像領域R11に隣接する撮像領域R12〜R19を撮像し、撮像された画像Inに認識マークMが認識されるか否かを判断する。また、メインCPU322は、第2部分520〜第4部分540においては、撮像領域R21(R32またはR42)の画像I21(I31またはI41)において、認識マークMが認識されない場合には、撮像領域R22〜R29(撮像領域R32〜R39または撮像領域R42〜R49)を撮像し、撮像された画像Inに認識マークMが認識されるか否かを判断する。ステップS48の詳細(サブルーチン)は、後で詳細に説明する。
ステップS49に進んだ場合には、メインCPU322は、全ての認識マークMを認識したか否かを判断する。具体的には、メインCPU322は、撮像領域R11〜R19と、撮像領域R21(または撮像領域R22〜R29)と、撮像領域R31(または撮像領域R32〜R39)と、撮像領域R41(または撮像領域R42〜R49)とのそれぞれの撮像領域において、認識マークMが認識されたか否かを判断する。メインCPU322は、全ての認識マークMを認識した場合には、ステップS50に処理を進める。一方、メインCPU322は、全ての認識マークMを認識していない場合には、ステップS42に処理を戻す。
次に、ステップS50において、メインCPU322は、認識結果照合処理を行う。具体的には、メインCPU322は、撮像領域R11〜R19と、撮像領域R21(または撮像領域R22〜R29)と、撮像領域R31(または撮像領域R32〜R39)と、撮像領域R41(または撮像領域R42〜R49)とのそれぞれにおいて認識された認識マークMが適正なものであるか否かを判断する。ステップS50の詳細(サブルーチン)は、後で詳細に説明する。
次に、ステップS51において、メインCPU322は、2点の検出値の座標の差分値が設計値の座標の差分値±差異許容値の範囲内にあるか否かを判断する。具体的には、メインCPU322は、2点の検出値の座標間の差分値(距離)が式(1)の関係を満たすか否かを判断する。
(設計値の座標の差分値−差異許容値)<検出値の座標の差分値<(設計値の座標の差分値+差異許容値)・・・(式1)
検出値の座標の差分値が上記不等式(式1)の範囲内にある場合には、ステップS54に進む。一方、検出値の座標の差分値が上記不等式(式1)の範囲内にない場合には、ステップS52に処理を進める。
ステップS52に進んだ場合には、メインCPU322は、補正に関する問い合わせ画面(図9参照)を表示部9に表示する処理を行う。具体的には、メインCPU322は、補正に関する問い合わせ画面として、結合画像Iaに加えて、いずれの認識マークMを補正位置とするかの表示を表示部9に表示する処理を行う。詳細には、ステップS50の処理が完了した時点で、認識マークMは、撮像領域R11〜R19、撮像領域R21(または撮像領域R22〜R29)と、撮像領域R31(または撮像領域R32〜R39)と、撮像領域R41(または撮像領域R42〜R49)とのそれぞれに1つずつ特定されている。しかしながら、ステップS49の処理により、それぞれの撮像領域において特定された点が適正でないと判別された場合には、ユーザは補正位置とする認識マークMの候補(認識マークMとして考えられるもの)を中心Cに合わせ込むように操作部91を操作し、ティーチボタンを押下する。
次に、ステップS53において、メインCPU322は、補正に関する問い合わせに対してティーチボタンが押下されたか否かを判断する。メインCPU322は、ユーザによりティーチボタンが押下されるまでこの処理を繰り返し、ティーチボタンが押下されるとステップS50に処理を戻す。
ステップS54に進んだ場合には、メインCPU322は、補正量を決定する。すなわち、メインCPU322は、ステップS51の結果に基づいて、認識マークMの検出値の設計値に対するずれ量を補正量として決定する。
次に、ステップS55に進んだ場合には、メインCPU322は、部品4aを基板3に実装し、基板3を搬出する。その後、メインCPU322は、部品実装位置補正処理を終了する。
次に、図12を参照して、図11のステップS48に示した周辺検索処理(サブルーチン)の詳細について説明する。
図12のステップS61において、XY軸制御CPU110は、カメラ71を撮像領域Rnに移動させる処理を行う。具体的には、第1部分510の周辺検索処理の最初の撮像時には、XY軸制御CPU110は、カメラ71を撮像領域R12に移動させる処理を行う。また、第2部分520(第3部分530または第4部分540)の周辺検索処理の最初の撮像時には、XY軸制御CPU110は、カメラ71を撮像領域R22(R32またはR42)に移動させる処理を行う。
次に、ステップS62において、メインCPU322は、カメラ71に撮像を行わせる。
次に、ステップS63において、メインCPU322は、撮像された画像Inを撮像領域Rnと対応付けて記憶部121に記憶する処理を行う。
次に、ステップS64において、メインCPU322は、撮像領域Rnの画像Inに認識マークMがあるか否かを判別する。
次に、ステップS65において、メインCPU322は、全ての撮像領域Rnが撮像されたか否かを判断する。具体的には、メインCPU322は、第1部分510において、撮像領域R12〜R19が撮像されたか否かを判断する。同様に、メインCPU322は、第2部分520(第3部分530または第4部分540)において、撮像領域R22〜R29(R32〜R39またはR42〜R49)が撮像されたか否かを判断する。全ての撮像領域Rnが撮像されたと判断しない場合には、ステップS61に処理を戻す。一方、全ての撮像領域Rnが撮像されたと判断した場合には、ステップS66に処理を進める。
次に、ステップS66において、認識マークMがあるか否かを判別する。そして、メインCPU322は、認識マークMがある(ステップS64において認識マークMが認識されている)場合には、周辺検索処理を終了する。また、メインCPU322は、認識マークMがない(ステップS64において認識マークMが認識されていない)場合には、ステップS67に処理を進める。
ステップS67に進んだ場合には、メインCPU322は、補正に関する問い合わせ画面(図9参照)を表示部9に表示する処理を行う。具体的には、メインCPU322は、補正に関する問い合わせ画面として、結合画像Iaに加えて、どの位置を補正位置とするかの表示を表示部9に表示する処理を行う。そして、ユーザは、補正位置とする認識マークMの候補(認識マークMとして考えられるもの)を中心Cに合わせ込むように操作部91を操作し、ティーチボタンを押下する。
次に、ステップS68において、メインCPU322は、ステップS67の問い合わせに対して認識マークMの候補が入力されたか否かを判断する。メインCPU322は、ユーザにより認識マークMの候補が入力されるまでこの処理を繰り返し、認識マークMの候補が入力されると周辺検索処理を終了する。
次に、図13および図14を参照して、図11のステップS50に示した認識結果照合処理(サブルーチン)の詳細について説明する。なお、図14に示された×記号は、設計値の位置である。
図13のステップS71において、メインCPU322は、各認識マークMの設計値の座標近傍に1つの認識マークMを認識したか否かを判断する。具体的には、メインCPU322は、撮像領域R11〜19と、撮像領域R21〜29と、撮像領域R31〜39と、撮像領域R41〜49とのそれぞれにおいて、1つの認識マークMが認識されたか否かを判断する。メインCPU322は、設計値の各認識マークMの近傍に1つの認識マークMを認識したと判断した場合には、ステップS72に処理を進める。一方、メインCPU322は、各認識マークMの設計値の近傍に1つの認識マークMを認識したと判断しない場合には、ステップS73に処理を進める。
ステップS72に進んだ場合には、メインCPU322は、補正量を決定する際に使用する認識マークMを決定する。具体的には、メインCPU322は、撮像領域R11〜R19と、撮像領域R21(またはR22〜R29)と、撮像領域R31(またはR32〜R39)と、撮像領域R41(R42または〜R49)とのそれぞれにおいて1つずつ認識された認識マークMを補正量を決定する際に使用する認識マークMとして決定する。その後、メインCPU322は、認識結果照合処理を終了する。
ステップS73に進んだ場合には、メインCPU322は、各認識マークMの設計値の座標の差分を算出する。図14に示すように、たとえば、メインCPU322は、撮像領域R11の認識マークMの設計値の座標と、撮像領域R31の認識マークMの設計値の座標との差分をD(1、3)として算出する。
次に、ステップS74において、メインCPU322は、各認識マークMの検出値の座標の差分を算出する。図14に示す例では、メインCPU322は、撮像領域R15に認識された認識マークM(1−1)の座標と、撮像領域R35に認識された認識マークM(3−1)の座標との差分をL(1−1、3−1)として算出する。同様に、メインCPU322は、認識マークM(1−1)の座標と、撮像領域R37に認識された認識マークM(3−2)の座標との差分をL(1−1、3−2)として算出する。同様に、メインCPU322は、撮像領域R17に認識された認識マークM(1−2)の座標と、認識マークM(3−1)の座標との差分をL(1−2、3−1)として算出する。同様に、メインCPU322は、認識マークM(1−2)の座標と、認識マークM(3−2)の座標との差分をL(1−2、3−2)として算出する。
次に、ステップS75において、メインCPU322は、各認識マークMの設計値の差分のうち、各認識マークMの設計値の座標の差分に最も近いものを判別する。
次に、ステップS76において、メインCPU322は、補正量を決定する際に使用する認識マークMを決定する。具体的には、2点間の検出値の座標の差分値のうち、設計値の座標の差分値に最も近いものを判別する。たとえば、図14に示す例では、L(1−1、3−1)、L(1−1、3−2)、L(1−2、3−1)およびL(1−2、3−2)のうち設計値の座標の差分に最も近いものを判別する。そして、設計値の座標の差分に最も近いと判別された差分を生成する2つの検出点の認識マークMをカウントする(数え上げる)。これを、検出された認識マークMのそれぞれに行う。最終的に、カウント数が最も多い認識マークMが設計値の座標の差分に最も近いと考え、この認識マークMを補正量を決定する際に使用する。これにより、補正量を決定する際に使用する認識マークMとして最も確からしいものを選択することができる。その後、メインCPU322は、認識結果照合処理を終了する。
次に、図15〜図22を参照して、ステップS50およびステップS51の処理に基づいて、補正量を決定するための認識マークMがどのように決定されるかを具体例(例1〜8)に基づいて説明する。
図15の例1は、撮像領域R11で認識マークM(1−1)が認識され、撮像領域R22〜R29で認識マークM(2−1)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)および認識マークM(2−1)が補正量を決定する際に使用する認識マークMとして決定されている。そして、ステップS51の処理により、これらの認識マークMが適正(2点の検出値の座標の差分値が設計値の座標の差分値±差異許容値の範囲内にある)と判断され、これらの認識マークMに基づいて、補正量を決定する処理(ステップS54)が実施される。
図16の例2は、撮像領域R11で認識マークM(1−1)が認識され、撮像領域R22〜R29で認識マークM(2−1)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)および認識マークM(2−1)が補正量を決定する際に使用する認識マークMとして決定されている。しかしながら、ステップS51の処理により、これらの認識マークMが適正と判断されなかったため、補正に関する問い合わせ処理(ステップS52)が実施される。
図17の例3は、撮像領域R11で認識マークM(1−1)が認識され、撮像領域R22〜R29で認識マークM(2−1)および認識マークM(2−2)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)および認識マークM(2−2)が補正量を決定する際に使用する認識マークMとして決定されている。そして、ステップS51の処理により、これらの認識マークMが適正と判断され、これらの認識マークMに基づいて、補正量を決定する処理が実施される。
図18の例4は、撮像領域R12〜R19で認識マークM(1−1)が認識され、撮像領域R22〜R29で認識マークM(2−1)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)および認識マークM(2−1)が補正量を決定する際に使用する認識マークMとして決定されている。そして、ステップS51の処理により、これらの認識マークMが適正と判断され、これらの認識マークMに基づいて、補正量を決定する処理が実施される。
図19の例5は、撮像領域R11で認識マークM(1−1)が認識され、撮像領域R22〜R29で認識マークM(2−1)および認識マークM(2−2)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)および認識マークM(2−2)が補正量を決定する際に使用する認識マークMとして決定されている。しかしながら、ステップS51の処理により、これらの認識マークMが適正と判断されなかったため、補正に関する問い合わせ処理が実施される。
図20の例6は、撮像領域R12〜R19で認識マークM(1−1)および認識マークM(1−2)が認識され、撮像領域R22〜R29で認識マークM(2−1)および認識マークM(2−2)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)および認識マークM(2−1)が補正量を決定する際に使用する認識マークMとして決定されている。そして、ステップS51の処理により、これらの認識マークMが適正と判断され、これらの認識マークMに基づいて、補正量を決定する処理が実施される。
図21の例7は、撮像領域R11で認識マークM(1−1)が認識され、撮像領域R21で認識マークM(2−1)が認識され、撮像領域R31で認識マークM(3−1)が認識され、撮像領域R42〜R49で認識マークM(4−1)および認識マークM(4−2)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)、認識マークM(2−1)、認識マークM(3−1)および認識マークM(4−2)が補正量を決定する際に使用する認識マークMとして決定されている。そして、ステップS51の処理により、これらの認識マークMが適正と判断され、これらの認識マークMに基づいて、補正量を決定する処理が実施される。
図22の例8は、撮像領域R11で認識マークM(1−1)が認識され、撮像領域R21で認識マークM(2−1)が認識された場合を示したものである。この例では、ステップS50の処理により、認識マークM(1−1)および認識マークM(2−1)が補正量を決定する際に使用する認識マークMとして決定されている。そして、ステップS51の処理により、これらの認識マークMが適正と判断され、これらの認識マークMに基づいて、補正量を決定する処理が実施される。
このように、第3実施形態によれば、所定のプログラム(たとえば、予め第1実施形態の教示処理が施された生産プログラム)を用いて基板3の実装処理を行う際に、基板3の個体差などに起因して認識マークMとして複数認識できるものが現れた場合であっても、実装不良が発生するのを抑制することが可能である。
第3実施形態では、以下のような効果を得ることができる。
第3実施形態では、上記のように、撮像領域R11の画像I11において一の認識マークMが認識された場合でも隣接する撮像領域R12〜R19の画像I12〜I19において他の認識マークMの有無を判別するメインCPU322を設ける。これにより、第2実施形態と同様に、基板3の処理位置に関する制御の精度が低下するのを抑制することができる。
また、第3実施形態では、基板3に対する処理時に、第1部分510において認識マークMの位置を認識する際に、撮像領域R11の画像I11において一の認識マークMが認識された場合でもカメラ71に撮像領域R12〜R19を撮像させるようにメインCPU322を構成する。また、第2部分520(第3部分530および第4部分540)をカメラ71に撮像させ、第2部分520(第3部分530および第4部分540)において別の認識マークMが認識された場合には、第1部分510の一の認識マークMの認識位置および第2部分520(第3部分530または第4部分540)の別の認識マークMの認識位置の差分と、第1部分510の一の認識マークMの生産プログラムにより指定された位置(設計位置)および第2部分(第3部分530または第4部分540)の別の認識マークMの設計位置の差分とを対比するようにメインCPU322を構成する。また、この対比結果に基づいて、生産プログラムに指定されている条件を補正して基板3の実装処理を行うようにメインCPU322を構成する。これにより、第1部分510の一の認識マークMの設計位置および第2部分520(第3部分530または第4部分540)の別の認識マークMの設計位置からの、第1部分510の一の認識マークMの認識位置および第2部分520(第3部分530または第4部分540)の別の認識マークMの認識位置のそれぞれのずれ量を認識することができる。
また、第3実施形態では、第1部分510の一の認識マークMの認識位置および第2部分520(第3部分530または第4部分540)の別の認識マークMの認識位置の差分が、第1部分510の一の認識マークMの設計位置および第2部分520(第3部分530または第4部分540)の別の認識マークMの設計位置の差分に差異許容値が加減された値の範囲外の場合には、警告表示を表示部9に行うようにメインCPU322を構成する。これにより、誤認された第1部分510の一の認識マークMの認識位置および第2部分520(第3部分530または第3部分540)の別の認識マークMに基づく誤った位置情報に基づいて、基板3の処理位置に関する制御が行われるのを抑制することができる。
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、上記第1〜第3実施形態では、本発明を実装機に適用したが、本発明はこれに限られない。本発明では、実装機以外の、印刷機など他の基板処理装置にも適用可能である。
また、上記第1〜第3実施形態では、複数の撮像領域Rnで撮像された複数の画像Inを結合画像Iaとして生成する例を示したが、本発明はこれに限られない。本発明では、結合画像Iaを生成しなくてもよい。
また、上記第1および第2実施形態では、3×3のマトリクス状の撮像領域R1〜R9を撮像する例を示したが、本発明はこれに限られない。本発明では、2×2または4×4以上のマトリクス状の撮像領域Rnを撮像してもよい。また、マトリクス状以外の形状の撮像領域Rnを撮像してもよい。この際、認識マークの検出値と設計値とがずれやすい方向(たとえば、基板の搬送方向)など隣接する撮像領域Rnを撮像してもよい。
また、上記第3実施形態では、基板の第1部分について周辺検索処理が実施される例を示したが、本発明はこれに限られない。本発明では、第1〜第4部分のうち少なくとも1つの部分で周辺検索処理が実施されれば、第1部分以外の部分で周辺検索処理が実施されてもよい。また、第1〜第4部分のうちの複数の部分で周辺検索処理が実施されてもよい。
また、上記第3実施形態では、周辺検索処理を行う際に、3×3のマトリクス状の撮像領域R1〜R9を撮像する例を示したが、本発明はこれに限られない。本発明では、2×2または4×4以上のマトリクス状の撮像領域Rnを撮像してもよい。また、周辺検索処理を行う際に、マトリクス状以外の形状の撮像領域Rnを撮像してもよい。この際、認識マークの検出値と設計値とがずれやすい方向(たとえば、基板の搬送方向)など隣接する撮像領域Rnを撮像してもよい。これにより、周辺検索処理の精度を維持しながら、周辺検索処理に要する時間を削減することができる。
上記第1実施形態では、生産プログラムとして予め指定されている基板の認識マークMの位置座標を教示により修正する例を示したが、本発明はこれに限られない。本発明では、基板の認識マークMの位置座標以外にも、認識マークMの認識条件(定義)である形状、サイズ、光の反射率などを教示により修正してもよい。たとえば、生産プログラムとして予め指定されている光の反射率などを修正することにより、複数認識された認識マークMを1つだけ認識することができる。また、認識マークMが複数認識される場合には、複数認識される範囲以外の範囲にある認識マークMの位置に位置座標を教示することができる。これにより、認識マークMの誤認識を確実に低減し、精度よく基板処理を実施することができる。
また、上記第1〜第3実施形態では、所定の撮像領域Rnに1つの認識マークMが認識される例を示したが、本発明はこれに限られない。本発明は、所定の撮像領域Rnに複数の認識マークMが認識される場合にも適用可能である。
また、上記第1〜第3実施形態では、説明の便宜上、制御部の処理を処理フローに沿って順番に処理を行うフロー駆動型のフローを用いて説明したが、たとえば、制御部の処理動作を、イベント単位で処理を実行するイベント駆動型(イベントドリブン型)の処理により行ってもよい。この場合、完全なイベント駆動型で行ってもよいし、イベント駆動およびフロー駆動を組み合わせて行ってもよい。