IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士機械製造株式会社の特許一覧

<>
  • 特許-サーボアンプ 図1
  • 特許-サーボアンプ 図2
  • 特許-サーボアンプ 図3
  • 特許-サーボアンプ 図4
  • 特許-サーボアンプ 図5
  • 特許-サーボアンプ 図6
  • 特許-サーボアンプ 図7
  • 特許-サーボアンプ 図8
  • 特許-サーボアンプ 図9
  • 特許-サーボアンプ 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-19
(45)【発行日】2024-12-27
(54)【発明の名称】サーボアンプ
(51)【国際特許分類】
   G05D 3/12 20060101AFI20241220BHJP
   H02P 29/00 20160101ALI20241220BHJP
【FI】
G05D3/12 W
H02P29/00
【請求項の数】 6
(21)【出願番号】P 2023509904
(86)(22)【出願日】2021-03-29
(86)【国際出願番号】 JP2021013223
(87)【国際公開番号】W WO2022208590
(87)【国際公開日】2022-10-06
【審査請求日】2024-01-30
(73)【特許権者】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(74)【代理人】
【識別番号】100162237
【弁理士】
【氏名又は名称】深津 泰隆
(74)【代理人】
【識別番号】100191433
【弁理士】
【氏名又は名称】片岡 友希
(72)【発明者】
【氏名】青木 翔吾
(72)【発明者】
【氏名】城戸 隆志
【審査官】牧 初
(56)【参考文献】
【文献】特開平10-262387(JP,A)
【文献】特開2002-341943(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 3/00- 3/20
G05B 19/18-19/416
G05B 19/42-19/46
H02P 4/00
H02P 21/00-25/03
H02P 25/04
H02P 25/08-31/00
(57)【特許請求の範囲】
【請求項1】
サーボモータ又は前記サーボモータの駆動対象物の位置情報をコントローラに出力した後に、前記コントローラが前記位置情報を使用して生成する動作命令が入力されることによって、前記サーボモータの制御を前記動作命令に基づいて実行するサーボアンプであって、
前記サーボモータの制御周期毎に、前記サーボモータ又は前記駆動対象物に付設するエンコーダにおいて前記サーボモータ又は前記駆動対象物の検出位置を確定すると共に、前記検出位置の確定時点を示す時間情報を生成する検出位置確定部と、
前記制御周期毎に到来する基準時点から基準時間が経過した理想時点における前記サーボモータ又は前記駆動対象物の推定位置を前記検出位置及び前記時間情報を使用して推定し、前記推定位置を示す情報を前記位置情報として前記コントローラに出力する位置情報補正部と、を備え
前記検出位置確定部は、確定指令の入力を契機として、前記検出位置を確定すると共に、フラグの値の変更によって前記時間情報を生成し、
前記位置情報補正部は、
前記基準時点において前記確定指令を前記検出位置確定部に出力する出力部と、
前記フラグの値の変更に基づいて前記検出位置の確定時点を特定する特定部と、
前記基準時点から前記検出位置の確定時点までの経過時間を取得時間として算出する算出部と、
前記推定位置を前記検出位置及び前記取得時間を使用して推定する推定部と、を備えるサーボアンプ。
【請求項2】
前記推定部は、
前回の前記制御周期における前記検出位置と、前々回の前記制御周期における前記推定位置との位置差分を算出する第1推定部と、
前回の前記制御周期における前記基準時間と前記取得時間との時間差分を算出する第2推定部と、
前記位置差分を前記制御周期の時間で除した値に前記時間差分を乗ずることによって補正値を算出する第3推定部と、
前回の前記制御周期における前記検出位置に前記補正値を加えることによって、前回の前記制御周期における前記推定位置を算出する第4推定部と、を備え、
前回の前記制御周期における前記推定位置は、今回の前記制御周期の前記動作命令が前記コントローラによって生成される際に使用される請求項に記載のサーボアンプ。
【請求項3】
前記第2推定部は、前々回の前記制御周期までの前記取得時間の平均値を、前回の前記制御周期における前記基準時間として用いる請求項に記載のサーボアンプ。
【請求項4】
前記第2推定部は、予め決められた所定時間を、前回の前記制御周期における前記基準時間として用いる請求項に記載のサーボアンプ。
【請求項5】
前記基準時点は、前記制御周期の開始時点から一定時間が経過した時点である請求項1乃至請求項のいずれか一つに記載のサーボアンプ。
【請求項6】
前記基準時点は、前記制御周期の開始時点である請求項1乃至請求項のいずれか一つに記載のサーボアンプ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サーボモータの制御のためにコントローラに出力する位置情報をその出力前に補正するサーボアンプに関するものである。
【背景技術】
【0002】
従来、上記サーボアンプに関し、種々の技術が提案されている。例えば、下記特許文献1に記載の検出位置データ送信出力装置は、一定の送信周期で位置データを外部へ出力する装置において、外部から遅れ時間を示す数値Dを決定する情報を入力する受信手段と、前記送信周期よりも速い周期で位置を検出する位置検出手段と、位置データを外部へ出力する以前の2つ以上の位置データから、位置データを外部へ出力する直前の位置データを検出した時刻から時間D経過後の位置データを予測する位置予測手段と、予測した位置データを送信出力する送信手段とを具備することを特徴とするものである。
【0003】
下記特許文献1の記載によれば、当該検出位置データ送信出力装置では、外部から従来例の遅れ時間を示す数値Dを設定することができ、最新の位置データの検出時刻から時間D後の位置データを従来例よりも時間差の少ない位置データにもとづき推定するため、正確な位置の推定が可能となる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平10-301630号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、当該検出位置データ送信出力装置では、位置検出手段による位置の検出に要する時間が、個体差および周囲の環境などの要因によって絶えず変動するにも拘わらず、ないもののように扱われ、周期の開始時刻が、位置データの検出時刻とみなされている。そのため、位置検出手段で検出した位置(データ)や位置予測手段で予測した位置データは、時刻や時間との関係において、正確性に乏しい。
【0006】
本開示は、上述した点に鑑みてなされたものであり、サーボモータの制御のためにコントローラに出力する位置情報の正確性を向上させることが可能なサーボアンプを提供することを課題とする。
【課題を解決するための手段】
【0007】
本明細書は、サーボモータ又はサーボモータの駆動対象物の位置情報をコントローラに出力した後に、コントローラが位置情報を使用して生成する動作命令が入力されることによって、サーボモータの制御を動作命令に基づいて実行するサーボアンプであって、サーボモータの制御周期毎に、サーボモータ又は駆動対象物に付設するエンコーダにおいてサーボモータ又は駆動対象物の検出位置を確定すると共に、検出位置の確定時点を示す時間情報を生成する検出位置確定部と、制御周期毎に到来する基準時点から基準時間が経過した理想時点におけるサーボモータ又は駆動対象物の推定位置を検出位置及び時間情報を使用して推定し、推定位置を示す情報を位置情報としてコントローラに出力する位置情報補正部と、を備え、検出位置確定部は、確定指令の入力を契機として、検出位置を確定すると共に、フラグの値の変更によって時間情報を生成し、位置情報補正部は、基準時点において確定指令を検出位置確定部に出力する出力部と、フラグの値の変更に基づいて検出位置の確定時点を特定する特定部と、基準時点から検出位置の確定時点までの経過時間を取得時間として算出する算出部と、推定位置を検出位置及び取得時間を使用して推定する推定部と、を備えるサーボアンプを開示する。
【発明の効果】
【0008】
本開示によれば、サーボアンプは、サーボモータの制御のためにコントローラに出力する位置情報の正確性を向上させることができる。
【図面の簡単な説明】
【0009】
図1】部品実装機の概略構成図である。
図2】部品実装機と管理サーバの電気的な接続関係を示すブロック図である。
図3】コントローラ、R軸サーボアンプ、およびエンコーダの電気的な接続関係を示すブロック図である。
図4】R軸モータの各制御周期と回転位置との関係の一例を示すグラフが表された図である。
図5】R軸サーボアンプで行われる補正手順の一例を示すフローチャートである。
図6】推定処理の手順の一例を示すフローチャートである。
図7】第1変更例におけるR軸モータの各制御周期と回転位置との関係の一例を示すグラフが表された図である。
図8】第1変更例のブロック図であって、コントローラ、R軸サーボアンプ、およびエンコーダの電気的な接続関係を示す図である。
図9】第2変更例におけるR軸モータの各制御周期と回転位置との関係の一例を示すグラフが表された図である。
図10】第3変更例のブロック図であって、コントローラ、X軸サーボアンプ、およびX軸リニアスケールの電気的な接続関係を示す図である。
【発明を実施するための形態】
【0010】
次に、本開示を実施するための形態について図面を参照しながら説明する。なお、図面では、構成の一部が省略されて描かれていることがあり、描かれた各部の寸法比等は必ずしも正確ではない。
【0011】
図1は、部品実装機10の概略構成図である。図2は、部品実装機10と管理サーバ70の電気的な接続関係を示すブロック図である。なお、図1の左右方向がX軸方向であり、前後方向がY軸方向であり、上下方向がZ軸方向である。また、部品実装機10は、基板搬送方向であるX軸方向に複数台配置されて、部品実装ラインを構成する。
【0012】
部品実装機10は、図1に示すように、部品供給装置21と、基板搬送装置22およびXY移動装置30を含む実装機本体と、実装ヘッド40とを備える。実装機本体は、基台11に支持された筐体12内に配置されている。部品供給装置21と実装ヘッド40は、実装機本体に対して着脱可能に構成されている。また、部品実装機10は、この他に、図2に示すように、表示装置28と、実装ヘッド40の後述する各軸のサーボモータを制御するサーボ制御部65と、装置全体を制御するコントローラ60とを備える。
【0013】
部品供給装置21は、部品を部品供給位置まで供給するものである。部品供給装置21は、所定間隔毎に形成された収容部に部品が収容されたテープをリールから引き出してピッチ送りすることで、部品を供給するテープフィーダとして構成されている。テープフィーダは、基台11の前側に左右方向(X軸方向)に並ぶ複数のフィーダ台にそれぞれ着脱可能に取り付けられる。
【0014】
基板搬送装置22は、左右方向(X軸方向)に基板Cの搬入、固定および搬出を行うものである。基板搬送装置22は、図1の前後に間隔を空けて設けられ左右方向に架け渡された1対のコンベアベルトを備える。基板Cは、このコンベアベルトにより搬送される。
【0015】
XY移動装置30は、図1に示すように、X軸スライダ32とY軸スライダ36とを備え、XY平面上で実装ヘッド40を移動させる。X軸スライダ32は、Y軸スライダ36の前面に左右方向に延在するように設けられた上下一対のX軸ガイドレール31に支持され、X軸モータ33(図2参照)の駆動によって左右方向すなわちX軸方向に移動する。Y軸スライダ36は、筐体12の上段部に前後方向に延在するように設けられた左右一対のY軸ガイドレール35に支持され、Y軸モータ37(図2参照)の駆動によって前後方向すなわちY軸方向に移動する。XY移動装置30は、この他に、X軸スライダ32の移動位置を検知するX軸リニアスケールやY軸スライダ36の移動位置を検知するY軸リニアスケールなどを備える。X軸スライダ32には実装ヘッド40が着脱可能に取り付けられる。このため、実装ヘッド40は、XY移動装置30によりXY方向に移動可能となる。
【0016】
実装ヘッド40は、部品供給装置21から供給された部品を吸着ノズル44で採取(吸着)し、基板搬送装置22に固定された基板Cへ実装する。実装ヘッド40は、複数の吸着ノズル44をそれぞれ保持するノズルホルダが円周方向に所定間隔で配置されたヘッド本体41と、複数のサーボモータと、各サーボモータ用のエンコーダとを備える。実装ヘッド40は、図2に示すように、サーボモータとして、R軸モータ51と、Q軸モータ53と、第1Z軸モータ55と、第2Z軸モータ57とを備え、サーボモータ用のエンコーダとして、エンコーダ52,54,56,58とを備える。
【0017】
R軸モータ51は、ヘッド本体41をその軸心線(R軸)周りで回転させることで各ノズルホルダに保持された吸着ノズル44をヘッド本体41の円周方向に旋回させる。エンコーダ52は、R軸モータ51の回転位置(回転角度)を検出し、検出した回転位置などの情報を記憶し出力する。Q軸モータ53は、各ノズルホルダをその軸心線(Q軸)周りで回転(自転)させることで吸着ノズル44を軸心線周りに回転させる。エンコーダ54は、Q軸モータ53の回転位置(回転角度)を検出し、検出した回転位置などの情報を記憶し出力する。第1および第2Z軸モータ55,57は、吸着ノズル44の旋回軌道上の2つの所定位置でノズルホルダ(吸着ノズル44)をそれぞれ昇降させることで、2つの吸着ノズル44に部品の吸着動作を個別に行わせる。エンコーダ56,58は、それぞれ第1および第2Z軸モータ55,57の回転位置(回転角度)を検出し、検出した回転位置などの情報を記憶し出力する。
【0018】
サーボ制御部65は、実装機本体に取り付けられている実装ヘッド40の各サーボモータを、コントローラ60で生成される動作命令(制御信号)に含まれる目標値に基づいてフィードバック制御するものである。その際、コントローラ60では、各エンコーダで検出されるサーボモータの回転位置などの情報がサーボ制御部65から入力され、その入力された情報を使用して動作命令(制御信号)が生成される。本実施形態では、サーボ制御部65は、R軸サーボアンプ66と、Q軸サーボアンプ67と、第1Z軸サーボアンプ68と、第2Z軸サーボアンプ69とを備える。R軸サーボアンプ66は、エンコーダ52からR軸モータ51の回転位置などの情報が入力されるものであって、R軸モータ51をフィードバック制御するものである。Q軸サーボアンプ67は、エンコーダ54からQ軸モータ53の回転位置などの情報が入力されるものであって、Q軸モータ53をフィードバック制御するものである。第1Z軸サーボアンプ68は、エンコーダ56から第1Z軸モータ55の回転位置などの情報が入力されるものであって、第1Z軸モータ55をフィードバック制御するものである。第2Z軸サーボアンプ69は、エンコーダ58から第2Z軸モータ57の回転位置などの情報が入力されるものであって、第2Z軸モータ57をフィードバック制御するものである。なお、複数のサーボモータを、1個の多軸サーボアンプで制御するように構成してもよい。
【0019】
コントローラ60は、図2に示すように、CPU61を中心とするマイクロプロセッサとして構成されており、CPU61の他に、処理プログラムを記憶するROM62や作業領域として用いられるRAM63、各種データを記憶する外部記憶装置としてのHDD64、入出力インタフェース、日時の計時を行うリアルタイムクロック(RTC)などを備える。コントローラ60は、部品供給装置21や基板搬送装置22、表示装置28、XY移動装置30(X軸モータ33,Y軸モータ37)、サーボ制御部65などへ制御信号を出力する。また、コントローラ60には、部品供給装置21や基板搬送装置22、XY移動装置30(X軸リニアスケール、Y軸リニアスケール)、サーボ制御部65などから情報などが入力される。
【0020】
管理サーバ70は、例えば、汎用のコンピュータであり、複数の部品実装機10を管理する。管理サーバ70は、図2に示すように、CPU71を中心とするマイクロプロセッサとして構成されており、CPU71の他に、処理プログラムを記憶するROM72や作業領域として用いられるRAM73、各種データを記憶する外部記憶装置としてのHDD74、入出力インタフェース、日時の計時を行うリアルタイムクロック(RTC)などを備える。管理サーバ70には、マウスやキーボード等の入力装置76から入力信号が入力される。管理サーバ70からは、表示装置78への画像信号が出力される。また、管理サーバ70は、複数の部品実装機10の各々と通信を介して必要な情報をやり取り可能である。管理サーバ70のHDD74は、基板Cの生産ジョブを記憶している。基板Cの生産ジョブには、各部品実装機10においてどの部品をどの順番で基板Cへ実装するか、また、そのように部品を実装した基板Cを何枚作製するかなどの生産スケジュールが含まれる。管理サーバ70は、オペレータが入力装置76を介して入力したデータに基づいて生産ジョブを生成し、生成した生産ジョブを各部品実装機10へ送信することで、各部品実装機10に生産の開始を指示する。
【0021】
上述したように、コントローラ60は、各サーボモータのフィードバック制御が行われる際、動作命令(制御信号)をサーボ制御部65に出力する。その動作命令(制御信号)は、コントローラ60において、サーボ制御部65から入力される各サーボモータの回転位置などの情報(以下、位置情報という。)に基づいて生成される。但し、本実施形態では、その位置情報は、サーボ制御部65において、コントローラ60に出力される前に補正される。
【0022】
以下では、サーボ制御部65が備える複数のサーボアンプのうち、R軸サーボアンプ66を一例に挙げて、R軸サーボアンプ66で行われる位置情報の補正について説明する。なお、Q軸サーボアンプ67、第1Z軸サーボアンプ68、および第2Z軸サーボアンプ69においても、R軸サーボアンプ66と同様にして、位置情報の補正が行われる。
【0023】
図3に示すように、R軸サーボアンプ66は、CPU101を中心として構成されており、CPU101の他に、処理プログラムを記憶するROM103や作業領域として用いられるRAM105、通信回路107、入出力インタフェース、日時の計時を行うリアルタイムクロック(RTC)などを備える。ROM103には、処理プログラムの他に、制御周期の時間Tを示すデータ、および一定時間CTを示すデータなどが記憶されている。制御周期の時間Tとは、R軸モータ51のフィードバック制御で繰り返される周期の時間的長さをいう。
【0024】
通信回路107は、CPU101からの確定指令109の制御信号が入力されることを契機として、エンコーダ52との通信を開始するものであり、図示しないCPUやROM、RAM、入出力インタフェースなどの他、フラグ111などを備える。エンコーダ52は、上述したように、R軸モータ51の回転位置を検出するものであって、メモリ113などを備える。メモリ113は、SRAMなどの揮発性メモリである。メモリ113には、エンコーダ52で検出した回転位置(以下、検出位置という。)Ptbを示すデータが記憶される。
【0025】
検出位置Ptbを示すデータは、通信回路107によって、CPU101に入力される。CPU101は、検出位置Ptbを示すデータなどから、後述するようにして、フィードバック制御に必要なR軸モータ51の回転位置、つまり、制御周期内の理想時点におけるR軸モータ51の回転位置を推定し、その推定した回転位置(以下、推定位置という。)を含む情報を、コントローラ60に位置情報115として出力する。コントローラ60は、位置情報115に基づいて動作命令117の制御信号を生成し、その動作命令117の制御信号をR軸サーボアンプ66に出力する。R軸サーボアンプ66は、動作命令117の制御信号に基づいて、R軸モータ51をフィードバック制御する。
【0026】
次に、図4を参照にして、図5および図6のフローチャートの説明に必要な用語について説明する。図5および図6は、R軸サーボアンプ66で行われる補正手順99を示すフローチャートである。
【0027】
図4は、R軸モータ51の各制御周期CCを横軸に、R軸モータ51の回転位置を縦軸にしたグラフである。図4のグラフにおいて、黒で塗り潰された円は実測値を示し、白抜きの円は算出値を示している。
【0028】
符号のTは、上述したように、各制御周期CCの時間を示す。各制御周期CCの時間Tは、例えば、60μ秒である。符号のtyは、制御周期CCの開始時点を示す。符号のtaは、基準時点を示す。基準時点taは、制御周期CCの開始時点tyから一定時間CTが経過した時点である。符号のtbは、検出位置Ptbの確定時点を示す。符号のtcは、理想時点を示す。理想時点tcは、基準時点taから基準時間STが経過した時点である。符号のTBは、取得時間を示す。取得時間TBは、基準時点taから検出位置Ptbの確定時点tbまでの経過時間である。なお、取得時間TBは、各制御周期CCで異なり、例えば、8μ±0.5μ秒の範囲内の値である。符号のPctは、理想時点tcにおけるR軸モータ51の推定位置(回転位置)を示す。
【0029】
各制御周期を示す符号のCCに付された小括弧内の数字の0,-1,-2のうち、数字の0は今回の制御周期CCを示し、数字の-1は前回の制御周期CCを示し、数字の-2は前々回の制御周期CCを示す。従って、R軸モータ51のフィードバック制御は、前々回の制御周期CC(-2)から前回の制御周期CC(-1)に引き続いて移行し、前回の制御周期CC(-1)から今回の制御周期CC(0)に引き続いて移行する。
【0030】
なお、他の符号に付された小括弧内の数字の0,-1,-2についても、同様である。よって、符号のty(0)は、今回制御周期CC(0)の開始時点を示す。
【0031】
符号のty(-1)は、前回の制御周期CC(-1)の開始時点を示す。符号のta(-1)は、前回の制御周期CC(-1)における基準時点を示す。符号のtb(-1)は、前回の制御周期CC(-1)における検出位置Ptbの確定時点を示す。符号のtc(-1)は、前回の制御周期CC(-1)における理想時点を示す。符号のTB(-1)は、前回の制御周期CC(-1)における取得時間を示す。符号のST(-1)は、前回の制御周期CC(-1)における基準時間を示す。符号のPtb(-1)は、前回の制御周期CC(-1)における検出位置を示す。符号のPtc(-1)は、前回の制御周期CC(-1)における推定位置を示す。
【0032】
符号のta(-2)は、前々回の制御周期CC(-2)における基準時点を示す。符号のtb(-2)は、前々回の制御周期CC(-2)における検出位置Ptb(不図示)の確定時点を示す。符号のtc(-2)は、前々回の制御周期CC(-2)における理想時点を示す。符号のTB(-2)は、前々回の制御周期CC(-2)における取得時間を示す。符号のST(-2)は、前々回の制御周期CC(-1)における基準時間を示す。符号のPtc(-2)は、前々回の制御周期CC(-2)における推定位置を示す。
【0033】
符号のdTは、時間差分を示す。時間差分dTは、前回の制御周期CC(-1)における基準時間ST(-1)から取得時間TB(-1)を引いた値である。符号のdPは、位置差分を示す。位置差分dPは、前回の制御周期CC(-1)における検出位置Ptb(-1)から前々回の制御周期CC(-2)における推定位置Ptc(-2)を引いた値である。符号のPCは、補正値を示す。補正値PCは、前回の制御周期CC(-1)における検出位置Ptb(-1)と推定位置Ptc(-1)との差に相当するものである。
【0034】
次に、図5および図6のフローチャートを用いて、R軸サーボアンプ66で行われる補正手順99を説明する。なお、補正手順99の処理プログラムは、R軸サーボアンプ66のROM103および通信回路107(のROM)に記憶されており、R軸サーボアンプ66のCPU101および通信回路107(のCPU)によって実行される。
【0035】
先ず、前回の制御周期CC(-1)で行われる各処理について説明する。R軸サーボアンプ66のCPU101は、判定処理S10において、基準時点ta(-1)を経過したかを判定する。判定処理S10では、前回の制御周期CC(-1)の開始時点ty(-1)から一定時間CTが経過したときに、基準時点ta(-1)を経過したと判定される。
【0036】
基準時点ta(-1)よりも前である場合(S10:NO)、当該判定処理S10が繰り返される。これに対して、基準時点ta(-1)を経過した場合(S10:YES)、R軸サーボアンプ66のCPU101は、第1出力処理S12を行う。第1出力処理S12では、R軸サーボアンプ66のCPU101は、確定指令109の制御信号を通信回路107に出力する。
【0037】
一方、通信回路107は、判定処理S100において、確定指令109の制御信号が入力されたかを判定する。確定指令109の制御信号が未入力の場合(S100:NO)、当該判定処理S100が繰り返される。これに対して、確定指令109の制御信号が入力された場合(S100:YES)、通信回路107は、準備処理S102を行う。準備処理S102では、通信回路107において、エンコーダ52との通信を行うための準備がなされる。
【0038】
その後、通信回路107は、確定処理S104を行う。確定処理S104では、通信回路107は、フラグ111の値を変更する。更に、通信回路107は、エンコーダ52に対して、R軸モータ51の回転位置を検出させ、その検出データを検出位置Ptb(-1)を示すデータとしてメモリ113に記憶させる。これにより、前回の制御周期CC(-1)における検出位置Ptb(-1)が確定される。
【0039】
更に、通信回路107は、送信処理S106を行う。送信処理S106では、通信回路107は、エンコーダ52のメモリ113から読み出した検出位置Ptb(-1)を示すデータをR軸サーボアンプ66のCPU101に送信する。
【0040】
一方、R軸サーボアンプ66のCPU101は、判定処理S14において、通信回路107のフラグ111の値が変更されたかを判定する。通信回路107のフラグ111の値が維持されている場合(S14:NO)、当該判定処理S14が繰り返される。これに対して、通信回路107のフラグ111の値が変更された場合(S14:YES)、R軸サーボアンプ66のCPU101は、特定処理S16を行う。特定処理S16では、R軸サーボアンプ66のCPU101は、現在の時刻を読み取り、その読み取った時刻を検出位置Ptb(-1)の確定時点tb(-1)として特定する。
【0041】
更に、R軸サーボアンプ66のCPU101は、受信処理S18を行う。受信処理S18では、R軸サーボアンプ66のCPU101は、通信回路107からの検出位置Ptb(-1)を示すデータを受信する。
【0042】
その後、R軸サーボアンプ66のCPU101は、判定処理S20において、今回の制御周期CC(0)が開始されたか、つまり、今回の制御周期CC(0)の開始時点ty(0)を経過したかを判定する。判定処理S20では、前回の制御周期CC(-1)の開始時点ty(-1)から制御周期CCの時間Tが経過したときに、今回の制御周期CC(0)の開始時点ty(0)を経過したと判定される。
【0043】
今回の制御周期CC(0)の開始時点ty(0)よりも前である場合(S20:NO)、当該判定処理S20が繰り返される。これに対して、今回の制御周期CC(0)の開始時点ty(0)を経過した場合(S20:YES)、R軸サーボアンプ66のCPU101は、算出処理S22、推定処理S24、および第2出力処理S26を順次行う。これにより、算出処理S22、推定処理S24、および第2出力処理S26は、今回の制御周期CC(0)で行われる。
【0044】
算出処理S22では、前回の制御周期CC(0)における取得時間TB(-1)として、前回の制御周期CC(0)における基準時点ta(-1)から検出位置Ptb(-1)の確定時点tb(-1)までの経過時間が算出される。
【0045】
なお、取得時間TBは、R軸サーボアンプ66のCPU101、通信回路107、およびエンコーダ52などの個体差および周囲の環境などの要因によって、制御周期CC毎に異なる。
【0046】
推定処理S24では、前回の制御周期CC(-1)の理想時点tc(-1)におけるR軸モータ51の回転位置、つまり、前回の制御周期CC(-1)における推定位置Ptc(-1)が算出される。そのために、R軸サーボアンプ66のCPU101は、図6に示すように、平均化処理S50、第1推定処理S52、第2推定処理S54、第3推定処理S56、および第4推定処理S58を順次行う。
【0047】
平均化処理S50では、前回の制御周期CC(-1)における基準時間ST(-1)として、前々回の制御周期CC(-2)までの取得時間TBの平均値が算出される。図6では、前々回の制御周期CC(-2)までの取得時間TBの平均値は、Average(…,TB(-2))と表記されている。
【0048】
第1推定処理S52では、前回の制御周期CC(-1)における検出位置Ptb(-1)から前々回の制御周期CC(-2)における推定位置Ptc(-2)が引かれることによって、位置差分dPが算出される。なお、前々回の制御周期CC(-2)における推定位置Ptc(-2)は、前回の制御周期CC(-1)で行われた推定処理S24で算出されたものが使用される。第2推定処理S54では、前回の制御周期CC(-1)における基準時間ST(-1)から取得時間TB(-1)が引かれることによって、時間差分dTが算出される。
【0049】
第3推定処理S56では、位置差分dPを制御周期CCの時間Tで除した値に時間差分dTを乗ずることによって、補正値PCが算出される。
なお、第3推定処理S56では、補正値PCを算出する条件として、以下の(A)(B)を前提にしている。
(A)図4の点線で示すように、各制御周期CCにおいて、R軸モータ51の回転位置と時間との関係を一次関数で近似すること。
(B)前々回の制御周期CC(-2)における理想時点Ptc(-2)から前回の制御周期CC(-1)における検出位置Ptb(-1)の確定時点tb(-1)までの経過時間を制御周期CCの時間Tとみなすこと。
【0050】
第4推定処理S58では、前回の制御周期CC(-1)における検出位置Ptb(-1)に補正値PCを加えることによって、前回の制御周期CC(-1)の理想時点tc(-1)における推定位置Ptc(-1)が算出される。
【0051】
このようして、R軸サーボアンプ66のCPU101は、図5に示す推定処理S24を行う。
【0052】
第2出力処理S26では、前回の制御周期CC(-1)の理想時点tc(-1)における推定位置Ptc(-1)を含む情報が、位置情報115として、コントローラ60に出力される。
【0053】
その後、コントローラ60は、位置情報115、つまり、前回の制御周期CC(-1)の理想時点tc(-1)における推定位置Ptc(-1)を使用して、今回の制御周期CC(0)の動作命令117の制御信号を生成し、その動作命令117の制御信号をR軸サーボアンプ66に出力する。R軸サーボアンプ66は、今回の制御周期CC(0)の動作命令117の制御信号に基づいて、R軸モータ51をフィードバック制御する。
【0054】
以上詳細に説明したように、本実施形態のR軸サーボアンプ66は、補正手順99によって、R軸モータ51のフィードバック制御のためにコントローラ60に出力する位置情報115の正確性を向上させることができる。この点は、Q軸サーボアンプ67、第1Z軸サーボアンプ68、および第2Z軸サーボアンプ69が、Q軸モータ53、第1Z軸モータ55、および第2Z軸モータ57をフィードバック制御する場合においても、同様である。
【0055】
ちなみに、本実施形態において、R軸モータ51、Q軸モータ53、第1Z軸モータ55、および第2Z軸モータ57は、サーボモータの一例である。フラグ111の値の変更は、時間情報の一例である。通信回路107は、検出位置確定部の一例である。CPU101は、位置情報補正部の一例である。
【0056】
CPU101によって行われる第1出力処理S12は、出力部の一例である。CPU101によって行われる特定処理S16は、特定部の一例である。CPU101によって行われる算出処理S22は、算出部の一例である。CPU101によって行われる推定処理S24は、推定部の一例である。
【0057】
CPU101によって行われる第1推定処理S52は、第1推定部の一例である。CPU101によって行われる第2推定処理S54は、第2推定部の一例である。CPU101によって行われる第3推定処理S56は、第3推定部の一例である。CPU101によって行われる第4推定処理S58は、第4推定部の一例である。
【0058】
尚、本開示は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。例えば、算出処理S22および推定処理S24は、前回の制御周期CC(0)において、受信処理S18と判定処理S20との間で行われてもよい。
【0059】
また、エンコーダ52がノイズなどの要因でR軸モータ51の回転位置を正常に検出できなかった場合には、例えば、公知技術などによって、前回の制御周期CC(-1)における推定位置Ptc(-1)が算出されてもよい。但し、このような場合には、前回の制御周期CC(-1)における取得時間TB(-1)は、これから先に行われる平均化処理S50の対象から外される。
【0060】
また、図7に示すように、各制御周期CCにおける基準時間STには、所定時間PTが用いられてもよい。このような第1変更例が実施されるには、例えば、図8に示すように、R軸サーボアンプ66のROM103において、所定時間PTを示すデータが予め記憶される。なお、所定時間PTは、例えば、8μ秒である。
【0061】
また、各制御周期CCにおける基準時点taには、各制御周期CCの開始時点tyが用いられてもよい。このような第2変更例では、各制御周期CCにおいて、その開始時点tyと基準時点taとが一致する。例えば、図9には、前回の制御周期CC(-1)において、その開始時点ty(-1)と基準時点ta(-1)とが一致する場合が表されている。
【0062】
また、X軸モータ33がリニアサーボモータである場合、補正手順99は、X軸モータ33のフィードバック制御が行われる際に行われてもよい。このような第3変更例では、図10に示すX軸サーボアンプ80およびX軸リニアスケール82が、部品実装機10に備えられる。図10では、上記実施形態と実質的に共通する部分には同一の符号を付し、第1変更例の詳しい説明を省略する。
【0063】
X軸サーボアンプ80は、コントローラ60およびX軸モータ33に電気的に接続され、X軸モータ33をフィードバック制御する際に、補正手順99を行うものである。X軸リニアスケール82は、上述したX軸リニアスケールであって、X軸サーボアンプ80に電気的に接続されると共に、XY移動装置30に設けられる。X軸リニアスケール82は、X軸スライダ32の移動位置を検出するものであるが、X軸モータ33(リニアサーボモータ)の移動位置を検出するものであってもよい。一方、X軸モータ33が回転式サーボモータである場合、X軸リニアスケール82に代えて、X軸モータ33の回転位置を検出するX軸エンコーダが設けられる。このような点は、Y軸モータ37がリニアサーボモータ又は回転式サーボモータである場合においても、同様である。
【0064】
ちなみに、第3変更例では、X軸スライダ32は、駆動対象物の一例である。X軸モータ33は、サーボモータの一例である。X軸リニアスケール82は、エンコーダの一例である。
【符号の説明】
【0065】
32:X軸スライダ、33:X軸モータ、51:R軸モータ、52:エンコーダ、53:Q軸モータ、54:エンコーダ、55:第1Z軸モータ、56:エンコーダ、57:第2Z軸モータ、58:エンコーダ、60:コントローラ、66:R軸サーボアンプ、67:Q軸サーボアンプ、68:第1Z軸サーボアンプ、69:第2Z軸サーボアンプ、80:X軸サーボアンプ、82:X軸リニアスケール、101:R軸サーボアンプのCPU、107:通信回路、109:確定指令、111:フラグ、115:位置情報、117:動作命令、Average:取得時間の平均値、CC:制御周期、CC(0):今回の制御周期、CC(-1):前回の制御周期、CC(-2):前々回の制御周期、CT:一定時間、dP:位置差分、dT:時間差分、PC:補正値、Ptb:検出位置、Ptc:推定位置、PT:所定時間、S12:第1出力処理、S16:特定処理、S22:算出処理、S24:推定処理、S52:第1推定処理、S54:第2推定処理、S56:第3推定処理、S58:第4推定処理、ST:基準時間、T:制御周期の時間、TB:取得時間、ta:基準時点、tb:検出位置の確定時点、tc:理想時点、ty:制御周期の開始時点
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10