(57)【要約】【課題】ＣＰＵの処理負荷を増大させることなく、誘起電圧のゼロクロス点に基づく通電タイミングを取得できるモータ制御装置を提供する。【解決手段】マイコン２は、モータ１４の固定子巻線１５の端子電圧の変化に基づき誘起電圧のゼロクロス点を推定して固定子巻線１５への通電タイミングを制御し、ＰＷＭ指令値を出力する。具体的には、ＰＷＭ周期の開始時点より所定時間が経過した後に第１検出タイミングを設定し、その後更に所定時間が経過した後に第２検出タイミングを設定する。第１，第２検出タイミングで夫々検出されたコンパレータ１６の出力電圧の一方がモータ１４の中性点電圧を下回り、且つ他方が中性点電圧を上回ることで検出条件を満たすと、両検出タイミングの中間をゼロクロス点と推定し、次の検出周期における第１，第２検出タイミングを推定したゼロクロス点に基づいて決定する。前記検出条件を満たさなければ、次のＰＷＭ周期における第１，第２検出タイミング間の時間がより長くなるよう設定する。【選択図】図１
2014212593.tif 000002
【特許請求の範囲】
【請求項１】
ブラシレスＤＣモータ（１４）を位置センサレス方式によりＰＷＭ制御するモータ制御装置において、
ＰＷＭ指令値に基づいてＰＷＭ信号を生成出力するＰＷＭ信号出力手段（２）と、
ＣＰＵを有して構成され、ブラシレスＤＣモータの固定子巻線（１５）の端子電圧の変化に基づいて、誘起電圧のゼロクロス点を推定することで前記固定子巻線への通電タイミングを制御し、前記ＰＷＭ指令値を出力する制御回路（２）とを備え、
前記制御回路は、ＰＷＭ周期の開始時点より所定時間が経過した後に、非通電相となる固定子巻線の端子電圧について第１検出タイミングを設定し、その後更に所定時間が経過した後に前記端子電圧の第２検出タイミングを設定し、
前記第１，第２検出タイミングにおいてそれぞれ検出された端子電圧の一方が前記モータの中性点電圧を下回り、且つ前記端子電圧の他方が前記中性点電圧を上回ることで検出条件を満たすと、前記第１，第２検出タイミングの中間を前記ゼロクロス点と推定して、次の検出周期における第１，第２検出タイミングを、前記推定したゼロクロス点に基づいて決定し、
前記検出条件を満たさなければ、次の検出周期における第１，第２検出タイミング間の時間がより長くなるように設定することを特徴とするモータ制御装置。
【請求項２】
前記制御回路は、前記ゼロクロス点の推定を開始すると、次の検出周期における第１，第２検出タイミングの間隔を狭めるように調整することを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記制御回路は、前記検出条件を満たさず連続して推定失敗と判定した回数が所定の閾値以上になると前記ＰＷＭ制御を停止して、前記ブラシレスＤＣモータを空転させた状態において前記ゼロクロス点の推定を行うことを特徴とする請求項１又は２記載のモータ制御装置。
【請求項４】
前記制御回路は、前記検出条件を満たさず前記ゼロクロス点を推定できない時間が所定の閾値以上になると前記ＰＷＭ制御を停止して、前記ブラシレスＤＣモータを空転させた状態において前記ゼロクロス点の推定を行うことを特徴とする請求項１又は２記載のモータ制御装置。
【請求項５】
前記モータに通電される電流を検出する電流検出手段（１９，２０）を備え、
前記制御回路は、前記モータの起動を強制転流によって開始し、
前記電流検出手段により検出される電流が所定の閾値を超えると前記ゼロクロス点の推定を開始して、推定したゼロクロス点に基づき前記固定子巻線への通電タイミングを制御
することを特徴とする請求項１から４の何れか一項に記載のモータ制御装置。
【請求項６】
前記制御回路は、推定したゼロクロス点に基づき前記モータの回転数を計測し、前記回転数が前記目標値に収束するように前記ＰＷＭ指令値を調整することを特徴とする請求項１から５の何れか一項に記載のモータ制御装置。
【請求項７】
前記制御回路は、前記モータの回転数の変動が所定範囲内であれば、その状態におけるＰＷＭ指令値の変化度合いに応じて前記固定子巻線への通電時間を変化させ、前記ＰＷＭ指令値を最適化することを特徴とする請求項１から６の何れか一項に記載のモータ制御装置。
【請求項８】
前記制御回路は、前記固定子巻線への通電時間を変化させても、前記モータの回転数の変動が所定範囲内であれば、前記通電時間の変化量をより大きくすることを特徴とする請求項７記載のモータ制御装置。
【請求項９】
前記制御回路は、前記第１，第２検出タイミング間の時間をより長くすると、それに伴い前記固定子巻線への通電時間を短くすることを特徴とする請求項１から８の何れか一項に記載のモータ制御装置。
【請求項１０】
前記制御回路は、前記通電時間が下限値に達しても前記検出条件を満たさなければ、前記モータの回転数を低下させることを特徴とする請求項９記載のモータ制御装置。
【請求項１１】
前記制御回路は、前記通電時間が下限値に達しても前記検出条件を満たさなければ、前記モータのＰＷＭ制御を停止することを特徴とする請求項９記載のモータ制御装置。
【請求項１２】
前記モータに通電される電流を検出する電流検出手段（１９，２０）を備え、
前記制御回路は、前記電流検出手段により前記電流を周期的に検出し、検出した電流に基づいて前記ＰＷＭ指令値を制限することを特徴とする請求項１から１１の何れか一項に記載のモータ制御装置。
【請求項１３】
前記モータの駆動電圧を検出する電圧検出手段（２１，２２）を備え、
前記制御回路は、前記電圧検出手段により前記駆動電圧を周期的に検出し、検出した駆動電圧に基づいて前記ＰＷＭ指令値を制限することを特徴とする請求項１から１２の何れか一項に記載のモータ制御装置。
【請求項１４】
前記ＰＷＭ信号に基づいて、前記固定子巻線に通電を行う駆動回路（３）の温度を検出する温度検出手段（１８）を備え、
前記制御回路は、前記温度検出手段により前記温度を周期的に検出し、検出した温度に基づいて前記ＰＷＭ指令値を制限することを特徴とする請求項１から１３の何れか一項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラシレスＤＣモータを位置センサレス方式によりＰＷＭ制御するモータ制御装置に関する。
【背景技術】
【０００２】
ブラシレスＤＣモータの駆動方式として、モータの固定子巻線に発生する誘起電圧のゼロクロス点を検出し、そのゼロクロス点を基準として順次通電相を切り替える、所謂位置センサレス方式がある。このとき、モータをＰＷＭ制御すると、誘起電圧にはＰＷＭ信号のパルスがノイズとして重畳されるため、ゼロクロス点を正確に把握するには、そのノイズの影響を如何にして排除するかが問題となる。
【０００３】
例えば特許文献１には、モータの回転数に応じた波形データを用いて誘起電圧が中性点電圧（ゼロクロス点）に達するタイミングを推定する技術が開示されている。その他、ノイズが発生するタイミングでのゼロクロス点検出を諦めたり、フィルタ処理によりノイズを除去する等の技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−９６７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のような従来技術では、フィルタ処理による応答遅れが発生するため、高速な応答性が要求されるシステムには適さない。また、各相の通電パターンを切り替えるのにＣＰＵに割り込みを発生させるため、モータを高速で回転させるにはＣＰＵに高い処理能力が必要となる。しかし、ゼロクロス点を検出するためのフィルタ処理に負荷が占有されると、ＣＰＵがその他の制御を行うことができなくなり、ＣＰＵを含む制御回路に多くの機能を統合させることが困難になる。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、ＣＰＵの処理負荷を増大させることなく、誘起電圧のゼロクロス点に基づく通電タイミングを取得できるモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載のモータ制御装置によれば、ＣＰＵを有してなる制御回路は、ブラシレスＤＣモータの固定子巻線の端子電圧に基づき誘起電圧のゼロクロス点を推定することで固定子巻線への通電タイミングを制御し、ＰＷＭ指令値を出力する。具体的には、制御回路は、ＰＷＭ周期の開始時点より所定時間が経過した後に非通電相となる固定子巻線の端子電圧について第１検出タイミングを設定し、その後更に所定時間が経過した後に端子電圧の第２検出タイミングを設定する。
【０００８】
そして、第１，第２検出タイミングにおいてそれぞれ検出された端子電圧の一方がモータの中性点電圧を下回り、且つ端子電圧の他方が中性点電圧を上回ることで検出条件を満たすと第１，第２検出タイミングの中間をゼロクロス点と推定し、次の検出周期における第１，第２検出タイミングを、推定したゼロクロス点に基づいて決定する。一方、前記検出条件を満たさなければ、次のＰＷＭ周期における第１，第２検出タイミング間の時間がより長くなるように設定する。
【０００９】
すなわち、第１，第２検出タイミングの間を、ゼロクロス点を捕捉するためのウインドウとすると、検出条件を満たした場合、ゼロクロス点はウインドウ内にあると考えられる。したがって、ゼロクロス点を直接検出せずとも、ウインドウの時間幅の中間をゼロクロス点として妥当に推定できる。一方、検出条件を満たさなければ、ゼロクロス点はウインドウ外にあると考えられるので、次の検出周期に用いるウインドウの時間幅をより長くして、ゼロクロス点をウインドウ内で捕捉できるようにする。
【００１０】
これにより制御回路を構成するＣＰＵの制御プログラム（ソフトウェア）は、フィルタ処理を行わずとも誘起電圧のゼロクロス点に基づく通電タイミングを設定できるので、ＣＰＵの処理負荷が従来よりも軽減され、モータ制御以外の機能についても並列して実行が可能になる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態であり、モータ駆動制御装置の構成を示す機能ブロック図
【図２】制御の概要を、モータの３相誘起電圧波形について示す図
【図３】制御内容を示すフローチャート
【図４】（ａ），（ｂ）は、図３のステップＳ２，Ｓ４の処理内容を示すフローチャート、（ｃ）は各通電パターンに対応する検出（１）及び（２）位相を示す図
【図５】フリーラン判定の処理内容を示すフローチャート
【図６】通電パターンの切り替えを説明する図
【図７】マイコンによる通電パターン切り替え制御を概念的に説明する図
【図８】モータの起動シーケンスを示す図
【図９】マイコンがゼロクロス点を直接検出することを想定したもので、（ａ）はモータが一定速度で回転している場合、（ｂ）はモータが加速している場合を示す図
【図１０】モータが減速している場合を示す図９相当図
【図１１】本実施形態の場合の図９相当図
【図１２】図１０相当図
【図１３】第２実施形態であり、通電時間の学習制御を示すフローチャート
【図１４】横軸に実回転数、縦軸に通電時間をとり、学習制御の内容を説明する図
【発明を実施するための形態】
【００１２】
（第１実施形態）
図１に示すように、例えば車載用のモータ駆動制御装置１は、マイクロコンピュータ（マイコン，制御回路）２とインバータ回路３とを中心に構成されている。モータ駆動制御装置１には、車両のイグニッションスイッチ（ＩＧ）を介して駆動用電源が供給される。その駆動用電源は、コンデンサ４ａ及び４ｂとコイル５とからなるπ型フィルタ６を介してインバータ回路３（駆動回路）に供給されている。
【００１３】
また、駆動用電源は、ダイオード７を介して５Ｖ電源回路８に供給されている。５Ｖ電源回路８は、駆動用電源電圧を降圧して５Ｖの制御用電源を生成すると、マイコン２の電源端子に供給する。マイコン２の電源端子とグランドとの間には、バイパスコンデンサ９が接続されている。入力回路１０には、図示しない上位の制御装置より、モータの回転数指令が低速のＰＷＭ信号で入力される。入力回路１０は、入力されたＰＷＭ指令値（ＰＷＭデューティ）に応じたより高速のＰＷＭ信号を生成し、マイコン２の入力ポートに出力する。
【００１４】
インバータ回路３は、３つの素子モジュール１１Ｕ，１１Ｖ，１１Ｗより構成され、各素子モジュール１１は、直列接続された２つのＮチャネルＭＯＳＦＥＴ（スイッチング素子）１２及び１３を備えている。これらのＦＥＴ１２及び１３の共通接続点がインバータ回路３の各相出力端子となり、例えば３相ブラシレスＤＣモータであるモータ１４の各相固定子巻線１５Ｕ，１５Ｖ，１５Ｗに接続されている。マイコン２（ＰＷＭ信号出力手段）は、内蔵されるＣＰＵが制御プログラム（ソフトウェア）に従い動作することで、インバータ回路３を構成する各ＮチャネルＭＯＳＦＥＴ１２及び１３のゲートにＰＷＭ信号を出力してモータ１４を駆動制御する。
【００１５】
また、素子モジュール１１は、ＦＥＴ１２及び１３の共通接続点の電位を、モータ１４の中性点電位（各相電圧の和）と比較するコンパレータ１６（図１では、Ｕ相のみ図示）を備えている。コンパレータ１６は、マイコン２がモータ１４の誘起電圧のゼロクロス点を推定するために使用される。また、各素子モジュール１１が備えるコンパレータ１６の出力信号は、マイコン２の入力ポートにそれぞれ入力されている。
【００１６】
５Ｖ電源回路８の出力端子とグランドとの間には、抵抗素子１７及びサーミスタ１８の直列回路が接続されている。サーミスタ１８（図１では、Ｕ相のみ図示）は、各素子モジュール１１の近傍に配置され、ＮチャネルＭＯＳＦＥＴ１２及び１３の温度を検出するために使用される。抵抗素子１７及びサーミスタ１８（温度検出手段）の共通接続点は、マイコン２のＡ／Ｄ変換入力ポートに接続されている。
【００１７】
シャント抵抗１９は、グランド線において、コンデンサ４ａ，４ｂの一端が接続されている接続点の間に挿入されている。そして、シャント抵抗１９（電流検出手段）の端子電圧は、アンプ２０（電流検出手段）により増幅されると、マイコン２のＡ／Ｄ変換入力ポートに入力される。また、電源端子ＩＧとグランドとの間には、抵抗素子２１及び２２の直列回路（電圧検出手段）が接続されており、それらの共通接続点は、マイコン２のＡ／Ｄ変換入力ポートに接続されている。
【００１８】
本実施形態では、マイコン２は、入力ポートに与えられるコンパレータ１６（Ｕ，Ｖ，Ｗ）の出力信号を参照することで、モータ１４が回転している際に固定子巻線１５Ｕ，１５Ｖ，１５Ｗに発生する誘起電圧のゼロクロス点（中性点電圧レベルを跨ぐ点）を推定する。以下、その原理について説明する。
【００１９】
ＰＷＭ制御に伴うノイズが含まれている各相電圧を、コンパレータが中性点電圧と比較して出力する信号をマイコンの入力ポートに直接与え、マイコンのＣＰＵが、フィルタ処理を行わずにゼロクロス点を直接検出することを想定する。想定した従来技術では、図９に示すように、入力ポートのレベルをポーリングするための期間をある程度の幅を持たせて設定しておき、その期間内（以下、当該期間の幅を「検出ウインドウ」と称す）に連続してポーリングを行う。そして、コンパレータの出力信号レベルがハイからロー，又はローからハイに切り替わったタイミングをゼロクロス点として検出する。尚、このようなゼロクロス点の検出は、非通電相について行う。
【００２０】
モータを１２０度通電により駆動制御すると、ゼロクロス点は３相について電気角６０度ごとに発生する。そこで、図９（ａ）に示すように、モータが一定速度で回転している場合には、前回のゼロクロス点検出タイミングから電気角３０度相当の期間が経過すると通電パターンを切り替え、同タイミングから電気角６０度相当の期間が経過した時点が次の検出ウインドウ内にあれば、そこでゼロクロス点を検出できる。つまり、検出ウインドウの始点を、電気角６０度相当期間よりも手前に設定しておき、ゼロクロス点の検出を始点付近で行うようにし、検出ウインドウの終点は、ゼロクロス点検出が不能となる時間まで拡張しておく。
【００２１】
これに対して、図９（ｂ）に示すように、モータが加速している場合には、次にゼロクロス点が到来するタイミングが早まるため、検出ウインドウの始点よりも手前になると検出できなくなる。このケースでは「検出ミス」と判定すると、検出ウインドウの始点をゼロクロス点として、そこから電気角３０度経過で通電パターンを切り替え、電気角６０度相当経過で次の検出ウインドウを設定する。尚、「検出ミス」と判定するタイミングは、モータが加速状態にあることが把握できれば、検出ウインドウの中間点までに検出できなかった時点で判定すれば良い。結果として、次回に検出されるゼロクロス点が検出ウインドウの始点側に偏るため、加速に対する追従性が悪くなってしまう。
【００２２】
このように検出ウインドウを設定した結果、図１０に示すようにモータが減速する際には、ゼロクロス点が検出ウインドウの始点側で検出されることになるので、減速に対する追従性は良好になる。また、減速時に検出ウインドウ内でゼロクロス点が検出できなかった場合には、センサレス駆動制御が失敗したと判断されてモータの起動シーケンスを再度実行することになる。
【００２３】
上記の考察を踏まえて、本実施形態では図１１（ａ）に示すように、検出ウインドウをより狭く設定し、検出ウインドウの始点と終点とでコンパレータ１６の出力信号のレベルを検出する。そして、一方のレベルが中性点電圧を超えており、他方のレベルが中性点電圧を下回っていれば、ゼロクロス点は検出ウインドウ内にあると推定できる。その場合は、検出ウインドウの中間点にゼロクロス点があると推定し、前回の通電パターンの切替えタイミングから６０度経過後に次の通電パターンに切り替えを行う。この場合、検出ウインドウの設定は、前回のゼロクロス点推定タイミングから６０度経過する時点の前後に始点，終点を設定して行う。
【００２４】
そして、図１１（ｂ）に示すように、モータ１４が加速している場合に検出ウインドウ内にゼロクロス点が無かったと判定すると（この場合、始点の手前にある）、検出ウインドウの始点をゼロクロス点として、そこを基準に（３０−α）度経過後に次の通電パターン切替えを行う。また、次回の検出ウインドウの設定を、始点をα度手前に、終点をα度後に設定することで広げ、検出ウインドウ内でゼロクロス点を捕捉できるようにする。これにより加速時の追従性が良好になる。
【００２５】
また、図１２に示す減速の場合は、検出ウインドウ内にゼロクロス点が無かったと判定すると（この場合、終点の後にある）、検出ウインドウの終点をゼロクロス点として、そこを基準に（３０＋α）度経過後に次の通電パターン切替えを行う。また、次回の検出ウインドウの設定を、加速時と同様に始点，終点の双方をα度拡げるようにする。この場合も減速時の追従性が良好になる。
【００２６】
図２において、太い破線を中心として細い破線で囲んで示しているのは、前回の検出周期における検出ウインドウの位置である。それに対して、右方向矢印の先にある検出ウインドウは、前回にゼロクロス点が検出できなかったとした場合に、通電パターンの切替えタイミングを変更し、且つ検出幅を拡げた今回の検出ウインドウである。
【００２７】
次に、以上の処理を実行するための制御についてより具体的に説明する。図３において、マイコン２に対しては、ＰＷＭ信号のオンタイミングから、ＦＥＴ１２及び１３の通電，非通電の切り替わりに同期して発生するノイズを避けるため所定時間が経過した後に割込みを発生させる。すると先ず、その時点の時刻がゼロクロス検出開始時刻（検出ウインドウの始点）を跨いだか否かを判定し（Ｓ１）、跨いだ場合は（ＹＥＳ）、コンパレータ１６の出力信号レベルを読み込む（Ｓ２，第１検出タイミング）。続くステップＳ３では、その時点の時刻がゼロクロス検出終了時刻（検出ウインドウの終点）を跨いだか否かを判定し（Ｓ３）、跨いだ場合は（ＹＥＳ）、再度コンパレータ１６の出力信号レベルを読み込む（Ｓ４，第２検出タイミング）。尚、ステップＳ２，Ｓ４の処理の詳細については後述する。
【００２８】
ステップＳ４の実行結果により、ゼロクロス点の検出時刻であれば（Ｓ４ａ：ＹＥＳ）２つの検出時刻間隔よりモータ１４の回転数を計測し（Ｓ５）、目標回転数を算出し（Ｓ６）、両者でＰＩ制御することでＰＷＭデューティを算出する（Ｓ７）。これにより、モータ１４の回転数が目標回転数に収束するようにＰＷＭデューティが調整される。それから、アンプ２０の出力電圧をＡ／Ｄ変換して読み込み電流制限率を算出し（Ｓ８）、サーミスタ１８の端子電圧（モジュール１１の温度）を参照して温度制限率を算出する（Ｓ９）。
【００２９】
更に、マイコン２は、抵抗素子２１及び２１により分圧された駆動電源電圧をＡ／Ｄ変換して読み込むと、電圧補正率を算出する（Ｓ１０）。そして、ステップＳ８〜Ｓ１０で算出した各補正率によりＳ７で求めたＰＷＭデューティを補正し、次回のＰＷＭ割り込み発生時におけるモータ１４の回転数を予測する（Ｓ１１）。
【００３０】
次に、ステップＳ４ａと同様の判断を行い（Ｓ１１ａ）、ゼロクロス点検出時刻であれば（ＹＥＳ）次回にゼロクロス点が到来すると予測される時刻を算出する（Ｓ１２）。それから、前記時刻に基づいて検出ウインドウの始点，終点タイミング（時刻）を算出し（Ｓ１３）、前回のゼロクロス点を起点として次の通電切り替えタイミングを算出する（Ｓ１４）。そして、次回に通電パターンを切り替えるため発生させる割り込みをセットする（Ｓ１５）。また、ステップＳ１１ａにおいて、ゼロクロス点検出時刻でなければ（ＮＯ）、ＰＷＭ周期を計時する割り込み発生用のタイマを設定する（Ｓ１６）。
【００３１】
図４（ａ）に示すように、ステップＳ２では、マイコン２はコンパレータ１６の出力電圧を読み込んで取得すると（Ｓ２１）、その電圧が検出（１）位相か否かを判断する（Ｓ２２）。ここで、「検出（１）位相」及び後述する「検出（２）位相」は、図４（ｃ）に示すように各通電パターンに応じて決まるＵ，Ｖ，Ｗの何れか一相のレベルが、Ｈ，Ｌに遷移する場合の遷移前，遷移後のレベルに対応する。ここで検出（１）位相であれば（ＹＥＳ）処理を終了し、検出（１）位相でなければ（ＮＯ）現在時刻，すなわち、ステップＳ２の実行時刻をゼロクロス点の検出時刻とする（Ｓ２３）。そして、進角させる通電角度をインクリメントすると（Ｓ２４）、ゼロクロス点の検出を「失敗」とし（Ｓ２５）、後述するフリーラン判定を行う（Ｓ２６）。
【００３２】
図４（ｂ）に示すように、ステップＳ４では、先ずその時点がゼロクロス点の検出中であるか否かを判断する（Ｓ３１）。ここで「検出中」とは、通電パターンを切り替えた時点から設定される。「検出中」であれば（ＹＥＳ）、コンパレータ１６の出力電圧を読み込んで取得し（Ｓ３２）、その電圧が検出（２）位相か否かを判断する（Ｓ３３）。検出（２）位相であれば（ＹＥＳ）、ステップＳ２，Ｓ４の間にゼロクロス点を跨いだことになるので（検出条件を満たす）、ゼロクロス点の推定時刻を、ステップＳ１２で算出した期待時刻とする（Ｓ３８）。この場合は、ゼロクロス点の検出（推定）を「成功」として（Ｓ３９）、ステップＳ３７（Ｓ２６と同じフリーラン判定）に移行する。尚、本実施形態では、ゼロクロス点についての「検出」とは「推定」を意味する。
【００３３】
また、ステップＳ３３において、コンパレータ１６の出力電圧が検出（２）位相でなければ（ＮＯ）、現在時刻（ステップＳ４の実行時刻）をゼロクロス点の検出時刻とする（Ｓ３４）。それから、進角させる通電角度をデクリメントして（Ｓ３５）ゼロクロス点の検出を「失敗」とし（Ｓ３６）、ステップＳ３７に移行する。
【００３４】
図５に示すフリーラン判定では、先ずゼロクロス点の検出が「失敗」であったか否かを判断する（Ｓ４１）。「成功」であれば（ＮＯ）、検出失敗の回数が１回以上か否かを判断して（Ｓ４６）、１回も失敗していなければ（ＮＯ）処理を終了する。ステップＳ４１においてゼロクロス点の検出が「失敗」であれば（ＹＥＳ）、検出失敗回数をカウントするカウンタをインクリメントしてから（Ｓ４２）、検出失敗回数が所定の閾値、例えば１２回に達したか否かを判断する（Ｓ４３）。尚、本説明では検出失敗の回数を用いているが、検出失敗回数の代わりにゼロクロス点が検出できない時間を計測し、前記時間が所定の閾値以上となったか否かを判断しても良い。
【００３５】
ステップＳ４３において、検出失敗回数が１１回以下であれば（ＮＯ）フリーラン判定処理を終了するが、１２回以上であれば（ＹＥＳ）モータ１４の駆動モードをフリーラン状態にし（Ｓ４４）、モータ１４の実回転数を０ｒｐｍに設定して（Ｓ４５）処理を終了する。このとき、インバータ回路３による通電は全相ともオフにして、通電パターン切り替えのための割り込みの発生は禁止する。
【００３６】
つまり、ステップＳ２，Ｓ４の間にゼロクロス点がなかった場合は、検出ウインドウの始点又は終点をゼロクロス点と仮定してオープンループ制御でモータ１４を駆動することになる。その状態駆動を継続しても、ステップＳ２，Ｓ４の間でゼロクロス点が検出されなければ、モータ１４の回転位置と通電パターンとが不一致であるか、又は想定しているモータ１４の回転数が、実際の回転数と大きくかけ離れていることが想定される。そこで、ＰＷＭ制御を一旦停止してモータ１４をフリーラン（空転）状態にし、慣性で回転している状態でゼロクロス点が検出されることを期待する。
【００３７】
ステップＳ４６において「ＹＥＳ」と判断するのは、過去に１回以上検出を失敗した後に成功に転じたケースである。この場合は、モータ１４の実回転数が０ｒｐｍを超えているか否かを判断し（Ｓ４７）、０ｒｐｍでなければ（ＹＥＳ）処理を終了する。一方、モータ１４が停止しており実回転数が０ｒｐｍであれば（ＮＯ）、検出失敗回数のカウンタをゼロクリアして（Ｓ４８）、進角の設定値を初期値にしてから（Ｓ４９）、モータ１４の駆動モードを強制転流にして再起動する（Ｓ５０）。
【００３８】
ここで、図３に示すステップＳ１３においては、図４に示す処理で判定したゼロクロス点検出結果（成功／失敗）に応じて、検出ウインドウの時間幅を調整しても良い。検出が成功であれば次回の検出ウインドウをより狭くして推定精度を向上させ、検出が失敗であれば次回の検出ウインドウをより拡げて、次回に検出が成功する確率を高めるようにする。すなわち、図１１及び図１２に示した制御内容となる。また、検出ウインドウを拡げた場合には、それに伴い通電時間を短くして時間幅を確保する。
この時、ゼロクロス点の検出失敗が連続すると通電時間が次第に短くなるが、通電時間に下限値を設定しておき、通電時間が下限値に達しても検出条件を満たさなければ、モータ１４の回転数を低下させたり、ＰＷＭ制御を停止させるようにしても良い。
【００３９】
図６（ａ）に示すように、モータ１４が加速する期間では、電気角６０度ごとのゼロクロス点の検出間隔が次第に狭まる。そして、図６（ｂ）に示すように、通電パターンはゼロクロス点より電気角３０度のタイミングより進角相当時間手前で切り替えられる。通電パターンカウンタは、切り替えタイミング毎にインクリメントされ、そのカウント値は「０」〜「１１」を循環して繰り返す。
通電パターンは、図４（ｃ）に示す６つの通電パターンが切り替わるタイミングを含む６つの移行期間を加えて１２パターンとなる。すなわち、上記カウント値が「１，３，５，７，９，１１」を示す場合に、ステップＳ３１で「検出中」となる。尚、進角αについては、進角させない場合の通電切り替えタイミング間を「通電角」とすると、
α＝（通電角−６０度）／２
相当時間とする。
【００４０】
図７に示すように、マイコン２は、Ｕ，Ｖ，Ｗ各相に対応するコンパレータ１６の出力信号を参照し、ゼロクロス点を検出（推定）する。そして、ゼロクロス点検出時の時刻を平均化してモータ１４の実回転数を算出する。また、ゼロクロス点の検出結果は、成功した場合と、検出できずに検出ウインドウの始点（早い）又は終点（遅い）を検出時刻とした場合との３パターンがあるので、それらの結果についても、平均化や実回転数の算出に使用する。また、上記の検出結果は、通電パターン切り替えの際の進角補正にも、符号の決定などに適用される。
【００４１】
モータ１４の実回転数は、通電角の算出と、通電パターン切り替え時刻の算出にも用いられる。通電パターン切り替え時刻については、ゼロクロス点の検出時刻と進角補正値も考慮して次回の切り替えと、その次の切り替え時刻（次々回）とが算出される。尚、フリーラン判定において実回転数を０ｒｐｍとした状態から通電を開始する際には、次回時刻を現在時刻に置き換えて通電パターン切り替え時刻を算出する。
【００４２】
図８に示すように、モータ１４を停止している状態から起動させる際には、先ず直流励磁によりロータの位置決めを行う。それから、通電を停止して電流がある程度低下するまで待機すると、強制転流により回転を開始させる。強制転流期間中には、通電パターンの切り替えタイミングから所定時間後にゼロクロス点があるものとして、すなわち回転初期に期待する回転数相当のタイミングで次の通電パターンに切り替える。そして、通電パターンの切り替えは割り込みを設定して行うが、その割り込み処理中に、次回の通電パターン切り替えのための割り込みを設定する。
【００４３】
強制転流の開始から所定時間が経過するか、又は所定回転数分だけ通電パターン切り替えを実行すると、ゼロクロス点の推定を開始する。若しくは、ゼロクロス点の推定も並行して行い、次回の通電パターン切り替え割り込みが発生する前にゼロクロス点が検出できれば、以降に推定を継続して行うようにしても良い。また、モータ１４の回転数が目標値に達した時点で推定を開始しても良い。その後は、回転数が目標値に収束するようにＰＷＭデューティをＰＩ制御などにより調整する。
【００４４】
更にまた、アンプ２０により検出される電流の最終目標値（閾値，例えば３Ａ）を設定しておく。そして、強制転流により回転数を上昇させる際に、電流の目標値を段階的に上昇させて、検出される電流が各目標値に収束するようにＰＷＭデューティを例えばＰＩ制御により補正する。検出される電流が最終目標値に達した時点でゼロクロス点の推定を開始しても良い。これにより、起動時の通電電流が過大になることを防止する。
【００４５】
以上のように本実施形態によれば、マイコン２は、モータ１４の非通電相となる固定子巻線１５の端子電圧の変化に基づき誘起電圧のゼロクロス点を推定して固定子巻線１５への通電タイミングを制御し、ＰＷＭ指令値を出力する。具体的には、ＰＷＭ周期の開始時点より所定時間が経過した後に第１検出タイミング（Ｓ２）を設定し、その後更に所定時間が経過した後に第２検出タイミング（Ｓ４）を設定する。
【００４６】
そして、第１，第２検出タイミングでそれぞれ検出されたコンパレータ１６の出力電圧の一方がモータ１４の中性点電圧を下回り、且つ他方が中性点電圧を上回ることで検出条件を満たすと、両検出タイミングの中間をゼロクロス点と推定し、或いは期待通りのゼロクロス点であったと仮定し、次の検出周期における第１，第２検出タイミングを、推定したゼロクロス点に基づいて決定する。一方、前記検出条件を満たさなければ、次のＰＷＭ周期における第１，第２検出タイミング間の時間がより長くなるように設定する。
【００４７】
すなわち、検出条件を満たした場合、ゼロクロス点は検出ウインドウ内にあると考えられるので、ゼロクロス点を直接検出せずとも、検出ウインドウの時間幅の中間をゼロクロス点として妥当に推定できる。一方、検出条件を満たさなければ、ゼロクロス点はウインドウ外にあると考えられるので、次の検出周期に用いるウインドウの時間幅をより長くして、ゼロクロス点をウインドウ内で捕捉できるようにする。
【００４８】
したがって、マイコン２は、フィルタ処理を行わずとも誘起電圧のゼロクロス点に基づく通電タイミングを設定できるので、ＣＰＵの制御プログラムの処理負荷が従来よりも軽減され、モータ制御以外の機能についても並列して実行が可能になる。また、ゼロクロス点の推定が成功した場合には、次の検出周期における検出ウインドウの時間幅を狭めるように調整するので、ゼロクロス点の推定精度を向上させることができる。
【００４９】
また、マイコン２は、検出条件を満たさず連続してゼロクロス点の推定失敗と判定した回数が所定の閾値以上になるとＰＷＭ制御を停止し、モータ１４をフリーラン状態にしてゼロクロス点の推定を行う。したがって、モータ１４の回転位置と通電パターンとが不一致であるか、又は想定しているモータ１４の回転数が実際の回転数と大きくかけ離れているような場合でも、モータ１４が慣性で回転している状態でゼロクロス点が検出されることを期待できる。
【００５０】
また、マイコン２は、モータ１４の起動を強制転流によって開始し、アンプ２０を介して検出される電流が所定の閾値を超えるとゼロクロス点の推定を開始して、推定したゼロクロス点に基づき固定子巻線１５への通電タイミングを制御するので、強制転流からセンサレス制御にスムーズに移行できる。また、マイコン２は、推定したゼロクロス点に基づきモータ１４の回転数を計測し、その回転数が目標値に達すると、そのまま目標値に収束するようにＰＷＭデューティを調整するので、デューティを最適化することができる。
【００５１】
さらに、マイコン２は、第１，第２検出タイミング間の時間をより長くすると、それに伴い固定子巻線１５への通電時間を短くして検出ウインドウの時間幅を拡げるようにする。そして、通電時間が下限値に達しても検出条件を満たさなければ、モータ１４の回転数を低下させたり、ＰＷＭ制御を停止させるので、ゼロクロス点が検出される確率をより高めたり、モータ１４を再起動するなどしてゼロクロス点の検出を再試行できる。
加えて、マイコン２は、モータ１４の回転が安定した場合にも、通電電流や駆動電圧、素子モジュール１１の温度を周期的に検出し、それらの検出結果に基づいて、ＰＷＭデューティを制限するので、過電流や過昇温の発生を防止できる。
【００５２】
（第２実施形態）
図１３に示すように、第２実施形態では、通電時間（通電角）を最適化するように学習制御を行う。すなわち、図７に示したように通電角を算出した際に、モータ１４の実回転数が安定しているか否かを判断する（Ｓ５１）。具体的には、実回転数の変化が所定範囲内となる状態が所定時間（例えば１秒程度）継続するか、又は通電パターンの切り替えを所定回数行う間継続するか、を判断する。モータ１４が加速中や減速中であれば実回転数は安定しないので「ＮＯ」と判断し、通電時間を、既に算出済みの時間より、回転数の変動に伴いゼロクロス点が変化したと推定される時間に相当する分を減じたものに設定する（Ｓ５２）。
【００５３】
一方、ステップＳ５１で実回転数が安定していると判断すると（ＹＥＳ）、その状態でデューティの変化度合いをステップＳ５３，Ｓ５５，Ｓ５７，Ｓ５９で判定する。デューティの変化について所定の閾値を定め、その符号が負側，正側となる変化が閾値以上であれば（Ｓ５３：ＹＥＳ，Ｓ５７：ＹＥＳ）、通電時間を電気角１度（電気角）拡げる（Ｓ５４，Ｓ５８）。
【００５４】
また、デューティの負側の変化が閾値の１／２以下であれば（Ｓ５５：ＹＥＳ）通電時間を０．５度狭め（Ｓ５６）、デューティの正側の変化が閾値の１／２以下であれば（Ｓ５９：ＹＥＳ）通電時間を０．５度拡げる（Ｓ６０）。このように制御することで、図１４に示すように通電角を±１度の範囲でオフセットさせ、デューティを最適化する。
【００５５】
すなわち、ステップＳ５６，Ｓ６０における処理では、最適化学習のため通電時間を敢えて変動させている。それに伴い、ステップＳ５３で「ＹＥＳ」と判断するケースでは、ステップＳ５６で変動させても回転数が引き続き安定していることから、ステップＳ５４で変動量を増やして最適化を加速させている。ステップＳ５８の処理についても逆極性の変動について同じことが言える。
【００５６】
以上のように第２実施形態によれば、マイコン２は、モータ１４の実回転数の変動が所定範囲内であれば、その状態におけるＰＷＭデューティの変化度合いに応じて固定子巻線１５への通電時間を変化させてデューティを最適化するので、モータ１４の駆動効率を向上させることができる。この場合、通電時間を変化させても、モータ１４の回転数の変動が所定範囲内に留まるようであれば、通電時間の変化量をより大きくする。したがって、デューティの最適化をより加速して最適化学習を短時間で完了できる。
【００５７】
本発明は上記した、又は図面に記載した実施形態に限定されるものではなく、以下のような変形又は拡張が可能である。
ステップＳ４３における検出失敗回数の閾値は１２回に限ることなく、適宜変更して良い。
第２実施形態において、ステップＳ５４，Ｓ５６，Ｓ５８，Ｓ６０で増減させる通電角値についても、適宜変更して良い。
スイッチング素子はＭＯＳＦＥＴに限ることなく、バイポーラトランジスタやＩＧＢＴなどでも良い。
車両に搭載されるモータを制御するものに限らず、ブラシレスＤＣモータを制御するものであれば適用が可能である。
【符号の説明】
【００５８】
図面中、２はマイクロコンピュータ（ＰＷＭ信号出力手段，制御回路）、３はインバータ回路（駆動回路）、１４はモータ（ブラシレスＤＣモータ）、１８はサーミスタ（温度検出手段）、１９はシャント抵抗（電流検出手段）、２０はアンプ（電流検出手段）、２１及び２２は抵抗素子（電圧検出手段）を示す。
【図１】
2014212593.tif 000003
【図２】
2014212593.tif 000004
【図３】
2014212593.tif 000005
【図４】
2014212593.tif 000006
【図５】
2014212593.tif 000007
【図６】
2014212593.tif 000008
【図７】
2014212593.tif 000009
【図８】
2014212593.tif 000010
【図９】
2014212593.tif 000011
【図１０】
2014212593.tif 000012
【図１１】
2014212593.tif 000013
【図１２】
2014212593.tif 000014
【図１３】
2014212593.tif 000015
【図１４】
2014212593.tif 000016