(57)【要約】【課題】ロボットの動作精度を向上する目的で、サーボモータのエンコーダの高分解能化が図られると、多ビット化されたデータの取得に要するメモリ領域が必要となり、領域を分けて保持し、さらに取得処理を増やす必要があり、コストアップそして制御性能を低下してしまう。【解決手段】モータと、モータの回転位置を検出するエンコーダと、エンコーダで検出された位置データをカウントする位置カウンタと、位置カウンタの位置データを保持する位置カウンタ用保持部と、一定時間毎にパルスを発生するクロックパルス発生部と、クロックパルスをカウントするタイマカウンタと、カウントされたタイマデータを保持するタイマカウンタ用保持部と、位置データとタイマデータから速度を算出する演算部と、位置データを必要な領域に設定するデータ格納領域設定部を備え、モータの速度に応じて必要な位置データの領域を変更する。【選択図】図１
2014185954.tif 000002
【特許請求の範囲】
【請求項１】
モータの速度制御を行う速度制御装置であって、
前記モータの回転位置を検出して位置データを出力するエンコーダと、
前記エンコーダが出力する位置データを格納する位置データ格納部と、
前記位置データ格納部が格納した位置データのうち所定の範囲の位置データを出力するデータ格納範囲設定部と、
前記データ格納範囲設定部が出力した所定の範囲の位置データを保持する位置データ保持部と、
クロックパルスを発生するクロックパルス発生部と、
前記クロックパルス発生部が発生したクロックパルスをカウントしてタイマデータを出力するタイマカウンタと、
前記タイマカウンタが出力したタイマデータを保持するタイマカウンタ用保持部と、
前記位置データ保持部が保持している位置データと前記タイマカウンタ用保持部が保持しているタイマデータに基づいてモータの回転速度を算出する演算部と、
前記演算部が算出したモータの回転速度に基づいて前記データ格納範囲設定部が出力する所定の範囲の位置データの所定の範囲を変更する制御部と、
を備えた速度制御装置。
【請求項２】
位置データ保持部が保持可能な位置データのビット数は、エンコーダが出力するモータ一回転分の位置データのビット数よりも少ない請求項１記載の速度制御装置。
【請求項３】
制御部は、モータの回転速度が低速の場合は下位ビット側の位置データが出力されるように所定の範囲を変更し、モータの回転速度が高速になるに従って上位ビット側の位置データが出力されるように前記所定の範囲を変更する請求項１または２記載の速度制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の速度制御装置を備えた電気機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アブソリュートエンコーダを搭載したサーボモータを有する産業用ロボット等の電気機器の速度制御装置に関する。
【背景技術】
【０００２】
近年、産業用ロボット等の電気機器は、高分解能化されたアブソリュートエンコーダを搭載したサーボモータにより制御されるようになってきている。
【０００３】
従来、産業用ロボット等の電気機器は、サーボモータの速度制御を行うために、速度制御装置を設けている。この速度制御装置は、速度制御周期毎にサーボモータの速度を検出して演算部にフィードバックすることで、サーボモータの速度制御を行っている（例えば、特許文献１参照）。
【０００４】
ここで、従来の速度算出装置について、図３を用いて説明する。まず、エンコーダ２は、モータ１の回転量に応じてモータ１の回転位置を検出する。エンコーダ２は、検出した回転位置をシリアルデータの位置データとして位置データ格納部３へ出力する。位置データ格納部３は、その位置データを格納し、位置データ保持部４へ出力する。なお、位置データ格納部３は、シリアルデータをパラレルデータに変換して所定ビット数の位置データを格納するものである。また、位置データ保持部４は、位置データ格納部３から入力した所定ビットの位置データを所定期間保持するものである。
【０００５】
また、クロックパルス発生部５は、一定時間毎に、クロックパルスを、タイマカウンタ６に出力する。タイマカウンタ６は、クロックパルスが入力される毎に所定値までカウントし、このカウント値が所定値に達したらリセットすることを繰り返しながら、クロックパルスをカウントし続ける。そして、タイマカウンタ６は、カウントした値をタイマデータとして常にタイマカウンタ用保持部７へ出力する。なお、タイマカウンタ用保持部７は、入力したタイマデータを所定期間保持するものである。
【０００６】
次に、演算部８は、速度制御周期毎に、位置データ更新許可を位置データ保持部４に対して行う。位置データ保持部４は、位置データ更新許可の時、位置データの保持が完了する毎にタイマカウンタ用保持部７にデータ保持信号を出力する。位置データ保持部４からデータ保持信号を受信したタイマカウンタ用保持部７は、タイマデータを保持する。さらに、演算部８は、位置データを取得するタイミングの前に位置データ更新許可を不可にし、その後、位置データ保持部４から位置データを取得し、また、タイマカウンタ用保持部７からタイマデータを取得する。そして、各データの取得後、演算部８は、再度、位置データ保持部４に対して位置データ更新許可とする。
【０００７】
そして、演算部８は、タイマカウンタ６のリセットの周期よりも小さな時間間隔（速度周期）で位置データやタイマデータを取得するために、演算部８が制御しているデータバスを通じて各データを取り込む。図４に、この一連の取得のタイミングの例を示す。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平４−０９００１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、従来のサーボモータを制御するための速度制御装置は、以下のような課題がある。なお、図５を用いてこの課題について説明する。ここで、図５（ａ）は、位置データ格納部３から出力された位置データを示す図である。図５（ｂ）は、位置データ保持部４の下位用のレジスタの格納ビットを示す図である。図５（ｃ）は、位置データ保持部４の上位用のレジスタの格納ビットを示す図である。
【００１０】
図５に示すように、例えば１回転の位置情報を２３ビットで出力する高分解能なエンコーダ２が出力するモータの位置データを、格納領域が１６ビットであり２３ビットよりも少ない位置データ保持部４に取得するには、位置データの格納領域を上位と下位に分けて、位置データ保持部４の中の２つのレジスタに保持し、複数回に分けて取得しなければならない。
【００１１】
このように、サーボモータのエンコーダの高分解能化が図られると、多ビット化されたデータの取得に要するメモリ領域が必要となり、領域を分けて保持し、さらに取得処理を増やす必要があり、コストアップや制御性能を低下してしまうといった課題を有していた。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の速度制御装置は、モータの速度制御を行う速度制御装置であって、前記モータの回転位置を検出して位置データを出力するエンコーダと、前記エンコーダが出力する位置データを格納する位置データ格納部と、前記位置データ格納部が格納した位置データのうち所定の範囲の位置データを出力するデータ格納範囲設定部と、前記データ格納範囲設定部が出力した所定の範囲の位置データを保持する位置データ保持部と、クロックパルスを発生するクロックパルス発生部と、前記クロックパルス発生部が発生したクロックパルスをカウントしてタイマデータを出力するタイマカウンタと、前記タイマカウンタが出力したタイマデータを保持するタイマカウンタ用保持部と、前記位置データ保持部が保持している位置データと前記タイマカウンタ用保持部が保持しているタイマデータに基づいてモータの回転速度を算出する演算部と、前記演算部が算出したモータの回転速度に基づいて前記データ格納範囲設定部が出力する所定の範囲の位置データの所定の範囲を変更する制御部と、を備えたものである。
【００１３】
また、本発明の速度制御装置は、上記に加えて、位置データ保持部が保持可能な位置データのビット数は、エンコーダが出力するモータ一回転分の位置データのビット数よりも少ないものである。
【００１４】
また、本発明の速度制御装置は、上記に加えて、制御部は、モータの回転速度が低速の場合は下位ビット側の位置データが出力されるように所定の範囲を変更し、モータの回転速度が高速になるに従って上位ビット側の位置データが出力されるように前記所定の範囲を変更するものである。
【００１５】
また、本発明の電気機器は、上記速度制御装置を備えたものである。
【発明の効果】
【００１６】
以上のように、本発明は、モータの回転速度に応じて、位置データ保持部に保持する位置データの領域を可変することにより、制御精度を維持するために必要な位置データを取得することができる。そして、モータの制御精度を損なうこと無く、限られた格納領域の位置データ保持部に位置データを保持し、モータの速度制御を行うことができる。
【００１７】
また、様々に高分解能なエンコーダを有するモータを使用する場合でも、速度制御装置の構成を変更することなくモータを使用でき、モータの速度制御を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１における速度制御装置の概略構成を示す図
【図２】（ａ）本発明の実施の形態１における低速時の位置データ格納部から出力された位置データを示す図（ｂ）本発明の実施の形態１における低速時の位置データ保持部のレジスタの格納ビットを示す図（ｃ）本発明の実施の形態１における高速時の位置データ格納部から出力された位置データを示す図（ｄ）本発明の実施の形態１における高速時の位置データ保持部のレジスタの格納ビットを示す図
【図３】従来の速度制御装置の概略構成を示す図
【図４】位置データやタイマカウンタの取得タイミング等を示すタイミングチャート
【図５】（ａ）従来の位置データ格納部から出力された位置データを示す図（ｂ）従来の位置データ保持部の下位用のレジスタの格納ビットを示す図（ｃ）従来の位置データ保持部の上位用のレジスタの格納ビットを示す図
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態１について、図１と図２を用いて説明する。
【００２０】
（実施の形態１）
図１は、本実施の形態１における速度制御装置の概略構成を示す図である。なお、速度制御装置は、例えば電気機器の一例である産業用ロボットの制御装置内に設けられる。
【００２１】
図２は、速度制御装置の位置データを取得する方法を説明するための図である。なお、図２（ａ）は、低速時の位置データ格納部から出力された位置データを示す図である。図２（ｂ）は、低速時の位置データ保持部のレジスタの格納ビットを示す図である。図２（ｃ）は、高速時の位置データ格納部から出力された位置データを示す図である。図２（ｄ）は、高速時の位置データ保持部のレジスタの格納ビットを示す図である。
【００２２】
図１において、エンコーダ２は、モータ１の回転量に基づいて、エンコーダ２の分解能に応じた位置データを出力する。位置データ格納部３は、エンコーダ２から出力された位置データを格納し、モータ１の回転量を求めるための位置データとして出力する。位置データ保持部４は、データ格納領域設定部９を介して、位置データ格納部３が出力した位置データのうち所定の範囲の位置データを入力する。なお、位置データ格納部３は、シリアルデータをパラレルデータに変換して所定ビット数の位置データを格納するものである。また、位置データ保持部４は、データ格納領域設定部９から入力した所定ビット数の位置データを所定時間保持するものである。
【００２３】
クロックパルス発生部５は、一定時間毎にクロックパルスを出力する。タイマカウンタ６は、位置データを取得する時間間隔を測定するため、クロックパルス発生部５が出力するクロックパルスの入力回数をカウントする。タイマカウンタ６は、カウントした値をタイマデータとしてタイマカウンタ用保持部７へ出力する。
【００２４】
演算部８は、制御周期毎に、位置データ更新許可を位置データ保持部４に対して行う。位置データ保持部４は、位置データ更新許可の時、位置データの保持が完了する毎に、タイマカウンタ用保持部７に対してデータ保持信号を出力する。タイマカウンタ用保持部７は、位置データ保持部４からのデータ保持信号に基づいてタイマデータを保持する。さらに、演算部８は、位置データを取得するタイミングで位置データ更新許可を不可にし、その後、位置データ保持部４から位置データを取得し、また、タイマカウンタ用保持部７からタイマデータを取得する。そして、各データの取得後、演算部８は、再度、位置データ保持部４に対して位置データ更新許可とする。
【００２５】
なお、演算部８は、タイマカウンタ６のリセットの周期よりも小さな時間間隔（速度周期）で、位置データやタイマデータを取得するために、演算部８が制御しているデータバスを通じて各データを取り込む。
【００２６】
演算部８は、位置データ保持部４とタイマカウンタ用保持部７から取得した各データの、一回前に取得した値と今回取得した値との差分値を求め、モータの回転速度Ｖｍを下記（式１）により算出する。
【００２７】
Ｖｍ＝（（今回の位置データ）−（一回前の位置データ））×Ｐ／（（今回のタイマデータ）−（一回前のタイマデータ））×Ｔ    （式１）
ここで、Ｖｍは１秒間のモータ回転数である。Ｐはエンコーダの分解能とモータ回転角との関係を示す定数である。Ｔはクロックパルス周期の逆数である。
【００２８】
ここで、図２を用いて、本実施の形態１の速度制御装置の位置データを取得する方法について説明する。なお、図２（ａ）は、低速時の位置データ格納部３から出力された位置データを示す図である。図２（ｂ）は、低速時の位置データ保持部４のレジスタの格納ビットを示す図である。図２（ｃ）は、高速時の位置データ格納部３から出力された位置データを示す図である。図２（ｄ）は、高速時の位置データ保持部４のレジスタの格納ビットを示す図である。
【００２９】
図２に示すように、モータ１回転に対するエンコーダ２の分解能が２３ビットであるのに対し、位置データ保持部４のレジスタの格納領域が１６ビットである場合について考える。この場合、モータ１回転に対するエンコーダ２の分解能のビット数よりも位置データ保持部４の格納領域のビット数が少ないため、位置データ保持部４は、モータ１回転分の位置データを格納することができない。そのため、演算部８は、データ格納領域設定部９に対して、位置データの格納開始ビットを設定する。すなわち、演算部８は、位置データ保持部４に記憶する位置データの所定の範囲を設定する。なお、演算部８は、演算部８で算出したモータの回転速度に基づいて格納開始ビットを設定する。
【００３０】
データ格納領域設定部９は、位置データ格納部３から出力される位置データを、演算部８によって設定された位置データの格納開始ビットから１６ビット分を位置データ保持部４に出力する。そして、位置データ保持部４は、データ格納領域設定部９から出力された位置データを格納する。すなわち、位置データ保持部４は、位置データ格納部３が出力する２３ビットの位置データのうち、ある所定の範囲の１６ビットの位置データを格納する。
【００３１】
ここで、演算部８で算出したモータ１の回転速度が低速の場合、１回転データのうち上位ビットは、モータ１を制御するうえで影響が少ない。そのため、演算部８は、図２（ａ）に示す位置データ格納部３が出力する２３ビットの位置データ（Ｓ０からＳ２２）のうち、図２（ｂ）に示すように下位０ビットから１５ビットまでの１６ビットの位置データ（Ｓ０からＳ１５まで）を位置データ保持部４のレジスタ（Ｄ０からＤ１５まで）が格納するように、データ格納領域設定部９を制御する。
【００３２】
そして、モータ１の回転速度が速くなるにつれて下位ビットの影響は少なくなる。従って、モータ１の回転速度が速くなるにつれて、位置データ保持部４が格納する位置データの格納領域、すなわち、２３ビットの位置データのうち位置データ保持部４が格納する位置データの範囲を、上位側にシフトしてくように、演算部８はデータ格納領域設定部９を制御する。そして、モータ１の回転速度が最高速度に達すると、演算部８は、図２（ｃ）に示す位置データ格納部３が出力する２３ビットの位置データ（Ｓ０からＳ２２）のうち、図２（ｄ）に示すように上位から１６ビット分の位置データ（Ｓ７からＳ２２まで）を位置データ保持部４のレジスタ（Ｄ０からＤ１５まで）が格納するように、データ格納領域設定部９を制御する。
【００３３】
このようにすることで、演算部８が算出するモータ１の回転速度の大きさに応じて、モータ１の速度制御に有用な位置データを位置データ保持部４が取得することができる。
【００３４】
以上のように、本実施の形態１によれば、位置データ格納部３が出力する２３ビットの位置データのうち、１６ビットの位置データが格納可能な位置データ保持部４に格納する１６ビットの位置データの範囲を、モータ１の回転速度に応じて可変することができる。これにより、モータ１の制御精度を損なうことなく、限られた格納領域の位置データ保持部４に位置データを保持して、モータ１を制御することができる。
【００３５】
また、電気機器に対して様々な高分解能のエンコーダ２を有するモータ１を使用する場合でも、特に、位置データ保持部４が格納可能な位置データのビット数よりも出力ビット数が多い高分解能のエンコーダ２を有するモータ１を使用する場合でも、速度制御装置の構成を変更することなく対応でき、モータ１の制御を行うことができる。
【産業上の利用可能性】
【００３６】
本発明は、速度制御装置の構成を変更することなく、また、位置データを取得するための制御処理時間を増加することなく、分解能が異なるエンコーダに柔軟に対応することができ、高分解能化するエンコーダを搭載したモータを制御する速度制御装置および速度制御装置を有する電気機器として産業上有用である。
【符号の説明】
【００３７】
１  モータ
２  エンコーダ
３  位置データ格納部
４  位置データ保持部
５  クロックパルス発生部
６  タイマカウンタ
７  タイマカウンタ用保持部
８  演算部
９  データ格納領域設定部
【図１】
2014185954.tif 000003
【図２】
2014185954.tif 000004
【図３】
2014185954.tif 000005
【図４】
2014185954.tif 000006
【図５】
2014185954.tif 000007