(57)【特許請求の範囲】
【請求項１】
多相センサレスモータの各相の界磁コイルに流す電流をモータの回転位相に応じて切り替えることによりモータを回転駆動し、その回転駆動をＰＬＬ制御するセンサレスモータ駆動制御システムであって、
モータ起動時に、任意の相を検出相とし、この検出相以外の界磁コイルに短時間通電を行わせる通電手段と、
上記通電によって上記検出相のコイルに誘起される電圧を検出する誘起電圧検出手段と、
上記誘起電圧の振幅状態からロータの磁極位置を検出する磁極位置検出手段と、
上記磁極位置検出手段の検出結果に基づいてモータ起動の通電相を決定し、この決定に従って起動通電を行わせる起動手段と、
上記通電手段と誘起電圧検出手段と磁極位置検出手段による磁極位置検出と上記起動手段によるモータ起動通電とを交互に所定回数行わせて回転数を上げる初期加速を行う第１制御手段と、
コイルの逆起電力（B-EMF）に基づいたＰＬＬ制御による回転駆動を行う第２制御手段と、
を備え、
上記磁極位置検出手段による最初の磁極位置検出では全相を検出相にして各検出相ごとに誘起電圧の状態を検出し、その検出結果に基づいてロータの磁極位置を判定し、次回の磁極位置検出では、前回の磁極位置検出の結果に基づいて決定される１相を検出相にして誘起電圧の状態を検出し、その検出結果に基づいてロータの磁極位置を判定し、
上記第１制御手段による磁極位置検出と通電の繰り返しによる初期加速により回転数を上昇させ、上記第２制御手段によるＰＬＬ制御へ移行することを特徴とするセンサレスモータ駆動制御システム。
【請求項２】
請求項１の発明において、前記磁極位置検出が失敗したときに、検出パラメータを再設定する制御を実行し、この制御の後に上記磁極位置検出を再試行させる制御手段を備えたことを特徴とするセンサレスモータ駆動制御システム。
【請求項３】
請求項１または２の発明において、前記磁極位置検出の失敗が所定回数繰返されたときに、オープンループ制御によってロータ位置をずらす制御を実行し、この制御の後に上記磁極位置検出を再試行させる制御手段を備えたことを特徴とするセンサレスモータ駆動制御システム。
【請求項４】
請求項１から３のいずれかの発明において、各相にて検出された誘起電圧の状態がすべて同じであった場合又は、全ての相で検出された誘起電圧の振幅が予め定めた閾値より小さかった場合に前記磁極位置検出が失敗したと判定することを特徴とするセンサレスモータ駆動制御システム。
【請求項５】
請求項１から４のいずれかの発明において、前記誘起電圧の検出は、所定の検出区間内に得られる複数回の検出値を積算して行い、この積算値を使って上記判定を行うことを特徴とするセンサレスモータ駆動制御システム。
【請求項６】
請求項１から５のいずれかの発明において、前記誘起電圧のいずれかの検出相で得られた誘起電圧の振幅が閾値に満たなかった場合に、前回の磁極位置検出結果も含めて正常検出できた誘起電圧の状態に基づいて磁極位置を論理判定する手段を備えたことを特徴とするセンサレスモータ駆動制御システム。
【請求項７】
請求項１から６のいずれかの発明において、前記誘起電圧の検出に先立って、その検出対象となっている相のコイルからオフセット電圧を検出し、この検出したオフセット電圧の検出値を誘起電圧の検出値から差し引くことにより誘起電圧成分を検出することを特徴とするセンサレスモータ駆動制御システム。
【請求項８】
請求項１から７のいずれかの発明において、前記誘起電圧をデジタル変換して処理するとともに、そのデジタル変換を１回の検出区間ごとに複数回行わせてその結果を積算し、この積算値を検出値として使用することを特徴とするセンサレスモータ駆動制御システム。
【請求項９】
請求項１から８のいずれかの発明において、上記磁極位置検出と上記モータ起動通電の所定回数の交互実行による起動後に、ＰＬＬ制御による回転駆動へ移行し、該ＰＬＬ制御によるモータ加速時にＰＬＬ制御のロックはずれの有無を検出し、ロックはずれを検出したときに正常復帰のための処理を実行させるようにしたことを特徴とするセンサレスモータ駆動制御システム。
【請求項１０】
請求項１から９のいずれかの発明において、ＰＬＬ制御によるモータの回転駆動時に、B-EMFのゼロクロスがそのB-EMF検出区間内にて検出されたか否かによって上記ＰＬＬ制御の異常を判定することを特徴とするセンサレスモータ駆動制御システム。
【請求項１１】
請求項１から１０のいずれかの発明において、前記磁極位置検出のための条件設定パラメータを書換え可能な不揮発性メモリに格納するとともに、この不揮発性メモリの内容を外部から更新可能にしたことを特徴とするセンサレスモータ駆動制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、センサレスモータ駆動制御システムさらにはブラシレスで回転検出センサを有しない直流多相モータの駆動制御に適用して有効な技術に関するものであって、たとえばＨＤＤ（ハード・ディスク・ドライブ）装置のディスク状記憶媒体（プラッタ）を高速回転駆動するスピンドルモータの駆動制御に利用して有効な技術に関するものである。
【０００２】
【従来の技術】
ＨＤＤ装置は、プラッタと呼ばれるディスク状磁気記録媒体を高速回転させながら、そのプラッタ表面に形成されている記録面上で磁気ヘッドをシークおよびフォロイング動作させることにより、情報のリード／ライトを行う。このＨＤＤ装置において情報のリード／ライトを高速化させるためには、上記プラッタの回転を高速化させる必要がある。
【０００３】
プラッタの回転駆動はスピンドルモータで行う。このスピンドルモータには通常、センサレスモータが使用される。このセンサレスモータは、ブラシレスで回転検出センサを有しない直流多相モータであって、たとえば上記プラッタなどのディスク状記録媒体を高速回転させるのに適している。
【０００４】
センサレスモータは、ロータの磁極位置を検出するための独立した回転センサを有しないことにより、モータとその駆動系の構成を合理化できる。その代り、センサを使わずにロータの磁極位置を検出しなければならない。そこで、この種のセンサレスモータでは、界磁コイルに誘起されるB-EMF(Back Electromagnetic Force，逆起電圧と呼ばれることもある）を利用してロータの磁極位置を検出する。B-EMFはロータの回転によって界磁コイルに誘起される電圧であり、ロータが回転状態にあれば、そのB-EMFを利用してロータの磁極位置および回転速度を検出することができる。
【０００５】
このセンサレスモータを上記スピンドルモータとして使用する場合は、まず、オープンループ制御によってモータの回転起動を行い、このあと、界磁コイルの逆起電力に基いてコミテーション制御およびＰＬＬ（位相ロックループ）制御を行うことにより、モータを所定の定常回転速度状態に保持する。この起動から定常動作までのシーケンス制御は、ＬＳＩ（半導体集積回路）化されたシステムによって行わせることができる。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した技術には、次のような問題のあることが本発明者らによってあきらかとされた。
すなわち、上述したセンサレスモータの駆動制御において、定常回転状態での駆動制御は界磁コイルの逆起電力に基くコミテーションおよびＰＬＬ制御によって比較的簡単に行うことができるが、その定常回転状態に至るまでの過渡状態とくに起動直後には、上記逆起電力による回転検出が利用できない。このため、モータ起動時の駆動制御はオープンループ制御で行い、このオープンループ制御によって回転速度がある程度にまで達したところで、上記コミテーションおよびＰＬＬ制御に移行することが行われる。しかし、オープンループ制御は一種の見込み制御であって、常に見込み通りの動作がえられるとは限らず、従来においては、ある確率で起動不良が生じるのを避け得なかった。
【０００７】
回転センサを有しないセンサレスモータでは、起動ミスが生じても、そのことを的確に検出することが困難である。起動ミスは、あらかじめ見込んだ動作が何らかの原因で行われなかった場合に生じる。従って、起動ミスが生じた場合は、その起動ミスの検出も見込み通りに行われない可能性が高い。この場合、起動ミスからの復帰と再起動が遅れたり、あるいはモータが起動されないままスタックしてしまう、といった問題が生じる。
また、起動から定常動作への移行が円滑に行われなかったり、起動が失敗したのにもかかわらず定常動作の駆動制御に移行するシーケンスが実行されてしまう、といった問題も発生しやすかった。
【０００８】
モータの起動が成功してＰＬＬ制御状態に移行した場合は、モータの負荷が大きく変動したときなどに、そのＰＬＬ制御の位相ロックがはずれる場合がある。この場合、モータは脱調し、最悪の場合は停止する。この種のモータはＰＷＭ制御された電流で駆動するが、モータが脱調すると、そのＰＭＷ駆動時の回生電流が電源に戻ってしまうことがあり、これによって電源電圧が異常上昇して駆動回路が破壊される可能性がある。
【０００９】
ＰＬＬのロックのはずれによる脱調は、減電圧や過負荷などによって上記ＰＷＭのデューティが１００％になった場合にも発生することがある。スピンドルモータは、清音駆動を目的に、通電相の切り替えを滑らかに行なうソフトスイッチ駆動又は正弦波駆動が行なわれる場合がある。このとき、ＰＷＭのデューティが１００％の状態になると、B-EMFのゼロクロス検出をすべきタイミング近傍で非導通相の電流がゼロになりきれず、駆動電圧にキックバックが発生するようになる。このため、ロータの回転位置をB-EMFのゼロクロス位相によって検出する場合に、そのキックバックがゼロクロス位相の正確な検出を妨げ、これにより、その検出誤差が大きくなって、ＰＬＬのロックはずれが生じる。
【００１０】
本発明の第１の目的は、センサレスモータの起動を確実かつ迅速に行わせることができる技術を提供することにある。
本発明の第２の目的は、センサレスモータの起動を高信頼で迅速に行わせることを可能にするため、起動時におけるセンサレスモータの状態を的確に監視することができる技術を提供することにある。
本発明の第３の目的は、センサレスモータの起動ミスが生じた場合でも、その起動ミスからの復帰と再起動を迅速に行わせることができる技術を提供することにある。
本発明の第４の目的は、センサレスモータの起動が成功してＰＬＬ制御状態に移行した場合において、そのＰＬＬのロックはずれを的確に検出して異常状態からの復帰を迅速に行わせることを可能にする技術を提供することにある。
本発明の第５の目的は、ロータの回転位置をB-EMFのゼロクロスによって検出する場合に、その検出を正確に行うことができる技術を提供することにある。
本発明の前記ならびにそのほかの目的と特徴は、本明細書の記述および添付図面からあきらかになるであろう。
【００１１】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、本発明は、多相センサレスモータの各相の界磁コイルに流す電流をモータの回転位相に応じて切り替えることによりモータを回転駆動するとともに、その回転駆動をＰＬＬ制御するセンサレスモータ駆動制御システムにあって、モータ起動直後に、任意の相を検出相とし、この検出相以外の界磁コイルに短時間通電を行ったときに上記検出相のコイルに誘起される電圧を検出し、検出した誘起電圧の振幅状態からロータの磁極位置を検出する。この検出に基づいてモータ起動の通電相を決定し、この決定に従ってモータの起動通電を行う。そして、その磁極位置検出とモータ起動通電とを交互に行わせるようにした。これにより、センサレスモータの起動を確実かつ迅速に行わせることができるようになる。
【００１２】
【発明の実施の形態】
以下、本発明の好適な実施態様を、図面を参照しながら説明する。
図１は、本発明の技術が適用されたセンサレスモータ駆動制御システムの概略構成を示す。同図に示すシステムは、モータの界磁コイルＬｕ，Ｌｖ，Ｌｗなどを除いて、単結晶シリコンなどを用いた単一の半導体基板上に集積形成される。また、同図に示すシステムは、アナログ信号処理部（破線Ａ枠内）とデジタル信号処理部（破線Ａ枠外）とによって構成される。両回路部は単一の半導体基板に集積形成してもよいが、必要に応じてそれぞれ別個の半導体基板に形成するようにしてもよい。デジタル信号処理部については、その機能の一部または全体をマイクロコンピュータによってソフトウェア的に構成することができる。
【００１３】
図１において、被制御対象であるセンサレスモータは３相式であって、各相ごとの界磁コイルＬｕ，Ｌｖ，Ｌｗを有する。各相の界磁コイルＬｕ，Ｌｖ，Ｌｗの一端はそれぞれ外部端子を介してアナログ信号処理部に接続されている。また、各相の界磁コイルＬｕ，Ｌｖ，Ｌｗの他端は互いに共通接続されている。
アナログ信号処理部（破線Ａ枠内）は、モータ駆動電流出力回路１１、コイル電圧検出アンプ１６、モータ電流検出アンプ１３などによって構成される。
【００１４】
駆動電流出力回路１１は、３相ブラシレスモータの界磁コイルＬｕ，Ｌｖ，Ｌｗに３相駆動電流を供給する。コイル電圧検出アンプ１６は、上記モータコイルＬｕ，Ｌｖ，Ｌｗにそれぞれに生じる逆起電力または誘起電圧を検出する。モータ電流検出アンプ１３はモータコイルＬｕ，Ｌｖ，Ｌｗに流れる電流（モータ電流）の検出電圧を予備増幅する。モータ電流はモータの電流給電路に直列に挿入された電流検出用抵抗により、電圧変換されて検出される。電流検出用抵抗（ＲＮＦ）は、外部端子を介して外付けの形で接続されるようになっている。電流検出アンプ１３は、その電流検出用抵抗に分圧される電流検出電圧を所定レベルに予備増幅する。
【００１５】
デジタル信号処理部（破線Ａ枠外）は、Ａ／Ｄ変換器（ＡＤＣ）１４、ＰＷＭパルス発生器２０、ＤＣＯ（デジタル制御発振器）２４、位相差検出器２２、通電相制御回路２５、モータ回転制御部３２、シーケンサ３０、シリアル入出力ポート２９、ソフトスイッチレジスタ３８、通電相制御レジスタ４０、駆動電流制御レジスタ４２、磁極位置検出制御レジスタ４４、および演算ブロック４６などを有する。各部（２０，２２，２４，２５，２９，３０，３２，３８〜４６）は共通バスで互いに接続されている。
【００１６】
Ａ／Ｄ変換器１４は、電流検出アンプ１３で予備増幅されたモータ電流検出電圧と、コイル電圧検出アンプ１６で予備増幅された逆起電力または誘起電圧を、切り換えてデジタル変換する。ＰＷＭパルス発生器２０はモータの駆動電流をＰＷＭ制御する。ＤＣＯ２４はＰＷＭ制御や通電相制御などを行うための基準クロックを生成する。このＤＣＯ２４の動作モードは、ソフトスイッチレジスタ３８、通電相制御レジスタ４０、駆動電流制御レジスタ４２、磁極位置検出制御レジスタ４４によって可変設定される。
【００１７】
位相差検出器２２は逆起電力のゼロクロス点とモータ各相の駆動電流のゼロ点との位相差を検出する。通電相制御回路２５はロータの磁極位置を検出してモータ駆動電流の相制御などを行う。モータ回転制御部３２は、モータの起動に際して回転速度を判定し、低回転または停止の場合は初期起動による加速モードに移行し、ある程度以上回転が上がっている場合はＰＬＬ制御による加速を行わせるなどの制御を実行する。
【００１８】
シーケンサ３０は、モータの起動や再起動などの制御手順を実行する。具体的には、後述する磁極位置検出制御、通電相制御、駆動電流制御、ソフトスイッチ制御などの動作を制御する。シリアル入出力ポート２９は外部に対して制御データ（ＤＡＴＡ）の受け渡しを行う。演算ブロック４６はレジスタ３８〜４４などを使用し、システム内の動作状態を集中的に管理して制御する主制御部を形成する。
【００１９】
上述したシステムは、磁極位置検出制御、通電相制御、駆動電流制御、ソフトスイッチ制御、起動シーケンス制御などの機能ブロックを形成するが、これらの詳細については、図２を参照しながら説明する。
図２は、本発明に係るセンサレス駆動制御システムのうち、とくにモータの駆動制御に関する部分に着目したシステム構成図を示す。
同図において、磁極位置検出制御ブロックは、モータコイルＬｕ，Ｌｖ，Ｌｗに短時間通電したときに生じる誘起電圧（Ｅｕ，Ｅｖ，Ｅｗ）の振幅変化を利用してロータの磁極位置を検出する。モータコイルＬｕ，Ｌｖ，Ｌｗのいずれか１つまたは２つに短時間通電を行うと、磁気飽和現象によってコイルＬｕ，Ｌｖ，Ｌｗ間の相互インダクタンスが磁極位置によって変調される。これにより、非通電相のコイルに生じる誘起電圧（Ｅｕ，Ｅｖ，Ｅｗ）の振幅が変化する。この変化の状態に基づいて磁極位置の検出を行うことができる。このときの通電はロータが反応しないような短いパルス電流で行う。これにより、モータが回転停止または低速回転の状態にあって、B-EMFに基づく磁極位置検出ができない状態のときにも、その磁極位置の検出を行うことができる。
【００２０】
モータコイルＬｕ，Ｌｖ，Ｌｗの誘起電圧（Ｅｕ，Ｅｖ，Ｅｗ）は、セレクタ１７、コイル電圧検出アンプ１６、アナログフィルタ１８、マルチプレクサ１５を介してＡ／Ｄ変換器１４に入力されることにより、コイルごとにデジタル変換される。なお、この実施例では、Ａ／Ｄ変換器１４は１０ビットの変換レンジを有し、コイルの誘起電圧（Ｅｕ，Ｅｖ，Ｅｗ）または逆起電力（Ｖｕ，Ｖｖ，Ｖｗ）をデジタル変換する以外に、電流検出アンプ１３で予備増幅されたモータ電流検出電圧をデジタル変換するのにも使用される。このため、Ａ／Ｄ変換器１４のアナログ入力側には、２つのアナログ入力を切り替えて入力させるためのマルチプレクサ１５が設けられている。
【００２１】
通電相制御ブロックは、通電相制御回路２５にて、逆起電力（Ｖｕ，Ｖｖ，Ｖｗ）に基づいてモータ駆動電流の通電相を決定する制御と、磁極位置検出に基づくモータの初期加速シーケンス制御を行う。この制御を行う通電制御回路２５には、誘起電圧（Ｅｕ，Ｅｖ，Ｅｗ）と逆起電力（Ｖｕ，Ｖｖ，Ｖｗ）のデジタル変換出力（ＡＤＣＯＵＴ）が入力されるようになっている。
【００２２】
モータが所定の速度以上で回転しているときには、各コイルＬｕ，Ｌｖ，Ｌｗにその回転によるB-EMF（Ｖｕ，Ｖｖ，Ｖｗ）が発生する。このB-EMFのゼロクロス点を比較器（ゼロクロス・コンパレータ）１９で検出する。このゼロクロス点とモータ通電タイミング間の位相誤差を位相差検出器２２で検出する。この検出出力を、フィルタ２３を通した後、ＤＣＯ２４に発振周波数制御信号（ｆｄｃｏ）として入力させる。フィルタ２３は検出のＳ／Ｎ比を高めるためのものであって、誤差検出出力を積算して平均化処理することにより高周波ノイズの影響を排除することができる。
ＤＣＯ２４の発振出力（ｆｃｏｍ）は、通電切換制御回路２１に通電制御の基準クロック（ＣＬＫ）として入力される。通電切換制御回路２１は上記基準クロック（ＣＬＫ）に基づいてモータ駆動電流の相切換（コミュテーション）を行う。
【００２３】
駆動電流制御ブロックは、デジタル変換されたモータ電流検出信号（ＡＤＣ  ＯＵＴ）と、シリアル入出力ポート２９を経由して外部から与えられるモータ電流制御信号（ＳＰＮＣＲＮＴ  ＤＡＴＡ）とを比較し、両信号間の誤差がゼロとなるようにモータ駆動電流をＰＷＭ制御する。この場合、両信号間の差は誤差電流検出部２７にて検出される。検出した誤差は、電流制御ループの安定性を補償する為にフィルタ２８で積算して平均化処理した後、ＰＷＭパルス発生器２０にデューティ決定のための制御信号として与えられる。ＰＷＭパルス発生器２０は上記誤差に基づいて、モータコイルＬｕ，Ｌｖ，Ｌｗに与えるべき駆動電流の大きさすなわちデューティを決定する。これにより、電流出力回路１１から出力されるモータ駆動電流のデューティがフィードバック制御される。
【００２４】
モータ電流検出信号は、モータ電流（ＩＳＰＮ）の共通通電路に直列に介在する電流検出用抵抗ＲＮＦの両端に分圧される電流検出電圧をサンプリング・ホールド回路１２でサンプリングし、これを電流検出アンプ１３で増幅して得る。この増幅出力（ＣＲＮＴＯＵＴ）がＡ／Ｄ変換器１４にてデジタル変換される。
【００２５】
ソフトスイッチ制御ブロックは、ソフトスイッチ制御回路２６を使って通電相の切り替えを滑らかに行わせる。ソフトスイッチ制御回路２６は、コイルに流れる電流の検出値に応じてモータ駆動電流出力回路１１に対する印加電圧波形情報を演算によって生成する。この演算生成された波形でモータ駆動電流出力回路１１の出力波形を制御することにより、通電相の切り替えを滑らかに行わせる。また、この制御ブロックでは、磁極位置を表す位相制御信号（ｆｃｏｍ）と駆動電流を表す電流制御信号（ＡＤＣＯＵＴ）を制御情報として帰還させることにより、駆動電流の変動に因らず、常に高トルクを発生するように通電位相を補正する制御も行う。
起動シーケンス制御ブロックは、上述した磁極位置検出制御、コミュテーション制御、駆動電流制御、ソフトスイッチ制御の各制御ブロックを制御して、モータの起動シーケンスを司る。この制御ブロックの動作は、図中のシーケンサ３０にて行われる。
【００２６】
図３は、モータ起動時に行われる磁極位置検出動作の概要をタイミングチャートで示す。同図に示す動作は第１と第２の２つのステータス信号（COMSENS）と（ＰＨＡＳＥ）の論理状態にも基づいて実行される。第１のステータス信号（COMSENS）がハイ（Ｈｉｇｈ）の期間は、上述した磁極位置検出制御を行うモータの初期起動制御区間を指示する。この初期起動制御区間すなわち第１のステータス信号がハイ（Ｈｉｇｈ）の期間にて、第２の２つのステータス信号（ＰＨＡＳＥ）がハイとロウ（Ｌｏｗ）を交互に繰り返す。
【００２７】
第２のステータス信号（ＰＨＡＳＥ）がハイとなる期間では、磁極位置検出によって通電相を決定する検出区間（ＳＥＮＳ１またはＳＥＮＳ２）が設定される。また、その第２のステータス信号（ＰＨＡＳＥ）がロウとなる期間では、所定時間決定された相に通電を行ってモータを加速する起動区間（ＤＲＩＶＥ）が設定される。つまり、磁極位置検出とモータの初期駆動とが交互に繰返される。この状態は、上記ステータス信号（ＰＨＡＳＥ）の論理状態を外部から読めるようにすることにより、外部からモニタすることができる。
【００２８】
上記初期起動制御区間の一番最初に設定される検出区間（ＳＥＮＳ１）は、Ｕ相センス期間、Ｖ相センス期間およびＷ相センス期間からなり、すべての相をセンスすることによってロータの磁極位置の初期値を検出する。このセンスは、３相のモータコイルＬＵｕ，Ｌｖ，Ｌｗのうち、いずれか１つをセンス相とし、残りの２つを通電相（励磁相）として、その通電相となった２つのモータコイルに短時間通電を行うとともに、このときに非通電相のモータコイルに現れる誘起電圧を検出して行う。たとえば、Ｕ相センス期間では、Ｖ相とＷ相のモータコイルに通電し、このときのＵ相のコイルに現れる誘起電圧を検出する。初期起動制御の最初の検出区間（ＳＥＮＳ１）では、そのセンスをＵ，Ｖ，Ｗの３相についてそれぞれ行う。
【００２９】
各センス期間はそれぞれ、モータコイルの励磁を停止する高インピーダンス出力区間（Ｈｉ−Ｚ）、同状態で逆起電力（Ｂ−ＥＭＦ）および回路のオフセットを積算するオフセット積算区間（ｏｆｆｓｅｔ）、およびセンス相以外の相を通電励磁して非通電相（センス相）に現れる電圧を積算するセンス積算区間からなる。センス積算区間で測定された電圧信号は逆起電力（Ｂ−ＥＭＦ）と回路オフセット値を含むので、オフセット積算区間（ｏｆｆｓｅｔ）に測定された値をセンス積算区間の測定値から引いて、真に非通電相に現れる誘起電圧成分だけを得る。
【００３０】
この最初の検出区間（ＳＥＮＳ１）におけるすべての相に対するセンスにより、ロータの磁極位置が検出される。この検出した磁極位置から正転トルクが発生するように、この後の起動区間（ＤＲＩＶＥ）で通電（励磁）が行なわれる。この起動区間（ＤＲＩＶＥ）のあとに設定される検出区間すなわち２番以降の検出区間（ＳＥＮＳ２）では、この検出区間の前に行なわれた起動区間（ＤＲＩＶＥ）によってモータが正転起動されたと仮定して、該当する１相のセンスだけを行い、このセンスの結果に基づいて、次の起動区間（ＤＲＩＶＥ）にて通電（励磁）する相を決定する。
【００３１】
以上のようにして、ロータが回転停止状態にあっても、また逆起電力による磁極位置検出が困難な低速回転状態にあっても、そのロータの磁極位置を検出することができる。そして、この検出に基づいて駆動相を決定して起動通電することにより、モータの起動を行うことができる。仮に、最初の起動区間で起動しなくても、上述したように、検出区間と起動区間を交互に繰り返すことにより、モータは非常に高確率で起動されるようになる。
【００３２】
図４〜図７は上述した磁極位置検出と通電相決定の手順（シーケンス）をフローチャート化して示す。この場合、図４は最初の検出区間（ＳＥＮＳ１）にて実行される磁極位置検出と通電相決定の手順を示す。図５は２回目以降の検出区間（ＳＥＮＳ２）にて実行される磁極位置検出と通電相決定の手順を示す。図６はオフセットの積算処理手順を示す。図７はセンス結果の積算処理手順を示す。
【００３３】
最初の検出区間（ＳＥＮＳ１）にて実行される磁極位置検出と通電相決定の手順は、図４に示すように、まず、Ｕ，Ｖ，Ｗの３つのセンス相のそれぞれについて、オフセット値を所定回数測定して積算するオフセット測定、誘起電圧を所定回数測定して積算するセンス測定、オフセットの積算測定値をセンスの積算測定値から差し引いて真の誘起電圧成分だけを測定するキャリブレーションを行う（Ｓ４１〜Ｓ４３）。これにより、３相のすべてについてそれぞれ誘起電圧のセンス値を得る（フルスキャンモード）。
【００３４】
次に、全相のセンス値について全相のセンス値が所定の閾値よりも低いか否かの判定（Ｓ４４）と、全相のセンス値が全て同一か否かの判定（Ｓ４５）を行なう。上述した３相のセンスによる磁極位置検出が正常に行なわれれば、いずれかの１相の誘起電圧センス値は必ず、予め定められた振幅レベル（閾値）よりも大きくなる。そして、そのセンス値が大振幅となる相から磁極位置を論理的に判定することができる。そして、この判定結果から、ロータを特定方向（正転方向）に回転起動させるための通電相を決定することができる（Ｓ４６）。なお、センス値の振幅はハイまたはロウの２値判定で行う。
【００３５】
センス終了時に３相の誘起電圧センス値がすべて予め定められたレベル以下の振幅であった場合は、磁極位置を判定することができない。この場合はセンスが異常終了したとみなし、異常終了フラグＣＯＭＦＡＩＬを立てる（Ｓ４７）。
また、３相の誘起電圧センス値が予め定められたレベル以上であっても、そのセンス値がすべて同じであった場合は、磁極位置を判定することができないので、この場合も同様に異常終了フラグＣＯＭＦＡＩＬを立てる（Ｓ４８）。
【００３６】
以上のように、上述した磁極位置検出では、異常終了フラグＣＯＭＦＡＩＬによって、その磁極位置検出が異常終了したことを知ることができる。従って、そのフラグＣＯＭＦＡＩＬの状態をモニタすることで、検出パラメータ(センス積算時間)の再設定、オープンループの通電相制御による初期位置ずらし等の対策を速やかに実行させることができるようになり、これにより、モータ起動に対する信頼度を高めることができる。
なお、上述した磁極位置検出は、モータコイルに短い時間通電する際に、非通電相に相互誘導作用によって誘起される電圧の振幅がロータの磁極位置によって変化することを利用したものであるが、本実施例ではとくに、上記誘起電圧がコイルの相互インダクタンスの磁気飽和特性によって変化することを利用している。
【００３７】
２回目以降の検出区間（ＳＥＮＳ２）にて実行される磁極位置検出と通電相決定の手順は、図５に示すように、決められた１相のみをセンスするシングルセンスモードで行う。モータの初期起動を開始する際には、モータの磁極位置が不明なためフルスキャンＳＥＮＳ１を行なわなければならないが、一度通電相が決定されれば、次に相切り替えを行うべき相は一意的に決定できるので、磁極位置検出も１相のみをセンスすれば所望の相切り替え位置を決定できる。
【００３８】
図５において、まず、磁極位置検出の後に行われる起動通電が規定回数以上行なわれたか否か判定し、規定回数未満であったならば、前回の磁極位置検出に基づいて決定された通電相への起動通電を行う（Ｓ５１，Ｓ５２）。
起動通電のあと、測定用の積算レジスタをリセットするとともに、誘起電圧を測定するセンス相を１つ決定する（Ｓ５３，Ｓ５４）。センス相の決定は前回の磁極位置検出の結果から一意的に決定することができる。
【００３９】
決定したセンス相のモータコイルに対し、まず、オフセット値を所定回数測定して積算するオフセット測定を行う（Ｓ５５）。次に、誘起電圧を所定回数測定して積算するセンス測定を行うとともに、オフセットの積算測定値をセンスの積算測定値から差し引いて真の誘起電圧成分だけを測定するキャリブレーションを行う（Ｓ５６）。キャリブレーションを行うことにより、モータが回転して逆起電力が発生する状態になっていても、その逆起電力の分を差し引いた誘起電圧だけを測定することができる。
【００４０】
このあと、３相の誘起電圧センス値を互いに比較して異常終了フラグＣＯＭＦＡＩＬを立てるか否かの判定を行うが、この検出区間（ＳＥＮＳ２）では、前回の位置検出結果に基づいて決定された１つの相の誘起電圧しかセンスしないので、比較相手となる他の２つの相のセンス値は前回位置検出手段での測定結果を使用する。
【００４１】
センス終了時に３相の誘起電圧センス値がすべて予め定められたレベル以下の振幅であった場合は、磁極位置を判定することができない。この場合はセンスが異常終了したとみなし、異常終了フラグＣＯＭＦＡＩＬを立てる（Ｓ５７，Ｓ５９）。また、３相の誘起電圧センス値が予め定められたレベル以上であっても、そのセンス値がすべて同じであった場合は、磁極位置を判定することができないので、この場合も同様に異常終了フラグＣＯＭＦＡＩＬを立てる（Ｓ５８，Ｓ６０）。
【００４２】
２回目以降の検出区間（ＳＥＮＳ２）はセンス相が１つだけなので、センス時間を短くして初期起動時の回転速度上限を上げることができる。初期起動時の回転速度上限が上がれば、モータに発生するB-EMFが大きくなり、初期起動が確実になるとともに、ＰＬＬ制御による定常回転への移行を円滑に行わせることができる。また、センス時間に対する通電時間の比を高めることができるので、より短い時間で回転速度上限に達することができるようになる、といった利点が得られる。また、初期加速終了時点での回転速度が高いほど、逆起電力（Ｂ−ＥＭＦ）の振幅が大きくなるので、次ステップでの逆起電力検出によるＰＬＬ制御にてロックはずれが生じにくくなり、起動に関する信頼度を高めることができる。
【００４３】
オフセットの積算手順は、図６に示すように、オフセット積算レジスタを初期化（リセット）した後、デジタル変換された測定値を所定回数積算してそのオフセット積算レジスタに格納する。測定値を積算することにより、高周波ノイズやジッタ等の影響を低減して検出感度と精度を高めることができる。
【００４４】
センス結果の積算処理手順は、図７に示すように、誘起電圧を検出するために該当相のコイルに対して順方向の通電を開始する（Ｓ７１）。これとともに、新たな積算値を格納する準備のために第１の積算レジスタＡのリセットを行う（Ｓ７２）。順方向通電状態にて、非通電相のコイルから検出されてデジタル変換された測定値を所定回数積算する（Ｓ７３）。この積算結果を上記第１の積算レジスタＡに格納する（Ｓ７４）。
【００４５】
次に、上記通電を所定時間休止した後、誘起電圧を検出するために該当相のコイルに対して逆方向の通電を開始する（Ｓ７５，Ｓ７６）。これとともに、新たな積算値を格納する準備のために第２の積算レジスタＢのリセットを行う（Ｓ７７）。逆方向通電状態にて、非通電相のコイルから検出されてデジタル変換された測定値を所定回数積算する（Ｓ７８）。この積算結果を上記第２の積算レジスタＢに格納する（Ｓ７９）。
【００４６】
上記第２の積算レジスタＢの内容を第１の積算レジスタＡに加算した結果を、その第１の積算レジスタＡに格納する（Ｓ８０）。これにより、順方向と逆方向の通電によってそれぞれに検出された誘起電圧の積算結果が加算されるが、この加算されたセンス値からは、誘起電圧の極性を判定することができる。つまり、誘起電圧が正（Ｈ）側に振幅したのか、負（Ｌ）側に振幅したのか、あるいは正負どちらの側にも振幅しなかったのかを判別することができる。検出が正常に行なわれた場合、センス値は正（Ｈ）または負（Ｌ）のどちらかに判別させることができるが、検出エラーの場合は正／負（Ｈ／Ｌ）どちらにも判別されないようにすることができる。
【００４７】
図８〜図１０は、起動時における通電相とセンス相との関係を真理表によって示す。前述したように、モータの回転起動時には磁極位置検出と起動通電を交互に行うが、２回目以降に行う磁極位置検出はいずれか１つの相の誘起電圧を検出することで行うことができる。この場合のセンス相の決定は、図８〜図１０にそれぞれ示すように、所定の論理規則によって設定することができる。すなわち、モータを一定方向に起動回転させる場合、Ｕ，Ｖ，Ｗの各相における誘起電圧の極性は、前回の磁極位置検出結果に従って１相ずつ順次変化する。
【００４８】
図８は、誘起電圧が正／負（Ｈ／Ｌ）のいずれかの極性で正常に検出される場合の、通電相とセンス相（通電後検出相）の変化状態を示す。この場合、まず、前回の誘起電圧の検出結果に基づいて通電相を決定し、この決定した通電相で起動通電を行う。この起動通電後にセンス相を決めて誘起電圧の検出を行うが、このときの検出相は、直前の通電相に基づいて決めることができる。
たとえば、前回の磁極位置検出時に検出された各相の誘起電圧の検出結果が、Ｕ相＝Ｌ、Ｖ相＝Ｌ、Ｗ相＝Ｈであった場合、この検出結果に基づいて決定される起動通電相は、Ｕ相＝Ｌ（シンク）、Ｖ相＝Ｈ（ソース）、Ｗ相＝ｏｆｆとなる。この場合、この起動通電の後に行う誘起電圧の検出は、Ｕ相について行う。これは、誘起電圧の極性が次に変化する相がＵ相であると予測できるからである。
【００４９】
誘起電圧がＵ相＝Ｌ、Ｖ相＝Ｌ、Ｗ相＝Ｈとなる磁極位置にて起動通電を行った場合、これによって極性が変化するのはＵ相だけであって、Ｖ相とＷ相は誘起電圧の極性変化が生じない。従って、この場合は、Ｕ相の誘起電圧だけを検出して極性が予測通りに変化するかどうかを判定すればよい。このようにして、起動通電後に行う誘起電圧の検出相が１つだけでも、通電相と検出相を交互に決定して行くことができる。
【００５０】
しかし、誘起電圧の検出は必ずしもうまく行くとは限らない。たとえば、図７に示した例では、誘起電圧の立上がり／立下がり波形が理想的な場合であっても、現実には、検出感度が不十分な場合、立上がり／立下がりの過渡波形が崩れたりして、誘起電圧の検出極性がＨまたはＬのどちらとも判別できない場合もある。
たとえば、図９に示すように、誘起電圧の立上がり／立下がり時の状態が曖昧になって、その立上がり／立下がり付近では誘起電圧の極性がＨでもＬでもない極性不明（×印）として検出されることがある。しかし、この場合でも、以前の経緯に基づいて、通電相と検出相を一意的に論理判定することができる。また、その通電後の誘起電圧の検出相も決定することができる。
【００５１】
図１０は、誘起電圧の曖昧領域がさらに拡大して、３６０度（−１８０度〜＋１８０度）の電気角の半分で誘起電圧の極性が不明な状態となった場合を示す。この場合でも、以前の経緯に基づいて、通電相と検出相を一意的に論理判定することができる。
上述した論理判定は、誘起電圧の検出パターン、通電相、検出相の時系列変化パターンを論理テーブルなどの形であらかじめ用意すれば、非常に簡単かつ迅速に行わせることができる。さらに、その論理テーブルの内容を固定せず、フラッシュメモリなどの書換え可能な不揮発性メモリを使ってユーザによる書込設定が行えるようにすれば、たとえば、誘起電圧の極性不明をどの程度まで許容するか、あるいは誘起電圧の極性不明がどの程度まで拡大したならばエラーとするかなどの制御条件設定をユーザに任意にプログラムさせることが可能になる。
【００５２】
図１１は、上述したモータ駆動制御システムによるモータの起動から定常回転に至るまでの手順をフローチャート化して示す。
同図において、まず、モータの起動指令があると、先ずコイルのB-EMFの周期を検出してモータの回転速度（回転周波数）を検出する（Ｓ２０１）。これは、一時的な電源瞬断等があって電源が回復した後にモータの起動指令がある場合を考慮したものである。起動指令が発せられる場合は通常、モータが停止状態にある場合であるが、必ずしも停止だけとは限らない。
そこで、次のステップ（Ｓ２０２）にて、モータの回転速度が例えば目標速度（Ｎｔ）の数％（たとえば３％）であるか否かの判定を行って、ＰＬＬ制御による定常回転制御（Ｓ２０３〜Ｓ２０７）を行うか、あるいは起動シーケンス（Ｓ２１０〜Ｓ２１５）を行うかを判定する。
【００５３】
定常回転制御ではＰＬＬ制御による通電位相制御によってモータの加速を行う（Ｓ２０３）。この場合は、ＰＬＬのロックはずれを監視する（Ｓ２０４）。ロックはずれの有無は、後述するように、B-EMFのゼロクロスタイミングによって判定することができる。ＰＬＬ制御が正常に行なわれている状態では、通電相の切り替えとB-EMFのゼロクロス点に一定のタイミング関係が保たれるが、ＰＬＬ制御が正常に行なわれなくなった場合は、そのタイミング関係に異常が生じる。このようにしてロックはずれが判定された場合は、異常発生のフラグ（ＡＣＣＦＡＩＬ）を立ててシステムに知らせるとともに、ヘッドの退避処理等を含む所定の異常処理ルーチン（Ｓ２１６）へ移行する。
【００５４】
また、モータ回転速度が目標速度の例えば９０％以上の場合は、モータが定常回転に達したと判定して、通電相のコミュテーションを滑らかにするソフトスイッチ制御を実行する（Ｓ２０５，Ｓ２０６）。ソフトスイッチ制御は、通電相のコミュテーションを滑らかにし、低騒音駆動および低トルクリップルを実現することができる。またソフトスイッチは、磁極位置を表す位相制御信号（ｆｃｏｍ）と駆動電流を表す電流制御信号（ＡＤＣＯＵＴ）を制御情報として帰還させることにより、駆動電流の変動に因らず、常に高トルクを発生するように通電位相を補正する機能も有する。このソフトスイッチ制御による位相制御が不能な状態になった場合は、ステップＳ２０１へ戻って再起動を行なう。
【００５５】
一方、モータが停止状態あるいはＰＬＬ制御による加速ができないほどに低速回転状態の場合は起動シーケンス（Ｓ２１０〜Ｓ２１５）を実行する。この起動シーケンスでは、まず、磁極位置検出による初期加速（ＣＯＭＳＥＮＳ）を所定回数（Ｍ回）まで行う（Ｓ２１０〜Ｓ２１２）。この場合、初期加速を１回行うごとに、処理ルーチン（Ｓ２０１）に戻って、モータ回転速度がＰＬＬ制御による加速が可能なところまで初期加速されたか否かをチェックする。これにより、無駄な初期加速（ＣＯＭＳＥＮＳ）を繰り返さずに初期加速を完了させることができる。
【００５６】
初期加速（ＣＯＭＳＥＮＳ）に失敗（ＣＯＭＦＡＩＬ＝１）した場合は、次のリカバリ処理を選択的に実施させる。一つは、初期加速の失敗は、磁極位置検出の精度が不適切な場合が多いので、検出時の電流を増やす、検出間隔を変更する等のパラメータ設定を変更する（Ｓ２１４）。この後、初期加速を最初からやり直す。この処理は、初期加速処理（Ｓ２１０〜Ｓ２１２）の再試行回数が所定数（Ｎ）以下のときに選択される（Ｓ２１３）。
初期加速処理（Ｓ２１０〜Ｓ２１２）の再試行回数が所定数（Ｎ）を越えた場合は、ロータが磁極位置検出エラーを誘発しやすい位置に停止している可能性が高いので、オープンループ制御によってロータ位置をずらすことを行う（Ｓ２１５）。この後、初期加速を最初からやり直す。
【００５７】
上述した制御において、目標速度（Ｎｔ）や再試行の回数上限（Ｎ）、起動シーケンス（Ｓ２１０〜Ｓ２１５）への移行条件、分岐条件（たとえばＭ）などについては、フラッシュメモリなどの不揮発性メモリ格納してユーザが任意に可変設定できるようにするとよい。また、Ｓ２１４とＳ２１５のルーチンはいずれか一方だけでもよく、これらもユーザが外部から可変設定できるようにするとよい。
上述したシーケンスでは、初期起動を１回行うごとに、最初のルーチン（Ｓ２０１）に戻ってその初期起動の成否を確認するために、異常状態からのリカバリが速く、かつ適切に行なわれ、システムの信頼度が向上する。
【００５８】
図１２は、上述した起動シーケンスにおいて、ＰＬＬ制御のロックはずれを検出して異常判定フラグ（ＡＣＣＦＡＩＬ＝１）を立てる処理を波形チャートによって示す。図中、ＣＴはゼロクロスの検出基準レベルを示す。
同図において、ＰＬＬ制御が正常に行なわれている場合は、モータの回転によって生じる逆起電力は通電相の切り替え期間内でゼロクロスする。これは、通電相の切り替えを逆起電力に基づいて行っているためであり、この通電相切り替えがＰＬＬ制御下で正常実行されているならば、その通電相の切り替え期間内にて上記ゼロクロスが行われる。通電相の切り替えは逆起電力の検出区間にて行われる。
【００５９】
一方、ＰＬＬ制御が正常に機能しなくなった場合は、上記ゼロクロス点が逆起起電力の検出区間すなわち通電相の切り替え期間内に現われなくなる。従って、ＰＬＬ制御による加速モードのときに、上記通電切り替え期間内だけゼロクロス点の検出を行わせるようなマスキング信号（ＭＳＫ１とＭＳＫ２）を作成し、このマスキング信号によって設定される期間にて上記ゼロクロス点の有無を検出することにより、ＰＬＬ制御のロックはずれの有無を論理判定して、その結果（ＡＣＣＦＡＩＬ）をシステムへ出力させることができる。
【００６０】
以上、本発明者によってなされた発明を実施態様にもとづき具体的に説明したが、本発明は上記実施態様に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
たとえば、本発明のシステムでは、磁極位置検出や異常判定などを行う際の各種条件パラメータを論理的に可変設定することができるが、これらのパラメータは、あらかじめ固定的に設定してもよいが、たとえば、上述したように、フラッシュメモリなどのような不揮発性メモリに格納させることができる。この場合、その不揮発性メモリの内容をシリアル入出力ポートなどを介して外部から任意に更新操作可能なように構成するとよい。さらに、その不揮発性メモリに、起動シーケンスなどのプログラムをあらかじめ複数種類ストックさせ、その中からユーザが必要なプログラムを選択して実行させるようにすることもできる。
【００６１】
以上の説明では主として、本発明者によってなされた発明をその背景となった利用分野であるＨＤＤのスピンドルモータの駆動制御に適用した場合について説明したが、それに限定されるものではなく、たとえば光記憶ドライブあるいは光磁気記憶ドライブなどのスピンドルモータの駆動制御にも適用できる。
【００６２】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、多相センサレスモータの起動に際して、起動時におけるセンサレスモータの状態を的確に検出することができるとともに、センサレスモータの起動ミスが生じた場合でも、その起動ミスからの復帰と再起動を迅速に行わせることができる。また、センサレスモータの起動が成功してＰＬＬ制御状態に移行した場合において、そのＰＬＬのロックはずれを的確に検出して異常状態からの復帰を迅速に行わせることが可能になる。さらに、ロータの回転位置をB-EMFのゼロクロスによって検出する場合に、その検出を正確に行うことができる。その結果、センサレスモータの起動を確実かつ迅速に行わせることができる。
また、誤検出を的確に行ない、異常発生後の処理を迅速に且つ適切に行なうことが可能となる。
【図面の簡単な説明】
【図１】本発明の技術が適用されたセンサレスモータ駆動制御システムの概略構成図である。
【図２】本発明に係るセンサレス駆動制御システムのうち、とくにモータの駆動制御に関する部分に着目したシステム構成図である。
【図３】モータ起動時に行われる磁極位置検出動作の概要を示すタイミングチャートである。
【図４】最初の検出区間にて実行される磁極位置検出と通電相決定の手順を示すフローチャートである。
【図５】２回目以降の検出区間にて実行される磁極位置検出と通電相決定の手順を示すフローチャートである。
【図６】オフセットの積算処理手順を示すフローチャートである。
【図７】センス結果の積算処理手順を示すフローチャートである。
【図８】誘起電圧が正常検出される場合の通電相とセンス相の変化状態を示す真理値表である。
【図９】誘起電圧の状態が一部不明だった場合の通電相とセンス相の変化状態を示す真理値表である。
【図１０】誘起電圧の状態不明が多い場合の通電相とセンス相の変化状態を示す真理値表である。
【図１１】モータの起動から定常回転に至るまでの手順を示すフローチャートである。
【図１２】ＰＬＬ制御のロックはずれを検出する処理を示す波形チャートである。
【符号の説明】
Ｌｕ，Ｌｖ，Ｌｗ  モータの界磁コイル
１１  モータ駆動電流出力回路
１２  サンプリング・ホールド回路
１３  モータ電流検出アンプ
１４  Ａ／Ｄ変換器（ＡＤＣ）
１５  マルチプレクサ
１６  コイル電圧検出アンプ
１７  セレクタ
１８  アナログフィルタ
１９  比較器（ゼロクロス・コンパレータ）
２０  ＰＷＭパルス発生器
２２  位相差検出器
２３  フィルタ
２４  デジタル制御発振器（ＤＣＯ）
２５  通電相制御回路
２６  ソフトスイッチ制御回路
２７  誤差電流検出部
２８  フィルタ
２９  シリアル入出力ポート
３０  シーケンサ  ３２  モータ回転制御部
３８  ソフトスイッチレジスタ
４０  通電相制御レジスタ
４２  駆動電流制御レジスタ
４４  磁極位置検出制御レジスタ
４６  演算ブロック
Ｅｕ，Ｅｖ，Ｅｗ  誘起電圧
Ｖｕ，Ｖｖ，Ｖｗ  逆起電力
ＲＮＦ  電流検出用抵抗
【図１】
0003998960.tif 000002
【図２】
0003998960.tif 000003
【図３】
0003998960.tif 000004
【図４】
0003998960.tif 000005
【図５】
0003998960.tif 000006
【図６】
0003998960.tif 000007
【図７】
0003998960.tif 000008
【図８】
0003998960.tif 000009
【図９】
0003998960.tif 000010
【図１０】
0003998960.tif 000011
【図１１】
0003998960.tif 000012
【図１２】
0003998960.tif 000013