(57)【特許請求の範囲】
【請求項１】
モータの複数相のロータ回転位相を検出する回転位相検出手段と、
検出された回転位相に基づいて、所定の進角量を付加したモータ駆動制御信号を発生する制御信号発生手段と、
を有し、
前記制御信号発生手段は、
検出された回転位相の各相の変化時点でリセットしてそこからカウントを開始する第２カウンタと、
この第２カウンタのカウント値と、変化時点の間隔に対応した値から進角量だけ減算して得た基準値とを比較し、前記第２カウンタのカウント値が、前記基準値に至ったときに一致信号を出力する進角用コンパレータと、
進角用コンパレータの出力に応じ、前記第２カウンタのカウント値が前記基準値に至る前に発生された前記第２カウンタのリセット信号を通過させるゲートと、
このゲートの出力と進角用コンパレータの出力のオアをとるオア回路と、
を有し、
前記オア回路の出力により前記モータ駆動制御信号を発生することで、第２カウンタのカウント値が前記基準値に至ったときにモータ駆動制御信号を発生するとともに、第２カウンタのカウント値が前記基準値に至る前に第２カウンタがリセットされた場合には、第２カウンタのリセット信号によりモータ駆動制御信号を発生するモータ駆動制御回路。
【請求項２】
請求項１に記載の回路において、
前記制御信号発生手段は、
前記進角用コンパレータまたはオア回路の出力に基づいて、オーバーラップ量に応じた制御信号の変化時点を決定するモータ駆動制御回路。
【請求項３】
請求項２に記載の回路において、
前記制御信号発生手段は、
前記進角用コンパレータおよびオア回路の出力に基づきリセットされ、そこからカウントを開始する第３カウンタと、
この第３カウンタのカウント値とオーバーラップ量データに応じた所定値とを比較するオーバーラップ用コンパレータを有するモータ駆動制御回路。
【請求項４】
請求項１または２に記載の回路において、
前記制御信号発生回路は、
モータの１相の回転位相についてのカウント値から、第２カウンタに入力される変化時点の間隔に対応した値を得る第１カウンタを有し、この第１カウンタのカウント値から進角量データを減算することで、変化時点の間隔に対応した値から進角量だけ減算した値を得るモータ駆動制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
モータの制御信号における進角量またはオーバーラップ量を制御するモータ制御回路に関する。
【０００２】
【従来の技術】
従来より、ホールセンサによって、ロータ位置を検出し、ステータコイルへ供給するモータ駆動電流を制御するモータ制御回路が知られている。例えば、３相のブラシレスモータであれば、永久磁石が貼り付けられたロータの位置を３つのホールセンサで検出し、各相のホールセンサ出力に応じて３相のステータコイルへのモータ駆動電流を制御する。通常の場合、モータ駆動制御回路からの制御信号はインバータに供給され、インバータのスイッチングトランジスタのオンオフを制御信号に応じて制御することで、モータのステータコイルにロータ位置に対応した３相の交流電流を供給し、モータを駆動する。
【０００３】
ここで、このようなモータ駆動制御回路においても、デジタル制御が利用されるようになってきている。デジタル制御によれば、電源電圧の変動の影響が少なく、またマイコンなどから各種デジタル信号により容易にモータ駆動制御が行えるというメリットがある。
【０００４】
ここで、モータ制御においては、適切な回転を維持するために、インバータのスイッチングトランジスタのオンオフを制御する制御信号に所定の進角量を付加する。このような進角量は、モータ回転位相の検出信号に対し制御信号の変化時点に先行させる量である。検出信号の変化時点を検出した後先行させることはできないため、目的とする制御信号の立ち上がりを他の信号の状態から予測して立ち上がりを早めている。
【０００５】
【発明が解決しようとする課題】
ここで、このような予測は、基本的に回転数が変わらないことを前提としている。ところがモータ回転数は変動するものであり、場合によっては大きく変動する。
【０００６】
このため、上述のようにして、他の信号の変化時点から予測して進角量だけ早めて制御信号を立ち上げるつもりでも、その時点ではすでにその制御信号が立ち上がっている場合も発生する。
【０００７】
このような状態が発生すると、回路によっては制御信号を立ち上げることができなくなってしまい、安定したモータ回転が維持できない場合が発生するという問題があった。
【０００８】
本発明は、上記課題に鑑みなされたものであり、モータ回転が変動しても安定した制御信号の発生が行えるモータ駆動制御回路を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、モータの複数相のロータ回転位相を検出する回転位相検出手段と、検出された回転位相に基づいて、所定の進角量を付加したモータ駆動制御信号を発生する制御信号発生手段と、を有し、前記制御信号発生手段は、検出された回転位相の各相の変化時点でリセットしてそこからカウントを開始する第２カウンタと、この第２カウンタのカウント値と、変化時点の間隔に対応した値から進角量だけ減算して得た基準値とを比較し、前記第２カウンタのカウント値が、前記基準値に至ったときに一致信号を出力する進角用コンパレータと、進角用コンパレータの出力に応じ、前記第２カウンタのカウント値が前記基準値に至る前に発生された前記第２カウンタのリセット信号を通過させるゲートと、このゲートの出力と進角用コンパレータの出力のオアをとるオア回路と、を有し、前記オア回路の出力により前記モータ駆動制御信号を発生することで、第２カウンタのカウント値が前記基準値に至ったときにモータ駆動制御信号を発生するとともに、第２カウンタのカウント値が前記基準値に至る前に第２カウンタがリセットされた場合には、第２カウンタのリセット信号によりモータ駆動制御信号を発生することを特徴とする。
【００１０】
このように、リセット信号によっても制御信号が発生される。このため、モータ回転数が変動し、コンパレータの出力が得られる前にリセット信号が発生した場合にも、所定のモータ駆動制御信号が発生しないというような不具合の発生を防止することができる。
【００１２】
また、前記コンパレータまたはオア回路の出力に基づいて、オーバーラップ量に応じた制御信号の変化時点を決定することが好適である。これによって適切なオーバーラップ量を発生することができる。
【００１３】
【発明の実施の形態】
以下、本発明の実施形態について、図面に基づいて説明する。
【００１４】
図１は、実施形態に係る回路の全体構成を示す図である。また、図２に各信号の波形を示す。３つのホールセンサ（図示せず）では、３対のセンサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬが得られる。これらセンサ信号は、すべて１８０°の期間Ｈレベルで、他の１８０°の期間Ｌレベルの信号である。このような信号は、ほぼサインカーブであるホールセンサの出力をコンパレータによって、ＨレベルまたはＬレベルに変換して得られる。そして、センサ信号ＳＡＨとＳＡＬ、ＳＢＨとＳＢＬ、ＳＣＨとＳＣＬは、互いに逆相であり、Ａ，Ｂ，Ｃは３相の交流の各相を示しており、それぞれ位相が１２０°ずれている。
【００１５】
このセンサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬは、組合せ回路１０に供給される。この組合せ回路１０は、図３に示すように、６つのアンドゲート１０ａ〜１０ｆからなっている。そして、アンドゲート１０ａ〜１０ｆは、それぞれＳＡＨとＳＢＬ、ＳＢＨとＳＣＬ、ＳＣＨとＳＡＬ、ＳＡＬとＳＢＨ、ＳＢＬとＳＣＨ、ＳＣＬとＳＡＨとのアンドをとる。これによって、インバータのスイッチングトランジスタを制御するための６つの制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳが得られる。これらの制御信号は、スイッチ回路１２に供給される。
【００１６】
また、センサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬは、制御信号生成回路１４にも供給される。この制御信号生成回路１４は、センサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬの立ち上がりを検出し、その立ち上がりからカウンタにより所定数のカウントを行い、制御信号ＡＴＯ，ＢＴＯ，ＣＴＯ，ＡＢＯ，ＢＢＯ，ＣＢＯを形成する。このカウンタによるカウント値（Ｈレベルの期間）は、モータの回転数によって予め決定されている値にセットされる。
【００１７】
さらに、この制御信号生成回路１４は、形成される制御信号のＨレベルの期間の前に進角期間、後にオーバーラップ期間を付加し、これを制御信号として出力する。
【００１８】
なお、図２においては、組合せ回路１０において得られる制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳと、制御信号生成回路１４において得らる制御信号ＡＴＯ，ＢＴＯ，ＣＴＯ，ＡＢＯ，ＢＢＯ，ＣＢＯとは、便宜的に同一のものとして示してある。
【００１９】
また、センサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬは、３回検出回路１６にも供給される。この３回検出回路１６は、センサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬの立ち上がりを３回検出したときに、Ｈレベルを出力する。この３回検出回路１６の出力は、フリップフロップ１８のセット入力Ｓに供給される。このフリップフロップ１８は、セット入力ＳへのＨレベルの入力でＨレベルにセットされ、リセット入力ＲへのＨレベルの入力でＬレベルにリセットされる。フリップフロップ１８のリセット入力Ｒには、モータの出力判定信号としてＰＷＭ指令が入力されている。このＰＷＭ指令は出力トルク指令が０の時にＨレベルになる。従って、フリップフロップ１８は、３回検出回路１６によりセンサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬの立ち上がりが３回検出されたときに、Ｈレベルとなり、ＰＷＭ指令が０になったときにＬレベルになる。
【００２０】
なお、このＰＷＭ指令は、モータ駆動トルクに対応するＰＷＭ信号のデューティー比についての信号である。そして、このＰＷＭ信号によって、インバータのシンク側のスイッチングトランジスタがＰＷＭ制御されてモータ駆動電流が制御される。本実施形態では、ＰＷＭ指令が０であることで、停止状態と見なし、フリップフロップ１８をリセットする。また、電源投入時のパワーオンリセット信号によってフリップフロップ１８をリセットすることも好適である。
【００２１】
フリップフロップ１８の出力は、スイッチ回路１２にモード切替信号として供給されており、スイッチ回路１２は、モード切替信号がＬの場合に、組合せ回路１０からの制御信号を選択し、モード切替信号がＨの時に制御信号生成回路１４からの制御信号を選択する。
【００２２】
従って、モータの起動時において組合せ回路１０からの制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳが選択され、モータが回転し始め、センサ信号が変化し立ち上がりが検出され始めたときから制御信号生成回路１４の制御信号ＡＴＯ，ＢＴＯ，ＣＴＯ，ＡＢＯ，ＢＢＯ，ＣＢＯが選択されることになる。
【００２３】
スイッチ回路１２の出力は、インバータ２０に供給される。このインバータ２０は、図４に示すように、電源ラインに一端が接続されたソース側トランジスタＱＡＨ，ＱＢＨ、ＱＣＨと、これらソース側トランジスタの他端とグランドとの間に配置されたシンク側トランジスタＱＡＬ，ＱＢＬ，ＱＣＬの６つのスイッチングトランジスタからなっている。そして、上述の制御信号ＡＴ，ＢＴ，ＣＴ，ＡＢ，ＢＢ，ＣＢがそれぞれの制御端子に入力される。また、各ソース側トランジスタと、シンク側トランジスタとの接続点Ａ，Ｂ，Ｃが、他端が共通接続されたモータ２２の各相ステータコイルの端部に接続されている。
【００２４】
従って、インバータ２０のオンになっているスイッチングトランジスタを介しモータ２２の対応するコイルに電流が流れる。そして、シンク側トランジスタは、図におけるオン期間において、トルク指令に基づきＰＷＭ制御されるため、モータの出力トルクが制御される。
【００２５】
このように、本実施形態によれば、モード切替信号によって、スイッチ回路１２の組合せ回路１０からの制御信号を使用するか、または制御信号生成回路１４からの制御信号を使用するかを制御する。そして、スイッチ回路１２は、起動時において組合せ回路１０を選択し、起動後に制御信号生成回路１４を選択する。従って、モータ２２が回転していない起動時において、組合せ回路１０から出力される制御信号によってモータ２２を回転させることができる。これは、ホールセンサからの信号はそのときのロータの状態によって決定されているため、そのロータ位置に応じた制御信号を生成することで、モータ２２のロータを回転する磁界を生起できるからである。そして、一旦回転が始まった後は、制御信号生成回路１４において、ホールセンサのセンサ信号の立ち上がりに基づいて、内部のカウンタによりカウントを行い、制御信号を形成することができる。
【００２６】
なお、制御信号生成回路１４は、カウンタによるカウントに基づき、制御信号を生成するため、このカウント値の設定などによって、制御信号のＨレベル期間などを容易に変更することができる。そこで、この制御信号生成回路では、制御信号に所定の進角期間、オーバーラップ期間を付与して、モータ２２の適切な駆動を可能としている。
【００２７】
「第２実施形態」
上述の第１実施形態においては、センサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬの立ち上がりを３つ検出したときに制御信号生成回路１４からの制御信号に切り替えた。しかし、３回の立ち上がりでは、必ずしも正常回転が保証されない。例えば、モータ停止後逆転などしていると、起動後３回の立ち上がり検出の際にまだモータ２２が逆転している場合もある。この状態で、通常モードでセンサ信号の立ち上がりを基準とした制御信号でモータ２２を駆動した場合、そのまま逆転駆動してしまう場合も生じ得る。本実施形態では、逆転が生じたりすることを防止する。
【００２８】
第２実施形態の構成を図５に示す。組合せ回路１０の出力である制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳは、選択回路（ｓｅｌ）３０ａ〜３０ｆに供給される。また、制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳはフリップフロップ３２ａ〜３２ｆにも供給される。このフリップフロップ３２ａ〜３２ｆのクロック入力端には、オーバーラップ立ち上がり信号が入力されている。このオーバーラップ立ち上がり信号は、センサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬから作成された信号で、これら信号の位相の３０°毎に立ち上がる信号である。従って、このフリップフロップ３２ａ〜３２ｆの出力は、オーバーラップ立ち上がり信号の立ち上がりのタイミングにより、制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳの立ち上がりおよび立ち下がりが遅延された信号が得られる。
【００２９】
フリップフロップ３２ａ〜３２ｆの出力は、オア回路３４ａ〜３４ｆに入力される。このオア回路３４ａ〜３４ｆの他端には、制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳが入力されている。従って、このオア回路３４ａ〜３４ｆの出力には、立ち上がりが制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳで規定され、立ち下がりがフリップフロップ３２ａ〜３２ｆからの遅延した信号によって規定された信号が出力される。すなわち、オーバーラップ期間が付与された信号がオア回路３４ａ〜３４ｆから出力される。
【００３０】
オア回路３４ａ〜３４ｆの出力は、選択回路３０ａ〜３０ｆに入力される。この選択回路３０ａ〜３０ｆには、制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳも入力されており、これらの入力信号のうちのいずれかを３回検出回路１６の出力によって選択する。すなわち、選択回路３０ａ〜３０ｆからは、起動からセンサ信号の立ち上がり３回までは、制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳがそのまま出力され、その後は制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳにオーバーラップ期間が付加されたオア回路３４ａ〜３４ｆの出力が出力される。
【００３１】
選択回路３０ａ〜３０ｆの出力は、選択回路３６ａ〜３６ｆに入力される。この選択回路３６ａ〜３６ｆには、制御信号生成回路１４から出力される制御信号ＡＴＯ，ＢＴＯ，ＣＴＯ，ＡＢＯ，ＢＢＯ，ＣＢＯも供給されており、これらのいずれか一方を選択出力する。この選択回路３６ａ〜３６ｆには、フリップフロップ３８からのモード切替信号が供給されており、このモード切替信号によって選択回路３６ａ〜３６ｆの選択が制御される。
【００３２】
フリップフロップ３８はアンドゲート２４の出力信号でセットされ、ノアゲート２６の出力信号でリセットされる。ノアゲート２６には、ＰＷＭ信号が０の時にＬレベルになる出力判定信号（ＰＷＭ＝０）と、モータ回転数が１００ｒｐｍ以上の時にＨレベルになる１００ｒｐｍ信号が供給され、アンドゲート２４には出力判定信号と１００ｒｐｍ信号のＬレベルからＨレベルへの立ち上がりエッジの信号が供給されている。なお、１００ｒｐｍ信号のＬレベルからＨレベルへの立ち上がりエッジをエッジ抜き取り回路２８で抜き取り、この立ち上がりエッジの信号をアンドゲート２４に供給する。
【００３３】
アンドゲート２４は、出力判定信号がＨレベルの時に１００ｒｐｍ信号がＬからＨに立ち上がるとその立ち上がりエッジを出力する。ノアゲート２６は出力判定信号と１００ｒｐｍ信号の両方ともＬの時のみＨを出力する。従って、フリップフロップ３８は出力信号がＬレベルであって、かつ回転数が１００ｒｐｍ以下の時のみリセットされ、フリップフロップ３８の出力信号であるモード切替信号はＬレベルとなり、出力判定信号がＨレベルであって、かつ回転数１００ｒｐｍ以上に変化した時のみセットされ、モード切替信号はＨになる。出力判定信号がＬであっても回転数が１００ｒｐｍ以上の時には出力はＨレベルとなる。モード切替信号に、１００ｒｐｍ信号そのままを使用しないのは、回転数が１００ｒｐｍ近辺で頻繁にモードが切り替わらないようにヒステリシスを持たせるためである。
【００３４】
そして、フリップフロップ３８の出力であるモード切替信号がＬの時に起動モードになり選択回路３６ａ〜３６ｆは、選択回路３４ａ〜３４ｆの出力の出力を選択し、モード切替信号がＨの時に通常モードとなり、選択回路３６ａ〜３６ｆは、制御信号生成回路１４の出力であるＡＴＯ，ＢＴＯ，ＣＴＯ，ＡＢＯ，ＢＢＯ，ＣＢＯを選択する。
【００３５】
これによって、起動時のセンサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬの立ち上がり３回までは、制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳがそのまま出力され、その後１００ｒｐｍまでは、制御信号ＡＴＳ，ＢＴＳ，ＣＴＳ，ＡＢＳ，ＢＢＳ，ＣＢＳにオーバーラップ期間が付加された信号が出力され、その後通常モードになった場合に制御信号生成回路１４の出力であるＡＴＯ，ＢＴＯ，ＣＴＯ，ＡＢＯ，ＢＢＯ，ＣＢＯが出力される。
【００３６】
このように、１００ｒｐｍまで、ホールセンサの出力に応じて制御信号が作成されるため、ロータ位置に応じたモータ駆動電流が流れることになり、逆転などのおそれがない。さらに、このホールセンサからの信号によって制御されているときにおいても、オーバーラップ期間が付加されるため、騒音がなく適切な駆動が行える。
【００３７】
さらに、出力判定信号がＬ（ＰＷＭ＝０）であったときにおいても、モータ回転数が１００ｒｐｍ以下でなければモードが起動モードに移ることがない。このため、モードが起動モードのままになってしまうことを防止できる。
【００３８】
すなわち、１００ｒｐｍ信号がＨ（１００ｒｐｍ以上）になった場合に、通常モードに移行し、出力判定信号がＬ（ＰＷＭ＝０）となったときに起動モードに移行することにすると、回転数が１００ｒｐｍ以下になる前に出力判定信号がＬ（ＰＷＭ＝０）になり起動モードになると、図６に示すように、その後出力判定信号がＨになった時に、１００ｒｐｍ信号がＨのままなので１００ｒｐｍ信号は変化しておらず立ち上がりエッジがないので、そのまま起動モードのままになってしまう。そこで、制御信号生成回路１４からのデジタル処理に基づく通常モードでのモータ駆動制御が行えなくなってしまう。
【００３９】
本実施形態では、このような不具合の発生を防止することができる。すなわち、図７（Ａ）の通常動作時、図７（Ｂ）の１００ｒｐｍ以下でＰＷＭ＝０を検出した場合、図８（Ａ）の１００ｒｐｍ以下でＰＷＭ＝０を検出しなかった場合、図８（Ｂ）の１００ｒｐｍ以上でＰＷＭ＝０を検出した場合のいずれにおいても、適切なモード切替が行われ、図６に示すように、起動モードの固定されてしまうという不具合が生じることを防止することができる。
【００４０】
「回転数検出回路」
図９には、モータ回転数から進角量、オーバーラップ量を算出し、これを制御信号生成回路１４に供給する構成を示す。
【００４１】
ホールセンサによりロータの位置検出を行ったセンサ信号ＳＡＨ，ＳＡＬ，ＳＢＨ，ＳＢＬ，ＳＣＨ，ＳＣＬ（ＳＡ，ＳＡ，ＳＢと記載してある）のいずれか１つの信号（この場合には、センサ信号ＳＡＨまたはＳＡＬのいずれか）は、回転数検出部４０に入力される。この回転数検出部４０では、センサ信号ＡＨをカウントし回転数を検出する。そして、この回転数検出部４０により検出した回転数が進角ＲＯＭ４２およびオーバーラップＲＯＭ４４に供給される。これら進角ＲＯＭ４２およびオーバーラップＲＯＭ４４には、回転数に応じた進角量およびオーバーラップ量が予め記憶されている。そこで、この進角量データ、オーバーラップデータが進角ＲＯＭ４２およびオーバーラップＲＯＭ４４から出力され、これが制御信号生成回路１４に供給される。従って、制御信号生成回路１４は、供給される進角量データおよびオーバーラップ量データに応じて、ホールセンサからのセンサ信号の立ち上がりを基準としたカウントを制御して、制御信号ＡＴＯ，ＢＴＯ，ＣＴＯ，ＡＢＯ，ＢＢＯ，ＣＢＯ（ＡＯ，ＢＯ，ＣＯと記載してある）を生成出力する。
【００４２】
このように、回転数に対応した進角量、オーバーラップ量をＲＯＭに記憶しておくことで、計測した回転数に応じて進角量データおよびオーバーラップ量データを容易に算出することができる。
【００４３】
ここで、回転数検出部４０において、回転数を検出する手法として、ホールセンサのセンサ信号の立ち上がりエッジから次の立ち上がりエッジまでの１周期をクロックでカウントする方法があり、これがもっとも現実的な方法である。
【００４４】
このような回転数検出部４０の構成について、図１０に基づいて説明する。また、この場合の回転数とカウント値との関係を図１１に示す。本実施形態の場合、上述のように、１００ｒｐｍ以上になったことで、モードを切り替える。そこで、１００ｒｐｍを検出することが必要になる。この１００ｒｐｍは、１回転が６００ｍｓｅｃに対応する。本実施形態では、１０２．４μｓｅｃのクロックとセンサ信号（例えばＳＡＨ）を１４ビットカウンタ４０ａに入力し、１回転（１周期）をカウントする。ここで、１００ｒｐｍのカウント値は、５８６０であり、１３ビットのカウンタでもカウントは可能であるが、本実施形態では、１４ビットのカウンタである１４ビットカウンタ４０ａを利用してカウントを行う。そこで、１００ｒｐｍ以上検出回路４８では、１００ｒｐｍを１４ビットカウンタ４０ａのカウント値から判定する。
【００４５】
一方、進角量に関しては、１８００ｒｐｍ〜７０００ｒｐｍの範囲で、回転数に応じて変更する。これは、１回転が３３．３３ｍｓｅｃ〜８．５７ｍｓｅｃの間にある場合に進角量を変更することに対応する。一方、これらの範囲外では、一定とする。そこで、進角ＲＯＭ４２の入力はこの範囲内の回転数でよい。
【００４６】
この３３．３３ｍｓｅｃ〜５．５７ｍｓｅｃは、カウント値で３２６〜８４である。従って、カウント値２４２の範囲が分かればよく、８ビットで足りる。そこで、−ｎ加算器４０ｂにおいてｎ（例えば、７９）を減算する。これによって、８ビットで表される減算結果の５〜２４７の範囲内の値に応じて進角ＲＯＭ４２から対応する進角量データを出力する。
【００４７】
さらに、オーバーラップ量に関しては、１１２５ｒｐｍ〜１８００ｒｐｍの範囲で、回転数に応じて変更する。これは、１回転が５３．３３ｍｓｅｃ〜３３．３３ｍｓｅｃの間にある場合にオーバーラップ量を変更することに対応する。一方、これらの範囲外では、一定とする。そこで、オーバーラップＲＯＭ４４の入力はこの範囲内の回転数でよい。
【００４８】
この５３．３３ｍｓｅｃ〜３３．３３ｍｓｅｃは、カウント値で５１２〜３２６である。従って、カウント値１９５の範囲が分かればよく、８ビットで足りる。そこで、−ｍ加算器４０ｃにおいてｍ（例えば、２９６）を減算する。これによって、８ビットで表される減算結果の３０〜２２５の範囲内の値に応じてオーバーラップＲＯＭ４４から対応するオーバーラップ量を出力する。
【００４９】
このように、１４ビットカウンタ４０ａの出力を利用して１００ｒｐｍ、１１２５ｒｐｍ、１８００ｒｐｍ、７０００ｒｐｍを検出する。特に、進角ＲＯＭ４２およびオーバーラップＲＯＭ４４の入力は、８ビットでよく、ＲＯＭの容量もこの８ビットのアドレスに対応したものでよい。なお、進角量およびオーバーラップ量も８ビットで十分であり、進角ＲＯＭ４２、オーバーラップＲＯＭ４４の出力も８ビットである。
【００５０】
さらに、図１２に示すように進角用最小値検出回路（ＭＩＮ）４０ｄ、進角用最大値検出回路（ＭＡＸ）４０ｅ、オーバーラップ用最小値検出回路（ＭＩＮ）４０ｆ、オーバーラップ用最大値検出回路（ＭＡＸ）４０ｇを設け、これらの検出結果に基づいて、リミッタ４０ｈ、４０ｉを制御することが好適である。
【００５１】
すなわち、進角用最小値検出回路４０ｄがカウント値が８２以下を検出した場合にリミッタ４０ｈにより００を出力する。これによって、進角ＲＯＭ４２は、カウント値８２以下の場合にはアドレス００がアクセスされる。そこで、このアドレス００に固定の進角量を格納しておけばよい。一方、進角用最大値検出回路４０ｅがカウント値が３２６以上を検出した場合にリミッタ４０ｈによりＦＦを出力する。これによって、進角ＲＯＭ４２は、カウント値３２６以上の場合にはアドレスＦＦがアクセスされる。そこで、このアドレスＦＦに固定の進角量を格納しておけばよい。
【００５２】
さらに、オーバーラップ用最小値検出回路４０ｆがカウント値が３２６以下を検出した場合にリミッタ４０ｉにより００を出力する。これによって、オーバーラップＲＯＭ４４は、カウント値３２６以下の場合にはアドレス００がアクセスされる。そこで、このアドレス００に固定の進角量を格納しておけばよい。一方、オーバーラップ用最大値検出回路４０ｇがカウント値が５４１以上を検出した場合にリミッタ４０ｉによりＦＦを出力する。これによって、オーバーラップＲＯＭ４４は、カウント値５４１以上の場合にはアドレスＦＦがアクセスされる。そこで、このアドレスＦＦに固定のオーバーラップ量を格納しておけばよい。
【００５３】
図１３、１４に進角量およびオーバーラップ量の具体的値（理論値）を示す。
進角ＲＯＭ４２、オーバーラップＲＯＭ４４は、このグラフに対応する値が記憶される。なお、進角量は、７０００ｒｐｍ以上でも変化するが、本実施形態のモータの場合、７０００ｒｐｍ以上の回転数での運転はなく、７０００ｒｐｍ以上に対応する値は不要である。
【００５４】
「進角量の算出」
本実施形態では、ホールセンサのセンサ信号の立ち上がりから出力信号を得ている。一方、進角量は検出した立ち上がりの手前に付加する必要がある。
【００５５】
ここで、出力信号ＡＴの立ち上がりは、進角しなければセンサ入力信号ＳＢＨの立ち下がりで立ち上がるが、進角制御を行うと、進角量分だけ前で立ち上がる。このため、それより３０°前のセンサ検出出力信号の立ち上がりを基準として、（Ｔｒ／１２−Ｔｆ）だけ遅れたタイミングでＡＴを立ち上げればよい。ここで、Ｔｒ＝１周期、Ｔｆ＝進角量である。
【００５６】
図１５に示すように、センサのセンサ信号の１つを１／１２パルス作成回路６０にリセット信号として入力する。この１／１２パルス作成回路６０は、第１クロック（例えば周期６．４μｓｅｃのクロック）から、その１２周期毎に立ち上がる１／１２パルスを生成する。すなわち、第１クロックのパルス１２個毎に１つのパルス（１／１２パルス）が発生する。そして、この１／１２パルスは、第１カウンタ６２に入力される。第１カウンタ６２には、センサ信号の１つが入力されており、第１カウンタ６２はセンサ信号を、１／１２パルスをクロックとしてカウントする。従って、第１カウンタ６２のセンサ信号の１周期分のカウント結果はＴｒ／１２であり、この１周期分のカウント結果であるＴｒ／１２が引き算回路６４に供給される。この引き算回路６４には、進角量データＴｆが供給されている。そこで、引き算回路６４の出力には、（Ｔｒ／１２−Ｔｆ）が得られる。
【００５７】
一方、６つのセンサ信号の立ち上がりパルスは、オア回路６６に供給される。
従って、このオア回路６６からは３０°毎にパルスが生成される。この３０°おきのパルスは、第２カウンタ６８にリセットパルスとして供給される。第２カウンタ６８は、上述の第１クロックをカウントするため、３０°の期間にカウントアップしていく。
【００５８】
上述の引き算回路６４からの（Ｔｒ／１２−Ｔｆ）と、第２カウンタ６８からのカウント値は、コンパレータ７０に入力され比較される。コンパレータ７０は、両者が一致したときに立ち上がるパルス信号を出力する。すなわち、コンパレータ７０は、第２カウンタのカウント値と、回転位相の変化時点の間隔に対応した値（Ｔｒ／１２）から進角量（Ｔｆ）だけ減算した値（Ｔｒ／１２−Ｔｆ）と、を比較し、両者が一致した時にパルス信号を出力する。
【００５９】
第１クロックの２倍の周期のクロックである第２クロックは、第３カウンタ７２に入力され、ここでカウントされる。この第３カウンタ７２には、コンパレータ７０の出力がリセット信号として供給されている。そこで、この第３カウンタ７２は、進角量が設定されたある相の制御信号の立ち上がりからカウントを開始する。第３カウンタ７２の出力は、コンパレータ７４に入力され、ここでオーバーラップ量ＴＯと比較される。そこで、このコンパレータ７４の出力に、制御信号の立ち上がりからオーバーラップ量分の時間が経過した時点で立ち上がる信号（出力２）が得られる。
【００６０】
すなわち、図１６に示すように、１つのセンサ信号（ＡＨ）の立ち下がりから、Ｔｒ／１２（３０°）進んだ位置から進角量Ｔｆだけ前の位置（Ｔｒ／１２−Ｔｆ）をコンパレータ７０が検出し、１つのセンサ信号（ＡＨ）の立ち下がりから（Ｔｒ／１２−Ｔｆ）の期間経過したときにコンパレータ７０の出力により１つの相の制御信号を立ち上げることで進角量Ｔｆが設定された１つの相（ＡＢ）の制御信号の立ち上がりが得られる。また、そのＡＢの立ち上がりからオーバーラップ量ＴＯたった時点で、他の相の制御信号（ＢＢ）の立ち下がりを決定することでオーバーラップ量の設定が行える。
【００６１】
この状態を図１７に示す。このように、ＡＨの立ち下がりからＡＢの立ち上がりが決定され、このＡＢの立ち上がりからＢＢの立ち下がりが決定される。また、ＢＨの立ち下がりからＢＢの立ち上がり、ＣＢの立ち下がりが決定される。なお、図示のように、本実施形態では、各センサ信号は、その１周期が１８０°に対応しており、２周期が３６０°に対応する。
【００６２】
このようにして、進角量およびオーバーラップ量を考慮しした制御信号が作成される。
【００６３】
ここで、センサ信号は、モータの回転に基づいて発生されるものである。従って、第２カウンタ６８の出力と、引き算回路６４の出力が一致する前に次のセンサ信号立ち上がりが発生する場合も考えられる。このような場合には、次のセンサ信号の立ち上がりによって第２カウンタ６８がリセットされ、コンパレータ７０からは一致のパルスが出力されないことになる。従って、図１８に示すように、出力である制御信号が立ち上がらなくなり、さらに第３カウンタ７２がリセットされないことで、対応する制御信号が立ち下がらなくなる。このような状態が生じるとモータの回転が不安定になってしまう。
【００６４】
そこで、本実施形態では、図１９に示すように、コンパレータ７０の出力をオア回路８０を介し出力する。一方、このオア回路には、第２カウンタ６８のリセットパルスである６入力の立ち上がりパルスをゲート回路８２を介し、入力する。ゲート回路８２は、コンパレータ７０の出力がＨの時に出力を禁止し、Ｌの時に出力を許可する。コンパレータ７０の出力は、第２カウンタ６８のカウント値が遅延量と一致した時点でＨとなり、第２カウンタ６８がリセットされるまでＨとなる。
【００６５】
そこで、通常の通り、コンパレータ７０から一致信号がでた場合にはそれがオア回路８０から出力され、出力１が立ち上がる。
【００６６】
一方、コンパレータ７０から一致信号が出力される前に、第２カウンタ６８がリセットされた場合には、そのリセット信号がゲート回路８２、オア回路８０を介し出力される。
【００６７】
従って、図２０に示すように、リセット信号によって出力１が立ち上がる。さらに、このオア回路８０からの出力によって第３カウンタ７２もリセットされるため、出力２も立ち下がる。そこで、制御信号がモータの回転に応じて変化し、回転が不安定なることを防止することができる。
【００６８】
なお、上述の出力１、出力２は、すべての相の６つの信号の変化時点を示す信号であり、これらと各相の信号とを組み合わせ、タイミングの異なるこれら信号を６つ得ることで、６つの必要な制御信号を得ることができる。なお、６つの制御信号を得るためには、上述の進角制御、オーバーラップ制御のための出力１、出力２と、ホールセンサからの各相の立ち上がり信号とからそれぞれの相の制御信号を得ればよい。
【００６９】
【発明の効果】
このように、リセット信号によっても制御信号が発生される。このため、モータ回転数が変動し、コンパレータの出力が得られる前にリセット信号が発生した場合にも、所定のモータ駆動制御信号が発生しないというような不具合の発生を防止することができる。
【００７０】
また、前記コンパレータまたはオア回路の出力に基づいて、オーバーラップ量に応じた制御信号の変化時点を決定することで、適切なオーバーラップ量を発生することができる。
【図面の簡単な説明】
【図１】  実施形態の構成を示すブロック図である。
【図２】  各所の信号波形を示す図である。
【図３】  組合せ回路の構成を示す図である。
【図４】  インバータの構成を示す図である。
【図５】  制御信号生成回路の構成を示す図である。
【図６】  異常動作時のモード変更動作を示す図である。
【図７】  通常動作時のモード変更動作を示す図である。
【図８】  通常動作時のモード変更動作を示す図である。
【図９】  進角量、オーバーラップ量出力のための構成を示す図である。
【図１０】  回転数検出部の構成を示す図である。
【図１１】  回転数とカウント値との関係を示す図である。
【図１２】  回転数検出部の他の構成を示す図である。
【図１３】  回転数と、進角量の関係を示す図である。
【図１４】  回転数と、オーバーラップ量の関係を示す図である。
【図１５】  制御信号生成回路の構成を示す図である。
【図１６】  進角量の算出を示す図である。
【図１７】  進角量、オーバーラップ量の付加を説明する図である。
【図１８】  制御信号生成の動作を説明する図である。
【図１９】  制御信号生成のための構成を示す図である。
【図２０】  御信号生成の動作を説明する図である。
【符号の説明】
１０  組合せ回路、１２  スイッチ回路、１４  制御信号生成回路、１６  ３回検出回路、１８  フリップフロップ、２０  インバータ、２２  モータ。
【図１】
0004627896.tif 000002
【図２】
0004627896.tif 000003
【図３】
0004627896.tif 000004
【図４】
0004627896.tif 000005
【図５】
0004627896.tif 000006
【図６】
0004627896.tif 000007
【図７】
0004627896.tif 000008
【図８】
0004627896.tif 000009
【図９】
0004627896.tif 000010
【図１０】
0004627896.tif 000011
【図１１】
0004627896.tif 000012
【図１２】
0004627896.tif 000013
【図１３】
0004627896.tif 000014
【図１４】
0004627896.tif 000015
【図１５】
0004627896.tif 000016
【図１６】
0004627896.tif 000017
【図１７】
0004627896.tif 000018
【図１８】
0004627896.tif 000019
【図１９】
0004627896.tif 000020
【図２０】
0004627896.tif 000021