JP2015224714A - レンジ切換制御装置 - Google Patents

レンジ切換制御装置 Download PDF

Info

Publication number
JP2015224714A
JP2015224714A JP2014109758A JP2014109758A JP2015224714A JP 2015224714 A JP2015224714 A JP 2015224714A JP 2014109758 A JP2014109758 A JP 2014109758A JP 2014109758 A JP2014109758 A JP 2014109758A JP 2015224714 A JP2015224714 A JP 2015224714A
Authority
JP
Japan
Prior art keywords
motor
phase
count value
encoder
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014109758A
Other languages
English (en)
Other versions
JP6044591B2 (ja
Inventor
淳 樽井
Atsushi Tarui
淳 樽井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2014109758A priority Critical patent/JP6044591B2/ja
Priority to US14/722,676 priority patent/US9391550B2/en
Publication of JP2015224714A publication Critical patent/JP2015224714A/ja
Application granted granted Critical
Publication of JP6044591B2 publication Critical patent/JP6044591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Gear-Shifting Mechanisms (AREA)
  • Control Of Transmission Device (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

【課題】エンコーダの出力信号(A相信号とB相信号)のカウント値に基づいてモータの通電相を順次切り換えてモータを回転駆動するシステムにおいて、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避できるようにする。
【解決手段】A相信号とB相信号が両方とも正常であれば、A相信号とB相信号は所定の位相差を有するはずである。そこで、マイコン41は、A相信号とB相信号が所定時間以内の時間間隔で入力された場合(A相信号とB相信号がほぼ同時に入力された場合)には、A相信号とB相信号のうち前回の入力信号との時間間隔が短い方をノイズと判定することで、ノイズを精度良く検出してエンコーダカウント値の演算処理に反映させないようにする。これにより、一過性のノイズによりエンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れてしまうことを防止する。
【選択図】図2

Description

本発明は、モータを駆動源としてシフトレンジを切り換えるレンジ切換制御装置に関する発明である。
近年、自動車においても、省スペース化、組立性向上、制御性向上等の要求を満たすために、機械的な駆動システムを、モータによって電気的に駆動するシステムに変更する事例が増加する傾向にある。その一例として、車両の自動変速機のレンジ切換機構をモータで駆動するようにしたものがある。
このようなシステムにおいては、例えば、特許文献1(特許第3886042号公報)に記載されているように、モータの回転に同期して所定角度毎にパルス信号を出力するエンコーダを搭載し、このエンコーダの出力信号のカウント値(以下「エンコーダカウント値」という)に基づいてモータの回転位置を検出するようにしたものがある。
この特許文献1では、エンコーダカウント値(モータの回転位置の情報)に基づいてモータの通電相を順次切り換えてモータを目標レンジに相当する目標回転位置まで回転駆動するフィードバック制御を実行して、シフトレンジを目標レンジに切り換えるようにしている。更に、フィードバック制御中に、エンコーダのA相信号の出力間隔やB相信号の出力間隔が異常判定値以上になった場合や、A相信号のカウント値とB相信号のカウント値との偏差が異常判定値以上になった場合には、フィードバック制御状態の異常有りと判定して、オープンループ制御に切り換えるようにしている。
特許第3886042号公報
しかし、上記特許文献1の技術では、一過性のノイズがエンコーダの出力信号と誤認されて、エンコーダカウント値とモータの回転位置と通電相との対応関係が崩れた場合に、エンコーダカウント値に基づいて通電相を順次切り換えてモータを回転駆動するモータ回転制御を正常に実行できなくなる可能性がある。
そこで、本発明が解決しようとする課題は、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができるレンジ切換制御装置を提供することにある。
上記課題を解決するために、請求項1に係る発明は、モータ(12)を駆動源としてシフトレンジを切り換えるレンジ切換機構(11)と、モータ(12)の回転に同期して所定の位相差を有するA相信号とB相信号を出力するエンコーダ(46)と、このエンコーダ(46)の出力信号のカウント値に基づいてモータ(12)の通電相を順次切り換えてモータ(12)を回転駆動する制御手段(41)とを備えたレンジ切換制御装置において、制御手段(41)は、A相信号とB相信号が所定時間以内の時間間隔で入力された場合に、該A相信号と該B相信号のうち前回の入力信号との時間間隔が短い方をノイズと判定するようにしたものである。
A相信号とB相信号が両方とも正常であれば、A相信号とB相信号は所定の位相差を有するはずである。このため、A相信号とB相信号が所定時間以内の時間間隔で入力された場合(A相信号とB相信号がほぼ同時に入力された場合)には、A相信号とB相信号のうちの一方が正常な間隔よりも短い間隔で入力されたノイズであると考えられる。従って、A相信号とB相信号が所定時間以内の時間間隔で入力された場合に、A相信号とB相信号のうち前回の入力信号との時間間隔が短い方をノイズと判定することで、ノイズを精度良く検出してエンコーダカウント値の演算処理に反映させないようにすることができる。このようにすれば、一過性のノイズによりエンコーダカウント値とモータの回転位置と通電相との対応関係が崩れてしまうことを防止することができ、エンコーダカウント値に基づいて通電相を順次切り換えてモータを回転駆動するモータ回転制御を継続することができる。これにより、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
或は、請求項2のように、制御手段(41)は、モータ(12)の回転駆動中にエンコーダ(46)の出力信号が入力される毎に今回の入力信号を前回の入力信号と比較して該今回の入力信号が有効な信号であるか否かを判定し、該今回の入力信号が有効な信号ではないと判定した場合に、該今回の入力信号をノイズと判定するようにしても良い。
A相信号とB相信号が両方とも正常であれば、A相信号とB相信号が所定の順序で入力されるはずである。このため、今回の入力信号を前回の入力信号と比較することで、今回の入力信号が有効な信号であるか否かを判定することができ、今回の入力信号が有効な信号ではないと判定した場合に、今回の入力信号をノイズと判定することで、ノイズを精度良く検出してエンコーダカウント値の演算処理に反映させないようにすることができる。このようにすれば、一過性のノイズによりエンコーダカウント値とモータの回転位置と通電相との対応関係が崩れてしまうことを防止することができ、エンコーダカウント値に基づいて通電相を順次切り換えてモータを回転駆動するモータ回転制御を継続することができる。これにより、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
また、請求項3に係る発明は、モータ(12)を駆動源としてシフトレンジを切り換えるレンジ切換機構(11)と、モータ(12)の回転に同期してパルス信号を出力するエンコーダ(46)と、このエンコーダ(46)の出力信号のカウント値(以下「エンコーダカウント値」という)に基づいてモータ(12)の通電相を順次切り換えてモータ(12)を目標レンジに相当する目標回転位置まで回転駆動するフィードバック制御を実行する制御手段(41)とを備えたレンジ切換制御装置において、制御手段(41)は、フィードバック制御の実行中にエンコーダカウント値が正常に変化しない場合に、エンコーダカウント値の情報をフィードバックせずに通電相を順次切り換えるオープンループ制御に切り換え、このオープンループ制御でモータ(12)を目標回転位置まで回転駆動する期間に、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定し、該関係が正常と判定した場合に、エンコーダカウント値と通電相との対応関係を再学習するようにしたものである。
フィードバック制御の実行中に、一過性のノイズよりエンコーダカウント値とモータの回転位置と通電相との対応関係が崩れて、エンコーダカウント値が正常に変化しない場合に、オープンループ制御に切り換えることで、いずれかの通電相でモータの回転位置と通電相を一致させてモータを回転駆動することができる。このオープンループ制御でモータを目標回転位置まで回転駆動し、その目標回転位置まで回転駆動する期間に通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その結果、通電相の切換回数とエンコーダカウント値の変化量との関係が正常と判定した場合に、エンコーダカウント値と通電相との対応関係を再学習する。このようにすれば、オープンループ制御でモータを目標回転位置まで回転駆動しているときに、エンコーダカウント値と通電相との対応関係を再学習することができる。これにより、エンコーダカウント値に基づいて通電相を順次切り換えてモータを回転駆動するモータ回転制御に復帰することが可能となり、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
或は、請求項4のように、制御手段(41)は、フィードバック制御の実行中にエンコーダカウント値が正常に変化しない場合に、エンコーダカウント値の情報をフィードバックせずに通電相を順次切り換えるオープンループ制御に切り換え、このオープンループ制御でモータ(12)を目標回転位置まで回転駆動した後にモータ(12)をシフトレンジが切り換わらない微小範囲内で回転駆動する期間に、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定し、該関係が正常と判定した場合に、エンコーダカウント値と通電相との対応関係を再学習するようにしても良い。
フィードバック制御の実行中に、一過性のノイズよりエンコーダカウント値とモータの回転位置と通電相との対応関係が崩れて、エンコーダカウント値が正常に変化しない場合に、オープンループ制御に切り換えることで、いずれかの通電相でモータの回転位置と通電相を一致させてモータを回転駆動することができる。このオープンループ制御でモータを目標回転位置まで回転駆動した後にモータをシフトレンジが切り換わらない微小範囲内で回転駆動し、その微小範囲内で回転駆動する期間に、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その結果、通電相の切換回数とエンコーダカウント値の変化量との関係が正常と判定した場合に、エンコーダカウント値と通電相との対応関係を再学習する。このようにすれば、オープンループ制御でモータを目標回転位置まで回転駆動した後(モータを微小範囲内で回転駆動する期間)に、エンコーダカウント値と通電相との対応関係を再学習することができる。これにより、エンコーダカウント値に基づいて通電相を順次切り換えてモータを回転駆動するモータ回転制御に復帰することが可能となり、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
図1は本発明の実施例1におけるレンジ切換機構の斜視図である。 図2はレンジ切換制御システムの概略構成を示す図である。 図3は実施例1のノイズ判定の実行例(その1)を示すタイムチャートである。 図4は実施例1のノイズ判定の実行例(その2)を示すタイムチャートである。 図5は実施例1のノイズ判定ルーチンの処理の流れを示すフローチャート(その1)である。 図6は実施例1のノイズ判定ルーチンの処理の流れを示すフローチャート(その2)である。 図7は実施例1のノイズ判定ルーチンの処理の流れを示すフローチャート(その3)である。 図8は実施例1のノイズ判定ルーチンの処理の流れを示すフローチャート(その4)である。 図9は実施例2のノイズ判定の実行例(その1)を示すタイムチャートである。 図10は実施例2のノイズ判定の実行例(その2)を示すタイムチャートである。 図11は実施例2のA相ノイズ判定ルーチンの処理の流れを示すフローチャートである。 図12は実施例2のB相ノイズ判定ルーチンの処理の流れを示すフローチャートである。 図13は実施例3の再学習の実行例を示すタイムチャートである。 図14は実施例3の再学習ルーチンの処理の流れを示すフローチャート(その1)である。 図15は実施例3の再学習ルーチンの処理の流れを示すフローチャート(その2)である。 図16はエンコーダカウント値と通電相との対応関係の一例を示す図である。 図17は実施例4の再学習の実行例を示すタイムチャートである。 図18は実施例4の再学習ルーチンの処理の流れを示すフローチャートである。
以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。
本発明の実施例1を図1乃至図8に基づいて説明する。
まず、図1及び図2に基づいてレンジ切換制御システムの構成を説明する。
図1に示すように、レンジ切換機構11は、自動変速機27(図2参照)のシフトレンジをPレンジ(パーキングレンジ)とNotPレンジとの間で切り換える2ポジション式のレンジ切換機構である。このレンジ切換機構11の駆動源となるモータ12は、例えばスイッチトリラクタンスモータにより構成されている。このモータ12には、減速機構26(図2参照)が内蔵され、その出力軸12a(図2参照)に、レンジ切換機構11のマニュアルシャフト13が接続されている。このマニュアルシャフト13に、ディテントレバー15が固定されている。
ディテントレバー15には、ディテントレバー15の回転に応じて直線運動するマニュアルバルブ(図示せず)が接続され、このマニュアルバルブによって自動変速機27の内部の油圧回路(図示せず)を切り換えることで、シフトレンジを切り換えるようになっている。
また、ディテントレバー15にはL字形のパーキングロッド18が固定され、このパーキングロッド18の先端部に設けられた円錐体19がロックレバー21に当接している。このロックレバー21は、円錐体19の位置に応じて軸22を中心にして上下動してパーキングギヤ20をロック/ロック解除するようになっている。パーキングギヤ20は、自動変速機27の出力軸に設けられ、このパーキングギヤ20がロックレバー21によってロックされると、車両の駆動輪が回り止めされた状態(パーキング状態)に保持される。
一方、ディテントレバー15を各レンジ(PレンジとNotPレンジ)の位置に保持するためのディテントバネ23が支持ベース17に固定され、ディテントレバー15には、Pレンジ保持凹部24とNotPレンジ保持凹部25が形成されている。ディテントバネ23の先端に設けられた係合部23aがディテントレバー15のPレンジ保持凹部24に嵌まり込んだときに、ディテントレバー15がPレンジの位置に保持される。ディテントバネ23の係合部23aがディテントレバー15のNotPレンジ保持凹部25に嵌まり込んだときに、ディテントレバー15がNotPレンジの位置に保持される。これらディテントレバー15とディテントバネ23等からディテントレバー15の回転位置を各レンジの位置に係合保持する(つまりレンジ切換機構11を各レンジの位置に保持する)ためのディテント機構14(節度機構)が構成されている。
Pレンジでは、パーキングロッド18がロックレバー21に接近する方向に移動して、円錐体19の太い部分がロックレバー21を押し上げてロックレバー21の凸部21aがパーキングギヤ20に嵌まり込んでパーキングギヤ20をロックした状態となる。それによって、自動変速機27の出力軸(駆動輪)がロックされた状態(パーキング状態)に保持される。
一方、NotPレンジでは、パーキングロッド18がロックレバー21から離れる方向に移動して、円錐体19の太い部分がロックレバー21から抜け出てロックレバー21が下降する。それによって、ロックレバー21の凸部21aがパーキングギヤ20から外れてパーキングギヤ20のロックが解除され、自動変速機27の出力軸が回転可能な状態(走行可能な状態)に保持される。
図2に示すように、レンジ切換機構11のマニュアルシャフト13には、マニュアルシャフト13の回転角(回転位置)を検出する回転センサ16が設けられている。この回転センサ16は、マニュアルシャフト13の回転角度に応じた電圧を出力するセンサ(例えばポテンショメータ)によって構成され、その出力電圧によって実際のシフトレンジが、PレンジとNotPレンジのいずれであるかを確認できるようになっている。
図2に示すように、モータ12には、ロータの回転角(回転位置)を検出するためのエンコーダ46が設けられている。このエンコーダ46は、例えば磁気式のロータリエンコーダにより構成されており、モータ12のロータの回転に同期して所定の位相差を有するA相とB相のパルス信号を所定角度毎に出力するように構成されている。レンジ切換制御回路42のマイコン41(制御手段)は、エンコーダ46から出力されるA相信号とB相信号の立ち上がり/立ち下がりの両方のエッジをカウントして、そのカウント値(以下「エンコーダカウント値」という)に応じてモータドライバ37によってモータ12の通電相を所定の順序で切り換えることでモータ12を回転駆動する。尚、モータ12の3相(U相,V相,W相)の巻線とモータドライバ37の組み合わせを2系統設けて、一方の系統が故障しても、他方の系統でモータ12を回転駆動できる構成にしても良い。
モータ12の回転中は、A相信号とB相信号の発生順序によってモータ12の回転方向を判定し、正回転(Pレンジ→NotPレンジの回転方向)ではエンコーダカウント値をカウントアップし、逆回転(NotPレンジ→Pレンジの回転方向)ではエンコーダカウント値をカウントダウンする。これにより、モータ12が正回転/逆回転のいずれの方向に回転しても、エンコーダカウント値とモータ12の回転角との対応関係が維持されるため、正回転/逆回転のいずれの回転方向でも、エンコーダカウント値によってモータ12の回転位置を検出して、その回転位置に対応した相の巻線に通電してモータ12を回転駆動できるようになっている。
レンジ切換制御回路42には、シフトスイッチ44で検出したシフトレバー操作位置の信号が入力される。これにより、レンジ切換制御回路42のマイコン41は、運転者のシフトレバー操作等に応じて目標レンジを切り換え、その目標レンジに応じてモータ12を駆動してシフトレンジを切り換え、切り換え後の実際のシフトレンジをインストルメントパネル(図示せず)に設けられたレンジ表示部45に表示する。
レンジ切換制御回路42には、車両に搭載されたバッテリ50(電源)から電源リレー51を介して電源電圧が供給される。電源リレー51のオン/オフは、電源スイッチであるIGスイッチ52(イグニッションスイッチ)のオン/オフを手動操作することで切り換えられる。IGスイッチ52がオンされると、電源リレー51がオンされてレンジ切換制御回路42に電源電圧が供給され、IGスイッチ52がオフされると、電源リレー51がオフされてレンジ切換制御回路42への電源供給が遮断(オフ)される。
ところで、エンコーダカウント値は、マイコン41のRAMに記憶されるため、レンジ切換制御回路42の電源がオフされると、エンコーダカウント値の記憶値が消えてしまう。そのため、レンジ切換制御回路42の電源投入直後のエンコーダカウント値は、実際のモータ12の回転位置(通電相)に対応したものとならない。従って、エンコーダカウント値に応じて通電相を切り換えるためには、電源投入後にエンコーダカウント値と実際のモータ12の回転位置とを対応させて、エンコーダカウント値と通電相とを対応させる必要がある。
そこで、マイコン41は、電源投入後に初期駆動を行ってモータ12の通電相とエンコーダカウント値との対応関係を学習する。この初期駆動では、オープンループ制御でモータ12の通電相の切り換えを所定のタイムスケジュールで一巡させることで、いずれかの通電相でモータ12の回転位置と該通電相とを一致させてモータ12を回転駆動してエンコーダ46のA相信号及びB相信号のエッジをカウントし、初期駆動終了時のエンコーダカウント値とモータ12の回転位置と通電相との対応関係を学習する。
また、マイコン41は、モータ12の起動後のエンコーダカウント値に基づいてモータ12の起動位置からの回転量(回転角)を検出できるだけであるため、電源投入後に何等かの方法で、モータ12の絶対的な回転位置を検出しないと、モータ12を正確に目標回転位置まで回転駆動することができない。
そこで、マイコン41は、初期駆動の終了後に、モータ12をレンジ切換機構11の可動範囲の限界位置に突き当たるまで回転させる突き当て制御を実行して、その限界位置を基準位置として学習し、この基準位置のエンコーダカウント値を基準にしてモータ12の回転量(回転角)を制御する。
基準位置を学習した後、マイコン41は、運転者のシフトレバー操作により目標レンジが切り換えられると、それに応じて目標回転位置(目標カウント値)を変更する。そして、エンコーダカウント値に基づいてモータ12の通電相を順次切り換えることでモータ12を目標レンジに相当する目標回転位置まで回転駆動するフィードバック制御を実行して、シフトレンジを目標レンジに切り換える(レンジ切換機構11の切換位置を目標レンジの位置に切り換える)。
ところで、一過性のノイズがエンコーダ46の出力信号(A相信号又はB相信号)と誤認されて、エンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れると、エンコーダカウント値に基づいて通電相を順次切り換えてモータ12を回転駆動するモータ回転制御を正常に実行できなくなる可能性がある。
そこで、本実施例1では、レンジ切換制御回路42のマイコン41により後述する図5乃至図8のノイズ判定ルーチンを実行することで、A相信号とB相信号が所定時間以内の時間間隔で入力された場合に、該A相信号と該B相信号のうち前回の入力信号との時間間隔が短い方をノイズと判定する。
A相信号とB相信号が両方とも正常であれば、A相信号とB相信号は所定の位相差を有するはずである。このため、A相信号とB相信号が所定時間以内の時間間隔で入力された場合(A相信号とB相信号がほぼ同時に入力された場合)には、A相信号とB相信号のうちの一方が正常な間隔よりも短い間隔で入力されたノイズであると考えられる。従って、A相信号とB相信号が所定時間以内の時間間隔で入力された場合に、A相信号とB相信号のうち前回の入力信号との時間間隔が短い方をノイズと判定することで、ノイズを精度良く検出してエンコーダカウント値の演算処理に反映させないようにすることができる。
具体的には、図3に示すように、A相信号の立ち上がりエッジとB相信号の立ち下がりエッジとがほぼ同時に入力された場合に、A相の今回のパルス幅Ta (今回の立ち上がりエッジと前回の立ち下がりエッジとの時間間隔)とB相の今回のパルス幅Tb (今回の立ち下がりエッジと前回の立ち上がりエッジとの時間間隔)とを比較する。その結果、A相の今回のパルス幅Ta がB相の今回のパルス幅Tb よりも短い場合には、A相信号の今回の立ち上がりエッジをノイズと判定して無視する(エンコーダカウント値の演算処理に反映させない)。この場合、A相信号の前回の立ち下がりエッジも無視する。
また、図4に示すように、A相信号の立ち下がりエッジとB相信号の立ち下がりエッジとがほぼ同時に入力された場合に、A相の今回のパルス幅Ta (今回の立ち下がりエッジと前回の立ち上がりエッジとの時間間隔)とB相の今回のパルス幅Tb (今回の立ち下がりエッジと前回の立ち上がりエッジとの時間間隔)とを比較する。その結果、A相の今回のパルス幅Ta がB相の今回のパルス幅Tb よりも短い場合には、A相信号の今回の立ち下がりエッジをノイズと判定して無視する。この場合、A相信号の次回の立ち上がりエッジも無視する。
このようにすれば、一過性のノイズによりエンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れてしまうことを防止することができ、エンコーダカウント値に基づいて通電相を順次切り換えてモータ12を回転駆動するモータ回転制御を継続することができる。
以下、本実施例1でレンジ切換制御回路42のマイコン41が実行する図5乃至図8のノイズ判定ルーチンの処理内容を説明する。
図5乃至図8に示すノイズ判定ルーチンは、レンジ切換制御回路42の電源オン期間中にマイコン41により所定周期で繰り返し実行される。本ルーチンが起動されると、まず、ステップ101で、モータ回転制御の実行中であるか否かを判定する。
このステップ101で、モータ回転制御の実行中であると判定された場合には、ステップ102に進み、パルス信号のエッジ(立ち上がりエッジ又は立ち下がりエッジ)が入力されたか否かを判定する。このステップ102で、パルス信号のエッジが入力されていないと判定された場合には、ステップ103以降の処理を実行することなく、本ルーチンを終了する。
その後、上記ステップ102で、パルス信号のエッジが入力されたと判定された場合には、ステップ103に進み、次の(a) 〜(c) のいずれであるかを判定する。
(a) A相信号のエッジが入力された
(b) B相信号のエッジが入力された
(c) A相信号のエッジとB相信号のエッジがほぼ同時に入力された
この際、(c) A相信号のエッジとB相信号のエッジがほぼ同時に入力されたか否かは、A相信号のエッジとB相信号のエッジが所定時間以内の時間間隔で入力されたか否か(A相信号のエッジとB相信号のエッジとの時間間隔が所定時間以内であるか否か)によって判定する。
このステップ103で、(a) A相信号のエッジが入力されたと判定された場合には、ステップ104に進み、A相の今回のパルス幅Ta(i)(今回のエッジと前回のエッジとの時間間隔)が前回のパルス幅Ta(i-1)(前回のエッジと前々回のエッジとの時間間隔)に対して極端に短い(例えば、今回のパルス幅Ta(i)<1/2×前回のパルス幅Ta(i-1))か否かを判定する。
このステップ104で、A相の今回のパルス幅Ta(i)が前回のパルス幅Ta(i-1)に対して極端に短い(例えば、今回のパルス幅Ta(i)<1/2×前回のパルス幅Ta(i-1))と判定された場合には、ステップ105に進み、A相信号の今回のエッジをノイズと判定して無視する(エンコーダカウント値の演算処理に反映させない)。
これに対して、上記ステップ104で、A相の今回のパルス幅Ta(i)が前回のパルス幅Ta(i-1)に対して極端に短くはない(例えば、今回のパルス幅Ta(i)≧1/2×前回のパルス幅Ta(i-1))と判定された場合には、ステップ106に進み、A相信号の今回のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。
一方、上記ステップ103で、(b) B相信号のエッジが入力されたと判定された場合には、ステップ107に進み、B相の今回のパルス幅Tb(i)(今回のエッジと前回のエッジとの時間間隔)が前回のパルス幅Tb(i-1)(前回のエッジと前々回のエッジとの時間間隔)に対して極端に短い(例えば、今回のパルス幅Tb(i)<1/2×前回のパルス幅Tb(i-1))か否かを判定する。
このステップ107で、B相の今回のパルス幅Tb(i)が前回のパルス幅Tb(i-1)に対して極端に短い(例えば、今回のパルス幅Tb(i)<1/2×前回のパルス幅Tb(i-1))と判定された場合には、ステップ108に進み、B相信号の今回のエッジをノイズと判定して無視する。
これに対して、上記ステップ107で、B相の今回のパルス幅Tb(i)が前回のパルス幅Tb(i-1)に対して極端に短くはない(例えば、今回のパルス幅Tb(i)≧1/2×前回のパルス幅Tb(i-1))と判定された場合には、ステップ109に進み、B相信号の今回のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。
また、上記ステップ103で、(c) A相信号のエッジとB相信号のエッジがほぼ同時に入力されたと判定された場合には、図6のステップ110に進み、A相の今回のパルス幅Ta (今回のエッジと前回のエッジとの時間間隔)とB相の今回のパルス幅Tb (今回のエッジと前回のエッジとの時間間隔)とを比較する。
このステップ110で、B相の今回のパルス幅Tb がA相の今回のパルス幅Ta よりも短い(Tb <Ta )と判定された場合には、ステップ111に進み、B相信号の今回のエッジをノイズと判定して無視する。この後、ステップ112に進み、A相信号の今回のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。
一方、上記ステップ110で、A相の今回のパルス幅Ta がB相の今回のパルス幅Tb よりも短い(Ta <Tb )と判定された場合には、ステップ113に進み、A相信号の今回のエッジをノイズと判定して無視する。この後、ステップ114に進み、B相信号の今回のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。
また、上記ステップ110で、A相の今回のパルス幅Ta とB相の今回のパルス幅Tb が等しい(Ta =Tb )と判定された場合には、ステップ115に進み、A相信号の今回のエッジとB相信号の今回のエッジを両方ともノイズと判定して無視する。
上記ステップ102〜115の処理で、入力されたパルス信号がノイズであるか否かを判定して、ノイズの影響を排除した後、ステップ116に進み、エンコーダカウント値に基づいて通電相を切り換える通電制御を実行する。
これに対して、上記ステップ101で、モータ回転制御の実行中ではない(モータ回転制御の停止中である)と判定された場合には、図7のステップ117に進み、パルス信号のエッジが入力されたか否かを判定する。このステップ117で、パルス信号のエッジが入力されていないと判定された場合には、ステップ118以降の処理を実行することなく、本ルーチンを終了する。
その後、上記ステップ117で、パルス信号のエッジが入力されたと判定された場合には、ステップ118に進み、次の(a) 〜(c) のいずれであるかを判定する。
(a) A相信号のエッジが入力された
(b) B相信号のエッジが入力された
(c) A相信号のエッジとB相信号のエッジがほぼ同時に入力された
このステップ118で、(a) A相信号のエッジが入力されたと判定された場合には、ステップ119に進み、A相の今回のパルス幅Ta (今回のエッジと前回のエッジとの時間間隔)が判定値よりも短いか否かを判定する。ここで、判定値は、例えば、システムの機械的な共振周期や回路特性による共振周期と同じか又はそれよりも短い時間間隔に設定されている。
このステップ119で、A相の今回のパルス幅Ta が判定値よりも短いと判定された場合には、ステップ120に進み、A相信号の今回のエッジをノイズと判定して無視する。
これに対して、上記ステップ119で、A相の今回のパルス幅Ta が判定値以上であると判定された場合には、ステップ121に進み、A相信号の今回のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。
一方、上記ステップ118で、(b) B相信号のエッジが入力されたと判定された場合には、ステップ122に進み、B相の今回のパルス幅Tb (今回のエッジと前回のエッジとの時間間隔)が判定値よりも短いか否かを判定する。ここで、判定値は、例えば、システムの機械的な共振周期や回路特性による共振周期と同じか又はそれよりも短い時間間隔に設定されている。
このステップ122で、B相の今回のパルス幅Tb が判定値よりも短いと判定された場合には、ステップ123に進み、B相信号の今回のエッジをノイズと判定して無視する。
これに対して、上記ステップ122で、B相の今回のパルス幅Tb が判定値以上であると判定された場合には、ステップ124に進み、B相信号の今回のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。
また、上記ステップ118で、(c) A相信号のエッジとB相信号のエッジがほぼ同時に入力されたと判定された場合には、図8のステップ125に進み、A相の今回のパルス幅Ta (今回のエッジと前回のエッジとの時間間隔)とB相の今回のパルス幅Tb (今回のエッジと前回のエッジとの時間間隔)とを比較する。
このステップ125で、B相の今回のパルス幅Tb がA相の今回のパルス幅Ta よりも短い(Tb <Ta )と判定された場合には、ステップ126に進み、B相信号の今回のエッジをノイズと判定して無視する。
この後、ステップ119に進み、A相の今回のパルス幅Ta が判定値よりも短いか否かを判定し、A相の今回のパルス幅Ta が判定値よりも短いと判定された場合には、ステップ120に進み、A相信号の今回のエッジをノイズと判定して無視する。これに対して、上記ステップ119で、A相の今回のパルス幅Ta が判定値以上であると判定された場合には、ステップ121に進み、A相信号の今回のエッジを正常と判定してエンコーダカウント値の演算処理に反映させる。
一方、上記ステップ125で、A相の今回のパルス幅Ta がB相の今回のパルス幅Tb よりも短い(Ta <Tb )と判定された場合には、ステップ127に進み、A相信号の今回のエッジをノイズと判定して無視する。
この後、ステップ122に進み、B相の今回のパルス幅Tb が判定値よりも短いか否かを判定し、B相の今回のパルス幅Tb が判定値よりも短いと判定された場合には、ステップ123に進み、B相信号の今回のエッジをノイズと判定して無視する。これに対して、上記ステップ122で、B相の今回のパルス幅Tb が判定値以上であると判定された場合には、ステップ124に進み、B相信号の今回のエッジを正常と判定してエンコーダカウント値の演算処理に反映させる。
また、上記ステップ125で、A相の今回のパルス幅Ta とB相の今回のパルス幅Tb が等しい(Ta =Tb )と判定された場合には、ステップ128に進み、A相信号の今回のエッジとB相信号の今回のエッジを両方ともノイズと判定して無視する。
以上説明した本実施例1では、A相信号とB相信号が所定時間以内の時間間隔で入力された場合(A相信号とB相信号がほぼ同時に入力された場合)に、A相信号とB相信号のうち前回の入力信号との時間間隔が短い方をノイズと判定するようにしている。このようにすれば、ノイズを精度良く検出してエンコーダカウント値の演算処理に反映させないようにすることができる。これにより、一過性のノイズによりエンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れてしまうことを防止して、モータ回転制御を継続することができ、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
次に、図9乃至図12を用いて本発明の実施例2を説明する。但し、前記実施例1と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
本実施例2では、レンジ切換制御回路42のマイコン41により後述する図11及び図12のノイズ判定用の各ルーチンを実行することで、次のようなノイズ判定を行う。モータ12の回転駆動中にエンコーダ46の出力信号が入力される毎に今回の入力信号を前回の入力信号と比較して、今回の入力信号が有効な信号であるか否かを判定し、今回の入力信号が有効な信号ではないと判定した場合に、今回の入力信号をノイズと判定する。
A相信号とB相信号が両方とも正常であれば、A相信号とB相信号が所定の順序で入力される(A相信号のエッジとB相信号のエッジが交互に入力される)はずである。このため、今回の入力信号を前回の入力信号と比較することで、今回の入力信号が有効な信号であるか否かを判定することができ、今回の入力信号が有効な信号ではないと判定した場合に、今回の入力信号をノイズと判定することで、ノイズを精度良く検出してエンコーダカウント値の演算処理に反映させないようにすることができる。
具体的には、A相信号のエッジが入力される毎に、前回の入力がB相信号のエッジであるか否か(つまり今回の入力信号が前回の入力信号と異なる相の信号であるか否か)を判定することで、今回のA相信号のエッジが有効な信号であるか否かを判定する。前回の入力がB相信号のエッジではない(A相信号のエッジである)と判定された場合には、A相信号のエッジが連続して入力されたため、今回のA相信号のエッジが有効な信号ではないと判断して、今回のA相信号のエッジをノイズと判定する。
また、B相信号のエッジが入力される毎に、前回の入力がA相信号のエッジであるか否か(つまり今回の入力信号が前回の入力信号と異なる相の信号であるか否か)を判定することで、今回のB相信号のエッジが有効な信号であるか否かを判定する。前回の入力がA相信号のエッジではない(B相信号のエッジである)と判定された場合には、B相信号のエッジが連続して入力されたため、今回のB相信号のエッジが有効な信号ではないと判断して、今回のB相信号のエッジをノイズと判定する。
例えば、図9に示すように、A相信号の立ち上がりエッジの次にA相信号の立ち下がりエッジが入力された場合には、A相信号のエッジが連続して入力されたため、A相信号の今回の立ち下がりエッジをノイズと判定して無視する(エンコーダカウント値の演算処理に反映させない)。この場合、A相信号の次回の立ち上がりエッジも無視する。
また、図10に示すように、A相信号の立ち下がりエッジの次にA相信号の立ち上がりエッジが入力された場合には、A相信号のエッジが連続して入力されたため、A相信号の今回の立ち上がりエッジをノイズと判定して無視する。更に、A相信号の立ち上がりエッジの次にA相信号の立ち下がりエッジが連続して入力された場合には、そのA相信号の立ち下がりエッジもノイズと判定して無視する。
このようにすれば、一過性のノイズによりエンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れてしまうことを防止することができ、エンコーダカウント値に基づいて通電相を順次切り換えてモータ12を回転駆動するモータ回転制御を継続することができる。
以下、本実施例2でレンジ切換制御回路42のマイコン41が実行する図11及び図12のノイズ判定用の各ルーチンの処理内容を説明する。
図11に示すA相ノイズ判定ルーチンは、モータ12の回転駆動中にA相信号のエッジ(立ち上がりエッジ又は立ち下がりエッジ)が入力される毎にマイコン41により実行される。
A相信号のエッジが入力されて、本ルーチンが起動されると、まず、ステップ201で、前回の入力がB相信号のエッジであるか否か(つまり今回の入力信号が前回の入力信号と異なる相の信号であるか否か)を判定することで、今回のA相信号のエッジが有効な信号であるか否かを判定する。
このステップ201で、前回の入力がB相信号のエッジではない(A相信号のエッジである)と判定された場合には、A相信号のエッジが連続して入力されたため、今回のA相信号のエッジが有効な信号ではないと判断して、ステップ202に進み、今回のA相信号のエッジをノイズと判定して無視する(エンコーダカウント値の演算処理に反映させない)。
これに対して、上記ステップ201で、前回の入力がB相信号のエッジであると判定された場合には、ステップ203に進み、マイコン41のA相信号の入力ポートの状態(HレベルであるかLレベルであるか)が前回と異なっているか否かを判定する。
このステップ203で、A相信号の入力ポートの状態が前回と異なっていると判定された場合には、ステップ204に進み、今回のA相信号のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。この後、ステップ205に進み、A相信号の入力ポートの状態を記憶する。
一方、上記ステップ203で、A相信号の入力ポートの状態が前回と同じである(変化していない)と判定された場合には、ステップ206に進み、今回のA相信号のエッジをノイズと判定して無視する。
図12に示すB相ノイズ判定ルーチンは、モータ12の回転駆動中にB相信号のエッジ(立ち上がりエッジ又は立ち下がりエッジ)が入力される毎にマイコン41により実行される。
B相信号のエッジが入力されて、本ルーチンが起動されると、まず、ステップ301で、前回の入力がA相信号のエッジであるか否か(つまり今回の入力信号が前回の入力信号と異なる相の信号であるか否か)を判定することで、今回のB相信号のエッジが有効な信号であるか否かを判定する。
このステップ301で、前回の入力がA相信号のエッジではない(B相信号のエッジである)と判定された場合には、B相信号のエッジが連続して入力されたため、今回のB相信号のエッジが有効な信号ではないと判断して、ステップ302に進み、今回のB相信号のエッジをノイズと判定して無視する(エンコーダカウント値の演算処理に反映させない)。
これに対して、上記ステップ301で、前回の入力がA相信号のエッジであると判定された場合には、ステップ303に進み、マイコン41のB相信号の入力ポートの状態(HレベルであるかLレベルであるか)が前回と異なっているか否かを判定する。
このステップ303で、B相信号の入力ポートの状態が前回と異なっていると判定された場合には、ステップ304に進み、今回のB相信号のエッジを正常(ノイズではない)と判定してエンコーダカウント値の演算処理に反映させる。この後、ステップ305に進み、B相信号の入力ポートの状態を記憶する。
一方、上記ステップ303で、B相信号の入力ポートの状態が前回と同じである(変化していない)と判定された場合には、ステップ306に進み、今回のB相信号のエッジをノイズと判定して無視する。
以上説明した本実施例2では、モータ12の回転駆動中に、A相信号のエッジが連続して入力された場合には、今回のA相信号のエッジが有効な信号ではないと判断して、今回のA相信号のエッジをノイズと判定する。一方、B相信号のエッジが連続して入力された場合には、今回のB相信号のエッジが有効な信号ではないと判断して、今回のB相信号のエッジをノイズと判定する。このようにすれば、ノイズを精度良く検出してエンコーダカウント値の演算処理に反映させないようにすることができる。これにより、一過性のノイズによりエンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れてしまうことを防止して、モータ回転制御を継続することができ、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
次に、図13乃至図16を用いて本発明の実施例3を説明する。但し、前記実施例1と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
本実施例3では、レンジ切換制御回路42のマイコン41により後述する図14及び図15の再学習ルーチンを実行することで、次のようにして再学習を行う。フィードバック制御の実行中にエンコーダカウント値が正常に変化しない場合に、オープンループ制御に切り換え、このオープンループ制御でモータ12を目標回転位置まで回転駆動する期間に、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その関係が正常と判定した場合に、エンコーダカウント値と通電相との対応関係(図16参照)を再学習する。
具体的には、図13に示すように、運転者のシフトレバー操作により目標レンジが切り換えられた時点t1 で、フィードバック制御を実行する。このフィードバック制御では、エンコーダカウント値に基づいてモータ12の通電相を順次切り換えることでモータ12を目標レンジに相当する目標回転位置まで回転駆動する。
このフィードバック制御の実行中に、一過性のノイズよりエンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れて、エンコーダカウント値が正常に変化しないと判定した場合には、その時点t2 で、オープンループ制御に切り換える。このオープンループ制御では、エンコーダカウント値の情報をフィードバックせずにモータ12の通電相を順次切り換える。
オープンループ制御の開始直後は、モータ12の回転位置と通電相との対応関係が崩れているが、オープンループ制御で通電相を順次切り換えることで、いずれかの通電相でモータ12の回転位置と通電相を一致させてモータ12を回転駆動することができる。
しかし、オープンループ制御を開始してからの駆動ステップ数(通電相の切換回数)である駆動済みステップ数が通電相1周期分に達していない場合には、まだモータ12の回転位置と通電相が一致せずにモータ12が回転し始めていない可能性があるため、エンコーダ異常再判定を実行しない。
その後、駆動済みステップ数が通電相1周期分に達した時点t3 で、モータ12の回転位置と通電相が一致してモータ12が回転し始めていると判断して、エンコーダ異常再判定を実行する。このエンコーダ異常再判定では、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その結果、通電相の切換回数とエンコーダカウント値の変化量との関係が正常と判定した時点t4 で、エンコーダカウント値と通電相との対応関係(図16参照)を再学習する。このようにすれば、オープンループ制御でモータ12を目標回転位置まで回転駆動しているときに、エンコーダカウント値と通電相との対応関係を再学習することができる。
以下、本実施例3でレンジ切換制御回路42のマイコン41が実行する図14及び図15の再学習ルーチンの処理内容を説明する。
図14及び図15に示す再学習ルーチンは、フィードバック制御の実行中にマイコン41により実行される。本ルーチンが起動されると、まず、ステップ401で、通電相が切り換えられたか否かを判定し、通電相が切り換えられたと判定された場合には、ステップ402に進み、エンコーダカウント値が正常に変化したか否かを判定する。
このステップ402で、エンコーダカウント値が正常に変化したと判定された場合には、ステップ403に進み、モータ12の回転位置が目標回転位置に到達したか否か(モータ12が目標回転位置まで回転したか否か)を判定する。
このステップ403で、モータ12の回転位置が目標回転位置に到達していないと判定された場合には、上記ステップ401に戻る。その後、上記ステップ403で、モータ12の回転位置が目標回転位置に到達したと判定された時点で、本ルーチンを終了する。
一方、上記ステップ402で、エンコーダカウント値が正常に変化していないと判定された場合には、ステップ404に進み、エンコーダカウント値が正常に変化しない状態で仮異常判定時間が経過したか否か(エンコーダカウント値が正常に変化しない状態が仮異常判定時間以上継続したか否か)を判定する。
このステップ404で、仮異常判定時間が経過していないと判定された場合には、上記ステップ402に戻る。その後、上記ステップ404で、仮異常判定時間が経過したと判定された時点で、ステップ405に進み、エンコーダ仮異常フラグを「1」にセットする。
この後、図15のステップ406に進み、オープンループ制御に切り換える。このオープンループ制御では、エンコーダカウント値の情報をフィードバックせずにモータ12の通電相を順次切り換える。
この後、ステップ407に進み、要求駆動ステップ数が所定値以上であるか否かを判定する。ここで、要求駆動ステップ数は、オープンループ制御でモータ12を目標回転位置まで回転駆動するのに必要な駆動ステップ数(通電相の切換回数)である。この要求駆動ステップ数が大き過ぎると、レンジ切換機構11の可動範囲の限界位置に突き当たるまでモータ12が回転駆動されて脱調する可能性があるため、これを防止するために、要求駆動ステップ数は、レンジ切換機構11の可動範囲の限界位置に突き当たらない範囲内で設定する。また、所定値は、エンコーダ異常再判定を実行するのに必要な駆動ステップ数に通電相1周期分の駆動ステップ数を加算した値又はそれよりも少し大きい値に設定されている。
このステップ407で、要求駆動ステップ数が所定値よりも少ないと判定された場合には、要求駆動ステップ数が少な過ぎるため、エンコーダ異常再判定を実行できないと判断して、ステップ415に進む。
一方、上記ステップ407で、要求駆動ステップ数が所定値以上であると判定された場合には、エンコーダ異常再判定を実行できると判断して、ステップ408に進み、駆動済みステップ数(オープンループ制御を開始してからの駆動ステップ数)が通電相1周期分以上であるか否かを判定する。
このステップ408で、駆動済みステップ数が通電相1周期分よりも少ないと判定された場合には、まだモータ12の回転位置と通電相が一致せずにモータ12が回転し始めていない可能性があると判断して、ステップ415に進む。
その後、上記ステップ408で、駆動済みステップ数が通電相1周期分以上であると判定された場合には、モータ12の回転位置と通電相が一致してモータ12が回転し始めていると判断して、ステップ409に進み、エンコーダ仮異常フラグが「1」であるか否かを判定する。
このステップ409で、エンコーダ仮異常フラグが「1」であると判定された場合には、ステップ410に進み、エンコーダ異常再判定を開始する。この場合、まず、所定の判定期間中の駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量を算出する。
この後、ステップ411に進み、判定期間中のエンコーダカウント値の変化量が駆動ステップ相当数(判定期間中の駆動ステップ数に相当するエンコーダカウント値の変化量)と等しいか否かを判定することで、駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量との関係が正常か否かを判定する。
このステップ411で、判定期間中のエンコーダカウント値の変化量が駆動ステップ相当数と等しいと判定された場合には、駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量との関係が正常と判断して、ステップ412に進み、エンコーダ仮異常フラグを「0」にリセットする。この後、ステップ413に進み、エンコーダカウント値と通電相との対応関係を再学習する。
これに対して、上記ステップ411で、判定期間中のエンコーダカウント値の変化量が駆動ステップ相当数と等しくないと判定された場合には、駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量との関係が正常ではないと判断して、ステップ414に進み、エンコーダ本異常フラグを「1」にセットする。
この後、ステップ415に進み、駆動済みステップ数が要求駆動ステップ数に到達したか否かを判定し、駆動済みステップ数が要求駆動ステップ数に到達していないと判定された場合には、上記ステップ407に戻る。
上記ステップ409で、エンコーダ仮異常フラグが「1」ではない(エンコーダ仮異常フラグが「0」である)と判定された場合には、ステップ415に進む。
その後、上記ステップ415で、駆動済みステップ数が要求駆動ステップ数に到達したと判定された時点で、モータ12を目標回転位置まで回転駆動したと判断して、本ルーチンを終了する。尚、エンコーダカウント値と通電相との対応関係を再学習した後(例えばモータ12を目標回転位置まで回転駆動した後)に、突き当て制御を実行して基準位置を再学習するようにしても良い。
以上説明した本実施例3では、フィードバック制御の実行中にエンコーダカウント値が正常に変化しない場合に、オープンループ制御に切り換え、このオープンループ制御でモータ12を目標回転位置まで回転駆動する期間に、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その結果、通電相の切換回数とエンコーダカウント値の変化量との関係が正常と判定した場合に、エンコーダカウント値と通電相との対応関係を再学習する。このようにすれば、オープンループ制御でモータ12を目標回転位置まで回転駆動しているときに、エンコーダカウント値と通電相との対応関係を再学習することができる。これにより、エンコーダカウント値に基づいて通電相を順次切り換えてモータ12を回転駆動するモータ回転制御に復帰することが可能となり、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
次に、図17及び図18を用いて本発明の実施例4を説明する。但し、前記実施例3と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例3と異なる部分について説明する。
本実施例4では、レンジ切換制御回路42のマイコン41により後述する図18の再学習ルーチンを実行することで、次のようにして再学習を行う。フィードバック制御の実行中にエンコーダカウント値が正常に変化しない場合に、オープンループ制御に切り換え、このオープンループ制御でモータ12を目標回転位置まで回転駆動した後にモータ12をシフトレンジが切り換わらない微小範囲内で回転駆動する期間に、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その関係が正常と判定した場合に、前記エンコーダカウント値と通電相との対応関係を再学習する。
具体的には、図17に示すように、運転者のシフトレバー操作により目標レンジが切り換えられた時点t1 で、フィードバック制御を実行する。このフィードバック制御の実行中に、一過性のノイズよりエンコーダカウント値とモータ12の回転位置と通電相との対応関係が崩れて、エンコーダカウント値が正常に変化しないと判定した場合には、その時点t2 で、オープンループ制御に切り換える。
オープンループ制御の開始直後は、モータ12の回転位置と通電相との対応関係が崩れているが、オープンループ制御で通電相を順次切り換えることで、いずれかの通電相でモータ12の回転位置と通電相を一致させてモータ12を回転駆動することができる。
このオープンループ制御でモータ12を目標回転位置まで回転駆動した後、オープンループ制御でモータ12をシフトレンジが切り換わらない微小範囲内で回転駆動する。
この微小範囲は、例えば、モータ12の通電相の1周期分に相当する回転角度(モータ12の通電相の切り換えが一巡したときのモータ12の回転角度)又はそれよりも少し大きい回転角度に設定する。例えば、モータ12の通電相の1周期分に相当する回転角度が45degで減速機構26の減速比が60の場合、モータ12の通電相の1周期分に相当するディテントレバー15(マニュアルシャフト13)の回転角度は0.75deg(=45deg/60)である。この程度の回転角度であれば、シフトレンジが切り換わることはない。
また、本実施例4では、オープンループ制御でモータ12を微小範囲内で回転駆動する際に、モータ12の駆動電流を所定値以下に制限する。この所定値は、例えば、レンジ切換可能な下限トルク(ディテントバネ23の係合部23aがディテントレバー15の凹部24,25間の山を乗り越えるのに必要なトルクの下限値)よりも低いトルクに相当する電流値に設定する。
オープンループ制御でモータ12を微小範囲内で回転駆動する期間に、エンコーダ異常再判定を実行する。このエンコーダ異常再判定では、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その結果、通電相の切換回数とエンコーダカウント値の変化量との関係が正常と判定した時点t4 で、エンコーダカウント値と通電相との対応関係を再学習する。このようにすれば、オープンループ制御でモータ12を目標回転位置まで回転駆動した後(モータ12を微小範囲内で回転駆動する期間)に、エンコーダカウント値と通電相との対応関係を再学習することができる。
以下、本実施例4でレンジ切換制御回路42のマイコン41が実行する図18の再学習ルーチンの処理内容を説明する。
図18に示す再学習ルーチンは、フィードバック制御の実行中にマイコン41により実行される。本ルーチンが起動されると、まず、ステップ501で、通電相が切り換えられたか否かを判定し、通電相が切り換えられたと判定された場合には、ステップ502に進み、エンコーダカウント値が正常に変化したか否かを判定する。
このステップ502で、エンコーダカウント値が正常に変化したと判定された場合には、ステップ503に進み、モータ12の回転位置が目標回転位置に到達したか否かを判定する。
このステップ503で、モータ12の回転位置が目標回転位置に到達していないと判定された場合には、上記ステップ501に戻る。その後、上記ステップ503で、モータ12の回転位置が目標回転位置に到達したと判定された時点で、本ルーチンを終了する。
一方、上記ステップ502で、エンコーダカウント値が正常に変化していないと判定された場合には、ステップ504に進み、エンコーダカウント値が正常に変化しない状態で仮異常判定時間が経過したか否かを判定する。
このステップ504で、仮異常判定時間が経過していないと判定された場合には、上記ステップ502に戻る。その後、上記ステップ504で、仮異常判定時間が経過したと判定された時点で、ステップ505に進み、エンコーダ仮異常フラグを「1」にセットする。
この後、ステップ506に進み、オープンループ制御に切り換える。この後、ステップ507に進み、駆動済みステップ数が要求駆動ステップ数に到達したか否かを判定し、駆動済みステップ数が要求駆動ステップ数に到達していないと判定された場合には、上記ステップ506に戻る。
その後、上記ステップ507で、駆動済みステップ数が要求駆動ステップ数に到達したと判定された時点で、モータ12を目標回転位置まで回転駆動したと判断して、ステップ508に進み、微小回転駆動を実行する。この微小回転駆動では、オープンループ制御でモータ12をシフトレンジが切り換わらない微小範囲内で回転駆動する。この微小範囲は、例えば、モータ12の通電相の1周期分に相当する回転角度又はそれよりも少し大きい回転角度に設定する。更に、この微小回転駆動の際に、モータ12の駆動電流を所定値以下に制限する。この所定値は、例えば、レンジ切換可能な下限トルクよりも低いトルクに相当する電流値に設定する。
この後、ステップ509に進み、エンコーダ異常再判定を開始する。この場合、まず、所定の判定期間中の駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量を算出する。
この後、ステップ510に進み、判定期間中のエンコーダカウント値の変化量が駆動ステップ相当数(判定期間中の駆動ステップ数に相当するエンコーダカウント値の変化量)と等しいか否かを判定することで、駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量との関係が正常か否かを判定する。
このステップ510で、判定期間中のエンコーダカウント値の変化量が駆動ステップ相当数と等しいと判定された場合には、駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量との関係が正常と判断して、ステップ511に進み、エンコーダ仮異常フラグを「0」にリセットする。この後、ステップ512に進み、エンコーダカウント値と通電相との対応関係を再学習する。尚、エンコーダカウント値と通電相との対応関係を再学習した後(例えばモータ12を微小範囲内で回転駆動した後)に、突き当て制御を実行して基準位置を再学習するようにしても良い。
これに対して、上記ステップ510で、判定期間中のエンコーダカウント値の変化量が駆動ステップ相当数と等しくないと判定された場合には、駆動ステップ数(通電相の切換回数)とエンコーダカウント値の変化量との関係が正常ではないと判断して、ステップ513に進み、エンコーダ本異常フラグを「1」にセットする。
以上説明した本実施例4では、フィードバック制御の実行中にエンコーダカウント値が正常に変化しない場合に、オープンループ制御に切り換え、このオープンループ制御でモータ12を目標回転位置まで回転駆動した後に微小範囲内で回転駆動する期間に、通電相の切換回数とエンコーダカウント値の変化量との関係が正常か否かを判定する。その結果、通電相の切換回数とエンコーダカウント値の変化量との関係が正常と判定した場合に、エンコーダカウント値と通電相との対応関係を再学習する。このようにすれば、オープンループ制御でモータ12を目標回転位置まで回転駆動した後(モータを微小範囲内で回転駆動する期間)に、エンコーダカウント値と通電相との対応関係を再学習することができる。これにより、エンコーダカウント値に基づいて通電相を順次切り換えてモータ12を回転駆動するモータ回転制御に復帰することが可能となり、一過性のノイズによりモータ回転制御を正常に実行できなくなる事態を回避することができる。
更に、本実施例4では、オープンループ制御でモータ12を微小範囲内で回転駆動する際に、モータ12の駆動電流を所定値以下に制限するようにしている。このようにすれば、オープンループ制御でモータ12を微小範囲内で回転駆動してエンコーダカウント値と通電相との対応関係を再学習する際に、モータ12の駆動電流を所定値以下に制限することでモータ12のトルクをレンジ切換可能な下限トルクよりも低いトルクに制限して、シフトレンジが切り換わってしまうことを確実に防止することができる。
尚、上記各実施例1〜4では、エンコーダ46として磁気式のエンコーダを用いたが、これに限定されず、エンコーダ46は、例えば、光学式のエンコーダやブラシ式のエンコーダを用いても良い。また、エンコーダ46は、A相信号とB相信号を出力するエンコーダに限定されず、A相、B相信号に加え、補正用(インデックス用)のZ相信号を出力するエンコーダを用いても良い。
また、上記各実施例1〜4では、モータ12としてスイッチトリラクタンスモータ(SRモータ)を用いたが、エンコーダの出力信号のカウント値に基づいてモータの回転位置を検出してモータの通電相を順次切り換えるブラシレス型の同期モータであれば、SRモータに限定されず、他の種類のブラシレス型の同期モータであっても良い。
また、上記各実施例1〜4では、シフトレンジをPレンジとNotPレンジの二つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用したが、これに限定されず、例えば、シフトレンジをPレンジとRレンジとNレンジとDレンジの四つのレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。或は、シフトレンジを三つのレンジ間又は五つ以上のレンジ間で切り換えるレンジ切換機構を備えたシステムに本発明を適用しても良い。
その他、本発明は、自動変速機(AT、CVT、DCT等)に限定されず、電気自動車用の減速機のシフトレンジを切り換えるレンジ切換装置に適用しても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。
11…レンジ切換機構、12…モータ、41…マイコン(制御手段)、46…エンコーダ

Claims (5)

  1. モータ(12)を駆動源としてシフトレンジを切り換えるレンジ切換機構(11)と、前記モータ(12)の回転に同期して所定の位相差を有するA相信号とB相信号を出力するエンコーダ(46)と、前記エンコーダ(46)の出力信号のカウント値に基づいて前記モータ(12)の通電相を順次切り換えて前記モータ(12)を回転駆動する制御手段(41)とを備えたレンジ切換制御装置において、
    前記制御手段(41)は、前記A相信号と前記B相信号が所定時間以内の時間間隔で入力された場合に、該A相信号と該B相信号のうち前回の入力信号との時間間隔が短い方をノイズと判定することを特徴とするレンジ切換制御装置。
  2. モータ(12)を駆動源としてシフトレンジを切り換えるレンジ切換機構(11)と、前記モータ(12)の回転に同期して所定の位相差を有するA相信号とB相信号を出力するエンコーダ(46)と、前記エンコーダ(46)の出力信号のカウント値に基づいて前記モータ(12)の通電相を順次切り換えて前記モータ(12)を回転駆動する制御手段(41)とを備えたレンジ切換制御装置において、
    前記制御手段(41)は、前記モータ(12)の回転駆動中に前記エンコーダ(46)の出力信号が入力される毎に今回の入力信号を前回の入力信号と比較して該今回の入力信号が有効な信号であるか否かを判定し、該今回の入力信号が有効な信号ではないと判定した場合に、該今回の入力信号をノイズと判定することを特徴とするレンジ切換制御装置。
  3. モータ(12)を駆動源としてシフトレンジを切り換えるレンジ切換機構(11)と、前記モータ(12)の回転に同期してパルス信号を出力するエンコーダ(46)と、前記エンコーダ(46)の出力信号のカウント値(以下「エンコーダカウント値」という)に基づいて前記モータ(12)の通電相を順次切り換えて前記モータ(12)を目標レンジに相当する目標回転位置まで回転駆動するフィードバック制御を実行する制御手段(41)とを備えたレンジ切換制御装置において、
    前記制御手段(41)は、前記フィードバック制御の実行中に前記エンコーダカウント値が正常に変化しない場合に、前記エンコーダカウント値の情報をフィードバックせずに前記通電相を順次切り換えるオープンループ制御に切り換え、該オープンループ制御で前記モータ(12)を前記目標回転位置まで回転駆動する期間に、前記通電相の切換回数と前記エンコーダカウント値の変化量との関係が正常か否かを判定し、該関係が正常と判定した場合に、前記エンコーダカウント値と前記通電相との対応関係を再学習することを特徴とするレンジ切換制御装置。
  4. モータ(12)を駆動源としてシフトレンジを切り換えるレンジ切換機構(11)と、前記モータ(12)の回転に同期してパルス信号を出力するエンコーダ(46)と、前記エンコーダ(46)の出力信号のカウント値(以下「エンコーダカウント値」という)に基づいて前記モータ(12)の通電相を順次切り換えて前記モータ(12)を目標レンジに相当する目標回転位置まで回転駆動するフィードバック制御を実行する制御手段(41)とを備えたレンジ切換制御装置において、
    前記制御手段(41)は、前記フィードバック制御の実行中に前記エンコーダカウント値が正常に変化しない場合に、前記エンコーダカウント値の情報をフィードバックせずに前記通電相を順次切り換えるオープンループ制御に切り換え、該オープンループ制御で前記モータ(12)を前記目標回転位置まで回転駆動した後に前記モータ(12)を前記シフトレンジが切り換わらない微小範囲内で回転駆動する期間に、前記通電相の切換回数と前記エンコーダカウント値の変化量との関係が正常か否かを判定し、該関係が正常と判定した場合に、前記エンコーダカウント値と前記通電相との対応関係を再学習することを特徴とするレンジ切換制御装置。
  5. 前記制御手段(41)は、前記オープンループ制御で前記モータ(12)を前記微小範囲内で回転駆動する際に、前記モータ(12)の駆動電流を所定値以下に制限することを特徴とする請求項4に記載のレンジ切換制御装置。
JP2014109758A 2014-05-28 2014-05-28 レンジ切換制御装置 Active JP6044591B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014109758A JP6044591B2 (ja) 2014-05-28 2014-05-28 レンジ切換制御装置
US14/722,676 US9391550B2 (en) 2014-05-28 2015-05-27 Shift position switching controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014109758A JP6044591B2 (ja) 2014-05-28 2014-05-28 レンジ切換制御装置

Publications (2)

Publication Number Publication Date
JP2015224714A true JP2015224714A (ja) 2015-12-14
JP6044591B2 JP6044591B2 (ja) 2016-12-14

Family

ID=54702940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014109758A Active JP6044591B2 (ja) 2014-05-28 2014-05-28 レンジ切換制御装置

Country Status (2)

Country Link
US (1) US9391550B2 (ja)
JP (1) JP6044591B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6842680B2 (ja) * 2019-07-19 2021-03-17 株式会社安川電機 エンコーダ、サーボモータ、サーボシステム
US11809260B2 (en) * 2020-09-23 2023-11-07 Advanced Micro Devices, Inc. Phase shedding based on phase efficiency determined by pulse width modulator switching of voltage regulator field effect transistors
CN114216488B (zh) * 2021-12-01 2022-11-25 珠海格力电器股份有限公司 旋转编码器的控制方法及控制系统、设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239415A (ja) * 1988-03-18 1989-09-25 Mitsubishi Electric Corp エンコーダの異常検出装置
JP2004056856A (ja) * 2002-07-16 2004-02-19 Denso Corp モータ制御装置
JP3886042B2 (ja) * 2002-07-09 2007-02-28 株式会社デンソー モータ制御装置
JP2010036575A (ja) * 2008-07-08 2010-02-18 Ricoh Co Ltd キャリッジ及びこれを搭載した画像形成装置
JP2012095407A (ja) * 2010-10-25 2012-05-17 Denso Corp モータ制御装置
JP2012095846A (ja) * 2010-11-02 2012-05-24 Mitsubishi Electric Corp エンコーダ異常検出装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914437A (en) * 1986-12-04 1990-04-03 Regents Of The University Of California Encoder for measuring both incremental and absolute positions of moving elements
US7312595B2 (en) * 2002-07-09 2007-12-25 Denso Corporation Motor control apparatus
JP4367620B2 (ja) 2003-12-22 2009-11-18 株式会社デンソー モータ駆動システムの異常診断装置
EP2458341B1 (en) * 2009-07-24 2020-05-06 Toyota Jidosha Kabushiki Kaisha Rotation angle detection device
JP5099459B2 (ja) * 2010-03-19 2012-12-19 株式会社安川電機 光全周エンコーダ及びモータシステム
JP5605254B2 (ja) 2011-02-14 2014-10-15 株式会社デンソー モータ制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239415A (ja) * 1988-03-18 1989-09-25 Mitsubishi Electric Corp エンコーダの異常検出装置
JP3886042B2 (ja) * 2002-07-09 2007-02-28 株式会社デンソー モータ制御装置
JP2004056856A (ja) * 2002-07-16 2004-02-19 Denso Corp モータ制御装置
JP2010036575A (ja) * 2008-07-08 2010-02-18 Ricoh Co Ltd キャリッジ及びこれを搭載した画像形成装置
JP2012095407A (ja) * 2010-10-25 2012-05-17 Denso Corp モータ制御装置
JP2012095846A (ja) * 2010-11-02 2012-05-24 Mitsubishi Electric Corp エンコーダ異常検出装置

Also Published As

Publication number Publication date
JP6044591B2 (ja) 2016-12-14
US20150349684A1 (en) 2015-12-03
US9391550B2 (en) 2016-07-12

Similar Documents

Publication Publication Date Title
JP4385768B2 (ja) モータ制御装置
JP4936069B2 (ja) モータ制御装置
JP6572794B2 (ja) モータ制御装置
JP5454962B2 (ja) モータ制御装置
JP6097056B2 (ja) モータ制御装置
JP5817747B2 (ja) レンジ切換装置
JP2014023196A (ja) モータ制御装置
JP5874979B2 (ja) レンジ切換装置
JP2015010640A (ja) レンジ切換装置
JP5093624B2 (ja) モータ制御装置
JP5935784B2 (ja) モータ制御装置
JP5682598B2 (ja) レンジ切換装置
JP5709064B2 (ja) レンジ切換装置
JP6274085B2 (ja) モータ制御装置
JP6044591B2 (ja) レンジ切換制御装置
JP6525521B2 (ja) レンジ切換制御装置
JP3800529B2 (ja) モータ制御装置
JP2017028919A (ja) レンジ切換制御装置
JP2017161455A (ja) 制御装置
JP4082164B2 (ja) モータ制御装置
JP6436048B2 (ja) モータ制御装置
JP2014173606A (ja) レンジ切換装置
JP2004190839A (ja) 位置切換制御装置
JP5811465B2 (ja) レンジ切換装置
JP5974860B2 (ja) モータ制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151028

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160307

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160314

AA92 Notification that decision to refuse application was cancelled

Free format text: JAPANESE INTERMEDIATE CODE: A971092

Effective date: 20160329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161031

R151 Written notification of patent or utility model registration

Ref document number: 6044591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250