(57)【要約】【課題】モータ制御装置からモータの回転角度の情報として要求される２相のパルス信号を生成するのに適したパルス信号生成器を提供すること。【解決手段】一実施の形態によれば、パルス信号生成器１は、レゾルバ１０１に設けられたロータの回転角度を表すデータである角度情報θｍと、フィードバックされた角度情報θｆｂと、の偏差ｅを補償するための補償信号ｄを出力する補償部１１と、補償信号ｄの補償量に応じた周波数のカウンタパルスＣＰを、補償信号ｄの正負を表す符号情報Ｆ１とともに出力するカウンタパルス出力部１２と、符号情報Ｆ１に応じてカウンタパルスＣＰのカウントアップ及びカウントダウンの何れかを行うカウンタを有し、カウンタによる一定周期当たりのカウント値を角度情報θｆｂとして出力するパルス処理部１３と、を備え、パルス処理部１３は、カウンタの一部のビットの値を用いて２相のパルス信号ＰＡ，ＰＢを生成する。【選択図】図１
2019207184.tif 000002
【特許請求の範囲】
【請求項１】
レゾルバに設けられたロータの回転角度を表すデータである第１角度情報と、フィードバックされた第２角度情報と、の偏差を補償するための補償信号を出力する第１補償部と、
前記補償信号の補償量に応じた周波数のカウンタパルスを、前記補償信号の正負を表す符号情報とともに出力するカウンタパルス出力部と、
前記符号情報に応じて前記カウンタパルスのカウントアップ及びカウントダウンの何れかを行うカウンタを有し、前記カウンタによる一定周期当たりのカウント値を前記第２角度情報として出力するパルス処理部と、を備え、
前記パルス処理部は、前記カウンタの一部のビットの値を用いて、前記ロータの回転角度を表す２相のパルス信号を生成するように構成されている、
パルス信号生成器。
【請求項２】
前記第１補償部は、前記偏差に対してＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御を行うことによって前記補償信号を出力するように構成されている、
請求項１に記載のパルス信号生成器。
【請求項３】
前記第１角度情報に対してＦＦ（Ｆｅｅｄ−Ｆｏｒｗａｒｄ）制御を行う第２補償部をさらに備え、
前記第１補償部は、前記偏差に対してＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御を行った結果と、前記第２補償部の出力と、に基づいて、前記補償信号を出力する、
請求項１に記載のパルス信号生成器。
【請求項４】
前記パルス処理部は、前記カウンタの下位２ビットの値を用いて、前記２相のパルス信号を生成するように構成されている、
請求項１に記載のパルス信号生成器。
【請求項５】
前記カウンタパルス出力部は、前記補償信号が正の場合における前記カウンタパルスをアップカウンタパルスとして出力し、前記補償信号が負の場合における前記カウンタパルスをダウンカウンタパルスとして出力するように構成され、
前記カウンタは、前記アップカウンタパルスに対してカウントアップを行うとともに、前記ダウンカウンタパルスに対してカウントダウンを行うように構成されている、
請求項１に記載のパルス信号生成器。
【請求項６】
前記カウンタパルスの周波数は、前記ロータの回転周波数に比例している、
請求項１に記載のパルス信号生成器。
【請求項７】
前記レゾルバを有し、当該レゾルバに設けられたロータの回転角度を検出して前記第１角度情報として出力する角度検出装置と、
前記第１角度情報が入力される請求項１に記載のパルス信号生成器と、
を備えた、角度検出システム。
【請求項８】
レゾルバに設けられたロータの回転角度を表すデータである第１角度情報と、フィードバックされた第２角度情報と、の偏差を補償するための補償信号を出力する第１補償部と、
前記補償信号の補償量に応じた周波数のカウンタパルスを、前記補償信号の正負を表す符号情報とともに出力するカウンタパルス出力部と、
前記符号情報に応じて前記カウンタパルスのカウントアップ及びカウントダウンの何れかを行うカウンタを有し、前記カウンタによる一定周期当たりのカウント値を前記第２角度情報として出力するパルス処理部と、
前記補償信号の補償量に応じた周波数、かつ、前記補償信号の正負に応じた位相のずれを有する、前記ロータの回転角度を表す２相のパルス信号を出力する２相パルス出力部と、
を備えた、パルス信号生成器。
【請求項９】
前記第１補償部は、前記偏差に対してＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御を行うことによって前記補償信号を出力するように構成されている、
請求項８に記載のパルス信号生成器。
【請求項１０】
前記第１角度情報に対してＦＦ（Ｆｅｅｄ−Ｆｏｒｗａｒｄ）制御を行う第２補償部をさらに備え、
前記第１補償部は、前記偏差に対してＰＩ制御を行った結果と、前記第２補償部の出力と、に基づいて、前記補償信号を出力する、
請求項８に記載のパルス信号生成器。
【請求項１１】
前記２相パルス出力部は、前記カウンタパルスの発生毎に、当該カウンタパルスの発生タイミングを基準にして、前記２相のパルス信号のそれぞれの電圧レベルを変化させるように構成されている、
請求項８に記載のパルス信号生成器。
【請求項１２】
前記カウンタパルス出力部は、前記補償信号が正の場合における前記カウンタパルスをアップカウンタパルスとして出力し、前記補償信号が負の場合における前記カウンタパルスをダウンカウンタパルスとして出力するように構成され、
前記カウンタは、前記アップカウンタパルスに対してカウントアップを行うとともに、前記ダウンカウンタパルスに対してカウントダウンを行うように構成されている、
請求項８に記載のパルス信号生成器。
【請求項１３】
前記カウンタパルスの周波数は、前記ロータの回転周波数に比例している、
請求項８に記載のパルス信号生成器。
【請求項１４】
前記レゾルバを有し、当該レゾルバに設けられたロータの回転角度を検出して前記第１角度情報として出力する角度検出装置と、
前記第１角度情報が入力される請求項８に記載のパルス信号生成器と、
を備えた、角度検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパルス信号生成器及びそれを備えた角度検出システムに関し、例えば、モータ制御装置からモータの回転角度の情報として要求される２相のパルス信号を生成するのに適したパルス信号生成器及びそれを備えた角度検出システムに関する。
【背景技術】
【０００２】
角度検出装置には、ロータリーエンコーダを用いてモータの回転角度を検出する装置のほか、近年では、レゾルバを用いてモータの回転角度を検出する装置もある。例えば、特許文献１には、レゾルバを用いてモータの回転角度を検出する装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−３２４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ロータリーエンコーダを用いてモータの回転角度を検出する角度検出装置は、モータの回転角度の情報として２相のパルス信号（所謂、Ａ相及びＢ相パルス信号）を生成するのが一般的である。そのため、モータ制御装置の多くは、角度検出装置から受け取った２相のパルス信号に基づいてモータを制御するよう構成されている。
【０００５】
しかしながら、特許文献１に開示された角度検出装置は、レゾルバに設けられたロータの回転角度（即ち、モータの回転角度）の情報として、２相のパルス信号を出力するのではなく、演算処理装置によって算出された角度データを出力している。そのため、２相のパルス信号に基づいてモータを制御することが前提のモータ制御装置では、特許文献１に開示された角度検出装置などによる検出結果をそのまま使用することができないという問題があった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
一実施の形態によれば、パルス信号生成器は、レゾルバに設けられたロータの回転角度を表すデータである第１角度情報と、フィードバックされた第２角度情報と、の偏差を補償するための補償信号を出力する第１補償部と、前記補償信号の補償量に応じた周波数のカウンタパルスを、前記補償信号の正負を表す符号情報とともに出力するカウンタパルス出力部と、前記符号情報に応じて前記カウンタパルスのカウントアップ及びカウントダウンの何れかを行うカウンタを有し、前記カウンタによる一定周期当たりのカウント値を前記第２角度情報として出力するパルス処理部と、を備え、前記パルス処理部は、前記カウンタの一部のビットの値を用いて、前記ロータの回転角度を表す２相のパルス信号を生成するように構成されている。
【０００７】
他の実施の形態によれば、パルス信号生成器は、レゾルバに設けられたロータの回転角度を表すデータである第１角度情報と、フィードバックされた第２角度情報と、の偏差を補償するための補償信号を出力する第１補償部と、前記補償信号の補償量に応じた周波数のカウンタパルスを、前記補償信号の正負を表す符号情報とともに出力するカウンタパルス出力部と、前記符号情報に応じて前記カウンタパルスのカウントアップ及びカウントダウンの何れかを行うカウンタを有し、前記カウンタによる一定周期当たりのカウント値を前記第２角度情報として出力するパルス処理部と、前記補償信号の補償量に応じた周波数、かつ、前記補償信号の正負に応じた位相のずれを有する、前記ロータの回転角度を表す２相のパルス信号を出力する２相パルス出力部と、を備える。
【発明の効果】
【０００８】
前記一実施の形態によれば、例えば、モータ制御装置からモータの回転角度の情報として要求される２相のパルス信号を生成するのに適したパルス信号生成器及びそれを備えた角度検出システムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかるパルス信号生成器を備えた角度検出システムの構成例を示すブロック図である。
【図２】図１に示すパルス信号生成器に設けられたパルス処理部の具体的な構成例を示す図である。
【図３】図２に示すパルス処理部の変形例を示す図である。
【図４】図１に示すパルス信号生成器の動作を示すフローチャートである。
【図５】図１に示すパルス信号生成器の動作を示すタイミングチャートである。
【図６】実施の形態２にかかるパルス信号生成器を備えた角度検出システムの構成例を示すブロック図である。
【図７】図６に示すパルス信号生成器の伝達関数を説明するための図である。
【図８】図６に示すパルス信号生成器の効果を説明するための図である。
【図９】ＦＦ補償部によるフィードフォワード制御が行われていない場合の角度情報θｍと角度情報θｆｂとの関係を示す図である。
【図１０】ＦＦ補償部によるフィードフォワード制御が行われた場合の角度情報θｍと角度情報θｆｂとの関係を示す図である。
【図１１】実施の形態３にかかるパルス信号生成器を備えた角度検出システムの構成例を示すブロック図である。
【図１２】図１１に示すパルス信号生成器の動作を示すフローチャートである。
【図１３】図１１に示すパルス信号生成器の動作を示すタイミングチャートである。
【図１４】図１１に示すパルス信号生成器の変形例を示すブロック図である。
【図１５】図１に示すパルス信号生成器のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１１】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１２】
＜実施の形態１＞
図１は、実施の形態１にかかる角度検出システムＳＹＳ１の構成例を示すブロック図である。角度検出システムＳＹＳ１は、例えばモータの回転角度を検出するシステムである。以下、具体的に説明する。
【００１３】
図１に示すように、角度検出システムＳＹＳ１は、角度検出装置１００と、パルス信号生成器１と、を備える。角度検出装置１００は、レゾルバ１０１と、ＲＤＣ（Ｒｅｓｏｌｖｅｒ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）１０２と、演算処理部１０３と、を有する。演算処理部１０３は、例えば、マイコンである。
【００１４】
レゾルバ１０１は、モータの回転軸に取り付けられている。レゾルバ１０１に設けられたロータは、モータの回転に応じて回転する。例えば、レゾルバ１０１には、演算処理部１０３からＲＤＣ１０２を介して正弦波（＝ｓｉｎωｔ）の励磁信号が入力される。それを受けて、レゾルバ１０１は、ロータの回転角度（即ち、モータの回転角度）θｍに応じた２相の検出信号Ｒ１（＝Ｋ・ｓｉｎθｍ・ｓｉｎωｔ），Ｒ２（＝Ｋ・ｃｏｓθｍ・ｓｉｎωｔ）を出力する。ただし、Ｋは定数（アンプのゲイン等）、ωは励磁信号の角運動量、ｔは時刻とする。
【００１５】
ＲＤＣ１０２は、レゾルバ１０１から出力された検出信号Ｒ１，Ｒ２をデジタル変換して演算処理部１０３に出力する。一例として、ＲＤＣ１０２は、検出信号Ｒ１の位相を９０度シフトさせた信号Ｒ１’（＝Ｋ・ｓｉｎθｍ・ｃｏｓωｔ）と、検出信号Ｒ２と、を加算した後、加算結果（＝Ｋ・ｓｉｎ（ωｔ＋θｍ））をデジタル信号Ｄ１に変換して出力する。この場合、加算結果と励磁信号との位相差は、ロータの回転角度θｍを表している。
【００１６】
演算処理部１０３は、ＲＤＣ１０２から出力されたデジタル信号Ｄ１からロータの回転角度の情報（第１角度情報）θｍを算出する。ここで、演算処理部１０３は、ロータの回転角度の情報として、２相のパルス信号（所謂、Ａ相及びＢ相パルス信号）を出力するのではなく、例えば加算結果と励磁信号との位相差に応じた、タイマカウンタによるカウント値（角度データ）を出力している。そのため、２相のパルス信号に基づいてモータを制御することが前提のモータ制御装置では、演算処理部１０３によって算出された角度データをそのまま使用することができない。
【００１７】
そこで、本実施の形態では、パルス信号生成器１が、角度検出装置１００から出力された角度情報θｍを、２相のパルス信号ＰＡ，ＰＢの形式に変換している。
【００１８】
具体的には、パルス信号生成器１は、補償部１１と、カウンタパルス出力部１２と、パルス処理部１３と、を備える。
【００１９】
補償部１１は、角度検出装置１００からの角度情報θｍと、後述するパルス処理部１３からフィードバックされた角度情報θｆｂと、の偏差ｅを補償するための補償信号ｄを出力する。なお、補償信号ｄは、補償の正負を表す符号情報、及び、補償量を含んでいる。
【００２０】
例えば、補償部１１は、角度情報θｍと角度情報θｆｂとの偏差ｅに対してＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御を行うことによって補償信号ｄを出力するように構成されている。
【００２１】
カウンタパルス出力部１２は、補償信号ｄの補償量に応じた周波数（即ち、ロータの回転周波数に比例する周波数）のカウンタパルスＣＰを、補償信号ｄの正負を表す符号情報Ｆ１とともに出力する。
【００２２】
パルス処理部１３は、符号情報Ｆ１に応じてカウンタパルスＣＰのカウントアップ及びカウントダウンの何れかを行うアップダウンカウンタを有し、アップダウンカウンタによる一定周期当たりのカウント値を角度情報θｆｂとして出力する。
【００２３】
パルス処理部１３に設けられたアップダウンカウンタは、符号情報Ｆ１によって補償信号ｄが正であると示されている場合、カウンタパルスＣＰのカウントアップ動作を行い、符号情報Ｆ１によって補償信号ｄが負であると示されている場合、カウンタパルスＣＰのカウントダウン動作を行う。このアップダウンカウンタの一定周期当たりのカウント値が、角度情報θｆｂとして補償部１１にフィードバックされる。
【００２４】
また、パルス処理部１３は、アップダウンカウンタのカウント値の一部のビットの値から、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢを生成する。
【００２５】
（パルス処理部１３の一部の具体的な構成例）
図２は、パルス処理部１３における２相のパルス信号ＰＡ，ＰＢの生成部分の具体的な構成例をパルス処理部１３ａとして示す図である。図２に示すように、パルス処理部１３ａは、アップダウンカウンタ１３１と、排他的論理和回路（ＸＯＲ回路）１３２と、を少なくとも備える。
【００２６】
パルス処理部１３ａにおいて、アップダウンカウンタ１３１は、符号情報Ｆ１によって補償信号ｄが正であると示されている場合、カウンタパルスＣＰのカウントアップ動作を行い、符号情報Ｆ１によって補償信号ｄが負であると示されている場合、カウンタパルスＣＰのカウントダウン動作を行う。そして、パルス処理部１３ａは、アップダウンカウンタ１３１のカウント値の下位２ビットの値を用いて、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢを出力する。
【００２７】
具体的には、パルス処理部１３ａでは、ＸＯＲ回路１３２が、カウント値の最下位ビットの値ＱＡと、下位から２番目のビットの値ＱＢと、の排他的論理和をＡ相パルス信号ＰＡとして出力する。また、パルス処理部１３ａは、下位から２番目のビットの値ＱＢを、そのままＢ相パルス信号ＰＢとして出力する。ここで、これらＡ相パルス信号ＰＡ及びＢ相パルス信号ＰＢは、カウンタパルスＣＰの周波数（即ち、ロータの回転周波数に比例する周波数）に応じた周波数を有するとともに、補償信号ｄの正負に応じた位相のずれを有する。
【００２８】
なお、パルス処理部１３ａは、上述の構成と同等の機能を実現可能な他の構成に適宜変更可能である。例えば、パルス処理部１３ａは、角度情報θｆｂ及び２相のパルス信号ＰＡ，ＰＢを生成する一つのアップダウンカウンタを備える場合に限られず、角度情報θｆｂを生成するアップダウンカウンタと、２相のパルス信号ＰＡ，ＰＢを生成するアップダウンカウンタと、をそれぞれ備える構成に適宜変更可能である。
【００２９】
また、本実施の形態では、カウンタパルス出力部１２がカウンタパルスＣＰ及び符号情報Ｆ１を出力する場合を例に説明しているが、これに限られない。カウンタパルス出力部１２は、補償信号ｄが正である場合におけるカウンタパルスＣＰをアップカウンタパルスＣＰ＿Ｕとして出力し、補償信号ｄが負である場合におけるカウンタパルスＣＰをダウンカウンタパルスＣＰ＿Ｄとして出力するように構成されても良い。なお、この場合、パルス処理部１３の構成も以下のように変更される。
【００３０】
（パルス処理部１３の変形例）
図３は、パルス処理部１３の２相のパルス信号ＰＡ，ＰＢの生成部分の変形例をパルス処理部１３ｂとして示す図である。図３に示すように、パルス処理部１３ｂは、アップダウンカウンタ１３３と、排他的論理和回路（ＸＯＲ回路）１３４と、を少なくとも備える。
【００３１】
アップダウンカウンタ１３３は、アップカウンタパルスＣＰ＿Ｕが入力された場合に当該パルスのカウントアップ動作を行い、ダウンカウンタパルスＣＰ＿Ｄが入力された場合に当該パルスのカウントダウン動作を行う。そして、パルス処理部１３ａは、アップダウンカウンタ１３１のカウント値の下位２ビットの値を用いて、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢを出力する。
【００３２】
具体的には、パルス処理部１３ｂでは、ＸＯＲ回路１３４が、カウント値の最下位ビットの値ＱＡと、下位から２番目のビットの値ＱＢと、の排他的論理和をＡ相パルス信号ＰＡとして出力する。また、パルス処理部１３ｂは、下位から２番目のビットの値ＱＢを、そのままＢ相パルス信号ＰＢとして出力する。ここで、これらＡ相パルス信号ＰＡ及びＢ相パルス信号ＰＢは、カウンタパルスＣＰの周波数（即ち、ロータの回転周波数に比例する周波数）に応じた周波数を有するとともに、補償信号ｄの正負に応じた位相のずれを有する。
【００３３】
（パルス信号生成器１の動作）
続いて、図４及び図５を用いて、パルス信号生成器１の動作について説明する。図４は、パルス信号生成器１の動作を示すフローチャートである。図５は、パルス信号生成器１の動作を示すタイミングチャートである。
【００３４】
パルス信号生成器１において、補償部１１は、角度検出装置１００からの角度データである角度情報θｍを受け取るとともに（図４のステップＳ１０１）、パルス処理部１３からフィードバックされた角度情報θｆｂを受け取る（図４のステップＳ１０２）。
【００３５】
補償部１１は、角度情報θｍと角度情報θｆｂとの偏差ｅ（＝θｍ−θｆｂ）を算出する（図４のステップＳ１０３）。その後、補償部１１は、例えば、偏差ｅに対してＰＩ制御を行うことによって補償信号ｄを出力する（図４のステップＳ１０４）。
【００３６】
その後、カウンタパルス出力部１２は、補償信号ｄの補償量に応じた周波数（即ち、ロータの回転周波数に比例する周波数）のカウンタパルスＣＰを、補償信号ｄの正負を表す符号情報Ｆ１とともに出力する（図４のステップＳ１０５及びＳ１０６）。
【００３７】
なお、カウンタパルスＣＰは、例えば、演算処理部１０３に内蔵されたタイマを用いることによって生成される。具体的には、カウンタパルス出力部１２は、タイマによるカウント値ＴＣが閾値Ｎに達したタイミングでカウンタパルスＣＰを発生させるとともに、タイマによるカウント値ＴＣをゼロにリセットする（図４のステップＳ１０６）。ここで、閾値Ｎは、補償信号ｄの補償量に応じた値に設定される（図４のステップＳ１０５）。
【００３８】
具体的には、カウンタパルスＣＰの周波数ｆは、比例定数をＫａ、補正信号ｄの補正量をｄとすると、ｆ＝Ｋａ・ｄと表すことができる。したがって、閾値Ｎは、タイマカウンタの周波数をｆｃｌｋとすると、以下の式（１）のように表すことができる。
【００３９】
Ｎ＝ｆｃｌｋ／（Ｋａ・ｄ）  ・・・（１）
【００４０】
ただし、ｄ＝０の場合（即ち、ロータが回転していない場合）、例えば閾値Ｎに対してタイマカウンタの最大値＋１を設定することにより、コンペアマッチ動作を停止させる。
【００４１】
式（１）からわかるように、閾値Ｎは、補償信号ｄの補償量（即ち、ロータの回転数）が大きくなるほど小さくなり、補償信号ｄの補償量が小さくなるほど大きくなる。
【００４２】
ここで、比例定数Ｋａは、ｆｍａｘをカウンタパルスＣＰの最大周波数［Ｈｚ］、ｄｍａｘを補償信号ｄの最大補償量とすると、以下の式（２）のように表すことができる。
【００４３】
Ｋａ＝ｆｍａｘ／ｄｍａｘ  ・・・（２）
【００４４】
なお、ｆｍａｘは、カウンタパルスＣＰの角度分解能をＲｍ［Ｐ／Ｒ］（モータ１回転当たりのパルス発生数）、モータの最高回転数をＲＰＭｍａｘ［ｒ／ｍｉｎ］（モータの１分間当たりの回転数）とすると、以下の式（３）のように表すことができる。
【００４５】
ｆｍａｘ＝Ｒｍ・（ＲＰＭｍａｘ／６０）  ・・・（３）
【００４６】
また、ｄｍａｘは、モータの最低回転数をＲＰＭｍｉｎ［ｒ／ｍｉｎ］、モータの最高回転数をＲＰＭｍａｘ［ｒ／ｍｉｎ］とすると、以下の式（４）のように表すことができる。
【００４７】
ｄｍａｘ＝ＲＰＭｍａｘ／ＲＰＭｍｉｎ  ・・・（４）
【００４８】
例えば、偏差ｅがゼロ（即ち、θｍ＝θｆｂ）の場合、補償量ｄ＝０となる。この場合、モータが回転していないため、カウンタパルスＣＰは発生しない（パルス波形は形成されない）。それに対し、偏差ｅが大きくなるほど、補償量ｄが増加するため、閾値Ｎが小さくなり、その結果、カウンタパルスＣＰの周波数は大きくなる。そして、偏差ｅが最も大きくなると、補償量ｄが最大値ｄｍａｘを示すため、閾値Ｎが最小値を示し、その結果、カウンタパルスＣＰの周波数ｆは最大値ｆｍａｘを示すこととなる。
【００４９】
その後、パルス処理部１３は、符号情報Ｆ１によって補償信号ｄが正であると示されている場合、アップダウンカウンタのカウント値をカウントアップさせ、符号情報Ｆ１によって補償信号ｄが負であると示されている場合、アップダウンカウンタのカウント値をカウントダウンさせる。そして、パルス処理部１３は、アップダウンカウンタのカウント値の下位２位ビットの値を用いて、２相のパルス信号ＰＡ，ＰＢを出力する（図４のステップＳ１０７）。
【００５０】
また、パルス処理部１３は、アップダウンカウンタによる一定周期当たりのカウント値を角度情報θｆｂとして出力する（図４のステップＳ１０８のＹＥＳ→ステップＳ１０９）。なお、パルス信号生成器１は、動作を継続しない場合には、動作を停止させる（図４のステップＳ１０８のＮＯ）。
【００５１】
図５を参照すると、まず、閾値ＮがＮ１の場合に、カウンタパルスＣＰの周波数ｆはｆ１となる（時刻ｔ１１〜ｔ１３）。その後、ロータの回転周波数が小さくなることによって閾値ＮがＮ１からＮ２（Ｎ２＞Ｎ１）に変化すると、それに伴って、カウンタパルスＣＰの周波数ｆがｆ１からｆ２（ｆ２＜ｆ１）に変化する（時刻ｔ１３〜時刻ｔ１７）。
【００５２】
ここで、図５からもわかるように、２相のパルス信号ＰＡ，ＰＢは、カウンタパルスＣＰの周波数ｆ（即ち、ロータの回転周波数に比例する周波数）に応じた周波数を有している。具体的には、２相のパルス信号ＰＡ，ＰＢは、カウンタパルスＣＰの周波数ｆの４分の１の周波数を有している。そのため、２相のパルス信号ＰＡ，ＰＢを受け取ったモータ制御装置は、２相のパルス信号ＰＡ，ＰＢの周波数によって、モータの回転数を判断することができる。
【００５３】
また、図５からもわかるように、ｄ＞０、即ち、符号情報Ｆ１がＨレベルの場合（時刻ｔ１１〜ｔ１５）、Ａ相パルス信号ＰＡの論理値変化に対して所定の位相（例えば９０度）分だけ遅れてＢ相パルス信号ＰＢの論理値が変化する。それに対し、ｄ＜０、即ち、符号情報Ｆ１がＬレベルの場合（時刻ｔ１５〜ｔ１７）、Ｂ相パルス信号ＰＢの論理値変化に対して所定の位相（例えば９０度）分だけ遅れてＡ相パルス信号ＰＡの論理値が変化する。そのため、２相のパルス信号ＰＡ，ＰＢを受け取ったモータ制御装置は、２相のパルス信号ＰＡ，ＰＢ間の位相のずれの違いによって、モータの回転方向を判断することができる。
【００５４】
このように、本実施の形態にかかるパルス信号生成器１は、レゾルバに設けられたロータの回転角度（即ち、モータの回転角度）を表すデータである角度情報θｍを、後段のモータ制御装置から要求される２相のパルス信号ＰＡ，ＰＢの形式に変換して出力することができる。
【００５５】
＜実施の形態２＞
図６は、実施の形態２にかかる角度検出システムＳＹＳ２の構成例を示すブロック図である。角度検出システムＳＹＳ２は、角度検出装置１００と、パルス信号生成器２と、を備える。パルス信号生成器２は、パルス信号生成器１と比較して、フィードフォワード補償部（ＦＦ補償部）２１をさらに備える。
【００５６】
ＦＦ補償部２１は、角度情報θｍに対してフィードフォワード制御を行う。そして、補償部１１は、角度情報θｍと角度情報θｆｂとの偏差ｅに対してＰＩ制御を行った結果と、ＦＦ補償部２１の出力と、を加算することによって、補償信号ｄを出力する。
【００５７】
図７は、パルス信号生成器２の伝達関数を説明するための図である。また、図８は、パルス信号生成器２の効果を説明するための図である。
【００５８】
図７に示すように、パルス信号生成器２の入力をＸ（ｓ）、出力をＹ（ｓ）とすると、伝達関数Ｇ（ｓ）は、Ｇ（ｓ）＝Ｙ（ｓ）／Ｘ（ｓ）と表される。但し、ｓは複素数とする。ここで、Ｙ（ｓ）は、以下の式（５）のように表すことができる。但し、Ｋｐを比例ゲイン、Ｋｉを積分ゲイン、Ｋｆをフィードフォワード制御のゲインとする。
【００５９】
【数１】
2019207184.tif 000003
【００６０】
式（５）より、伝達関数Ｇ（ｓ）は、以下の式（６）のように表すことができる。
【００６１】
【数２】
2019207184.tif 000004
【００６２】
ここで、Ｋｆ＝１とすると、伝達関数Ｇ（ｓ）＝１となる。即ち、Ｙ（ｓ）＝Ｘ（ｓ）が成り立つ。つまり、理論的には、入力Ｘ（ｓ）に対する出力Ｙ（ｓ）に遅れ及び定常偏差は発生しないこととなる（図８参照）。
【００６３】
図９は、ＦＦ補償部２１によるフィードフォワード制御が行われていない場合の角度情報θｍと角度情報θｆｂとの関係を示す図である。また、図１０は、ＦＦ補償部２１によるフィードフォワード制御が行われた場合の角度情報θｍと角度情報θｆｂとの関係を示す図である。
【００６４】
図９及び図１０を比較してもわかるように、フィードフォワード制御されていない場合、角度情報θｍの入力に対する角度情報θｆｂの出力に遅れが発生している。それに対し、フィードフォワード制御された場合、角度情報θｍの入力に対する角度情報θｆｂの出力に遅れがほとんど発生していない。
【００６５】
このように、本実施の形態にかかるパルス信号生成器２は、角度情報θｍと角度情報θｆｂとの偏差ｅに対して補償部１１によるＰＩ制御を行うだけでなく、角度情報θｍに対してＦＦ補償部２１によるフィードフォワード制御を行う。それにより、本実施の形態にかかるパルス信号生成器２は、トラッキングループによって生じる周波数特性の影響をキャンセルすることができるため、ロータの回転角度の情報を速やかに２相のパルス信号ＰＡ，ＰＢの形式に変換して出力することができる。
【００６６】
＜実施の形態３＞
図１１は、実施の形態３にかかる角度検出システムＳＹＳ３の構成例を示すブロック図である。角度検出システムＳＹＳ３は、角度検出装置１００と、パルス信号生成器３と、を備える。パルス信号生成器３は、パルス信号生成器１と比較して、２相パルス出力部３１をさらに備える。
【００６７】
パルス信号生成器１では、パルス処理部１３が、アップダウンカウンタのカウント値の下位２ビットの値を用いて２相のパルス信号ＰＡ，ＰＢを出力していた。それに対し、パルス信号生成器３では、２相パルス出力部３１が、補償信号ｄの補償量に応じた周波数、かつ、補償信号ｄの正負に応じた位相のずれを有する２相のパルス信号ＰＡ，ＰＢを出力している。
【００６８】
（パルス信号生成器１の動作）
続いて、図１２及び図１３を用いて、パルス信号生成器３の動作について説明する。図１２は、パルス信号生成器３の動作を示すフローチャートである。図１３は、パルス信号生成器３の動作を示すタイミングチャートである。
【００６９】
パルス信号生成器３において、補償部１１は、角度検出装置１００からの角度データである角度情報θｍを受け取るとともに（図１２のステップＳ１０１）、パルス処理部１３からフィードバックされた角度情報θｆｂを受け取る（図１２のステップＳ１０２）。
【００７０】
補償部１１は、角度情報θｍと角度情報θｆｂとの偏差ｅ（＝θｍ−θｆｂ）を算出する（図１２のステップＳ１０３）。その後、補償部１１は、例えば、偏差ｅに対してＰＩ制御を行うことによって補償信号ｄを出力する（図１２のステップＳ１０４）。
【００７１】
その後、カウンタパルス出力部１２は、補償信号ｄの補償量に応じた周波数（即ち、ロータの回転周波数に比例する周波数）のカウンタパルスＣＰを、補償信号ｄの正負を表す符号情報Ｆ１とともに出力する（図１２のステップＳ１０５及びＳ１０６）。
【００７２】
なお、カウンタパルスＣＰは、例えば、演算処理部１０３に内蔵されたタイマを用いることによって生成される。具体的には、カウンタパルス出力部１２は、タイマによるカウント値ＴＣが閾値Ｎに達したタイミングでカウンタパルスＣＰを発生させるとともに、タイマによるカウント値ＴＣをゼロにリセットする（図１２のステップＳ１０６）。ここで、閾値Ｎは、補償信号ｄの補償量に応じた値に設定される（図１２のステップＳ１０５）。
【００７３】
また、２相パルス出力部３１は、補償信号ｄの補償量に応じた周波数（即ち、ロータの回転周波数に比例する周波数）、かつ、補償信号ｄの正負に応じた位相のずれを有する２相のパルス信号ＰＡ，ＰＢを出力する（図１２のステップＳ１０７）。
【００７４】
なお、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢは、カウンタパルスＣＰの場合と同様に、演算処理部１０３に内蔵されたタイマを用いることによって生成される。具体的には、２相パルス出力部３１は、タイマによるカウント値ＴＣが閾値Ｎａに達したタイミングでＡ相パルス信号ＰＡの電圧レベル（論理値）を変化させるとともに、タイマによるカウント値ＴＣが閾値Ｎｂに達したタイミングでＢ相パルス信号ＰＢの電圧レベル（論理値）を変化させる。
【００７５】
ここで、閾値Ｎａ，Ｎｂは、以下の式（７）のように表される。
【００７６】
ｄ＞０の場合、Ｎａ＝（１／４）・Ｎ、かつ、Ｎｂ＝（３／４）・Ｎ
ｄ＜０の場合、Ｎａ＝（３／４）・Ｎ、かつ、Ｎｂ＝（１／４）・Ｎ  ・・・（７）
【００７７】
ただし、ｄ＝０の場合（即ち、ロータが回転していない場合）、例えば閾値Ｎａ，Ｎｂに対してタイマカウンタの最大値＋１を設定することにより、コンペアマッチ動作を停止させる。
【００７８】
また、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢの生成時において閾値Ｎａ，Ｎｂとの比較に用いられるカウント値は、カウンタパルスＣＰの生成時において閾値Ｎとの比較に用いられるカウント値のリセットに同期してリセットされる。つまり、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢは、それぞれ、カウンタパルスＣＰの発生毎に、カウンタパルスの発生タイミングを基準にして、電圧レベル（論理値）を変化させている。
【００７９】
その後、パルス処理部１３は、アップダウンカウンタによる一定周期当たりのカウント値を角度情報θｆｂとして出力する（図１２のステップＳ１０８のＹＥＳ→ステップＳ１０９）。なお、パルス信号生成器１は、動作を継続しない場合には、動作を停止させる（図１２のステップＳ１０８のＮＯ）。
【００８０】
図１３を参照すると、まず、閾値ＮがＮ１の場合に、カウンタパルスＣＰの周波数ｆはｆ１となる（時刻ｔ１１〜ｔ１３）。その後、ロータの回転周波数が小さくなることによって閾値ＮがＮ１からＮ２（Ｎ２＞Ｎ１）に変化すると、それに伴って、カウンタパルスＣＰの周波数ｆがｆ１からｆ２（ｆ２＜ｆ１）に変化する（時刻ｔ１３〜時刻ｔ１７）。
【００８１】
また、ｄ＞０、即ち、符号情報Ｆ１がＨレベルの場合（時刻ｔ１１〜ｔ１５）、タイマによるカウント値ＴＣが、カウンタパルスＣＰの発生タイミングでリセットされてから閾値Ｎの４分の１の閾値Ｎａに達するたびに、Ａ相パルス信号ＰＡの電圧レベル（論理値）が変化している（時刻ｔ１１ａ，ｔ１２ａ，ｔ１３ａ，ｔ１４ａ）。また、タイマによるカウント値ＴＣが、カウンタパルスＣＰの発生タイミングでリセットされてから閾値Ｎの４分の３の閾値Ｎｂに達するたびに、Ｂ相パルス信号ＰＢの電圧レベル（論理値）が変化している（時刻ｔ１１ｂ，ｔ１２ｂ，ｔ１３ｂ，ｔ１４ｂ）。
【００８２】
他方、ｄ＜０、即ち、符号情報Ｆ１がＬレベルの場合（時刻ｔ１５〜ｔ１７）、タイマによるカウント値ＴＣが、カウンタパルスＣＰの発生タイミングでリセットされてから閾値Ｎの４分の１の閾値Ｎｂに達するたびに、Ｂ相パルス信号ＰＢの電圧レベル（論理値）が変化している（時刻ｔ１５ｂ，ｔ１６ｂ）。また、タイマによるカウント値ＴＣが、カウンタパルスＣＰの発生タイミングでリセットされてから閾値Ｎの４分の３の閾値Ｎａに達するたびに、Ａ相パルス信号ＰＡの電圧レベル（論理値）が変化している（時刻ｔ１５ａ，ｔ１６ａ）。
【００８３】
ここで、図１３からもわかるように、２相のパルス信号ＰＡ，ＰＢは、カウンタパルスＣＰの周波数ｆ（即ち、ロータの回転周波数に比例する周波数）に応じた周波数を有している。具体的には、２相のパルス信号ＰＡ，ＰＢは、カウンタパルスＣＰの周波数ｆの２分の１の周波数を有している。そのため、２相のパルス信号ＰＡ，ＰＢを受け取ったモータ制御装置は、２相のパルス信号ＰＡ，ＰＢの周波数によって、モータの回転数を判断することができる。
【００８４】
また、図１３からもわかるように、ｄ＞０の場合（時刻ｔ１１〜ｔ１５）、Ａ相パルス信号ＰＡの論理値変化に対して所定の位相（例えば９０度）分だけ遅れてＢ相パルス信号ＰＢの論理値が変化する。それに対し、ｄ＜０の場合（時刻ｔ１５〜ｔ１７）、Ｂ相パルス信号ＰＢの論理値変化に対して所定の位相（例えば９０度）分だけ遅れてＡ相パルス信号ＰＡの論理値が変化する。そのため、２相のパルス信号ＰＡ，ＰＢを受け取ったモータ制御装置は、２相のパルス信号ＰＡ，ＰＢ間の位相のずれの違いによって、モータの回転方向を判断することができる。
【００８５】
このように、本実施の形態にかかるパルス信号生成器３は、パルス信号生成器１と同等の効果を奏することができるとともに、パルス信号生成器１の場合と比較して２相のパルス信号ＰＡ，ＰＢの分解能を２倍に向上させることができる。
【００８６】
なお、本実施の形態では、共通のタイマによるカウント値を用いてカウンタパルスＣＰ、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢを生成する場合について説明したが、これに限られない。カウンタパルスＣＰの生成に用いられるタイマのカウント値のリセットに同期してカウント値がリセットされるのであれば、Ａ相パルス信号ＰＡ及びＢ相パルス信号ＰＢの生成に用いられるタイマは、カウンタパルスＣＰの生成に用いられるタイマと異なっていても良い。
【００８７】
（角度検出システムＳＹＳ３の変形例）
図１４は、角度検出システムＳＹＳ３の変形例を角度検出システムＳＹＳ３ａとして示すブロック図である。図１４に示すように、角度検出システムＳＹＳ３ａは、角度検出装置１００と、パルス信号生成器３ａと、を備える。パルス信号生成器３ａは、パルス信号生成器３と比較して、ＦＦ補償部２１をさらに備える。ＦＦ補償部２１については、既に説明したとおりである。
【００８８】
パルス信号生成器３ａは、パルス信号生成器３と同等の効果を奏することができるとともに、パルス信号生成器２の場合と同様に、ロータの回転角度の情報を速やかに２相のパルス信号ＰＡ，ＰＢの形式に変換して出力することができる。
【００８９】
以上のように、上記実施の形態１〜３にかかるパルス信号生成器は、レゾルバに設けられたロータの回転角度（即ち、モータの回転角度）を表すデータである角度情報θｍを、後段のモータ制御装置から要求される２相のパルス信号ＰＡ，ＰＢの形式に変換して出力することができる。
【００９０】
なお、上記実施の形態１〜３にかかるパルス信号生成器の全部又は一部の構成要素により実現される処理は、演算処理部１０３などの汎用的なコンピュータシステムによって実現可能である。以下、図１５を用いて簡単に説明する。
【００９１】
図１５は、パルス信号生成器１のハードウェア構成の一例を示すブロック図である。コンピュータ２００は、例えば、制御装置であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３と、外部とのインターフェースであるＩＦ（Ｉｎｔｅｒ  Ｆａｃｅ）２０４と、不揮発性記憶装置の一例であるＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０５と、を備える。さらに、コンピュータ２００は、その他図示しない構成として、キーボードやマウス等の入力装置やディスプレイ等の表示装置を備えていても良い。
【００９２】
ＨＤＤ２０５には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）（不図示）と、パルス信号生成プログラム２０６と、が記憶されている。パルス信号生成プログラム２０６は、実施の形態１に係るパルス信号生成処理が実装されたコンピュータプログラムである。
【００９３】
ＣＰＵ２０１は、コンピュータ２００における各種処理、ＲＡＭ２０２、ＲＯＭ２０３、ＩＦ２０４及びＨＤＤ２０５へのアクセス等を制御する。コンピュータ２００は、ＣＰＵ２０１がＨＤＤ２０５に記憶されたＯＳ及びパルス信号生成プログラム２０６を読み込み、実行する。これにより、コンピュータ２００は、実施の形態１にかかるパルス信号生成器１を実現する。
【００９４】
ここでは、パルス信号生成器１が汎用的なコンピュータシステムにより実現された場合について説明したが、これに限られない。パルス信号生成器２，３，３ａの場合も同様に汎用的なコンピュータシステムにより実現されることができる。
【００９５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【００９６】
上記実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００９７】
（付記１）
レゾルバに設けられたロータの回転角度を表すデータである第１角度情報と、フィードバックされた第２角度情報と、の偏差を補償するための補償信号を出力する処理と、
前記補償信号の補償量に応じた周波数のカウンタパルスを、前記補償信号の正負を表す符号情報とともに出力する処理と、
前記符号情報に応じて前記カウンタパルスのカウントアップ及びカウントダウンの何れかを行うカウンタによる一定周期当たりのカウント値を前記第２角度情報として出力する処理と、
前記カウンタの一部のビットの値を用いて、前記ロータの回転角度を表す２相のパルス信号を生成する処理と、
をコンピュータに実行させるプログラム。
【００９８】
（付記２）
レゾルバに設けられたロータの回転角度を表すデータである第１角度情報と、フィードバックされた第２角度情報と、の偏差を補償するための補償信号を出力する処理と、
前記補償信号の補償量に応じた周波数のカウンタパルスを、前記補償信号の正負を表す符号情報とともに出力する処理と、
前記符号情報に応じて前記カウンタパルスのカウントアップ及びカウントダウンの何れかを行うカウンタによる一定周期当たりのカウント値を前記第２角度情報として出力する処理と、
前記補償信号の補償量に応じた周波数、かつ、前記補償信号の正負に応じた位相のずれを有する、前記ロータの回転角度を表す２相のパルス信号を出力する処理と、
をコンピュータに実行させるプログラム。
【符号の説明】
【００９９】
１〜３  パルス信号生成器
３ａ  パルス信号生成器
１１  補償部
１２  カウンタパルス出力部
１３  パルス処理部
１３ａ，１３ｂ  パルス処理部
２１  フィードフォワード補償部（ＦＦ補償部）
３１  ２相パルス出力部
１００  角度検出装置
１０１  レゾルバ
１０２  ＲＤＣ
１０３  演算処理部
１３１  アップダウンカウンタ
１３２  排他的論理和回路（ＸＯＲ回路）
１３３  アップダウンカウンタ
１３４  排他的論理和回路（ＸＯＲ回路）
２００  コンピュータ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  ＩＦ
２０５  ＨＤＤ
２０６  パルス信号生成プログラム
ＳＹＳ１〜ＳＹＳ３  角度検出システム
ＳＹＳ３ａ  角度検出システム
【図１】
2019207184.tif 000005
【図２】
2019207184.tif 000006
【図３】
2019207184.tif 000007
【図４】
2019207184.tif 000008
【図５】
2019207184.tif 000009
【図６】
2019207184.tif 000010
【図７】
2019207184.tif 000011
【図８】
2019207184.tif 000012
【図９】
2019207184.tif 000013
【図１０】
2019207184.tif 000014
【図１１】
2019207184.tif 000015
【図１２】
2019207184.tif 000016
【図１３】
2019207184.tif 000017
【図１４】
2019207184.tif 000018
【図１５】
2019207184.tif 000019