JP3805512B2 - Positioning control method - Google Patents

Positioning control method Download PDF

Info

Publication number
JP3805512B2
JP3805512B2 JP35430497A JP35430497A JP3805512B2 JP 3805512 B2 JP3805512 B2 JP 3805512B2 JP 35430497 A JP35430497 A JP 35430497A JP 35430497 A JP35430497 A JP 35430497A JP 3805512 B2 JP3805512 B2 JP 3805512B2
Authority
JP
Japan
Prior art keywords
curve
axis
target position
movement
moving
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
JP35430497A
Other languages
Japanese (ja)
Other versions
JPH11186794A (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.)
Yamagata Casio Co Ltd
Original Assignee
Yamagata Casio Co Ltd
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 Yamagata Casio Co Ltd filed Critical Yamagata Casio Co Ltd
Priority to JP35430497A priority Critical patent/JP3805512B2/en
Publication of JPH11186794A publication Critical patent/JPH11186794A/en
Application granted granted Critical
Publication of JP3805512B2 publication Critical patent/JP3805512B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Supply And Installment Of Electrical Components (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子部品をプリント基板へ装着する際の作業ヘッドを支持して移動する移動軸の位置決め方法に関する。
【0002】
【従来の技術】
従来より、装置内に搬入されるプリント回路基板(以下、単に基板という)の上方の作業空間を前後(Y軸方向)左右(X軸方向)に自在に移動する作業塔に、上下に移動自在な作業ヘッドを備えて、この作業ヘッドによりチップ状電子部品(以下、単に部品という)を基板に搭載するワンバイワン方式の部品搭載装置がある。
【0003】
上記の作業ヘッドは、その先端に着脱自在に吸着ノズルを装着し、その吸着ノズルで部品供給装置から部品を吸着し、この吸着した部品を下方から認識用カメラで撮像し、その映像に基づいて中央制御部が部品の吸着位置ズレ(姿勢の偏差)を検出して、部品の軸線と基準線とに偏差(角度偏差)があるときは作業ヘッドを回転させて偏差を補正する。部品の基準点と搭載位置の基準点とに偏差があるときは、Y軸方向又はX軸方向における作業ヘッドの停止位置を補正する。
【0004】
この補正に基づいて作業ヘッドは、既に精密に位置決めされて所定の位置に停止している基板の上記位置補正を加えた部品搭載位置へ移動して、その部品搭載位置に上記吸着した部品を搭載する。
【0005】
ところで、このとき、認識用カメラからの映像データに基づく部品認識処理終了からその部品認識処理結果が算出(補正値の算出)されるまでには時間がかかるため、実際の搭載処理における作業ヘッドの停止位置の制御には、通常、以下の方法が採用されている。
【0006】
すなわち、先ず、第1の方法は、吸着した部品を認識用カメラで撮像した後、その部品認識処理に基づく補正値が算出されるまで、作業ヘッドが停止して待ち、補正値が算出されると、その算出された補正値に基づいてその変更(補正)された目標位置へ移動を開始して、その正しい目標位置に部品を搭載する。
【0007】
次に、第2の方法は、作業ヘッドが、補正を加えない位置つまり当初の搭載プログラム・パラメータで指定された設計通りの位置に一旦移動し、補正値の算出を待って、その補正量分だけ再度移動して正しい目標位置に部品を搭載する。
【0008】
そして、第3の方法は、作業ヘッドが、上記同様に補正を加えない位置に移動を開始し、軸が定速移動している間に補正を加えた搭載位置へ目的位置を変更するというものである。
【0009】
【発明が解決しようとする課題】
ところで、上記第1の方法である部品認識処理の結果が算出されるまで作業ヘッドが停止して待つ方法は、部品認識処理に基づく補正値の演算時間がそのまま作業ヘッドの実働時間の遅れとなってしまい、この各部品毎に累積されていく遅れ時間が無視できないほど大きいという問題を有している。
【0010】
また、第2の方法である補正を加えない搭載位置へ一旦移動したのち補正量分だけ再度移動する方法は、移動動作に2度の加減速が加わるため、軸を駆動するサーボモータのフィードバック回路によって回転制御される特性上、一度で正しい目的位置に移動した場合に比較して多大の時間を要し、消費される時間が多過ぎるという問題を有している。
【0011】
そして、第3の方法である補正を加えない搭載位置への移動を開始して軸が定速移動している間に目的位置を変更する方法は、予定通り軸の定速移動中に目的位置が変更された場合は補正量に対応するだけの移動時間で軸の移動を制御できるが、軸の定速で移動中以外のとき、つまり軸が減速を始めた後では、変更を指示できないから、軸が停止するまで待たなくてはならない。それから補正量分だけ再度移動することになるから、この場合は第2の方法と同様に多くの時間を必要とする。したがって、第3の方法が必ずしも常に高速に処理できる方法というわけではないという問題があった。
【0012】
本発明の課題は、上記従来の実情に鑑み、任意のタイミングで発生する目標位置の変更要求に対して、軸の定速移動中、加速中、又は減速中の如何にかかわらず、移動動作に急激な変化を発生させることなく移動曲線を変化させて、正しい目標位置へ、より短い時間で到達できる軸の位置決め制御方法を実現することである。
【0013】
【課題を解決するための手段】
本発明の位置決め制御方法は、チップ状電子部品をプリント基板へ自動搭載するワンバイワン方式の部品搭載装置における移動軸の位置決め制御方法であって、作業ヘッドを支持して移動する移動軸の位置を検出する軸位置検出工程と、上記移動軸の静止位置及び移動中位置を含む任意の位置及び速度から他の任意の目標位置及び速度まで動作するに際し、上記目標位置よりも予想される最大補正量分だけ手前に仮の目標位置を設定し、上記任意の位置から上記仮の目標位置まで動作するときの移動曲線を計算する曲線計算工程と、該曲線計算工程により作成された移動曲線にフィルタを用いて加工する曲線加工工程と、上記移動軸を駆動するサーボモータを出力制御するモータ制御工程と、上記移動軸が上記仮の目標位置に向けて駆動されている期間中に、上記目標位置の変更指令が外部から供給された場合、該変更指令に応じて上記移動曲線を変更し、該移動曲線の変更によって上記移動軸の停止位置の変更を行う曲線変更工程と、を備えて構成される。上記曲線計算工程は、例えば、上記移動曲線を台形となるように計算する。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
図1(a) は、一実施の形態における部品搭載装置の外観斜視図、同図(b) は、その上部の保護カバーを取り外した斜視図、同図(c) は、その基台上に直接配置されている諸装置を示す平面図である。同図(c) は、同図(b) において基台上方に配置された後述するX軸レール、Y軸レール、作業塔などを取り除いて示している。
【0015】
同図(a),(b),(c) に示すように、部品搭載装置(以下、装置本体)1は、回りを下保護カバー2に囲まれ、上方を上保護カバー3に覆われた基台4を備え、基台4の内部及び上部には各種の装置が配設されている。
【0016】
基台4の内部には、基板を下から支持する支持プレート装置5や、ここには図示しないが各部を制御する後述する中央制御部を備えている。上保護カバー3の前面には液晶ディスプレイとタッチパネルからなる入力装置6が配設されており外部操作により各種の指示が入力される。
【0017】
基台4の上には、中央に、固定と可動の1対の平行する基板案内レール7a及び7bが基板の搬送方向(X軸方向、図1(a),(b) では斜め右下から斜め左上方向)に水平に延在して配設される。これらの基板案内レール7a及び7bの下部に接して図では定かに見えないがループ状の複数のコンベアベルトが走行可能に配設される。コンベアベルトは、それぞれ数ミリ幅のベルト脇部を基板案内レール7a又は7bの下から基板搬送路に覗かせて、ベルト駆動モータにより駆動され、基板搬送方向に走行し、基板の裏面両側を下から支持しながら基板を搬送する。
【0018】
上記1対の基板案内レール7a及び7bを跨いで、基板搬送方向(X軸方向)と直角の方向(Y軸方向)に平行に延在する左右一対の固定レール(Y軸レール)8a及び8bが配設されている。これらY軸レール8a及び8bに長尺の移動レール(X軸レール)9が滑動自在に係合し、このX軸レール9に、基板に部品を搭載する作業を行う作業塔10が滑動自在に懸架されている。作業塔10には詳しくは後述する2つの作業ヘッドが配設されている。
【0019】
基台4上には、Y軸方向駆動サーボモータが配設され、中央制御部からの指示により正逆両方向に自在に回転する。これにより、X軸レール9が駆動伝達系を介してY軸レール8a及び8bに沿って前後(Y軸方向)に進退する。このX軸レール9には可撓性のケーブル11が連結される。
【0020】
また、X軸レール9には、X軸方向駆動サーボモータが配設され、中央制御部からの指示により正逆両方向に自在に回転する。これにより、他の駆動伝達系を介して作業塔10がX軸レール9上を左右(X軸方向)へ自在に移動する。この作業塔10には可撓性のケーブル12が連結される。作業塔10は、ケーブル12及びケーブル11を介して、中央制御部に接続され、これらケーブル11及び12を介して中央制御部からは電力及び制御信号を供給され、また作業塔10から中央制御部へは基板上の作業すべき目標位置等の認識用データ(画像データ)を送信する。
【0021】
基台4上の前部と後部に夫々部品カセット台13a及び13bが配設されている。前部の部品カセット台13aと固定の基板案内レール7aとの間に3個の部品認識用カメラ14、及びノズル交換器15が配設され、後部の部品カセット台13bと移動式の基板案内レール7bとの間にも3個の部品認識用カメラ16が配設される。
【0022】
基板案内レール7aと7b間の基板搬送路内には上述した基板支持プレート5が配置される。この基板支持プレート5は、基板案内レール7a及び7bとコンベアベルトによって前段の装置から搬入されてくる基板を下から上昇して支持すると共に位置決めピンを基板の位置決め孔に差し込んで基板を位置決めする。
【0023】
部品カセット台13a及び13bには基板に搭載すべき複数種類の部品毎に対応する部品テープカセットが着脱自在に予め装着される。またノズル交換器15には複数(図では6個示している)のノズル17が収納されている。これらのノズル17は、夫々ノズル先端の大きさや形状の異なるものが収容されている。
【0024】
上記の作業塔10の先端には部品を吸着・搭載する後述する作業ヘッドが上下に移動自在に配設されている。作業ヘッドは、その先端に吸着ノズル17を着脱自在に装着して、部品カセット台13a(又は13b)上の部品テープカセットから所望の部品を吸着し、その吸着した部品を基板に搭載する。
【0025】
部品認識用カメラ14(又は16)は、作業塔10が作業ヘッドで部品を吸着して基板上方へ移動する途上に待機し、作業ヘッドが吸着している部品を下方から撮像して、その映像信号を中央制御部に送信する。中央制御部はその画像信号を分析して部品の位置偏差を検出する。
【0026】
図2は、上記作業塔10の斜視図である。同図に示すように、作業塔10は、上述したように可撓性の帯状のケーブル12によって装置本体の中央制御部に連結されている。この作業塔10は、その先端に2個の作業ヘッド18a及び18bと、基板位置認識用のヘッドカメラ19を備えている。作業ヘッド18(18a、18b)は、その先端に発光部21(21a、21b)を備え、その下部に図1(c) に示したノズル17を着脱自在に装着している。ノズル17は、発光部21の照射光を拡散して部品の撮像背景を形成する光拡散板17−1と、部品カセット台13上の部品テープカセットから基板まで部品を吸着して移載するノズル部17−2とから成る。
【0027】
図3は、基台4の内部に配設され、上記構成の部品搭載装置を制御して、作業ヘッドを最小限の整定時間で補正後の目標地点(部品搭載位置)へ移動させる位置決め制御回路の構成ブロック図である。同図に示す位置決め制御回路は、入出力(I/O)マルチバス21を介してホストCPUボード(主制御回路)22、画像処理ボード(部品認識制御回路)23、NC制御ボード(モータ制御演算回路)24、及びI/O制御ボード25が相互に接続されて構成される。更に、I/Oマルチバス21には、特には図示しないが、キーボード、フロッピーディスク、シリアル通信ポート等が接続されている。
【0028】
ホストCPU22は、キーボード、フロッピーディスク、又はシリアル通信ポートを介して入力される指令信号やプログラムに基づいて各部を制御する。画像処理ボード23には、専用のハードディスクが装着されており、基板位置認識用のヘッドカメラ19や部品認識用カメラ14、16から入力するアナログ画像信号をデジタル画像信号に変換し、イメージメモリに展開し、その画像データと基準位置データとの偏差を算出して、その算出結果をI/Oマルチバス21を介してNC制御ボード24に出力する。
【0029】
NC制御ボード24は、内部ローカルバス24−1を介してデュアルポートRAM24−2、ローカルCPU24−3、メモリ24−4、I/F回路24−5が相互に接続されている。I/F回路24−5には、X軸ACサーボドライバ26及びY軸ACサーボドライバ27が接続されている。デュアルポートRAM24−2は、I/Oマルチバス21と内部ローカルバス24−1の双方向から読み書きが可能なメモリであり、I/Oマルチバス21とNC制御ボード24間のバッファとして機能する。
【0030】
ローカルCPU24−3は、NC制御ボード24専用の演算処理装置であり、ホストCPUボード22からの制御のもとに、詳しくは後述する移動軸の位置決めのための演算を実行し、この演算した補正値に基づいて移動曲線を算出し、I/F(インターフェース)回路24−5を介して、一方のX軸ACサーボドライバ26に指令を送出すると共に、他方のY軸ACサーボドライバ27に指令を送出する。 X軸ACサーボドライバ26及びY軸ACサーボドライバ27は、固定レール(Y軸レール)8a、8b、移動レール(X軸レール)9、作業塔10、ケーブル11、12(図1(b) 参照)等からなるXYロボット部30の、X軸サーボモータ28及びY軸サーボモータ29を夫々駆動する。
【0031】
Y軸サーボモータ29の駆動軸には、不図示のカップリングを介してボールねじ31が連結している。図にはボールねじ31を模式的に1本のみ示しているが、これに連動して歯付きプーリ、歯付きベルト等を介して駆動される従動ボールねじが並行して延設されている。これらのボールねじ31はY軸レール8a及び8bに夫々配設されている。これらのボールねじ31には、X軸レール9のナット32が螺合している。ボールねじ31がY軸サーボモータ29により正逆両方向に回転駆動されることにより、X軸レール9がナット32を介して駆動され、Y軸レール8a及び8b上の夫々2本のリニアガイド33に案内されて前後(Y軸方向)に摺動する。
【0032】
一方、X軸サーボモータ28の駆動軸には、これも不図示のカップリングを介してボールねじ34が連結している。ボールねじ34には作業塔10のナット35が螺合している。ボールねじ34がX軸サーボモータ28により正逆両方向に回転駆動されることにより作業塔10がナット35を介して駆動され、X軸レール9上の2本のリニアガイド36に案内されて左右(X軸方向)に摺動する。
【0033】
また、I/O制御ボード25は、上記サーボモータ以外の負荷部、例えば基板を搬送するコンベアベルト、被駆動部の位置を検出する各種のセンサ、基板支持プレートや位置決め装置を動作させるシリンダの電磁弁等を駆動する。
【0034】
図4(a) は、本実施の形態における上記構成の部品搭載装置において、部品を吸着し、その部品を基板に搭載する移動軸(以下、単に軸という)の移動を制御する場合の基本動作を示す図である。尚、ここで軸とは一言でいえば作業塔10の中心軸のことであり、作業ヘッド18、これを支持してX軸方向に移動する作業塔10、これを駆動するボールネジ34等からなるX方向動作部の慣性と、このX方向動作部を支持するX軸レール9、これをY軸方向に駆動するボールネジ31等からなるY方向動作部の慣性とが考慮されて、作業塔10の移動を制御する演算がなされる。
【0035】
また、図4(b) は、参考のため、本基本動作を採用しなかった場合の不具合を説明する図である。尚、上記図4(a),(b) の図中における位置A、B、C、P、T等は、同図(a),(b) が時間と速度の座標系で表わされているため時間(時刻)を表わすものとなっているが、これらの時刻A、B、C、P、T等は位置に対応して結果として生じたものであり、以下の説明では概念的には位置を表わすものとして取り扱う。
【0036】
先ず、同図(b) に示すように、もし、いままでの方法で、当初の目標点Aに移動を開始する方法であると、当初の移動曲線Q′を変更された真の目標B′への移動曲線Rに変更するためには少なくとも時刻Tまでには変更指令が出されなくてはならず、この変更指令が遅いと、通常の減速では真の目標点Bには停止できなくなり、オーバーランを起してしまう。そうであるからといって、減速を急に行うと大きな加速度が加わって部品の保持位置にずれを生じ、折角の補正が意味をなさなくなってしまうという不具合を生じさせる。
【0037】
そこで同図(a) に示すように、本実施の形態においては、部品認識処理位置Pから基板上の搭載位置である目標点Aにむけて移動するにあたり、先ずそれよりも手前の仮の目標点Cに向かって移動を開始する。この仮の目標点Cは搭載プログラムのパラメータから得られる上記目標点Aに対する最大補正量Eの範囲だけ手前に設定される。この目標点Aを中心とする最大補正量Eは部品の形状と吸着装置の性能に基づいて容易に予想され得る量であり予め算定される値である。
【0038】
これにより、仮の目標点Cは、当初の目標点Aよりも常に最大補正量Eの範囲だけ手前に設定される。したがって、移動中に補正量が算出されて真の目標点Bが設定されたとき、その真の目標点Bは最大補正量Eの範囲内にある、つまり、常に仮の目標点Cと同じかそれよりも遠い位置にある。換言すれば、移動中において目標位置が仮の目標点Cから真の目標点Bに変更が生じたとき、距離が延びる方向へ変更されることはあっても距離が縮む方向へ変更されることはない。
【0039】
これによって、移動速度曲線Qを無理のない安全な移動速度曲線Rに変更して安定を保ちながら最終目標点である真の目標点Bに移動を完了させることができる。この目標点変更の処理において、図3に示す位置決め制御回路の主制御回路22は、モータ制御演算回路24に対し目標位置、各軸の最大制限速度、及び最大制限加速度、更に両軸の合成最大制限速度、及び合成最大制限加速度を含んだ変更指令を送出する。この場合、位置の変更は上述したように目標点への距離が増える方向でのみ発生する。このとき、変更された目標点へ到達するための軸の移動曲線の変更は軸の状態に応じて夫々処理される。
【0040】
以下、その処理動作について説明する。尚、この処理は、マルチタスクOS上で動作し、3つの独立したタスク、すなわちメインタスク、位置カーブ計算タスク、データ出力タスクによって行われる。
【0041】
メインタスクは図3に示すホストCPUボード22で実行される。このメインタスクは、通常の部品搭載プログラムに沿って実行されるが、本実施の形態においては、NC制御ボード24に対して、軸の移動目標、最大速度、加速時の最大加速度、減速時の最大加速度及びフィルタの定数を与え、NC制御ボード24から軸の移動完了通知を受け取るように編成されている。そして、位置カーブ計算タスクとデータ出力タスクは、NC制御ボード24内のローカルCPU24−3によって実行される。
【0042】
図5は、上記NC制御ボード24のローカルCPU24−3により実行される位置カーブ計算タスクのフローチャートである。
図6は、NC制御ボード24のローカルCPU24−3により実行されるデータ出力タスクのフローチャートである。
【0043】
図7は、上記の位置カーブ計算タスク及びデータ出力タスクによる位置変更処理の様子を模式的に示す図である。
以下、図7を参照しながら図5の位置カーブ計算タスク及び図6のデータ出力タスクの処理を説明する。尚、これらの処理では、メモリ24−4内に出力データバッファ領域が設けられ、ローカルCPU24−3内蔵のレジスタAが、上記出力データバッファの書き込みアドレス用レジスタとして使用され、同じく内蔵のレジスタBが同じく読み出しアドレス用のレジスタとして使用される。
【0044】
図5に示す位置カーブ計算タスクにおいて、ホストCPUから目標位置、最高速度、加速時最大加速度、減速時最大加速度、及びフィルタの定数と共に軸の移動命令を受け取ることにより処理が開始される。尚、これらの各データは、搭載部品及び搭載プログラムのオプションにより、メモリ24−4内に予め格納されているデータテーブルから参照される。
【0045】
そして、先ず、この処理においては、軸の初速度が「0」に設定される(ステップS11)。次に、速度が台形カーブとなるように計算し、この演算結果から、単位時間当りの軸の位置のデータを出力データバッファに書き込む(ステップS12)。
【0046】
この処理では、一般に移動量は速度カーブを積分したものになるので、速度カーブを上記のように台形曲線として算出しておくと、簡単な数式で(つまり高速に)単位時間当りの位置データを算出することができる。そして、この処理では、この単位時間当りの位置データの算出基準となる上記台形曲線の速度データが出力データバッファに順次書込まれ、この書き込まれた出力データバッファのアドレス(以下、単にアドレスという)がレジスタAに保存される。
【0047】
これにより、例えば図7(a) に示すように、位置カーブ計算タスク41により、図7(c) に示すように、目標位置C(図4(a) の仮の目標点Cと同じ)に向かう速度カーブ43が算出され、この算出された速度カーブ43に基づいて、単位時間ごとの速度データが、同図(b) に示すように、出力データバッファ43のアドレス1、2、3・・・に順次書き込まれる。
【0048】
上記に続いて軸が目標位置に到達したか否かを判別し(ステップS13)、まだ目標位置に到達していないときは(S13がN)、更に、目標位置に変更がなされているか否かを判別する(ステップS14)。この処理は、メインタスクから目標変更の通知があったか否かを判別する処理である。そして、目標位置に変更がなければ(S14がN)、上記ステップS13及びステップS14を繰り返す。これにより、例えば目標位置Cに至る速度データに対応する図7(b) に示す出力データバッファ43のアドレス17まで、データの書き込みが繰り返して順次進行する。
【0049】
この繰り返し処理の上記ステップS14で、目標位置に変更があれば(S14がY)、レジスタAに、レジスタBに格納されているアドレスの一つ先のアドレスを格納する(ステップS15)。これにより、レジスタAには、後述するデータ出力タスクが読み出す直前のアドレスが設定される。
【0050】
例えば図7(b) に示す例では、現在レジスタAに書き込み中であった出力データバッファ43のアドレスが何番であるかは不問として、同図(a) に示すデータ出力タスク42が読み出し中であったデータのアドレスが「12」であったとすれば、レジスタBには、そのアドレス「12」が格納されている。したがって、レジスタAには、「12+1」すなわち「13」が格納される。
【0051】
このレジスタBの示すアドレスのデータバッファのデータと、その読み出し直前のアドレス(レジスタAの示すアドレス)のデータバッファのデータから、現時点におけるデータ出力タスクが読み出している位置データと速度データを得る(同じくステップS15)。
【0052】
そして、ステップS12に戻り、上記で得られた現時点の位置データと速度データ、及びメインタスクから変更指令と共に渡されている新たな目標位置とに基づいて、再びステップS12以下の処理を行う。これにより、新たな台形速度カーブが算出され、その台形速度カーブから新たな位置データの算出が準備される。そして、上記新たな台形速度カーブの単位時間当りの速度データが、レジスタAに示すアドレスから再度書き込みが開始される。
【0053】
これにより、例えば図7(c) に示すように、現在位置Dにおいて目標位置を位置Cから位置Eに変更するよう指示されて、新たな台形速度カーブ44が計算され、この台形速度カーブに基づく単位時間当りの速度データが、出力データバッファ43のアドレス「13」から再度書き込み(上書き)されていく。
【0054】
そして、上記ステップS12〜S15を繰り返し、ステップS13の判別で、軸が目標に到達したときは(S13がY)、位置カーブ計算タスクの処理を終了する。
【0055】
一方、図6のフローチャートに示すデータ出力タスクにおいては、先ず上記単位時間(例えば500μs)周期で発生するトリガー信号を待機して(ステップS21)、このトリガー信号を受け取ることにより、レジスタBのアドレスを参照し、そのアドレスのデータバッファの速度データを読み出す(ステップS22)。
【0056】
そして、この読み出した位置データに、メインタスクから与えられているデジタルフィルタをかけて、その位置データの波形を補正する(ステップS23)。この処理では、例えば一次のローパスフィルタが使用される。
【0057】
これにより、例えば図7(c) に示す台形データ43が、先ずアドレス「1」からアドレス「12」まで順次読み込まれ、図7(d) に示すように、その読み込まれたデータ(同図(d) には破線で示す)が、その都度、ローパスフィルタをかけられて急激な変化を伴わない曲線、すなわち同図(d) に実線で示すなだらかな曲線45に変換される。
【0058】
また、上述したように計算が簡単な台形曲線で速度を計算しておき、出力段階でフィルタをかけるようにしているので、本来複雑な演算を必要とする加速度を滑らかに変化させる位置曲線を、簡単に作成することができる。また、現在の軸の移動状態が、どのような状態にあっても、目標位置の変更及びこれに伴う速度、加速度、フィルタ係数の変更が可能である。
【0059】
次に、上記フィルタリングした位置データを、I/F回路24−5に出力する(ステップS24)。これにより、I/F回路24−5によりX軸ACサーボドライバ26及びY軸ACサーボドライバ27を介してX軸サーボモータ28及びY軸サーボモータ29が所定のパルス数だけ駆動される。
【0060】
続いて、レジスタAに格納されているアドレスとレジスタBに格納されているアドレスを比較して同じ値か否かを判別する(ステップS25)。そして、同じ値であれば(S25がY)、上記ステップS21に戻って、ステップS21〜S25を繰り返す。また、レジスタAのアドレスとレジスタBのアドレスが同じ値でないときは(S25がN)、レジスタBのアドレスを1つ進めてから(ステップS26)、上記のステップS21に戻る。これにより、レジスタAのアドレスは、常にレジスタBのアドレスと等しいか又はレジスタBのアドレスよりも1つ(又は1つ以上)先行したアドレスが設定される。
【0061】
そして、このアドレスに基づいて、図7(a) の位置カーブ計算タスク41が、図5に示したように実行され、同図(b) に示すようにアドレス「13」で目標位置の変更がなされ、その計算によって書き込まれた新たな台形速度カーブ44が同図(d) の破線に示すように、アドレス「13」以降で、データ出力タスク42によって読み込まれ、ローパスフィルタをかけられてI/F回路24−5に出力される。このように、変更された最終目標位置(図7(c) の位置E)に常に円滑な速度変更によって到達することができる。
【0062】
図8(a) に、上述したステップS14、S15、及びS12における台形速度カーブの変更処理における、変更前の速度カーブを示し、同図(b) 〜(i) に変更後の種々の速度カーブ(ハッチングで示すカーブ)の例を示している。同図(b) は、変更が加速中に発生し、目的位置のみが変更になった場合の例である。同図(c) は、変更が加速中に発生し、目的位置と最高速度の制限値(上方に修正)のみが変更になった場合の例である。同図(d) は、変更が定速移動中に発生し、目的位置のみが変更になった場合の例である。同図(e) は、変更が定速移動中に発生し、目的位置と最高速度の制限値(上方に修正)のみが変更になった場合の例である。同図(f) は、変更が定速移動中に発生し、目的位置と最高速度の制限値(下方に修正)のみが変更になった場合の例である。同図(g) は、変更が減速中に発生し、目的位置と最高速度の制限値(下方に修正)が変更となった場合、あるいは、再度加速することが困難な場合の例である。同図(h) は、変要が減速中に発生し、目的位置と最高速度の制限値(上方に修正)が変更になった場合で、再度加速することが可能な場合の例である。同図(i) は、変更が減速中に発生し、定速度(加速度「0」)の状態にした場合には目的位置をオーバーランしてしまう場合に、加速度を変化させて、目的の位置へ停止する場合の例である。
【0063】
【発明の効果】
以上詳細に説明したように、本発明によれば、当初の目標位置を設計目標位置よりも予想される最大補正量分だけ手前に設定するので、移動軸の目標位置変更指令が移動軸の定速中、加速中又は減速中の如何に拘らず動作が急激に変化しないようになだらかな速度カーブで目標位置を速やかに変更でき、これにより、補正量が算出されるまで待ったり停止後に補正量分だけ再移動する必要がなく、したがって、整定時間を最小限にとどめることができて作業能率が向上する。また、移動軸に強い加速度が加わらないように補正できるので、大きな加速度による吸着部品の位置ズレや振動による搭載済み部品の位置ズレ等の生じる虞がなく、したがって、搭載不良の発生率が著しく低減する。
【図面の簡単な説明】
【図1】 (a) は一実施の形態における部品搭載装置の外観斜視図、(b) はその上部の保護カバーを取り外した斜視図、(c) はその基台上に直接配置されている諸装置を示す平面図である。
【図2】一実施の形態における部品搭載装置の作業塔の斜視図である。
【図3】一実施の形態における部品搭載装置に配設される位置決め制御回路の構成ブロック図である。
【図4】 (a) は位置決め制御回路により制御される軸の移動の基本動作を示す図、(b) は本基本動作を採用しなかった場合の不具合を説明する図である。
【図5】位置決め制御回路による位置カーブ計算タスクのフローチャートである。
【図6】位置決め制御回路によるデータ出力タスクのフローチャートである。
【図7】位置カーブ計算タスク及びデータ出力タスクによる位置変更処理の様子を模式的に示す図である。
【図8】 (a) は変更前の速度カーブを示す図、(b) 〜(i) は変更後の速度カーブの種々の例を示す図である。
【符号の説明】
1 部品搭載装置(装置本体)
2 下保護カバー
3 上保護カバー
4 基台
5 基板支持プレート
6 入力装置
7a、7b 基板案内レール
8(8a、8b) 固定レール(Y軸レール)
9 移動レール(X軸レール)
10 作業塔
11、12 ケーブル
13a、13b 部品カセット台
14 部品認識用カメラ
15 ノズル交換器
16 部品認識用カメラ
17 吸着ノズル(ノズル)
17−1 光拡散板
17−2 ノズル部
18(18a、18b) 作業ヘッド
19 ヘッドカメラ
21 入出力(I/O)マルチバス
22 ホストCPUボード
23 画像処理ボード
24 NC制御ボード
24−1 内部ローカルバス
24−2 デュアルポートRAM
24−3 CPU
24−4 メモリ
24−5 I/F回路
25 I/O制御ボード
26 X軸ACサーボドライバ
27 Y軸ACサーボドライバ
28 X軸サーボモータ
29 Y軸サーボモータ
30 XYロボット部
31 ボールねじ
32 ナット
33 リニアガイド
34 ボールねじ
35 ナット
36 リニアガイド
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for positioning a moving shaft that supports and moves a work head when an electronic component is mounted on a printed circuit board.
[0002]
[Prior art]
Conventionally, the work space above the printed circuit board (hereinafter simply referred to as the board) carried into the apparatus can be moved up and down to a work tower that can freely move back and forth (Y-axis direction) and left and right (X-axis direction). There is a one-by-one type component mounting apparatus that includes a simple work head and mounts a chip-like electronic component (hereinafter simply referred to as a component) on a substrate using the work head.
[0003]
The above working head has a suction nozzle that is detachably attached to its tip, picks up a component from the component supply device with the suction nozzle, images the picked-up component from below with a recognition camera, and based on the image The central control unit detects the component suction position deviation (posture deviation), and if there is a deviation (angle deviation) between the component axis and the reference line, the work head is rotated to correct the deviation. If there is a deviation between the reference point of the component and the reference point of the mounting position, the stop position of the work head in the Y-axis direction or the X-axis direction is corrected.
[0004]
Based on this correction, the work head moves to the component mounting position to which the position correction of the board that has already been precisely positioned and stopped at the predetermined position is added, and the adsorbed component is mounted at the component mounting position. To do.
[0005]
By the way, since it takes time from the completion of the component recognition processing based on the video data from the recognition camera until the component recognition processing result is calculated (calculation of the correction value), the work head of the actual mounting process In general, the following method is employed for controlling the stop position.
[0006]
That is, first, after the picked-up component is imaged by the recognition camera, the work head stops and waits until the correction value based on the component recognition processing is calculated, and the correction value is calculated. Then, based on the calculated correction value, the movement is started to the changed (corrected) target position, and the component is mounted at the correct target position.
[0007]
Next, in the second method, the working head is temporarily moved to a position where correction is not performed, that is, a position as designed by the initial mounted program parameter, and after waiting for calculation of a correction value, the correction amount is set. Just move again and mount the part at the correct target position.
[0008]
In the third method, the working head starts to move to a position where no correction is made in the same manner as described above, and the target position is changed to a mounting position where correction is made while the shaft is moving at a constant speed. It is.
[0009]
[Problems to be solved by the invention]
By the way, in the method in which the work head stops and waits until the result of the component recognition process, which is the first method, is calculated, the calculation time of the correction value based on the component recognition process is directly delayed by the working time of the work head. Therefore, there is a problem that the delay time accumulated for each part is so large that it cannot be ignored.
[0010]
Also, the second method of moving once to the mounting position where correction is not applied and then moving again by the correction amount adds two accelerations / decelerations to the movement operation, so the feedback circuit of the servo motor that drives the shaft Due to the characteristics of the rotation controlled by the above, there is a problem that it takes much time and consumes too much time compared to the case of moving to the correct target position at one time.
[0011]
The third method for starting the movement to the mounting position without correction and changing the target position while the shaft is moving at a constant speed is as follows. If is changed, the movement of the axis can be controlled with a movement time corresponding to the correction amount, but it is not possible to instruct the change when the axis is not moving at a constant speed, that is, after the axis starts to decelerate. , You have to wait until the axis stops. Then, since the movement is made again by the correction amount, in this case, much time is required as in the second method. Therefore, there is a problem that the third method is not always a method that can always perform high-speed processing.
[0012]
In view of the above-described conventional situation, the object of the present invention is to perform a movement operation regardless of whether the shaft is moving at a constant speed, accelerating, or decelerating in response to a target position change request that occurs at an arbitrary timing. It is to realize an axis positioning control method that can reach the correct target position in a shorter time by changing the movement curve without causing a sudden change.
[0013]
[Means for Solving the Problems]
The present invention This positioning control method is a positioning control method for a moving axis in a one-by-one type component mounting apparatus that automatically mounts a chip-like electronic component on a printed circuit board, and detects the position of the moving axis that moves while supporting a work head. In the position detection step and when operating from any position and speed including the stationary position and moving position of the moving axis to any other target position and speed, the maximum correction amount that is expected to be earlier than the target position A temporary target position is set, and a curve calculation step for calculating a movement curve when operating from the arbitrary position to the temporary target position is processed using a filter on the movement curve created by the curve calculation step A curve machining step, a motor control step for controlling output of a servo motor that drives the moving shaft, and the moving shaft being driven toward the temporary target position. In the meantime, when the change command of the target position is supplied from the outside, the curve change step of changing the movement curve according to the change command and changing the stop position of the movement axis by changing the movement curve And comprising. In the curve calculation step, for example, the movement curve is calculated to be a trapezoid.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 (a) is an external perspective view of a component mounting apparatus according to one embodiment, FIG. 1 (b) is a perspective view with a protective cover on the top removed, and FIG. 1 (c) is on the base. It is a top view which shows the apparatuses arrange | positioned directly. FIG. 7C shows the X-axis rail, Y-axis rail, work tower, etc., which will be described later, disposed above the base in FIG.
[0015]
As shown in FIGS. 1A, 1B, and 1C, the component mounting apparatus (hereinafter referred to as the apparatus main body) 1 is surrounded by a lower protective cover 2 and is covered by an upper protective cover 3. A base 4 is provided, and various devices are arranged inside and above the base 4.
[0016]
Inside the base 4, a support plate device 5 for supporting the substrate from below and a central control unit (not shown) for controlling each unit (not shown) are provided. An input device 6 composed of a liquid crystal display and a touch panel is disposed on the front surface of the upper protective cover 3, and various instructions are input by an external operation.
[0017]
On the base 4, a pair of parallel and fixed substrate guide rails 7a and 7b are arranged in the center in the substrate transport direction (in the X-axis direction, diagonally lower right in FIGS. 1 (a) and 1 (b)). (Slanting upper left direction) and extends horizontally. A plurality of loop-shaped conveyor belts are disposed so as to be able to run while in contact with the lower portions of the board guide rails 7a and 7b, although they cannot be clearly seen in the figure. The conveyor belt is driven by a belt drive motor with the side of the belt of several millimeters in width, viewed from the bottom of the substrate guide rail 7a or 7b, and is driven by a belt drive motor. The substrate is transported while being supported.
[0018]
A pair of left and right fixed rails (Y-axis rails) 8a and 8b extending across the pair of substrate guide rails 7a and 7b and extending in parallel to the direction (Y-axis direction) perpendicular to the substrate transport direction (X-axis direction). Is arranged. A long moving rail (X-axis rail) 9 is slidably engaged with these Y-axis rails 8a and 8b, and a work tower 10 for performing work for mounting components on the board is slidable on the X-axis rail 9. Suspended. The work tower 10 is provided with two work heads described later in detail.
[0019]
A Y-axis direction drive servo motor is disposed on the base 4 and freely rotates in both forward and reverse directions according to instructions from the central control unit. As a result, the X-axis rail 9 moves forward and backward (Y-axis direction) along the Y-axis rails 8a and 8b via the drive transmission system. A flexible cable 11 is connected to the X-axis rail 9.
[0020]
The X-axis rail 9 is provided with an X-axis direction drive servo motor, and freely rotates in both forward and reverse directions according to instructions from the central control unit. As a result, the work tower 10 freely moves left and right (X-axis direction) on the X-axis rail 9 via another drive transmission system. A flexible cable 12 is connected to the work tower 10. The work tower 10 is connected to the central control unit via the cable 12 and the cable 11, and is supplied with electric power and control signals from the central control unit via the cables 11 and 12, and from the work tower 10 to the central control unit. Is transmitted with recognition data (image data) such as a target position to be worked on the substrate.
[0021]
Parts cassette bases 13a and 13b are disposed at the front and rear of the base 4, respectively. Three component recognition cameras 14 and a nozzle exchanger 15 are arranged between the front part cassette base 13a and the fixed board guide rail 7a, and the rear part cassette base 13b and the movable board guide rail are arranged. Three parts recognizing cameras 16 are also arranged between the camera 7b and 7b.
[0022]
The above-described substrate support plate 5 is disposed in the substrate transport path between the substrate guide rails 7a and 7b. The substrate support plate 5 supports the substrate carried in from the previous apparatus by the substrate guide rails 7a and 7b and the conveyor belt, ascending from below, and positions the substrate by inserting positioning pins into the positioning holes of the substrate.
[0023]
Component tape cassettes corresponding to a plurality of types of components to be mounted on the substrate are detachably mounted in advance on the component cassette bases 13a and 13b. The nozzle exchanger 15 stores a plurality (six in the figure) of nozzles 17. Each of these nozzles 17 contains a nozzle having a different tip size and shape.
[0024]
A work head (to be described later) for sucking and mounting components is disposed at the tip of the work tower 10 so as to be movable up and down. The working head is detachably mounted with a suction nozzle 17 at its tip, sucks a desired component from a component tape cassette on the component cassette base 13a (or 13b), and mounts the sucked component on a substrate.
[0025]
The component recognition camera 14 (or 16) stands by while the work tower 10 picks up the component with the work head and moves to the upper side of the substrate, images the component picked up by the work head from below, and displays the image. Send the signal to the central controller. The central control unit analyzes the image signal and detects the position deviation of the component.
[0026]
FIG. 2 is a perspective view of the work tower 10. As shown in the figure, the work tower 10 is connected to the central control unit of the apparatus main body by the flexible belt-like cable 12 as described above. The work tower 10 includes two work heads 18a and 18b and a head camera 19 for recognizing the substrate position at the tip thereof. The working head 18 (18a, 18b) has a light emitting portion 21 (21a, 21b) at its tip, and a nozzle 17 shown in FIG. The nozzle 17 is a light diffusing plate 17-1 that diffuses the light emitted from the light emitting unit 21 to form an imaging background of the component, and a nozzle that sucks and transfers the component from the component tape cassette on the component cassette base 13 to the substrate. Part 17-2.
[0027]
FIG. 3 shows a positioning control circuit which is disposed inside the base 4 and controls the component mounting device having the above-described configuration to move the work head to the corrected target point (component mounting position) with a minimum settling time. FIG. The positioning control circuit shown in FIG. 1 includes a host CPU board (main control circuit) 22, an image processing board (component recognition control circuit) 23, an NC control board (motor control calculation) via an input / output (I / O) multibus 21. Circuit) 24 and I / O control board 25 are connected to each other. Further, a keyboard, a floppy disk, a serial communication port, and the like are connected to the I / O multibus 21 although not particularly shown.
[0028]
The host CPU 22 controls each unit based on command signals and programs input via a keyboard, floppy disk, or serial communication port. The image processing board 23 is equipped with a dedicated hard disk, which converts analog image signals input from the head camera 19 for recognizing the substrate position and the camera 14 and 16 for component recognition into digital image signals and develops them in an image memory. Then, the deviation between the image data and the reference position data is calculated, and the calculation result is output to the NC control board 24 via the I / O multibus 21.
[0029]
The NC control board 24 is connected to a dual port RAM 24-2, a local CPU 24-3, a memory 24-4, and an I / F circuit 24-5 via an internal local bus 24-1. An X-axis AC servo driver 26 and a Y-axis AC servo driver 27 are connected to the I / F circuit 24-5. The dual port RAM 24-2 is a memory capable of reading and writing from both directions of the I / O multibus 21 and the internal local bus 24-1, and functions as a buffer between the I / O multibus 21 and the NC control board 24.
[0030]
The local CPU 24-3 is an arithmetic processing unit dedicated to the NC control board 24. Under the control of the host CPU board 22, the local CPU 24-3 executes a calculation for positioning a moving axis, which will be described in detail later. A movement curve is calculated based on the value, and a command is sent to one X-axis AC servo driver 26 via the I / F (interface) circuit 24-5, and a command is sent to the other Y-axis AC servo driver 27. Send it out. The X-axis AC servo driver 26 and the Y-axis AC servo driver 27 are fixed rails (Y-axis rails) 8a and 8b, moving rails (X-axis rails) 9, work tower 10, cables 11 and 12 (see FIG. 1B). ) Of the XY robot unit 30 composed of, for example, the X-axis servomotor 28 and the Y-axis servomotor 29.
[0031]
A ball screw 31 is connected to the drive shaft of the Y-axis servomotor 29 via a coupling (not shown). Although only one ball screw 31 is schematically shown in the figure, a driven ball screw that is driven via a toothed pulley, a toothed belt or the like is extended in parallel with this. These ball screws 31 are disposed on the Y-axis rails 8a and 8b, respectively. A nut 32 of the X-axis rail 9 is screwed into these ball screws 31. When the ball screw 31 is rotationally driven in both forward and reverse directions by the Y-axis servomotor 29, the X-axis rail 9 is driven through the nut 32, and the two linear guides 33 on the Y-axis rails 8a and 8b are respectively connected. It is guided and slides back and forth (Y-axis direction).
[0032]
On the other hand, a ball screw 34 is connected to the drive shaft of the X-axis servomotor 28 via a coupling (not shown). A nut 35 of the work tower 10 is screwed into the ball screw 34. When the ball screw 34 is driven to rotate in both forward and reverse directions by the X-axis servomotor 28, the work tower 10 is driven through the nut 35, and is guided by the two linear guides 36 on the X-axis rail 9 to the left and right ( Slide in the X-axis direction).
[0033]
Further, the I / O control board 25 is a load unit other than the servo motor, for example, a conveyor belt that conveys the substrate, various sensors that detect the position of the driven unit, an electromagnetic of a cylinder that operates the substrate support plate and the positioning device. Drive the valve.
[0034]
FIG. 4A shows a basic operation in the case of controlling the movement of a moving axis (hereinafter simply referred to as an axis) for picking up a component and mounting the component on a board in the component mounting apparatus having the above-described configuration in the present embodiment. FIG. Here, the axis is the central axis of the work tower 10 in a word. From the work head 18, the work tower 10 that supports this and moves in the X-axis direction, the ball screw 34 that drives the work tower 10, and the like. In consideration of the inertia of the X-direction operation unit and the inertia of the Y-direction operation unit including the X-axis rail 9 that supports the X-direction operation unit and the ball screw 31 that drives the X-axis operation unit in the Y-axis direction. An operation for controlling the movement of is performed.
[0035]
Further, FIG. 4B is a diagram for explaining a problem when this basic operation is not adopted for reference. The positions A, B, C, P, T, etc. in FIGS. 4 (a) and 4 (b) are represented by the coordinate system of time and speed. However, these times A, B, C, P, T, etc. are produced as a result corresponding to the positions, and in the following description, conceptually Treat as a position.
[0036]
First, as shown in FIG. 5B, if the method of starting moving to the initial target point A by the conventional method, the original target curve B ′ in which the initial moving curve Q ′ is changed is changed. In order to change to the movement curve R, the change command must be issued at least by the time T. If this change command is late, the normal target point B cannot be stopped by normal deceleration. Overrun will occur. Even if it decelerates suddenly, a large acceleration is applied to cause a shift in the holding position of the component, causing a problem that the correction of the folding angle becomes meaningless.
[0037]
Therefore, as shown in FIG. 6A, in the present embodiment, when moving from the component recognition processing position P toward the target point A which is the mounting position on the board, first, a temporary target before that is used. Start moving toward point C. This temporary target point C is set to the front by the range of the maximum correction amount E with respect to the target point A obtained from the parameters of the installed program. The maximum correction amount E centered on the target point A is an amount that can be easily predicted based on the shape of the part and the performance of the suction device, and is a value calculated in advance.
[0038]
Thereby, the temporary target point C is always set before the initial target point A by the range of the maximum correction amount E. Therefore, when the correction amount is calculated during movement and the true target point B is set, the true target point B is within the range of the maximum correction amount E, that is, is it always the same as the temporary target point C? It is in a position farther than that. In other words, when the target position is changed from the temporary target point C to the true target point B during movement, the distance is changed in the direction in which the distance is extended, even if the distance is changed in the direction in which the distance is extended. There is no.
[0039]
As a result, the movement speed curve Q can be changed to a reasonable and safe movement speed curve R to complete the movement to the true target point B which is the final target point while maintaining stability. In the processing for changing the target point, the main control circuit 22 of the positioning control circuit shown in FIG. 3 sends the target position, the maximum speed limit of each axis, the maximum speed limit acceleration, and the combined maximum of both axes to the motor control arithmetic circuit 24. A change command including the speed limit and the combined maximum speed limit is sent. In this case, the position change occurs only in the direction in which the distance to the target point increases as described above. At this time, the change of the movement curve of the axis to reach the changed target point is processed according to the state of the axis.
[0040]
The processing operation will be described below. This process operates on the multitasking OS and is performed by three independent tasks, that is, a main task, a position curve calculation task, and a data output task.
[0041]
The main task is executed by the host CPU board 22 shown in FIG. This main task is executed in accordance with a normal component mounting program. In this embodiment, the NC control board 24 has an axis movement target, a maximum speed, a maximum acceleration during acceleration, and a deceleration acceleration. A maximum acceleration and a filter constant are given, and an axis movement completion notice is received from the NC control board 24. The position curve calculation task and the data output task are executed by the local CPU 24-3 in the NC control board 24.
[0042]
FIG. 5 is a flowchart of a position curve calculation task executed by the local CPU 24-3 of the NC control board 24.
FIG. 6 is a flowchart of a data output task executed by the local CPU 24-3 of the NC control board 24.
[0043]
FIG. 7 is a diagram schematically showing the position change process by the position curve calculation task and the data output task.
The processing of the position curve calculation task in FIG. 5 and the data output task in FIG. 6 will be described below with reference to FIG. In these processes, an output data buffer area is provided in the memory 24-4, the register A built in the local CPU 24-3 is used as a write address register of the output data buffer, and the built-in register B is also used. Similarly, it is used as a register for a read address.
[0044]
In the position curve calculation task shown in FIG. 5, the processing is started by receiving an axis movement command from the host CPU together with the target position, maximum speed, maximum acceleration during acceleration, maximum acceleration during deceleration, and filter constants. Each of these data is referred to from a data table stored in advance in the memory 24-4 according to the options of the mounted component and the mounted program.
[0045]
First, in this process, the initial speed of the shaft is set to “0” (step S11). Next, the speed is calculated to be a trapezoidal curve, and the data of the axis position per unit time is written to the output data buffer from this calculation result (step S12).
[0046]
In this process, the movement amount is generally an integral of the speed curve. Therefore, if the speed curve is calculated as a trapezoidal curve as described above, the position data per unit time can be calculated with a simple formula (that is, at a high speed). Can be calculated. In this process, the trapezoidal curve speed data, which is a calculation reference for the position data per unit time, is sequentially written into the output data buffer, and the address of the written output data buffer (hereinafter simply referred to as an address). Is stored in register A.
[0047]
Thus, for example, as shown in FIG. 7 (a), the position curve calculation task 41 causes the target position C (same as the temporary target point C in FIG. 4 (a)) as shown in FIG. 7 (c). A heading speed curve 43 is calculated, and based on the calculated speed curve 43, the speed data for each unit time is converted into addresses 1, 2, 3,... Of the output data buffer 43 as shown in FIG. • are written sequentially.
[0048]
Following the above, it is determined whether or not the axis has reached the target position (step S13). If the target position has not yet been reached (N in S13), whether or not the target position has been changed. Is determined (step S14). This process is a process for determining whether or not there is a target change notification from the main task. If there is no change in the target position (N in S14), Steps S13 and S14 are repeated. As a result, for example, data writing repeatedly proceeds sequentially up to the address 17 of the output data buffer 43 shown in FIG. 7B corresponding to the speed data reaching the target position C.
[0049]
If there is a change in the target position in step S14 of this repetitive processing (S14 is Y), the address one ahead of the address stored in the register B is stored in the register A (step S15). As a result, the register A is set with an address immediately before the data output task described later reads.
[0050]
For example, in the example shown in FIG. 7B, it does not matter what the address of the output data buffer 43 currently being written to the register A is, and the data output task 42 shown in FIG. If the data address is “12”, the address “12” is stored in the register B. Therefore, “12 + 1”, that is, “13” is stored in the register A.
[0051]
From the data buffer data at the address indicated by the register B and the data buffer data at the address immediately before the reading (the address indicated by the register A), the position data and speed data read by the current data output task are obtained (same as above). Step S15).
[0052]
Then, the process returns to step S12, and the processes in and after step S12 are performed again based on the current position data and speed data obtained above and the new target position passed from the main task together with the change command. As a result, a new trapezoidal velocity curve is calculated, and calculation of new position data is prepared from the trapezoidal velocity curve. Then, the writing of the speed data per unit time of the new trapezoidal speed curve is started again from the address indicated in the register A.
[0053]
As a result, for example, as shown in FIG. 7C, an instruction is given to change the target position from the position C to the position E at the current position D, and a new trapezoidal velocity curve 44 is calculated, and based on this trapezoidal velocity curve. The speed data per unit time is rewritten (overwritten) from the address “13” of the output data buffer 43.
[0054]
Then, steps S12 to S15 are repeated, and when the axis has reached the target in the determination in step S13 (S13 is Y), the processing of the position curve calculation task is ended.
[0055]
On the other hand, in the data output task shown in the flowchart of FIG. 6, first, a trigger signal generated in the unit time (for example, 500 μs) cycle is waited (step S21), and by receiving this trigger signal, the address of the register B is set. Reference is made and the speed data in the data buffer at that address is read (step S22).
[0056]
Then, a digital filter given from the main task is applied to the read position data to correct the position data waveform (step S23). In this process, for example, a first-order low-pass filter is used.
[0057]
As a result, for example, the trapezoidal data 43 shown in FIG. 7C is first read sequentially from the address “1” to the address “12”, and as shown in FIG. Each time d) is represented by a broken line), and is converted into a curve 45 that is not accompanied by a rapid change by applying a low-pass filter, that is, a gentle curve 45 represented by a solid line in FIG.
[0058]
In addition, as described above, the speed is calculated with a trapezoidal curve that is easy to calculate, and the filter is applied at the output stage, so the position curve that smoothly changes the acceleration that originally requires complicated calculation, It can be created easily. In addition, regardless of the current state of movement of the axis, the target position can be changed and the accompanying speed, acceleration, and filter coefficient can be changed.
[0059]
Next, the filtered position data is output to the I / F circuit 24-5 (step S24). As a result, the I / F circuit 24-5 drives the X-axis servo motor 28 and the Y-axis servo motor 29 by a predetermined number of pulses via the X-axis AC servo driver 26 and the Y-axis AC servo driver 27.
[0060]
Subsequently, the address stored in the register A and the address stored in the register B are compared to determine whether or not they are the same value (step S25). And if it is the same value (S25 is Y), it will return to said step S21 and will repeat step S21-S25. If the address of the register A and the address of the register B are not the same value (S25 is N), the address of the register B is advanced by 1 (step S26), and the process returns to the above step S21. Thereby, the address of the register A is always equal to the address of the register B, or one address (or more than one) ahead of the address of the register B is set.
[0061]
Based on this address, the position curve calculation task 41 in FIG. 7A is executed as shown in FIG. 5, and the target position is changed at address “13” as shown in FIG. The new trapezoidal velocity curve 44 written by the calculation is read by the data output task 42 at the address “13” and thereafter, as shown by the broken line in FIG. It is output to the F circuit 24-5. Thus, the changed final target position (position E in FIG. 7 (c)) can always be reached by a smooth speed change.
[0062]
FIG. 8 (a) shows a speed curve before the change in the trapezoidal speed curve changing process in steps S14, S15 and S12 described above, and FIGS. 8 (b) to (i) show various speed curves after the change. The example of (the curve shown by hatching) is shown. FIG. 5B shows an example in which the change occurs during acceleration and only the target position is changed. FIG. 10C shows an example in which the change occurs during acceleration and only the target position and the maximum speed limit value (corrected upward) are changed. FIG. 4D shows an example in which the change occurs during the constant speed movement and only the target position is changed. FIG. 4E shows an example in which the change occurs during the constant speed movement, and only the target position and the maximum speed limit value (corrected upward) are changed. FIG. 5 (f) shows an example in which the change occurs during the constant speed movement and only the target position and the maximum speed limit value (corrected downward) are changed. FIG. 5G shows an example in which the change occurs during deceleration and the limit value (corrected downward) of the target position and the maximum speed is changed, or it is difficult to accelerate again. FIG. 11 (h) shows an example in which a change occurs during deceleration and the limit value (corrected upward) of the target position and maximum speed is changed and acceleration can be performed again. Fig. (I) shows the change of the target position by changing the acceleration when the target position is overrun if the change occurs during deceleration and the speed is constant (acceleration "0"). This is an example of stopping.
[0063]
【The invention's effect】
As described above in detail, according to the present invention, the initial target position is set in front of the maximum correction amount expected from the design target position. The target position can be changed quickly with a gentle speed curve so that the operation does not change suddenly regardless of whether it is in speed, acceleration or deceleration. There is no need to re-travel by minutes, so that settling time can be minimized and work efficiency is improved. In addition, since correction can be made so that strong acceleration is not applied to the moving axis, there is no possibility of occurrence of misalignment of attracted parts due to large accelerations, misalignment of mounted parts due to vibration, etc. Therefore, the incidence of mounting defects is significantly reduced. To do.
[Brief description of the drawings]
FIG. 1A is an external perspective view of a component mounting apparatus according to an embodiment, FIG. 1B is a perspective view with a protective cover on the top thereof removed, and FIG. 1C is disposed directly on the base. It is a top view which shows various apparatuses.
FIG. 2 is a perspective view of a work tower of the component mounting apparatus according to the embodiment.
FIG. 3 is a configuration block diagram of a positioning control circuit disposed in the component mounting apparatus according to the embodiment.
FIG. 4A is a diagram showing a basic operation of axis movement controlled by a positioning control circuit, and FIG. 4B is a diagram for explaining a problem when this basic operation is not adopted.
FIG. 5 is a flowchart of a position curve calculation task by the positioning control circuit.
FIG. 6 is a flowchart of a data output task by a positioning control circuit.
FIG. 7 is a diagram schematically illustrating a position change process by a position curve calculation task and a data output task.
8A is a diagram showing a speed curve before the change, and FIGS. 8B to 8I are diagrams showing various examples of the speed curve after the change. FIG.
[Explanation of symbols]
1 Component mounting device (device main body)
2 Lower protective cover
3 Upper protective cover
4 bases
5 Substrate support plate
6 Input device
7a, 7b Board guide rail
8 (8a, 8b) Fixed rail (Y-axis rail)
9 Moving rail (X-axis rail)
10 Working tower
11, 12 cable
13a, 13b Parts cassette stand
14 Parts recognition camera
15 Nozzle changer
16 Parts recognition camera
17 Adsorption nozzle (nozzle)
17-1 Light diffusion plate
17-2 Nozzle
18 (18a, 18b) Working head
19 Head camera
21 Input / output (I / O) multibus
22 Host CPU board
23 Image processing board
24 NC control board
24-1 Internal local bus
24-2 Dual Port RAM
24-3 CPU
24-4 Memory
24-5 I / F circuit
25 I / O control board
26 X-axis AC servo driver
27 Y-axis AC servo driver
28 X-axis servo motor
29 Y-axis servo motor
30 XY Robot
31 Ball screw
32 nuts
33 Linear guide
34 Ball screw
35 nuts
36 Linear guide

Claims (2)

チップ状電子部品をプリント基板へ自動搭載するワンバイワン方式の部品搭載装置における移動軸の位置決め制御方法であって、
作業ヘッドを支持して移動する移動軸の位置を検出する軸位置検出工程と、
前記移動軸の静止位置及び移動中位置を含む任意の位置及び速度から他の任意の目標位置及び速度まで動作するに際し、前記目標位置よりも予想される最大補正量分だけ手前に仮の目標位置を設定し、前記任意の位置から前記仮の目標位置まで動作するときの移動曲線を計算する曲線計算工程と、
該曲線計算工程により作成された移動曲線にフィルタを用いて加工する曲線加工工程と、
前記移動軸を駆動するサーボモータを出力制御するモータ制御工程と、
前記移動軸が前記仮の目標位置に向けて駆動されている期間中に、前記目標位置の変更指令が外部から供給された場合、該変更指令に応じて前記移動曲線を変更し、該移動曲線の変更によって前記移動軸の停止位置の変更を行う曲線変更工程と、
を備えることを特徴とする位置決め制御方法。
A method for positioning control of a moving axis in a one-by-one component mounting apparatus that automatically mounts chip-shaped electronic components on a printed circuit board,
An axis position detecting step for detecting the position of the moving axis that moves while supporting the work head;
When operating from an arbitrary position and speed including the stationary position and moving position of the moving axis to another arbitrary target position and speed, a temporary target position before the target position by the maximum correction amount expected. And a curve calculation step for calculating a movement curve when operating from the arbitrary position to the temporary target position;
A curve processing step of processing the moving curve created by the curve calculation step using a filter;
A motor control step of controlling output of a servo motor that drives the moving shaft;
When a change command for the target position is supplied from the outside during a period in which the movement axis is driven toward the temporary target position, the movement curve is changed according to the change command, and the movement curve A curve changing step for changing the stop position of the moving axis by changing
A positioning control method comprising:
前記曲線計算工程は、前記移動曲線を台形となるように計算することを特徴とする請求項1記載の位置決め制御方法。The positioning control method according to claim 1, wherein the curve calculation step calculates the movement curve so as to be a trapezoid.
JP35430497A 1997-12-24 1997-12-24 Positioning control method Expired - Fee Related JP3805512B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35430497A JP3805512B2 (en) 1997-12-24 1997-12-24 Positioning control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35430497A JP3805512B2 (en) 1997-12-24 1997-12-24 Positioning control method

Publications (2)

Publication Number Publication Date
JPH11186794A JPH11186794A (en) 1999-07-09
JP3805512B2 true JP3805512B2 (en) 2006-08-02

Family

ID=18436643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35430497A Expired - Fee Related JP3805512B2 (en) 1997-12-24 1997-12-24 Positioning control method

Country Status (1)

Country Link
JP (1) JP3805512B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5492481B2 (en) * 2009-07-14 2014-05-14 Juki株式会社 Electronic component mounting device
JP6287453B2 (en) * 2014-03-27 2018-03-07 日本電気株式会社 Conveying device and control method thereof

Also Published As

Publication number Publication date
JPH11186794A (en) 1999-07-09

Similar Documents

Publication Publication Date Title
JP3313224B2 (en) Electronic component mounting equipment
JP4809799B2 (en) Mounting machine, mounting method thereof, and moving method of board imaging means in mounting machine
JP2007012929A (en) Method for checking interference of surface mounting machine, device for checking interference, surface mounting machine with the device and mounting system
JP3805512B2 (en) Positioning control method
JP6356222B2 (en) Component mounting device
JP2771814B2 (en) Electronic component automatic mounting device
JP2008091646A (en) Component mounting method
JP3696413B2 (en) Electronic component mounting method and electronic component mounting apparatus
JP2847801B2 (en) Electronic component mounting device
JP2521939B2 (en) Processing equipment
WO2024084703A1 (en) Component-mounting work machine and mounting line
JPH03293800A (en) Method and device for mounting electronic part
JP3564209B2 (en) Mounting machine acceleration control method and apparatus
JP3229748B2 (en) Electronic component automatic mounting device
JPH0425322A (en) Part detecting mechanism of electronic part holding device
WO2024057433A1 (en) Component mounter and component imaging method
JP3041209B2 (en) Component recognition device for mounting machines
JP6906706B2 (en) Electronic component mounting device and control method
JPH09130099A (en) Drive control method for mounter and that device
JP4339141B2 (en) Surface mount machine
JP3133589B2 (en) Parts supply device
JP3846514B2 (en) Component mounting apparatus and control method thereof
JP3699179B2 (en) Work device and electronic component automatic mounting device
JPH11298198A (en) Method of mounting electronic components
JP3229737B2 (en) Electronic component automatic mounting device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060316

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: 20060502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060510

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees