(57)【要約】【課題】異常検出処理頻度の抑制により演算処理負荷を軽減した上で、精度の高い異常検出を実行することが可能な回転角検出装置を提供する。【解決手段】Ｒ／Ｄコンバータ部１４は、レゾルバ１２からの出力信号に基づいて、モータジェネレータ４の回転角に対応させてｎビットのカウント値が増減するように構成されたＲ／Ｄ変換カウンタ１１５と、Ｒ／Ｄ変換カウンタ１１５のカウント値が予め設定された割込角度に対応するカウント値と一致したときに、割込信号ＴＲ１を発生する割込信号発生回路１１０を含む。マイコン部４０は、割込信号ＴＲ１が発生され、かつ、レゾルバ１２を励磁する参照信号Ｒｅｆの絶対値が所定レベル以上であるときに、異常検出制御部１４０によるＲ／Ｄコンバータ部１４の異常検出処理を実行する。【選択図】図１
2009139096.tif 000002
【特許請求の範囲】
【請求項１】
回転機の回転角に応じて参照信号が振幅変調されたアナログ信号を出力するレゾルバからの出力信号に基づいて前記回転角を検出する回転角検出装置であって、
前記レゾルバからの前記出力信号である回転角信号に基づいて、前記回転角に対応させてｎビット（ｎ：２以上の整数）のカウント値が増減するように構成されたカウンタを含む変換部と、
前記カウンタによるカウント値に基づいて、前記回転機の電気角を求める制御部とを備え、
前記変換部は、
前記カウンタによるカウント値が、前記回転角の１回転の間で予め複数個設定された割込角度の各々に対応するカウント値と一致したときに、割込信号を発生する割込信号発生回路をさらに含み、
前記制御部は、
前記割込信号の発生に応答して、前記変換部の異常検出処理を実行する異常検出制御部を含み、
前記異常検出制御部は、
前記割込信号の発生に応答して、現在の前記回転角信号に対応する前記カウンタのカウント値に基づいて第１の回転角を算出する第１の算出部と、
前記割込信号の発生に応答して、現在の前記回転角信号をサンプリングする割込サンプリング部と、
前記割込サンプリング部によってサンプリングされた前記回転角信号に基づく演算によって第２の回転角を算出する第２の算出部と、
前記第１および前記第２の回転角の差が所定値より大きいときに、前記変換部の異常を検出する異常検出部とを含む、回転角検出装置。
【請求項２】
前記制御部は、
前記参照信号の絶対値が所定値より小さい期間には、前記割込信号の発生を無効にする無効化回路をさらに含む、請求項１記載の回転角検出装置。
【請求項３】
前記変換部は、前記カウント値に基づくｍビット（ｍ：２以上の整数）の変調デジタル信号をアナログ変換した電圧と、前記回転角信号との間でのアナログ演算に基づいて、前記カウント値の増減を制御するように構成された演算部をさらに含み、
前記割込角度は、前記変調デジタル信号のｍビットの各々が０となる前記カウント値に対応する第１の角度、および、前記変調デジタル信号のｍビットのうちの１ビットのみが１となる前記カウント値に対応するｍ個の第２の角度を含むように設定される、請求項１記載の回転角検出装置。
【請求項４】
前記演算部は、
前記カウント値に応じて前記変調デジタル信号を出力するテーブル部と、
前記テーブル部からの前記変調デジタル信号と、前記回転角信号との乗算に従うアナログ電圧を出力する乗算型デジタル／アナログコンバータとを有する、請求項３記載の回転角検出装置。
【請求項５】
前記制御部は、前記カウント値に基づいて求めた前記電気角を用いて前記回転機の動作を制御するための制御処理を実行するとともに、前記異常検出制御部による前記異常検出処理を、前記割込信号に発生に応答して起動される割込処理として実行する、請求項１記載の回転角検出装置。
【請求項６】
前記変換部および前記制御部は、同一パッケージ内に収納される、請求項１〜５のいずれか１項に記載の回転角検出装置。
【請求項７】
前記変換部および前記制御部は、同一チップ上に構成される、請求項１〜５のいずれか１項に記載の回転角検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回転角検出装置に関し、より特定的には、レゾルバを用いる回転角検出装置に関する。
【背景技術】
【０００２】
回転機のロータ回転角を検出するセンサとしてレゾルバが知られている。レゾルバで検出された回転角は、当該回転機の電流制御などに用いられる。一般的に、レゾルバは、検出対象である回転機のロータと機械的に連結されたロータと、複数のコイル巻線を内蔵したステータとにより構成される。
【０００３】
レゾルバのロータを楕円形で構成することにより、ロータの回転に伴ってステータおよびロータ間のギャップ長が変化するので、ステータに内蔵された複数のコイル巻線のうちの一次巻線に参照信号として正弦波ｓｉｎωｔの信号を入力すると、電気角で９０°の位相差を持って配置された２つの二次巻線間に、それぞれロータ回転角θに応じて変調された出力信号ｓｉｎωｔｓｉｎθ，ｓｉｎωｔｃｏｓθが得られる。
【０００４】
たとえば特開２０００−３９３３７号公報（特許文献１）にも記載されるように、Ｒ／Ｄコンバータ（レゾルバ／デジタルコンバータ）は、電圧制御発振器（ＶＣＯ）により制御される基準回転角φに応じた信号ｓｉｎφ，ｃｏｓφと、ロータ回転角θとを含んだレゾルバ出力信号とから、ｓｉｎ（θ−φ）を算出し、その位相差（θ−φ）を０とするようにφに相当するカウンタ値を増減するＰＬＬ（Phase Locked Loop）制御を行なう。そして、ＰＬＬ制御が収束している状態、すなわち（θ−φ）＝０の状態でのφを、ロータ回転角θの値として検出する。
【０００５】
このようなＲ／Ｄコンバータの異常を検出するため、レゾルバの出力信号をＲ／Ｄコンバータとは別個に処理する異常検出装置が設けられる。特開２０００−３９３３７号公報（特許文献１）にも記載されるように、このような異常検出装置では、レゾルバ出力信号に含まれるロータ回転角θの情報を取出すために、参照信号成分を除去し、参照信号を振幅変調している変調信号ｓｉｎθ，ｃｏｓθを取出す検波が行なわれる。そして、これらのｓｉｎθおよびｃｏｓθに基づいて、ｓｉｎ2θ＋ｃｏｓ2θあるいは、｜ｓｉｎθ｜＋｜ｃｏｓθ｜を平滑化した値に基づいて、異常検出を行なうことが知られている。
【０００６】
特に、特許文献１では、参照信号のゼロ点を検出するとともに、検出したゼロ点の間隔に基づいて参照信号のピーク位置を求め、当該ピーク位置に基づいてレゾルバ信号をサンプリングすることによって、異常検出精度を向上することが記載されている。
【０００７】
また、特開２００５−１４０５２５号公報（特許文献２）では、異常検出の際に、ｓｉｎ2θ＋ｃｏｓ2θの演算処理によるＣＰＵへの負担を考慮して、ｓｉｎθおよびｃｏｓθの組合せが正常あるいは異常のいすれであるかを判定できるマップを予め用意して、検出したｓｉｎθおよびｃｏｓθの組合せを当該マップ上に写像することにより、ＣＰＵの負担を軽減した異常検出を実行することが記載されている。
【特許文献１】特開２０００−３９３３７号公報
【特許文献２】特開２００５−１４０５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載された異常検出装置では、１０ｋＨｚ程度の高周波信号である参照信号のピークに合わせて、ロータ回転角θの算出を伴う異常検出処理を逐次実行することとなるので、その実行頻度が高くなることにより演算処理負荷が高くなる。
【０００９】
特に、Ｒ／Ｄコンバータの出力を用いて回転機の制御（モータ制御）を実行するマイコン（ＣＰＵ：Central Procerssing Unit）での割込処理によって、上記異常検出処理を実行する構成では、本来のモータ制御の周期が短くなる高回転速度時において、ＣＰＵ負荷の上昇が特に懸念される。
【００１０】
この発明はこのような問題点を解決するためになされたものであって、この発明の目的は、異常検出処理頻度の抑制により演算処理負荷を軽減した上で、精度の高い異常検出を実行することが可能な回転角検出装置を提供することである。
【課題を解決するための手段】
【００１１】
この発明による回転角検出装置は、回転機の回転角に応じて参照信号が振幅変調されたアナログ信号を出力するレゾルバからの出力信号に基づいて回転角を検出する回転角検出装置であって、変換部と、制御部とを備える。変換部は、レゾルバからの出力信号である回転角信号に基づいて、回転角に対応させてｎビット（ｎ：２以上の整数）カウント値が増減するように構成されたカウンタを含むように構成される。制御部は、カウンタによるカウント値に基づいて、回転機の電気角を求める。変換部は、カウンタによるカウント値が、回転角の１回転の間で予め複数個設定された割込角度の各々に対応するカウント値と一致したときに、割込信号を発生する割込信号発生回路をさらに含む。そして、制御部は、割込信号の発生に応答して、変換部の異常検出処理を実行する異常検出制御部を含む。異常検出制御部は、第１および第２の算出部と、割込サンプリング部と、異常検出部とを有する。第１の算出部は、割込信号の発生に応答して、現在の回転角信号に対応するカウンタのカウント値に基づいて第１の回転角を算出する。割込サンプリング部は、割込信号の発生に応答して、現在の回転角信号をサンプリングする。第２の算出部は、割込サンプリング部によってサンプリングされた回転角信号に基づく演算によって第２の回転角を算出する。異常検出部は、第１および第２の回転角の差が所定値より大きいときに、変換部の異常を検出する。
【００１２】
好ましくは、制御部は、カウント値に基づいて求めた電気角を用いて回転機の動作を制御するための制御処理を実行するとともに、異常検出制御部による異常検出処理を、割込信号に発生に応答して起動される割込処理として実行する。
【００１３】
上記回転角検出装置によれば、回転角検出装置の構造上、角度検出誤差が高くなることが懸念される回転角を予め割込角度に設定することにより、当該割込角度の到来に応答して異常検出処理を実行することができる。したがって、異常検出処理頻度を過度に高めることなく、精度よく回転角検出装置の異常を検出できる。これにより、異常検出処理用のＣＰＵを別個設けることなく、通常のモータ制御に係る演算負荷が増大するモータ高回転時においても、モータ制御用の制御部（マイコン部）における割込処理として異常検出処理を実行できるので、コスト面で有利となる。
【００１４】
また好ましくは、制御部は、参照信号の絶対値が所定値より小さい期間には、割込信号の発生を無効にする無効化回路をさらに含む。
【００１５】
このように構成すると、参照信号のレベル（絶対値）が大きく、割込サンプリング部によってサンプリングされる回転角信号（アナログ信号）の出力レベルが高いケースに限定して上記異常検出処理を実行できる。この結果、回転角信号の低レベル時にノイズの影響で異常を誤検出することを防止して、異常検出精度を向上できる。
【００１６】
あるいは好ましくは、変換部は、カウント値に基づくｍビット（ｍ：２以上の整数）の変調デジタル信号をアナログ変換した電圧と、回転角信号との間でのアナログ演算に基づいて、カウント値の増減を制御するように構成された演算部をさらに含む。そして、割込角度は、変調デジタル信号のｍビットの各々が０となるカウント値に対応する第１の角度、および、変調デジタル信号のｍビットのうちの１ビットのみが１となるカウント値に対応するｍ個の第２の角度を含むように設定される。
【００１７】
さらに好ましくは、演算部は、カウント値に応じて変調デジタル信号を出力するテーブル部と、テーブル部からの変調デジタル信号と、回転角信号との乗算に従うアナログ電圧を出力する乗算型デジタル／アナログコンバータとを有する。
【００１８】
このように構成すると、変換部（Ｒ／Ｄコンバータ）でのデジタル／アナログ変換の際に発生する各ビットの変換誤差に着目して、異常検出処理の実行回数に対する異常検出精度を高めることができる。具体的には、デジタル／アナログコンバータで一般的に誤差の主要因となる、各ビットでの抵抗誤差に起因する検出誤差を評価することが可能となるので、効率よく異常検出を実行できる。
【００１９】
好ましくは、変換部および制御部は、同一パッケージ内に収納される。あるいは、変換部および制御部は、同一チップ上に構成される。
【００２０】
このように構成すると、変換部（Ｒ／Ｄコンバータ）と、制御部（ＣＰＵ）との間で、割込信号および回転角信号を伝達する際の放射ノイズ、外来ノイズの影響を低減して、異常検出を高精度に実行できる。
【発明の効果】
【００２１】
この発明による回転角検出装置によれば、異常検出処理の頻度を抑制して演算処理負荷を軽減した上で、精度の高い異常検出を実行することができる。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明の実施の形態について図面を参照して詳細に説明する。なお以下図中の同一または相当部分には同一符号を付してその説明は原則的には繰返さないものとする。
【００２３】
図１は、本発明の実施の形態による回転角検出装置が適用されるモータ駆動システム１００の構成を示すブロック図である。
【００２４】
図１を参照して、モータ駆動システム１００は、インバータ装置２と、「回転機」であるモータジェネレータ４と、モータジェネレータ４のロータシャフトに機械的に連結されたレゾルバ１２とを含む。
【００２５】
モータ駆動システム１００は、代表的には、電気自動車、ハイブリッド自動車、燃料電池自動車等に搭載され、モータジェネレータ４は、車輪を駆動するために使用される。なお、他の用途にモータジェネレータ４を使用しても良い。
【００２６】
レゾルバ１２は、楕円等の偏心形状をしたロータシャフト（図示せず）と、ステータ（図示せず）に設けられた一次巻線１５と、９０°の位相差をもってステータに配置された二つの２次巻線１６，１７とを含む。ロータシャフトの外形は、ステータとのギャップが角度によって正弦波状に変化するような形状である。
【００２７】
インバータ装置２は、モータ制御回路６と、ＩＰＭ（Intelligent Power Module）７と、電流センサ８，９とを含む。ＩＰＭ７は、モータジェネレータ４のステータコイル（図示せず）に流す電流を制御するためのＩＧＢＴ（Insulated Gate Bipolar Transistor）などのパワースイッチング素子を含む。モータジェネレータ４のステータコイルはＵ相、Ｖ相、Ｗ相のコイルを含む。Ｕ相、Ｖ相、Ｗ相のコイルはＹ結線されているので、Ｖ相、Ｗ相の電流を電流センサ８，９によって測定すればＵ相の電流は演算で求めることができる。
【００２８】
モータ制御回路６は、マイコン部４０とＲ／Ｄコンバータ部１４が１チップに集積された制御ＩＣ１０と、電流センサ８，９の出力をそれぞれ増幅するアンプＡ１，Ａ２と、制御ＩＣ１０からの励磁用参照信号Ｒｅｆに基づいてレゾルバ１２の一次巻線１５を励磁するアンプＡ３と、レゾルバ１２の２次巻線１６，１７からの出力信号を増幅して制御ＩＣ１０へ入力するアンプＡ４，Ａ５とをさらに含む。本実施の形態による回転角検出装置は、図１では制御ＩＣ１０によって構成される。なお、マイコン部４０とＲ／Ｄコンバータ部１４とは、異なるチップ上に構成された後に、同一パッケージ内に収容されて一体化されてもよい。
【００２９】
Ｒ／Ｄコンバータ部１４は、割込信号発生回路１１０と、ロータ回転角θに対応してカウント値を増減するように構成されたＲ／Ｄ変換カウンタ１１５とを含む。また、マイコン部４０は、電気角カウンタ１２０と、割込信号無効化回路１３０と、異常検出制御部１４０とを含む。マイコン部（ＣＰＵ）４０およびＲ／Ｄコンバータ部１４の構成は、後ほど詳細に説明する。
【００３０】
モータジェネレータ４にはレゾルバ１２のロータシャフトが機械的に連結され、レゾルバ１２の一次巻線１５には、マイコン部４０内のＤ／Ａコンバータにより生成された、たとえば１０ｋＨｚの励磁正弦波信号（sinωｔ）である参照信号Ｒｅｆを電流増幅アンプＡ３で増幅した信号が印加される。
【００３１】
レゾルバ１２は、回転トランスであり、二次巻線１６（Ｓｉｎ巻線）および二次巻線１７（Ｃｏｓ巻線）には、モータジェネレータ４の回転に伴い、変調された１０ｋＨｚ正弦波が誘導される。この結果、９０°の位相差をもって配置された二つの２次巻線１６，１７には、それぞれ回転角θに応じて変調されたＳｉｎ信号（sinωｔsinθ），およびＣｏｓ信号（sinωｔcosθ）が得られる。これらＳｉｎ信号およびＣｏｓ信号は、レゾルバ１２の「回転角信号」に対応する。
【００３２】
ＳＩＮ巻線１６、ＣＯＳ巻線１７からＲ／Ｄコンバータ部１４に与えられたＳｉｎ信号およびＣｏｓ信号は、Ｒ／Ｄコンバータ部１４での演算によってデジタル角度データに変換される。このデジタル角度データはＲ／Ｄ変換カウンタ１１５のカウント値に相当する。
【００３３】
Ｒ／Ｄ変換カウンタ１１５のカウント値は、データバス等を介して、マイコン部４０の電気角カウンタ１２０へ入力される。なお、Ｒ／Ｄ変換カウンタ１１５と電気角カウンタ１２０とは、共通のカウンタによって構成されてもよい。マイコン部４０は、電気角カウンタ１２０のカウント値に基づいて、モータジェネレータ４の回転角（電気角）を検知する。
【００３４】
さらに、ＩＰＭ７のＶ相、Ｗ相電流値は電流センサ８，９で検出され、バッファアンプＡ１，Ａ２を介しマイコン部４０のＡ／Ｄ変換入力に印加される。
【００３５】
マイコン部４０は、上位のＥＣＵ（たとえば、ハイブリッド車両では、ハイブリッドＥＣＵ）より通信で送られてきたトルク指令と、電流センサ８，９による検出値から求められる電流値と、上記カウント値から求められる電気角とに基づいて、ＩＰＭ７のパワースイッチング素子をオンオフ制御するためのＵ，Ｖ，Ｗ相の三相ＰＷＭ信号を出力する。たとえば、トルク指令と、電流値と、電気角とを用いたｄｑ軸演算を実行して、その演算結果とＰＷＭタイマとの比較によって、Ｕ，Ｖ，Ｗ相の通電デューティー比が決定される。
【００３６】
ＩＰＭ７のパワースイッチング素子が、マイコン部４０からの三相ＰＷＭ信号に従ってオンオフ制御されることによって、モータジェネレータ４がトルク指令に従って動作するように、モータジェネレータ４の通電は制御される。
【００３７】
図２は、図１に示したマイコン部（ＣＰＵ部）４０およびＲ／Ｄコンバータ部１４の構成を示すブロック図である。
【００３８】
図２を参照して、制御ＩＣ１０は、カウンタ２６と、レゾルバからの回転角信号を受け、Ｒ／Ｄ変換カウンタ１１５（カウンタ２６）のカウント値を回転角信号に対応するように増減させるＲ／Ｄコンバータ部１４と、電気角カウンタ１２０のカウント値を読み出してモータジェネレータ４の電気角として用いモータ電流を制御するマイコン部４０とを備える。すなわち、マイコン部４０は、Ｒ／Ｄコンバータ部１４によって検出されたロータ回転角θを用いて、モータジェネレータ４の動作を制御する。
【００３９】
マイコン部４０は、中央処理装置（ＣＰＵ）４２と、ＣＰＵ４２にデータを転送するためのデータバス５６とを含む。
【００４０】
カウンタ２６は、データバス５６にカウント値を出力可能に構成されて、マイコン部４０およびＲ／Ｄコンバータ部１４によって共用される。すなわち、共通のカウンタ２６によって、図１に示したＲ／Ｄ変換カウンタ１１５および電気角カウンタ１２０の両方が構成されるものとする。
【００４１】
ＣＰＵ４２は、乗算器８２と、算術・論理演算ユニット（ＡＬＵ）８４と、プログラムカウンタ（ＰＣ）８６と、シフタ８８と、システムレジスタ９０と、汎用レジスタ９２とを含む。
【００４２】
マイコン部４０は、さらに、タイマ回路４４と、バスコントロールユニット（ＢＣＵ）４６と、メモリコントローラ（ＭＥＭＣ）４８と、ＤＭＡＣ（Direct Memory Access Controller）５０と、ＲＯＭ（Read Only Memory）５２と、ＲＡＭ（Random Access Memory）５４とを含む。タイマ回路４４は、タイマＴＭ０〜ＴＭ４を含む。
【００４３】
ＢＣＵ４６は、ＣＰＵ４２で得られた物理アドレスに基づいて必要な外部バスサイクルを起動する。ＭＥＭＣ４８は、外部拡張時にメモリや各種入出力の制御を行なう。ＤＭＡＣ５０は、ＣＰＵ４２の代わりにメモリ、Ｉ／Ｏ間でのデータ転送を行なう。
【００４４】
マイコン部４０は、さらに、割込コントローラ（ＩＮＴＣ）５８と、非同期シリアルインタフェース（ＵＡＲＴ０〜ＵＡＲＴ２）６０，６２，６４と、クロック同期シリアルインタフェース（ＣＳＩ）６６と、ＣＡＮ（Controller Area Network）通信ユニット６８と、汎用ポート７０と、Ｄ／Ａ変換器（ＤＡＣ）７１と、Ａ／Ｄ変換器（ＡＤＣ）７２と、クロックジェネレータ（ＣＫＧ）７４と、システムコントローラ７６とを含む。
【００４５】
Ｒ／Ｄコンバータ部１４は、回転角信号の示す値とカウンタ２６のカウント値との差を検出する演算部１９と、電圧制御発振器（ＶＣＯ）２４とを含む。電圧制御発振器（ＶＣＯ）２４は、演算部１９により検出された誤差に基づいてカウンタ２６のカウントアップとカウントダウンの動作切換を行なうアップダウン切換信号Ｕ／Ｄをカウンタに対して出力するとともにカウントアップまたはカウントダウンのためのクロック信号ＣＬＫを出力する。
【００４６】
Ｒ／Ｄコンバータ部１４は、レゾルバ出力に基づき得られる回転角θに対応するデジタル値に、カウンタ２６のカウント値φを一致させる。カウント値φは、ｎビット（ｎ：２以上の整数）のデジタル信号である。本実施の形態では、一例としてｎ＝１２とする。
【００４７】
演算部１９は、減算器１８と、同期検波部２０と、積分器２２と、コサインＲＯＭテーブル２７と、乗算型Ｄ／Ａコンバータ２８，２９と、サインＲＯＭテーブル３０と、を含む。
【００４８】
Ｒ／Ｄコンバータ部１４は、図１のレゾルバ１２の二次巻線１６（Ｓｉｎ側）の両端が接続される差動アンプ３２と、二次巻線１７（Ｃｏｓ側）の両端が接続される差動アンプ３４と、差動アンプ３２および３４の出力に基づいて位相を検出して同期検波部２０に検波用の参照信号sinωｔを送信する位相検出部３６とをさらに含む。
【００４９】
差動アンプ３２には、回転角θにより参照信号Ｒｅｆが変調されたアナログ信号である電圧sinωｔsinθが回転角信号（図１に示したＳｉｎ信号）として入力される。また差動アンプ３４には、回転角θにより参照信号Ｒｅｆが変調されたアナログ信号である電圧sinωｔcosθが回転角信号（図１に示したＣｏｓ信号）として入力される。
【００５０】
Ｒ／Ｄコンバータ部１４は回転角θに相当するカウント値φを設定するカウンタ２６を用いる。上述のように、このカウンタ２６は、マイコン部４０と共用されて、電気角カウンタ１２０（図１）としても機能する。すなわち、カウンタ２６は、ＣＰＵ４２からの指令に応答して、カウント値φをデータバス５６に出力可能に構成されている。
【００５１】
コサインＲＯＭテーブル２７は、カウント値φをcosφに変換したｍビットのデジタル信号を出力する。本実施の形態では、一例としてｍ＝１０とする。乗算型Ｄ／Ａコンバータ２８は、ｍビットのデジタル信号で与えたれたcosφをアナログ値に変換するとともにに、アンプ３２の出力sinωｔsinθをさらに乗算したアナログ電圧sinωｔsinθcosφを出力する。
【００５２】
同様に、サインＲＯＭテーブル３０は、カウント値φをsinφに変換したｍビットのデジタル信号を出力する。乗算型Ｄ／Ａコンバータ２９は、ｍビットのデジタル信号で与えられたsinφをアナログ値に変換すると共に、アンプ３４の出力sinωｔcosθをさらに乗算したアナログ電圧sinωｔcosθsinφを出力する。
【００５３】
減算器１８は、乗算型Ｄ／Ａコンバータ２８，２９の出力電圧間の差を演算する。両出力電圧の差は、sinωｔsinθcosφ−sinωｔcosθsinφ＝sinωｔ（sinθcosφ−cosθsinφ）と変形でき、結局、減算器１８は、sinωｔsin（θ−φ）に対応するアナログ電圧を出力する。
【００５４】
減算器１８の出力電圧と、位相検出部３６で再生された参照信号sinωｔとが同期検波部２０に入力され、同期検波部２０は、変調成分sin（θ−φ）のみを出力する。積分器２２は、同期検波部２０の出力sin（θ−φ）を積分する。積分器２２の積分値が正の所定値より高いと、ＶＣＯ２４はカウント値φを増加させる指示を行なう。すなわち、カウンタ２６がアップダウンカウンタであれば、ＶＣＯ２４はアップ信号ＵとクロックＣＬＫとをカウンタ２６に出力する。
【００５５】
また、積分器２２の出力が、正の所定値と絶対値が等しい負の所定値より低いと、ＶＣＯ２４はカウント値φを減少させる指示を行なう。すなわちカウンタ２６がアップダウンカウンタであれば、ＶＣＯ２４はダウン信号ＤとクロックＣＬＫとをカウンタ２６に出力する。
【００５６】
ＶＣＯ２４による増加、減少指示（Ｕ／Ｄ）により、ｎビット（１２ビット）アップダウンカウンタ２６のカウント値φが増加、減少する。このカウント値φと回転角θの差を小さくするように、演算部１９による前述の演算が行われる。すなわち、サインＲＯＭテーブル３０、コサインＲＯＭテーブル２７、乗算型Ｄ／Ａコンバータ２８，２９、減算器１８、同期検波部２０、積分器２２、ＶＣＯ２４およびカウンタ２６によって形成されたフィードバック回路によって、位相（θ−φ）がほぼ０（所定値以下）となるまで、すなわち回転角θとカウンタ２６のカウント値φがほぼ一致するまで、Ｒ／Ｄコンバータ部１４は演算を繰返す。したがって、セットリングタイムが経過してフィードバックが収束した後は、カウンタ２６のカウント値φは、回転角θを表わすものとなる。
【００５７】
割込信号発生回路１１０は、データテーブル１１２と、デジタル比較器１１４とを含む。データテーブル１１２は、回転角θの１回転のうちにｋ個（ｋ：２以上の整数）設定された所定の割込角度θｉｎｔ（０）〜θｉｎｔ（ｋ−１）に対応する、カウンタ２６のカウント値φｉｎｔ（０）〜φｉｎｔ（ｋ−１）を記憶する。
【００５８】
そして、デジタル比較器１１４は、カウンタ２６のカウント値φが、カウント値φｉｎｔ（０）〜φｉｎｔ（ｋ−１）のいずれかと一致したときに、割込信号ＴＲ１を発生する。
【００５９】
具体的には、割込信号発生回路１１０は、カウンタ２６によるカウント値φが所定の割込角度θｉｎｔ（０）〜θｉｎｔ（ｋ−１）の各々に対応するカウント値のいずれかと一致したときに、異常検出処理を起動するための割込信号ＴＲ１を論理ハイレベル（Ｈレベル）に設定する。それ以外のときには、割込信号ＴＲ１は論理ローレベル（Ｌレベル）に設定される。
【００６０】
マイコン部４０は、参照信号Ｒｅｆのレベルに応じて信号ＰＨ１を生成する振幅検出回路１２５と、図１にも示した割込信号無効化回路１３０とを含む。
【００６１】
振幅検出回路１２５は、参照信号Ｒｅｆの絶対値が所定レベル以上であるときに、信号ＰＨ１をＨレベルに設定する。たとえば、振幅検出回路１２５は、Ｄ／Ａ変換器７１から出力される参照信号Ｒｅｆ（＝ｓｉｎωｔ）の絶対値と所定電圧Ｖｒｅｆとを比較するオペアンプにより構成される。すなわち、信号ＰＨ１は、参照信号Ｒｅｆの絶対値が所定電圧Ｖｒｅｆより高いときはＨレベルに設定される一方で、所定電圧Ｖｒｅｆ以下のときはＬレベルに設定される。
【００６２】
あるいは、振幅検出回路１２５は、Ｄ／Ａ変換器７１によって参照信号Ｒｅｆへ変換される前のデジタル信号に基づき、当該デジタル信号の所定の上位ビットが“１”であるときに信号ＰＨ１をＨレベルに設定する一方で、当該上位ビットが“０”であるときに信号ＰＨ１をＬレベルに設定するように構成することも可能である。
【００６３】
割込信号無効化回路１３０は、たとえば論理ＡＮＤゲートで構成され、割込信号発生回路１１０からの割込信号ＴＲ１と、振幅検出回路１２５からの信号ＰＨ１とのＡＮＤ演算結果を割込信号ＴＲ２として出力する。この結果、割込信号ＴＲ２は、割込信号ＴＲ１がＨレベルに設定されたときであっても、参照信号Ｒｅｆの絶対値が所定電圧Ｖｒｅｆ以下のときには、Ｈレベルに設定されずＬレベルとされる。すなわち、割込信号ＴＲ２は、カウント値φが所定の割込角度θｉｎｔ（０）〜θｉｎｔ（ｋ−１）に対応するカウント値となり、かつ、参照信号Ｒｅｆのレベルが所定より高いときに限ってＨレベルに設定される。
【００６４】
割込信号ＴＲ２は、マイコン部４０による異常検出処理を行なうためのトリガとして、割込コントローラ（ＩＮＴＣ）５８へ入力される。
【００６５】
マイコン部４０は、割込信号ＴＲ２に応答して、Ｒ／Ｄコンバータ部１４の異常検出処理を、通常のモータ制御演算処理に対する割込処理として起動する。これにより、図１に示した異常検出制御部１４０によって、以下に詳細に説明する異常検出処理が実行される。なお、異常検出制御部１４０は、マイコン部４０、より具体的には、ＣＰＵによる所定プログラムの実行によって実現される機能に対応する機能ブロックを示している。
【００６６】
また、本実施の形態において、割込信号無効化回路１３０の配置を省略して、割込信号発生回路１１０からの割込信号ＴＲ１を、そのまま割込コントローラ（ＩＮＴＣ）５８へ入力へ入力してもよい。ただし、割込信号ＴＲ２を用いることにより、参照信号Ｒｅｆの絶対値が所定レベルより高いときに限定して異常検出処理を実行することとなるので、低レベル信号へのノイズ影響によって異常が誤検出されることを防止できる。
【００６７】
図３は、本発明の実施の形態による回転角検出装置における異常検出処理を説明するブロック図である。
【００６８】
図３を参照して、異常検出制御部１４０は、θｒ算出部１４２と、割込サンプリング部１４３と、θｓ算出部１４４と、異常検出部１４６と、ｔａｎ-1θテーブル１４８とを含む。なお、上述のように、異常検出制御部１４０を構成する各ブロックは、マイコン部４０（ＣＰＵ４２）によるソフトウェア処理によって実現される機能ブロックを示すものとする。
【００６９】
θｒ算出部１４２は、割込信号ＴＲ２（ＴＲ１）に応答して、そのときの回転角信号（Ｓｉｎ信号、Ｃｏｓ信号）に基づいて算出されたカウンタ２６のカウント値φに基づいて、回転角θｒを算出する。すなわち、この回転角θｒは、Ｒ／Ｄコンバータ部１４で検出された回転角θに対応する。
【００７０】
割込サンプリング部１４３は、割込信号ＴＲ２（ＴＲ１）に応答して、図１に示したアンプＡ４，Ａ５の出力をＡ／Ｄ変換器７２によって、Ｓｉｎ入力およびＣｏｓ入力としてサンプリングする。
【００７１】
さらに、θｓ算出部１４４は、割込信号ＴＲ２（ＴＲ１）に応答して、割込サンプリング部１４３によってサンプリングされたＳｉｎ信号およびＣｏｃ信号のサンプリング値ＳＳおよびＳＣを受取るとともに、サンプリング値ＳＳおよびＳＣに基づいて、回転角θｓを算出する。
【００７２】
より具体的には、θｓ算出部１４４は、サンプリング値ＳＳおよびＳＣの比に従って、ＳＴ＝ＳＳ／ＳＣ＝ｓｉｎθ／ｃｏｓθを算出するとともに、算出値ＳＴに基づいてｔａｎ-1θテーブル１４８を参照することにより、回転角θｓを算出する。すなわち、この回転角θｓは、サンプリング値ＳＳ，ＳＣに基づいて、マイコン部４０で直接演算して求められた回転角θに相当する。
【００７３】
異常検出部１４６は、同一の回転角信号（Ｓｉｎ信号、Ｃｏｓ信号）、すなわち同一の回転角θに対応して、θｒ算出部１４２によって算出された回転角θｒおよびθｓ算出部１４４によって算出された回転角θｓとを比較する。そして、θｒおよびθｓの差が所定以上である場合に、Ｒ／Ｄコンバータ部１４に異常が発生していることを示す異常検出フラグＦＬＴをオンする。
【００７４】
図４は、図３に示した異常検出処理をの処理手順を説明するフローチャートである。
図４を参照して、ＣＰＵ４２は、ステップＳ１１０により、割込コントローラ（ＩＮＴＣ）５８に入力される割込信号ＴＲ２（ＴＲ１）がＨレベルであるかどうか、すなわち異常検出処理のための割込要求が発生しているかどうかを判定する。
【００７５】
割込要求が発生されていない割込信号ＴＲ２（ＴＲ１）のＬレベル時（Ｓ１００のＮＯ判定時）には、以降のステップＳ１１０〜Ｓ１６０の処理はスキップされて異常検出処理は実行されない。
【００７６】
これに対して、割込信号ＴＲ２（ＴＲ１）のＨレベル時、すなわち、割込要求の発生時（Ｓ１００のＹＥＳ判定時）には、ＣＰＵ４２は、ステップＳ１１０〜Ｓ１６０による異常検出処理を実行する。
【００７７】
ＣＰＵ４２は、ステップＳ１１０により、カウンタ２６によるカウント値φを読込むことにより、Ｒ／Ｄコンバータ部１４で検出されている、現在の回転角θに相当する角度θｒを算出する。すなわち、ステップＳ１１０の処理は、図３のθｒ算出部１４２の機能に対応する。
【００７８】
さらに、ＣＰＵ４２は、ステップＳ１２０により、レゾルバ１２から出力されたＳｉｎ信号およびＣｏｓ信号をサンプリングし、そのサンプリング値ＳＳ，ＳＣを取得する。すなわち、ステップＳ１１０の処理は、図３の割込サンプリング部１４３の機能に対応する。
【００７９】
さらに、ＣＰＵ４２は、ステップＳ１３０により、サンプリング値ＳＳ，ＳＣに基づいてｓｉｎθ，ｃｏｓθを算出し、さらに両者の比であるＳＴ＝ＳＳ／ＳＣ＝ｓｉｎθ／ｃｏｓθを算出する。そして、ＣＰＵ４２は、ステップＳ１４０では、ステップＳ１３０で求めたＳＴを用いてｔａｎ-1θテーブル１４８を参照することにより、レゾルバ出力をマイコン部４０で直接演算して求めた回転角θに相当する角度θｓを算出する。すなわち、ステップＳ１３０，Ｓ１４０の処理は、図３のθｓ算出部１４４の機能に対応する。
【００８０】
ＣＰＵ４２は、ステップＳ１５０により、ステップＳ１１０で求めた角度θｒおよびステップＳ１４０で求めた角度θｓの誤差が、所定の判定値εよりも大きいかどうかを判定する。そして、両者の誤差がεよりも大きい場合（Ｓ１５０のＹＥＳ判定時）には、ステップＳ１６０により、異常検出フラグＦＬＴをセットする。これにより、Ｒ／Ｄコンバータ部１４の異常が検出される。
【００８１】
これに対して、両者の誤差がε以下である場合には、異常検出フラグＦＬＴはセットされずＲ／Ｄコンバータ部１４の異常は検出されない。
【００８２】
このようにすると、回転角θが所定の割込角度と一致したときに限定して一連の異常検出処理を実行するので、その実行頻度を過度に高めて、ＣＰＵの処理負荷が逼迫することがない。
【００８３】
ここで、異常検出処理を起動させるための割込角度の設定については、レゾルバの構造等を考慮して、誤差の周期性等に着目して特定の角度に予め設定することができる。特に、図２に示したＲ／Ｄコンバータ部１４の構成では、一般的に、乗算型Ｄ／Ａコンバータ２８，２９によるデジタル／アナログ変換時の誤差が、支配的な誤差要因となる。この点を考慮すると、たとえば、図５および図６を用いて効率的に割込角度を設定することができる。
【００８４】
図５を参照して、Ｒ／Ｄコンバータ部１４は、ｎビット（ここではｎ＝１２）のカウント値φによって、すなわち１２ビットの分解能により回転角θを表す。たとえば、１２ビットのうちの最上位の２ビットは、回転角θの１回転を４分割した４象限（１象限〜４象限）のいずれであるかを示すためのビットであり、残りの下位側１０ビットにより、各象限内での角度値（０°〜９０°）が１０ビットの分解能で示されている。
【００８５】
図２にも示したように、カウント値φで示される角度に対するｓｉｎφまたはｃｏｓφを出力するＲＯＭテーブル２７，３０が設けられ、各ＲＯＭテーブル２７，３０は、ｍビットのデジタル値としてのｃｏｓφ，ｓｉｎφを、乗算型Ｄ／Ａコンバータ２８，２９へ入力する。なお、ｍは２以上の整数であり、ｎ＝ｍであってもｎ≠ｍであってもよい、ここでは、ｍ＝１０とする。これらのｍビット信号（ｃｏｓφ，ｓｉｎφ）は、「変調デジタル信号」に対応する。
【００８６】
乗算型Ｄ／Ａコンバータ２８，２９は、Ｄ／Ａ変換部２８♯，２９♯により、ｍビット信号をアナログ値に変換することによって、変調デジタル信号であるｃｏｓφ，ｓｉｎφに対応するアナログ電圧を得て、図２で説明した、Ｓｉｎ信号およびＣｏｓ信号（回転角信号）との乗算を実行する。この際に、Ｄ／Ａ変換部２８♯，２９♯では、各ビットの値に従って、２の累乗比に従った抵抗値を有する抵抗を、電流経路に接続あるいは非接続とすることによって、上記アナログ電圧を得る構成が一般的である。このため、各ビットに対応した抵抗値のばらつき誤差が主な誤差要因となる。
【００８７】
したがって、Ｄ／Ａ変換部２８♯，２９♯における、各ビットの変換誤差を評価できれば、これらの誤差の積み重ねで現れる最大誤差についても評価することが可能となる。
【００８８】
したがって、図６に示すように、乗算型Ｄ／Ａコンバータ２８，２９（Ｄ／Ａ変換部２８♯，２９♯）へ入力されるｍビットのデジタル信号の全ビットの値“０”である場合、いずれか１ビットが“１”であり残りのビットが“０”である場合に対応して、割込要求を発生することとすれば、上述したＤ／Ａ変換誤差を効率的に評価できる。
【００８９】
すなわち、各ＲＯＭテーブル２７，３０からのｍビット（１０ビット）信号について、全ビットの値“０”である場合に対応したカウント値φｉｎｔ（０）および、いずれか１ビットが“１”であり残りのビットが“０”である場合に対応したカウント値φｉｎｔ（１）〜φｉｎｔ（１０）を、データテーブル１１２（図２）に格納することにより、乗算型Ｄ／Ａコンバータ２８，２９（Ｄ／Ａ変換部２８♯，２９♯）での誤差を効率的に評価できるように、（ｍ＋１）個の割込角度θｉｎｔ（０）およびθｉｎｔ（１）〜θｉｎｔ（ｍ）を設定できる。
【００９０】
なお、割込角度θｉｎｔの設定は、上述の例に限定されるものではなく、レゾルバ１２の構造等に着目して上記とは異なる態様で設定することも可能である。いずれにしても、１０ｋＨｚ程度の高周波信号である参照信号Ｒｅｆのピーク到来頻度と比較して、回転角θの１回転の間に所定個数設けられた割込角度θｉｎｔの到来頻度は極めて低くなることについて、確認的に記載する。
【００９１】
以上説明したように、本実施の形態の回転角検出装置によれば、回転角θが所定の割込角度と一致した場合に限定して異常検出処理を実行するので、ＣＰＵ負荷を過度に高めることなく精度の高い異常検出処理が実行できる。
【００９２】
なお、本実施の形態では、異常検出処理が、通常のモータ制御を実行するマイコン部４０（ＣＰＵ４２）において割込処理として実行されることとしたが、モータ制御用とは別個のＣＰＵによって、同様の異常検出処理を実行する構成とすることも可能である。ただし、本実施の形態の異常検出処理によれば、異常検出処理頻度を過度に高めることなく精度良く異常検出が可能となるので、異常検出処理用のＣＰＵを別個設けることなく、通常のモータ制御に係る演算負荷が増大するモータ高回転時においても、モータ制御用のマイコン部（ＣＰＵ）での割込処理として異常検出処理を実行できることが期待されるので、コスト面で有利である。
【００９３】
さらに、Ｒ／Ｄコンバータ部１４とマイコン部（ＣＰＵ部）４０とを同一チップ上に構成、あるいは、同一パッケージ内に収納することにより、割込信号ＴＲ１の伝達や、レゾルバ１２の出力信号を直接マイコン部４０へ入力する際の外部からの到来ノイズや放射ノイズを低減することができる。この結果、異常検出処理をさらに高精度に実行できるようになる。
【００９４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施の形態による回転角検出装置が適用されるモータ駆動システムの構成を示すブロック図である。
【図２】図１に示したマイコン部（ＣＰＵ）およびＲ／Ｄコンバータ部の構成を示すブロック図である。
【図３】本発明の実施の形態の回転角検出装置における異常検出処理のための構成を説明するブロック図である。
【図４】図３に示した異常検出処理をの処理手順を説明するフローチャートである。
【図５】乗算型Ｄ／Ａコンバータへの入力信号を説明するブロック図である。
【図６】割込角度の設定例を説明する図である。
【符号の説明】
【００９６】
２  インバータ装置、４  モータジェネレータ、６  モータ制御回路、８，９  電流センサ、１０  制御ＩＣ、１２  レゾルバ、１４  Ｒ／Ｄコンバータ部、１５  一次巻線、１６  二次巻線（Ｓｉｎ側）、１７  二次巻線（Ｃｏｓ側）、１８  減算器、１９  演算部、２０  同期検波部、２２  積分器、２６  カウンタ、２７  ＲＯＭテーブル（コサイン）、２８，２９  乗算型Ｄ／Ａコンバータ、２８♯，２９♯  Ｄ／Ａ変換部、３０  ＲＯＭテーブル（サイン）、３２，３４  差動アンプ、３６  位相検出部、４０  マイコン部、４２  ＣＰＵ、４４  タイマ回路、５６  データバス、６８  ＣＡＮ通信ユニット、７０  汎用ポート、７１  Ｄ／Ａ変換器、７２  Ａ／Ｄ変換器、７６  システムコントローラ、８２  乗算器、８８  シフタ、９０  システムレジスタ、９２  汎用レジスタ、１００  モータ駆動システム、１１０  割込信号発生回路、１１２  データテーブル、１１４  デジタル比較器、１１５  Ｒ／Ｄ変換カウンタ、１２０  電気角カウンタ、１２５  振幅検出回路、１３０  割込信号無効化回路、１４０  異常検出制御部、１４２  θｒ算出部、１４３  割込サンプリング部、１４４  θｓ算出部、１４６  異常検出部、１４８  ｔａｎ-1θテーブル、Ａ１〜Ａ５  アンプ、Ｕ／Ｄ  アップ／ダウン信号、ＦＬＴ  異常検出フラグ、ＰＨ１  信号（参照信号レベル）、Ｒｅｆ  参照信号（励磁用）、ＳＳ，ＳＣ  サンプリング値（レゾルバ信号）、ＴＭ０〜ＴＭ４  タイマ、ＴＲ１  割込信号、ＴＲ２  割込信号、Ｕ  アップ信号、Ｖｒｅｆ  所定電圧、ε  判定値、θ  ロータ回転角、θｉｎｔ  割込角度、θｒ  回転角（Ｒ／Ｄコンバータ検出値）、θｓ  角度（ＣＰＵ直接演算値）、φ  カウント値（カウンタ）、φｉｎｔ  カウント値（割込角度対応）。
【図１】
2009139096.tif 000003
【図２】
2009139096.tif 000004
【図３】
2009139096.tif 000005
【図４】
2009139096.tif 000006
【図５】
2009139096.tif 000007
【図６】
2009139096.tif 000008