(57)【特許請求の範囲】
【請求項１】
３相ブラシレスモータに交流電力を供給するインバータと、前記インバータの直流母線電流を検出する電流検出器と、前記電流検出器の出力を入力し前記インバータをＰＷＭ制御する制御部と、を含むモータ駆動装置であって、
前記制御部は、前記インバータの全相の上アームがオン制御状態であるときの前記電流検出器の第１電流検出値と前記インバータの全相の下アームがオン制御状態であるときの前記電流検出器の第２電流検出値との偏差が閾値以下であるときに、前記第１電流検出値と前記第２電流検出値との少なくとも一方に基づき前記電流検出器の零点補正を行う、モータ駆動装置。
【請求項２】
前記制御部は、前記偏差が前記閾値を超えるときに前記インバータの動作を停止させる、請求項１記載のモータ駆動装置。
【請求項３】
前記制御部は、前記第１電流検出値と前記第２電流検出値とのうちのより低い方を前記電流検出器の零点とする、請求項１又は請求項２記載のモータ駆動装置。
【請求項４】
前記制御部は、前記第１電流検出値と前記第２電流検出値との平均値を前記電流検出器の零点とする、請求項１又は請求項２記載のモータ駆動装置。
【請求項５】
３相ブラシレスモータに交流電力を供給するインバータと前記インバータの直流母線電流を検出する電流検出器とを含むモータ駆動装置の制御方法であって、
前記インバータの全相の上アームがオン制御状態であるときに前記電流検出器による第１電流検出値を求めるステップと、
前記インバータの全相の下アームがオン制御状態であるときの前記電流検出器による第２電流検出値を求めるステップと、
前記第１電流検出値と前記第２電流検出値との偏差を算出するステップと、
前記偏差が閾値以下であるときに前記第１電流検出値と前記第２電流検出値との少なくとも一方に基づき前記電流検出器の零点補正を行うステップと、
零点補正された前記電流検出器の電流検出値に基づき前記インバータをＰＷＭ制御するステップと、
を含む、モータ駆動装置の制御方法。
【請求項６】
前記偏差が前記閾値を超えるときに前記インバータの動作を停止するステップを更に含む、請求項５記載のモータ駆動装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動装置及びモータ駆動装置の制御方法に関し、詳しくは、インバータの直流母線電流を検出する電流検出器の零点補正に関する。
【背景技術】
【０００２】
特許文献１には、ブラシレスモータの動作を監視する方法として、電流測定手段を使用してモータの巻線へ流入または流出する電流を監視して電流を表示する出力信号を生成し、電流測定手段を通して流れる瞬時電流が実質的にゼロと知られる時に電流測定手段の出力を測定し、実測定出力信号値と理想出力信号値の間の何らかの差を補償する修正出力信号を生成する各ステップを含む、方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５６５３７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インバータの上アームの全てがオンに制御され下アームの全てがオフに制御されている状態は、インバータの直流母線電流を検出する電流検出器の電流検出値が零になる条件であるが、下アームを構成するスイッチング素子にショート故障が発生していると、ショート故障しているスイッチング素子を介して電流検出器に電流が流れるため、このときの電流検出値に基づき零点補正すると誤った補正になり、逆に電流検出精度を低下させることになってしまう。
同様に、インバータの下アームの全てがオンに制御され上アームの全てがオフに制御されている状態は、電流検出器の電流検出値が零になる条件であるが、上アームを構成するスイッチング素子にショート故障が発生していると、誤った零点補正を行うことになってしまう。
【０００５】
本発明は上記問題点に鑑みなされたものであり、インバータのスイッチング素子にショート故障が発生しているときに電流検出器の零点補正が誤って行われることを抑制できる、モータ駆動装置及びモータ駆動装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そのため、本願発明に係るモータ駆動装置は、３相ブラシレスモータに交流電力を供給するインバータと、前記インバータの直流母線電流を検出する電流検出器と、前記電流検出器の出力を入力し前記インバータをＰＷＭ制御する制御部と、を含むモータ駆動装置であって、前記制御部は、前記インバータの全相の上アームがオン制御状態であるときの前記電流検出器の第１電流検出値と前記インバータの全相の下アームがオン制御状態であるときの前記電流検出器の第２電流検出値との偏差が閾値以下であるときに、前記第１電流検出値と前記第２電流検出値との少なくとも一方に基づき前記電流検出器の零点補正を行うようにした。
【０００７】
また、本願発明に係るモータ駆動装置の制御方法は、３相ブラシレスモータに交流電力を供給するインバータと前記インバータの直流母線電流を検出する電流検出器とを含むモータ駆動装置の制御方法であって、前記インバータの全相の上アームがオン制御状態であるときに前記電流検出器による第１電流検出値を求めるステップと、前記インバータの全相の下アームがオン制御状態であるときの前記電流検出器による第２電流検出値を求めるステップと、前記第１電流検出値と前記第２電流検出値との偏差を算出するステップと、前記偏差が閾値以下であるときに前記第１電流検出値と前記第２電流検出値との少なくとも一方に基づき前記電流検出器の零点補正を行うステップと、零点補正された前記電流検出器の電流検出値に基づき前記インバータをＰＷＭ制御するステップと、を含むようにした。
【発明の効果】
【０００８】
上記発明によると、インバータの上アームと下アームとのいずれか一方にショート故障が発生したときには第１電流検出値と第２電流検出値との偏差が大きくなるから、前記偏差が閾値以下であるときに零点補正を行わせることで、ショート故障の発生状態で誤った零点補正が実施されることを抑制できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における３相ブラシレスモータの駆動回路の一態様を示す回路図である。
【図２】本発明の実施形態における３相ブラシレスモータのＰＷＭ制御の一態様を示す機能ブロック図である。
【図３】本発明の実施形態における相電流の検出タイミングの一態様を示すタイムチャートである。
【図４】本発明の実施形態におけるオフセット補正値の設定処理の一態様を示すフローチャートである。
【図５】本発明の実施形態におけるオフセット誤差の検出タイミングの一態様を示すタイムチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明の実施の形態を説明する。
図１は、３相ブラシレスモータ１及びモータ駆動装置２の一例を示す回路図である。
図１の３相ブラシレスモータ１は、例えば、車両の電動パワーステアリング装置において操舵のアシストトルクを発生する電動アクチュエータや、車両の各種ポンプを駆動する電動アクチュエータとして用いられる。
３相ブラシレスモータ１を駆動するモータ駆動装置２は、駆動回路２１２と制御部２１３とを備える。
【００１１】
制御部２１３は、Ａ／Ｄ変換器２１３ａとマイクロコンピュータ２１３ｂとを備え、マイクロコンピュータ２１３ｂは、ＣＰＵ，ＭＰＵなどのマイクロプロセッサやＲＯＭ、ＲＡＭなどのメモリデバイスを含んで構成される。
３相ブラシレスモータ１は、スター結線されるＵ相、Ｖ相及びＷ相の３相巻線２１５ｕ、２１５ｖ、２１５ｗを図示省略した円筒状の固定子に備え、該固定子の中央部に形成した空間に永久磁石回転子（ロータ）２１６を回転可能に備える、３相ＤＣブラシレスモータである。
【００１２】
３相ブラシレスモータ１は回転子の位置情報を検出するセンサを備えず、制御部２１３は、３相ブラシレスモータ１の駆動制御を回転子の位置情報を検出するセンサを用いないセンサレス駆動方式によって行う。
但し、３相ブラシレスモータ１に磁極位置センサを備え、制御部２１３は、係る磁極位置センサの出力に基づきロータの角度（磁極位置）を検出して３相ブラシレスモータ１を駆動制御することができる。
【００１３】
駆動回路２１２は、逆並列のダイオード２１８ａ〜２１８ｆを含んでなるスイッチング素子２１７ａ〜２１７ｆを３相ブリッジ接続したインバータ２１２ａと、直流の電源回路２１９とを有し、インバータ２１２ａは３相ブラシレスモータ１に交流電力を供給する。
インバータ２１２ａのスイッチング素子２１７ａ〜２１７ｆは例えばＦＥＴで構成され、スイッチング素子２１７ａ〜２１７ｆの各制御端子（ゲート端子）は制御部２１３の出力ポートに接続される。そして、スイッチング素子２１７ａ〜２１７ｆのオン／オフは制御部２１３によって制御される。
【００１４】
制御部２１３は、インバータ２１２ａのスイッチング素子２１７ａ〜２１７ｆのオン／オフを三角波比較方式のＰＷＭ（Pulse Width Modulation）によって制御して、３相ブラシレスモータ１に印加する電圧を制御する。
三角波比較方式のＰＷＭ制御においては、三角波（キャリア）と、指令デューティ比（指令電圧）に応じて設定されるＰＷＭタイマとを比較することで、各スイッチング素子２１７ａ〜２１７ｆをオン／オフさせるタイミング、換言すれば、各相のスイッチング素子の制御信号であるＰＷＭパルスの立ち上げ及び立ち下げのタイミングを検出する。
【００１５】
なお、制御部２１３は、各相の上アームのオン／オフを制御するＰＷＭパルスに対し、各相の下アームのオン／オフを制御するＰＷＭパルスを逆相とする相補方式で、インバータ２１２ａのスイッチング素子２１７ａ〜２１７ｆをＰＷＭ制御する。
つまり、１つの相の上アームのオン／オフを制御するＰＷＭパルスが論理レベルでハイのとき、同じ相の下アームのオン／オフを制御するＰＷＭパルスは論理レベルでローとなり、全相の上アームがオンのときに全相の下アームがオフに、全相の下アームがオンのときに全相の上アームがオフになる。
【００１６】
また、インバータ２１２ａの直流母線電流を検出する電流検出器２２０を、各相の下アーム（スイッチング素子２１７ｂ，２１７ｄ，２１７ｆ）と電源回路２１９の接地側との間に設けてある。
電流検出器２２０は、各相の下アームと電源回路２１９の接地側との間に直列に接続したシャント抵抗２２０ａと、オペアンプなどを含む検出回路２２０ｂとから構成される。検出回路２２０ｂは、シャント抵抗２２０ａの抵抗分で発生する電流に比例した電圧を検出し、係る電圧のアナログ信号を出力する。
【００１７】
検出回路２２０ｂの電圧アナログ信号（直流母線電流の検出信号）は、Ａ／Ｄ変換器２１３ａでＡ／Ｄ変換されてマイクロコンピュータ２１３ｂに読み込まれる。
制御部２１３は、例えば、回転子位置と指令トルクとに基づくベクトル制御方式によって３相指令電圧Ｖu、Ｖv、Ｖwを決定し、この指令電圧に基づきインバータ２１２ａをＰＷＭ制御する。
【００１８】
制御部２１３は、電流検出器２２０の出力を入力して各相の相電流を検出し、検出した相電流を用いてベクトル制御を実施する。
電流検出器２２０は、インバータ２１２ａの直流母線電流を検出するが、各相のＰＷＭパルスの組み合わせによって電流検出器２２０の出力が１つの相の相電流を検出する状態になることを利用して、制御部２１３は、各相の相電流を電流検出器２２０の出力から検出する。
【００１９】
例えば、Ｕ相の上アーム（スイッチング素子２１７ａ）がオンで、Ｖ相及びＷ相の上アーム（スイッチング素子２１７ｃ及びスイッチング素子２１７ｅ）が共にオフである場合は、Ｕ相に流れた電流がＶ相及びＷ相に分かれて流れ、電流検出器２２０はＵ相の相電流Ｉuを検出することになる。
つまり、各相の上アームのうちの１つがオンで他の２つがオフであるＰＷＭパルスの組み合わせ状態において、電流検出器２２０は、上アームがオン制御されている１つの相の相電流を検出することになる。
【００２０】
また、Ｕ相及びＶ相の上アーム（スイッチング素子２１７ａ及びスイッチング素子２１７ｃ）が共にオンで、Ｗ相の上アーム（スイッチング素子２１７ｅ）がオフである場合は、Ｕ相に流れた電流及びＶ相に流れた電流が合流してＷ相に流れることになり、電流検出器２２０はＷ相の相電流Ｉwを検出することになる。
つまり、各相の上アームのうちの２つがオンで他の１つがオフであるＰＷＭパルスの組み合わせ状態において、電流検出器２２０は、上アームがオフ制御されている１つの相の相電流を検出することになる。
【００２１】
このように、各相の上アームのうちの１つ又は２つがオンであるＰＷＭパルスの組み合わせ状態において、電流検出器２２０の出力は、ＰＷＭパルスの組み合わせ状態で決まる１つの相の相電流を表すことになる。
そこで、制御部２１３は、係る特性を利用して電流検出器２２０の出力から各相の電流を検出し、検出した相電流値をＰＷＭ制御に用いる。
【００２２】
図２は、制御部２１３の機能ブロック図であり、ベクトル制御方式による３相指令電圧Ｖu、Ｖv、Ｖwの設定処理を示す。
図２において、相電流検出部５０１（相電流検出手段）は、検出回路２２０ｂの出力のＡ／Ｄ変換値、換言すればインバータ２１２ａの直流母線電流の検出値に基づき、各相の相電流Ｉu、Ｉv、Ｉwを検出する。
【００２３】
つまり、相電流検出部５０１は、各相の上アームのうちの１つ又は２つがオンであるＰＷＭパルス区間を相電流検出区間とし、また、どの相の上アームがオンであるかに基づき前記相電流検出区間で相電流が検出される１つの相を特定する。
そして、相電流検出部５０１は、相電流検出区間内に相電流検出タイミング（検出回路２２０ｂの出力のＡ／Ｄ変換値のサンプリングタイミング）を設定し、この相電流検出タイミングで電流検出器２２０の出力をサンプリングし、サンプリング値から求めた電流値をそのときに検出対象として特定されている相の相電流検出値とする。
【００２４】
角度・角速度演算部５０２は、モータ角度（磁極位置）及び角速度（モータ回転数）を推定する。
ここで、制御部２１３がセンサレス駆動方式で３相ブラシレスモータ１をＰＷＭ制御する場合、角度・角速度演算部５０２は、モータの逆起電力に基づき回転子位置を推定し、推定した回転子位置に基づき角速度を演算する。
【００２５】
一方、３相ブラシレスモータ１が磁極位置センサを有する場合、角度・角速度演算部５０２は、磁極位置センサの出力から回転子位置を検出し、検出した回転子位置に基づき角速度を演算する。
また、３相−２軸変換器５０３は、相電流検出部５０１による相電流検出値Ｉu、Ｉv、Ｉwを、そのときのモータ角度（磁極位置）θに基づいて２軸の回転座標系（ｄ−ｑ座標系）の実電流Ｉｄ，Ｉｑに変換する。
【００２６】
ベクトル制御部５０４には、指令トルクに応じたｄ軸指令電流及びｑ軸指令電流、角度・角速度演算部５０２で算出された角速度、３相−２軸変換器５０３で求めたｄ−ｑ座標系の実電流Ｉｄ，Ｉｑが入力される。
そして、ベクトル制御部５０４は、ｄ軸，ｑ軸指令電流、角速度、及び実電流Ｉｄ，Ｉｑに基づきｄ−ｑ座標系の指令電圧Ｖｑ，Ｖｄを決定し、決定した指令電圧Ｖｑ，Ｖｄを２軸−３相変換器５０５に出力する。
【００２７】
２軸−３相変換器５０５は、ベクトル制御部５０４が出力する指令電圧Ｖｑ，Ｖｄを３相指令電圧Ｖu、Ｖv、Ｖwに変換してＰＷＭ変調部５０６に出力する。
なお、２軸−３相変換器５０５は、指令電圧Ｖu、Ｖv、Ｖwを補正することにより、三角波キャリアの谷を中心として生成されるＰＷＭパルスを前後にシフトさせるパルスシフト処理機能を有する。上記のパルスシフト処理は、相電流の検出区間を生成するために実施される処理であり、後に詳細に説明する。
【００２８】
そして、ＰＷＭ変調部５０６では、各相のスイッチング素子（上アーム及び下アーム）を駆動するためのスイッチングゲート波形（ＰＷＭパルス）の立ち上げタイミング及び立ち下げタイミングを、変調波としての３相指令電圧Ｖu、Ｖv、Ｖwと三角波キャリアとの比較によって決定し、生成したスイッチングゲート波形（ＰＷＭパルス）をインバータ２１２ａの各スイッチング素子２１７ａ〜２１７ｆの各制御端子に出力する。
【００２９】
ＰＷＭ変調部５０６は、Ｕ相指令電圧Ｖuと三角波キャリアとを比較し、Ｕ相指令電圧Ｖuが三角波キャリアよりも大きいときに、Ｕ相の上アーム（スイッチング素子２１７ａ）を駆動するためのスイッチングゲート波形を論理レベルとしてハイレベルに設定し、Ｕ相指令電圧Ｖuが三角波キャリアよりも小さいときにＵ相の上アームを駆動するためのスイッチングゲート波形を論理レベルとしてローレベルに設定する。
【００３０】
更に、ＰＷＭ変調部５０６は、Ｕ相の上アーム（スイッチング素子２１７ａ）を駆動するためのスイッチングゲート波形の反転信号を、Ｕ相の下アームを駆動するためのスイッチングゲート波形として生成する。
同様にして、ＰＷＭ変調部５０６は、Ｖ相の上下アームを駆動するためのスイッチングゲート波形、及び、Ｗ相の上下アームを駆動するためのスイッチングゲート波形を生成する。
【００３１】
次に、相電流検出部５０１における相電流の検出処理を詳述する。
インバータ２１２ａの直流母線電流に基づき各相の相電流を検出する場合、２相の相電流を電流検出器２２０の出力から検出できれば、残りの１相の電流は相電流の総和が零になることを用いて演算により求めることができる。
【００３２】
そこで、２軸−３相変換器５０５は、ＰＷＭパルスの位相を相毎に制御して２相の相電流を電流検出器２２０の出力から検出するためのパルスシフトを実施する。
例えば、ＰＷＭパルスの位相を進角させる場合、２軸−３相変換器５０５は、キャリアの谷よりも前の半周期で指令電圧を増大補正し、キャリアの谷よりも後の半周期で指令電圧を減少補正する。また、ＰＷＭパルスの位相を遅角させる場合、２軸−３相変換器５０５は、キャリアの谷よりも前の半周期で指令電圧を減少補正し、キャリアの谷よりも後の半周期で指令電圧を増大補正する。
【００３３】
ここで、相電流検出部５０１は、上記のパルスシフトによって生成されたＰＷＭパルスの組み合わせが異なる２つの相電流検出区間で電流検出器２２０の出力をそれぞれサンプリングして２相の相電流を検出する。
そして、ベクトル制御部５０４は、指令電圧Ｖｑ，Ｖｄの演算処理を、電流検出器２２０の出力から検出した２相の相電流検出値と、これらに基づき演算した残る１相の相電流値とを用いて行う。
【００３４】
なお、相電流検出部５０１は、上記のパルスシフト処理によって、電流検出器２２０の出力から３相それぞれの相電流を検出させることができる。例えば、相電流検出部５０１は、ＰＷＭ周期毎にパルスシフト処理のパターンを切り替え、２周期で電流検出器２２０の出力から３相の相電流を検出することができる。
【００３５】
図３は、パルスシフトの一態様を示すタイムチャートであり、Ｕ相のＰＷＭパルスはキャリアの谷を中心に生成されるが、Ｖ相のＰＷＭパルスは位相が進角されてキャリアの谷よりも進角された位置を中心に生成され、Ｗ相のＰＷＭパルスは位相が遅角されてキャリアの谷よりも遅角された位置を中心に生成される。
係るパルスシフトによって、キャリアの谷よりも前の期間で、Ｕ相の上アーム及びＶ相の上アームがオンでＷ相の上アームがオフである電流検出期間が生成され、係る電流検出期間（時刻ｔ２）で電流検出器２２０はＷ相の相電流Ｉwを検出する。
【００３６】
また、キャリアの谷よりも後の期間では、Ｕ相の上アーム及びＷ相の上アームがオンでＶ相の上アームがオフである電流検出期間が生成され、係る電流検出期間（時刻ｔ４）で電流検出器２２０はＶ相の相電流Ｉvを検出する。
そこで、相電流検出部５０１は、キャリアの谷よりも前のＵ相の上アーム及びＶ相の上アームがオンでＷ相の上アームがオフである電流検出期間で電流検出器２２０の出力をサンプリングすることでＷ相の相電流Ｉwを検出し、キャリアの谷よりも後のＵ相の上アーム及びＷ相の上アームがオンでＶ相の上アームがオフである電流検出期間で電流検出器２２０の出力をサンプリングすることでＶ相の相電流Ｉvを検出する。
【００３７】
更に、相電流検出部５０１は、各相の相電流の総和が零になることに基づき、Ｗ相の相電流検出値Ｉw及びＶ相の相電流検出値Ｉvから残るＵ相の相電流Ｉuを算出して３相全ての相電流を求める。
また、制御部２１３は、電流検出器２２０のオフセット誤差（零点誤差）を補正するオフセット補正部（零点補正手段）５０７を備える。
【００３８】
オフセット補正部５０７は、インバータ２１２ａの直流母線電流が零になるインバータ２１２ａの制御状態における電流検出器２２０の出力値を零点出力値として求め、当該零点出力値を電流検出器２２０が出力するときに直流母線電流を零として検出するように、電流検出器２２０の出力に基づく電流検出特性を補正するオフセット補正を行う。
オフセット補正部５０７は、前記零点出力値に基づき、電流検出器２２０の出力をオフセット補正するための補正値を設定したり、電流検出器２２０の出力を変換して求めた電流検出値をオフセット補正するための補正値を設定したり、電流検出器２２０の出力を電流検出値に変換する変換特性を補正したりする。
【００３９】
ここで、インバータ２１２ａの直流母線電流が零になるインバータ２１２ａの制御状態とは、各相の上アーム（スイッチング素子２１７ａ，２１７ｃ，２１７ｅ）が全てオンに制御され、各相の下アーム（スイッチング素子２１７ｂ，２１７ｄ，２１７ｆ）が全てオフに制御されている状態、及び、各相の上アーム（スイッチング素子２１７ａ，２１７ｃ，２１７ｅ）が全てオフに制御され、各相の下アーム（スイッチング素子２１７ｂ，２１７ｄ，２１７ｆ）が全てオンに制御されている状態である。
したがって、オフセット補正部５０７は、各相の上アームが全てオンに制御されている状態若しくは各相の下アームが全てオンに制御されている状態での電流検出器２２０の出力（零点出力値）から、電流検出器２２０のオフセット誤差（零点誤差）を検知することができる。
【００４０】
しかし、例えば、各相の下アームのいずれかにショート故障が発生している場合、各相の上アームが全てオンに制御され各相の下アームが全てオフに制御されている状態でショート故障している下アームを介して電流検出器２２０に電流が流れるため、オフセット補正部５０７は、オフセット誤差（零点誤差）を誤検知することになる。
そこで、オフセット補正部５０７は、上アーム又は下アームのショート故障に対処する手段、つまり、ショート故障の発生時にオフセット誤差（零点誤差）の検知をキャンセルする手段を備えている。
【００４１】
具体的には、オフセット補正部５０７は、各相の上アームが全てオンに制御されているときの電流検出器２２０の出力と、各相の下アームが全てオンに制御されているときの電流検出器２２０の出力とを比較することで、上アーム又は下アームにおけるショート故障が発生している状態で、オフセット誤差の検出、換言すれば、オフセット補正値の更新が実施されることを抑制する。
【００４２】
例えば、各相の下アームのうちの１つがショート故障している場合、各相の上アームが全てオフに制御され各相の下アームが全てオンに制御されたときには、ショート故障に影響されることなく電流検出器２２０に流れる電流は零になるが、各相の上アームが全てオンに制御され各相の下アームが全てオフに制御されたときには、ショート故障している下アームを介して電流検出器２２０に電流が流れて電流検出値は零でなくなる。
【００４３】
つまり、各相の上アームが全てオンに制御され各相の下アームが全てオフに制御されているときの電流検出器２２０による電流検出値（以下、第１電流検出値ともいう）と、各相の上アームが全てオフに制御され各相の下アームが全てオンに制御されているときの電流検出器２２０による電流検出値（以下、第２電流検出値ともいう）との間に、ばらつき範囲を超える偏差が生じている場合、制御部２１３は、インバータ２１２ａにおいてスイッチング素子のショート故障などの何らかの回路異常が発生しているものと推定できる。
【００４４】
一方、第１電流検出値と第２電流検出値との偏差がばらつき範囲内であるときには、制御部２１３は、インバータ２１２ａにおいてスイッチング素子のショート故障などの回路異常がなく、第１電流検出値及び第２電流検出値は電流検出器２２０のオフセット誤差（零点誤差）を示しているものと判断できる。
そこで、制御部２１３は、第１電流検出値と第２電流検出値とを求め、これらの偏差の絶対値と閾値とを比較し、偏差の絶対値が閾値以下であるとき、換言すれば、インバータ２１２ａのスイッチング素子のショート故障がないときに、第１電流検出値と第２電流検出値との少なくとも一方に基づきオフセット補正値の更新（学習）を実施する。
【００４５】
したがって、ショート故障しているスイッチング素子を介して電流検出器２２０に流れた電流に基づき、オフセット補正値が設定されることを抑制でき、以って、オフセット補正値の設定精度引いては相電流の検出精度を維持でき、３相ブラシレスモータ１を高い精度で安定して制御できる。
なお、前記閾値は、偏差がばらつき範囲内の値であるか、偏差がばらつき範囲を超えていて何らかの回路異常がインバータ２１２ａに発生している状態を示す値であるかを区別するための値であり、予め実験やシミュレーションに基づき適合され、制御部２１３のメモリに格納されている。
【００４６】
一方、第１電流検出値と第２電流検出値との偏差の絶対値が閾値を超えている場合、スイッチング素子のショート故障などのインバータ２１２ａの異常が発生している可能性がある。
そこで、制御部２１３は、インバータ２１２ａの動作を、電源リレーや各相の通電ラインにそれぞれ設けた相リレーのオフ制御、ＰＷＭ制御出力の停止などによって停止させる。
【００４７】
図４のフローチャートは、制御部２１３によるオフセット補正値（零点補正値）の更新処理（学習処理）の一態様を示す。
図４のフローチャートにおいて、制御部２１３は、ステップＳ１０１で、各相の上アーム（スイッチング素子２１７ａ，２１７ｃ，２１７ｅ）が全てオンに制御され、各相の下アーム（スイッチング素子２１７ｂ，２１７ｄ，２１７ｆ）が全てオフに制御されている状態での電流検出器２２０による電流検出値を、第１電流検出値としてサンプリングして記憶する処理を実施する。
【００４８】
各相の上アームが全てオンに制御され、各相の下アームが全てオフに制御されている状態とは、例えば、図５における時刻ｔ２の状態であり、制御部２１３は、時刻ｔ２において電流検出器２２０の出力から検出した電流値を、第１電流検出値として記憶する。なお、第１電流検出値の記憶値は、各相の上アームが全てオンに制御されているときの電流値が新たに検出される毎に更新されるものとする。
【００４９】
次いで、制御部２１３は、ステップＳ１０２に進み、各相の上アーム（スイッチング素子２１７ａ，２１７ｃ，２１７ｅ）が全てオフに制御され、各相の下アーム（スイッチング素子２１７ｂ，２１７ｄ，２１７ｆ）が全てオンに制御されている状態での電流検出器２２０による電流検出値を、第２電流検出値としてサンプリングして記憶する処理を実施する。
【００５０】
各相の上アームが全てオフに制御され、各相の下アームが全てオンに制御されている状態とは、例えば、図５における時刻ｔ３の状態であり、制御部２１３は、時刻ｔ３において電流検出器２２０の出力から検出した電流値を、第２電流検出値として記憶する。なお、第２電流検出値の記憶値は、各相の下アームが全てオンに制御されているときの電流値が新たに検出される毎に更新されるものとする。
【００５１】
制御部２１３は、上記のようにして第１電流検出値及び第２電流検出値をサンプリングすると、ステップＳ１０３に進み、第１電流検出値と第２電流検出値との偏差の絶対値が閾値以下であるか否かを検出する。
ここで、第１電流検出値と第２電流検出値との偏差の絶対値が閾値以下である場合、制御部２１３は、オフセット補正値の更新設定を行うためのステップＳ１０４以降に進む。
【００５２】
つまり、第１電流検出値と第２電流検出値との偏差の絶対値が閾値以下である場合は、インバータ２１２ａのスイッチング素子のショート故障などの回路異常がなく、第１電流検出値、第２電流検出値は電流検出器２２０のオフセット誤差（零点誤差）を示すと見込まれる。
そこで、制御部２１３は、第１電流検出値と第２電流検出値との偏差の絶対値が閾値以下であることを条件に、第１電流検出値、第２電流検出値に基づくオフセット補正値の設定処理を実施する。
【００５３】
ステップＳ１０４で制御部２１３は、第１電流検出値よりも第２電流検出値が小さいか否かを検出する。
そして、第１電流検出値よりも第２電流検出値が小さい場合（第１電流検出値＞第２電流検出値）、制御部２１３は、ステップＳ１０５に進み、電流検出器２２０が第２電流検出値に相当する出力を発生するときにオフセット補正値で補正した電流検出値が零になるように、電流検出値のオフセット補正値を設定する。
【００５４】
第１電流検出値及び第２電流検出値は、電流検出器２２０によって検出される電流が零になる条件で検出された値であり、例えば第２電流検出値がＸ（Ｘ＞０）である場合にオフセット補正値を−Ｘとすれば、オフセット補正値を加算された電流検出値は、実電流値が零のときに零になり、オフセット誤差分が補正されることになる。
また、第１電流検出値よりも第２電流検出値が小さくない場合（第１電流検出値≦第２電流検出値）、制御部２１３は、ステップＳ１０６に進み、電流検出器２２０が第１電流検出値に相当する出力を発生するときにオフセット補正値で補正した電流検出値が零になるように、電流検出値のオフセット補正値を設定する。
【００５５】
つまり、制御部２１３は、第１電流検出値と第２電流検出値とのうちの低い方を選択し、選択した電流検出値が電流検出器２２０におけるオフセット誤差を表すものとして、オフセット補正値を更新設定する。
第１電流検出値と第２電流検出値とのうちの低い方を選択する構成とすれば、オフセット補正値の変動を抑制し、安定した電流検出が行える。
【００５６】
但し、第１電流検出値と第２電流検出値とのうちの低い方に基づいてオフセット補正値を設定する構成に限定されない。
例えば、制御部２１３は、第１電流検出値と第２電流検出値との平均値に基づいてオフセット補正値を設定したり、オフセット補正値の設定に用いる電流検出値を第１電流検出値と第２電流検出値とのいずれか一方に予め固定したりすることができる。
更に、制御部２１３は、オフセット補正値（オフセット補正値の設定に用いる電流検出値）の前回値と今回値との加重平均演算を行い、加重平均値を最終的なオフセット補正値に設定することができる。
【００５７】
一方、スイッチング素子のショート故障などのインバータ２１２ａの回路異常により、第１電流検出値をサンプリングする条件と第２電流検出値をサンプリングする条件とのいずれか一方で電流検出器２２０に電流が流れた場合、第１電流検出値と第２電流検出値との偏差の絶対値が閾値よりも大きくなる。
そこで、制御部２１３は、第１電流検出値と第２電流検出値との偏差の絶対値が閾値よりも大きいこと、換言すれば、インバータ２１２ａの回路異常が発生していることを検知すると、ステップＳ１０７に進み、インバータ２１２ａの動作（インバータ２１２ａによる３相ブラシレスモータ１への電力供給）を、リレーのオフ制御やＰＷＭ出力の停止などによって停止させる。
【００５８】
これにより、各相への通電電流の制御が正常に行えない状態でインバータ２１２ａの動作が継続されることが抑制され、インバータ２１２ａなどの回路を保護し、また、３相ブラシレスモータ１引いては３相ブラシレスモータ１を動力源として用いるシステムが異常動作することを抑止できる。
【００５９】
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。
例えば、制御部２１３は、第１電流検出値及び第２電流検出値のサンプリング、及び、サンプリング値に基づくオフセット補正値の設定をＰＷＭ周期毎に毎回実施する必要はなく、ＰＷＭ周期の複数周期毎に１回実施したり、所定時間周期毎に実施したり、３相ブラシレスモータ１の起動時に実施したりすることができる。
【００６０】
また、制御部２１３は、第１電流検出値と第２電流検出値との偏差の絶対値が閾値以下である場合であっても、オフセット補正値が限界値を超えることになる更新をキャンセルしたり、更新後のオフセット補正値が限界値を超えるときにインバータ２１２ａの動作を停止させたりすることができる。
【符号の説明】
【００６１】
１…３相ブラシレスモータ、２…モータ駆動装置、２１２…駆動回路、２１２ａ…インバータ、２１３…制御部、２１３ａ…Ａ／Ｄ変換器、２１３ｂ…マイクロコンピュータ、２２０…電流検出器、２２０ａ…シャント抵抗、２２０ｂ…検出回路
【図１】
0006482999.tif 000002
【図２】
0006482999.tif 000003
【図３】
0006482999.tif 000004
【図４】
0006482999.tif 000005
【図５】
0006482999.tif 000006