(57)【要約】【課題】モータ駆動回路自体の発熱やモータ駆動回路のばらつきがあっても、ＰＷＭ制御における目標デューティで車載モータを駆動できるようにする。【解決手段】モータ駆動回路４０１から出力されるモータ駆動信号のデューティを計測し、ＰＷＭ制御における目標デューティと前記計測したデューティとの偏差を求める。前記偏差が閾値を超えるときには、デューティの計測値はノイズを検出した結果であると判断し、補正値の更新を禁止する。一方、前記偏差が閾値以下であれば、前記偏差に基づいて目標デューティを補正するための補正値を設定し、該補正された目標デューティでＰＷＭ制御を行わせることで、前記モータ駆動信号のデューティが目標に一致するようにする。【選択図】図５
2008259408.tif 000002
【特許請求の範囲】
【請求項１】
モータ駆動回路をＰＷＭ制御して車載モータを駆動する車両用モータ制御装置であって、
前記モータ駆動回路から出力信号のデューティを計測し、そのときのＰＷＭ制御における目標デューティと前記計測したデューティとの偏差を求め、前記偏差に基づいて前記目標デューティを補正することを特徴とする車両用モータ制御装置。
【請求項２】
前記偏差が閾値を超えるときに、該偏差に基づく前記目標デューティの補正を禁止することを特徴とする請求項１記載の車両用モータ制御装置。
【請求項３】
前記偏差が解消される方向に、前記目標デューティを補正するための補正値を徐々に変化させることを特徴とする請求項１又は２記載の車両用モータ制御装置。
【請求項４】
前記補正値の更新周期を、制御条件に応じて可変に設定することを特徴とする請求項３記載の車両用モータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動回路をＰＷＭ制御して車載モータを駆動する車両用モータ制御装置に関する。
【背景技術】
【０００２】
特許文献１に開示されるように、従来から、モータ駆動回路をＰＷＭ制御して車載モータを駆動する電動パワーステアリング装置などの車両用モータ制御装置が知られている。
また、特許文献２には、ＰＷＭ信号の通信装置において、受信側で検出した基準パルスのパルス幅と予め設定された基準パルスのパルス幅とから、送受信過程で生じるパルス幅の偏差を検出し、受信したＰＷＭ変調データパルスのパルス幅を、前記偏差に基づき補正することが記載されている。
【特許文献１】特開平０５−２１３２０７号公報
【特許文献２】特開平０５−２９２０４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、前記特許文献２に開示される通信装置によれば、ＰＷＭ信号を正確に送受信させることができるが、このＰＷＭ信号に基づいてモータ駆動回路を制御して、車載モータを駆動する場合、モータ駆動回路自体の発熱やモータ駆動回路のばらつきによって、モータ駆動回路から出力される駆動信号のデューティが、前記ＰＷＭ信号のデューティとは異なるようになってしまうことがあり、これによってモータ駆動の制御精度が低下してしまうことがあった。
【０００４】
本願発明は上記実情に鑑みなされたものであり、モータ駆動回路自体の発熱やモータ駆動回路のばらつきがあっても、ＰＷＭ制御における目標デューティで車載モータを駆動できるようにして、車載モータの制御精度を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
そのため請求項１記載の発明は、モータ駆動回路をＰＷＭ制御して車載モータを駆動する車両用モータ制御装置であって、前記モータ駆動回路から出力信号のデューティを計測し、該計測結果とそのときのＰＷＭ制御における目標デューティとの偏差を求め、該偏差に基づいて前記目標デューティを補正することを特徴とする。
上記発明によると、モータ駆動回路をＰＷＭ制御するときの目標デューティと、前記モータ駆動回路の出力信号（モータ駆動信号）のデューティとは、本来一致するはずであるが、モータ駆動回路自体の発熱やモータ駆動回路のばらつきなどによって、目標デューティ（指示デューティ）と実際のデューティとに偏差が生じると、この偏差に基づいて目標デューティを補正する。
【０００６】
これによって、モータ駆動回路自体の発熱やモータ駆動回路のばらつきなどがあっても、モータ駆動信号の実際のデューティを目標とするデューティに制御することができ、ＰＷＭ制御によってモータの電流（印加電圧）を精度良く制御できる。
請求項２記載の発明は、モータ駆動回路から出力信号のデューティの計測結果とそのときのＰＷＭ制御における目標デューティとの偏差が閾値を超えるときに、該偏差に基づく目標デューティの補正を禁止することを特徴とする。
【０００７】
上記発明によると、モータ駆動回路から出力信号のデューティの計測結果とそのときのＰＷＭ制御における目標デューティとの偏差が、閾値を超えて大きい場合には、デューティ（パルス幅）の計測結果がノイズに影響されたものであると推定し、該計測結果を用いた目標デューティの補正を禁止する。
従って、ノイズ成分に基づいて前記偏差が大きくなったときに、誤って目標デューティが補正されることを回避でき、前記偏差に基づく目標デューティの補正制御の信頼性を維持できる。
【０００８】
請求項３記載の発明は、前記偏差が解消される方向に、前記目標デューティを補正するための補正値を徐々に変化させることを特徴とする。
上記発明によると、モータ駆動回路から出力信号のデューティの計測結果とそのときのＰＷＭ制御における目標デューティとに偏差が生じても、該偏差に見合う補正値を設定して、前記偏差を直ちに解消させるのではなく、前記偏差が解消される方向に補正値を徐々に変化させる。
【０００９】
従って、前記偏差を解消させるために、モータ駆動信号のデューティが急激に変化して、モータ発生トルク・回転速度が急激に変化することを回避でき、モータを安定的に制御できる。
例えば、モータの回転軸の角度位置を目標に向けて制御する場合、目標デューティと実際のデューティとの偏差を解消する補正値を瞬時に与えると、モータ発生トルクが目標位置に見合う目標トルクよりも大きくなり過ぎたり、逆に小さくなり過ぎたりすることによって、実際の位置が目標位置から大きくずれてしまい、目標位置に戻すためのモータ制御を行う必要が生じるが、前述のように、補正値を徐々に変化させれば、補正による目標位置からのずれを抑制でき、モータの揺り返しが発生しないので、モータを安定的に制御できる。
【００１０】
請求項４記載の発明は、前記補正値の更新周期を、制御条件に応じて可変に設定することを特徴とする。
上記発明によると、例えば、モータ駆動回路の温度が急激に変化することで、前記偏差が拡大する傾向を示すことが予め想定される場合や、ノイズの発生によって補正値の更新機会が失われた場合などの制御条件に応じて、補正値の更新周期、換言すれば、補正値の更新速度を変更する。
【００１１】
従って、補正要求が変化する場合、補正要求が変化している可能性がある場合に、適正な応答で補正値を変化させることができる一方、補正値の変更要求に変化がないときの演算負荷を軽減し、また、過剰に補正値を変化させてしまうことを防止できる。
例えば、モータ駆動が頻繁に行われる状態では、駆動回路の温度が上昇し、駆動回路の出力特性が変化するが、この際に、補正値の更新周期が長いと、前記出力特性の変化に追従できず、デューティ制御の精度ばらつきが大きい状態が続いてしまうので、更新周期を短くして出力特性の変化に追従できるようにする。
【００１２】
また、補正値算出の際に、ノイズの混入が判断されて補正値が更新されなかった場合に、次の補正値の更新周期を短くすることで、補正値の精度を保つことができる。
このように、車両の制御状態や算出用モニタ値の状態を判断し、補正値の更新周期（応答特性）を適切に設定することで、補正値の精度向上に寄与できる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の一実施形態を図面に基づいて詳細に説明する。
図１は、実施形態における車両のトランスファ制御システムを示すブロック図である。
図１において、車両１０に搭載されるエンジン１１の出力トルクは、変速機１２及びトランスファ１３を介して前輪ＦＷ・後輪ＲＷに分配される。
エンジン１１は、エンジン制御用のＥＣＵ（電子コントロールユニット）２０によって制御され、変速機１２は、変速制御用のＥＣＵ２１によって制御され、トランスファ１３は、トランスファ制御用のＥＣＵ２０１によって制御される。
【００１４】
また、各車輪のブレーキを制御するＡＢＳ用のＥＣＵ２２が設けられている。
前記トランスファ１３は、前輪ＦＷに対して略１００％のトルクを分配する前輪駆動状態から、前輪ＦＷと後輪ＲＷとのトルク分配を５０：５０程度とする４ＷＤ状態まで変化させる機能を有し、内蔵するモータの回転角によって後輪ＲＷへのトルク伝達を行うクラッチの押し付け力を制御することで、後輪ＲＷへの伝達トルクを制御するようになっている。
【００１５】
前記ＥＣＵ２０１は、トランスファ１３（後述するモータ１０１）の駆動回路４０１、メモリ６０１、マイコン２５、入力回路２６、通信回路２７などを含んで構成され、４ＷＤモード切替えスイッチ２８からの信号を入力し、また、インジケータランプ２９の点灯も制御する。
そして、前記ＥＣＵ２０１は、車速、前輪ＦＷのスリップ量、エンジン出力トルク、変速機１２のギア位置（変速比）等の状態に応じて、トランスファ１３の伝達トルク（トルク分配比）を算出し、目標とする伝達トルクを実現するため、モータに印加する電圧を制御し、最終的にモータの回転角度（モータ出力軸の角度）を制御する。
【００１６】
ここで、モータの回転角度と伝達トルクとは比例関係にあり、モータ回転角度を制御することで、後輪ＲＷへの伝達トルクが制御されるようになっている。
図２は、前記トランスファ１３の各モードと、モータ回転角との相関を示す図であり、モータの回転角に応じてモード切り替えがなされるようになっている。
２ＷＤモード（前輪駆動モード）では、２ＷＤモードの角度位置にモータ出力軸を回転させることで、前輪ＦＷに対して略１００％のトルクが分配される状態となり、ＡＵＴＯモード（分配比の自動制御モード）では、モータ回転角をＡＵＴＯ位置から４Ｈ（５０：５０モード）位置までの範囲で変化させることで、前輪ＦＷに対して略１００％のトルクが分配される状態（前輪駆動状態）から、前輪ＦＷと後輪ＲＷとのトルク分配を５０：５０程度とする状態（４輪駆動状態）にまで可変に制御される。
【００１７】
４Ｈモードでは、モータを最大トルクで４Ｈ位置に向けて駆動して４Ｈの位置に固定することで、トルク分配が５０：５０に維持される。
更に、４Ｌモードでは、クラッチの押し付け力によって後輪ＲＷへのトルク分配を行うのではなく、機械的に前後輪の締結状態として、トルク分配を５０：５０に維持する。
４Ｌモード及び２ＷＤモードでは、モータの回転軸を４Ｌモード或いは２ＷＤモードの位置まで回転させると、その後は、モータ駆動が停止されて４Ｌモード及び２ＷＤモードが保持される。また、前記ＡＵＴＯモードでは、図３に示すように、４Ｈ位置に近いほど、モータの負荷トルクが大きくなり、モータの負荷トルクが増えるに従って、後輪ＲＷへのトルク分配量が増えるようになっている。
【００１８】
そして、前記ＡＵＴＯモードでは、前記クラッチが締結し始める位置でのモータ電流及びモータ回転角を予め記憶していて、図４に示すように、目標モータトルク（後輪への目標伝達トルク）に見合う目標電流Ｉtgtを算出し、次いで、該目標電流Ｉtgtが得られる目標電圧Ｖtgtを算出し、該目標電圧Ｖtgtに対応するデューティでモータへの通電のオン・オフをＰＷＭ制御することで、モータへの平均印加電圧を、前記目標電圧Ｖtgtに制御する。
【００１９】
前述のように、前記ＡＵＴＯモードでは、後輪ＲＷへのトルク伝達の要求変化に基づいてモータの回転角を変化させるが、ＡＵＴＯモードの位置からクラッチの締結が開始するまでの時間が無駄時間となり、更に、締結開始後にモータの回転角変化に対して負荷が急激に変化するため、前記目標電流と実際の電流との偏差に基づくＰＩＤ制御（比例・積分・微分制御）でモータ電流をフィードバック制御させる場合に、目標トルクの変化に対する応答性を確保しつつ、ハンチングや収束性の悪化などが発生することを回避することは困難である。
【００２０】
更に、フィードバックゲインを適合したとしても、クラッチ磨耗等によりモータ負荷の変化特性が変化するため、長期に渡って応答性・収束性を維持することは困難である。
そこで、目標電流Ｉtgtを目標電圧Ｖtgtに変換し、目標電圧Ｖtgtに基づいてモータへの通電をＰＷＭ制御するようにしているが、トルク制御の精度を確保するためには、目標電圧Ｖtgtに基づいて設定される目標デューティに対して、実際の通電のデューティが精度良く対応していることが要求される。
【００２１】
このため、前記ＥＣＵ２０１では、図４に概略的に示すように、目標電圧Ｖtgtに基づいて設定される目標デューティと実際の通電のデューティとの偏差に応じて、目標デューティを補正し、目標電圧Ｖtgtに高精度に制御できるようにしている。
上記のようにして、目標電圧Ｖtgtに高精度に制御できるようにしてあれば、過剰・過小な制御を回避して、目標角度位置に定着するまでの時間を短くでき、誤差も少なくなる。従って、例えば、雪道などで車輪が滑ったときに、滑りを解消するためのトルク分配の変更を高応答で行え、雪道などの滑り易い路面での安定走行に寄与できる。
【００２２】
図５は、ＥＣＵ２０１における、目標デューティの補正制御機能を詳細に示すブロック図である。
前記ＥＣＵ２０１には、ＰＷＭ信号を出力する信号出力装置３０１、前記ＰＷＭ信号を増幅して前記モータ１０１に出力するモータ駆動回路４０１、前記モータ駆動回路４０１からモータ１０１に出力される駆動信号を検出する信号検出装置５０１が設けられている。
【００２３】
前記モータ１０１は、前述のトランスファ１３においてモード切り替えを行うと共に、クラッチの押し付けトルクを発生するモータである。
更に、前記信号出力装置３０１は、信号制御手段３１１及び信号出力手段３１２を含んで構成される。
前記信号制御手段３１１は、各種センサからの信号や外部からの指令信号などに基づいて、前記モータ１０１への通電のＯＮ・ＯＦＦをデューティ制御（ＰＷＭ制御）するときの目標オンデューティを算出し、更に、該目標オンデューティを後述する適用補正値で補正し、該補正後の目標オンデューティを前記信号出力手段３１２に出力する。
【００２４】
前記信号出力手段３１２では、前記補正後の目標オンデューティに対応するオンデューティのＰＷＭ信号を生成して、これを前記モータ駆動回路４０１に出力する。
前記モータ駆動回路４０１では、前記ＰＷＭ信号に基づいてモータ電源ＯＮ・ＯＦＦを高速で切り替えることで、モータ１０１の平均印加電圧を制御すると共に、モータ電源の印加方向を制御して、モータ１０１の回転方向及びモータトルクを制御する。
【００２５】
前記信号検出装置５０１は、信号入力手段５１１，割り込み発生手段５１２，差分検出手段５１３，ノイズ検出手段５１４，補正値算出手段５１５，カウンタ手段５１６を含んで構成され、最終的に、目標補正値及び適用補正値を出力する。
前記適用補正値は、前記信号出力装置３０１の信号制御手段３１１に入力され、目標オンデューティの補正に用いられ、前記目標補正値は、後述するように、イグニッションスイッチ（エンジンスイッチ）のＯＦＦ時に、電子コントロールユニット２０１に備えられたバックアップメモリ（ＥＥＰＲＯＭ）６０１に記憶される。
【００２６】
前記信号入力手段５１１は、前記モータ駆動回路４０１の出力（モータ駆動信号）を、パルス検出回路７０１を介して入力し、割り込み発生手段５１２は、前記モータ駆動信号のエッジを検出して割り込み信号を発生させ、該割り込み信号と前記カウンタ手段５１６（フリーランカウンタ）のカウント値とから、前記モータ駆動信号のオンデューティ（オンパルス幅）を計測する。
【００２７】
前記差分検出手段５１３は、前記計測したモータ駆動信号のオンデューティ（実オンパルス幅）と、前記目標オンデューティ（目標オンパルス幅）との偏差（差分）を算出し、前記ノイズ検出手段５１４では、前記偏差に基づいてオンデューティ（オンパルス幅）の計測結果が、ノイズの影響を受けたものであるか否かを判断する。
前記偏差は、例えば、目標オンデューティが５０％であるときに、実際のオンデューティが４０％である場合のように、目標オンデューティに対する実オンデューティの誤差を示すことになるが、モータ駆動信号にノイズが重畳すると、デューティ比の検出結果が実際値とは大きく異なる値として検出され、極端に大きな偏差が算出されることになる。
【００２８】
そこで、前記ノイズ検出手段５１４では、前記偏差の絶対値が閾値を超えるときには、オンデューティ（オンパルス幅）の検出結果がノイズの影響を受けていると判断し、当該検出結果に基づく補正値の算出を禁止する。
そして、前記補正値算出手段５１５では、前記差分検出手段５１３で算出された偏差、及び、前記ノイズ検出手段５１４におけるノイズ判定の結果に基づいて、実際のモータ駆動信号のオンデューティを目標オンデューティに一致させるための補正値を設定する。
【００２９】
前記補正値の設定を概略的に述べると、例えば、オンデューティを５０％としたい条件下で、実際のオンデューティが４０％であったとすると、目標オンデューティを５０％よりも大きな値に補正することで、実際のオンデューティを５０％にまで増大補正することが可能であり、逆に、オンデューティを５０％としたい条件下で、実際のオンデューティが６０％であったとすると、目標オンデューティを５０％よりも小さい値に補正することで、実際のオンデューティを５０％にまで減少補正することが可能である。
【００３０】
前記モータ駆動回路４０１、より具体的には、前記モータ駆動回路４０１を構成するトランジスタ等のスイッチング素子の温度変化による特性変化や個々の製品毎の特性ばらつきなどによって、モータ駆動回路４０１に入力されるＰＷＭ信号のデューティと、モータ駆動回路４０１から出力されるモータ駆動信号のオンデューティとが一致しない場合が生じることがある。
【００３１】
このように、目標デューティと実際のモータ１０１の通電デューティとにずれが生じると、例えば、上記トランスファ制御システムでは、トルク配分が設定値と異なることになって、車両の走行・操縦の安定性や運動性に差が生じ、更に、トルク配分が急変すると、前記車両の走行・操縦の安定性や運動性が急変することになってしまう。
しかし、前述のように、実際のモータ駆動信号のオンデューティに基づいて目標オンデューティを補正することで、前記温度変化上昇や特性ばらつきがあっても、モータ１０１を目標のオンデューティで駆動させることができ、車両の走行・操縦の安定性や運動性を、本来の特性に制御でき、また、安定性・運転性が急変することを回避できる。
【００３２】
ここで、前記目標補正値と適用補正値との関係を以下に説明する。
本実施形態では、目標補正値を１００ms毎に更新演算し、適用補正値を１０ms毎に更新演算し、前記適用補正値を増減変化させるときには、予め設定された修正値（例えば１）だけ増減され、かつ、前記目標補正値及び適用補正値の初期値は０であるものとする。
また、目標補正値は、目標補正値＝偏差＋適用補正値として算出されるものとする。
【００３３】
例えば、図６に示すように、目標オンデューティの６０％に相当するオンパルス幅の計測値が３００であるとしたときに、実際の計測結果が３１４であったとすると、偏差は、３００−３１４＝−１４となり、目標に対して実際のオンパルス幅が１４だけ大きいことになる。
そして、目標補正値＝偏差＋適用補正値であるから、適用補正値が初期値の０であったとすると、目標補正値は、目標補正値＝−１４＋０＝−１４と算出されることになる。
【００３４】
このとき、パルス幅の誤差が単純にオフセット誤差であると仮定すると、オンパルス幅の目標を前記目標補正値に基づいて１４だけ小さくすれば、実際のパルス幅は、３１４から３００まで減少し、デューティは本来の６０％に修正されることになる。
但し、前記目標補正値に基づいて目標デューティ比をステップ的に補正すると、モータ１０１の回転が急激に変化することになり、モータ１０１の制御安定性が損なわれる。
【００３５】
そこで、本実施形態では、前記補正要求に見合う値にまで前記適用補正値を徐々に変化させ、該適用補正値で目標デューティを補正することで、ステップ的に目標デューティが補正されることがなく、モータ１０１を安定的に制御できるようにしてある。
即ち、偏差＝−１４が検出され、目標補正値＝−１４とされた演算タイミングから、１０msが経過した適用補正値の更新演算タイミングにおいて、図７に示すように、前記目標補正値（＝−１４）に適用補正値を近づけるように、適用補正値を１だけ減少変化させる。
【００３６】
この場合、前回まで適用補正値は初期値の０であったから、上記更新演算タイミングでは、適用補正値は−１に更新され、この適用補正値（＝−１）で目標デューティ比（目標パルス幅＝３００）を補正し、目標パルス幅を２９９とすることで、目標パルス幅（目標デューティ比）を３００としたときに、３００よりも１４だけ大きくなってしまうモータ駆動信号のオンパルス幅を３１３にまで減少させる。
【００３７】
更に、１０msが経過すると、図８に示すように、適用補正値は−１から更に１だけ減算されて−２に設定される結果、目標オンパルス幅が２９８にまで減少され、実際のモータ駆動信号のオンパルス幅も更に１だけ小さい３１２にまで減少することになる。
上記のようにして適用補正値の１０ms毎の更新演算を繰り返すと、目標補正値を更新演算したタイミングから１００msが経過した時点では、図９に示すように、適用補正値は−１０にまで変化することになり、目標オンパルス幅は２９０まで減少補正され、実際のモータ駆動信号のオンパルス幅も３０４にまで減少することになり、偏差は当初の−１４から−４にまで減少する。
【００３８】
適用補正値が−１０に更新される上記のタイミングは、同時に、目標補正値の更新演算タイミングでもあり、目標補正値は、図１０に示すように、目標補正値＝−４＋（−１０）＝−１４として算出されることになる。
そして、前記目標補正値の更新演算タイミング（図１０）から更に１０msが経過した適用補正値の更新演算タイミングでは、図１１に示すように、適用補正値が更に１だけ減算されて−１１に更新され、その後１０ms毎に１だけ減算されることで、図１２に示すように、目標補正値の更新演算タイミングから４０msが経過した時点で適用補正値は−１４にまで減少変化し、適用補正値が−１４になれば、該適用補正値で目標デューティを補正することで、モータ駆動信号のオンパルス幅は、本来の３００に一致するようになる。
【００３９】
適用補正値が目標補正値に一致する−１４になると、図１３に示すように、適用補正値の更新は停止され、そのときの値を保持することになり、再度、目標補正値の演算タイミングになったときに、偏差が０であると、図１４に示すように、目標補正値は、目標補正値＝０＋（−１４）＝−１４として算出され、その後も、適用補正値は−１４を保持することになる。
【００４０】
そして、再度、目標オンデューティと実際のオンデューティとの間に差異が生じるようになると、その分、目標補正値がステップ的に変化し、これに近づくように（偏差を解消する方向に）適用補正値が徐々に更新される。
図１５に示すように、前記目標補正値は、車両のイグニッションスイッチ（エンジンスイッチ）がオフされたときに、バックアップメモリ（ＥＥＰＲＯＭ）６０１に対して書き込まれ、イグニッションスイッチ（エンジンスイッチ）がオンされたときに、バックアップメモリ（ＥＥＰＲＯＭ）６０１に書き込まれている前記目標補正値の値が読み出される。
【００４１】
そして、バックアップメモリ（ＥＥＰＲＯＭ）６０１から読み出された前記目標補正値が、目標補正値の初期値に設定され、更に、読み出した目標補正値と同じ値に前記適用補正値の初期値が設定される。
例えば、目標補正値＝適用補正値になる前の時点でイグニッションスイッチ（エンジンスイッチ）がオフされた場合であっても、イグニッションスイッチ（エンジンスイッチ）がオンされたときには、適用補正値を目標補正値と同じ値にして、目標デューティに一致させるための要求補正を直ちに実行させる。
【００４２】
これは、モータ駆動制御の途中からの補正と異なり、適用補正値の初期値を補正要求レベルとしても、モータ１０１のモータ発生トルク・回転速度が急激に変化することにはならず、むしろ、目標デューティで実際にモータ１０１を駆動できる制御を当初から行えるという利点があるためである。
モータ１０１の発生トルク・回転速度が制御途中で急激に変化すると、例えば、上記トランスファ制御システムでは、トルク配分が急激に変化することになり、車両の走行・操縦の安定性や運動性が急変してしまうが、制御の開始時であれば、最初から補正されたデューティで駆動することになるので、発生トルク・回転速度の急変は起こらず、車両の走行・操縦の安定性や運動性が急変してしまうことがない。
【００４３】
次に、上記のモータ駆動回路４０１のＰＷＭ制御を、図１６〜図２１のフローチャートに従って詳細に説明する。
図１６のフローチャートは、モータ駆動信号の出力制御を行うルーチンを示し、このルーチンは所定の微小時間毎に実行される。
まず、ステップＳ１０では、モータ印加電圧の目標（目標電圧）に基づいて目標オンデューティ（目標オンパルス幅）を算出する。
【００４４】
ステップＳ１１では、モータ１０１の正転が要求されているのか、逆転が要求されているのかを判別する。
正転要求時であれば、ステップＳ１２へ進み、前記目標オンデューティを正転用の適用補正値に基づいて補正して、補正後の目標オンデューティを求める。
一方、逆転要求時であれば、ステップＳ１３へ進み、前記目標オンデューティを逆転用の適用補正値に基づいて補正して、補正後の目標オンデューティを求める。
【００４５】
モータ１０１の回転方向によって、目標オンデューティと実際の駆動信号のデューティとの相関に違いが生じることがあるので、本実施形態では、回転方向が正転方向であるか逆転方向であるかによって、個別に目標補正値・適用補正値を設定させるようにしてある。
一般的に、モータ１０１の回転方向を切り換える場合には、トランジスタなどのスイッチング素子でブリッジ回路を形成し、モータ１０１に流れる電流の向きを切り換えるが、この場合、モータ１０１の回転方向によって、オンするスイッチング素子が異なり、また、オンされるスイッチング素子の温度環境も異なるため、回転方向によって目標デューティと実際のデューティとのずれ特性が異なってくる。
【００４６】
そこで、目標デューティと実際のデューティとのずれ特性を、回転方向毎に検出して、回転方向毎に補正値を学習させるようにしてあり、これによって、回転方向が切り換えられても、実際のデューティと目標デューティとのずれを解消できる。
ステップＳ１４では、前記ステップＳ１２又はステップＳ１３で算出された補正後の目標オンデューティと、モータ駆動制御における周期とに基づいて、補正後の目標オフデューティ（補正後の目標オフパルス幅）を算出する。
【００４７】
上記ステップＳ１１〜ステップＳ１４の処理は、前記信号制御手段３１１で行われる。
ステップＳ１５では、前記補正後の目標オンデューティ（オンパルス幅）及び補正後の目標オフデューティ（オフパルス幅）に基づいて、前記信号出力手段３１２が、モータ駆動回路４０１へのＰＷＭ指示（ＰＷＭ制御信号の出力）を行う。
図１７のフローチャートは、目標補正値の算出開始を判定するルーチンを示し、このルーチンは所定の微小時間毎に実行される。
【００４８】
尚、前記図１７及び後述の図１８，図１９のフローチャートに示される処理は、前記モータ駆動回路４０１の出力が前記パルス検出回路７０１によって反転されることなく、前記信号検出装置５０１にそのまま読み込まれ、前記信号検出装置５０１に読み込まれた信号の立ち上がりから立ち下がりまでが、モータ１０１のオンデューティ（オンパルス幅）を示す場合に適用される処理である。
【００４９】
ステップＳ２０では、モータ１０１の駆動中であるか、停止中であるかを判定し、モータ１０１の駆動中であるときに、ステップＳ２１へ進む。
ステップＳ２１では、前回の目標補正値の算出から所定の算出周期（１００ms）が経過しているか否かを判定する。
前記算出周期が経過していない場合には、そのまま本ルーチンを終了させ、前記算出周期が経過していれば、目標補正値の更新演算タイミングを判定してステップＳ２２へ進む。
【００５０】
ステップＳ２２では、モータ１０１が正転方向に駆動されているか、逆転方向に駆動されているかを判別する。
モータ１０１が正転方向に駆動されている場合には、ステップＳ２３へ進み、信号入力手段５１１に入力される正転側のモータ駆動信号に対して、立ち上がり（ＯＦＦ→ON）エッジ割り込みを発生させる設定を前記割り込み発生手段５１２に対して行い、次のステップＳ２４では、正転側のモータ駆動信号の立ち上がりエッジでの割り込み処理を許可する。
【００５１】
一方、モータ１０１が逆転方向に駆動されている場合には、ステップＳ２５へ進み、信号入力手段５１１に入力される逆転側のモータ駆動信号に対して、立ち上がりエッジ割り込みを発生させる設定を前記割り込み発生手段５１２に対して行い、次のステップＳ２６では、逆転側のモータ駆動信号の立ち上がりエッジでの割り込み処理を許可する。
図１８のフローチャートは、正転側のモータ駆動信号の検出処理を示すルーチンであり、正転側のモータ駆動信号のエッジ検出に基づく割り込み処理で実行される。
【００５２】
ステップＳ３０では、今回の割り込み処理が正転側のモータ駆動信号の立ち上がりエッジに基づく処理であるか否かを判断する。
立ち上がりエッジによる割り込みである場合には、ステップＳ３１へ進んで、カウンタ手段５１６におけるフリーランカウンタの値を読み込み、次のステップＳ３２では、正転側のモータ駆動信号の立ち下がり（ON→OFF）エッジで割り込みが発生するように設定する。
【００５３】
前記ステップＳ３２で立ち下がりエッジでの割り込み設定を行った後に、正転側のモータ駆動信号のエッジ検出に基づく割り込み処理がなされ、ステップＳ３０で、今回の割り込み処理が正転側のモータ駆動信号の立ち下がりエッジに基づく処理であると判断されると、ステップＳ３３へ進む。
ステップＳ３３では、正転側のモータ駆動信号のエッジに基づく割り込み処理を禁止し、次のステップＳ３４では、カウンタ手段５１６のフリーランカウンタの値を読み込む。
【００５４】
ステップＳ３５では、正転側のモータ駆動信号の立ち上がりエッジに基づく割り込み処理のときに読み込んだフリーランカウンタの値と、今回の正転側のモータ駆動信号の立ち下がりエッジに基づく割り込み処理で読み込んだフリーランカウンタの値との差として、正転側モータ駆動信号のオンパルス時間（オンデューティ）を算出する。
ステップＳ３６では、差分検出手段５１３にて、前記ステップＳ３５で算出したオンデューティと、前記目標オンデューティとの偏差を算出する。
【００５５】
ステップＳ３７では、前記偏差の絶対値と予め設定された閾値とを比較し、偏差の絶対値が閾値を超える場合には、正転側のモータ駆動信号のオンパルス時間（オンデューティ）の計測結果は、ノイズに影響されたものであると判断し、ステップＳ３８を迂回して本ルーチンをそのまま終了させることで、前記計測結果に基づく正転側目標補正値の更新を禁止する。
【００５６】
従って、ステップＳ３８を迂回して本ルーチンをそのまま終了させた場合には、正転側目標補正値は、前回値を保持することになる。
一方、偏差の絶対値が閾値以下であれば、正転側のモータ駆動信号のオン時間（オンデューティ比）の計測結果はノイズに影響されていないと判断し、ステップＳ３８へ進む。
ステップＳ３８では、正転側の目標補正値を、前記ステップＳ３５で求めたオンパルス時間（オンデューティ）の偏差と、正転側の適用補正値とに基づき、下式に従って演算する。
【００５７】
正転側の目標補正値＝偏差＋正転側の適用補正値
図１９のフローチャートは、逆転側のモータ駆動信号の検出処理を示すルーチンであり、逆転側のモータ駆動信号のエッジ検出に基づく割り込む処理で実行される。
ステップＳ４０では、今回の割り込み処理が逆転側のモータ駆動信号の立ち上がりエッジに基づく処理であるか否かを判断する。
【００５８】
立ち上がりエッジによる割り込みである場合には、ステップＳ４１へ進んで、カウンタ手段５１６におけるフリーランカウンタの値を読み込み、次のステップＳ４２では、逆転側のモータ駆動信号の立ち下がりエッジで割り込みが発生するようにする。
前記ステップＳ４２で立ち下がりエッジでの割り込み設定を行った後に、逆転側のモータ駆動信号のエッジ検出に基づく割り込み処理がなされ、ステップＳ４０で、今回の割り込み処理が逆転側のモータ駆動信号の立ち下がりエッジに基づく処理であると判断されると、ステップＳ４３へ進む。
【００５９】
ステップＳ４３では、逆転側のモータ駆動信号のエッジに基づく割り込み処理を禁止し、次のステップＳ４４では、カウンタ手段５１６のフリーランカウンタの値を読み込む。
ステップＳ４５では、逆転側のモータ駆動信号の立ち上がりエッジに基づく割り込み処理のときに読み込んだフリーランカウンタの値と、今回の逆転側のモータ駆動信号の立ち下がりエッジに基づく割り込み処理で読み込んだフリーランカウンタの値との差として、逆転側のモータ駆動信号のオンパルス時間（オンデューティ）を算出する。
【００６０】
ステップＳ４６では、差分検出手段５１３にて、前記ステップＳ４５で算出したオンデューティと、前記目標オンデューティとの偏差を算出する。
ステップＳ４７では、前記偏差の絶対値と予め設定された閾値とを比較し、偏差の絶対値が閾値を超える場合には、逆転側のモータ駆動信号のオンパルス時間（オンデューティ）の計測結果は、ノイズに影響されたものであると判断し、ステップＳ４８を迂回して本ルーチンをそのまま終了させることで、前記計測結果に基づく逆転側目標補正値の更新を禁止する。
【００６１】
従って、ステップＳ４８を迂回して本ルーチンをそのまま終了させた場合には、逆転側目標補正値は、前回値を保持することになる。
一方、前記偏差の絶対値が閾値以下であれば、逆転側のモータ駆動信号のオンパルス時間（オンデューティ）の計測結果はノイズに影響されていないと判断し、ステップＳ４８へ進む。
【００６２】
ステップＳ４８では、逆転側の目標補正値を、前記ステップＳ４５で求めたオンパルス時間（オンデューティ）の偏差と、逆転側の適用補正値とに基づき、下式に従って演算する。
逆転側の目標補正値＝偏差＋逆転側の適用補正値
上記図１７〜図１９に示される処理は、前述のように、前記モータ駆動回路４０１の出力が前記パルス検出回路７０１によって反転されることなく、前記信号検出装置５０１にそのまま読み込まれ、前記信号検出装置５０１に読み込まれた信号の立ち上がりから立ち下がりまでが、モータ１０１のオンデューティを示す場合に適用される処理を示す。
【００６３】
そして、前記モータ駆動回路４０１の出力が前記パルス検出回路７０１によって反転されて前記信号検出装置５０１に読み込まれ、前記信号検出装置５０１に読み込まれた信号の立ち下がりから立ち上がりまでが、モータ１０１のオンデューティ（オンパルス幅）を示す場合には、図１７〜図１９に示される処理に代えて、図２０〜図２２のフローチャートに示される処理を実行する。
【００６４】
図２０のフローチャートは、目標補正値の算出開始を判定するルーチンを示し、このルーチンは所定の微小時間毎に実行される。
ステップＳ９０では、モータ１０１の駆動中であるか、停止中であるかを判定し、モータ１０１の駆動中であるときに、ステップＳ９１へ進む。
ステップＳ９１では、前回の目標補正値の算出から所定の算出周期（１００ms）が経過しているか否かを判定する。
【００６５】
前記算出周期が経過していない場合には、そのまま本ルーチンを終了させ、前記算出周期が経過していれば、目標補正値の更新演算タイミングを判定してステップＳ９２へ進む。
ステップＳ９２では、モータ１０１が正転方向に駆動されているか、逆転方向に駆動されているかを判別する。
【００６６】
モータ１０１が正転方向に駆動されている場合には、ステップＳ９３へ進み、信号入力手段５１１に入力される正転側のモータ駆動信号に対して、立ち下がり（ＯＮ→ＯＦＦ）エッジ割り込みを発生させる設定を前記割り込み発生手段５１２に対して行い、次のステップＳ９４では、正転側のモータ駆動信号の立ち下がりエッジでの割り込み処理を許可する。
【００６７】
一方、モータ１０１が逆転方向に駆動されている場合には、ステップＳ９５へ進み、信号入力手段５１１に入力される逆転側のモータ駆動信号に対して、立ち下がりエッジ割り込みを発生させる設定を前記割り込み発生手段５１２に対して行い、次のステップＳ９６では、逆転側のモータ駆動信号の立ち下がりエッジでの割り込み処理を許可する。
図２０のフローチャートに示される処理が実行されるのは、前記パルス検出回路７０１がモータ駆動回路４０１の出力を反転して出力する場合であり、前記立ち下がり（ＯＮ→ＯＦＦ）エッジ割り込みは、実際には、モータ１０１への通電開始タイミングでの割り込みとなる。
【００６８】
図２１のフローチャートは、正転側のモータ駆動信号の検出処理を示すルーチンであり、正転側のモータ駆動信号のエッジ検出に基づく割り込み処理で実行される。
ステップＳ１００では、今回の割り込み処理が正転側のモータ駆動信号の立ち下がりエッジに基づく処理であるか否かを判断する。
立ち下がりエッジによる割り込みである場合には、ステップＳ１０１へ進んで、カウンタ手段５１６におけるフリーランカウンタの値を読み込み、次のステップＳ１０２では、正転側のモータ駆動信号の立ち上がり（ＯＦＦ→ＯＮ）エッジで割り込みが発生するように設定する。
【００６９】
前記ステップＳ１０２で立ち上がりエッジでの割り込み設定を行った後に、正転側のモータ駆動信号のエッジ検出に基づく割り込み処理がなされ、ステップＳ１００で、今回の割り込み処理が正転側のモータ駆動信号の立ち上がりエッジに基づく処理であると判断されると、ステップＳ１０３へ進む。
ステップＳ１０３では、正転側のモータ駆動信号のエッジに基づく割り込み処理を禁止し、次のステップＳ１０４では、カウンタ手段５１６のフリーランカウンタの値を読み込む。
【００７０】
ステップＳ１０５では、正転側のモータ駆動信号の立ち下がりエッジに基づく割り込み処理のときに読み込んだフリーランカウンタの値と、今回の正転側のモータ駆動信号の立ち上がりエッジに基づく割り込み処理で読み込んだフリーランカウンタの値との差として、正転側モータ駆動信号のオンパルス時間（オンデューティ）を算出する。
図２１のフローチャートに示される処理が実行されるのは、前記パルス検出回路７０１がモータ駆動回路４０１の出力を反転して出力する場合であり、前記立ち下がり（ＯＮ→ＯＦＦ）エッジ割り込みは、実際には、モータ１０１への通電開始タイミングでの割り込みとなり、前記立ち上がり（ＯＦＦ→ＯＮ）エッジ割り込みは、実際には、モータ１０１への通電遮断タイミングでの割り込みとなり、立ち下がりから立ち上がりまでの時間は、モータ１０１のオン時間（オンデューティ）を示すことになる。
【００７１】
ステップＳ１０６では、差分検出手段５１３にて、前記ステップＳ１０５で算出したオンデューティと、前記目標オンデューティとの偏差を算出する。
ステップＳ１０７では、前記偏差の絶対値と予め設定された閾値とを比較し、偏差の絶対値が閾値を超える場合には、正転側のモータ駆動信号のオンパルス時間（オンデューティ）の計測結果は、ノイズに影響されたものであると判断し、ステップＳ１０８を迂回して本ルーチンをそのまま終了させることで、前記計測結果に基づく正転側目標補正値の更新を禁止する。
【００７２】
従って、ステップＳ１０８を迂回して本ルーチンをそのまま終了させた場合には、正転側目標補正値は、前回値を保持することになる。
一方、偏差の絶対値が閾値以下であれば、正転側のモータ駆動信号のオン時間（オンデューティ比）の計測結果はノイズに影響されていないと判断し、ステップＳ１０８へ進む。
【００７３】
ステップＳ１０８では、正転側の目標補正値を、前記ステップＳ１０５で求めたオンパルス時間（オンデューティ）の偏差と、正転側の適用補正値とに基づき、下式に従って演算する。
正転側の目標補正値＝偏差＋正転側の適用補正値
図２２のフローチャートは、逆転側のモータ駆動信号の検出処理を示すルーチンであり、逆転側のモータ駆動信号のエッジ検出に基づく割り込む処理で実行される。
【００７４】
ステップＳ１１０では、今回の割り込み処理が逆転側のモータ駆動信号の立ち下がりエッジに基づく処理であるか否かを判断する。
立ち下がりエッジによる割り込みである場合には、ステップＳ１１１へ進んで、カウンタ手段５１６におけるフリーランカウンタの値を読み込み、次のステップＳ１１２では、逆転側のモータ駆動信号の立ち上がりエッジで割り込みが発生するようにする。
【００７５】
前記ステップＳ１１２で立ち上がりエッジでの割り込み設定を行った後に、逆転側のモータ駆動信号のエッジ検出に基づく割り込み処理がなされ、ステップＳ１１０で、今回の割り込み処理が逆転側のモータ駆動信号の立ち上がりエッジに基づく処理であると判断されると、ステップＳ１１３へ進む。
ステップＳ１１３では、逆転側のモータ駆動信号のエッジに基づく割り込み処理を禁止し、次のステップＳ１１４では、カウンタ手段５１６のフリーランカウンタの値を読み込む。
【００７６】
ステップＳ１１５では、逆転側のモータ駆動信号の立ち下がりエッジに基づく割り込み処理のときに読み込んだフリーランカウンタの値と、今回の逆転側のモータ駆動信号の立ち上がりエッジに基づく割り込み処理で読み込んだフリーランカウンタの値との差として、逆転側のモータ駆動信号のオンパルス時間（オンデューティ）を算出する。
図２２のフローチャートに示される処理が実行されるのは、前記パルス検出回路７０１がモータ駆動回路４０１の出力を反転して出力する場合であり、前記立ち下がり（ＯＮ→ＯＦＦ）エッジ割り込みは、実際には、モータ１０１への通電開始タイミングでの割り込みとなり、前記立ち上がり（ＯＦＦ→ＯＮ）エッジ割り込みは、実際には、モータ１０１への通電遮断タイミングでの割り込みとなり、立ち下がりから立ち上がりまでの時間は、モータ１０１のオン時間（オンデューティ）を示すことになる。
【００７７】
ステップＳ１１６では、差分検出手段５１３にて、前記ステップＳ１１５で算出したオンデューティと、前記目標オンデューティとの偏差を算出する。
ステップＳ１１７では、前記偏差の絶対値と予め設定された閾値とを比較し、偏差の絶対値が閾値を超える場合には、逆転側のモータ駆動信号のオンパルス時間（オンデューティ）の計測結果は、ノイズに影響されたものであると判断し、ステップＳ１１８を迂回して本ルーチンをそのまま終了させることで、前記計測結果に基づく逆転側目標補正値の更新を禁止する。
【００７８】
従って、ステップＳ１１８を迂回して本ルーチンをそのまま終了させた場合には、逆転側目標補正値は、前回値を保持することになる。
一方、前記偏差の絶対値が閾値以下であれば、逆転側のモータ駆動信号のオンパルス時間（オンデューティ）の計測結果はノイズに影響されていないと判断し、ステップＳ１１８へ進む。
【００７９】
ステップＳ１１８では、逆転側の目標補正値を、前記ステップＳ１１５で求めたオンパルス時間（オンデューティ）の偏差と、逆転側の適用補正値とに基づき、下式に従って演算する。
逆転側の目標補正値＝偏差＋逆転側の適用補正値
図２３のフローチャートは、適用補正値の算出を行うルーチンを示し、このルーチンは所定の微小時間毎に実行される。
【００８０】
ステップＳ５０では、前回の適用補正値の算出から所定の算出周期（１０ms）が経過しているか否かを判定し、前記算出周期が経過しているときには、適用補正値の更新演算タイミングを判定してステップＳ５１へ進む。
ステップＳ５１では、正転側目標補正値よりも正転側適用補正値が大きいか否かを判断する。
【００８１】
そして、正転側目標補正値＜正転側適用補正値であれば、ステップＳ５２へ進んで、正転側適用補正値を修正単位である１だけ小さくする。
一方、正転側目標補正値≧正転側適用補正値であれば、ステップＳ５３へ進み、正転側目標補正値＞正転側適用補正値であるか否かを判断する。
そして、正転側目標補正値＞正転側適用補正値であれば、ステップＳ５４へ進んで、正転側適用補正値を修正単位である１だけ大きくする。
【００８２】
また、ステップＳ５３で正転側目標補正値＞正転側適用補正値でないと判断された場合には、正転側目標補正値＝正転側適用補正値であるので、ステップＳ５５へ進んで、そのときの正転側適用補正値を保持させるようにする。
上記ステップＳ５１〜ステップＳ５５の処理によって、正転側適用補正値は、所定の算出周期毎に正転側目標補正値に近づく方向に徐々に変更され、正転側目標補正値に一致するようになるとそのときの値を保持する（図２５参照）。
【００８３】
ステップＳ５６では、逆転側目標補正値よりも逆転側適用補正値が大きいか否かを判断する。
そして、逆転側目標補正値＜逆転側適用補正値であれば、ステップＳ５７へ進んで、逆転側適用補正値を修正単位である１だけ小さくする。
一方、逆転側目標補正値≧逆転側適用補正値であれば、ステップＳ５８へ進み、逆転側目標補正値＞逆転側適用補正値であるか否かを判断する。
【００８４】
そして、逆転側目標補正値＞逆転側適用補正値であれば、ステップＳ５９へ進んで、逆転側適用補正値を修正単位である１だけ大きくする。
また、ステップＳ５８で逆転側目標補正値＞逆転側適用補正値でないと判断された場合には、逆転側目標補正値＝逆転側適用補正値であるので、ステップＳ６０へ進んで、そのときの逆転側適用補正値を保持させるようにする。
【００８５】
上記ステップＳ５６〜ステップＳ６０の処理によって、逆転側適用補正値は、所定の算出周期毎に逆転側目標補正値に近づく方向に徐々に変更され、逆転側目標補正値に一致するようになるとそのときの値を保持する（図２５参照）。
前記正転側適用補正値及び逆転側適用補正値の更新周期を、制御条件に応じて変更させることができる。
【００８６】
例えば、目標デューティが所定幅以上に変化したとき、ノイズ判定に基づいて目標補正値の更新を禁止した直後、モータ温度センサを用いてモータ温度を監視し、温度の増加幅又は減少幅が所定以上であるときなどにおいて前記更新周期を短くする。
目標デューティが大きく変化するときは、モータトルクを急激に変化させるときで、適用補正値を比較的速く変化させても、車両の安定性や運転性に大きく影響することはなく、むしろ、実際のデューティを目標デューティに速く収束させることで、必要なトルク分配に速やかに移行させることができる。
【００８７】
また、ノイズ判定に基づき目標値の更新を禁止すると、適用補正値が目標補正値に追い付くまでの時間が過剰に長くなり、目標デューティへの収束性が悪化するので、更新の禁止状態から更新を再開させた後、例えば、更新禁止が行われなかった場合の適用補正値の変化に追い付くまでの間、更新周期を短くして、適用補正値の収束性を維持する。
更に、モータ温度の変化によって目標デューティの補正要求が変化する状況では、適用補正値の更新周期が長いと、温度変化に対応する補正要求まで適用補正値を追従変化させることができず、実際のデューティが目標デューティに収束するのが遅れ、結果的に、トルク分配を要求値に制御するのが遅れるため、温度が急激に変化する場合には、更新周期を短くする。
【００８８】
但し、適用補正値の更新周期が過剰に短いと、車両の安定性や運転性の急変させることになるので、目標デューティの変化に対する更新周期は、予め車両の安定性や運転性を指標として適合する必要がある。
また、モータ駆動が定常状態である場合には、適用補正値の更新周期が短いと、本来トルク分配の変化要求がない条件で、適用補正値の変化によってトルク分配を変化させることになってしまうため、車両の安定性や運転性の急変させることがない程度に更新周期を長くする。
【００８９】
前記適用補正値の修正に用いる修正単位を、上記実施形態では、一定値（＝１）としたが、例えば、４Ｈモードでは、モータ回転軸の動きが止まっており、デューティを補正してもオーバーシュートすることはないので、大きなステップ幅で目標補正値に適用補正値を近づけることができる一方、ＡＵＴＯモードで要求のトルク分配の変化に追従してモータ１０１を駆動しているときには、デューティの補正値が急激に変化することで、オーバーシュートが発生するので、目標補正値に適用補正値を近づけるステップ幅を小さくする。
【００９０】
図２４のフローチャートは、車両の始動時及び停止時に、補正値の読み出し・バックアップ処理を行うルーチンを示し、このルーチンは所定の微小時間毎に実行される。
ステップＳ７０では、車両に搭載されたエンジンのイグニションスイッチ（エンジンスイッチ）がＯＮされたか否かを判断する。
そして、イグニションスイッチ（エンジンスイッチ）がＯＮされると、ステップＳ７１へ進み、バックアップメモリ（ＥＥＰＲＯＭ）６０１に記憶されている正転側目標補正値を読み出し、次のステップＳ７２では、バックアップメモリ（ＥＥＰＲＯＭ）６０１に記憶されている逆転側目標補正値を読み出す。
【００９１】
そして、ステップＳ７３では、ステップＳ７１で読み出した正転側目標補正値と同じ値を正転側適用補正値にセットし、次のステップＳ７４では、ステップＳ７２で読み出した逆転側目標補正値と同じ値を逆転側適用補正値にセットする。
ステップＳ７５では、イグニションスイッチ（エンジンスイッチ）がＯＦＦされたか否かを判断する。
【００９２】
そして、イグニションスイッチ（エンジンスイッチ）がＯＦＦされると、ステップＳ７６へ進み、そのときの正転側目標補正値をバックアップメモリ（ＥＥＰＲＯＭ）６０１に記憶させ、次のステップＳ７７では、そのときの逆転側目標補正値をバックアップメモリ（ＥＥＰＲＯＭ）６０１に記憶させる。
即ち、正転側目標補正値及び逆転側目標補正値については、前回運転時に最後に演算された値を初期値として、イグニションスイッチ（エンジンスイッチ）がＯＮされてから更新演算が開始される。
【００９３】
一方、正転側適用補正値及び逆転側適用補正値については、イグニションスイッチ（エンジンスイッチ）がＯＦＦされた時点で、正転側目標補正値＝正転側適用補正値、逆転側目標補正値＝逆転側適用補正値になっていなかったとしても、次にイグニションスイッチ（エンジンスイッチ）がＯＮされたときには、目標補正値に一致する状態から更新が開始されることになる。
【００９４】
従って、モータ駆動回路４０１のばらつきによる目標デューティの補正要求が保存され、かつ、イグニションスイッチ（エンジンスイッチ）がＯＮされた直後から、モータ１０１を高精度に制御することが可能である。
上記実施形態では、目標のオンデューティに実際のオンデューティが一致するように、目標オンデューティを補正するための補正値を設定したが、オンデューティに代えてオフデューティを補正することができ、以下に、オフデューティの補正制御を行う実施形態を示す。
【００９５】
図２６のフローチャートは、前記図１６のフローチャートにおけるオンデューティをオフデューティに、オフデューティをオンデューティに書き換えたものであり、この図２６のフローチャートに基づいて、目標デューティの補正設定がなされる。
図２６のフローチャートに示すルーチンは所定の微小時間毎に実行され、まず、ステップＳ８０では、モータ印加電圧の目標（目標電圧）に基づいて目標オフデューティ（目標オフパルス幅）を算出する。
【００９６】
ステップＳ８１では、モータ１０１の正転が要求されているのか、逆転が要求されているのかを判別する。
正転要求時であれば、ステップＳ８２へ進み、前記目標オフデューティを正転用の適用補正値に基づいて補正して、補正後の目標オフデューティを求める。
一方、逆転要求時であれば、ステップＳ８３へ進み、前記目標オフデューティを逆転用の適用補正値に基づいて補正して、補正後の目標オフデューティを求める。
【００９７】
モータ１０１の回転方向によって、目標オフデューティと実際の駆動信号のオフデューティとの相関に違いが生じることがあるので、本実施形態では、回転方向が正転方向であるか逆転方向であるかによって、個別に目標補正値・適用補正値を設定させるようにしてある。
ステップＳ８４では、前記ステップＳ８２又はステップＳ８３で算出された補正後の目標オフデューティと、モータ駆動制御における周期とに基づいて、補正後の目標オンデューティ（補正後の目標オンパルス幅）を算出する。
【００９８】
上記ステップＳ８１〜ステップＳ８４の処理は、前記信号制御手段３１１で行われる。
ステップＳ８５では、前記補正後の目標オンデューティ（オンパルス幅）及び補正後の目標オフデューティ（オフパルス幅）に基づいて、前記信号出力手段３１２が、モータ駆動回路４０１へのＰＷＭ指示（ＰＷＭ制御信号の出力）を行う。
図２７のフローチャートは、オフデューティを実測値に基づいて補正する実施形態における、目標補正値の算出開始を判定するルーチンを示し、このルーチンは所定の微小時間毎に実行される。
【００９９】
尚、図２７〜図２９のフローチャートは、前記パルス検出回路７０１が、前記モータ駆動回路４０１の出力を反転することなくそのまま信号検出装置５０１に出力する場合に適用される。
ステップＳ１２０では、モータ１０１の駆動中であるか、停止中であるかを判定し、モータ１０１の駆動中であるときに、ステップＳ１２１へ進む。
【０１００】
ステップＳ１２１では、前回の目標補正値の算出から所定の算出周期（１００ms）が経過しているか否かを判定する。
前記算出周期が経過していない場合には、そのまま本ルーチンを終了させ、前記算出周期が経過していれば、目標補正値の更新演算タイミングを判定してステップＳ１２２へ進む。
【０１０１】
ステップＳ１２２では、モータ１０１が正転方向に駆動されているか、逆転方向に駆動されているかを判別する。
モータ１０１が正転方向に駆動されている場合には、ステップＳ１２３へ進み、信号入力手段５１１に入力される正転側のモータ駆動信号に対して、立ち下がり（ＯＮ→ＯＦＦ）エッジ割り込みを発生させる設定を前記割り込み発生手段５１２に対して行い、次のステップＳ１２４では、正転側のモータ駆動信号の立ち下がりエッジでの割り込み処理を許可する。
【０１０２】
一方、モータ１０１が逆転方向に駆動されている場合には、ステップＳ１２５へ進み、信号入力手段５１１に入力される逆転側のモータ駆動信号に対して、立ち下がりエッジ割り込みを発生させる設定を前記割り込み発生手段５１２に対して行い、次のステップＳ１２６では、逆転側のモータ駆動信号の立ち下がりエッジでの割り込み処理を許可する。
図２８のフローチャートは、正転側のモータ駆動信号の検出処理を示すルーチンであり、正転側のモータ駆動信号のエッジ検出に基づく割り込み処理で実行される。
【０１０３】
ステップＳ１３０では、今回の割り込み処理が正転側のモータ駆動信号の立ち下がりエッジに基づく処理であるか否かを判断する。
立ち下がりエッジによる割り込みである場合には、ステップＳ１３１へ進んで、カウンタ手段５１６におけるフリーランカウンタの値を読み込み、次のステップＳ１３２では、正転側のモータ駆動信号の立ち上がり（ＯＦＦ→ＯＮ）エッジで割り込みが発生するように設定する。
【０１０４】
前記ステップＳ１３２で立ち上がりエッジでの割り込み設定を行った後に、正転側のモータ駆動信号のエッジ検出に基づく割り込み処理がなされ、ステップＳ１３０で、今回の割り込み処理が正転側のモータ駆動信号の立ち上がりエッジに基づく処理であると判断されると、ステップＳ１３３へ進む。
ステップＳ１３３では、正転側のモータ駆動信号のエッジに基づく割り込み処理を禁止し、次のステップＳ１３４では、カウンタ手段５１６のフリーランカウンタの値を読み込む。
【０１０５】
ステップＳ１３５では、正転側のモータ駆動信号の立ち下がりエッジに基づく割り込み処理のときに読み込んだフリーランカウンタの値と、今回の正転側のモータ駆動信号の立ち上がりエッジに基づく割り込み処理で読み込んだフリーランカウンタの値との差として、正転側モータ駆動信号のオフパルス時間（オフデューティ）を算出する。
図２８のフローチャートが実行されるのは、パルス検出回路７０１が、前記モータ駆動回路４０１の出力を反転することなくそのまま信号検出装置５０１に出力する場合であるから、立ち下がりエッジから立ち上がりエッジまでの時間が、オフパルス時間（オフデューティ）となる。
【０１０６】
ステップＳ１３６では、差分検出手段５１３にて、前記ステップＳ１３５で算出したオフデューティと、前記目標オフデューティとの偏差を算出する。
ステップＳ１３７では、前記偏差の絶対値と予め設定された閾値とを比較し、偏差の絶対値が閾値を超える場合には、正転側のモータ駆動信号のオフパルス時間（オフデューティ）の計測結果は、ノイズに影響されたものであると判断し、ステップＳ１３８を迂回して本ルーチンをそのまま終了させることで、前記計測結果に基づく正転側目標補正値の更新を禁止する。
【０１０７】
従って、ステップＳ１３８を迂回して本ルーチンをそのまま終了させた場合には、正転側目標補正値は、前回値を保持することになる。
一方、偏差の絶対値が閾値以下であれば、正転側のモータ駆動信号のオフ時間（オフデューティ比）の計測結果はノイズに影響されていないと判断し、ステップＳ１３８へ進む。
【０１０８】
ステップＳ１３８では、正転側の目標補正値を、前記ステップＳ１３５で求めたオフパルス時間（オフデューティ）の偏差と、正転側の適用補正値とに基づき、下式に従って演算する。
正転側の目標補正値＝偏差＋正転側の適用補正値
図２９のフローチャートは、逆転側のモータ駆動信号の検出処理を示すルーチンであり、逆転側のモータ駆動信号のエッジ検出に基づく割り込む処理で実行される。
【０１０９】
ステップＳ１４０では、今回の割り込み処理が逆転側のモータ駆動信号の立ち下がりエッジに基づく処理であるか否かを判断する。
立ち下がりエッジによる割り込みである場合には、ステップＳ１４１へ進んで、カウンタ手段５１６におけるフリーランカウンタの値を読み込み、次のステップＳ１４２では、逆転側のモータ駆動信号の立ち上がりエッジで割り込みが発生するようにする。
【０１１０】
前記ステップＳ１４２で立ち上がりエッジでの割り込み設定を行った後に、逆転側のモータ駆動信号のエッジ検出に基づく割り込み処理がなされ、ステップＳ１４０で、今回の割り込み処理が逆転側のモータ駆動信号の立ち上がりエッジに基づく処理であると判断されると、ステップＳ１４３へ進む。
ステップＳ１４３では、逆転側のモータ駆動信号のエッジに基づく割り込み処理を禁止し、次のステップＳ１４４では、カウンタ手段５１６のフリーランカウンタの値を読み込む。
【０１１１】
ステップＳ１４５では、逆転側のモータ駆動信号の立ち下がりエッジに基づく割り込み処理のときに読み込んだフリーランカウンタの値と、今回の逆転側のモータ駆動信号の立ち上がりエッジに基づく割り込み処理で読み込んだフリーランカウンタの値との差として、逆転側のモータ駆動信号のオフパルス時間（オフデューティ）を算出する。
図２９のフローチャートが実行されるのは、パルス検出回路７０１が、前記モータ駆動回路４０１の出力を反転することなくそのまま信号検出装置５０１に出力する場合であるから、立ち下がりエッジから立ち上がりエッジまでの時間が、オフパルス時間（オフデューティ）となる。
【０１１２】
ステップＳ１４６では、差分検出手段５１３にて、前記ステップＳ１４５で算出したオフデューティと、前記目標オフデューティとの偏差を算出する。
ステップＳ１４７では、前記偏差の絶対値と予め設定された閾値とを比較し、偏差の絶対値が閾値を超える場合には、逆転側のモータ駆動信号のオフパルス時間（オフデューティ）の計測結果は、ノイズに影響されたものであると判断し、ステップＳ１４８を迂回して本ルーチンをそのまま終了させることで、前記計測結果に基づく逆転側目標補正値の更新を禁止する。
【０１１３】
従って、ステップＳ１４８を迂回して本ルーチンをそのまま終了させた場合には、逆転側目標補正値は、前回値を保持することになる。
一方、前記偏差の絶対値が閾値以下であれば、逆転側のモータ駆動信号のオフパルス時間（オフデューティ）の計測結果はノイズに影響されていないと判断し、ステップＳ１４８へ進む。
【０１１４】
ステップＳ１４８では、逆転側の目標補正値を、前記ステップＳ１４５で求めたオフパルス時間（オフデューティ）の偏差と、逆転側の適用補正値とに基づき、下式に従って演算する。
逆転側の目標補正値＝偏差＋逆転側の適用補正値
尚、上記図２７〜図２９のフローチャートは、パルス検出回路７０１が、前記モータ駆動回路４０１の出力を反転することなくそのまま信号検出装置５０１に出力する場合に実行され、パルス検出回路７０１が、前記モータ駆動回路４０１の出力を反転して信号検出装置５０１に出力する場合には、図２７〜図２９のフローチャートにおける立ち上がりを立ち上がりと読み替え、立ち上がりを立ち下がりと読み替えて実行させればよい。
【０１１５】
また、上記のオフデューティの計測結果から、目標オフデューティを補正する実施形態においても、図２３及び図２４のフローチャートに示される処理は、同様に実行される。
尚、上記実施形態では、モータ１０１の回転方向が切り替えられるシステムとしたが、モータ１０１の回転方向が一定であるシステムであっても良く、また、トランスファ用のモータに限定されず、ＡＴのポジション切り替えに用いられるモータなどであっても良く、モータが用いられるシステムを限定するものではない。
【０１１６】
次に、上記の実施形態から把握し得る請求項に記載以外の発明について、以下にその作用効果と共に記載する。
（イ）前記制御条件として目標デューティの変化量及び／又は前記偏差に応じて前記補正値の更新周期を可変に設定することを特徴とする請求項４記載の車両用モータ制御装置。
上記発明によると、目標デューティが急激に変化したときや、前記偏差が大きいときに、補正値の更新周期を短くして、目標デューティに一致することができる補正レベルにまで応答良く変化させる一方、目標デューティが安定しているときや、前記偏差が安定しているときに、前記更新周期を長くして、モータの制御安定性を保持できる。
（ロ）前記制御条件として前記目標デューティを補正するための補正値の更新が禁止された直後に、前記補正値の更新周期を短くすることを特徴とする請求項４記載の車両用モータ制御装置。
【０１１７】
上記発明によると、例えばノイズ検出などに基づいて補正値の更新が禁止された場合には、その間に補正要求が変化している可能性があるため、少なくとも更新禁止前の補正要求にまで応答良く変化させ、目標デューティに対してモータ駆動信号のデューティが大幅に異なる状態を発生させないようにする。
（ハ）前記モータの回転方向が切り替えられ、前記モータの回転方向毎に前記偏差を求め、前記回転方向毎に前記目標デューティを補正するための補正値を設定することを特徴とする請求項１〜４のいずれか１つに記載の車両用モータ制御装置。
【０１１８】
上記発明によると、モータの回転方向によって、目標デューティとモータ駆動信号のデューティとの相関が異なる場合、それぞれの補正要求に対応した補正を行え、モータの回転方向が異なっても、高い精度でモータをＰＷＭ制御することができる。
【図面の簡単な説明】
【０１１９】
【図１】本発明の実施形態における車両用のトランスファシステムを示すブロック図。
【図２】本発明の実施形態におけるトランスファのモードを示す図。
【図３】本発明の実施形態におけるモータの回転角と負荷との相関を示す図。
【図４】本発明の実施形態におけるモータのＰＷＭ駆動回路を示すブロック図。
【図５】本発明の実施形態におけるモータデューティの補正制御機能を示すブロック図。
【図６】本発明の実施形態において、適用補正値が初期値である０のときの目標補正値の設定を示すタイムチャート。
【図７】本発明の実施形態において、適用補正値の更新演算の様子を示すタイムチャート。
【図８】本発明の実施形態において、適用補正値の更新演算の様子を示すタイムチャート。
【図９】本発明の実施形態において、適用補正値の更新演算の様子を示すタイムチャート。
【図１０】本発明の実施形態において、適用補正値が目標補正値に近づいた後の目標補正値の更新演算の様子を示すタイムチャート。
【図１１】本発明の実施形態において、目標補正値が更新された後の適用補正値の更新演算の様子を示すタイムチャート。
【図１２】本発明の実施形態において、適用補正値が目標補正値に追いついた状態を示すタイムチャート。
【図１３】本発明の実施形態において、適用補正値が目標補正値に追いついた後で保持される状態を示すタイムチャート。
【図１４】本発明の実施形態において、適用補正値が目標補正値に追いつき、目標デューティに制御されるようになった時点での目標補正値の設定を示すタイムチャート。
【図１５】本発明の実施形態における目標補正値及び適用補正値のバックアップ処理及び読み出し処理を説明するためのタイムチャート。
【図１６】本発明の実施形態におけるモータ駆動信号の出力処理を示すフローチャート。
【図１７】本発明の実施形態における目標補正値の算出開始の判定処理を示すフローチャート。
【図１８】本発明の実施形態における正転側信号の検出処理を示すフローチャート。
【図１９】本発明の実施形態における逆転側信号の検出処理を示すフローチャート。
【図２０】本発明の実施形態における駆動パルスが反転入力される場合の目標補正値の算出開始の判定処理を示すフローチャート。
【図２１】本発明の実施形態における駆動パルスが反転入力される場合の正転側信号の検出処理を示すフローチャート。
【図２２】本発明の実施形態における駆動パルスが反転入力される場合の逆転側信号の検出処理を示すフローチャート。
【図２３】本発明の実施形態における適用補正値の算出処理を示すフローチャート。
【図２４】本発明の実施形態における目標補正値及び適用補正値のバックアップ処理及び読み出し処理を示すフローチャート。
【図２５】本発明の実施形態における目標補正値及び適用補正値の更新タイミングを示すタイムチャート。
【図２６】オフデューティを補正する第２実施形態におけるモータ駆動信号の出力処理を示すフローチャート。
【図２７】第２実施形態における目標補正値の算出開始の判定処理を示すフローチャート。
【図２８】第２実施形態における正転側信号の検出処理を示すフローチャート。
【図２９】第２実施形態における逆転側信号の検出処理を示すフローチャート。
【符号の説明】
【０１２０】
１０１…モータ、２０１…電子コントロールユニット、３０１…信号出力装置、３１１…信号制御手段、３１２…信号出力手段、４０１…モータ駆動回路、５０１…信号検出装置、５１１…信号入力手段、５１２…割り込み発生手段、５１３…差分検出手段、５１４…ノイズ検出手段、５１５…補正値算出手段、５１６…カウンタ手段、６０１…バックアップメモリ
【図１】
2008259408.tif 000003
【図２】
2008259408.tif 000004
【図３】
2008259408.tif 000005
【図４】
2008259408.tif 000006
【図５】
2008259408.tif 000007
【図６】
2008259408.tif 000008
【図７】
2008259408.tif 000009
【図８】
2008259408.tif 000010
【図９】
2008259408.tif 000011
【図１０】
2008259408.tif 000012
【図１１】
2008259408.tif 000013
【図１２】
2008259408.tif 000014
【図１３】
2008259408.tif 000015
【図１４】
2008259408.tif 000016
【図１５】
2008259408.tif 000017
【図１６】
2008259408.tif 000018
【図１７】
2008259408.tif 000019
【図１８】
2008259408.tif 000020
【図１９】
2008259408.tif 000021
【図２０】
2008259408.tif 000022
【図２１】
2008259408.tif 000023
【図２２】
2008259408.tif 000024
【図２３】
2008259408.tif 000025
【図２４】
2008259408.tif 000026
【図２５】
2008259408.tif 000027
【図２６】
2008259408.tif 000028
【図２７】
2008259408.tif 000029
【図２８】
2008259408.tif 000030
【図２９】
2008259408.tif 000031