(58)【調査した分野】(Int.Cl.,DB名)
加加速度、加速度、速度、および位置の振幅値である目標値を入力し、始動位置から目標位置までのそれぞれの理想的な加加速度指令波形、加速度指令波形、速度指令波形および位置指令波形を生成する理想波形生成部と、
サーボモータの回転に基づいて得られる被駆動体の実位置と、前記理想的な位置指令波形の位置指令値との位置偏差を検出する位置偏差検出部と、
サンプリングの間隔毎に前記位置偏差に基づいて、前記加速度、前記速度、および前記位置の指令波形のうち制御指令波形を形成する制御指令値を再生成し制御指令再生成値を得る指令波形再生成部と、
再生成された前記制御指令値をサーボアンプに入力し、前記被駆動体を前記目標位置に制御して、ダイをワークに実装するダイボンダであって、
前記制御指令値を前記サーボアンプに入力して得られる前記被駆動体の実速度の振幅値が、前記制御指令波形の前記目標値に近づくようにする制御補正指令値で前記制御指令値を補正する制御指令補正部を有し、
補正された前記制御指令値で前記被駆動体を制御する、
ことを特徴とするダイボンダ。
加加速度、加速度、速度、および位置の振幅値である目標値を入力し、始動位置から目標位置までのそれぞれの理想的な加加速度指令波形、加速度指令波形、速度指令波形、および位置指令波形を生成し、サーボモータの回転に基づいて得られる被駆動体の実位置と前記理想的な位置指令波形の位置指令値との位置偏差を検出し、サンプリングの間隔毎に前記位置偏差に基づいて、前記加速度、前記速度、および前記位置の指令波形のうち制御指令波形を形成する制御指令値を再生成し制御指令再生成値を得、再生成された前記制御指令値をサーボアンプに入力し、前記被駆動体を前記目標位置に制御して、ダイをワークに実装する半導体製造方法であって、
前記制御指令値を前記サーボアンプに入力して得られる前記被駆動体の実速度の振幅値が、前記制御指令波形の前記目標値に近づくようにする制御補正指令値で前記制御指令値を補正し、補正された前記制御指令値で前記被駆動体を制御する、
ことを特徴とする半導体製造方法。
【発明を実施するための形態】
【0013】
以下、本発明のモータ制御装置及びモータ制御方法を用いたダイボンダの実施形態を説明する。
図9は、ダイボンダの一実施形態10を上から見た概念図である。ダイボンダは大別してウェハ供給部1と、ワーク供給・搬送部2と、ダイボンディング部3、システム制御部7とを有する。
【0014】
ウェハ供給部1は、ウェハカセットリフタ11と、ピックアップ装置12とを有する。ウェハカセットリフタ11はウェハリングが充填されたウェハカセット(図示せず)を有し,順次ウェハリングをピックアップ装置12に供給する。ピックアップ装置12は、所望するダイをウェハリングからピックアップできるように、ウェハリングを移動する。
【0015】
ワーク供給・搬送部2はスタックローダ21と、フレームフィーダ22と、アンローダ23とを有し、ワーク(リードフレーム等の基板)を矢印方向に搬送する。スタックローダ21は、ダイを接着するワークをフレームフィーダ22に供給する。フレームフィーダ22は、ワークをフレームフィーダ22上の2箇所の処理位置を介してアンローダ23に搬送する。アンローダ23は、搬送されたワークを保管する。
ダイボンディング部3はプリフォーム部(ペースト塗布ユニット)31とボンディングヘッド部32とを有する。プリフォーム部31はフレームフィーダ22により搬送されてきたワーク、例えばリードフレームにニードルでダイ接着剤を塗布する。ボンディングヘッド部32は、ピックアップ装置12からダイをピックアップして上昇し、ダイをフレームフィーダ22上のボンディングポイントまで移動させる。そして、ボンディングヘッド部32はボンディングポイントでダイを下降させ、ダイ接着剤が塗布されたワーク上にダイをボンディングする。
【0016】
ボンディングヘッド部32は、ボンディングヘッド35と、ボンディングヘッド35をX、Y、Z方向に移動させる駆動軸70、40、50を有する。
【0017】
システム制御部7は、ダイボンダの動きの全体を制御し、内部にモータ制御装置200を有する上位システム制御装置である。
モータ制御装置200は、上述したボンディングヘッド35のX、Y、Zの各方向の制御の他、ニードルのX、Y、Zの各方向の制御、ワーク供給・搬送部2によるワークの搬送制御、搬送されてきた基板等のワークの位置を認識するワーク位置認識カメラのX、Yの各方向の制御、及びウェハリングのピックアップ装置12のセット制御等にも適用可能である。なお、ボンディングヘッド35、ニードル、ワーク供給・搬送部2、ワーク位置認識カメラ及びピックアップ装置12が被駆動体である。
【0018】
次に、
図1に示す本発明のモータ制御装置及びモータ制御方法の第1の実施例200を用いて本発明の課題と、モータ制御方法の基本的な原理を説明する。モータ制御装置200は、モーションコントローラ210とサーボアンプ220とがクローズドループ制御となっている。モーションコントローラ210は、理想波形生成部211と、指令波形生成部212と、制御指令補正部の例であるFF(フィードフォワード)値補正部214と、アナログに変換するDAC(Digital to Analog Converter)213を有する。サーボアンプ220は、制御指令値である速度指令値に基づき速度制御する速度ループ制御部221を有する。なお、130はサーボモータである。なお、指令波形生成部212は、例えば、CPU(Central Processing Unit)である。
図1において、
図9と同じ機器には同じ参照番号を付し、説明を省略した。
【0019】
理想波形生成部211は、システム制御部7から入力された加加速度、加速度、速度及び位置の目標値から、
図1に示すようなそれぞれ理想的な指令波形を得る。(a)が理想的な加加速度指令波形、(b)が理想的な加速度指令波形、(c)が理想的な速度指令波形、及び(d)が理想的な位置指令波形である。理想的”とは、加加速度を制限しながら被制御対象の振動を抑制し、所定の処理時間でスムーズに被制御対象を制御するという意味で使用する。
【0020】
指令波形生成部212は、
図1に示すように、モーションコントローラ210内で生成した理想的な位置波形から得られる現在の指令位置とモータ130から得られる実位置とに基づいて、理想波形生成部211で形成した速度指令波形を、加加速度を制限しながら逐次再生成し、再生成された速度指令波形を速度指令値としてFF値補正部214に順次出力する。
【0021】
FF値補正部214は、速度指令値を補正してサーボアンプ220に入力する。
サーボアンプ220は、補正した速度指令値に基づき、フィードバック制御し、被駆動体の実位置、実速度を得る。
【0022】
図1に示す本実施例では、速度指令波形、速度指令値がそれぞれ制御指令波形、制御指令値である。
【0023】
本実施例の特徴である制御指令補正部の実施例であるFF値補正部214は、サーボアンプから得られる速度波形のうち
図9に示すシステム制御部7から入力された目標速度に近づくように速度指令値を補正する。
【0024】
以下、本実施例のモータ制御装置の実施例200を、
図9で説明したダイボンダ10に適用した例に基づいて詳細に説明する。ダイボンダ10は、ボンディングヘッド35を制御し、ウェハから半導体チップ(ダイ)をピックアップして上昇させ、実装するワークの上部までY方向に直線移動し、降下して基板に実装する。実装後は、ボンディングヘッド35を逆の動作をさせてピックアップする位置まで戻る。そして、実装、戻りを繰り返す。
【0025】
ダイボンダには、
図9の他、中間ステージを設け、ピックアップヘッドがウェハからダイをピックアップして中間ステージに載置し、ボンディングヘッドが中間ステージからダイをピックアップしワークに実装するタイプもある。
【0026】
以下の説明では、ボンディングヘッド35のY方向の直線移動制御を例に説明する。
本実施例の引用文献1に対する特徴は、指令波形生成部212で形成された速度指令値を補正するFF値補正部214を有している点である。
【0027】
まず、FF値補正部214の意義を正確に理解するために、
図1において、ボンディングヘッド35の加加速度を制限しながら、モータを制御する方法を説明する。
例えば、
図1において、モータ制御装置200の上位システムである
図9に示すシステム制御部7から
図3に示す加加速度、加速度、速度及び位置の振幅値である目標値Jobj、Aobj、Vobj、Pobjのそれぞれが理想波形生成部211に入力される。加加速度の目標値Jobjは、被制御対象が振動(発振)しないと値が入力される。加加速度の非振動条件は、モータから見た駆動系が決まれば設定可能である。
【0028】
指令波形生成部212は、例えば、ボンディングヘッド35が前述した直線移動において、所定の処理時間内でスムーズに、始動位置であるピックアップ位置の上部から目標位置である実装位置の上部まで移動できるように、
図3に示すT1、T2、T3を決定し、一サイクルにおける加加速度波形を形成する。実装位置の上部からピックアップ位置の上部まで移動する場合も同様に
図3に示すT1、T2、T3を決定し、一サイクルにおける加加速度波形を形成する。
【0029】
加加速度波形が形成されれば、各段階で積分することによって、
図3に示すように、加速度波形、速度波形及び位置波形が形成される。
【0030】
各波形が形成された後、実装処理が開始される。ボンディングヘッド35がダイをピックアップし、ピックアップの上部から実装位置の上部に移動を開始する。移動開始後は、サーボアンプ220から位置フィードバックを示す位置エンコーダに基づいて、サンプリングタイムTs毎に次のサンプリングタイムまでの加加速度の補正値が発信しない範囲で形成され、形成されたパターンによって、次のサンプリングタイムまで、サーボアンプ220へ一連の速度指令値を出力する。これを実装位置の上部まで繰り返す。詳細な制御動作は後で述べる。
【0031】
まず、本発明の課題と実施例1における解決策を説明する。
課題のところで述べたように、特許文献1の制御方式においては、目標速度Vobjに対応する実速度Vrが目標速度Vobjに達しない場合があることが判明した。
【0032】
図2A(a)は、目標速度Vobj等に基づいて理想波形生成部211で生成された速度指令値波形に基づいて速度指令値を順次サーボアンプ220に入力し、オープン(フィードフォワード:FF)制御したときの目標速度と実速度の関係を示した図である。FF制御で行う理由は、フィードバック(FB)制御では、局所的に加速度指令値が補正され、その結果、制御指令値である速度指令値が補正されて変動する影響を避けることができるからである。勿論、FB制御で速度指令値の制御補正値を、例えばFB値として求めてもよい
。
【0033】
実速度Vrと目標速度Vobjとの差が大きいと位置偏差も大きくなり、加加速度へのフィードバック(補正)量が大きくなり、モータが発信する可能性が高くなる。そこで、実際の制御動作中は、加加速度条件は変えないで、指令波形生成部212から得られる速度指令値に式(1)で得られる両者の比であるFF値(制御補正指令値)をかけて目的する速度指令に近づける。
FF値=Vobj/Vr (1)
その結果、被制御対象の振動を抑えながら所望の速度を確保でき、所定の時間内で処理でき、ボンディングヘッドによる処理時間を短縮できる。
【0034】
図2Bは、
図2A(a)のデータを得るための処理フロ―示す図である。
図2A(a)のデータは、実装処理を開始前に、例えば、予め決められているボンディングヘッド35の原点位置で行われる。原点位置からは離れる場合の各値を+で、原点位置へ戻る場合の各値を−で示す。
【0035】
まず、ステップ201では、原点位置から一定の距離Lgを定める。ステップ202では、Lg及びVobj=V1+から
図3に示す加加速度、加速度、速度及び位置の振幅値である目標値Jobj、Aobj、Vobj、Pobjに基づく各理想的な指令波形を生成する。
【0036】
ステップ203では、Vobj=V1+とした時
の理想的な速度指令波形に基づいてサンプリング時毎に速度指令値として順次サーボアンプ220に入力し、オープン(FF)制御し、その時のエンコーダ信号から実位置を検出し、指令波形生成部212内部にあるメモリに記憶する。
図2A(b)は、
図2A(a)の目標速度がV1+であるときの理想的な速度指令波形を示している。
【0037】
ステップ204では、ステップ203で得られたサンプリングk-1時とk時(k=1・・・m)との位置差から速度を求める。
図2A(c)は、
図2Bに示す理想的な速度指令波形から得られた実速度波形を示している。破線丸で示す実速度波形の最大値r1max+が理想的な速度指令波形の目標速度V1のときの実速度Vr1+となる。ステップ205では、式(1)から原点方向から移動したときのFFV1+値を得る。
【0038】
ステップ206では、逆方向、即ち原点に向かう方向に対して行うかを判断し、行うならば、同じ条件で、ステップ203からステップ205の処理を行い、同様にFFV1−を得る。既に行っていれば、ステップ207において、両方向(FFV1+、FFV1−)の平均値を目標速度Vobj=V1におけるFFV1値とする。
【0039】
ステップ208では、目標速度Vobjの変更する必要があるかを判断し、必要ならばステップ209でV2、V3・・・と、を変えて、ステップ202からステップ7を各目標速度におけるFFV2値、FFV3値・・・を得る。ステップ210では、各目標速度で得られたFF値の平均値を全速度指令値に対するFF値とする。
【0040】
ボンディングヘッドによる実処理においては、指令波形生成部212で得られた速度指令値がステップ210で得られたFF値によりFF値補正部214で補正され、モータ制御装置200に入力されて速度フィードバック制御が行われる。
【0041】
図2A(a)では、FF値を4か所の目標速度Vobjに対するそれぞれの比、即ち線形近似として求めたが、測定箇所は、1箇所で良いし、2箇所、3箇所または5箇所以上にでもよい。また、複数箇所の場合は、曲線近似関数としてもよい。さらに、
図2A(a)の実速度の傾き角度θを求めて、式(2)よる線形近似としてFF値を求めてもよい。
FF値=1/tanθ (2)
図2Cは、
図2A(a)の線形近似で得られたFF値に基づいて速度指令値を補正し、
図2A(a)と同様に順次サーボアンプ220に入力し、フィードフォワード制御したときの目標速度Vobjと実速度Vrの関係を示した図である。
図2Cにおいて目標速度Vobjと実速度Vrにはまだ偏差があるので、本図の結果からさらにFF値を補正してもよい。
【0042】
図2A(a)と
図2A(b)は、同じ目標速度Vobjに対する結果であるから、目標速度Vobjと実速度Vrとに差ができる原因は、理想波形生成部211と、指令波形生成部212、サーボアンプ220及び被駆動体の制御能力のミスマッチ等が考えられる。
【0043】
いずれにしても、
図2Cから分かるように、加加速度Jobjを維持して、目標速度Vと実速度の差を抑えることができる。その結果、被制御対象であるボンディングヘッドが振動する可能性を極力抑えることができ、ボンディングの処理時間を短縮できる。
【0044】
なお、以上説明したY方向に直線移動した制御を、ダイのピックアップ時及び実装時の
ボンディングヘッド35の昇降制御に適用してもよい。
【0045】
次に、
図1に示す実施例1のモータ制御装置による制御方法をより詳細に説明する。
【0046】
図4Bは、本発明のモータ制御装置の実施例1を示す図である。
モータ制御装置200の上位システムでシステム制御部7から
図3に示す加加速度、加速度、速度及び位置の振幅値である目標値JD(Jobj)、AD(Aobj)、VD(Vobj)、PD(Pobj)がモーションコントローラ210にそれぞれ入力される。加加速度の目標値Jobjは、被制御対象が振動(発振)しない値が入力される。加加速度の非振動条件は、モータから見た駆動系が決まれば設定可能である。
【0047】
理想波形生成部211は、前述したように、各目標値から
図3に示すT1、T2、T3を決定し、例えば、ピックアップの上部位置から実装位置の上部位置まで移動距離に対する一サイクルの理想の(a)加加速度波形を形成する。加加速度波形は、ボンディングヘッドを駆動するモータが移動開始から最初の期間T1では徐々に加速され、中央部の期間T2では定速度(期間T2)で、最終移動位置に近付く期間T3で徐々に減速して停止するように形成される。そして、理想波形生成部211は、順次積分して理想の(b)加速度波形、(c)速度波形、(d)位置波形をそれぞれ生成し、指令波形生成部212に出力する。
【0048】
指令波形生成部212は、理想波形生成部211から出力される位置信号と、モータ130から入力されるエンコーダ信号に応じて、加加速度制限しながら、今後の速度指令波形を再生成して、FF値補正部214に逐次出力する。実施例の指令波形生成部212は、指令波形入出力処理部410、指令波形再生成処理部420及び位置検出部であるエンコーダ信号カウント処理部430を有する。
【0049】
エンコーダ信号カウント処理部430は、モータ130から或いはサーボアンプ220を介してエンコーダ信号を入力し、実位置を示すパルスとして常時蓄積する。
【0050】
指令波形入出力処理部410は、処理開始前に理想波形生成部211から各波形を入力し、処理開始後サンプリングタイムTs毎に、サンプリング時のボンディングヘッド35のY方向のあるべき位置PD’0を目標位置波形から得る。位置PD’0はエンコーダ信号の有する位置分解能を有するパルス数として指令波形再生成処理部420に出力される。その後、指令波形入出力処理部410は、指令波形再生成処理部420で処理された次のサンプリングタイムTsまでの各指令波形を入力し記憶し、速度指令波形を順次FF値補正部に出力する。
【0051】
指令波形再生成処理部420は、指令波形入出力処理部410からあるべき目標指令位置PD’0を入力し、エンコーダ信号カウント処理部430から得られる実位置PA0と比較し、減算器421で偏差量Perrをパルス数の差として検出する。
【0052】
指令波形再生成処理部420の加加速度加算波形生成部422では、位置偏差量Perrに基づいて、
図4Aに示すサンプリング間隔Tsにおける加算加加速度波形をC1〜Cnを生成する。
図4Aでは、加算加加速度波形は
図3に示す加加速度波形と同様なパターンに形成される。但し、各正値、負値の幅及びそれらの間隔は同じkに設定されている。JCは加算値、n(自然数)はサンプリング間隔Tsにおける指令回数、x(自然数)はn個の指令回数の指令位置(1≦x≦n)である。
図4Aに示す加算加加速度波形は、8つの部分を有するので、nは8の倍数とすることが望ましい。但し、加算加加速度波形に加加速度が0となる部分を設けなければ、nは4の倍数としてもよい。
【0053】
加加速度加算波形生成部422は、サンプリング間隔Ts内、即ち指令出力周期TCを持つn回の指令で偏差量Perrが将来的に“0”になるような加加速度波形C1〜Cnを生成する。
【0054】
例えば、加加速度波形C1〜Cnは、次のような手順(1)〜(3)で生成する。なお、以下において、位置偏差目標補償量をP(PerrをPとしてそのまま使用する)、指令出力周期をTC、偏差量補償目標時間をTN、偏差量補償目標指令出力周期をn回、加加速度波形の幅をK、加加速度加算波形の大きさをJCとして説明する。
【0055】
{手順(1)}
まず、以下のように、加加速度波形の幅Kを算出する。
TN>(TC×n)から、加加速度加算波形の形状を固定するため、nは8の倍数とする。
即ち、TN>(TC×8×K)とし、加加速度波形の幅Kは、次式となる。
K<(TN/(TC×8))
{手順(2)}
次に、以下の式から、加加速度加算波形の大きさJCを算出する。
JC=(1/8)×(P/K
3×TC
3)
{手順(3)}
次に、加加速度加算波形C1〜Cnを生成する。
偏差量を補償するための加加速度加算波形C1〜Cnは、下記のようになる。なお、ここで、xは、1〜nのx番目の波形を意味する。
x/K≦1の時、Cx=JC
x/K≦2の時、Cx=0
x/K≦3の時、Cx=−JC
x/K≦4の時、Cx=0
x/K≦5の時、Cx=−JC
x/K≦6の時、Cx=0
x/K≦7の時、Cx=JC
x/K≦8の時、Cx=0
例えば、K=1の場合には、加加速度加算波形C1〜Cnは、以下のようになる。
C1〜Cn={JC,0,−JC,0,−JC,0,JC,0}
即ち、C1=JC、C2=0、C3=−JC、C4=0、C5=−JC、C6=0.C7=JC、C8=0である。
【0056】
図5に、偏差量Pを補償するための加加速度加算波形の実施例を示す。加算値JCは、減算器421で得られるパルス差で決められる。
図5は、偏差量がパルス数に換算して1パルス、2パルス、4パルス、8パルス、および16パルスの場合、それぞれの補償用に加算される加加速度加算波形から得られる加速度加算波形、および速度加算波形を示す図である。
図5が示すように、偏差量が大きければ大きいほど、加算加加速度波形の高さJCが大きくなる。本実施例では、速度加算波形が制御指令加算波形である。
【0057】
また、指令波形再生成処理部420は、今回のサンプリング間隔Tsの8個の指令出力周期TC(=Ts/8)タイミングで出力される各指令波形を求める指令波形再生成部431を有する。本実施例の指令波形再生成部431は、加算器423、424、425及び426を有する。
【0058】
加算器423、424、425および426は、今回のサンプリング間隔Tsの各指令波形は、前回のサンプリング時に再生成された指令波形を必要とする。その為に、指令波形入出力部410は、前回のサンプリング時に再生成した指令加加速度波形JD’1〜JD’nと、前回のサンプリング時で再生成された指令波形の中で指令出力周期TC1回分手前からの指令加速度波形AD’0〜AD’n、指令速度波形VD’0〜VD’n、および指令位置波形PD’0〜PD’nを保存し、必要な波形値を指令波形再生成処理部420に出力する。
【0059】
まず、指令加加速度波形を求める加算器423について説明する。
図4Bにおいて、加加速度加算波形生成部422は、加加速度加算波形C1〜Cnを加算器423に出力する。加算器423は、加加速度加算波形C1〜Cnと前回のタイミングで生成した指令加加速度波形JD’1〜JD’nとを加算して、指令出力周期n回分の全ての指令加加速度波形JD’’1〜JD’’nを再生成し、加加速度制限部427と加算器424に出力する。
例えば、加算器423の出力は、JD’’1=JD’1+C1、JD’’2=JD’2+C2、JD’’3=JD'3+C3、〜、JD’’n=JD’n+Cnとなる。
【0060】
次に、加算器424は、再生成された指令加加速度波形JD’’1〜JD’’nから得られるサンプリング間隔における今回のサンプリング時における指令加速波形と前回のサンプリング時に生成した指令出力周期1回分手前からの指令加速度波形AD’0〜AD’n−1とを加算して、指令出力周期TCのn回分の全ての指令加速度波形AD’’1〜AD’’nを再生成し、加算器425および加加速度制限部427に出力する。本実施例では、加算される加速度波形を、指令加加速度波形JD’’1〜JD’’nを指令出力周期TCで積分した値JD’’1×TC〜JD’’n×Tcを、指令出力周期TCおける平均値、即ち再生成された指令加加速度波形JD’’1〜JD’’nの各値とした。勿論、加算される加速度波形を
図5に示す加速度波形から得られる値を加算してもよい。この考え方は、指令速度波形、指令位置波形についても同様である。
従って、加算器424の出力は、AD’’1=AD’0+JD’’1、AD’’2=AD’1+JD’’2、AD’’3=AD’2+JD’’3、〜、AD’’n=AD’n−1+JD’’nとなる。
【0061】
また、加算器425は、再生成された指令加速度波形AD’’1〜AD’’nと前回のタイミングで生成した指令出力周期1回分手前からの指令速度波形VD’0〜VD’n−1とを加算して、指令出力周期n回分の全ての指令速度波形VD’’1〜VD’’nを再生成し、加算器426および加加速度制限部427に出力する。本実施例では、指令速度波形が制御指令波形であり、n回分のVD’’1〜VD’’nが再生成された制御指令再生成値である。
例えば、加算器425の出力は、VD’’1=VD’0+AD’’1、VD’’2=VD’1+AD’’2、VD’’3=VD’2+AD’’3、〜、VD’’n=VD’n−1+AD’’nとなる。
【0062】
最後に、加算器426は、再生成された指令速度波形VD’’1〜VD’’nと前回のタイミングで生成した指令出力周期1回分手前からの指令位置波形PD’0〜PD’n−1とを加算して、指令出力周期n回分の全ての指令位置波形PD’’1〜PD’’nを再生成して加加速度制限部427に出力する。
例えば、加算器426の出力は、PD’’1=PD’0+VD’’1、PD’’2=PD’1+VD’’2、PD’’3=PD’2+VD’’3、〜、PD’’n=PD’n−1+VD’’nとなる。
【0063】
さらに、指令波形再生成処理部420は、加算器423から426で得られた各指令波形が範囲内であるかを確認する。
加加速度制限部427は、再生成された指令加加速度波形JD’’1〜JD’’nが上限(または下限)を超えないかどうかを
図7を用いて確認する。
【0064】
図7は、本発明のモータ制御装置およびモータ制御方法の実施例における加加速度上限下限確認処理動作を説明するための図である。
図7において、加加速度上限Jmaxおよび加加速度下限−Jmaxはあらかじめ定められている。
図7において、加算器423では、前回のタイミングで生成した補正なし指令加加速度波形JD’1〜JD’n(補正なし)、破線円701内の加加速度加算波形が加算されている。即ち、加算波形パルスC1、C2、C3およびC4が太線で示された加加速度波形に加算されている(指令加加速度波形JD’’1〜JD’’n)。前回補正のタイミングに補正があり、さらに補正が加えられるとパルス波形が加加速度下限値−Jmaxを下回る可能性がある。
【0065】
この場合、加加速度制限部427は、現在時刻でのパルス波形C1、C2、C3およびC4が上限Jmaxと下限−Jmaxの間にあるか否かを検出して、OKかNGを判定し、出力を分岐している。例えば、現在時刻で波形C2が、上限Jmax未満であるか否かを検出する(JD’’1〜JD’’n<Jmax)。そして否(NG)であれば、指令波形復元部4210にNG情報を出力する。またOKであれば、現在時刻での波形C2が、下限Jmax超であるか否かを検出する(−Jmax<JD’’1〜JD’’n)。そして否(NG)であれば、指令波形復元部4210にNG情報を出力する。またOKであれば、加速度制限部428に指令加加速度波形JD’’1〜JD’’n、指令加速度波形AD’’1〜AD’’n、指令速度波形VD’’1〜VD’’n、および指令位置波形PD’’1〜PD’’nを出力する。
【0066】
次に、
図4Bにおいて、加速度制限部428は、加加速度制限部427と同様に、現在時刻での加速度波形が、上限Amax未満であるか否かを検出する(AD’’1〜AD’’n<Amax)。そして否(NG)であれば、指令波形復元部4210にNG情報を出力する。またOKであれば、現在時刻での波形が、下限Amax超であるか否かを検出する(−Amax<AD’’1〜AD’’n)。そして否(NG)であれば、指令波形復元部4210にNG情報を出力する。またOKであれば、速度制限部429に指令加加速度波形JD’’1〜JD’’n、指令加速度波形AD’’1〜AD’’n、指令速度波形VD’’1〜VD’’n、および指令位置波形PD’’1〜PD’’nを出力する。
【0067】
さらに
図4Bにおいて、速度制限部429は、加加速度制限部427と同様に、現在時刻での速度波形が、上限Vmax未満であるか否かを検出する(VD’’1〜VD’’n<Vmax)。そして否(NG)であれば、指令波形復元部4210にNG情報を出力する。またOKであれば、現在時刻での波形が、下限Vmaxを超えるか否かを検出する(−Vmax<VD’’1〜VD’’n)。そして否(NG)であれば、指令波形復元部4210にNG情報を出力する。またOKであれば、指令波形入出力部410に指令加加速度波形JD’’1〜JD’’n、指令加速度波形AD’’1〜AD’’n、指令速度波形VD’’1〜VD’’n、および指令位置波形PD’’1〜PD’’nを出力する。
【0068】
指令波形復元部4210は、NG情報が、加加速度制限部427、加速度制限部428、または速度制限部429のいずれかから入力された場合には、前回の指令波形を復元し、全偏差量の補正を次回指令出力時まで持ち越す(上限と下限の確認処理)。即ち、復元した前回の指令波形を指令波形入出力部410に出力する。
【0069】
この後、
図4Bおよび
図4Cにおいて、再生成した指令波形JD’’1〜JD’’n、AD’’1〜AD’’n、VD’’1〜VD’’n、およびPD’’1〜PD’’nを新たな指令波形として保存する。
【0070】
指令波形の速度指令値VD’’1〜VD’’nは、指令波形入出力部410からFF値補正部214に順次入力され、FF値で補正され、さらに順次DAC213に出力される。DAC213は、順次アナログ変換した速度指令値をサーボアンプ220に出力する。
【0071】
図4Bにおいて、DAC213は、入力された速度指令値VD’’1をアナログ値に変換してサーボアンプ220に出力する。サーボアンプ220は、入力されたアナログデータに応じてモータ130を回転駆動し、かつモータ130の回転位置(および回転速度)をエンコーダ信号として、指令波形生成部212に出力する。
モータ130から出力されたエンコーダ信号は、指令波形生成部212のエンコーダシグナルカウンタ430に入力される。
【0072】
エンコーダシグナルカウンタ430は、所定のサイクルであるサンプリング間隔Ts毎にカウントしたカウント値PA0を指令波形再生成処理部420に出力する。
【0073】
指令波形再生成処理部420では、位置偏差検出部である加算器421が、その減算入力端子に、エンコーダシグナルカウンタ430が出力するカウント値PA0を入力する。次にサイクルにおける指令波形再生処理が行われる。
【0074】
全ての指令波形が再生成される様子を
図8に模式的に示す。
図8は、本発明のモータ制御装置およびモータ制御方法における補償用の加加速度波形算出後の再生成された指令波形の一実施例を示す図である。横軸は時間、縦軸はそれぞれ振幅値を示す。一点鎖線はそれぞれ補償前の波形で、現在時刻から指令加加速度において補償用の加加速度波形が加算されたサンプリング間隔の間に、実線で示された波形でモータ130が制御される。
図8において、分かり易くするために、補正された部分の時間軸及び振幅値を拡大して表示しており、実際は頻繁に補正されている。
【0075】
この結果、モータ130が回転し、その回転によって、モータが高速で回転動作する際に、被駆動体の進行方向に対する振動や偏差を抑え、整定時間短縮を実現することができる。また、理想の軌跡でモータを動作させることができ、さらに、現在の位置を常にモニタリングすることができるため、複数の軸を同期させて動作させることが容易となる。
なお、
図8において、実位置波形が現在時刻よりも前からズレているように見える。これは、指令の波形に対して、現在時刻までのズレ(位置偏差)を示している。実際には、非常に短い周期の間隔で補正し続けているため、
図8ほど顕著にズレが生じることはない。
図8では、位置が補正される様子を強調して表現するために、現在時刻の実位置を指令波形から少しズレた位置にしてある。
【0076】
図6は、本発明のモータ制御方法の動作の一実施例の手順を説明するためのフローチャートである。
図6によって、サンプリリングタイミングで指令加加速度波形JD’’、指令加速度波形AD’’、指令速度波形VD’’、および指令位置波形PD’’を作成する手順を説明する。
ステップ601では、エンコーダカウント値から現在の実位置PA0を取得する。
ステップ602では、実位置PA0と現在の指令位置PD’0から偏差量Perrを算出する。
ステップ603では、指令出力周期n回で、偏差量Perrが将来的に“0”になるような加加速度加算波形C1〜Cnを生成する。
【0077】
ステップ604では、加加速度加算波形C1〜Cnを指令加加速度波形JD’1〜JD’nに加算して、指令出力周期n回分の全ての指令加加速度波形JD’’1〜JD’’nを再生成する。
ステップ605では、指令出力周期1回分手前からの指令加速度波形AD’0〜AD’n−1と再生成した指令加加速度波形JD’’1〜JD’’nから、指令出力周期n回分の全ての指令加速度波形AD’’1〜AD’’nを再生成する。
ステップ606では、指令加速度波形AD’’1〜AD’’nの再生成(ステップ605)と同様な方法で指令速度波形VD’’1〜VD’’nを再生成する。
ステップ607では、指令加速度波形AD’’1〜AD’’nの再生成(ステップ605)、または指令速度波形VD’’1〜VD’’nの再生成(ステップ606)と同様な方法で指令位置波形PD’’1〜PD’’nを再生成する。
【0078】
ステップ608では、再生成した加加速度波形JD’’1〜JD’’nが上限Jmaxを未満か否かを確認する。上限Jmaxを超える場合にはステップ612に処理を移行し、上限未満の場合にはステップ609に処理を移行する。
ステップ609では、再生成した加速度波形AD’’1〜AD’’nが上限Amaxを未満か否かを確認する。上限Amaxを超える場合にはステップ612に処理を移行し、上限未満の場合にはステップ610に処理を移行する。
ステップ610では、再生成した速度波形VD’’1〜VD’’nが上限Vmaxを未満か否かを確認する。上限Vmaxを超える場合にはステップ612に処理を移行し、上限未満の場合にはステップ611に処理を移行する。
【0079】
ステップ611では、再生成した指令加加速度波形JD’’1〜JD’’n、指令加速度波形AD’’1〜AD’’n、指令速度波形VD’’1〜VD’’n、および指令位置波形PD’’1〜PD’’nを新たな指令波形として保存する。
ステップ613では、次回の速度指令値VD’’1〜VD’’nをDAC312から出力させ、
図6の処理を終了し、次の指令出力周期タイミングの動作に移行する。
【0080】
ステップ612では、再生成指令波形を前回の指令波形で復元し、ステップ613に処理を移行する。即ち、指令加加速度波形JD’’1〜JD’’nとして、前回の指令加加速度波形JD’1〜JD’nを用いる。また、指令加速度波形AD’’1〜AD’’nとして、前回の指令加速度波形AD’1〜AD’nを用いる。またさらに、指令速度波形VD’’1〜VD’’nとして、前回の指令速度波形VD’1〜VD’nも用いる。またさらに、指令位置波形PD’’1〜PD’’nとして、前回の指令位置波形PD’1〜PD’nを用いる。
【0081】
以上説明した実施例1では、FF値補正部(制御指令補正部)をDAC213の前段に設けたがアナログアンプとして後段に設けてもよい。
【0082】
以上説明したように、実施例1によれば、実速度が目標速度に達しない場合があっても、加加速度を補正することなく、目標速度を補正することによって、被駆動体の動作中の進行方向に対する振動を抑え、制御時間を短くすることが可能なモータ制御装置及びモータ制御方法を用いた半導体製造方法及びダイボンダを提供できる。
【0083】
(実施例2)
図4Cは、発明のモータ制御装置及びモータ制御方法の第2の実施例を示す図である。
【0084】
実施例2の実施例1における異なる点は、次の2点である。
第1の点は、本発明の特徴に関する点である。実施例1では、FF値補正部214を指令波形入出力部410とDAC213の間に設けたが、実施例2では、加算器424と加算器425の間に設ける。即ち、加算器424で得られた再生成された指令出力周期TCのn回分の全ての指令加速度波形AD’’1〜AD’’nである指令速度加算波形にFF値をかけた補正されたn回分の指令速度加算波形を加算器425に入力する。前回、前々回得られた425の他の加算値VD’0〜VD’n−1も前回、前々回のサンプリング時にFF値で補正されているので、加算器425の出力である再生成されたn回分の指令速度加算波形VD’’1〜VD’’nも全体としてFF値で補正された波形となる。
その他の処理は、次に示す第2の点以外は同じである。
【0085】
第2の点は、実施例1では指令波形復元部4210が前回の指令波形を復元したが、実施例2では、単にNG情報を出力し、指令波形入出力部410がNG情報に応じて、保存していた前回の指令波形を現在の指令波形とするようにしている。
【0086】
以上説明した実施例2においても、実速度が目標速度に達しない場合があっても、加加速度を補正することなく、目標速度を補正することによって、被駆動体の動作中の進行方向に対する振動を抑え、制御時間を短くすることが可能なモータ制御装置及びモータ制御方法を用いた半導体製造方法及びダイボンダを提供できる。
【0087】
(実施例3)
図4Dは、発明のモータ制御装置及びモータ制御方法の第3の実施例を示す図である。
【0088】
実施例3の実施例2における異なる点は、次の3点である。
第1、2の点は、本発明の特徴に関する点である。第1の点は、実施例2では、FF値補正部214を算器424と加算器425の間に設けたが、実施例3では、指令波形入出力部410の補正速度指令波形部(補正指令波形部)で、理想波形生成部211で得られた速度指令波形にFF値をかけた破線で示す補正速度指令波形を得る。第2の点は、加算波形生成部432内で、図示しない補正速度加算波形部(補正制御加算波形生成部)で、
図5に示す速度加算波形にFF値をかけた破線で示す補正速度加算波形を得る。
【0089】
第3の点は、波形の再生成する方法に関する点である。補正速度指令波形実施例2では、加算器423乃至加算器425において、前回、前々回のサンプリング時に得たデータに今回得たデータを加算し新たな波形を再生成していた。実施例3では、指令波形入出力部410が有する理想的な加加速度指令波形JD1〜JD1、加速度指令波形AD1〜AD1及び補正速度指令波形VD1〜VD1の現サンプリング時点から次回サンプリング時点まで形成するn回分のデータに、偏差量Perrに基づき加算波形生成部432で得られた加加速加算波形JC1〜JC1、加速度加算波形AC1〜AC1及び補正速度加算波形VCS1〜VCSnの各n個の加算データをそれぞれ加算し、加加速加算波形JD’’1〜JD’’n、加速度加算波形AD’’1〜AD’’n及び補正速度加算VD’’1〜VD’’n波形を再生成する。速度指令波形が制御指令波形であれば、再生成された補正速度波形AD’’1〜AD’’nを順次DAC213に出力する。
【0090】
実施例3では、再生成された補正速度波形VD’’1〜VD’’n等を記憶する必要がない。また、位置波形の再生成は、位置波形が制御指令波形でなければ、それを用いる用途がないので必ずしもする必要がない。実施例1、2においても、位置波形の再生成については同様に必ずしもする必要がない。
【0091】
上記説明した実施例3では、補正速度指令波形、補正速度指令加算波形を用いて第3の点で示した処理により制御指令波形を形成しDAC213に入力したが、通常の速度指令波形、速度指令加算波形を用いて第3の点で示した処理により制御指令波形を形成し、実施例1と同様に、FF値補正部214で補正しDAC213に入力してもよい。
【0092】
以上説明した実施例3においても、実速度が目標速度に達しない場合があっても、加加速度を補正することなく、目標速度を補正することによって、被駆動体の動作中の進行方向に対する振動を抑え、制御時間を短くすることが可能なモータ制御装置及びモータ制御方法を用いた半導体製造方法及びダイボンダを提供できる。
【0093】
(実施例4)
実施例1乃至3では、本発明を回転するモータに適用した例を示した。実施例4は、回転スモータ以外のリニアモータに適用した例である。具体的には、
図2において、モータ130をリニアモータに置き換える。サーボアンプ220の速度ループ制御部221は、モーションコントローラ210から入力される速度指令値と、リニアモータから出力されるエンコーダ信号に応じて、リニアモータの移動速度を制御する。
【0094】
リニアモータは、サーボアンプ220の速度ループ制御部221から入力される移動速度の制御に応じた移動速度で移動し、実位置および実速度をエンコーダ信号としてサーボアンプ220の速度ループ制御部221とモーションコントローラ210の指令波形生成部212に出力する。
なお、リニアモータに置き換えた
図1の実施例では、リニアモータのカウント値から被駆動体の実位置を算出し、算出された実位置を基に実速度を算出している。しかし、被駆動体の位置を直接検出する位置検出装置を備え、当該位置検出装置が検出した位置を実位置とするようにしても良い。
【0095】
例えば、
図4Bにおいて、DAC213は、入力された速度指令値VD’’1〜VD’’nを順次アナログ値に変換してサーボアンプ220に出力する。サーボアンプ220は、入力されたアナログデータに応じてパルスモータ140を駆動し、かつパルスモータ140の移動位置(および移動速度)をエンコーダ信号として、指令波形生成部212に出力する。
パルスモータ140から出力されたエンコーダ信号は、指令波形生成部212のエンコーダシグナルカウンタ430に入力される。
エンコーダシグナルカウンタ430は、所定のサイクルでカウントしたカウント値PA0を指令波形再生成処理部420に出力する。
指令波形再生成処理部420では、加算器421が、その減算入力端子に、エンコーダシグナルカウンタ430が出力するカウント値PA0を入力する。
【0096】
全ての指令波形が再生成される様子を
図8に示す。
図8は、本発明のリニアモータ制御装置およびリニアモータ制御方法における補償用の加加速度波形算出後の、再生成された指令波形の一実施例を示す図である。横軸は時間、縦軸はそれぞれパルス高さを示す。一点鎖線はそれぞれ補償前の波形で、現在時刻から指令加加速度において補償用の加加速度波形が加算されたサンプリング間隔の間に、実線で示された波形でリニアモータが制御される。
【0097】
この結果、リニアモータが移動し、その移動によって、リニアモータが高速で移動動作する際に、被駆動体の進行方向に対する振動や偏差を抑え、整定時間短縮を実現することができる。また、理想の軌跡でリニアモータを動作させることができ、さらに、現在の位置を常にモニタリングすることができるため、複数の軸を同期させて動作させることが容易となる。
【0098】
更に、エンコーダカウンタ機能を有するモータなどモータ全般にも適用することが可能である。
【0099】
さらに、本発明は、上述の実施例に限定されるわけではなく、本発明が属する技術分野において、通常の知識を有する者であれば、本発明の思想と精神に基づいて、本発明を修正若しくは変更できる発明が含まれることは勿論である。
例えば、上記実施例では、指令波形入出力部は、速度指令値を出力してモータを制御していた。しかし、制御指令値(制御指令波形)として速度指令値(速度指令波形)の代わりに加速度指令値(加速度指令波形)叉は位置指令値(位置指令波形)を出力してモータを制御しても良い。それ故、加速度指令値叉は位置指令値においても速度指令値と同様に実加速度値叉は位置指令値との間で偏差が発生する場合は、速度指令値のFF値と同様に、制御指令補正値を求めて加速度指令値叉は位置指令値を補正する。
その結果、加速度指令値の場合、位置の制御だけでなく、荷重制御も可能となる。