(57)【特許請求の範囲】
【請求項１】
回転体と同期して回転する磁石の磁界の変化を検出するセンサ素子を有し、前記回転体の回転角度を検出する回転角度検出装置において、
前記回転体が正転方向に回転する場合と逆転方向に回転する場合で、前記センサ素子の出力を異なるように補正する補正手段を備え、
前記補正手段は、前記回転体が正転方向に回転する場合の前記センサ素子の出力を多次関数で近似し、また、前記回転体が逆転方向に回転する場合の前記センサ素子の出力を多次関数で近似し、この近似されたそれぞれの多次関数の補正係数を用いて、前記センサ素子の出力を補正するものであり、
前記回転体が正転方向に回転する場合と逆転方向に回転する場合における前記センサ素子の各出力の最大・最小値を正規化し、
正規化された出力の回転角度ごとの複数の角度領域に分割し、
各角度領域での回転方向を判定し、
角度領域と回転方向に基づいてグループ分けし、
グループ分けされた各グループ毎に、前記回転体が正転方向に回転する場合と逆転方向に回転する場合で異なる多次関数で近似し、
近似されたそれぞれの多次関数の係数をメモリに記憶し、
該メモリに記憶された各グループ毎の係数を補正係数として、前記多次関数により、前記回転体の角度を算出することを特徴とする回転角度検出装置。
【請求項２】
請求項１記載の回転角度検出装置において、
前記補正手段は、前記回転体を回転駆動するモータに対する指令電圧により回転方向を判別することを特徴とする回転角度検出装置。
【請求項３】
請求項１記載の回転角度検出装置において、
前記補正手段は、前記回転体を回転駆動するモータを駆動する駆動回路の出力電流により回転方向を判別することを特徴とする回転角度検出装置。
【請求項４】
請求項１記載の回転角度検出装置において、
前記補正手段は、前記回転体を回転駆動するモータを駆動する駆動回路の出力電圧により回転方向を判別することを特徴とする回転角度検出装置。
【請求項５】
請求項１記載の回転角度検出装置において、
前記補正手段は、前記センサ素子の出力信号の時間変化により回転方向を判別することを特徴とする回転角度検出装置。
【請求項６】
回転体を駆動するモータと、この回転体と同期して回転する磁石の磁界の変化を検出するセンサ素子と、このセンサ素子により検出された前記回転体の回転角度が目標回転角度となるように前記モータを制御する制御手段を有する回転制御装置において、
前記回転体が正転方向に回転する場合と逆転方向に回転する場合で、前記センサ素子の出力を異なるように、前記回転体が正転方向に回転する場合の前記センサ素子の出力を関数で近似し、また、前記回転体が逆転方向に回転する場合の前記センサ素子の出力を関数で近似し、この近似されたそれぞれの関数の補正係数を用いて、前記センサ素子の出力を補正する補正手段を備え、
前記補正手段は、
前記回転体が正転方向に回転する場合と逆転方向に回転する場合における前記センサ素子の各出力の最大・最小値を正規化し、
正規化された出力の回転角度ごとの複数の角度領域に分割し、
各角度領域での回転方向を判定し、
角度領域と回転方向に基づいてグループ分けし、
グループ分けされた各グループ毎に、前記回転体が正転方向に回転する場合と逆転方向に回転する場合で異なる多次関数で近似し、
近似されたそれぞれの多次関数の係数をメモリに記憶し、
該メモリに記憶された各グループ毎の係数を補正係数として、前記多次関数により、前記回転体の角度を算出し、
前記制御手段は、この補正手段により補正された回転角度が目標回転角度となるように前記モータを制御することを特徴とする回転制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、回転体の回転角度を検出する回転角度検出装置及びこの検出装置を用いる回転制御装置に関する。
【０００２】
【従来の技術】
従来の非接触式回転角度検出装置においては、例えば、特開２００２−２１３９９３号公報に記載のように、電磁誘導により非検出部材に発生する磁化の影響を磁気検出素子が直接に検知することがないように、非検出部材に流れる磁力線の流れと磁気検出素子に流れる磁力線の流れを独立にするものが知られている。
【０００３】
【特許文献１】
特開２００２−２１３９９３号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、特開２００２−２１３９９３号公報に記載のものでは、非検出部材の回転方向が異なることにより発生するヒステリシスを考慮していないものであった。ヒステリシス特性を有する場合、検出される角度値が回転方向によって異なるため、角度検出値の誤差が生じるという問題があった。ここで、ヒステリシスは、非検出部材の回転方向の相違によって、１）非検出部材を回転駆動するための電流が流れる方向が異なることにより、２）被検出部材と磁気検出素子の相対位置が異なることにより、３）磁気検出素子の磁界変化に対する抵抗変化が異なることにより発生する。
【０００５】
また、非接触式回転角度検出装置を用いて回転角度を検出し、この検出された角度に基づいて非回転体を制御する回転制御装置においては、検出角度値に誤差が生じると、回転角制御精度が低下するという問題が発生する。
【０００６】
本発明の目的は、ヒステリシス特性の影響を受けることなく、角度検出値の誤差が低減した非接触式回転角度検出装置を提供することにある。
【０００７】
また、本発明の他の目的は、角度検出値の誤差が低減した非接触式回転角度検出装置を用いて、制御精度の向上した回転制御装置を提供することにある。
【０００８】
【課題を解決するための手段】
（１）上記目的を達成するために、本発明は、回転体と同期して回転する磁石の磁界の変化を検出するセンサ素子を有し、前記回転体の回転角度を検出する回転角度検出装置において、前記回転体が正転方向に回転する場合と逆転方向に回転する場合で、前記センサ素子の出力を異なるように補正する補正手段を備え、前記補正手段は、前記回転体が正転方向に回転する場合の前記センサ素子の出力を多次関数で近似し、また、前記回転体が逆転方向に回転する場合の前記センサ素子の出力を多次関数で近似し、この近似されたそれぞれの多次関数の補正係数を用いて、前記センサ素子の出力を補正するものであり、前記回転体が正転方向に回転する場合と逆転方向に回転する場合における前記センサ素子の各出力の最大・最小値を正規化し、正規化された出力の回転角度ごとの複数の角度領域に分割し、各角度領域での回転方向を判定し、角度領域と回転方向に基づいてグループ分けし、グループ分けされた各グループ毎に、前記回転体が正転方向に回転する場合と逆転方向に回転する場合で異なる多次関数で近似し、近似されたそれぞれの多次関数の係数をメモリに記憶し、該メモリに記憶された各グループ毎の係数を補正係数として、前記多次関数により、前記回転体の角度を算出するようにしたものである。
かかる構成により、ヒステリシス特性の影響を受けることなく、角度検出値の誤差を低減し得るものとなる。
【００１６】
（３）上記（１）において、好ましくは、前記補正手段は、前記回転体を回転駆動するモータを駆動する駆動回路の出力電流により回転方向を判別するようにしたものである。
【００１７】
（４）上記（１）において、好ましくは、前記補正手段は、前記回転体を回転駆動するモータを駆動する駆動回路の出力電圧により回転方向を判別するようにしたものである。
【００１８】
（５）上記（１）において、好ましくは、前記補正手段は、前記センサ素子の出力信号の時間変化により回転方向を判別するようにしたものである。
【００１９】
（６）上記他の目的を達成するために、本発明は、回転体を駆動するモータと、この回転体と同期して回転する磁石の磁界の変化を検出するセンサ素子と、このセンサ素子により検出された前記回転体の回転角度が目標回転角度となるように前記モータを制御する制御手段を有する回転制御装置において、前記回転体が正転方向に回転する場合と逆転方向に回転する場合で、前記センサ素子の出力を異なるように、前記回転体が正転方向に回転する場合の前記センサ素子の出力を関数で近似し、また、前記回転体が逆転方向に回転する場合の前記センサ素子の出力を関数で近似し、この近似されたそれぞれの関数の補正係数を用いて、前記センサ素子の出力を補正する補正手段を備え、前記補正手段は、前記回転体が正転方向に回転する場合と逆転方向に回転する場合における前記センサ素子の各出力の最大・最小値を正規化し、正規化された出力の回転角度ごとの複数の角度領域に分割し、各角度領域での回転方向を判定し、角度領域と回転方向に基づいてグループ分けし、グループ分けされた各グループ毎に、前記回転体が正転方向に回転する場合と逆転方向に回転する場合で異なる多次関数で近似し、近似されたそれぞれの多次関数の係数をメモリに記憶し、該メモリに記憶された各グループ毎の係数を補正係数として、前記多次関数により、前記回転体の角度を算出し、前記制御手段は、この補正手段により補正された回転角度が目標回転角度となるように前記モータを制御するようにしたものである。
かかる構成により、回転制御の制御精度を向上し得るものとなる。
【００２０】
【発明の実施の形態】
以下、図１〜図１２を用いて、本発明の一実施形態による非接触式回転角度検出装置及びこの検出装置を用いる回転制御装置の構成について説明する。
最初に、図１を用いて、本実施形態による回転制御装置の構成について説明する。
図１は、本発明の一実施形態による回転制御装置の構成を示すブロック図である。
【００２１】
本実施形態では、回転制御装置を２駆／４駆切替え用シフトコントローラに適用した例について説明する。シフトコントローラとは、車の駆動状態を切り替えるトランスファーケースの制御装置である。シフトコントローラは、運転者や外部のコントローラから入力される四輪駆動や二輪駆動などの駆動状態の指令値に基き、シフトコントローラ内のモータを駆動し、シフトレールを回転させ、トランスファーケース内のギアを切り替える機能を有する。
【００２２】
シフトコントローラ１００は、コントローラ(CONT)１１０と、モータドライバ(DRV)１２０と、モータ(M)１３０と、出力軸(OA)１４０と、磁石(MAG)１５０と、出力回路(OC)１６０と、センサ素子（Ｓ）１６５と、EEPROM１７０とを備えている。
【００２３】
コントローラ１１０は、出力軸１５０の回転角度が外部から指令された目標回転角度θTとなるように、モータ駆動指令Ｓｍをモータドライバ１２０に出力する。モータ駆動指令値の計算方法には、Ｏｎ−Ｏｆｆ制御，Ｐ制御，ＰＩＤ制御，Ｈ∞制御，Ｈ２制御などがある。この指令値の物理量としては、モータ１３０を駆動する電流であったり、ＰＷＭ制御のＤｕｔｙ比であったりする。
【００２４】
モータドライバ１２０は、入力したモータ駆動指令Ｓｍに応じたモータ電流Ｉmをモータ１３０に出力する。モータドライバ１２０はＭＯＳＦＥＴで構成されたＨブリッジ回路や、または、リレー回路で構成される。モータ１３０は、モータ電流Ｉmによって回転し、その回転出力は、図示ない減速機構を介して出力軸１４０に伝達される。出力軸１４０は、例えば、０°〜３６０°の範囲で正逆転する。回転角度が、例えば、０°の時２輪駆動が選択され、９０°の時高速４輪駆動が選択され、１８０°の時低速４輪駆動が選択される。このようにして、出力軸１４０の回転角度を変えることによって、２駆／４駆の切替えが行われる。
【００２５】
出力軸１４０が回転すると、その回転に同期して、磁石(Mag)１５０が回転する。磁石１５０の近傍には、非接触式の磁気検出素子であるホール素子のようなセンサ素子１６５が配置されている。磁石１５０の回転によりセンサ素子１６５の近傍の磁束密度が変化し、この磁束密度の変化によってセンサ素子１６５の抵抗値が変化する。磁石１５０の材料としては、サマリウム・コバルトやネオジウム、ＳｍＦｅＮなどが考えられるが、材料形状とあわせて、磁気センサ素子１６５の特性により決定される。本実施形態では、磁石１５０の温度特性や磁束密度を考慮し、ＳｍＦｅＮ磁石を用いている。
【００２６】
出力回路１６０は、センサ素子１６５の抵抗値変化に対応する出力電圧Ｖoutを出力する。センサ素子１６５は、例えば、４個のバイアス磁界をもった巨大磁気抵抗素子（ＧＭＲ(Giant Magneto Resister)素子)から構成されている。出力回路１６０は、第１と第２のＧＭＲ素子により第１の出力Ｖ0を出力し、第３と第４のＧＭＲ素子により、第２の出力Ｖ1を出力する。出力回路１６０は、ブリッジ回路と、増幅器を備えている。ブリッジ回路の第１の辺と第２の辺にそれぞれ第１と第２のＧＭＲ素子が配置され、第３の辺と第４の辺に固定抵抗を配置することにより、ＧＭＲ素子の抵抗値変化を電圧変化に変換することができる。変換された電圧値は、増幅器により増幅され、出力電圧Ｖoutとなる。
【００２７】
ここで、図２を用いて、出力軸１４０の回転角度θrと出力回路１６０の出力電圧Ｖoutの関係について説明する。
図２は、本発明の一実施形態による回転制御装置における出力軸１４０の回転角度θrと出力回路１６０の出力電圧Ｖoutの関係を示す特性図である。
【００２８】
図２において、横軸は出力軸１４０の回転角度θrを示し、縦軸は出力回路１６０の出力電圧Ｖoutを示している。
【００２９】
出力電圧Ｖ0は、出力軸１４０が０°〜３６０°まで変化するとき、図示するように正弦波状に変化する。出力軸１４０の３６０°の１回転が出力電圧Ｖ0の１周期に相当する。ここで、出力電圧Ｖ0は、回転角度θrが０°のとき極大値を示し、回転角度θrが１８０°のとき極小値を示す。出力電圧Ｖ1も、出力電圧Ｖ0と同様に、出力軸１４０が０°〜３６０°まで変化するとき、正弦波状に変化する。出力軸１４０の３６０°の１回転が出力電圧Ｖ0の１周期に相当する。ここで、出力電圧Ｖ0は、回転角度θrが９０°のとき極大値を示し、回転角度θrが２７０°のとき極小値を示す。非接触式磁気検出素子として、バイアス磁界をもったＧＭＲを用いることにより、図示したように、９０°位相のずれた２種類の出力電圧Ｖoutを得ることができる。また、バイアス磁界を持たないＧＭＲ素子、もしくは磁気抵抗（ＭＲ）素子を用いた場合は、磁石１５０の１回転に対して、２周期の波形が観測される事もある。センサ素子としては、磁気に反応する素子であればよく、ホール素子を用いることもできる。
【００３０】
再び、図１に示すように、出力回路１６０が出力する出力電圧Ｖoutは、コントローラ１１０に入力する。コントローラ１１０は、この出力電圧Ｖoutに基づいて、出力軸１４０の回転角度θrを求める。そして、コントローラ１１０は、検出された出力軸１５０の回転角度θrが目標回転角度θTとなるように、モータ駆動指令Ｓｍをモータドライバ１２０に出力する。ここで、後述するように、出力軸１４０の回転角度θrと出力回路１６０の出力電圧Ｖoutの間には、ヒステリシス特性を有する。すなわち、出力軸１４０が正転した時と逆転した時では、出力軸１４０の同じ回転角度θrに対して、出力電圧Ｖoutが異なる現象となる。
【００３１】
そこで、本実施形態においては、EEPROM１７０は、センサ素子１６５のヒステリシス特性を補正するための補正係数を有している。コントローラ１１０は、EEPROM１７０から補正係数を読み出し、この補正係数を用いて出力電圧Ｖoutを補正して、ヒステリシスの影響を低減した出力軸１４０の回転角度θrを求めて、モータ１３０を駆動するようにしている。
【００３２】
センサ素子の出力電圧がヒステリシス特性を生じる要因としては、次の３つの外乱が上げられる。すなわち、図１に示した１）モータ駆動電流による外乱磁界による外乱Ｄ１，２）出力軸の摺動部の隙間による外乱Ｄ２，３）センサ素子自身のヒステリシスによる外乱Ｄ２である。以下、それぞれの外乱について簡単に説明する。
【００３３】
外乱Ｄ１は、モータ駆動電流によって生じるものである。図１に示したコントローラ(CONT)１１０と、モータドライバ(DRV)１２０と、出力回路(OC)１６０と、センサ素子（Ｓ）１６５と、EEPROM１７０とは、同一配線基板上に配置されている。モータドライバ１２０から出力されるモータ駆動電流Ｉmは、この基板の外部端子からリード線を介して、モータ１５０に供給される。ここで、モータ１５０を正転させる場合と、逆転させる場合では、基板上を流れるモータ駆動電流Ｉmの流れる経路が異なり、また流れる方向も逆になる。したがって、正転時に発生するモータ駆動電流の電磁誘導による磁界の方向と、逆転時に発生するモータ駆動電流の電磁誘導による磁界の方向は異なるため、磁気センサ素子１６５の出力も出力軸１１４０の回転方向により異なる。この結果、センサ素子１６５に対する出力電圧にヒステリシス特性を有することになる。
【００３４】
外乱Ｄ２は、周動部の隙間によって生じるものである。出力軸１４０と、この出力軸を回転支持する摺動部の間には、隙間を設ける必要がある。この隙間の存在により、出力軸が軸方向に上下したり、出力軸の回転軸が半径方向に平行移動したり、出力軸が摺動部の中心軸に対して傾斜したりする変動状態が生じる。これらの変動状態はモータ１３０からの外力や減速ギアの形状や出力軸１４０に勘合された被回転体からの外力により決定される。また、これらの変動状態は回転方向により異なるが、回転方向が定まれば、一意に決定される。その結果、出力軸が同じ角度を通過する場合でも、磁気センサ素子と磁石の相対位置が回転方向により異なるため、ヒステリシス特性を有することになる。
【００３５】
外乱３は、磁気センサ素子１６５の磁界に対するヒステリシスによるものである。ＭＲ，ＡＭＲやＧＭＲなどの磁気抵抗素子の抵抗変化は磁界変化に対してヒステリシスを有している。特に、ＧＭＲ素子は、ＭＲ素子に比べて高感度である一方で、ヒステリシスが大きいものである。したがって、磁気センサ素子の出力も磁石の回転角度に対してヒステリシス特性を有することになる。
【００３６】
次に、図３〜図８を用いて、ヒステリシスの補正法について説明する。
図３は、本発明の一実施形態による回転制御装置に用いるキャリブレーション装置の構成を示すシステム構成図である。図４は、本発明の一実施形態による回転制御装置に用いるキャリブレーション装置のロータリーエンコーダの出力パルスの波形図である。
【００３７】
台座の上には、シフトコントローラ１００とロータリーエンコーダ２１０が取り付けられる。ここで、シフトコントローラ１００の出力軸と、ロータリーエンコーダ２１０の回転軸が、同期して回転するように取付けられている。ロータリーエンコーダ２１０は、図４に示すように、出力軸が１回転する間に５０００パルスの位相が互いに１／２パルス異なる信号Ａ，Ｂを出力する。また、出力軸が１回転すると、１パルスの信号Ｚを出力する。
【００３８】
シフトコントローラ１００と、ホストコンピュータ２００は、ＣＡＮ通信により接続され、データの送受信を行っている。また、ロータリーエンコーダ２１０の出力は、シフトコントローラ１００経由して、ホストコンピュータ２００に送信されている。ここで、ロータリーエンコーダ２１０の出力は、直接ホストコンピュータ２００に接続されてもよいものである。
【００３９】
ホストコンピュータ２００は、キャリブレーション開始の指令をシフトコントローラ１００に送信する。キャリブレーション開始信号を受信したコントローラ１１０は、モータドライバ１２０にモータ駆動信号を送信し、モータ１３０を回転させる。モータ１３０は、正転方向及び逆転方向に回転する必要がある。モータ１３０の回転により、出力軸１４０が回転し、出力軸１４０と同期して磁石１５０が回転する。磁石１５０の回転により、磁気センサ素子１６５を通過する磁界が変化し、磁気センサ素子１６５の出力が変化する。磁気センサ素子１６５の出力は、図２に示したように、磁石１５０の回転角度に対して位相が９０度異なる２系統の信号Ｖ０，Ｖ１が出力される。
【００４０】
一方、出力軸の絶対角度を算出するため、シフトコントローラ１００は、ロータリーエンコーダ２１０の出力から、出力軸１４０の回転角度を算出し、磁気センサ素子１６５の出力と同期して、ホストコンピュータ２００に送信する。また、後述する回転軸の回転方向を判定するための信号も、磁気センサ素子１６５の信号と同期して、ホストコンピュータ２００に送信する。この回転軸の回転方向を判定するための信号は直接ホストコンピュータ２００に入力してもよいものである。
【００４１】
次に、図５を用いて、キャリブレーション装置の動作について説明する。
【００４２】
図５は、本発明の一実施形態による回転制御装置に用いるキャリブレーション装置の動作を示すフローチャートである。
【００４３】
ステップｓ１０において、ホストコンピュータ２００には、２系統の磁気センサ素子１６５の出力，ロータリーエンコーダ２１０出力から算出された回転体の絶対角度，回転体の回転方向を判定する信号が、入力される。
【００４４】
次に、ステップｓ２０において、ホストコンピュータ２００は、磁気センサ素子１６５の出力から、ローパスフィルタやＦＩＲやＩＩＲフィルタにより、ノイズを除去する。
【００４５】
次に、ステップｓ３０において、二系統の出力Ｖ０，Ｖ１の最大値Ｖ０max，Ｖ１maxと最小値Ｖ０min，Ｖ１minを算出する。算出された最大値と最小値は、ホストコンピュータ２００からシフトコントローラ１００に送信され、EEPROM１７０に保存される。
【００４６】
次に、ステップｓ４０において、ホストコンピュータ２００は、ステップｓ３０で算出された最大値と最小値を用い、出力Ｖ０，Ｖ１を、以下の式（１）及び式（２）により、正規化する。
【００４７】
【数１】
0004260544.tif 000002
【００４８】
【数２】
0004260544.tif 000003
【００４９】
ここで、図６及び図７を用いて、ステップｓ４０の処理により正規化されたセンサ回路３８の出力Ｖ０_normalized，Ｖ１_normalizedについて説明する。
【００５０】
図６及び図７は、本発明の一実施形態による回転制御装置におけるキャリブレーション処理時の正規化された出力の波形図である。図６，図７において、横軸は出力軸の回転角度θrを示し、縦軸は正規化された出力Ｖnを示している。
【００５１】
例えば、図２に示した例では、出力Ｖoutは、最小値が約０．５Ｖであり、最大値が約４．５Ｖであるが、図６に示すように、磁気センサ素子１６５の出力の振幅範囲が±１．０に正規化されている。
【００５２】
次に、ステップｓ５０において、ホストコンピュータ２００は、正規化された出力Ｖ０_normalized，Ｖ１_normalized）から、以下のようにして、磁石１５０の回転角度を４つの角度領域である領域１（area_1），領域２（area_2），領域３（area_3），領域４（area_4）に分ける。
【００５３】
すなわち、領域１は、（Ｖ０_normalized＞Ｖｔｈ）の範囲とし、領域２は、（Ｖ１_normalized＞Ｖｔｈ）とし、領域３は、（Ｖ０_normalized≦−Ｖｔｈ）の範囲とし、領域４は、（Ｖ１_normalized≦−Ｖｔｈ）の範囲とする。
【００５４】
なお、図６では、Ｖｔｈ＝０．６とし、（（Ｖ０_normalized＞０）かつ（（Ｖ０_normalized  ＝  Ｖ１_normalized）となるＶ０_normalizedより小さい値））を採用している。このため、図６に示すように、各角度領域が重なり合い、３６０度にわたり、連続的に角度を計算することが可能である。
【００５５】
なお、図６に示す状態では、領域１は、０°〜５５°の範囲と、３０５°〜３６０°の範囲となるため、角度が不連続になっている。したがって、このまま式（１），式（２）を計算すると、補正計算はできるが、角度誤差が大きくなる。
【００５６】
そこで、エンコーダより算出された絶対角度のゼロ点を、領域１の最大角度に設定する。つまり、領域１の最大角度をoffsetとし、ロータリーエンコーダ２１０の出力から算出された絶対角度ｙをｙoffset＝（ｙ−offset）とする。つまり、絶対角度をシフトさせ補正計算を行う。図６の例では、offsetが４５度となっている。
【００５７】
図７は、絶対角度をシフトした後の、絶対角度と磁気センサ素子１６５の出力の関係を示している。なおこのoffsetは、補正係数から角度を算出する課程で必要であるため、EEPROM１７０に保存される。
【００５８】
次に、図５のステップｓ６０において、ホストコンピュータ２００は、それぞれの角度領域において、磁石１５０すなわち出力軸１４０の回転方向を判定する。そして、磁気センサ素子１６５の出力の状態を８つのグループに分ける。
【００５９】
各グループは、以下の（表１）に示す定義によって分けられる。ここで、出力軸１４０の正転方向（ＣＷ）とは、エンコーダ出力から算出された絶対角度が増加する方向とし、出力軸１４０の逆転方向（ＣＣＷ）とは、エンコーダ出力から算出された絶対角度が減少する方向とする。（表１）を参照すると、例えば、センサ回路３８の出力が領域１にあり、出力軸１４０が正転方向に回転している場合は、磁気センサ素子１６５の出力の状態はグループarea_1_CWに属するものとなる。
【００６０】
【表１】
0004260544.tif 000004
【００６１】
ここで、図８を用いて、出力軸１４０の回転方向の第１の判定方法について説明する。
図８は、本発明の一実施形態による回転制御装置に用いるモータドライバのブロック図である。
【００６２】
モータドライバ１２０は、２つのハイサイドスイッチH-SW1，H-SW2と、２つのローサイドスイッチL-SW1，L-SW2で構成されている。各スイッチは、コントローラ１１０からの供給されるモータ駆動指令信号Ｈ１，Ｈ２，Ｌ１，Ｌ２に基き、スイッチをＯＮまたはＯＦＦさせ、モータ１３０に駆動電流を流し、モータ１３０を正転及び逆転方向に回転させる。以下では、Ｈ及びＬを、それぞれ、各スイッチがＯＮ時のモータ駆動指令信号の電圧、ＯＦＦ時のモータ駆動指令信号の電圧とする。従って、各モータ駆動指令信号の電圧がＨの時、各スイッチがＯＮする。
【００６３】
ここで、モータ駆動指令信号Ｈ１，Ｈ２，Ｌ１，Ｌ２に注目すれば、コントローラ１１０は、この信号をモータドライバ１２０に出力しているので、任意の瞬間でこの信号の状態が判別できる。この信号の状態を判定し、（表２）より各角度領域での磁石１５０の回転角度が判定でき、正転と逆転で異なったデータのグループを生成できる。
【００６４】
【表２】
0004260544.tif 000005
例えば、ある出力状態では、Ｖ０_normalized＝０．７で、かつＨ１＝Ｈ，かつＬ２＝Ｌであるとする。この場合、（表２）から、領域は「領域１」であり、磁石１５０は正転方向に回転しているので、グループarea_1_CWに属する。他の場合も同様に、（表２）をもとに領域と回転方向を判定し、センサ回路３８の出力状態を８つのグループに分けることができる。本実施形態では、この（表２）を用いて、８グループに分けるものとする。
【００６５】
なお、以下に、他の回転方向の判定方法について説明する。
【００６６】
第２の判定方法では、図８に示すように、ハイサイドスイッチH-SWが電流センサCSの機能を備えている場合、モータ駆動電流に注目して、以下の（表３）を使用し、回転方向の判定が可能である。
【００６７】
【表３】
0004260544.tif 000006
例えば、ある出力状態では、Ｖ０_normalized＝０．７で、かつ電流センサCSにより検出された電流Ｉ１が、Ｉ１＝１０Ａとする。領域は「領域１」であり、Ｉ１が予め定められた定数Ｉｔｈより大きいため、磁石１５０は正転方向に回転していることがわかり、センサ回路３８の出力状態はグループarea_1_CWに属する。Ｉｔｈは、電流センサCSのノイズレベルやモータの巻き線抵抗，電源電圧により決定される。他の場合も同様に、（表３）をもとに領域と回転方向を判定し、センサ回路３８の出力状態を８つのグループに分けることができる。
【００６８】
第３の判定方法では、図６に示すように、モータドライバ１２０の出力電圧ＶＨ１，ＶＨ２をモニターする機能を有する場合、以下の（表４）に従い、回転方向の判定が可能である。
【００６９】
【表４】
0004260544.tif 000007
例えば、ある出力状態では、Ｖ０_normalized＝０．７で、かつＶＨ１＝１２ｖである場合、領域は「領域１」であり、ＶＨ１が予め定められた定数ＶＨｔｈより大きいため、磁石１５０は正転方向に回転していることがわかる。ＶＨｔｈは、モニター機能の電圧検出範囲やバッテリ電圧により決定され、１０［ｖ］であったり、５［ｖ］であったりする。他の場合も同様に、（表４）をもとに、領域と回転方向を判定し、センサ回路３８の出力状態を８つのグループに分けることができる。
【００７０】
また、第４の判定方法では、磁気センサ素子１６５の出力を時間で微分し、その組合せから、磁石１５０の回転方向を判定する。図７を参照すると、領域１では、磁石１５０が正転方向に回転するとＶ１_normalizedが増加する、つまり正の傾きを有している。また、領域２では、磁石１５０が正転方向に回転するとＶ０_normalizedが減少する、つまり負の傾きを有している。これらＶ１_normalizedとＶ０_normalizedの変化量，つまり時間微分に注目し、以下の（表５）により、回転方向の判定が可能である。但し、（表５）において、ｄＶ０はＶ０_normalizedの時間微分であり、ｄＶ１はＶ１_normalizedの時間微分でる。
【００７１】
【表５】
0004260544.tif 000008
例えば、ある出力状態では、Ｖ０_normalized＝０．７で、かつｄＶ１＝＋１である場合、領域は「領域１」であり、ｄＶ１が正の値をもつので、磁石１５０は正転方向に回転していることがわかる。他の場合も同様に、（表５）をもとに、領域と回転方向を判定し、センサ回路３８の出力状態を８つのグループに分けることができる。
【００７２】
次に、各角度領域毎に補正計算に使用する磁気センサ素子１６５の出力ｘを選定する。例えば、（表６）を参照すると、領域１では、ｘ＝Ｖ１_normalizedとし、領域２では、ｘ＝Ｖ０_normalizedとする。
【００７３】
【表６】
0004260544.tif 000009
【００７４】
次に、図５のステップｓ７０において、ホストコンピュータ２００は、それぞれのグループにおいて、以下の（式３）を最小化するような補正係数ａ，ｂ，ｃ，ｄを算出する。
【００７５】
【数３】
0004260544.tif 000010
ここで、ｙoffsetは、ロータリーエンコーダ２１０の出力から算出された各グループの基準角度ｙをオフセットした値であり、ｘは、各グループにおいて補正計算に使用する磁気センサ素子１６５の出力であり、θ_start，θ_endは、それぞれ各グループにおける最小角度と最大角度である。
【００７６】
ここで、（表６）に各グループにおける補正係数を示す。例えば、領域１かつ正転方向に回転しているグループのデータから、（式３）で算出された補正係数ａ，ｂ，ｃ，ｄは、それぞれ、ａ＝ａ_area1_CW，ｂ＝ｂ_area1_CW，ｃ＝ｃ_area1_CW，ｄ＝ｄ_area1_CWと記憶される。
【００７７】
また、領域１かつ逆転方向に回転しているグループのデータから、（式３）で算出された補正係数ａ，ｂ，ｃ，ｄは、それぞれ、ａ＝ａ_area1_CCW，ｂ＝ｂ_area1_CCW，ｃ＝ｃ_area1_CCW，ｄ＝ｄ_area1_CCWと記憶される。
【００７８】
次に、図５のステップｓ７０において、ホストコンピュータ２００は、算出された補正係数及びoffsetを、シフトコントローラ１００に送信し、グルーープ毎に、EEPROM１７０に記憶する。
【００７９】
次に、図９を用いて、コントローラ１１０が、磁気センサ素子１６５の出力から出力軸１４０の角度を求める際の第１の補正方法について説明する。
図９は、本発明の一実施形態による回転制御装置における角度補正処理の内容を示すフローチャートである。
【００８０】
ステップｓ１００において、コントローラ１１０は、出力軸１４０の回転角度を計算するタイミングで、磁気センサ素子１６５の出力をＡ／Ｄ変換して、取り込む。このＡ／Ｄ変換タイミングは、一定周期であったり、不定期であったりする。一方、コントローラ１１０は、予めEEPROM１７０に保存されていた補正係数などのキャリブレーション時に算出されたデータをＲＡＭなどのメモリに読み込む。
【００８１】
次に、ステップｓ１１０において、コントローラ１１０は、Ａ／Ｄ変換された磁気センサ素子１６５の出力に、Ｌｏｗ−ＰａｓｓフィルタやＩＩＲやＦＩＲフィルタにより、ノイズを除去する。
【００８２】
次に、ステップｓ１２０において、コントローラ１１０は、上述の式（１），（２）により、磁気センサ素子１６５の出力を正規化して、Ｖ０_normalized，Ｖ１_normalizedを求める。ここで、二系統ある磁気センサ素子１６５の出力Ｖ０，Ｖ１の最大値Ｖ０max，Ｖ１max）と最小値Ｖ０min，Ｖ１min）は、それぞれ、キャリブレーション時にEEPROM１７０に保存されていた磁気センサ素子１６５の出力の最大値と最小値である。
【００８３】
次に、ステップｓ１３０において、コントローラ１１０は、正規化された出力Ｖ０_normalized，Ｖ１_normalized）から、以下のようにして、磁石１５０の回転角度を４つの角度領域である領域１（area_1），領域２（area_2），領域３（area_3），領域４（area_4）に分ける。
【００８４】
すなわち、領域１は、（Ｖ０_normalized＞Ｖｔｈ）の範囲とし、領域２は、（Ｖ１_normalized＞Ｖｔｈ）とし、領域３は、（Ｖ０_normalized≦−Ｖｔｈ）の範囲とし、領域４は、（Ｖ１_normalized≦−Ｖｔｈ）の範囲とする。
【００８５】
次に、ステップｓ１４０において、コントローラ１１０は、前述した出力軸１４０の回転方向を判定する方法の何れか、もしくは、それらの組合せをにより、出力軸１４０の回転方向を判定し、データがどのグループに属しているかを決定する。さらに（表６）に基き、角度計算式に用いる磁気センサ素子１６５の出力を決定する。
【００８６】
次に、ステップｓ１５０において、コントローラ１１０は、ＲＡＭに記憶された各グループ毎の補正係数ａ，ｂ，ｃ，ｄより、以下の式（４）の多次関数を用いて角度θcalculationを算出する。
【００８７】
【数４】
0004260544.tif 000011
なお、ｘは各グループで角度計算に使用される磁気センサ素子１６５の出力である。例えば、（表６）を参照すれば、領域１かつ正転方向に回転している場合、グループ名はarea_1_CWであり、ｘ＝ｖ１_normalizeとなる。また、補正係数ａ，ｂ，ｃ，ｄは、それぞれ、a_area1_CW，b_area1_CW，c_area1_CW，d_area1_CWとなる。但し、キャリブレーション時に offsetが減算されているので、実際の出力軸１４０の回転角度は、（θcalculation  ＋  offset）となる。
【００８８】
以上より、回転体の回転方向で異なった補正係数を使用しているため、磁気センサ素子１６５の出力に現れるヒステリシスをキャンセルし、高精度に角度を検知することが可能である。
【００８９】
次に、ステップｓ１６０において、コントローラ１１０は、算出された回転角度が目標回転角度θTとなるように、モータ１３０を回転させるためのトルク指令値を求めて、モータドライバ１２０に出力する。
【００９０】
ここで、図１０を用いて、具体的な角度の補正例について説明する。
図１０は、本発明の一実施形態による回転制御装置における角度補正処理の具体例の説明図である。
【００９１】
図中、×印は、磁石１５０を２１０度から３３０度まで正転方向及び逆転方向に回転させた際のｖ０_normalizeを示している。符号Ａ１で示す×印の列は、磁石１５０を正転させた場合のセンサ出力を示し、符号Ａ２で示す×印の列は、磁石１５０を逆転させた場合のセンサ出力を示している。
【００９２】
この回転角度範囲には領域４が含まれ、領域４では式（４）を用いて、ｘ＝ｖ０_normalizeとして角度が算出される。ここで、前述の回転方向により異なった補正係数を用いて角度を算出する方法により、正転時と逆転時とで、別々に磁気センサ素子１６５の出力を近似した曲線を求めることができる。近似曲線Ｂ１はarea4 _CWに属する補正係数を元に算出された正転方向の回転角度、近似曲線Ｂ２はarea4 _CCWに属する補正係数を元に算出された逆転方向の回転角度である。
【００９３】
図１１は、本実施形態により、回転方向により異なる補正係数を算出するキャリブレーションを用い、ヒステリシスを補正し、角度を計算した場合の角度偏差を示している。回転方向により異なる補正係数を算出することにより、角度偏差は、±０．２°まで減少させることができる。なお、補正を行わない場合の角度偏差は、±２°程度である。
【００９４】
シフトコントローラ１００により、２駆から高速４駆に切り替える場合には、出力軸の角度を０°から９０°に変更するが、このとき、従来のように±２°の角度誤差があると、切り替えに失敗することがあり、制御精度が低下するが、本実施形態のように、角度誤差が±０．２°であれば、切り替えに成功して、制御精度を向上することができる。
【００９５】
次に、コントローラ１１０が、磁気センサ素子１６５の出力から出力軸１４０の角度を求める際の第２の補正方法について説明する。
例えば、図７に示す例において、角度領域２及び角度領域４の範囲で、ｖ０_normalizeが角度に対して一次直線とみなせる場合、また、角度領域３及び角度領域１の範囲で、ｖ１_normalizeが角度に対して一次直線とみなせる場合、式（３）を、以下の式（５）、すなわち、一次近似式で置き換えたものを用い補正係数ｃ，ｄを算出する。
【００９６】
【数５】
0004260544.tif 000012
算出された補正係数ｃ，ｄは、EEPROM１７０に保存され、磁気センサ素子１６５の出力とこの補正係数ｃ，ｄより、上述の補正方法と同様に角度が補正計算される。しかし、この場合、式（４）は、θcalculation＝ｃ・ｘ＋ｄと置き換えられて計算される。
【００９７】
次に、図１２を用いて、コントローラ１１０が、磁気センサ素子１６５の出力から出力軸１４０の角度を求める際の第３の補正方法について説明する。
図１２は、本発明の一実施形態による回転制御装置における第３の角度補正処理の説明図である。
【００９８】
図１２は、磁石１５０の回転角度と２系統ある磁気センサ素子１６５の出力を互い除算した値の関係のグラフを示している。上述の補正方法において、式（３）と式（４）のｘを、領域１及び領域３では、ｘ＝（Ｖ０_normalize／Ｖ１_normalize）とし、領域２と領域４では、ｘ＝（Ｖ１_normalize／Ｖ０_normalize）と置き換えて近似して、補正係数を求めて、補正計算する。
【００９９】
次に、コントローラ１１０が、磁気センサ素子１６５の出力から出力軸１４０の角度を求める際の第４の補正方法について説明する。
この例は、ヒステリシスが磁石１５０の回転角度によらず、一定（θｈ）であるとみなせる場合、正転時と逆転時の磁気センサ素子１６５の出力から、回転方向を区別せず、各領域で一組の補正係数を計算し、この補正係数から、磁石１５０の回転角度を算出する。この算出された角度は、正転時の磁気センサ素子１６５の出力と逆転時の磁気センサ素子１６５の出力を同時に補正しているため、正転時・逆転時ともにヒステリシスの半分の角度偏差が現れる。そこで、計算された角度θcalculationを、正転時には、θcalculation＝（θcalculation−（θｈ／２））とし、逆転時には、θcalculation＝（θcalculation＋（θｈ／２））とし、計算された角度にヒステリシスの影響を減算もしくは加算する。
【０１００】
以上説明したように、本実施形態によれば、回転体の回転方向で異なった補正係数を使用して、磁気センサ素子の出力に現れるヒステリシスをキャンセルし、高精度に角度を検知することができる。また、高精度な角度検出ができるので、角度制御の制御精度を向上することができる。
【０１０１】
【発明の効果】
本発明によれば、ヒステリシス特性の影響を受けることなく、角度検出値の誤差が低減することができる。
【０１０２】
また、回転制御の制御精度を向上できる。
【図面の簡単な説明】
【図１】本発明の一実施形態による回転制御装置の構成を示すブロック図である。
【図２】本発明の一実施形態による回転制御装置における出力軸１４０の回転角度θrと出力回路１６０の出力電圧Ｖoutの関係を示す特性図である。
【図３】本発明の一実施形態による回転制御装置に用いるキャリブレーション装置の構成を示すシステム構成図である。
【図４】本発明の一実施形態による回転制御装置に用いるキャリブレーション装置のロータリーエンコーダの出力パルスの波形図である。
【図５】本発明の一実施形態による回転制御装置に用いるキャリブレーション装置の動作を示すフローチャートである。
【図６】本発明の一実施形態による回転制御装置におけるキャリブレーション処理時の正規化された出力の波形図である。
【図７】本発明の一実施形態による回転制御装置におけるキャリブレーション処理時の正規化された出力の波形図である。
【図８】本発明の一実施形態による回転制御装置に用いるモータドライバのブロック図である。
【図９】本発明の一実施形態による回転制御装置における角度補正処理の内容を示すフローチャートである。
【図１０】本発明の一実施形態による回転制御装置における角度補正処理の具体例の説明図である。
【図１１】本発明の一実施形態による回転制御装置における角度偏差の説明図である。
【図１２】本発明の一実施形態による回転制御装置における第３の角度補正処理の説明図である。
【符号の説明】
１００…シフトコントローラ１００
１１０…コントローラ
１２０…モータドライバ
１３０…モータ
１４０…出力軸
１５０…磁石
１６０…出力回路
１６５…センサ素子
１７０…EEPROM
【図１】
0004260544.tif 000013
【図２】
0004260544.tif 000014
【図３】
0004260544.tif 000015
【図４】
0004260544.tif 000016
【図５】
0004260544.tif 000017
【図６】
0004260544.tif 000018
【図７】
0004260544.tif 000019
【図８】
0004260544.tif 000020
【図９】
0004260544.tif 000021
【図１０】
0004260544.tif 000022
【図１１】
0004260544.tif 000023
【図１２】
0004260544.tif 000024