(58)【調査した分野】(Int.Cl.,DB名)
回転体の回転角度を検出するための位置データの信号を出力するエンコーダと、所定の周期で前記位置データの差分値である差分値データを生成する差分値データ生成部と、前記差分値データを分周または逓倍した分周逓倍データを生成する分周逓倍部と、前記分周逓倍データに基づいてA相信号、B相信号およびZ相信号を出力する信号出力部と、前記信号出力部が前記Z相信号を出力するタイミングを決める1回転分割数を前記信号出力部に設定するための設定データを生成する設定データ生成部とを備え、
MおよびNを1以上の整数とすると、
前記分周逓倍部は、前記差分値データを分周逓倍比N/Mで分周または逓倍した前記分周逓倍データを生成し、
前記信号出力部は、前記設定データをその内部に設定し、かつ、前記分周逓倍データの累積値が前記1回転分割数になると、前記Z相信号を出力するとともに前記分周逓倍データの累積値をリセットし、
前記1回転分割数は、前記回転体が1回転する間に前記エンコーダが前記位置データの信号として出力するパルスの数と前記分周逓倍比N/Mとの積であり、かつ、4の整数倍になっていることを特徴とするエンコーダ装置。
前記マイクロプロセッサから前記プログラマブルロジックデバイスへ送られる送信データには、前記送信データの内容を切り替えるための切替ビットが含まれていることを特徴とする請求項2記載のエンコーダ装置。
回転体の回転角度を検出するための位置データの信号を出力するエンコーダからの前記位置データに基づいて、A相信号、B相信号およびZ相信号を生成するエンコーダ装置の信号生成方法であって、
MおよびNを1以上の整数とすると、
所定の周期で前記位置データの差分値である差分値データを生成し、
前記差分値データを分周逓倍比N/Mで分周または逓倍した分周逓倍データを生成し、
前記分周逓倍データに基づいて前記A相信号および前記B相信号を生成し、かつ、前記分周逓倍データの累積値が前記Z相信号を出力するタイミングを決める1回転分割数になると、前記Z相信号を生成するとともに前記分周逓倍データの累積値をリセットし、
前記1回転分割数は、前記回転体が1回転する間に前記エンコーダが前記位置データの信号として出力するパルスの数と前記分周逓倍比N/Mとの積であり、かつ、4の整数倍になっていることを特徴とするエンコーダ装置の信号生成方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、エンコーダ装置の市場では、使い勝手の良いエンコーダ装置が要求されている。そこで、本発明の課題は、使い勝手を向上させることが可能なエンコーダ装置を提供することにある。また、本発明の課題は、エンコーダ装置の使い勝手を向上させることが可能となるエンコーダ装置の信号生成方法を提供することにある。
【課題を解決するための手段】
【0005】
上記の課題を解決するため、本発明のエンコーダ装置は、回転体の回転角度を検出するための位置データの信号を出力するエンコーダと、所定の周期で位置データの差分値である差分値データを生成する差分値データ生成部と、差分値データを分周または逓倍した分周逓倍データを生成する分周逓倍部と、分周逓倍データに基づいてA相信号、B相信号およびZ相信号を出力する信号出力部と、信号出力部がZ相信号を出力するタイミングを決める1回転分割数を信号出力部に設定するための設定データを生成する設定データ生成部とを備え、MおよびNを1以上の整数とすると、分周逓倍部は、差分値データを分周逓倍比N/Mで分周または逓倍した分周逓倍データを生成し、信号出力部は、設定データをその内部に設定し、かつ、分周逓倍データの累積値が1回転分割数になると、Z相信号を出力するとともに分周逓倍データの累積値をリセットし、1回転分割数は、回転体が1回転する間にエンコーダが位置データの信号として出力するパルスの数と分周逓倍比N/Mとの積であり、かつ、4の整数倍になっていることを特徴とする。
【0006】
本発明のエンコーダ装置では、分周逓倍部は、差分値データを分周逓倍比N/Mで分周または逓倍した分周逓倍データを生成し、設定データ生成部は、信号出力部がZ相信号を出力するタイミングを決める1回転分割数を信号出力部に設定するための設定データを生成し、信号出力部は、設定データをその内部に設定し、かつ、分周逓倍データの累積値が1回転分割数になると、Z相信号を出力するとともに分周逓倍データの累積値をリセットしている。また、本発明のエンコーダ装置では、1回転分割数は、回転体が1回転する間にエンコーダが位置データの信号として出力するパルスの数と分周逓倍比N/Mとの積であり、かつ、4の整数倍になっている。そのため、本発明では、信号出力部に設定される1回転分割数が4の整数倍になっていれば、この1回転分割数を、回転体が1回転する間にエンコーダが位置データの信号として出力するパルスの数と分周逓倍比N/Mとに応じた任意の値に設定することが可能になる。したがって、本発明では、エンコーダ装置の使い勝手を向上させることが可能になる。
【0007】
本発明において、エンコーダ装置は、差分値データ生成部と分周逓倍部と設定データ生成部とを有するマイクロプロセッサ(Micro−Processing Unit(MPU))を備え、信号出力部は、プログラマブルロジックデバイス(Programmable Logic Device(PLD))であり、マイクロプロセッサは、プログラマブルロジックデバイスとSPI(Serial Peripheral Interface)で通信を行うことが好ましい。このように構成すると、マイクロプロセッサとプログラマブルロジックデバイスとの間の信号線の数を低減して、エンコーダ装置の構成を簡素化することが可能になる。
【0008】
本発明において、マイクロプロセッサからプログラマブルロジックデバイスへ送られる送信データには、送信データの内容を切り替えるための切替ビットが含まれていることが好ましい。このように構成すると、マイクロプロセッサからプログラマブルロジックデバイスへ送信される送信データのデータ長を短くして、マイクロプロセッサからプログラマブルロジックデバイスへの通信速度を高めることが可能になる。
【0009】
また、上記の課題を解決するため、本発明のエンコーダ装置の信号生成方法は、回転体の回転角度を検出するための位置データの信号を出力するエンコーダからの位置データに基づいて、A相信号、B相信号およびZ相信号を生成するエンコーダ装置の信号生成方法であって、MおよびNを1以上の整数とすると、所定の周期で位置データの差分値である差分値データを生成し、差分値データを分周逓倍比N/Mで分周または逓倍した分周逓倍データを生成し、分周逓倍データに基づいてA相信号およびB相信号を生成し、かつ、分周逓倍データの累積値がZ相信号を出力するタイミングを決める1回転分割数になると、Z相信号を生成するとともに分周逓倍データの累積値をリセットし、1回転分割数は、回転体が1回転する間にエンコーダが位置データの信号として出力するパルスの数と分周逓倍比N/Mとの積であり、かつ、4の整数倍になっていることを特徴とする。
【0010】
本発明のエンコーダ装置の信号生成方法では、所定の周期で位置データの差分値である差分値データを生成し、差分値データを分周逓倍比N/Mで分周または逓倍した分周逓倍データを生成し、分周逓倍データの累積値がZ相信号を出力するタイミングを決める1回転分割数になると、Z相信号を生成するとともに分周逓倍データの累積値をリセットしている。また、本発明では、1回転分割数は、回転体が1回転する間にエンコーダが位置データの信号として出力するパルスの数と分周逓倍比N/Mとの積であり、かつ、4の整数倍になっている。そのため、本発明の信号生成方法では、1回転分割数が4の整数倍になっていれば、この1回転分割数を、回転体が1回転する間にエンコーダが位置データの信号として出力するパルスの数と分周逓倍比N/Mとに応じた任意の値に設定することが可能になる。したがって、本発明の信号生成方法を用いれば、エンコーダ装置の使い勝手を向上させることが可能になる。
【発明の効果】
【0011】
以上のように、本発明では、エンコーダ装置の使い勝手を向上させることが可能になる。また、本発明のエンコーダ装置の信号生成方法を用いれば、エンコーダ装置の使い勝手を向上させることが可能になる。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【0014】
(エンコーダ装置の構成)
図1は、本発明の実施の形態にかかるエンコーダ装置1の概略構成を説明するためのブロック図である。
図2は、
図1に示すエンコーダ2の概略構成を説明するための概略図である。
図3は、
図1に示す信号処理部3から信号出力部4へ送られる送信データの通信フォーマットの一例を説明するための図である。
【0015】
本形態のエンコーダ装置1は、回転体の回転角度(回転位置)を検出するための装置であり、具体的には、たとえば、サーボモータのロータの回転角度を検出するための装置である。このエンコーダ装置1は、
図1に示すように、エンコーダ2と、エンコーダ2から出力される信号を処理する信号処理部3と、信号処理部3から出力される信号に基づいてA相信号、B相信号およびZ相信号を出力する信号出力部4とを備えている。信号処理部3は、エンコーダ2の出力側に接続され、信号出力部4は、信号処理部3の出力側に接続されている。また、信号出力部4の出力側は、サーボモータを制御する上位の制御部に接続されている。
【0016】
エンコーダ2は、アブソリュートエンコーダ(絶対値エンコーダ)である。また、本形態のエンコーダ2は、磁気式のエンコーダであり、
図2に示すように、サーボモータのロータを構成する回転軸7等に固定されるセンサ磁石8と、センサ磁石8に対向配置される磁気抵抗素子9およびホール素子10とを備えている。
【0017】
センサ磁石8は、円板状に形成された永久磁石である。センサ磁石8の、磁気抵抗素子9およびホール素子10との対向面には、その周方向において、N極とS極とが1極ずつ形成されている。磁気抵抗素子9は、回転軸7の軸方向から見たときにセンサ磁石8の中心と磁気抵抗素子9の中心とが略一致するように配置されている。磁気抵抗素子9には、互いに略直交する方向に配置される磁気抵抗パターンが形成されている。ホール素子10は、回転軸7の軸方向から見たときに、センサ磁石8の中心に対して互いに90°ずれた位置に配置されている。
【0018】
磁気抵抗素子9は、一対の増幅回路11を介してCPU(Central Processing Unit)12に接続されている。ホール素子10は、増幅回路13を介してCPU12に接続されている。CPU12には、図示を省略する出力用のインターフェースが接続されている。
【0019】
エンコーダ2は、磁気抵抗素子9での検出結果に基づいて、回転体(ロータ)の1回転(360°)の範囲内の回転角度を示す位置データの信号を信号処理部3に向かって出力する。本形態のエンコーダ2の分解能は、12ビットまたは14ビットである。エンコーダ2の分解能が12ビットである場合には、回転体が1回転する間にエンコーダ2が位置データの信号として出力するパルスの数は4096であり、エンコーダ2の分解能が14ビットである場合には、回転体が1回転する間にエンコーダ2が位置データの信号として出力するパルスの数は16384である。
【0020】
また、エンコーダ2は、ホール素子10での検出結果に基づいて、所定の原点位置から回転体が何回転したのかを示す多回転データの信号を信号処理部3に向かって出力する。さらに、エンコーダ2は、エンコーダ2のエラー状態を示す信号を信号処理部3に向かって出力する。エンコーダ2は、信号処理部3とSPI(Serial Peripheral Interface)で通信を行う。また、エンコーダ2は、信号処理部3と一定の通信周期で通信を行う。すなわち、信号処理部3は、一定の周期で、位置データや多回転データ等を取得する。
【0021】
信号処理部3は、マイクロプロセッサ(MPU)である。この信号処理部3は、その機能として、エンコーダ入力インターフェース部16と、位置データ処理部17と、分周逓倍部18と、設定データ生成部19と、エンコーダ出力インターフェース部20とを備えている。エンコーダ入力インターフェース部16は、エンコーダ2の出力側に接続され、位置データ処理部17は、エンコーダ入力インターフェース部16の出力側に接続され、分周逓倍部18は、位置データ処理部17の出力側に接続されている。また、エンコーダ出力インターフェース部20は、分周逓倍部18の出力側および設定データ生成部19の出力側に接続されている。また、エンコーダ出力インターフェース部20の出力側は、信号出力部4の入力側に接続されている。
【0022】
位置データ処理部17は、エンコーダ入力インターフェース部16を介してエンコーダ2から入力される位置データの差分値である差分値データを一定の周期で生成する。本形態では、エンコーダ2と信号処理部3との間の通信周期ごとに取得される位置データと前回取得された位置データとの差分値である差分値データを生成する。本形態の位置データ処理部17は、所定の周期で位置データの差分値である差分値データを生成する差分値データ生成部である。
【0023】
分周逓倍部18は、位置データ処理部17から出力される差分値データを分周または逓倍した分周逓倍データを生成する。具体的には、MおよびNを1以上の整数とすると、分周逓倍部18は、差分値データを分周逓倍比N/Mで分周または逓倍した分周逓倍データを生成する。
【0024】
設定データ生成部19は、信号出力部4がZ相信号を出力するタイミングを決める1回転分割数(すなわち、回転体が1回転する間のA相信号のパルス(エッジ)の数とB相信号のパルス(エッジ)の数との和)を信号出力部4に設定するための設定データを生成する。1回転分割数は、回転体が1回転する間にエンコーダ2が位置データの信号として出力するパルスの数と分周逓倍比N/Mとの積である。ここで、分割逓倍比N/Mは、1回転分割数が4の整数倍となるように設定されている。A相信号の位相とB相信号の位相とは90°ずれており、A相信号またはB相信号の1周期が4パルス分に相当するため、1回転分割数が4の整数倍となるように、分割逓倍比N/Mを設定する必要があるからである。
【0025】
信号処理部3は、分周逓倍データを信号出力部4に向かって出力する。また、信号処理部3は、1回転分割数を信号出力部4に設定するための設定データを信号出力部4に向かって出力する。さらに、信号処理部3は、信号出力部4での分周逓倍データの累積値をリセットするためのリセットデータと、信号出力部4からのA相信号、B相信号およびZ相信号の出力を許可するための出力許可データを信号出力部4に向かって出力する。
【0026】
信号処理部3から信号出力部4へ送られる送信データの通信フォーマットは、たとえば、
図3に示すように設定されている。本形態では、送信データの語長は、11ビットである。送信データの最上位ビット(第1ビット)SR10は、信号処理部3が分周逓倍データを送信するのかまたは設定データを送信するのかを切り替えるための切替ビットである。すなわち、送信データには、送信データの内容を切り替えるための切替ビットが含まれている。
【0027】
分周逓倍データが送信される場合(第1ビットSR10=0の場合)には、
図3(A)に示すように、第2ビットSR9は、信号出力部4での分周逓倍データの累積値をリセットするためのリセットデータ用のビットであり、信号出力部4での分周逓倍データの累積値をリセットしない場合には、第2ビットSR9は“0”となり、信号出力部4での分周逓倍データの累積値をリセットする場合には、第2ビットSR9は“1”となる。また、第3ビットSR8は、信号出力部4からのA相信号、B相信号およびZ相信号の出力を許可するための出力許可データ用のビットであり、信号出力部4からのA相信号、B相信号およびZ相信号の出力が許可される場合には、第3ビットSR8は“0”となり、信号出力部4からのA相信号、B相信号およびZ相信号の出力が許可されない場合には、第3ビットSR8は“1”となる。
【0028】
また、分周逓倍データが送信される場合には、第4ビットSR7は、分周逓倍データのプラスマイナスを判別するためのビットであり、回転体が正方向へ回転しており、分周逓倍データがプラスになる場合には、第4ビットSR7は“0”となり、回転体が逆方向へ回転しており、分周逓倍データがマイナスになる場合には、第4ビットSR7は“1”となる。また、第5ビットSR6〜第11ビットSR0は、分周逓倍データ用のビットである。
【0029】
また、1回転分割数を信号出力部4に設定するための設定データが送信される場合(第1ビットSR10=1の場合)、本形態の1回転分割数の語長が16ビットであるため、この場合には、
図3(B)に示すように、第2ビットSR9は、1回転分割数の設定桁を選択するためのビットとなる。16ビットのうちの下位8ビットを設定する場合には、第2ビットSR9は“0”となり、上位8ビットを設定する場合には、第2ビットSR9が“1”となる。また、第4ビットSR7〜第11ビットSR0は、1回転分割数設定用のビットである。なお、設定データが送信される場合には、第3ビットSR4は、使用されない。
【0030】
信号処理部3は、信号出力部4とSPIで通信を行う。また、信号処理部3は、信号出力部4と一定の通信周期で通信を行う。具体的には、エンコーダ2と信号処理部3との通信周期と同じ通信周期で通信を行う。
【0031】
信号出力部4は、プログラマブルロジックデバイスである。具体的には、本形態の信号出力部4は、コンプレックスプログラマブルロジックデバイス(Complex Programmable Logic Device(CPLD))である。この信号出力部4は、信号処理部3が実装される回路基板と同一の回路基板上に実装されている。なお、信号出力部4は、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array(FPGA))であっても良い。
【0032】
信号出力部4は、信号処理部3から出力される設定データをその内部に設定する。すなわち、信号出力部4は、1回転分割数を信号処理部3から入力された値に設定する。また、信号出力部4は、分周逓倍データに基づいてA相信号およびB相信号を生成して出力する。また、信号出力部4は、分周逓倍データの累積値が1回転分割数になると、Z相信号を生成して出力するとともに分周逓倍データの累積値をリセット(クリア)する。
【0033】
以上のように構成されたエンコーダ装置1では、電源投入時等の初期動作時に、信号処理部3は、分周逓倍比N/Mを設定するとともに、1回転分割数を信号出力部4に設定するための設定データを生成し、信号出力部4に向かって出力する。信号出力部4は、信号処理部3から出力された設定データをその内部に設定する。また、信号処理部3は、回転体の初期位置を設定する。
【0034】
また、エンコーダ装置1の通常動作時には、信号処理部3は、差分値データを生成し、分周逓倍データを生成するとともに、生成した分周逓倍データを信号出力部4に向かって出力する。信号出力部4は、分周逓倍データに基づいてA相信号およびB相信号を出力し、かつ、分周逓倍データの累積値が1回転分割数になると、Z相信号を出力するとともに分周逓倍データの累積値をリセットする。
【0035】
(本形態の主な効果)
以上説明したように、本形態では、信号出力部4がZ相信号を出力するタイミングを決める1回転分割数は、回転体が1回転する間にエンコーダ2が位置データの信号として出力するパルスの数と分周逓倍比N/Mとの積である。また、本形態では、設定データ生成部19は、1回転分割数を信号出力部4に設定するための設定データを生成し、信号出力部4は、この設定データを内部に設定している。そのため、本形態では、信号出力部4に設定される1回転分割数が4の整数倍になっていれば、この1回転分割数を、回転体が1回転する間にエンコーダ2が位置データの信号として出力するパルスの数と分周逓倍比N/Mとに応じた任意の値に設定することが可能になる。たとえば、1回転分割数を、10000に設定したり、360に設定したりすることが可能になる。したがって、本形態では、エンコーダ装置1の使い勝手を向上させることが可能になる。
【0036】
本形態では、信号処理部3は、信号出力部4とSPIで通信を行う。そのため、本形態では、信号処理部3と信号出力部4との間の信号線の数を低減して、エンコーダ装置1の構成を簡素化することが可能になる。また、本形態では、信号処理部3から信号出力部4へ送られる送信データに、送信データの内容を切り替えるための切替ビット(具体的には、第1ビットSR10)が含まれているため、信号処理部3から信号出力部4へ送られる送信データのデータ長を短くして、信号処理部3から信号出力部4への通信速度を高めることが可能になる。
【0037】
(他の実施の形態)
上述した形態は、本発明の好適な形態の一例ではあるが、これに限定されるものではなく本発明の要旨を変更しない範囲において種々変形実施が可能である。
【0038】
上述した形態では、信号出力部4は、CPLDであり、MPUである信号処理部3とは別の電子部品となっている。この他にもたとえば、信号出力部4は、信号処理部3の一部を構成しても良い。すなわち、信号処理部3に、信号出力部4の機能を持たせて、信号処理部3からA相信号、B相信号およびZ相信号を出力しても良い。
【0039】
上述した形態では、信号処理部3は、信号出力部4とSPIで通信を行っているが、信号処理部3は、信号出力部4とパラレル通信で通信を行っても良い。また、上述した形態では、信号処理部3から信号出力部4へ送られる送信データに切替ビットが含まれているが、たとえば、信号処理部3が信号出力部4とパラレル通信で通信を行う場合には、送信データの語長を長くして、送信データに切替ビットが含まれないようにしても良い。
【0040】
上述した形態では、エンコーダ2は、アブソリュートエンコーダであるが、エンコーダ2は、インクリメンタルエンコーダであっても良い。また、上述した形態では、エンコーダ2は、磁気式のエンコーダであるが、エンコーダ2は、たとえば、発光素子および受光素子と、発光素子からの光を受光素子へ透過するスリットが形成されたスリット板とを備える光電式のエンコーダであっても良い。また、エンコーダ2は、磁気式または光電式以外の他の形式のエンコーダであっても良い。