以下、本発明の実施の形態における部品実装システムについて図面を参照しながら説明する。
図1は、本発明の実施の形態における部品実装システムの外観図である。
本実施の形態における部品実装システム1000は、部品実装機100と、実装条件決定装置200とを備えている。
部品実装機100は、上流側から回路基板(以下、単に基板という)20を受け取り、その基板20に対して部品を実装し、その部品が実装された基板20を下流側に送り出す。なお、部品実装機100によって部品が実装された基板20を、以下、実装基板という。
具体的には、部品実装機100は、複数種の部品を供給する2つの部品供給部115a,115bを備え、搬入口130から挿入される基板20を部品実装機100の内部に搬送して停止させる。そして、部品実装機100は、部品供給部115a,115bから供給される部品を順次取り出し、その停止している基板20に対して、取り出した部品を実装する。また、部品実装機100は、部品供給部115a,115bから供給された部品を基板20に装着する前に、その部品を撮像してその部品の形状などを認識する。
実装条件決定装置200は、部品実装機100による部品の実装条件を決定する。
図2は、部品実装機100の内部の主要な構成を示す図である。
部品実装機100は、ヘッド112と、X軸ロボット121と、2つの基板搬送レール122と、Y軸ロボット140と、部品供給部115a,115bと、3D撮像部116aと、2D撮像部116bとを備えている。
部品供給部115a,115bはそれぞれ、部品テープを収納する複数の部品カセット(フィーダ)114の配列からなる。なお、部品テープとは、例えば、同一部品種の複数の部品がテープ(キャリアテープ)上に並べられたものであり、リール等に巻かれた状態で供給される。また、部品テープに並べられる部品は、例えばチップ部品であって、具体的には0402チップ部品や1005チップ部品などである。
2つの基板搬送レール122は、基板20の幅に応じた距離だけ互いに離れて平行に配置され、部品実装機100の搬入口130から挿入された基板20が部品実装機100の内部に搬送されてその外部に搬出されるように、基板20をガイドする。
なお、本実施の形態では、この基板搬送レール122に沿って搬送される基板20の搬送方向を、X方向とし、水平面上でそのX方向と垂直な方向をY方向とする。
X軸ロボット121はヘッド112をX方向に移動させ、Y軸ロボット140はヘッド112をY方向に移動させる。
ヘッド112は、それぞれ1つの部品を吸着する例えば8本のノズルnzを備えた、マルチ装着ヘッドと呼ばれるヘッドである。
このヘッド112は、各ノズルnzを同時又は独立して上下動させることにより、部品供給部115a,115bの各フィーダ114から供給される部品をそれらのノズルnzに吸着させる。また、ヘッド112は、各ノズルnzを同時又は独立して上下動させることにより、それらのノズルnzに吸着された部品を基板20に装着させる。したがって、ヘッド112は、部品供給部115a,115bから最大8個の部品を吸着して基板20に装着することができる。
2D撮像部116bは、例えばCCD(Charge Coupled Devices)を備えて、2D撮像部116bの上方を移動するヘッド112に吸着された部品を2次元的に撮像する。
3D撮像部116aは、3D撮像部116aの上方を移動するヘッド112に吸着された部品を3次元的に撮像する。つまり、3D撮像部116aは、レーザビームを部品に対して照射し、そのレーザビームによって照射される位置(照射位置)をY方向に移動させながら、その部品に反射されたレーザビームを検出することにより、部品の高さや厚みなどの情報を含む部品の画像を取り込む。また、このような3D撮像部116aは部品実装機100に着脱自在に備えられている。
つまり、部品実装機100は、部品供給部115a,115bから供給される部品をヘッド112が吸着すると、そのヘッド112を2D撮像部116bまたは3D撮像部116aの上方へ移動させる。例えば、部品実装機100は、ヘッド112に吸着されている部品が比較的大きい部品であって、高い実装精度が必要とされていないときには、そのヘッド112を2D撮像部116bの上方へ移動させて、その2D撮像部116bに部品を撮像させる。逆に、部品実装機100は、ヘッド112に吸着されている部品が比較的小さい部品であって、高い実装精度が必要とされるときには、そのヘッド112を3D撮像部116aの上方へ移動させ、3D撮像部116aに部品を撮像させる。
これらの撮像結果は、ヘッド112に吸着された部品の形状や吸着状態などの認識に利用される。
なお、3D撮像部116aおよび2D撮像部116bを区別することなく総称する場合には、これらを以下、撮像部116という。
図3は、ヘッド112と部品カセット114の位置関係を示す模式図である。
例えば、ヘッド112には、8つのノズルnzが2列に分かれて並んでいる。各列では、4つのノズルnzがX方向に沿ってそれぞれ等間隔だけ離れて配置されている。また、一方の列と他方の列とでは、Y方向に所定間隔だけ離れている。
このようなヘッド112は、最大4個の部品カセット114のそれぞれから部品を同時に(1回の上下動作で)吸着することができ、Y方向に移動することで、さらに、最大4個の部品カセット114のそれぞれから部品を同時に(1回の上下動作で)吸着することができる。したがって、ヘッド112は2回の上下動作で最大8個の部品を同時に吸着することができる。
図4は、部品を収めた部品テープ及びリールの例を示す図である。
チップ形電子部品などの部品は、図4に示すキャリアテープ424に一定間隔で複数個連続的に形成された収納凹部424aに収納されて、この上面にカバーテープ425を貼付けて包装される。そしてこのようにカバーテープ425が貼り付けられたキャリアテープ424は、リール426に所定の数量分だけ巻回されたテーピング形態でユーザに供給される。また、このようなキャリアテープ424およびカバーテープ425によって部品テープが構成される。なお、部品テープの構成は、図4に示す構成以外の他の構成であってもよい。
このような部品実装機100は、ヘッド112を部品供給部115aまたは部品供給部115bに移動させて、部品供給部115a,115bから供給される部品をそのヘッド112に吸着させる。そして、部品実装機100は、ヘッド112を撮像部116上に一定速度で移動させ、ヘッド112に吸着された全ての部品の画像を撮像部116に取り込ませ、部品の形状や吸着位置などを正確に認識する。さらに、部品実装機100は、ヘッド112を基板20に移動させて、吸着している全ての部品を基板20の実装点に順次装着させる。部品実装機100は、このようなヘッド112による吸着、移動、および装着という一連の動作を繰り返し実行することにより、予め定められた全ての部品を基板20に実装する。
なお、上述のヘッド112による一連の動作、または、その1回あたりの一連の動作でヘッド112に吸着される部品群を、以下、タスクという。
図5は、3D撮像部116aによって部品が撮像される状態を説明するための説明図である。なお、図5の(a)は、ヘッド112と3D撮像部116aの配置を示し、図5の(b)は、3D撮像部116aから見たヘッド112を示す。
ヘッド112は、図5の(a)に示すように、3D撮像部116aの上方をX方向に沿って移動する。このとき、例えば、ヘッド112の各ノズルnzは部品pを吸着している。
なお、ヘッド112の各ノズルnzはそれぞれ、撮像部116から出力される光やレーザビームなどを反射する反射板reを有する。
3D撮像部116aは、図5の(a)に示すように、例えばスリット状の透光部61からレーザビームLaを照射し、そのレーザビームLaの照射位置をY方向の一方の向きに移動させることを繰り返し実行する。そして、3D撮像部116aは、部品pに反射したレーザビームLaを透光部61を介して検出する。
ここで、ヘッド112の8つのノズルnzは、図5の(b)に示すように、2列4行に配列している。列は、ヘッドの移動方向(X方向)に沿った配列を示し、行はX方向と垂直な方向(Y方向)に沿った配列を示す。列には、A列およびB列があり、行には、0行、1行、2行、および3行がある。A列およびB列のそれぞれでは、4つのノズルnzがX方向に沿って配列し、0行や1行などの各行では、2つのノズルnzがY方向に沿って配列している。
したがって、3D撮像部116aがレーザビームLaの照射位置をY方向の一方の向きに移動させることにより、図5の(b)の点線の矢印に示すように、そのレーザビームLaは、Y方向に配列している同一行(例えば0行など)に属する2つの部品p上に1つのラインを描くように当たることとなる。例えば、3D撮像部116aは、約250μsの間にレーザビームLaの照射位置をY方向の一方の向きに移動させる。3D撮像部116aは、このようなレーザビームLaの照射位置の移動を、ヘッド112がX方向に僅かに移動するごとに繰り返し、同一行のA列およびB列に属する2つの部品pのそれぞれに反射されたレーザビームLaの検出結果に基づいて、それらの部品pの画像を同時に取り込む。つまり、3D撮像部116aは、ヘッド112が3D撮像部116aの上方を移動すると、ヘッド112のY方向に配列している2つのノズルnzに吸着された2つの部品pごとに、それらの部品pを同時に走査してそれらの画像を同時に取り込む。
すなわち、3D撮像部116aは、まず、0行に属する2つのノズルnzに吸着された2つの部品pをレーザビームLaで同時に走査することにより、これらの部品pの画像を同時に取り込む。次に、3D撮像部116aは、1行に属する2つのノズルnzに吸着された2つの部品pをレーザビームLaで同時に走査することにより、これらの部品pの画像を同時に取り込む。このように、3D撮像部116aは、同一行に属する2つのノズルnzに吸着された2つの部品pの画像を順次同時に取り込むことにより、ヘッド112に吸着されている全て(8個)の部品p、つまり1タスク分の部品pの画像を取り込む。
図6は、3D撮像部116aの内部の機械構成を示す図である。
3D撮像部116aは、半導体レーザ62と、ポリゴンミラー63と、2つの半導体位置検出素子(Position Sensitive Detector)64と、複合レンズ65a,65bと、同期信号検出部66とを備えている。
半導体レーザ62は、レーザビームLaの光源であって、半導体のいわゆる再結合発光を利用することにより、複合レンズ65bに向けてレーザビームLaを出力する。
複合レンズ65bは、複数のレンズからなり、半導体レーザ62から出力されたレーザビームLaを透過させて反射し、そのレーザビームLaをポリゴンミラー63に向ける。
ポリゴンミラー63は、複合レンズ65bからレーザビームLaを受けると、そのレーザビームLaを複合レンズ65aに向けて反射する。また、ポリゴンミラー63は、XY平面上に回動することにより、複合レンズ65aに照射されるレーザビームLaをY方向の一方の向きに傾ける。
さらに、ポリゴンミラー63は、XY平面上に回動することにより、そのレーザビームLaの向きの変化と同期したタイミングで、レーザビームLaを同期信号検出部66に向けて反射する。つまり、ポリゴンミラー63は、反射されるレーザビームLaをY方向の一方の向きに傾けて、再び、その向きを元に戻すときに、レーザビームLaを同期信号検出部66に向けて反射する。
複合レンズ65aは、複数のレンズからなり、ポリゴンミラー63によって反射されたレーザビームLaを透過させて、透光部61から3D撮像部116aの外部に出力させる。
2つの半導体位置検出素子64は、透光部61を介して、部品pに反射されたレーザビームLaを受光して、その受光結果に応じた検出信号を出力する。この検出信号は、部品pにおいてレーザビームLaが当たった部位の高さや厚みなどを示す。
同期信号検出部66は、ポリゴンミラー63から同期信号検出部66に向けて反射されたレーザビームLaを検出すると、その検出結果に応じた同期信号を出力する。この同期信号は、上述の検出信号の示す部品pの高さに対応するその部品pの位置を特定するために利用される。
図7は、本実施の形態における部品実装機100の機能構成を示す図である。
部品実装機100は、機構部Mと、主制御部160と、上述の3D撮像部116aおよび2D撮像部116bと、通信部161と、仕様データ格納部162と、パラメータ格納部163と、取得データ格納部164とを備えている。
機構部Mは、主制御部160による制御に応じて機械的に動作する複数の機構からなり、上述のヘッド112、X軸ロボット121、およびY軸ロボット140などを含む。
仕様データ格納部162は、部品実装機100に備えられている3D撮像部の仕様などを示す撮像仕様データ162aを格納する。
パラメータ格納部163は、Aパラメータデータ、Bパラメータデータ、Cパラメータデータ、およびDパラメータデータなどの複数のパラメータデータを格納している。
複数のパラメータデータはそれぞれ、部品実装機100が実装可能な部品に対する適切な撮像条件を示す。具体的には、パラメータデータは、後述する光量下限値、高さずれ許容値、およびクリッピングレベルなどを撮像条件として示す。
通信部161は、実装条件決定装置200と通信し、例えば、仕様データ格納部162に格納されている撮像仕様データ162aを実装条件決定装置200に出力する。また、通信部161は、実装条件決定装置200から実装条件データ164a、NCデータ164bおよび部品ライブラリ164cを取得して取得データ格納部164に格納する。
図8は、NCデータ164bの一例を示す図である。
NCデータ164bは、基板20において装着の対象となる全ての部品の実装点に関する情報を示す。1つの実装点piは、部品種ci、X座標xi、Y座標yi、制御データφi、および実装角度θiからなる。ここで、部品種は、部品ライブラリ164cにおける部品名に相当し(図9参照)、X座標およびY座標は、実装点の座標(基板20上の特定位置を示す座標)であり、制御データは、その部品の装着に関する制約情報、例えば、使用可能なノズルnzのタイプや、ヘッド112の最高移動加速度等を示す。実装角度は、部品種ciの部品を吸着したノズルnzが回転すべき角度を示す。
図9は、部品ライブラリ164cの一例を示す図である。
部品ライブラリ164cは、部品実装機100が扱うことができる全ての部品種のそれぞれについての固有の情報を集めたライブラリである。この部品ライブラリ164cは、図9に示すように、部品種(部品名)ごとに、その部品種の部品に適切な撮像条件を示すパラメータデータの種別、その部品種の部品サイズ、その部品種におけるタクト、および制約情報などからなる。
また、この部品ライブラリ164cの示すタクトは、一定条件下において部品を基板20に装着するのに要する部品種固有の時間であって、制約情報は、例えば、使用可能なノズルnzのタイプ(SXや、SAなど)や、2D撮像部116bによる認識方式(反射など)、ヘッド112の最高加速度比などである。また、図9には、参考として、各部品種の部品の外観も併せて示されている。部品ライブラリ164cには、その他に、部品の色や形状などの情報が含まれていてもよい。
また、実装条件データ164aは、部品実装機100による実装条件を示し、例えば、部品の実装順序やタクトを示すとともに、そのタクトに属する部品がヘッド112に配列された8つのノズルnzのうち何れのノズルnzに吸着されるべきかを示す。
主制御部160は、取得データ格納部164に格納されているNCデータ164bや実装条件データ164a、部品ライブラリ164cに基づいて、予め定められた複数の部品が基板20に適切に実装されるように、機構部M、3D撮像部116a、2D撮像部116b、および通信部161を制御する。
また、主制御部160は、3D撮像部が部品実装機100に取り付けられたときには、3D撮像部と通信することによりその3D撮像部の仕様などを特定し、その仕様などを示す上述の撮像仕様データ162aを生成して仕様データ格納部162に格納する。
さらに、主制御部160は、部品ライブラリ164cを参照することにより、実装条件データ164aによって示されるタスクごとに、そのタスクに属する全ての部品の撮像に必要なパラメータデータの種別を特定する。そして、主制御部160は、タスクごとに、その特定された種別のパラメータデータをパラメータ格納部163から読み出して3D撮像部116aに出力する。
ここで、主制御部160は、3D撮像部116aにパラメータデータを出力するときには、実装条件データ164aを参照することにより、そのパラメータデータを用いて撮像される部品を吸着するノズルnzの属する列と行(以下、対象行列という)を付して出力する。
例えば、Aパラメータデータに対して対象行列A[1]が付されている。ここで、A[1]のAは、Aパラメータデータを用いて撮像される部品を吸着するノズルnzの属する列がA列であることを示し、A[1]の[1]は、Aパラメータデータを用いて撮像される部品を吸着するノズルnzの属する行が1行であることを示す。
図10は、3D撮像部116aの機能構成を示す図である。
3D撮像部116aは、第3メモリ67と、3D撮像制御部68と、レーザドライバ62aと、半導体レーザ62と、ポリゴンミラー63と、モータ制御部63aと、半導体位置検出素子64と、アンプ64aと、A/D変換部64bと、同期信号検出部66と、FPGA69とを備えている。
第3メモリ67は、主制御部160から出力されて取得された複数のパラメータデータを格納している。つまり、この複数のパラメータデータは、1つのタスクに属する全ての部品に対して適切な撮像条件を示す。
例えば、第3メモリ67は、Aパラメータデータ、Bパラメータデータ、Cパラメータデータ、Dパラメータデータ、およびEパラメータデータを格納している。
3D撮像制御部68は、第3メモリ67に格納されているパラメータデータを、それぞれに付された対象行列に従って取り出してFPGA69に出力する。
つまり、3D撮像制御部68は、まず、ヘッド112の0行にある2つの部品pが透光部61の上方に到達すると、対象行列A[0]およびB[0]が付されたパラメータデータをFPGA69に出力する。次に、3D撮像制御部68は、ヘッド112の1行にある2つの部品pが透光部61の上方に到達すると、対象行列A[1]およびB[1]が付されたパラメータデータをFPGA69に出力する。さらに、3D撮像制御部68は、ヘッド112の2行にある2つの部品pが透光部61の上方に到達すると、対象行列A[2]およびB[2]が付されたパラメータデータをFPGA69に出力する。
このように、3D撮像制御部68は、ヘッド112の同一行に属する2つの部品pが透光部61の上方に到達するごとに、必要とされるパラメータデータをFPGA69に出力する。
さらに、3D撮像制御部68は、ヘッド112のノズルnzによって吸着された部品pがレーザビームLaで走査されるように、レーザドライバ62aおよびモータ制御部63aを制御する。
つまり、3D撮像制御部68は、ノズルnzに吸着された部品pが透光部61の上方に到達すると、レーザドライバ62aに対してレーザビームLaを出力するように指示するとともに、モータ制御部63aに対してポリゴンミラー63を回動するように指示する。
レーザドライバ62aは、3D撮像制御部68から出力の指示を受けると、半導体レーザ62に電力を供給してその半導体レーザ62からレーザビームLaを出力させる。
モータ制御部63aは、3D撮像制御部68から出力の指示を受けると、ポリゴンミラー63を回動させて、レーザビームLaの向きを変える。
アンプ64aは、半導体位置検出素子64から検出信号Sdを受けると、その検出信号Sdを増幅してA/D変換部64bに出力する。
A/D変換部64bは、A/D変換部64bによって増幅された検出信号Sdを受けると、その検出信号Sdをアナログ信号からデジタル信号に変換し、デジタル信号の検出信号SdをFPGA69に出力する。
なお、図10では、半導体位置検出素子64、アンプ64a、およびA/D変換部64bを1組だけ示しているが、3D撮像部116aは、これらを2組備えている。
FPGA69は、Field Programmable Gate Arrayとして構成されており、A/D変換部64bから検出信号Sdを受けると、その検出信号Sdに基づいて、高さの情報を含む部品pの画像を生成して、その生成された画像を主制御部160に出力する。
このようなFPGA69は、高さ計算部71と、カウンタ部72と、切換部73と、第1メモリ74と、第2メモリ75とを備えている。
カウンタ部72は、Xカウンタと、Yカウンタとを備えている。
Xカウンタは、同期信号検出部66から同期信号Syを受けるごとに、カウント数Xctを1つずつカウントアップする。つまり、カウント数Xctは、ヘッド112におけるレーザビームLaのX方向の照射位置を示す。
Yカウンタは、高さ計算部71によって1画素あたりの部品pの高さが計算されるごとに、カウント数Yctを1つずつカウントアップし、同期信号検出部66から同期信号Syを受けると、そのカウント数Yctを例えば0にリセットする。つまり、カウント数Yctは、ヘッド112におけるレーザビームLaのY方向の照射位置を示す。
例えば、ポリゴンミラー63の回動によって、レーザビームLaの照射位置がヘッド112のA列からB列に移動する場合に、0<カウント数Yct<CNTのときには、そのカウント数Yctは、レーザビームLaがA列の部品pに当たっていることを示す。また、CNT<カウント数Yct<Ymxのときには、そのカウント数Yctは、レーザビームLaがB列の部品pに当たっていることを示す。そして、カウント数Yct=CTNのときには、そのカウント数Yctは、レーザビームLaの照射位置がA列の部品pとB列の部品pとの間にあることを示す。
なお、Ymxは0より大きい整数であって、CNTは例えば1/Ymxに相当する整数である。
第1メモリ74および第2メモリ75は、同時に撮像される1つまたは2つの部品p、つまりヘッド112の同一行に属する1つまたは2つの部品pに対して、適切なパラメータデータを3D撮像制御部68から受け取って格納する。
第1メモリ74は、ヘッド112のA列のノズルnzに吸着された部品に最適なパラメータデータ、つまり、対象行列としてA[n]が付されたパラメータデータを格納する。なお、nは0〜3の任意の整数を示す。第2メモリ75は、ヘッド112のB列のノズルnzに吸着された部品に適切なパラメータデータ、つまり、対象行列としてB[n]が付されたパラメータデータを格納する。したがって、第1メモリ74はA列用のパラメータデータを格納し、第2メモリ75はB列用のパラメータデータを格納する。
切換部73は、カウンタ部72のYカウンタの示すカウント数Yctに基づいて、第1メモリ74と第2メモリ75とを切り換えて高さ計算部71に接続する。例えば、切換部73は、0≦カウント数Yct<CNTのときには、第1メモリ74を高さ計算部71に接続し、CNT≦カウント数Yct≦Ymxのときには、第2メモリ75を高さ計算部71に接続する。つまり、切換部73は、カウント数Yct=CNTのときに、高さ計算部71の接続先を、第1メモリ74から第2メモリ75に切り換える。
なお、本実施の形態では、この切換部73、第1メモリ74、第2メモリ75、およびカウンタ部72を切換手段として構成し、3D撮像部116aに含まれるこれら以外の構成要素を撮像手段として構成している。
高さ計算部71は、A/D変換部64bから検出信号Sdを取得し、その検出信号Sdに基づいて、レーザビームLaが当たった部品pの位置における高さ(厚み)を1画素単位で算出する。したがって、高さ計算部71は、部品pの全体がレーザビームLaで走査されると、その部品pの高さを含む部品p全体の画像を生成してその画像を主制御部160に出力する。また、高さ計算部71は、同一行に属するA列およびB列の2つの部品pがレーザビームLaで走査されると、2つの部品pの高さを含む画像を同時に生成してその画像を主制御部160に出力する。
このように本実施の形態では、FPGA69の第1メモリ74および第2メモリ75にA列用のパラメータデータとB列用のパラメータデータとを格納しておくことにより、レーザビームLaの照射位置がA列とB列の間にある僅か数μsの間に、A列用のパラメータデータとB列用のパラメータデータとを切り換えることができる。
ここで、パラメータデータにより示される撮像条件について説明する。
パラメータデータは、光量下限値、高さずれ許容値、およびクリッピングレベルなどを撮像条件として示す。
図11は、パラメータデータの示す光量下限値および高さずれ許容値を説明するための説明図である。
上述のように、レーザビームLaは、半導体レーザ62から出力されて部品pによって反射され、2つの半導体位置検出素子64にそれぞれ検出される。そして、2つの半導体位置検出素子64はそれぞれ、その検出結果に応じた検出信号Sdをアンプ64aおよびA/D変換部64bを介して高さ計算部71に出力する。
ここで、2つの半導体位置検出素子64は、部品pに向けて照射されるレーザビームLaを中心軸として線対称となるように配置されている。したがって、通常、部品pによって反射されたレーザビームLaは、それら2つの半導体位置検出素子64にそれぞれ等しく検出される。しかし、レーザビームLaが当てられた部品pの表面形状に応じて、何れか一方の半導体位置検出素子64に偏ってレーザビームLaが検出されてしまう場合がある。この場合には、他方の半導体位置検出素子64から出力される検出信号Sdの信頼性は低い。
そこで、高さ計算部71は、それぞれの検出信号Sdの信頼性の有無を、光量下限値を用いて判別し、信頼性がないと判別すると、信頼性がないと判別された検出信号Sdに基づく高さの算出を中止する。
すなわち、光量下限値は、半導体位置検出素子64からアンプ64aおよびA/D変換部64bを介して出力された検出信号Sdの出力レベルの閾値を示す。
したがって、高さ計算部71は、半導体位置検出素子64から出力された検出信号Sdの出力レベルが光量下限値よりも小さければ、その検出信号Sdの信頼性はないと判別し、その検出信号Sdに基づく高さの算出を行わない。その結果、2つの半導体位置検出素子64から出力された検出信号Sdのうち、何れか一方の検出信号Sdの出力レベルが光量下限値よりも小さく、他方の検出信号Sdの出力レベルが光量下限値以上であれば、高さ計算部71は、その他方の検出信号Sdのみに基づいて高さを算出する。
なお、本実施の形態では、3D撮像部116aは、A列およびB列の部品に反射されたレーザビームLaを2つの半導体位置検出素子64で検出する検出サブステップと、半導体位置検出素子64ごとに、その半導体位置検出素子64で検出された結果に基づいて、A列およびB列の部品における照射位置での高さを算出する高さ算出サブステップと、2つの半導体位置検出素子64で検出された照射位置での2つの高さから、1つの高さを決定する高さ決定サブステップと、その高さ決定サブステップで決定された高さを含むA列およびB列の部品の画像を生成する画像生成サブステップとを実行している。そして、本実施の形態における3D撮像部116aは、その高さ算出サブステップにおいて、半導体位置検出素子64で検出されたレーザビームLaの光量(出力レベル)がパラメータデータの示す光量下限値よりも小さい場合には、その半導体位置検出素子64で検出された結果に基づく高さの算出を禁止する。
また、上述のように、通常では、部品pによって反射されたレーザビームLaは、それら2つの半導体位置検出素子64にそれぞれ等しく検出されるため、それら2つの半導体位置検出素子64から出力された検出信号Sdに基づいて算出される2つの高さは等しくなるはずである。したがって、これらの高さに所定量以上のずれがあると、それらの高さに信頼性がないこととなる。
すなわち、高さずれ許容値は、2つの半導体位置検出素子64から出力された検出信号Sdのそれぞれによって算出される2つの高さのずれの許容値を示す。
したがって、高さ計算部71は、2つの半導体位置検出素子64から出力された検出信号Sdのそれぞれに基づいて2つの高さを算出すると、算出された2つの高さの差が高さずれ許容値以下に収まっているか否かを判別する。そして、高さ計算部71は、収まっていると判別すると、それらの高さに信頼性があると判断し、例えば、その2つの高さの平均値を算出することにより、レーザビームLaが当てられた部品pの位置における高さを決定する。一方、高さ計算部71は、2つの高さの差が高さずれ許容値以下に収まっていないと判別すると、それらの高さに信頼性がないと判断してそれらの高さを消去する。
つまり、本実施の形態では、3D撮像部116aは、上述の高さ算出サブステップで算出された照射位置での2の高さのずれが、パラメータデータの示す高さずれ許容値よりも大きい場合には、その2つの高さから1つの高さを決定することを禁止している。
図12は、パラメータデータの示すクリッピングレベルを説明するための説明図である。
クリッピングレベルは部品p周辺の高さを示す。
つまり、高さ計算部71は、検出信号Sdに応じて高さを順次算出すると、部品p周辺の極めて低い部分において、変動の激しい高さを算出することがある。このとき、高さ計算部71は、その部品p周辺の高さをクリッピングレベルにする。例えば、図12に示すように、高さ計算部71は、部品p周辺の高さをクリッピングレベル1にしたりクリッピングレベル2にしたりする。
その結果、高さ計算部71は、クリッピングレベルに設定された周辺を含む部品pの画像を生成して主制御部160に出力する。
図13は、同期信号Syとカウント数Yctとパラメータデータとの関係を示す図である。
例えば、時刻t1で同期信号Syが出力されると、カウンタ部72のYカウンタはカウント数Yctを0にリセットする。そしてこのとき、切換部73は、高さ計算部71にA列用の第1メモリ74を接続する。
これにより、高さ計算部71は、時刻t1以降、A列用の第1メモリ74に格納されているパラメータデータを使用して、ヘッド112のA列にある部品pの高さを1画素ごとにY方向に沿って順次算出する。さらに、Yカウンタは、時刻t1以降、1画素に対する部品pの高さが算出されるごとに、カウントアップを繰り返して行う。
次に、時刻t2でYカウンタのカウント数がYct=CNTになると、切換部73は、高さ計算部71の接続先を第1メモリ74からB列用の第2メモリ75に切り換える。
これにより、高さ計算部71は、時刻t2以降、B列用の第2メモリ75に格納されているパラメータデータを使用して、ヘッド112のB列にある部品pの高さを1画素ごとにY方向に沿って順次算出する。さらに、Yカウンタは、時刻t2以降も継続して、1画素に対する部品pの高さが算出されるごとに、カウントアップを繰り返して行う。
そして、時刻t3で同期信号Syが出力されると、カウンタ部72のYカウンタはカウント数Yctを再び0にリセットする。そしてこのとき、切換部73は、高さ計算部71の接続先を、第2メモリ75からA列用の第1メモリ74に切り換える。
これにより、高さ計算部71は、時刻t3以降、A列用の第1メモリ74に格納されているパラメータデータを使用して、ヘッド112のA列にある部品pの高さを1画素ごとにY方向に沿って順次算出する。さらに、Yカウンタは、時刻t3以降も継続して、1画素に対する部品pの高さが算出されるごとに、カウントアップを繰り返して行う。
このように、本実施の形態における高さ計算部71は、レーザビームLaの照射位置がY方向に沿って移動している間に、カウント数Yctに基づいて、第1および第2メモリ74,75に格納されているパラメータデータを切り換えて用いる。したがって、ヘッド112の同一行に属するA列の部品pとB列の部品pとのそれぞれに適したパラメータデータが異なっていても、高さ計算部71は、レーザビームLaの照射位置の移動途中でパラメータデータを素早く切り換えることで、これらの部品pを同時に撮像することができる。
図14は、ヘッド112に吸着された各部品の状態を示す図である。
例えば、ヘッド112のA列0行、B列0行およびB列1行にあるノズルnzには、撮像にBパラメータデータを要する部品pa0、部品pb0および部品pb1が吸着されている。さらに、ヘッド112のA列1行にあるノズルnzには、撮像にAパラメータデータを要する部品pa1が吸着され、ヘッド112のA列2行にあるノズルnzには、撮像にCパラメータデータを要する部品pa2が吸着され、ヘッド112のB列2行にあるノズルnzには、撮像にDパラメータデータを要する部品pb2が吸着されている。また、ヘッド112のA列3行およびB列3行にあるノズルnzには、撮像にEパラメータデータを要する部品pa3および部品b3が吸着されている。
なお、図14中の点線の矢印は、レーザビームLaの照射位置の軌道を示す。
このようなヘッド112が移動して、ヘッド112の0行にあるノズルnzに吸着されている部品が撮像範囲に入ると、3D撮像部116aは、第1および第2メモリ74,75に格納されているBパラメータデータを用いることで、A列0行およびB列0行にあるノズルnzに吸着されている部品pa0および部品pb0の画像を同時に取り込む。
さらに、ヘッド112が移動して、ヘッド112の0行にあるノズルnzに吸着されている部品が撮像範囲から抜けると、3D撮像部116aは、第1メモリ74に格納されているBパラメータデータをAパラメータデータに置き換える。そして、ヘッド112が移動して、ヘッド112の1行にあるノズルnzに吸着されている部品が撮像範囲に入ると、3D撮像部116aは、第1および第2メモリ74,75に格納されているAパラメータデータとBパラメータデータとを切り換えて用いることで、A列1行およびB列1行にあるノズルnzに吸着されている部品pa1および部品pb1の画像を同時に取り込む。
そして、ヘッド112が移動して、ヘッド112の1行にあるノズルnzに吸着されている部品が撮像範囲から抜けると、3D撮像部116aは、第1メモリ74に格納されているAパラメータデータをCパラメータデータに置き換え、第2メモリ75に格納されているBパラメータデータをDパラメータデータに置き換える。そして、ヘッド112が移動して、ヘッド112の2行にあるノズルnzに吸着されている部品が撮像範囲に入ると、3D撮像部116aは、第1および第2メモリ74,75に格納されているCパラメータデータとDパラメータデータとを切り換えて用いることで、A列2行およびB列2行にあるノズルnzに吸着されている部品pa2および部品pb2の画像を同時に取り込む。
さらに、ヘッド112が移動して、ヘッド112の2行にあるノズルnzに吸着されている部品が撮像範囲から抜けると、3D撮像部116aは、第1メモリ74に格納されているCパラメータデータをEパラメータデータに置き換え、第2メモリ75に格納されているDパラメータデータをEパラメータデータに置き換える。そして、ヘッド112が移動して、ヘッド112の3行にあるノズルnzに吸着されている部品が撮像範囲に入ると、3D撮像部116aは、第1および第2メモリ74,75に格納されているEパラメータデータを用いることで、A列3行およびB列3行にあるノズルnzに吸着されている部品pa3および部品pb3の画像を同時に取り込む。
したがって、本実施の形態における3D撮像部116aでは、適切なパラメータデータの異なる2つの部品の画像を同時に取り込むことができるため、図19に示すように、従来では部品pa0などと同一のタスクにできなかった部品pa1および部品pa2を同一のタスクにすることができる。その結果、タクトの短縮化を図ることができる。
図15は、3D撮像部116aの動作を示すフローチャートである。
3D撮像部116aは、まず、第1メモリ74を高さ計算部71に接続することで、第1メモリ74に格納されているA列用のパラメータデータを設定する(ステップS10)。
次に、3D撮像部116aは、レーザビームLaの走査を1ラインだけ開始する(ステップS12)。なお、この走査の開始時には、Yカウンタのカウント数YctはYct=0になっている。
そして、3D撮像部116aは、カウント数YctがYct=CNTであるか否か、すなわち、レーザビームLaの照射位置がヘッド112のA列とB列との間にあるか否かを判別する(ステップS14)。ここで、3D撮像部116aは、照射位置がA列とB列との間にあると判別すると(ステップS14のY)、高さ計算部71に接続されている第1メモリ74を第2メモリ75に切り換えることで、A列用のパラメータデータをB列用のパラメータデータに変更する(ステップS16)。
つまり、本実施の形態における3D撮像部116aでは、ステップS16(切換ステップ)において、レーザビームLaの照射位置がA列の部品にあるときと、その照射位置がB列の部品にあるときとで、撮像に用いられている撮像条件を切り換えている。
次に、3D撮像部116aは、1ラインの走査が終了したか否か、つまり、Yカウンタのカウント数YctがYct=Ymxになっているか否かを判別する(ステップS18)。
つまり、本実施の形態における3D撮像部116aでは、ステップS12〜S18(撮像ステップ)において、ヘッド112に向けて照射されたレーザビームLaの照射位置が、Y方向に沿って配列してヘッド112に吸着されているA列およびB列の部品を通過するように、レーザビームLaの照射位置をY方向に移動させながら、照射位置で反射されたレーザビームLaを検出することにより、A列およびB列の部品のレーザビームLaに照射された部分を撮像している。
ここで、3D撮像部116aは、Yct=Ymxになっていないと判別すると(ステップS18のN)、ステップS14からの動作を繰り返し実行する。一方、3D撮像部116aは、Yct=Ymxになっていると判別すると(ステップS18のY)、さらに、ヘッド112の行全体に対して走査が完了したか否かを判別する(ステップS20)。
ここで、3D撮像部116aは、完了していないと判別すると(ステップS20のN)、ステップS10からの動作を繰り返し実行し、完了したと判別すると(ステップS20のY)、さらに、ヘッド112の全ての行に対して撮像が完了したか否かを判別する(ステップS22)。なお、ヘッド112の行全体に対する走査が完了すると、その行に属する2つのノズルnzに2つの部品が吸着されていれば、それら2つの部品の画像が同時に生成されることとなる。
そして、3D撮像部116aは、ヘッド112の全ての行に対する走査が完了していないと判別したときには(ステップS22のN)、ステップS10からの動作を繰り返し実行し、完了したと判別したときには(ステップS22のY)、1タスクにおける部品の撮像処理を終了する。
図16は、3D撮像部116aのパラメータデータの変更動作を詳細に示すフローチャートである。
まず、3D撮像部116aの3D撮像制御部68は初期設定を行う(ステップS100)。すなわち、3D撮像制御部68は、カウンタ部72のXカウンタのカウント数XctをXct=0に設定し、Yカウンタのカウント数YctをYct=0に設定し、ヘッド112の行を示す変数nをn=0に設定する。
次に、3D撮像制御部68は、A列0行にあるノズルnzに吸着される部品pに対して適切なパラメータデータ(対象行列A[0]のパラメータデータ)を第1メモリ74に格納し、B列0行にあるノズルnzに吸着される部品pに対して適切なパラメータデータ(対象行列B[0]のパラメータデータ)を第2メモリ75に格納する(ステップS102)。
そして、カウンタ部72は、同期信号Syを受信したか否かを判別する(ステップS104)。ここで、同期信号Syを受信したと判別すると(ステップS104のY)、カウンタ部72は、Xカウンタのカウント数Xctを1つだけカウントアップし、Yカウンタのカウント数Yctが0でなければ、そのカウント数Yctを0にリセットする(ステップS106)。
3D撮像制御部68は、カウント数Xctがヘッド112のn行と(n+1)行との間に対応する位置Line(n)を示すか否かを判別する(ステップS108)。なお、位置Line(0)は、ヘッド112の0行と1行との間に対応する位置を示し、位置Line(1)は、ヘッド112の1行と2行との間に対応する位置を示す。
ここで、3D撮像制御部68は、カウント数Xctが位置Line(n)を示すと判別すると(ステップS108のY)、その変数nがヘッド112の最終行(Last_n)と等しいか否かを判別する(ステップS110)。例えば、ヘッド112の最終行(Last_n)は3である。
そして、3D撮像制御部68は、変数nがヘッド112の最終行(Last_n)と等しいと判別すると(ステップS110のY)、1タスク分の全ての部品pの画像が取り込まれたと判断し、レーザドライバ62aに対してレーザビームLaの出力を停止させる。一方、3D撮像制御部68は、変数nがヘッド112の最終行(Last_n)と異なると判別すると(ステップS110のN)、変数nをインクリメントする。そして、3D撮像制御部68は、そのインクリメントされた変数nを用いて、A列n行にあるノズルnzに吸着される部品pに対して適切なパラメータデータ(対象行列A[n]のパラメータデータ)と、B列n行にあるノズルnzに吸着される部品pに対して適切なパラメータデータ(対象行列B[n]のパラメータデータ)とを第3メモリ67から取得する。さらに、3D撮像制御部68は、第1メモリ74に格納されているパラメータデータを、第3メモリ67から取得された対象行列A[n]のパラメータデータに置き換え、第2メモリ75に格納されているパラメータデータを、第3メモリ67から取得された対象行列B[n]のパラメータデータに置き換える(ステップS112)。
次に、ステップS104で同期信号Syを受信していないと判別されたとき(ステップS104のN)、ステップS108でカウント数Xctが位置Line(n)を示さないと判別されたとき(ステップS108のN)、または、ステップS112でパラメータデータの置き換えが行われたときには、切換部73は、カウンタ部72のYカウンタのカウント数YctがCNT以上であるか否かを判別する(ステップS114)。
ここで、切換部73は、カウント数YctがCNTよりも小さいと判別すると(ステップS114のN)、第1メモリ74を高さ計算部71に接続して、第1メモリ74に格納されているA列用のパラメータデータに基づく部品pの1画素あたりの高さの算出を高さ計算部71に実行させる(ステップS116)。一方、切換部73は、カウント数YctがCNT以上である判別すると(ステップS114のY)、第2メモリ75を高さ計算部71に接続して、第2メモリ75に格納されているB列用のパラメータデータに基づく部品pの1画素あたりの高さの算出を高さ計算部71に実行させる(ステップS118)。
その後、3D撮像制御部68は、カウンタ部72のYカウンタのカウント数Yctを1だけカウントアップさせ(ステップS120)、カウンタ部72は、ステップS104からの処理を繰り返して実行する。
図17は、本実施の形態における実装条件決定装置200の機能構成を示す図である。
実装条件決定装置200は、入力部201、表示部202、最適化部203、通信部204、第1格納部205、および第2格納部206を備えている。
第1格納部205は、NCデータ164bと部品ライブラリ164cとを格納している。第2格納部206は、最適化部203によって生成された実装条件データ164aを格納する。
入力部201は、例えばキーボードやマウスなどで構成されており、オペレータからの操作を受け付けて、その操作結果を最適化部203などに通知する。
表示部202は、例えば液晶ディスプレイなどで構成されており、最適化部203などの動作状態を表示したり、第1格納部205および第2格納部206などに格納されているデータを表示したりする。
通信部204は、部品実装機100と通信する。例えば、通信部204は、第1格納部205に格納されているNCデータ164bおよび部品ライブラリ164cと、第2格納部206に格納されている実装条件データ164aとを部品実装機100に送信することにより、それらのデータに従った部品の実装や撮像を部品実装機100に対して実行させる。また、通信部204は、部品実装機100から撮像仕様データ162aを取得して、その撮像仕様データ162aを最適化部203に出力する。
最適化部203は、第1格納部205に格納されているNCデータ164bおよび部品ライブラリ164cと、通信部204を介して部品実装機100から取得した撮像仕様データ162aとに基づいて、部品実装機100の実装条件の最適化を行う。例えば、最適化部203は、タクトが最短になるような実装条件を決定する。実装条件は、上述のように、基板20に実装されるべき複数の部品の実装順序やタクトなどを示す。そして、最適化部203は、その実装条件を示す実装条件データ164aを生成して第2格納部206に格納する。
ここで、撮像仕様データ162aは、上述のように、3D撮像部の仕様などを示す。すなわち、この撮像仕様データ162aは、部品実装機100に備えられている3D撮像部が本実施の形態における3D撮像部116aであるか否か、言い換えれば、ヘッド112の行の中でパラメータデータの切り換えが可能か否かを示す。
したがって、最適化部203は、撮像仕様データ162aが切換不可を示すときには、各タスクにおいて、互いに異なるパラメータデータを使用して撮像すべき2つの部品pがヘッド112の同一行に属するノズルnzに吸着されないように、ヘッド112による部品pの吸着態様にパラメータデータに基づく制約をつけて全てのタスクを決定する。
一方、最適化部203は、撮像仕様データ162aが切換可能を示すときには、すなわち、本実施の形態における3D撮像部116aが部品実装機100に備えられているときには、上述のようなパラメータに基づく制約をつけずに全てのタスクを決定する。したがって、最適化部203は、各タスクにおいて、互いに異なるパラメータデータを使用して撮像すべき2つの部品pがヘッド112の同一行に属するノズルnzに吸着されてもよいように、全てのタスクを決定する。
図18は、本実施の形態における実装条件決定装置200の動作を示すフローチャートである。
まず、実装条件決定装置200の最適化部203は、通信部204を介して、部品実装機100から撮像仕様データ162aを取得する(ステップS200)。そして、最適化部203は、その撮像仕様データ162aが切換可能を示しているか否かを判別する(ステップS202)。
つまり、本実施の形態における実装条件決定装置200は、ステップS202(判別ステップ)において、移動しているヘッド112に吸着され、Y方向に沿って配列している2つの部品が3D撮像部により撮像される場合に、その3D撮像部が部品ごとにパラメータデータを異ならせてその2つの部品を撮像することが可能か否かを判別している。
ここで、最適化部203は、切換可能を示していると判別すると(ステップS202のY)、パラメータデータの制約を受けずに、NCデータ207aおよび部品ライブラリ207bに基づいて実装条件を決定する(ステップS204)。例えば、最適化部203は、図14に示すようなタスクを実装条件として決定する。
つまり、本実施の形態における実装条件決定装置200は、ステップS204(第2の決定ステップ)において、互いに異なるパラメータデータを要する部品がY方向に沿って配列してヘッド112に吸着されてもよいように、ヘッド112に吸着されるタスク(部品群)を実装条件として決定している。
一方、最適化部203は、切換不可を示していると判別すると(ステップS202のN)、パラメータデータの制約の下で実装条件を決定する(ステップS206)。例えば、最適化部203は、図19に示すようなタスクを実装条件として決定する。
つまり、本実施の形態における実装条件決定装置200は、ステップS206(第1の決定ステップ)において、互いに異なるパラメータデータを要する部品がY方向に沿って配列してヘッド112に吸着されないように、ヘッド112に吸着されるタスク(部品群)を実装条件として決定している。
このとき、最適化部203は、図19に示すように、同一のパラメータデータを要する2つの部品がY方向に沿って配列してヘッド112に吸着されるように、ヘッド112に吸着されるタスクを決定する。または、最適化部203は、2つのノズルnzのうち1つだけが部品を吸着するように、ヘッド112に吸着されるタスクを決定する。
そして、最適化部203は、ステップS204またはステップS206で決定した実装条件を示す実装条件データ164aを生成し、その実装条件データ164aを第2格納部206に格納するとともに、通信部204を介して部品実装機100に送信する(ステップS208)。
以上、本発明に係る実装条件決定方法および実装条件決定装置について、上記実施の形態を用いて説明したが、本発明は、これに限定されるものではない。
例えば、上記実施の形態では、実装条件決定装置200は、撮像仕様データ162aが切換不可を示している場合には、図19に示すようなタスクを決定したが、図14に示すようなタスクを決定してもよい。この場合、実装条件決定装置200は、部品実装機100に対して、ヘッド112が3D撮像部116a上でX方向に2回移動(2往復)するように指示する。つまり、3D撮像部116aは、1回目の移動のときに、ヘッド112のA列の部品のみを撮像し、2回目の移動のときに、ヘッド112のB列の部品のみを撮像する。
また、上記実施の形態では、パラメータデータは、撮像条件として、光量下限値、高さずれ許容値、およびクリッピングレベルを示したが、他の内容を示してもよい。例えば、パラメータデータは、部品の撮像に必要とされる、半導体レーザ62から出力されるレーザビームLaの出力(レーザ出力)を示してもよい。この場合には、撮像される部品のパラメータデータに応じて、半導体レーザ62から出力されるレーザビームLaの出力が調整される。また、パラメータデータは、CCGA(Ceramic Column Grid Array)という部品を認識するための特殊な撮像条件を示してもよい。
また、上記実施の形態では、8本のノズルnzを備えたヘッド112に吸着された最大8個の部品を撮像する方法や、最大8個の部品を含むタスクを決定する方法について説明したが、9個以上の部品を含むタスクを決定し、それらの部品を撮像してもよい。また、本実施の形態では、ヘッド112の複数のノズルnzが2列に配列されていたが、3列以上に配列されていてもよい。
また、上記実施の形態では、部品実装機として図2に示す部品実装機100を用いたが、このような部品実装機100以外の他の部品実装機を用いてもよい。例えば、部品実装機は、1枚の基板に対して複数のヘッドで交互に部品を実装する、いわゆる交互打ちの部品実装機であってもよい。
また、上記実施の形態では、3D撮像部116aは半導体位置検出素子64、アンプ64aおよびA/D変換部64bを2組備えたが、3組以上備えてもよい。
また、上記実施の形態では、部品実装機100と実装条件決定装置200とをそれぞれ独立に配置したが、部品実装機100が実装条件決定装置200を備えていてもよい。