(57)【特許請求の範囲】
【請求項１】
計測対象（３２）の回転に応じて三相以上のパルス信号を所定の規則に沿って出力するパルス出力部（４６）と、
前記パルス信号に基づいて前記パルス出力部が異常か否かを判定する判定部（４１）とを備え、
前記判定部は、前記パルス信号が前記規則に沿わずに出力された状態（以下「パルス異常状態」という）で、且つ、最後に前記パルス信号が前記規則に沿って出力されたタイミング（以下「直前正常出力タイミング」という）から経過した時間が所定の判定時間よりも長い場合に、前記パルス出力部の異常を確定し、
前記判定部は、前記直前正常出力タイミングとその一回前に前記パルス信号が前記規則に沿って出力されたタイミングとの時間間隔又はそれに相関する情報に応じて前記判定時間を設定する制御装置。
【請求項２】
前記計測対象であるロータ（３２）を有するモータ（１２）と、
前記パルス信号に基づいて前記モータの通電相を切り換えて前記モータを回転駆動するモータ制御を実行するモータ制御部（４１）と
を備えている請求項１に記載の制御装置。
【請求項３】
前記モータ制御部は、前記パルス異常状態で、且つ、前記直前正常出力タイミングから経過した時間が前記判定時間以下の場合に、前記モータの駆動状態を変更しない請求項２に記載の制御装置。
【請求項４】
前記モータ制御部は、前記パルス異常状態になった後、前記パルス出力部の異常が確定する前に前記パルス信号が前記規則に沿って出力された状態に復帰した場合には、前記モータ制御を再開する請求項３に記載の制御装置。
【請求項５】
前記モータ制御部は、前記パルス出力部の異常が確定した場合には、前記パルス信号のうち出力が正常な相のパルス信号の出力タイミングを用いて前記モータ制御を行う請求項２乃至４のいずれかに記載の制御装置。
【請求項６】
計測対象（３２）の回転に応じて三相以上のパルス信号を所定の規則に沿って出力するパルス出力部（４６）と、
前記パルス信号に基づいて前記パルス出力部が異常か否かを判定する判定部（４１）とを備え、
前記判定部は、前記パルス信号が前記規則に沿わずに出力された状態（以下「パルス異常状態」という）で、且つ、最後に前記パルス信号が前記規則に沿って出力されたタイミング（以下「直前正常出力タイミング」という）から経過した時間が所定の判定時間よりも長い場合に、前記パルス出力部の異常を確定し、
前記計測対象であるロータ（３２）を有するモータ（１２）と、
前記パルス信号に基づいて前記モータの通電相を切り換えて前記モータを回転駆動するモータ制御を実行するモータ制御部（４１）と
を備えており、
前記モータ制御部は、前記パルス出力部の異常が確定した場合には、前記パルス信号のうち出力が正常な相のパルス信号の出力タイミングに基づいて出力が異常な相のパルス信号の正常な出力タイミングを予測し、その予測した出力タイミングを用いて前記モータ制御を行う制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測対象の回転に応じてパルス信号を出力するパルス出力部を備えた制御装置に関する発明である。
【背景技術】
【０００２】
近年、自動車においても、省スペース化、組立性向上、制御性向上等の要求を満たすために、機械的な駆動システムを、モータによって電気的に駆動するシステムに変更する事例が増加する傾向にある。その一例として、車両の自動変速機のレンジ切換機構をモータで駆動するようにしたものがある。このものは、モータの回転に同期して所定角度毎にパルス信号を出力するエンコーダを搭載し、このエンコーダの出力信号のカウント値に基づいてモータの通電相を順次切り換えてモータを回転駆動するようにしている。
【０００３】
このようなシステムにおいては、エンコーダの異常診断技術として、特許文献１に記載されたものがある。このものは、三相のパルス信号を出力するエンコーダを搭載し、三相のパルス信号のうち一相のパルス信号が異常のときに出現するパルス信号の組み合わせパターンである異常パターンを検出することにより、エンコーダの異常を検出するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−７２７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１では、エンコーダの出力信号に重畳するノイズの対策については開示がなく、エンコーダの出力信号にノイズが重畳して一時的に異常パターンになった場合に、エンコーダが正常であるにも拘らずエンコーダの異常と誤判定してしまう可能性がある。
【０００６】
そこで、本発明が解決しようとする課題は、耐ノイズ性を向上させることができる制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、計測対象（３２）の回転に応じて三相以上のパルス信号を所定の規則に沿って出力するパルス出力部（４６）と、前記パルス信号に基づいて前記パルス出力部が異常か否かを判定する判定部（４１）とを備え、前記判定部は、前記パルス信号が前記規則に沿わずに出力された状態（以下「パルス異常状態」という）で、且つ、最後に前記パルス信号が前記規則に沿って出力されたタイミング（以下「直前正常出力タイミング」という）から経過した時間が所定の判定時間よりも長い場合に、前記パルス出力部の異常を確定し、前記判定部は、前記直前正常出力タイミングとその一回前に前記パルス信号が前記規則に沿って出力されたタイミングとの時間間隔又はそれに相関する情報に応じて前記判定時間を設定する構成としたものである。
【０００８】
パルス出力部に異常（例えば、いずれかの相のパルス信号がＨレベル又はＬレベルで固着する異常）が発生すると、パルス異常状態（つまりパルス信号が規則に沿わずに出力された状態）が発生する。一方、パルス出力部の出力信号にノイズが重畳した場合にも、パルス異常状態が発生する。しかし、パルス出力部の出力信号にノイズが重畳してパルス異常状態になった場合には、直前正常出力タイミングからパルス異常状態が発生するまでの時間間隔が、正常時のパルス周期（つまりパルス信号が規則に沿って出力されたタイミングの時間間隔）に比べて短くなる。更に、比較的短時間でパルス正常状態（つまりパルス信号が規則に沿って出力された状態）に戻ると考えられる。
【０００９】
このような特性を考慮して、本発明では、パルス異常状態で、且つ、直前正常出力タイミングから経過した時間が判定時間よりも長い場合に、パルス出力部の異常を確定するようにしている。つまり、パルス異常状態が発生したときに、直前正常出力タイミングから経過した時間が判定時間よりも長い場合には、パルス出力部に異常が発生してパルス異常状態になったと判断して、パルス出力部の異常を確定する。また、パルス異常状態が発生したときに、直前正常出力タイミングから経過した時間が判定時間以下でも、その後、直前正常出力タイミングから経過した時間が判定時間を越えるまでパルス異常状態が継続した場合には、パルス出力部に異常が発生してパルス異常状態になったと判断して、パルス出力部の異常を確定する。一方、パルス異常状態が発生しても、その後、直前正常出力タイミングから経過した時間が判定時間を越える前に、パルス正常状態に復帰した場合には、パルス出力部の出力信号にノイズが重畳して一時的にパルス異常状態になったと判断して、パルス出力部の異常を確定しない。これにより、パルス出力部の出力信号にノイズが重畳して一時的にパルス異常状態になった場合に、パルス出力部が正常であるにも拘らずパルス出力部の異常と誤判定してしまうことを防止でき、耐ノイズ性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は本発明の一実施例におけるレンジ切換機構の斜視図である。
【図２】図２はレンジ切換制御システムの概略構成を示す図である。
【図３】図３はエンコーダの構成を説明する図である。
【図４】図４はエンコーダの出力波形及び通電相の切り換えパターンを示す図である。
【図５】図５は各相のパルス信号の組み合わせパターンのうちパルス正常状態のパターンとパルス異常状態のパターンを説明する図である。
【図６】図６はパルス信号がＬレベルで固着する異常が発生した場合にパルス異常状態のパターンが発生することを説明する図である。
【図７】図７はパルス信号がＨレベルで固着する異常が発生した場合にパルス異常状態のパターンが発生することを説明する図である。
【図８】図８は異常診断の実行例（その１）を示すタイムチャートである。
【図９】図９は異常診断の実行例（その２）を示すタイムチャートである。
【図１０】図１０は異常診断の実行例（その３）を示すタイムチャートである。
【図１１】図１１は異常診断の実行例（その４）を示すタイムチャートである。
【図１２】図１２は異常診断ルーチンの処理の流れを示すフローチャート（その１）である。
【図１３】図１３は異常診断ルーチンの処理の流れを示すフローチャート（その２）である。
【図１４】図１４はモータを回転駆動する際の通電相切換の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図１及び図２に基づいてレンジ切換制御システムの構成を説明する。
【００１２】
図１及び図２に示すように、レンジ切換機構１１は、車両に搭載された自動変速機２７のシフトレンジをＰレンジとＮｏｔＰレンジとの間で切り換える２ポジション式のレンジ切換機構である。ここで、Ｐレンジはパーキングレンジを意味する。ＮｏｔＰレンジはＰレンジ以外の他のレンジを意味する。このレンジ切換機構１１の駆動源となるモータ１２は、例えばスイッチトリラクタンスモータにより構成されている。このモータ１２には、減速機構２６が内蔵され、その出力軸１２ａに、レンジ切換機構１１のマニュアルシャフト１３が接続されている。このマニュアルシャフト１３に、ディテントレバー１５が固定されている。
【００１３】
また、ディテントレバー１５にはＬ字形のパーキングロッド１８が固定されている。このパーキングロッド１８の先端部に設けられた円錐体１９がロックレバー２１に当接している。このロックレバー２１は、円錐体１９の位置に応じて軸２２を中心にして上下動してパーキングギヤ２０をロック／ロック解除するようになっている。パーキングギヤ２０は、自動変速機２７の出力軸に設けられている。このパーキングギヤ２０がロックレバー２１によってロックされると、車両の駆動輪が回り止めされた状態（つまりパーキング状態）に保持される。
【００１４】
一方、ディテントレバー１５をＰ、ＮｏｔＰの各レンジの位置に保持するためのディテントバネ２３が支持ベース１７に固定されている。ディテントレバー１５には、Ｐレンジ保持凹部２４とＮｏｔＰレンジ保持凹部２５が形成されている。ディテントバネ２３の先端に設けられた係合部２３ａがディテントレバー１５のＰレンジ保持凹部２４に嵌まり込んだときに、ディテントレバー１５がＰレンジの位置に保持される。ディテントバネ２３の係合部２３ａがディテントレバー１５のＮｏｔＰレンジ保持凹部２５に嵌まり込んだときに、ディテントレバー１５がＮｏｔＰレンジの位置に保持される。これらディテントレバー１５とディテントバネ２３等からディテントレバー１５の回転位置を各レンジの位置に係合保持する（つまりレンジ切換機構１１を各レンジの位置に保持する）ためのディテント機構１４が構成されている。
【００１５】
Ｐレンジでは、パーキングロッド１８がロックレバー２１に接近する方向に移動して、円錐体１９の太い部分がロックレバー２１を押し上げる。これにより、ロックレバー２１の凸部２１ａがパーキングギヤ２０に嵌まり込んでパーキングギヤ２０をロックした状態となる。これにより、自動変速機２７の出力軸がロックされた状態（つまりパーキング状態）に保持される。
【００１６】
一方、ＮｏｔＰレンジでは、パーキングロッド１８がロックレバー２１から離れる方向に移動して、円錐体１９の太い部分がロックレバー２１から抜け出てロックレバー２１が下降する。これにより、ロックレバー２１の凸部２１ａがパーキングギヤ２０から外れてパーキングギヤ２０のロックが解除される。これにより、自動変速機２７の出力軸が回転可能な状態（つまり走行可能な状態）に保持される。
【００１７】
図２に示すように、レンジ切換機構１１のマニュアルシャフト１３には、マニュアルシャフト１３の回転角（つまり回転位置）を検出する回転センサ１６が設けられている。この回転センサ１６は、マニュアルシャフト１３の回転角度に応じた電圧を出力するセンサ（例えばポテンショメータ）によって構成されている。回転センサ１６の出力電圧によって実際のシフトレンジが、ＰレンジとＮｏｔＰレンジのいずれであるかを確認できるようになっている。
【００１８】
また、モータ１２には、ロータ３２の回転角（つまり回転位置）を検出するためのエンコーダ４６が設けられている。このエンコーダ４６は、例えば磁気式のロータリエンコーダにより構成されている。エンコーダ４６は、モータ１２のロータ３２の回転に同期して四相（Ａ相、Ｂ相、Ｃ相、Ｄ相）のパルス信号を出力するように構成されている。このエンコーダ４６が特許請求の範囲でいうパルス出力部に相当する。
【００１９】
エンコーダ４６の具体的な構成は、図３に示すように、Ｎ極とＳ極が円周方向に交互に等ピッチで着磁された円環状のロータリマグネット４７がロータ３２に同軸状に固定されている。このロータリマグネット４７に対向する位置に、４個のホールＩＣ等の磁気検出素子４８Ａ〜４８Ｄが配置された構成となっている。本実施例では、Ｎ極とＳ極の各着磁数がそれぞれ１２でＮ極とＳ極の着磁ピッチが１５ｄｅｇに設定されている。
【００２０】
このロータリマグネット４７に対して、各磁気検出素子４８Ａ〜４８Ｄが次のような位置関係で配置されている。以下の説明では、Ａ相信号を出力する磁気検出素子４８Ａを「Ａ相の磁気検出素子４８Ａ」という。Ｂ相信号を出力する磁気検出素子４８Ｂを「Ｂ相の磁気検出素子４８Ｂ」という。Ｃ相信号を出力する磁気検出素子４８Ｃを「Ｃ相の磁気検出素子４８Ｃ」という。Ｄ相信号を出力する磁気検出素子４８Ｄを「Ｄ相の磁気検出素子４８Ｄ」という。
【００２１】
Ａ相の磁気検出素子４８ＡとＣ相の磁気検出素子４８Ｃは、図４に示すようにＡ相信号とＣ相信号の位相差が機械角で３．７５ｄｅｇとなるように配置されている。Ｃ相の磁気検出素子４８ＣとＢ相の磁気検出素子４８Ｂは、図４に示すようにＣ相信号とＢ相信号の位相差が機械角で３．７５ｄｅｇとなるように配置されている。Ｂ相の磁気検出素子４８ＢとＤ相の磁気検出素子４８Ｄは、図４に示すようにＢ相信号とＤ相信号の位相差が機械角で３．７５ｄｅｇとなるように配置されている。これにより、Ａ相信号とＢ相信号の位相差が機械角で７．５ｄｅｇとなり、Ｃ相信号とＤ相信号の位相差が機械角で７．５ｄｅｇとなるように設定されている。各磁気検出素子４８Ａ〜４８Ｄの出力は、Ｎ極と対向したときにＨレベルとなり、Ｓ極と対向したときにＬレベルとなる。
【００２２】
このように構成されたエンコーダ４６は、図４に示すように、モータ１２のロータ３２の回転に応じて四相のパルス信号を所定の規則に沿って出力する（つまり所定の周期及び所定の位相差で出力する）。この場合、図５に示すように、各相のパルス信号の組み合わせパターンのうちパターン０，１，５，７，８，Ａ，Ｅ，Ｆがパルス正常状態（つまりパルス信号が規則に沿って出力された状態）のパターンである。これに対して、パターン２，３，４，６，９，Ｂ，Ｃ，Ｄがパルス異常状態（つまりパルス信号が規則に沿わずに出力された状態）のパターンである。
【００２３】
図２に示すように、レンジ切換制御回路４２のマイコン４１は、エンコーダ４６から出力されるＡ相信号とＢ相信号の立ち上がり／立ち下がりの両方のエッジをカウントする。マイコン４１は、そのカウント値（以下「エンコーダカウント値」という）に応じてモータドライバ３７によってモータ１２の通電相を所定の順序で切り換えることでモータ１２を回転駆動する。尚、モータ１２の３相（つまりＵ相とＶ相とＷ相）の巻線とモータドライバ３７の組み合わせを２系統設けて、一方の系統が故障しても、他方の系統でモータ１２を回転駆動できる構成にしても良い。
【００２４】
マイコン４１は、モータ１２の回転中に、Ａ相信号とＢ相信号の発生順序によってモータ１２の回転方向を判定する。正回転（例えばＰレンジ→ＮｏｔＰレンジの回転方向）ではエンコーダカウント値をカウントアップする。逆回転（例えばＮｏｔＰレンジ→Ｐレンジの回転方向）ではエンコーダカウント値をカウントダウンする。これにより、モータ１２が正回転／逆回転のいずれの方向に回転しても、エンコーダカウント値とモータ１２の回転角との対応関係が維持される。このため、正回転／逆回転のいずれの回転方向でも、エンコーダカウント値によってモータ１２の回転位置を検出して、その回転位置に対応した相の巻線に通電してモータ１２を回転駆動できるようになっている。
【００２５】
レンジ切換制御回路４２には、シフトスイッチ４４で検出したシフトレバー操作位置の信号が入力される。レンジ切換制御回路４２のマイコン４１は、運転者のシフトレバー操作等に応じて目標レンジ（つまり目標のシフトレンジ）を切り換え、その目標レンジに応じてモータ１２を回転駆動してシフトレンジを切り換える。更に、切り換え後の実際のシフトレンジをインストルメントパネル（図示せず）に設けられたレンジ表示部４５に表示する。
【００２６】
また、レンジ切換制御回路４２には、車両に搭載されたバッテリ５０（つまり電源）から電源リレー５１を介して電源電圧が供給される。電源リレー５１のオン／オフは、電源スイッチであるＩＧスイッチ５２（つまりイグニッションスイッチ）のオン／オフを手動操作することで切り換えられる。ＩＧスイッチ５２がオンされると、電源リレー５１がオンされてレンジ切換制御回路４２に電源電圧が供給される。ＩＧスイッチ５２がオフされると、電源リレー５１がオフされてレンジ切換制御回路４２への電源供給が遮断される。
【００２７】
ところで、エンコーダカウント値は、マイコン４１のＲＡＭに記憶されるため、レンジ切換制御回路４２の電源がオフされると、エンコーダカウント値の記憶値が消えてしまう。そのため、レンジ切換制御回路４２の電源投入直後のエンコーダカウント値は、実際のモータ１２の回転位置や通電相に対応したものとならない。従って、エンコーダカウント値に応じて通電相を切り換えるためには、電源投入後にエンコーダカウント値と実際のモータ１２の回転位置とを対応させて、エンコーダカウント値と通電相とを対応させる必要がある。
【００２８】
そこで、マイコン４１は、電源投入後に初期駆動を行ってモータ１２の通電相とエンコーダカウント値との対応関係を学習する。この初期駆動では、オープンループ制御でモータ１２の通電相の切り換えを所定のタイムスケジュールで一巡させることで、いずれかの通電相でモータ１２の回転位置と該通電相とを一致させてモータ１２を回転駆動して、エンコーダ４６のＡ相信号及びＢ相信号のエッジをカウントする。そして、初期駆動終了時のエンコーダカウント値とモータ１２の回転位置と通電相との対応関係を学習する。
【００２９】
また、マイコン４１は、モータ１２の起動後のエンコーダカウント値に基づいてモータ１２の起動位置からの回転量（つまり回転角）を検出できるだけである。このため、電源投入後に何等かの方法で、モータ１２の絶対的な回転位置を検出しないと、モータ１２を正確に目標回転位置まで回転駆動することができない。
【００３０】
そこで、マイコン４１は、初期駆動の終了後に、レンジ切換機構１１の可動範囲の限界位置に突き当たるまでモータ１２を回転させる突き当て制御を実行して、その限界位置を基準位置として学習する。そして、この基準位置のエンコーダカウント値を基準にしてモータ１２の回転量（つまり回転角）を制御する。
【００３１】
基準位置を学習した後、マイコン４１は、運転者のシフトレバー操作等により目標レンジが切り換えられてレンジ切換要求が発生すると、その目標レンジの切り換えに応じて目標回転位置（つまり目標カウント値）を変更する。そして、マイコン４１は、エンコーダカウント値に基づいてモータ１２の通電相を順次切り換えてモータ１２を目標レンジに相当する目標回転位置まで回転駆動するモータ制御を実行する。これにより、シフトレンジを目標レンジに切り換える（つまりレンジ切換機構１１の切換位置を目標レンジの位置に切り換える）。マイコン４１が特許請求の範囲でいうモータ制御部としての役割を果たす。
【００３２】
ところで、図６及び図７に示すように、エンコーダ４６に異常が発生すると、パルス異常状態が発生する。
例えば、図６（ａ）に示すように、Ａ相信号がＬレベルで固着する異常（つまりＬレベルに張り付いた状態になる異常）が発生すると、パルス異常状態のパターン４，６が発生する。図６（ｂ）に示すように、Ｂ相信号がＬレベルで固着する異常が発生すると、パルス異常状態のパターンＤ，Ｃが発生する。図６（ｃ）に示すように、Ｃ相信号がＬレベルで固着する異常が発生すると、パルス異常状態のパターン３，Ｂが発生する。図６（ｄ）に示すように、Ｄ相信号がＬレベルで固着する異常が発生すると、パルス異常状態のパターン６，２が発生する。
【００３３】
また、図７（ａ）に示すように、Ａ相信号がＨレベルで固着する異常（つまりＨレベルに張り付いた状態になる異常）が発生すると、パルス異常状態のパターンＢ，９が発生する。図７（ｂ）に示すように、Ｂ相信号がＨレベルで固着する異常が発生すると、パルス異常状態のパターン２，３が発生する。図７（ｃ）に示すように、Ｃ相信号がＨレベルで固着する異常が発生すると、パルス異常状態のパターンＣ，４が発生する。図７（ｄ）に示すように、Ｄ相信号がＨレベルで固着する異常が発生すると、パルス異常状態のパターン９，Ｄが発生する。
【００３４】
一方、エンコーダ４６の出力信号にノイズが重畳した場合にも、パルス異常状態が発生する。しかし、エンコーダ４６の出力信号にノイズが重畳してパルス異常状態になった場合には、直前正常出力タイミング（つまり最後にパルス信号が規則に沿って出力されたタイミング）からパルス異常状態が発生するまでの時間間隔が、正常時のパルス周期（つまりパルス信号が規則に沿って出力されたタイミングの時間間隔）に比べて短くなる。更に、比較的短時間でパルス正常状態に戻ると考えられる。
【００３５】
このような特性を考慮して、本実施例では、レンジ切換制御回路４２のマイコン４１により後述する図１２及び図１３に示す異常診断ルーチンを実行することで、次のような異常診断を行う。モータ１２の回転駆動中に、パルス異常状態で、且つ、直前正常出力タイミングから経過した時間が所定の判定時間よりも長い場合に、エンコーダ４６の異常を確定する。
【００３６】
つまり、パルス異常状態が発生したときに、直前正常出力タイミングから経過した時間が判定時間よりも長い場合には、エンコーダ４６に異常が発生してパルス異常状態になったと判断して、エンコーダ４６の異常を確定する。また、パルス異常状態が発生したときに、直前正常出力タイミングから経過した時間が判定時間以下でも、その後、直前正常出力タイミングから経過した時間が判定時間を越えるまでパルス異常状態が継続した場合には、エンコーダ４６に異常が発生してパルス異常状態になったと判断して、エンコーダ４６の異常を確定する。一方、パルス異常状態が発生しても、その後、直前正常出力タイミングから経過した時間が判定時間を越える前に、パルス正常状態に復帰した場合には、エンコーダ４６の出力信号にノイズが重畳して一時的にパルス異常状態になったと判断して、エンコーダ４６の異常を確定しない。これにより、エンコーダ４６の出力信号にノイズが重畳して一時的にパルス異常状態になった場合に、エンコーダ４６の異常と誤判定することを防止する。
【００３７】
図８乃至図１１を用いて、本実施例の異常診断の実行例を説明する。
図８乃至図１１に示すように、エンコーダ４６のパルス信号が出力されたか否かを、パルス信号の立ち上がり又は立ち下がりのエッジを検出したか否かによって判定する。そして、エンコーダ４６のパルス信号が出力された（つまり変化した）と判定される毎に、パルス周期Ｔを算出する。ここで、パルス周期Ｔは、エンコーダ４６のパルス信号が出力された前回のタイミングから今回のタイミングまでの時間間隔とする。
【００３８】
更に、エンコーダ４６のパルス信号が出力されたと判定される毎に、パルス正常状態か否かを、各相のパルス信号の組み合わせパターンがパルス正常状態のパターン（例えば、０，１，５，７，８，Ａ，Ｅ，Ｆのいずれか）であるか否かによって判定する。
【００３９】
その結果、パルス異常状態と判定された場合には、その時点ｔ3 で、今回のパルス周期Ｔ（つまり直前正常出力タイミングｔ2 から経過した時間）を、異常発生時のパルス周期Ｔb とし、この異常発生時のパルス周期Ｔb が判定時間Ｋよりも長いか否かを判定する。この場合、前回のパルス周期Ｔ（つまり直前正常出力タイミングｔ2 とその一回前にパルス信号が規則に沿って出力されたタイミングｔ1 との時間間隔）を、正常時のパルス周期Ｔa とし、この正常時のパルス周期Ｔa に応じて判定時間Ｋを設定する。本実施例では、正常時のパルス周期Ｔa に所定の係数（例えば１．５）を乗算した値を判定時間Ｋとして設定する。
【００４０】
図８及び図９に示すように、パルス異常状態と判定された時点ｔ3 で、異常発生時のパルス周期Ｔb が判定時間Ｋ以下と判定された場合には、仮異常判定中フラグをＯＮにセットする。この場合、モータ１２の駆動状態を変更しない（つまりモータ１２の通電相を切り換えない）。
【００４１】
仮異常判定中フラグがＯＮにセットされた後は、直前正常出力タイミングｔ2 から経過した時間Ｔc が判定時間Ｋよりも長いか否かによってエンコーダ４６の異常を確定するか否かを判定する。
【００４２】
図８及び図９には示されていないが、パルス異常状態が継続したまま直前正常出力タイミングｔ2 から経過した時間Ｔc が判定時間Ｋを越えた場合には、その時点で、エンコーダ４６に異常が発生してパルス異常状態になったと判断して、エンコーダ４６の異常を確定する。
【００４３】
一方、図８に示すように、エンコーダ４６の異常が確定する前（つまり直前正常出力タイミングｔ2 から経過した時間Ｔc が判定時間Ｋを越える前）に、パルス正常状態に復帰した場合には、その時点ｔ4 で、エンコーダ４６の出力信号にノイズが重畳して一時的にパルス異常状態になったと判断して、エンコーダ４６の異常を確定しない。この場合、仮異常判定中フラグをＯＦＦにリセットすると共に、モータ制御を再開してエンコーダカウント値に基づいてモータ１２の通電相を切り換えてモータ１２を回転駆動する。
【００４４】
尚、図９に示すように、仮異常判定中フラグがＯＮにセットされた後、再びパルス異常状態と判定された場合には、その時点ｔ5 で、直前正常出力タイミングｔ2 から経過した時間Ｔc が判定時間Ｋよりも長いか否かを判定する。経過した時間Ｔc が判定時間Ｋ以下と判定された場合には、仮異常判定中フラグをＯＮに維持して、モータ１２の駆動状態を変更しない。
【００４５】
その後、エンコーダ４６の異常が確定する前（つまり直前正常出力タイミングｔ2 から経過した時間Ｔc が判定時間Ｋを越える前）に、パルス正常状態に復帰した場合には、その時点ｔ6 で、エンコーダ４６の出力信号にノイズが重畳して一時的にパルス異常状態になったと判断して、エンコーダ４６の異常を確定しない。この場合、仮異常判定中フラグをＯＦＦにリセットすると共に、モータ制御を再開してエンコーダカウント値に基づいてモータ１２の通電相を切り換えてモータ１２を回転駆動する。
【００４６】
一方、図１０及び図１１に示すように、パルス異常状態と判定された時点ｔ3 で、異常発生時のパルス周期Ｔb が判定時間Ｋよりも長いと判定された場合には、その時点ｔ3 で、エンコーダ４６に異常が発生してパルス異常状態になったと判断して、エンコーダ４６の異常を確定する。
【００４７】
エンコーダ４６の異常が確定した場合には、各相のパルス信号のうち出力が異常なパルス信号を判定する。例えば、パルス信号が出力されない（つまりパルス信号のエッジが検出されない）状態が所定期間を越えた場合に、その相のパルス信号を異常と判定する。
【００４８】
そして、各相のパルス信号のうち出力が正常な相のパルス信号の出力タイミングを用いてモータ制御を行う。例えば、図１０に示すように、Ｂ相信号が異常の場合には、Ｂ相のパルス信号（つまり出力が異常な相のパルス信号）のエッジに代えて、Ｄ相のパルス信号（つまり出力が正常な相のパルス信号）のエッジを用いる。そして、Ａ相のパルス信号のエッジとＤ相のパルス信号のエッジを用いてエンコーダカウント値を変化させて、そのエンコーダカウント値に基づいてモータ１２の通電相を切り換えてモータ１２を回転駆動する。
【００４９】
或は、各相のパルス信号のうち出力が正常な相のパルス信号の出力タイミングに基づいて出力が異常な相のパルス信号の正常な出力タイミングを予測し、その予測した出力タイミングを用いてモータ制御を行うようにしても良い。例えば、図１１に示すように、Ｂ相信号が異常の場合には、Ａ相のパルス信号（つまり出力が正常な相のパルス信号）のエッジとＣ相のパルス信号（つまり出力が正常な相のパルス信号）のエッジとの時間間隔を正常エッジ間隔Ｔa （つまり正常時のパルス周期Ｔa に相当する時間）として算出する。この正常エッジ間隔Ｔa とＣ相のパルス信号のエッジとに基づいてＢ相のパルス信号（つまり出力が異常な相のパルス信号）の正常なエッジタイミングを予測する。その予測したエッジタイミングでソフト割り込みを発生させ、そのソフト割り込みをＢ相のパルス信号のエッジとして代用する。そして、Ａ相のパルス信号のエッジとソフト割り込みを用いてエンコーダカウント値を変化させて、そのエンコーダカウント値に基づいてモータ１２の通電相を切り換えてモータ１２を回転駆動する。
【００５０】
以上説明した本実施例の異常診断は、レンジ切換制御回路４２のマイコン４１によって図１２及び図１３に示す異常診断ルーチンに従って実行される。以下、この異常診断ルーチンの処理内容を説明する。
【００５１】
図１２及び図１３に示す異常診断ルーチンは、レンジ切換制御回路４２の電源オン期間中で初期駆動及び基準位置学習を実施した後にマイコン４１により所定周期で繰り返し実行され、特許請求の範囲でいう判定部としての役割を果たす。
【００５２】
本ルーチンが起動されると、まず、ステップ１０１で、モータ１２の駆動中であるか否かを、駆動中フラグがＯＮであるか否かによって判定する。
このステップ１０１で、モータ１２の駆動中ではない（つまり停止中）と判定された場合には、ステップ１０２に進む。このステップ１０２で、仮異常判定中フラグがＯＮか否かを判定する。
【００５３】
このステップ１０２で、仮異常判定中フラグがＯＦＦと判定された場合には、ステップ１０３に進む。このステップ１０３で、エンコーダ４６のパルス信号が出力されたか否かを、Ａ相〜Ｄ相のいずれかのパルス信号の立ち上がり又は立ち下がりのエッジを検出したか否かによって判定する。
【００５４】
このステップ１０３で、エンコーダ４６のパルス信号が出力された（つまり変化した）と判定された場合には、ステップ１０４に進む。このステップ１０４で、パルス正常状態か否かを、各相のパルス信号の組み合わせパターンがパルス正常状態のパターン（例えば、０，１，５，７，８，Ａ，Ｅ，Ｆのいずれか）であるか否かによって判定する。
【００５５】
このステップ１０４で、パルス正常状態と判定された場合には、ステップ１０５に進む。このステップ１０５で、現在の制御状態を継続したまま仮異常判定中フラグをＯＦＦにリセットした後、ステップ１０６に進む。
【００５６】
一方、上記ステップ１０３で、エンコーダ４６のパルス信号が出力されていない（つまり変化していない）と判定された場合には、ステップ１０４，１０５を実行することなく、ステップ１０６に進む。
【００５７】
ステップ１０６では、レンジ切換要求が発生したか否かを、切換要求フラグがＯＮであるか否かによって判定する。このステップ１０６で、レンジ切換要求が発生していないと判定された場合には、そのまま本ルーチンを終了する。その後、上記ステップ１０６で、レンジ切換要求が発生したと判定された場合には、ステップ１０７に進む。このステップ１０７で、駆動中フラグをＯＮにセットすると共に、切換要求フラグをＯＦＦにリセットして、本ルーチンを終了する。
【００５８】
これに対して、上記ステップ１０４で、パルス正常状態ではない（つまりパルス異常状態）と判定された場合には、ステップ１０８に進む。このステップ１０８で、仮異常判定中フラグをＯＮにセットして、本ルーチンを終了する。
【００５９】
その後、上記ステップ１０２で、仮異常判定中フラグがＯＮと判定された場合には、ステップ１０９に進む。このステップ１０９で、例えば、パルス異常状態が所定時間以上継続したか否かによってエンコーダ４６の異常を確定するか否かを判定する。このステップ１０９で、エンコーダ４６の異常を確定すると判定された場合には、ステップ１１０に進む。このステップ１１０で、停止中異常確定処理を実行する。この停止中異常確定処理では、例えば、エンコーダ異常フラグをＯＮにセットする。
【００６０】
一方、上記ステップ１０１で、モータ１２の駆動中と判定された場合には、図１３のステップ１１１に進む。このステップ１１１で、仮異常判定中フラグがＯＮか否かを判定する。
【００６１】
このステップ１１１で、仮異常判定中フラグがＯＦＦと判定された場合には、ステップ１１２に進む。このステップ１１２で、エンコーダ４６のパルス信号が出力されたか否かを、Ａ相〜Ｄ相のいずれかのパルス信号の立ち上がり又は立ち下がりのエッジを検出したか否かによって判定する。
【００６２】
このステップ１１２で、エンコーダ４６のパルス信号が出力された（つまり変化した）と判定された場合には、ステップ１１３に進む。このステップ１１３で、パルス周期Ｔを算出する。この場合、エンコーダ４６のパルス信号が出力された前回のタイミングから今回のタイミングまでの時間間隔をパルス周期Ｔとして算出する。
【００６３】
この後、ステップ１１４に進み、パルス正常状態か否かを、各相のパルス信号の組み合わせパターンがパルス正常状態のパターン（例えば、０，１，５，７，８，Ａ，Ｅ，Ｆのいずれか）であるか否かによって判定する。
【００６４】
このステップ１１４で、パルス正常状態と判定された場合には、ステップ１１５に進む。このステップ１１５で、エンコーダカウント値を更新すると共に、仮異常判定中フラグをＯＦＦにリセットする。
【００６５】
この後、ステップ１１６に進み、エンコーダカウント値に基づいてモータ１２の通電相を切り換える。この後、ステップ１１７に進み、レンジ切換が終了したか否かを、例えば、モータ１２が目標回転位置まで回転した（つまりエンコーダカウント値が目標カウント値に到達した）か否かによって判定する。
【００６６】
このステップ１１７で、レンジ切換が終了していないと判定された場合には、そのまま本ルーチンを終了する。その後、上記ステップ１１７で、レンジ切換が終了したと判定された場合には、ステップ１１８に進む。このステップ１１８で、駆動中フラグをＯＦＦにリセットして、本ルーチンを終了する。
【００６７】
これに対して、上記ステップ１１４で、パルス正常状態ではない（つまりパルス異常状態）と判定された場合には、ステップ１１９に進む。このステップ１１９で、今回のパルス周期Ｔ（つまり直前正常出力タイミングから経過した時間）を、異常発生時のパルス周期Ｔb とし、この異常発生時のパルス周期Ｔb が判定時間Ｋよりも長いか否かを判定する。この場合、前回のパルス周期Ｔ（つまり直前正常出力タイミングとその一回前にパルス信号が規則に沿って出力されたタイミングとの時間間隔）を、正常時のパルス周期Ｔa とし、この正常時のパルス周期Ｔa に応じて判定時間Ｋを設定する。本実施例では、正常時のパルス周期Ｔa に所定の係数を乗算した値を判定時間Ｋとして設定する。ここで、係数は、１〜２程度の値（例えば１．５）とする。
【００６８】
このステップ１１９で、異常発生時のパルス周期Ｔb が判定時間Ｋよりも長いと判定された場合には、エンコーダ４６の異常を確定して、ステップ１２２に進む。このステップ１２２で、駆動中異常確定処理を実行する。この駆動中異常確定処理では、例えば、エンコーダ異常フラグをＯＮにセットする。更に、パルス信号のうち出力が正常な相のパルス信号の出力タイミングを用いてモータ制御を行う。或は、パルス信号のうち出力が正常な相のパルス信号の出力タイミングに基づいて出力が異常な相のパルス信号の正常な出力タイミングを予測し、その予測した出力タイミングを用いてモータ制御を行う。
【００６９】
これに対して、上記ステップ１１９で、異常発生時のパルス周期Ｔb が判定時間Ｋ以下と判定された場合には、ステップ１２０に進む。このステップ１２０で、仮異常判定中フラグをＯＮにセットして、本ルーチンを終了する。この場合、モータ１２の駆動状態を変更しない（つまりモータ１２の通電相を切り換えない）。
【００７０】
その後、上記ステップ１１１で、仮異常判定中フラグがＯＮと判定された場合には、ステップ１２１に進む。このステップ１２１で、直前正常出力タイミングから経過した時間Ｔc が判定時間Ｋよりも長いか否かによってエンコーダ４６の異常を確定するか否かを判定する。
【００７１】
このステップ１２１で、直前正常出力タイミングから経過した時間Ｔc が判定時間Ｋ以下と判定されてエンコーダ４６の異常を確定しないと判定された場合には、ステップ１１２に戻る。
【００７２】
エンコーダ４６の異常が確定する前（つまり直前正常出力タイミングから経過した時間Ｔc が判定時間Ｋを越える前）に、ステップ１１４で、パルス正常状態と判定された場合には、ステップ１１５に進む。このステップ１１５で、エンコーダカウント値を更新すると共に、仮異常判定中フラグをＯＦＦにリセットした後、ステップ１１６に進み、エンコーダカウント値に基づいてモータ１２の通電相を切り換える。これにより、モータ制御を再開する。
【００７３】
尚、仮異常判定中フラグがＯＮにセットされた後、ステップ１１４で、再びパルス異常状態と判定された場合には、直前正常出力タイミングから経過した時間Ｔc が判定時間Ｋよりも長いか否かを判定する。経過した時間Ｔc が判定時間Ｋ以下と判定された場合には、仮異常判定中フラグをＯＮに維持して、モータ１２の駆動状態を変更しない。
【００７４】
一方、上記ステップ１２１で、直前正常出力タイミングから経過した時間Ｔc が判定時間Ｋよりも長いと判定されてエンコーダ４６の異常を確定すると判定された場合には、ステップ１２２に進む。このステップ１２２で、駆動中異常確定処理を実行する。
【００７５】
以上説明した本実施例では、モータ１２のロータ３２の回転に応じて四相のパルス信号を所定の規則に沿って出力するエンコーダ４６を設ける。そして、モータ１２の回転駆動中に、パルス異常状態で、且つ、直前正常出力タイミングから経過した時間が判定時間Ｋよりも長い場合に、エンコーダ４６の異常を確定するようにしている。これにより、エンコーダ４６の出力信号にノイズが重畳して一時的にパルス異常状態になった場合に、エンコーダ４６が正常であるにも拘らずエンコーダ４６の異常と誤判定してしまうことを防止でき、耐ノイズ性を向上させることができる。
【００７６】
また、本実施例では、直前正常出力タイミングとその一回前にパルス信号が規則に沿って出力されたタイミングとの時間間隔を正常時のパルス周期Ｔa とし、この正常時のパルス周期Ｔa に応じて判定時間Ｋを設定するようにしている。これにより、正常時のパルス周期Ｔa （つまりパルス信号が規則に沿って出力されたタイミングの時間間隔）を基準にして判定時間Ｋを設定することができる。しかも、モータ１２の回転速度（つまりロータ１２の回転速度）に応じて、正常時のパルス周期Ｔa が変化するのに対応して、判定時間Ｋを変化させることができ、判定時間Ｋを適正に設定することができる。
【００７７】
また、本実施例では、パルス異常状態で、且つ、直前正常出力タイミングから経過した時間が判定時間Ｋ以下の場合に、モータ１２の駆動状態を変更しない（つまりモータ１２の通電相を切り換えない）ようにしている。これにより、間違ったタイミングでモータ１２の通電相を切り換えてしまうことを防止できる。
【００７８】
また、本実施例では、パルス異常状態になった後、エンコーダ４６の異常が確定する前（つまり直前正常出力タイミングから経過した時間が判定時間Ｋを越える前）に、パルス正常状態に復帰した場合には、モータ制御を再開するようにしている。これにより、エンコーダ４６の異常が確定されなかった場合（つまりエンコーダ４６の異常が確定する前にパルス正常状態に復帰した場合）に、速やかにモータ制御を再開することができる。
【００７９】
また、本実施例では、エンコーダ４６の異常が確定した場合には、パルス信号のうち出力が正常な相のパルス信号の出力タイミングを用いてモータ制御を行うようにしている。或は、パルス信号のうち出力が正常な相のパルス信号の出力タイミングに基づいて出力が異常な相のパルス信号の正常な出力タイミングを予測し、その予測した出力タイミングを用いてモータ制御を行うようにしてている。これにより、エンコーダ４６の異常が確定した場合に、出力が異常な相のパルス信号を用いずにモータ制御を行うことができる。
【００８０】
ところで、モータ１２を回転駆動する場合には、まず、モータ１２のロータとステータが磁気的に安定した状態にする。例えば、図１４（ａ）に示すように、所定相（例えばＵ相）に通電して、ロータの突極とステータの突極を対向させた状態にする。この状態では、回転トルクは発生しない。次に、図１４（ｂ）に示すように、通電相をロータ角度で１５ｄｅｇ相当分だけ切り換える（例えば通電相をＵ相からＶ相に切り換える）。これにより、回転トルクを発生させる。この際、ロータが３．７５ｄｅｇ回転する毎にパルス信号が発生する。この後、図１４（ｂ）に示すように、ロータの突極とステータの突極が対向して回転トルクがなくなる前に、通電相を切り換える（例えば通電相をＶ相からＶ相及びＷ相に切り換える）。
【００８１】
この操作を繰り返してモータ１２のロータを回転させる。このため、通電相の切り換えが遅れても、ある範囲内であれば、回転を継続することができる。図１４に示す例では、回転開始時にロータ角度で１５ｄｅｇ相当分だけ通電相を切り換え、その後、７．５ｄｅｇ毎に１相通電と２相通電で通電相を切り換えている。このため、一過性のノイズによって通電相切換が７．５ｄｅｇ相当遅れても、低頻度であれば、脱調は発生しないと考えられる。また、３．７５ｄｅｇ相当であれば、エンコーダ４６の異常によって通電相切換が定期的に遅れたとしても、脱調には至らないと考えられる。これらの考えに基づいて脱調が発生しないように判定時間Ｋ（つまり異常確定までの許容時間）を設定するようにしても良い。例えば、判定時間Ｋを７．５ｄｅｇ相当の時間（又は３．７５ｄｅｇ相当の時間）以下に制限する。
【００８２】
尚、上記実施例では、正常時のパルス周期Ｔa （つまり直前正常出力タイミングとその一回前にパルス信号が規則に沿って出力されたタイミングとの時間間隔）に応じて判定時間Ｋを設定するようにしている。しかし、これに限定されず、正常時のパルス周期Ｔa に相関する情報（例えば、モータ１２の通電相切換の時間間隔、モータ１２の回転速度等）に応じて判定時間Ｋを設定するようにしても良い。モータ１２の回転速度に応じて判定時間Ｋを設定する場合には、モータ１２の回転速度が速いほど判定時間Ｋを短くして、モータ１２の回転速度が遅いほど判定時間Ｋを長くする。しかしながら、モータ１２の回転速度があまり変化しないシステムの場合には、判定時間Ｋを予め設定した固定値としても良い。
【００８３】
また、上記実施例において、マイコン４１が実行する機能の一部又は全部を、一つ或は複数のＩＣ等によりハードウェア的に構成しても良い。
また、上記実施例では、四相のパルス信号を出力するエンコーダを備えたシステムに本発明を適用したが、これに限定されず、三相又は五相以上のパルス信号を出力するエンコーダを備えたシステムに本発明を適用しても良い。
【００８４】
また、上記実施例では、シフトレンジをＰレンジとＮｏｔＰレンジの二つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用している。しかし、これに限定されず、例えば、シフトレンジをＰレンジとＲレンジとＮレンジとＤレンジの四つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。或は、シフトレンジを三つのレンジ間又は五つ以上のレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。
【００８５】
また、本発明は、自動変速機（例えばＡＴ、ＣＶＴ、ＤＣＴ等）に限定されず、電気自動車用の変速機（例えば減速機）のシフトレンジを切り換えるレンジ切換機構を備えたシステムに適用しても良い。
【００８６】
その他、本発明は、レンジ切換機構に限定されず、ＳＲモータ等のブラシレス型の同期モータを駆動源とする各種の位置切換機構を備えたシステムや、モータのロータ以外の計測対象の回転に応じてパルス信号を出力するパルス出力部を備えた位置検出装置に適用しても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。
【符号の説明】
【００８７】
１２…モータ、３２…ロータ、４１…マイコン、４６…エンコーダ
【図１】
0006547663.tif 000002
【図２】
0006547663.tif 000003
【図３】
0006547663.tif 000004
【図４】
0006547663.tif 000005
【図５】
0006547663.tif 000006
【図６】
0006547663.tif 000007
【図７】
0006547663.tif 000008
【図８】
0006547663.tif 000009
【図９】
0006547663.tif 000010
【図１０】
0006547663.tif 000011
【図１１】
0006547663.tif 000012
【図１２】
0006547663.tif 000013
【図１３】
0006547663.tif 000014
【図１４】
0006547663.tif 000015