(57)【要約】【課題】超音波モータ駆動時のタクトタイムの短縮を図りつつ、損失の低減を図る。【解決手段】加速度算出部２２２は、位置指令ｐ＊に基づく回転加速度を求める。加速度−電圧変換部２２３は、回転加速度に対して閾値判定を行い、回転加速度に応じた、超音波モータ２０１に印加する交流電圧の電圧レベルのデータを求める。電圧生成部２２４は、電圧レベルのデータに対応する電圧レベルの直流電圧を生成する。一方、ＰＩＤ部２２６は、検出位置ｐと位置指令ｐ＊との差分に基づき、超音波モータ２０１に要求される回転数を求める。Ｎ−Ｆ変換部２２７は、回転数に応じた、超音波モータ２０１に印加する交流電圧の周波数のデータを求める。カウンタ部２２８は、周波数のデータから周波数信号を生成する。駆動電圧／周波数制御部２２９は、直流電圧及び周波数信号を入力して交流電圧を生成し、交流電圧を超音波モータ２０１に印加する。【選択図】図３
2015116074.tif 000002
【特許請求の範囲】
【請求項１】
超音波モータの回転位置を検出して、検出位置が位置指令に近づくように前記超音波モータに印加する交流電圧を制御するモータ制御方法において、
前記位置指令に基づき、前記超音波モータに要求される回転加速度を求める回転加速度生成工程と、
前記回転加速度が加速を示す場合の前記交流電圧の電圧レベルを、前記回転加速度が等速を示す場合の前記交流電圧の電圧レベルよりも高く設定し、前記回転加速度が減速を示す場合の前記交流電圧の電圧レベルを、前記回転加速度が等速を示す場合の前記交流電圧の電圧レベルよりも低く設定する電圧レベル設定工程と、を備えたことを特徴とするモータ制御方法。
【請求項２】
前記電圧レベル設定工程では、前記回転加速度が、０よりも大きい第１閾値を下回り、かつ０よりも小さい第２閾値を上回る場合には、前記交流電圧の電圧レベルを第１電圧レベルに設定し、
前記回転加速度が前記第１閾値を上回る場合には、前記交流電圧の電圧レベルを前記第１電圧レベルよりも大きい第２電圧レベルに設定することを特徴とする請求項１に記載のモータ制御方法。
【請求項３】
前記電圧レベル設定工程では、前記回転加速度が前記第２閾値を下回る場合には、前記交流電圧の電圧レベルを前記第１電圧レベルよりも小さい第３電圧レベルに設定することを特徴とする請求項２に記載のモータ制御方法。
【請求項４】
前記位置指令と前記検出位置との差分に基づいて前記超音波モータに対する回転数を求める回転数生成工程と、
前記電圧レベル設定工程で設定した電圧レベル、及び前記回転数に応じて、前記交流電圧の周波数を設定する周波数設定工程と、を更に備えたことを特徴とする請求項１乃至３のいずれか１項に記載のモータ制御方法。
【請求項５】
前記周波数設定工程では、前記電圧レベル設定工程にて設定される前記電圧レベルが高いほど、前記周波数を高く設定することを特徴とする請求項４に記載のモータ制御方法。
【請求項６】
前記回転数と前記周波数とを対応付けたテーブルを、電圧レベルごとに用意しておき、
前記周波数設定工程では、前記電圧レベル設定工程で設定した電圧レベルに対応するテーブルを用いて、前記周波数を設定することを特徴とする請求項４又は５に記載のモータ制御方法。
【請求項７】
前記テーブルでは、前記回転数が大きくなるほど前記周波数が小さくなるように対応付けされていることを特徴とする請求項６に記載のモータ制御方法。
【請求項８】
超音波モータと、
前記超音波モータの回転位置を検出する検出部と、
前記検出部により検出された検出位置が位置指令に近づくように前記超音波モータに印加する交流電圧を生成する制御部と、
前記制御部は、
前記位置指令に基づき、前記超音波モータに要求される回転加速度を求め、
前記回転加速度が加速を示す場合の前記交流電圧の電圧レベルを、前記回転加速度が等速を示す場合の前記交流電圧の電圧レベルよりも高く設定し、前記回転加速度が減速を示す場合の前記交流電圧の電圧レベルを、前記回転加速度が等速を示す場合の前記交流電圧の電圧レベルよりも低く設定することを特徴とするモータ装置。
【請求項９】
請求項８に記載のモータ装置を備えたロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、超音波モータの駆動を制御するモータ制御方法、超音波モータを有するモータ装置、及びモータ装置を有するロボットに関する。
【背景技術】
【０００２】
自動組立装置におけるロボットは、ワークを加工したり、組立を行ったりする。ロボットは、多軸のロボットアームと、ロボットアームの先端に取り付けられたロボットハンドと、を備え、被把持物であるワークを、数十［μｍ］オーダーの精度でロボットハンドにより把持する。ロボットアームは、ロボットハンドを互いに直交するＸ、Ｙ、Ｚの方向へ制御し、ロボットハンドをワークの位置まで移動させる。
【０００３】
ロボットアームとロボットハンドとの間には、ロボットハンドをロボットアームに対して回転させる回転モジュールが配置されている。そのため、回転モジュールには、回転エネルギーを得るためのモータと、モータの回転をロボットハンドの回転に必要な回転数に減速するギア等の減速機とが組み込まれている。
【０００４】
ロボットハンドは、ワークである製品の小型化、精密化に伴い、軽い物体を把持する場合でも、寸法精度が必要となるため、剛性を確保する目的で強固な設計が必要となり、質量が大きくなってきている。
【０００５】
ところで、産業用途のロボットでは、生産性向上のために一連の動作を行うための時間（タクトタイム）の短縮が求められる。ロボットの場合、タクトタイムはモータの使用回転数と、使用回転数に達する時間によって決まる。使用回転数は作業内容によって決まるため、使用回転数に達する時間を短縮することがタクトタイム短縮に繋がる。
【０００６】
使用回転数に達する時間を短縮するため、ロボットに搭載されるモータには、モータが規定回転数に達する時間（加速時間）を極力小さくする必要がある。モータが規定回転数に達する時間を小さくするためには、トルクを大きくする必要がある。従ってモータに対しては大きなトルクが求められる。
【０００７】
上述したように、ワークを精度良く把持する目的でロボットハンドの質量が増えているため、ロボットハンドに大きな慣性力がかかる。ロボットハンドを回転させる回転モジュールのモータは、大きな慣性力が作用するロボットハンドを駆動するのに十分なトルクが必要となる。トルクを上げるために大きなモータを使用すると、回転モジュールの重量が大きくなり、それに伴い、ロボットアームも大きくなってしまうため、小型のモータで高トルクを得る必要がある。
【０００８】
そこで、小型のモータでトルクを確保するには、超音波モータが有利となる。超音波モータ（ＵＳＭ）を用いた場合、高トルクを得るには、高い電圧で駆動することが必要となる。超音波モータは駆動電圧を上げると、最大回転数とトルクを上げることができる。
【０００９】
ところが、超音波モータを常時高い電圧で駆動すると、損失が増え、発熱が大きくなる問題があった。その理由は、損失の主要因の圧電変換損失と機械損失が電圧に比例するからである。一般に超音波モータは、発熱が大きくなると、トルクが低下する。その結果、発熱が原因で、得られるトルクには限界があった。
【００１０】
発熱は損失によるものであるが、損失はモータの出力が大きくなるにつれ増える。モータの出力とトルクとの関係は以下のようになっている。
モータの出力［Ｗ］＝トルク［Ｎｍ］×回転数［ｒｐｍ］
【００１１】
特許文献１には、超音波モータにおける発熱による損失を低減する方法として、超音波モータの目標回転数が所定回転数よりも低い場合には駆動電圧を下げ、超音波モータの目標回転数が所定回転数よりも高い場合には駆動電圧を上げる方法が開示されている。超音波モータは、駆動電圧が高いほど高出力が得られ、駆動電圧が低いほど出力が低下する。既に述べたとおり、駆動電圧を上げると最大回転数とトルクが上がるので、従来は最大回転数が必要な場合、駆動電圧を上げ、逆に回転数が低い場合、駆動電圧を下げていた。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平１１−２１５８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、産業用途のロボットは、連続的に動作を繰り返す必要があり、超音波モータは常に加減速動作を行っている。特に加減速の際は回転加速度が大きいため、回転加速度に比例し、慣性モーメントの影響が大きくなる。慣性モーメントは回転加速度と重さに比例する。
【００１４】
ロボットを用いて小型高精度の製品を加工する場合、製品の小型高精度化に伴い、製品自体は軽いが、ロボットハンドに要求されるメカ精度は高精度であることが求められている。従って、ワークは軽くなる一方で、メカ精度を上げるためにロボットハンドは重くなる。その結果、ロボットハンドを回転させる回転モジュールのモータは、ワークの加工を行う際のトルクより、ロボットハンドの加減速に必要なトルクを要求される。
【００１５】
更に産業用ロボットでは、ロボットの動作時間が生産効率に影響するため、タクトタイムを短縮する必要がある。タクトタイムを短縮するために必要回転に達する時間を小さくしようとする場合、ロボットハンドが重く、慣性モーメントが大きいと、加速時の超音波モータの出力が必要となる。
【００１６】
図１０は、従来例のロボットの超音波モータの駆動制御を示す説明図である。図１０において、期間１及び期間５は、超音波モータの停止期間、期間２は加速期間、期間３は等速期間、期間４は減速期間である。
【００１７】
従来の駆動制御で、ロボットに要求されるモータ速度［ｒ／ｓ］は、ロボットコントローラからの速度情報であり、超音波モータを停止状態から最大回転数まで加速（期間２）し、最大回転数で必要時間回転（期間３）させた後、減速して停止（期間４）する。これにより、指令位置まで回転に要する時間（タクトタイム）を最短に制御する。その際、ロボットに要求される超音波モータ出力は、加減速時に慣性モーメントの影響を最も受けるため、最大回転数で回転する期間（期間３）よりも、重いロボットハンドを最大回転数まで回転させる期間（期間２）の方が大きい。
【００１８】
しかし、従来の方法では、ロボットに要求される回転数（モータ速度）が所定回転数（閾値）を上回らないと駆動電圧レベルを高める制御を行わないため、従来例による超音波モータ出力は、ロボットに要求される超音波モータ出力と異なる。
【００１９】
このとき、従来例による超音波モータ出力の波高値よりロボットに要求される超音波モータ出力の波高値が小さい場合は出力が不足し、逆に高い場合は出力が過剰となる。本来であれば、ロボットに要求される超音波モータ出力と従来例による超音波モータ出力は同一であることが望ましく、同一でない場合、モータの出力不足や、必要以上の損失（理想的な損失−従来の実損失）が発生する。
【００２０】
即ち、従来の方法では、加速期間（期間２）と減速期間（期間４）において充分な加減速を得ることができず、また、等速期間（期間３）では必要以上の電圧レベルの電圧を超音波モータに印加しており、損失が大きかった。
【００２１】
そこで、本発明は、超音波モータ駆動時のタクトタイムの短縮を図りつつ、損失の低減を図るモータ制御方法、モータ装置及びロボットを提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明は、超音波モータの回転位置を検出して、検出位置が位置指令に近づくように前記超音波モータに印加する交流電圧を制御するモータ制御方法において、前記位置指令に基づき、前記超音波モータに要求される回転加速度を求める回転加速度生成工程と、前記回転加速度が加速を示す場合の前記交流電圧の電圧レベルを、前記回転加速度が等速を示す場合の前記交流電圧の電圧レベルよりも高く設定し、前記回転加速度が減速を示す場合の前記交流電圧の電圧レベルを、前記回転加速度が等速を示す場合の前記交流電圧の電圧レベルよりも低く設定する電圧レベル設定工程と、を備えたことを特徴とする。
【発明の効果】
【００２３】
本発明によれば、超音波モータに要求される回転加速度により電圧レベルを変更しているので、タクトタイムが短縮化され、損失が低減する。
【図面の簡単な説明】
【００２４】
【図１】実施形態に係るロボットを有するロボット装置を示す模式図である。
【図２】実施形態に係るロボットのモータ装置の構成を示すブロック図である。
【図３】実施形態に係るロボットのモータ装置を示す機能ブロック図である。
【図４】実施形態に係るロボットの超音波モータの駆動制御を示す説明図である。
【図５】テーブルの一例を示す説明図である。
【図６】電圧生成部の構成を示す回路図である。
【図７】カウンタ部の構成を示す回路図である。
【図８】カウンタ部の各部の信号を示す波形図である。
【図９】駆動電圧／周波数制御部の構成を示す回路図である。
【図１０】従来例のロボットの超音波モータの駆動制御を示す説明図である。
【発明を実施するための形態】
【００２５】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。図１は、本発明の実施形態に係るロボットを有するロボット装置を示す模式図である。ロボット装置５００は、作業を行うロボット１００と、ロボット１００全体を制御するロボットコントローラ３００と、を備えている。ロボット１００は、垂直多関節型のロボットアーム１０１と、ロボットアーム１０１の先端に取り付けられたエンドエフェクタとしてのロボットハンド１０２とを備えている。ロボットハンド１０２は、ワーク（被把持物）Ｗｏを把持可能に構成されている。なお、エンドエフェクタがロボットハンド１０２の場合について説明するが、エンドエフェクタがワークに作業を施すツールであってもよい。
【００２６】
ロボットアーム１０１とロボットハンド１０２との間には、ロボットアーム１０１に対してロボットハンド１０２を回転させるモータ装置２００が配置されている。
【００２７】
図２は、本発明の実施形態に係るロボットのモータ装置の構成を示すブロック図である。モータ装置２００は、超音波モータ２０１と、超音波モータ２０１の回転子の回転角度（回転位置）を検出する検出部としてのロータリエンコーダ（以下「エンコーダ」という）２０２とを備えている。また、モータ装置２００は、超音波モータ２０１の回転子の回転を制御する制御部２０３を備えている。制御部２０３は、各種電気回路が実装された制御基板で構成されている。モータ装置２００は、超音波モータ２０１、エンコーダ２０２及び制御部２０３がモジュール化されて構成されている。
【００２８】
超音波モータ２０１は、駆動電圧、つまり交流電圧（具体的には、Ａ相の交流電圧と、Ａ相に対して９０度位相の異なるＢ相の交流電圧）により動作し、印加される交流電圧の電圧レベルが高いほど、出力トルクが増大する。また、超音波モータ２０１は、不図示の圧電素子を有し、圧電素子の共振周波数に交流電圧の周波数が近づくと、回転子の回転数が増加する。また、超音波モータ２０１の安定動作のため、交流電圧の周波数は、共振周波数よりも高い周波数に設定され、超音波モータ２０１の加速の際には、高い周波数から低い周波数へ掃引して行われる。超音波モータ２０１の減速の際には、低い周波数から高い周波数へ掃引して行われる。
【００２９】
制御部２０３は、ＣＰＵ等の演算部２１１、及びＲＯＭ等の記憶部２１２を有するコントロールユニット２１０と、駆動回路である電圧生成部２２４、カウンタ部２２８及び駆動電圧／周波数制御部２２９とで構成されている。
【００３０】
制御部２０３は、エンコーダ２０２により検出された超音波モータ２０１の回転子の検出位置が、ロボットコントローラ３００から取得した位置指令に近づくように、超音波モータ２０１に印加する交流電圧の電圧レベル及び周波数を制御する。つまり、制御部２０３は、電圧レベル及び周波数を調整した交流電圧を生成して、超音波モータ２０１に印加することで、超音波モータ２０１を駆動制御する。
【００３１】
図３は、本発明の実施形態に係るロボットのモータ装置を示す機能ブロック図である。図３では、特に制御部２０３のコントロールユニット２１０を機能でブロック化している。制御部２０３は、速度算出部２２１、加速度算出部２２２、加速度−電圧変換部２２３、電圧生成部２２４、差分演算部２２５、ＰＩＤ部２２６、Ｎ−Ｆ変換部２２７、カウンタ部２２８、駆動電圧／周波数制御部２２９で構成される。なお、速度算出部２２１、加速度算出部２２２、加速度−電圧変換部２２３、電圧生成部２２４で、電圧制御部が構成され、ＰＩＤ部２２６、Ｎ−Ｆ変換部２２７、カウンタ部２２８で周波数制御部が構成されている。以下、制御部２０３の各部の機能を説明しながら、本実施形態のモータ制御方法について説明する。
【００３２】
ロボットコントローラ３００（図１）は、所定の時間間隔で位置指令ｐ＊をモータ装置２００に送信する。位置指令ｐ＊は、超音波モータ２０１の回転角度（回転位置）を制御するための指令（データ）である。制御部２０３（演算部２１１）は、位置指令ｐ＊を、所定の時間間隔でロボットコントローラ３００（図１）から入力する。
【００３３】
速度算出部２２１は、連続して入力される２つの位置指令ｐ＊から回転速度ω＊を計算する。例えば、位置指令の間隔が５［ｍｓ］の場合、（ｐ１＊−ｐ０＊）／５［ｍｓ］を計算することで、回転速度（モータ速度）を算出する。加速度算出部２２２は、速度算出部２２１から連続する速度ω＊を取得して、時間微分し、超音波モータ２０１に必要とされる回転加速度α＊を算出する。例えば（ω１＊−ω０＊）／５［ｍｓ］を計算することで、回転加速度を算出する。
【００３４】
即ち、速度算出部２２１及び加速度算出部２２２により、位置指令ｐ＊に基づき、超音波モータ２０１に要求される回転加速度α＊が求められる（回転加速度生成工程）。なお、回転速度を算出せずに、位置指令ｐ＊から直接回転加速度α＊を算出してもよい。
【００３５】
図４は、本発明の実施形態に係るロボットの超音波モータの駆動制御を示す説明図である。図４で、ロボット１００の超音波モータ２０１に要求される回転速度ω＊は、速度算出部２２１の演算結果で、横軸が時間、縦軸が回転数（回転速度）となっている。停止状態から加速し、最大速で回転した後、減速停止のプロファイルを取ることにより、最小時間で指定の角度まで移動させる。
【００３６】
このときロボット１００の超音波モータ２０１に要求される回転加速度α＊を図４に示す。図４において、回転加速度α＊は、加速時には一定の正の値を取り、一定速（等速）で回転している間は０となり、減速時には一定の負の値を取り、停止することにより０となる。
【００３７】
加速度算出部２２２の算出結果は、Ｎ−Ｆ変換部２２７と加速度−電圧変換部２２３へ出力される。
【００３８】
加速度−電圧変換部２２３は、回転加速度α＊の情報に応じた電圧レベルのデータを出力する。即ち、加速度−電圧変換部２２３は、回転加速度α＊が加速を示す場合（つまり正の値の場合）、交流電圧の電圧レベルのデータを、回転加速度α＊が等速を示す場合（つまり０の場合）の交流電圧の電圧レベルのデータよりも高い値に設定する。また、加速度−電圧変換部２２３は、回転加速度α＊が減速を示す場合（つまり負の値の場合）、交流電圧の電圧レベルのデータを、回転加速度α＊が等速を示す場合（つまり０の場合）の交流電圧の電圧レベルのデータよりも低い値に設定する。
【００３９】
本実施形態では、加速度−電圧変換部２２３は、駆動電圧の電圧レベルのデータは、入力された回転加速度α＊により３値に設定する。具体的には、加速度−電圧変換部２２３は、回転加速度α＊が閾値（第１閾値）Ｔｈ１を下回り、かつ閾値（第２閾値）Ｔｈ２を上回る場合には、交流電圧の電圧レベルのデータを電圧レベル（第１電圧レベル）Ｖｕのデータに設定する。閾値Ｔｈ１は、０よりも大きい値であり、閾値Ｔｈ２は、０よりも小さい値である。また、加速度−電圧変換部２２３は、回転加速度α＊が閾値Ｔｈ１を上回る場合には、交流電圧の電圧レベルのデータを電圧レベルＶｕよりも大きい電圧レベル（第２電圧レベル）Ｖａのデータに設定する。また、加速度−電圧変換部２２３は、回転加速度α＊が閾値Ｔｈ２を下回る場合には、交流電圧の電圧レベルを電圧レベルＶｕよりも小さい電圧レベル（第３電圧レベル）Ｖｒのデータに設定する。つまり、加速度−電圧変換部２２３は、回転加速度α＊に応じて、電圧レベルＶｕ，Ｖａ，Ｖｒのデータのうちいずれかのデータを、電圧生成部２２４に出力する。
【００４０】
なお、以下の説明において、便宜上、電圧レベルＶｕを等速電圧レベル、電圧レベルＶａを加速電圧レベル、電圧レベルＶｒを減速電圧レベルという場合がある。
【００４１】
電圧生成部２２４は、入力した電圧レベルデータとなる電圧レベルの直流電圧を生成して、駆動電圧／周波数制御部２２９に出力する。
【００４２】
即ち、加速度−電圧変換部２２３及び電圧生成部２２４の一連の動作により、回転加速度α＊が閾値Ｔｈ１を下回り、かつ閾値Ｔｈ２を上回る場合には電圧レベルＶｕに設定され、回転加速度α＊が閾値Ｔｈ１を上回る場合には電圧レベルＶａに設定される。また、回転加速度α＊が閾値Ｔｈ２を下回る場合には電圧レベルＶｒに設定される（電圧レベル設定工程）。
【００４３】
駆動電圧／周波数制御部２２９は、電圧レベルＶｕ，Ｖａ，Ｖｒのうちいずれか１つの電圧レベルに設定された直流電圧の入力を受けて、当該電圧レベルとなる交流電圧を超音波モータ２０１に印加する。
【００４４】
電圧レベルＶｕ，Ｖａ，Ｖｒは、例えば１３［Ｖ］，１７［Ｖ］，１０［Ｖ］に設定される。
【００４５】
一方、差分演算部２２５は、位置指令ｐ＊と、エンコーダ２０２により検出された超音波モータ２０１の回転子の回転位置（フィードバック値）ｐとの差分（ｐ＊−ｐ）を演算し、ＰＩＤ部２２６へ出力する。
【００４６】
ＰＩＤ部２２６は、差分（ｐ＊−ｐ）とその積分及び微分の３つの要素の割合によって制御量を変える古典制御理論を用いるＰＩＤ制御により、超音波モータ２０１の回転子に要求される回転数Ｎを算出する。つまり、ＰＩＤ部２２６は、差分（ｐ＊−ｐ）に基づいて超音波モータ２０１に対する回転数を求める（回転数生成工程）。
【００４７】
Ｎ−Ｆ変換部２２７は、記憶部２１２（図２）に予め記憶されているテーブルＴを用い、電圧レベルＶｕ，Ｖａ，Ｖｒ及び回転数Ｎに応じて、駆動電圧／周波数制御部２２９にて設定する交流電圧の周波数Ｆのデータを求める。
【００４８】
テーブルＴは、印加する駆動電圧の周波数Ｆに対する超音波モータの回転出力の関係を纏めたテーブルである。具体的に説明すると、テーブルＴは、回転数Ｎと周波数Ｆとを対応付けたテーブルであり、電圧レベルごとに複数用意されている。
【００４９】
図５は、テーブルの一例を示す説明図である。本実施形態では、３つの電圧レベルがあるので、テーブルＴとして、３つの電圧レベルに対応する３つのテーブルＴＡ，ＴＢ，ＴＣが用意されている。
【００５０】
Ｎ−Ｆ変換部２２７は、等速電圧レベルＶｕに設定しているとき、等速電圧レベルＶｕに対応するテーブルＴＡを用いて、周波数Ｆのデータをカウンタ部２２８に出力する。また、Ｎ−Ｆ変換部２２７は、加速電圧レベルＶａに設定しているとき、加速電圧レベルＶａに対応するテーブルＴＢを用いて、周波数Ｆのデータをカウンタ部２２８に出力する。また、Ｎ−Ｆ変換部２２７は、減速電圧レベルＶｒに設定しているとき、減速電圧レベルＶｒに対応するテーブルＴＣを用いて、周波数Ｆのデータをカウンタ部２２８に出力する。
【００５１】
例えば、電圧レベルＶｕで、８００［ｒｐｍ］（rotate  per  minutes）の回転数が必要なときは、Ｎ−Ｆ変換部２２７は、３７．５［ｋＨｚ］の周波数のデータをカウンタ部２２８に出力する。
【００５２】
ここで、Ｎ−Ｆ変換部２２７は、電圧レベルのデータ値による判定でテーブルの選択をしてもよいが、本実施形態では、回転加速度α＊について、加速度−電圧変換部２２３と同じ閾値Ｔｈ１，Ｔｈ２を用いて閾値判定により、使用するテーブルの選択をする。
【００５３】
具体的には、Ｎ−Ｆ変換部２２７は、回転加速度α＊が、閾値Ｔｈ１を下回り、かつ閾値Ｔｈ２を上回る場合には、テーブルＴＡを用いて周波数Ｆのデータをカウンタ部２２８に出力する。また、Ｎ−Ｆ変換部２２７は、回転加速度α＊が、閾値Ｔｈ１を上回る場合には、テーブルＴＢを用いて周波数Ｆのデータをカウンタ部２２８に出力する。また、Ｎ−Ｆ変換部２２７は、回転加速度α＊が、閾値Ｔｈ２を下回る場合には、テーブルＴＣを用いて周波数Ｆのデータをカウンタ部２２８に出力する。
【００５４】
つまり、Ｎ−Ｆ変換部２２７は、回転加速度α＊が、電圧レベルＶｕを設定する値と同じ値であれば、テーブルＴＡを用いて周波数Ｆのデータをカウンタ部２２８に出力する。また、Ｎ−Ｆ変換部２２７は、回転加速度α＊が、電圧レベルＶａを設定する値と同じ値であれば、テーブルＴＢを用いて周波数Ｆのデータをカウンタ部２２８に出力する。また、Ｎ−Ｆ変換部２２７は、回転加速度α＊が、電圧レベルＶｒを設定する値と同じ値であれば、テーブルＴＣを用いて周波数Ｆのデータをカウンタ部２２８に出力する。
【００５５】
図５に示すように、各テーブルＴＡ，ＴＢ，ＴＣでは、回転数Ｎが大きくなるほど周波数Ｆが小さくなるように対応付けされている。加速する際には、徐々に回転数が増加するが、それに対応して、周波数Ｆが徐々に小さくなり、加速の際の回転動作が安定する。減速する際も、徐々に回転数が減少するが、それに対応して、周波数Ｆが徐々に大きくなり、減速の際の回転動作が安定する。そして、テーブル間においては、同じ回転数Ｎでも、電圧レベルのデータ値が高いほど、周波数Ｆのデータ値が高くなるように設定されている。
【００５６】
したがって、Ｎ−Ｆ変換部２２７は、電圧レベルのデータ値が高くなるほど、高い値の周波数Ｆのデータをカウンタ部２２８に出力する。
【００５７】
具体例を挙げて説明すると、図４における期間１から加速する期間２に切り替わる場合においては、電圧レベルは、電圧レベルＶｕから、これよりも高い電圧レベルＶａに切り替わる。その際、Ｎ−Ｆ変換部２２７は、回転数が急激に変化するのを抑えるために、テーブルＴを、テーブルＴＡからテーブルＴＢへ変更することにより、周波数Ｆのデータの値を高くする。これにより、回転数の急激な変化が抑えられ、回転数のオーバーシュートの発生が抑制される。
【００５８】
逆に、減速する期間４では、電圧レベルを電圧レベルＶｕからこれよりも低い電圧レベルＶｒへ切り替える。その際、Ｎ−Ｆ変換部２２７は、回転数が急激に変化するのを抑えるために、テーブルＴを、テーブルＴＡからテーブルＴＣへ変更することにより、周波数Ｆのデータの値を低くする。これにより、回転数の急激な変化が抑えられる。
【００５９】
詳述すると、ロボット１００を用いて小型高精度の製品を加工する場合、製品の小型高精度化に伴い、製品自体は軽いものの、ロボットハンド１０２に要求されるメカ精度は厳しくなる。従って、ワークＷｏは軽いが、メカ精度を上げるためにロボットハンド１０２は重くなる。その結果、ロボットハンド１０２を回転させる超音波モータ２０１は、加工等を行う際の負荷よりも、ロボットハンド１０２を回転させるのに必要な慣性モーメントの影響を大きく受ける。結果として、タクトタイムを上げるために必要回転に達する時間を小さくしようとする場合、慣性モーメントが大きいと、加減速時の超音波モータ２０１の出力が必要となる。
【００６０】
超音波モータ２０１の場合、加速時はトルクを必要とするが、減速時はもともと摩擦駆動であるため、電圧レベルを下げると、回転数が下がり、駆動をやめると最大トルクがかかったまま停止する。
【００６１】
減速する期間４では電圧レベルを電圧レベルＶｒに下げることにより、超音波モータ２０１の出力は下がる。したがって、Ｎ−Ｆ変換部２２７は、テーブルをテーブルＴＡからテーブルＴＣへ変更することで周波数Ｆを下げている。これにより、急激な回転数の変化が起こらないよう制御される。
【００６２】
このようにして加減速の状態により、駆動周波数を決定するテーブルＴを切り替えることにより、超音波モータ２０１の出力が急激に変化し、オーバーシュートしないよう制御する。加速する期間２から等速となる期間３へ切り替わる際も同様である。なお、期間１，５では、電圧レベルＶｕに設定される。そして、テーブルＴＡを用いて回転数０に対応する駆動周波数が設定されるが、設定された駆動周波数が共振周波数から離れるように設定され、モータ速度が０となる。具体的には、図４に示すように、期間１，５における駆動周波数が、期間３における駆動周波数よりも共振周波数から離れるように高く設定される。
【００６３】
次に、テーブルＴＡ、テーブルＴＢ、テーブルＴＣの関係について更に詳細に説明する。
【００６４】
加速時に駆動電圧の電圧レベルを電圧レベルＶｕから電圧レベルＶａにすることにより、超音波モータ２０１の出力が１倍より大きく、１０倍以下（例えば２倍）になる。この場合、その時の周波数制御による過渡的な出力の上昇を抑えるためにテーブルＴＡからテーブルＴＢへ切り替えることにより、超音波モータ２０１の出力が制御信号に対し０．１倍以上１倍未満（例えば０．５倍）になるように設定する。こうすることにより、駆動電圧の上昇による出力の急激な上昇を過渡的に打ち消すようにする。具体的にはテーブルＴＡに対しテーブルＴＢは回転数に対する駆動周波数を高く、逆にテーブルＴＡに対しテーブルＴＣは回転数に対し駆動周波数を低くするような値に設定する。
【００６５】
このとき、大きな超音波モータ２０１の出力を得たい場合は、周波数制御により周波数を下げることにより超音波モータ２０１の出力が大きくなるように制御する。
【００６６】
テーブルＴＡからテーブルＴＢへ切り替えた場合の超音波モータ２０１の出力は、テーブルＴＡによる超音波モータ２０１の出力を１とすると、０．１倍以上１倍未満（例えば０．５倍）となるように調整する。このままでは、超音波モータ２０１の出力は変わらないが、出力が不足する場合、ＰＩＤ部２２６が徐々に高い回転数を要求して、必要な出力を得る。このように制御することにより、電圧切替時の急激な出力変化によるオーバーシュートを抑制する。
【００６７】
一方、減速時に駆動電圧を電圧レベルＶｕから電圧レベルＶｒに制御する際、超音波モータ２０１の出力を例えば０．１倍以上１倍未満の例えば０．５倍にする。その時の周波数制御による過渡的な出力の下降を抑えるために、Ｎ−Ｆ変換部２２７はテーブルをテーブルＴＡからテーブルＴＣへ切り替える。
【００６８】
テーブルＴＣはテーブルＴＡに対し、入力データに対する超音波モータ２０１の出力の関係を１倍より大きく１０倍以下（例えば２倍）に設定し、駆動電圧の下降による出力の急激な減少を過渡的に打ち消すようにする。このままでは、超音波モータ２０１の出力は変わらないが、出力が過剰となる場合、ＰＩＤ部２２６が徐々に低い回転数を要求して必要な出力を得る。
【００６９】
つまり、加速電圧レベルＶａは、超音波モータ２０１の出力が、等速電圧レベルＶｕによる超音波モータ２０１の出力に対し、１倍より大きく１０倍以下となるように設定する。また、減速電圧レベルＶｒは、超音波モータ２０１の出力が、等速電圧レベルＶｕによる超音波モータ２０１の出力に対し、０．１倍以上１倍未満となるように設定する。
【００７０】
また、テーブルＴＡによって決定される周波数で駆動する超音波モータ２０１の出力に対し、テーブルＴＢによって決定される周波数で駆動する超音波モータ２０１の出力の比率が０．１倍以上１倍未満である。また、テーブルＴＡによって決定される周波数で駆動する超音波モータ２０１の出力に対し、テーブルＴＣによって決定される周波数で駆動する超音波モータ２０１の出力の比率が１倍より大きく、１０倍以下である。
【００７１】
このように制御することにより電圧切替によるオーバーシュートを制御し、図４に示すように、ロボット１００に要求される超音波モータ２０１の出力Ｗ＊と同等な本実施形態による超音波モータ２０１の出力Ｗを得る。
【００７２】
カウンタ部２２８は、周波数Ｆのデータから周波数Ｆを持った波形の信号へ変換し、周波数信号を駆動電圧／周波数制御部２２９へ出力する。
【００７３】
駆動電圧／周波数制御部２２９は、電圧生成部２２４からの電圧レベルＶｕ，Ｖａ，Ｖｒのうちいずれか１つの電圧レベルの直流電圧を入力し、カウンタ部２２８からの周波数信号を入力する。そして、駆動電圧／周波数制御部２２９は、入力した直流電圧を周波数信号に基づいてスイッチングして、電圧レベルＶｕ，Ｖａ，Ｖｒのうちいずれか１つの電圧レベルとなる、周波数信号の周波数の交流電圧を、超音波モータ２０１に出力する。
【００７４】
即ち、Ｎ−Ｆ変換部２２７、カウンタ部２２８及び駆動電圧／周波数制御部２２９の一連の動作により、電圧レベルＶｕ，Ｖａ，Ｖｒ及び回転数Ｎに応じて、超音波モータ２０１へ出力する交流電圧の周波数Ｆを設定する（周波数設定工程）。このとき、Ｎ−Ｆ変換部２２７の動作により、駆動電圧／周波数制御部２２９は、電圧レベルが高いほど、超音波モータ２０１へ出力する交流電圧の周波数Ｆを高く設定する。
【００７５】
Ｎ−Ｆ変換部２２７では、設定した電圧レベルＶｕ，Ｖａ，Ｖｒに対応するテーブルＴＡ，ＴＢ，ＴＣを用いて周波数Ｆのデータを設定する。カウンタ部２２８が周波数データに対応する周波数信号を生成し、当該周波数信号を入力した駆動電圧／周波数制御部２２９が超音波モータ２０１へ出力する交流電圧の周波数Ｆを設定する。
【００７６】
図６は、電圧生成部２２４の構成を示す回路図である。図６に示すように、電圧生成部２２４は、Ｄ／Ａコンバータ２３１と、演算増幅器２３２と、ゲイン調整抵抗器２３３と、電流出力バッファ２３４と、電流出力バッファ用電源２３５と、を有する。
【００７７】
Ｄ／Ａコンバータ２３１は、加速度−電圧変換部２２３からの電圧レベルのデータ、例えば１０ビットデジタルの電圧データを０〜２［Ｖ］程度のアナログ電圧へ変換する。
【００７８】
超音波モータ２０１を駆動するための電圧は２０［Ｖ］程度と大きいため、Ｄ／Ａコンバータ２３１の出力は、演算増幅器２３２により増幅され、０〜２０［Ｖ］の電圧が得られる。
【００７９】
演算増幅器２３２のゲインは、ゲイン調整抵抗器２３３で設定される。演算増幅器２３２の電圧は超音波モータ２０１を駆動するのに十分であるが、超音波モータ２０１を駆動するには数アンペア程度の電流が必要となるため、演算増幅器２３２の出力に電流出力バッファ２３４が接続されている。
【００８０】
電流出力バッファ２３４は、例えばＰＮＰ、ＮＰＮのトランジスタを用いて構成する。電流出力バッファ２３４には電流出力可能な、電流出力バッファ用電源２３５が接続されている。
【００８１】
電圧生成部２２４では、このようにして加速度−電圧変換部２２３からの電圧レベルのデータを、超音波モータ２０１を駆動できる電圧レベルの直流電圧へ変換して、出力部２３６から駆動電圧／周波数制御部２２９へ直流電圧を出力する。
【００８２】
図７は、カウンタ部２２８の構成を示す回路図である。カウンタ部２２８は、基準駆動クロック生成カウンタ２４１と、アンドゲート２４２と、駆動クロック生成カウンタ２４３と、フリップフロップ２４４と、を有する。
【００８３】
基準駆動クロック生成カウンタ２４１は、例えば１００［ＭＨｚ］の基準クロックを入力する４ビットカウンタで、Ｑ１からＱ４はそれぞれＱ１が２０、Ｑ２が２１、Ｑ３が２２、Ｑ４が２３カウントで出力される。例えばこのカウンタ２４１を４段組み合わせることにより、１６ビットのカウンタを形成する。カウンタ２４１の出力は、アンドゲート２４２に入力され、Ｎ−Ｆ変換部２２７からの周波数のデータと、カウンタ２４１の出力とのアンドを取り、Ｎ−Ｆ変換部２２７からの周波数データと等しいとき出力が反転する。従って、Ｎ−Ｆ変換部２２７からの周波数データと等しい周波数の信号を出力する。
【００８４】
アンドゲート２４２の出力は、駆動基準クロックとして使用する。この駆動基準クロックは駆動クロック生成カウンタ２４３のクロック入力に入力される。駆動クロック生成カウンタ２４３は駆動基準クロックを２分周した駆動クロックを出力する。
【００８５】
図８は、カウンタ部２２８の各部の信号を示す波形図である。図８に示す基準クロックＣＬＫ０は、基準駆動クロック生成カウンタ２４１により駆動基準クロックＣＬＫ１に変換される。駆動クロック生成カウンタ２４３は、駆動基準クロックＣＬＫ１を２分周し、駆動クロックＣＬＫ２を生成する。フリップフロップ２４４は、駆動クロックＣＬＫ２を駆動基準クロックＣＬＫ１によりシフトする回路で、１クロックずれたＡ相制御信号ＳＡ、Ｂ相制御信号ＳＢを生成する。このようにして、超音波モータ（ＵＳＭ）を駆動するための９０度位相のずれたＡ相制御信号ＳＡとＢ相制御信号ＳＢを得る。制御信号ＳＡ，ＳＢは、駆動電圧／周波数制御部２２９へ出力される。
【００８６】
図９は、駆動電圧／周波数制御部２２９の構成を示す回路図である。駆動電圧／周波数制御部２２９は、レベルシフタ２５１と、バッファ２５２と、ＰチャンネルのＭＯＳＦＥＴ２５４と、ＮチャンネルのＭＯＳＦＥＴ２５５と、を有している。レベルシフタ２５１は、カウンタ部２２８からのデジタル信号を、ＭＯＳＦＥＴ２５４，２５５を駆動できる電圧レベルへ変換する。バッファ２５２は、レベルシフタ２５１の出力をＭＯＳＦＥＴ２５４，２５５のゲート容量を駆動できる電流レベルへ引き上げる。ＭＯＳＦＥＴ２５４，２５５は、半導体スイッチング素子である。ＰチャンネルのＭＯＳＦＥＴ２５４には、電圧生成部２２４で生成した電圧が印加される配線２５３に接続される。
【００８７】
駆動電圧／周波数制御部２２９の各部の動作について説明する。ＰチャンネルのＭＯＳＦＥＴ２５４には、電圧生成部２２４からの例えば２０［Ｖ］の電圧が印加される。ＰチャンネルのＭＯＳＦＥＴ２５４のゲートを駆動するのに必要な電圧は、例えば２０［Ｖ］〜１５［Ｖ］であり、レベルシフタ２５１はゲート電圧が２０［Ｖ］〜１５［Ｖ］になるように入力電圧をシフトすると共に、必要に応じて信号の極性を反転させる。
【００８８】
高出力ＭＯＳＦＥＴのゲート容量（静電容量）は例えば数１００［ｐＦ］となるため、レベルシフタ２５１とＰチャンネルのＭＯＳＦＥＴ２５４のゲートとの間には、バッファ２５２が設けられている。
【００８９】
同様にしてＮチャンネルのＭＯＳＦＥＴ２５５についてもレベルシフタ２５１、バッファ２５２を用いて駆動し、その結果、電圧、電流共に超音波モータ２０１を駆動できる出力が得られる。
【００９０】
本実施形態では、カウンタ部２２８のＡ相制御信号、Ｂ相制御信号の各信号に対し、図９の駆動電圧／周波数制御部２２９を１つずつ用いる。
【００９１】
このようにして、ロボット１００の超音波モータ２０１に要求される出力Ｗ＊（図４）と同じプロファイルを持つ本実施形態による超音波モータ２０１の出力Ｗを得られる。その結果、理想的な損失−本実施形態の損失は最小となる。
【００９２】
以上、本実施形態によれば、制御部２０３は、求めた回転加速度α＊が閾値Ｔｈ１を上回る場合、超音波モータ２０１に印加する交流電圧の電圧レベルを電圧レベルＶａに設定している。これにより超音波モータ２０１の回転子の回転の加速時に充分なトルクが得られ、超音波モータ２０１の回転数を必要とする回転数に迅速に到達させることができる。したがって、加速期間における所要時間を短縮することができ、タクトタイムを短縮することができる。
【００９３】
また、制御部２０３は、求めた回転加速度α＊が閾値Ｔｈ２を下回る場合、超音波モータ２０１に印加する交流電圧の電圧レベルを電圧レベルＶｒに設定している。これにより、超音波モータ２０１の回転子の回転を迅速に減速することができ、減速期間における所要時間を短縮することができ、タクトタイムを短縮することができる。
【００９４】
更に、制御部２０３は、回転加速度α＊が閾値Ｔｈ１を下回り、かつ閾値Ｔｈ２を上回る場合、超音波モータ２０１に印加する交流電圧の電圧レベルを電圧レベルＶａよりも低い電圧レベルＶｕに設定している。従って、従来のように等速期間３で加速に必要な電圧レベルを維持する場合に比べ、電力の消費が減り、超音波モータ２０１における損失、つまり発熱量が減少する。本実施形態によれば、投入電力を駆動時の負荷により増減できるため、超音波モータ２０１の損失を理想的なものにできる。その結果、超音波モータ２０１の発熱を低減できるため、超音波モータ２０１の出力低下が最小となり、小さな超音波モータ２０１で高出力が得られる。
【００９５】
また、本実施形態によれば、制御部２０３は、設定した電圧レベルＶｕ，Ｖａ，Ｖｒと、ＰＩＤ制御により求めた回転数Ｎに応じて、超音波モータ２０１に印加する交流電圧の周波数Ｆを設定している。その際、電圧レベルが高いほど（低いほど）、周波数Ｆを高く（低く）設定しているので、電圧レベルが変化する際の超音波モータ２０１の回転数がオーバーシュートするのを抑制することができる。
【００９６】
また、周波数Ｆを設定するのに、テーブルＴを用いているので、制御が簡易になり、迅速に交流電圧の周波数Ｆを設定変更することができ、超音波モータ２０１の回転数のオーバーシュートをより効果的に抑制することができる。
【００９７】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
【００９８】
上記実施形態では、電圧レベルの設定を、回転加速度の閾値判定により行う場合について説明したが、これに限定するものではなく、回転加速度に対応して連続的又は段階的に電圧レベルを変更するようにしてもよい。その際、回転加速度が大きくなる（小さくなる）ほど、電圧レベルを大きく（小さく）すればよい。
【符号の説明】
【００９９】
１００…ロボット、１０１…ロボットアーム、１０２…ロボットハンド、２００…モータ装置、２０１…超音波モータ、２０２…エンコーダ（検出部）、２０３…制御部
【図１】
2015116074.tif 000003
【図２】
2015116074.tif 000004
【図３】
2015116074.tif 000005
【図４】
2015116074.tif 000006
【図５】
2015116074.tif 000007
【図６】
2015116074.tif 000008
【図７】
2015116074.tif 000009
【図８】
2015116074.tif 000010
【図９】
2015116074.tif 000011
【図１０】
2015116074.tif 000012