(57)【要約】【課題】  マイクロプロセッサに代わってモータの速度制御を行なうことができ、それによってマイクロプロセッサの負担を軽減することができる直流多相ブラシレスモータの駆動制御装置を提供する。【解決手段】  無通電相における逆起電圧のゼロクロス点を検出してコイルへの通電切替えをＰＬＬ制御によって行なうとともに、コイルに流れる電流を検出する電流検出回路（１３）を備え検出電流値に基づいて速度制御を行なうモータ駆動制御装置において、通電切替え制御を行なうＰＬＬループから回転数情報を取り出して外部から供給される目標回転数とを比較して速度誤差を検出する速度誤差検出回路（４２）を設け、該速度誤差検出回路の出力と前記電流検出回路の出力とを比較してコイルに流す電流を決定して電流出力回路（１１）を制御するように構成した。【選択図】  図１
2006074847.tif 000002
【特許請求の範囲】
【請求項１】
複数のコイルを備えたブラシレスモータの各相のコイルに順次電流を流す電流出力回路と、
上記ブラシレスモータの上記各相のコイルの端子間電圧を検出するコイル電圧検出回路と、
上記ブラシレスモータのコイルに流れる電流を検出するコイル電流検出回路と、
上記コイル電圧検出回路により検出されたコイル電圧と上記コイル電流検出回路により検出されたコイル電流をデジタル信号に変換するアナログ−デジタル変換回路と、
上記コイル電圧検出回路と上記コイル電流検出回路により検出された信号に基づいて上記電流出力回路を制御する制御系回路と、
を備え、上記ブラシレスモータの各相のコイルに流す電流を順次切り替えることでモータを回転駆動する駆動制御装置であって、
上記制御系回路は、
上記コイル電圧検出回路により検出されたモータ回転中の上記コイルの逆起電圧のゼロクロス点と上記電流出力回路が出力する電流のゼロ点の位相差を検出する位相差検出回路と、
該位相差検出回路により検出された位相差を累積するフィルタ回路と、
該フィルタ回路の出力に応じて周波数が制御される発振回路と、
上記電流出力回路を駆動して上記電流出力回路の出力電流を制御する信号を生成する出力電流制御回路とを含み、
上記発振回路の出力信号が上記各相のコイルに流す電流の切替えタイミングを与える信号として上記出力電流制御回路に供給され、該出力電流制御回路から上記位相差検出回路に対して出力電流のゼロクロス点のタイミングを示す信号がフィードバックされることにより位相制御ループが構成され、
上記位相制御ループの途中から取り出された上記ブラシレスモータの回転数に関する情報を含むデジタル信号より抽出した回転数と目標回転数とを比較して回転数差を検出する回転数比較回路を備え、該回転数比較回路の出力に基づいて上記出力電流制御回路が上記ブラシレスモータの回転数を制御するように構成されていることを特徴とするモータの駆動制御装置。
【請求項２】
上記デジタル信号は、上記フィルタ回路と上記出力電流制御回路との間を結ぶ信号線から取り出されるようにされていることを特徴とする請求項１に記載のモータの駆動制御装置。
【請求項３】
上記デジタル信号は、上記フィルタ回路と上記発振回路との間から取り出される量子化前の信号であることを特徴とする請求項２に記載のモータの駆動制御装置。
【請求項４】
上記回転数比較回路は、上記デジタル信号を積算処理してモータの回転数を抽出し、上記目標回転数と比較することを特徴とする請求項１〜３のいずれかに記載のモータの駆動制御装置。
【請求項５】
上記回転数比較回路は、遅延器と加算器とを有する演算回路を備え、該演算回路によって上記デジタル信号を所定回数累積加算して上記積算処理を行なうことを特徴とする請求項４に記載のモータの駆動制御装置。
【請求項６】
上記回転数比較回路は、上記ブラシレスモータの機械角３６０度の間の上記デジタル信号を上記積算処理して上記ブラシレスモータの回転数を抽出し、上記目標回転数と比較するように構成されていることを特徴とする請求項４に記載のモータの駆動制御装置。
【請求項７】
上記モータの磁極数をＰとしたとき、上記回転数比較回路は、上記デジタル信号を上記積算処理して、上記ブラシレスモータの機械角３６０度の間に電気角３６０度の積分値をＰ／２に相当する回数だけ算出してモータの回転数を抽出し、上記目標回転数と比較するように構成されていることを特徴とする請求項６に記載のモータの駆動制御装置。
【請求項８】
上記出力電流制御回路は、上記誤差電流検出回路の出力に基づいてコイルに流す電流を制御するＰＷＭ信号を生成し上記電流出力回路に供給することを特徴とする請求項１〜７のいずれかに記載のモータの駆動制御装置。
【請求項９】
上記回転数比較回路の出力または外部からの回転数指令値のいずれかを選択して上記出力電流制御回路へ供給可能な切替え回路を備えていることを特徴とする請求項１〜８のいずれかに記載のモータの駆動制御装置。
【請求項１０】
ブラシレスモータの各相のコイルに流す電流を順次切り替えることで上記ブラシレスモータを回転駆動する上記ブラシレスモータ用の駆動制御装置と、
該駆動制御装置により回転駆動される上記ブラシレスモータと、
上記駆動制御装置に対して回転数指令値および動作モード指令を与えるシステム制御装置とを有するディスク回転システムであって、
上記駆動制御装置は、
複数のコイルを備えた上記ブラシレスモータの各相のコイルに順次電流を流す電流出力回路と、
上記ブラシレスモータの上記各相のコイルの端子間電圧を検出するコイル電圧検出回路と、
上記ブラシレスモータのコイルに流れる電流を検出するコイル電流検出回路と、
上記コイル電圧検出回路により検出されたコイル電圧と上記コイル電流検出回路により検出されたコイル電流をデジタル信号に変換するアナログ−デジタル変換回路と、
上記コイル電圧検出回路と上記コイル電流検出回路により検出された信号に基づいて上記電流出力回路を制御する制御系回路と、
を備え、
上記制御系回路は、
上記コイル電圧検出回路により検出されたモータ回転中の上記コイルの逆起電圧のゼロクロス点と上記電流出力回路が出力する電流のゼロ点の位相差を検出する位相差検出回路と、
該位相差検出回路により検出された位相差を累積するフィルタ回路と、
該フィルタ回路の出力に応じて周波数が制御される発振回路と、
上記電流出力回路を駆動して上記電流出力回路の出力電流を制御する信号を生成する出力電流制御回路とを含み、
駆動制御装置は、
上記発振回路の出力信号が上記各相のコイルに流す電流の切替えタイミングを与える信号として上記出力電流制御回路に供給され、該出力電流制御回路から上記位相差検出回路に対して出力電流のゼロクロス点のタイミングを示す信号がフィードバックされることにより位相制御ループが構成され、
上記位相制御ループの途中から取り出された上記ブラシレスモータの回転数に関する情報を含むデジタル信号より抽出した回転数と上記システム制御装置からの目標回転数とを比較して回転数差を検出する回転数比較回路を備え、該回転数比較回路の出力に基づいて上記出力電流制御回路が上記ブラシレスモータの回転数を制御するように構成されており、
ディスクの回転起動時に、所定の回転数に達するまでは上記システム制御装置からの上記回転数指令値を選択して上記出力電流制御回路へ供給しオープンループによるトルク加速回転制御を行ない、所定の回転数に達した後は上記回転数比較回路の出力を選択して上記出力電流制御回路へ供給しクローズドループによる回転制御を行なうように構成されていることを特徴とするディスク回転システム。
【請求項１１】
３相モーターの各相のコイルに順次電流を流す電流出力回路と、
上記３相モータの非通電相の逆起電圧を検出する逆起電圧検出回路と、
上記電流検出回路を駆動するためのパルス幅変調信号を供給し、上記逆起電圧を検出すべき相を選択するための信号を上記逆起電圧検出回路に供給する為の出力電流及び位相制御回路と、
上記逆起電圧検出回路によって検出された上記逆起電圧のゼロクロス点と上記電流出力回路が出力する電流のゼロ点の位相差とを検出する位相差検出回路とを有し、
上記位相差検出回路から上記３相モータの通電相を切り替えるための信号が上記出力電流及び位相制御回路へ出力され、上記出力電流及び位相制御回路から上記位相差検出回路に対して上記逆起電圧のゼロクロス点のタイミングを示す信号がフィードバックされることにより位相制御ループが構成され、
上記位相制御ループの途中から取り出された上記３相モータの回転数に関する情報を含むデジタル信号より抽出した回転数と外部から入力された目標回転数とを比較して回転数差を検出する回転数比較回路を更に備え、該回転数比較回路の出力に基づいて上記電流出力回路が上記３相モータの回転数を制御するように構成されていることを特徴とするモータの駆動制御装置。
【請求項１２】
上記第１の期間とは上記逆起電圧の１周期内において上記逆起電圧検出回路に検出された上記逆起電圧が上記３相モータそれぞれの接続された点である中点の電圧より大きい期間であり、
上記第２の期間とは上記逆起電圧の１周期内において上記逆起電圧検出回路に検出された上記逆起電圧が上記中点の電圧より小さい期間であり、
上記位相差検出回路は第１の期間と第２の期間との差を検出することにより上記逆起電圧検出回路によって検出された上記逆起電圧のゼロクロス点と上記電流出力回路が出力する電流のゼロ点の位相差とを検出することを特徴とする請求項１１記載のモータの駆動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラシレスモータの駆動制御技術さらにはモータの速度制御に適用して有効な技術に関するものであって、たとえばハードディスク装置（ハード・ディスク・ドライバ）のようなディスク型記憶媒体を回転駆動するスピンドルモータの駆動制御用半導体集積回路およびそれを用いたモータ駆動制御装置に利用して有効な技術に関するものである。
【背景技術】
【０００２】
ハードディスク装置における磁気ディスクの回転には、一般にスピンドルモータと呼ばれるブラシレスの直流多相モータが用いられており、スピンドルモータで磁気ディスクを高速で回転させ、この回転している磁気ディスクにリード／ライト用の磁気ヘッドを磁気ディスクの表面に近接させて径方向へ移動させながら情報の書込みまたは読み取りを行なっている。従来、ハードディスク装置におけるスピンドルモータの駆動制御装置に関する発明としては、例えば特許文献１に開示されているものがある。
【特許文献１】特開２００３−１１１４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記先願発明のモータ駆動制御技術は、無通電相における逆起電圧のゼロクロス点を検出することでロータの位置を検出してステータコイルへの通電切替えをＰＬＬ（フェーズロックドループ）制御によって行なう一方、コイルに流れる電流を検出するための抵抗の電圧から電流を検出してこの電流が外部のマイクロプロセッサから供給される電流指令値SPNCRNTと一致するように制御することによって行なっている。そして、マイクロプロセッサ（ＭＰＵ）には回転数を示す信号（PHASE）を送り、マイクロプロセッサはこの信号からモータの回転数を知り、所定の回転数が得られるように電流指令値SPNCRNTを決定してモータ駆動制御装置へ供給する、つまりマイクロプロセッサがモータの速度制御を行なう方式であった。
【０００４】
ハードディスク装置は、磁気ディスクに対する情報の書込み／読み取りを高速で行なえること、つまりアクセスの高速化に対する要求が強いため、ディスクすなわちスピンドルモータの回転の高速化が進められており、モータの速度制御をマイクロプロセッサが行なう方式では、高速化に伴ってマイクロプロセッサの負担が大きくなる。また、ハードディスク装置は小型化に対する要求も強く、近年、２．５インチのような径の小さなハードディスク装置が実用化されるようになってきている。
【０００５】
かかる小径のハードディスク装置はディスクのイナーシャが小さいためヘッドの移動によってスピンドルモータの負荷が変動して回転ムラが発生しやすくなるので、回転ムラを抑える速度制御が必要になってきている。さらに、マイクロプロセッサはスピンドルモータの他、ヘッドを移動させるボイスコイルモータの制御も行なう。そのため、スピンドルモータの速度制御をモータ駆動制御装置（制御用ＬＳＩ）に委ねることで、マイクロプロセッサの負担を軽減することが望まれている。
【０００６】
本発明の目的は、マイクロプロセッサに代わってモータの速度制御を行なうことができ、それによってマイクロプロセッサの負担を軽減することができる直流多相ブラシレスモータの駆動制御装置を提供することにある。
本発明の他の目的は、モータの回転ムラを小さくすることができる直流多相ブラシレスモータの駆動制御装置を提供することにある。
【０００７】
本発明のさらに他の目的は、マイクロプロセッサの負担を増加させることなく、モータが定常回転に至るまでの時間を短縮させることができる直流多相ブラシレスモータの駆動制御装置を提供することにある。
本発明のさらに他の目的は、磁気記憶ディスクを回転させるスピンドルモータの回転ムラを抑え、小型化および高密度記録が可能な磁気ディスク記録装置を提供することにある。
本発明の前記ならびにそのほかの目的と特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、無通電相における逆起電圧のゼロクロス点を検出してステータコイルへの通電切替えをＰＬＬ制御によって行なうとともに、コイルに流れる電流を検出する電流検出回路を備え検出電流値に基づいて速度制御を行なうモータ駆動制御装置において、通電切替え制御を行なうＰＬＬループから回転数情報を取り出して外部から供給される目標回転数とを比較して速度誤差を検出する速度誤差検出回路を設け、該速度誤差検出回路の出力と前記電流検出回路の出力とを比較してコイルに流す電流を決定して電流出力回路を制御するようにしたものである。
【０００９】
上記した手段によれば、マイクロプロセッサはモータの目標回転数を与えればよく、リアルタイムで電流指令値を与える必要がないのでマイクロプロセッサの負担を軽減することができる。
【００１０】
さらに、本発明は、通電切替え制御を行なうＰＬＬループから取り出された電気角３６０度毎の回転数に関する出力を所定回数加算することで機械角３６０度に相当する回転数情報を得て、該回転数情報と目標回転数とを比較してその速度誤差に基づいてコイルに流す電流を決定して電流出力回路を制御するようにしたものである。これにより、個体差によるモータの回転ムラを小さくすることができるようになる。
【００１１】
また、本発明は、通電切替え制御を行なうＰＬＬループから取り出された電気角３６０度毎の回転数に関する出力を機械角３６０度に相当する分だけ保持しておいて、機械角３６０度に相当する回転数情報を電気角３６０度毎に演算して、該回転数情報と目標回転数とを比較してその速度誤差に基づいてコイルに流す電流を決定して電流出力回路を制御するようにしたものである。これにより、負荷変動に伴うモータの回転ムラを小さくすることができるようになる。
【００１２】
さらに、本発明は、初期加速を上記速度制御のための制御ループを開いた状態でロータの磁極位置検出結果に基づいた通電相の切替え制御により行ない、回転数が数％から９０％程度までの加速をコイルのＢ−ＥＭＦ（以下、逆起電圧と記す）のゼロクロス点と出力電流のゼロ点とを一致させるように制御するＰＬＬ制御により行ない、さらに回転数９０％以上ではコイルの逆起電圧に基づいてコイル駆動電圧の位相を逆起電圧の位相に対して所定の位相量だけ早くなるように制御する位相制御および上記速度誤差検出回路の出力と上記電流検出回路の出力に基づく速度制御を行なうようにした。これによって、マイクロプロセッサの負担を増加させることなく、モータが定常回転に至るまでの時間を短縮させることができる。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、下記のとおりである。
すなわち、本発明に従うと、マイクロプロセッサに代わってモータの速度制御を行なうことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好適な実施態様を、図面を参照しながら説明する。
図１は、本発明をハードディスク記憶装置おけるスピンドルモータなどに用いられる３相ブラシレスモータの駆動制御回路に適用した場合の概略構成を示す。図１に示されている回路は、モータのコイルＬｕ，Ｌｖ，Ｌｗを除き単結晶シリコンのような１個または数個の半導体基板上に形成される。
【００１５】
図１において、１１は３相ブラシレスモータのコイルＬｕ，Ｌｖ，Ｌｗに順次電流を流す電流出力回路、２１は該電流出力回路１１の出力トランジスタを駆動して出力電流を制御するＰＷＭ（パルス幅変調）信号を生成して供給したり逆起電圧を検出するコイル端子を選択する信号をセレクタ１７に供給したりする出力電流&位相制御回路、ＲNFは３つのコイルＬｕ，Ｌｖ，Ｌｗに流れる総電流を検出するためそれらを加算した電流が流れるように電流出力回路１１に接続された電流検出用抵抗、１２はこの電流検出用抵抗ＲNFの両端子間の電位差を取り込むサンプルホールド回路、１３はこの電流検出用抵抗ＲNFの両端子間の電位差からコイル電流の大きさを検出する電流検出用差動アンプである。この電流検出用差動アンプ１３の出力電圧CRNTOUTは、ＡＤ変換回路（ＡＤＣ）１４によってデジタル信号に変換される。変換されたデジタル信号は電流誤差検出器２７に供給される。
【００１６】
この実施例では、特に制限されるものでないが、ＡＤ変換回路１４は１０ビットで構成され、コイルの逆起電圧をデジタル信号に変換する用途にも使用される。そのため、ＡＤ変換回路１４の前段には、電流検出用差動アンプ１３の出力電圧CRNTOUTとアンプ１６により検出された逆起電圧Ｂ-EMFOUTとを切り替えて入力させるマルチプレクサ１５が設けられている。
【００１７】
逆起電圧検出用アンプ１６は電流出力回路１１の出力端子ｕ，ｖ，ｗとセンタータップＣＴとの間に現われる各コイルＬｕ，Ｌｖ，Ｌｗの逆起電圧を検出する。このアンプ１６の反転入力端子にセンタータップＣＴの電圧が入力され、アンプ１６の非反転入力端子には各コイルＬｕ，Ｌｖ，Ｌｗの端子ｕ，ｖ，ｗの電圧のいずれかがセレクタ１７によって入力されることにより、各コイルＬｕ，Ｌｖ，Ｌｗの逆起電圧が順次検出される。
【００１８】
セレクタ１７は、上記出力電流&位相制御回路２１からの選択信号ＳＥＬによって制御される。逆起電圧検出用アンプ１６により検出された逆起電圧Ｂ-EMFOUTはフィルタ１８によりノイズが除去されてから、上記マルチプレクサ１５を介してＡＤ変換回路１４に供給されてデジタル信号に変換される。変換されたデジタル信号は後述の通電相制御回路２５に供給される。
【００１９】
１９は上記逆起電圧検出用アンプ１６から出力される逆起電圧Ｂ-EMFOUTを２値化し、逆起電圧のゼロクロス点を検出するコンパレータ、２２はこのコンパレータ１９から出力される逆起電圧Ｂ-EMFOUTのゼロクロス点と上記出力電流&位相制御回路２１から出力されるモータ各相の駆動電流のゼロ点との位相差を検出する位相差検出回路、２３は制御系の位相補償を行なうループフィルタ、２４はループフィルタ２３の出力値（デジタルコード）NCNTに応じた周波数で発振するデジタルコード制御発振回路（カウンタ）であり、この発振回路２４の出力が上記出力電流&位相制御回路２１においてＰＷＭ信号を生成する際の基準クロックPWMCLKとして利用される。
【００２０】
また、上記位相差検出回路２２とループフィルタ２３と発振回路２４と出力電流&位相制御回路２１と該出力電流&位相制御回路２１から位相差検出回路２２へのフィードバック経路によりＰＬＬ（フェーズロックドループ）が形成される。この位相制御ＰＬＬは、逆起電圧検出用アンプ１６から出力される逆起電圧Ｂ-EMFOUTのゼロクロス点を示す信号の位相と出力電流&位相制御回路２１から出力される信号の位相とが一致するように発振回路２４の動作を制御することで、コイルに印加される駆動電圧の周波数（１〜２ｋＨｚ）をロックする。
【００２１】
通電相制御回路２５は、モータ静止時に電流出力回路２１によりいずれかの相から他の相に向かってロータが反応しないような短いパルス電流を流した時に非通電相に誘起された誘起電圧やモータ回転中に発生し逆起電圧検出用アンプ１６により検出されたコイルの逆起電圧Ｂ-EMFOUTに基づいて通電相を決定する。そして、決定された通電相のコイルに対して規定時間、規定回数だけ通電してロータを回転させ、モータの起動を行なう。
【００２２】
具体的には、各コイルにロータが反応しないような短時間の通電を行なった際に磁気飽和現象でコイル間の相互インダクタンスが磁極位置によって変化し、相互誘導で非通電相に生じる誘起電圧の大きさが異なることを利用して磁極位置検出および通電相の決定を行なう。なお、磁極位置検出および通電相の決定の仕方およびモータの起動方法の詳細については、本発明者らが先に提案した特許出願（特開平２００３−１１１４８５号）において詳しく説明されている。
【００２３】
２９は図外のマイクロプロセッサ（ＭＰＵ）などとの間でデータの送受信を行なうシリアルポートで、このシリアルポート２９は、ＭＰＵから供給されるシリアルクロックＳＣＬＫやスピンドルモータの電流指示値SPNCRNT、動作モードに関する情報COMMODEやコマンドなどを受け取ったり、受信したモード情報に基づいて駆動制御回路内部の制御信号を生成したりする機能を有する。
【００２４】
さらに、３０は図１に示されている回路全体を制御するシーケンサ、２６はコイルに流れる電流の検出値に応じて電流出力回路１１に対する印加電圧波形情報を演算によって生成するソフトスイッチ制御回路、２７は前記電流検出用差動アンプ１３により検出されたコイルの電流値とＭＰＵからシリアルポート２９を介して供給された電流指示値との差を検出する誤差電流検出回路、２８は位相補償をしつつ前記誤差電流検出回路２７の出力に基づいて検出された電流差を積算するフィルタである。
【００２５】
このフィルタ２８から出力される電流差情報および前記ソフトスイッチ制御回路２６で生成された波形情報が前記出力電流&位相制御回路２１に供給され、出力トランジスタを駆動するＰＷＭ信号が生成されて電流出力回路１１に供給され、コイルに流される出力電流の制御が行われる。なお、ソフトスイッチ制御回路２７による制御の詳細については、本発明者らが先に提案した特許出願（特開平２００３−１１１４８５号）において詳しく説明されており、本発明には直接関係しないので、本明細書においては詳細な説明を省略する。
【００２６】
出力電流Ｉoutは、ＰＷＭ信号のデューティ（１周期に対するパルスの幅の割合）をＤＴＹ、コイルの逆起電圧をＢ-EMF、コイルの抵抗成分をＲLとおくと、次式
Ｉout＝｛（Ｖcc×ＤＴＹ）−Ｂ-EMF｝／ＲL
で表わされるので、ＰＷＭ信号のデューティＤＴＹが変化されると、コイルの出力電流Ｉoutは上記式に従って制御される。出力電流&位相制御回路２１では、フィルタ２８からの電流差情報に基づいて電流差が「０」となるような出力電流値を決定し、その電流値から上記式に従ってＰＷＭ信号のデューティＤＴＹを決定する。
【００２７】
特に制限されるものでないが、この実施例のモータ駆動制御回路においては、電気角６０度当たり例えば１６個のＰＷＭパルスで駆動電圧波形が形成されるようにされる。つまり、ロータが電気角で６０度回転する間に形成される１６個のパルスによって出力トランジスタが１６回オン、オフ制御され、その１６個のパルスのそれぞれのパルス幅が前記検出された電流値に応じて変化され駆動電圧波形が形成される。
【００２８】
さらに、本実施例のモータ駆動制御回路においては、上記位相制御ＰＬＬ上のループフィルタ２３の出力値（回転数情報）NCNTを入力とし、NCNTを順次加算して電気角３６０度分の速度情報を電気角３６０度毎に出力する速度検出回路４１と、該速度検出回路４１から出力される速度情報NOCNTとＭＰＵから供給される目標速度情報TGCNTとの差分を求める速度差検出回路４２と、速度制御ループの位相補償をしつつ検出された速度差を積算し換算電流値に変換するフィルタ回路４３と、該フィルタ回路４３により処理された速度差電流値SPNCRNTDATAまたはシリアルポート２９を介してＭＰＵから供給される電流指令値SPNCRNTを選択して誤差電流検出回路２７へ供給するマルチプレクサ４４を備える。なお、本明細書においては、速度制御と回転数制御は同義、また回転速度と回転数もほぼ同義である。速度検出回路４１と速度差検出回路４２とフィルタ回路４３とによって、回転数比較回路が構成される。
【００２９】
上記フィルタ回路４３には、シリアルポート２９を介して外部のＭＰＵからフィルタ定数FILTER0や初期値PREが設定可能にされる。上記目標速度情報TGCNTは、目標回転数（ｒｐｍ）をＮｔ、当該制御用ＬＳＩに供給されるマスタクロックφｃの周波数をｆｃとおくと、TGCNT＝ｆｃ／（Ｎｔ／６０）で表わされる情報である。図１において、破線Ａで囲まれた部分はアナログ回路部であり、それ以外はデジタル回路部である。デジタル回路部を構成する回路ブロックはそのほとんどがマスタクロックφｃに同期して動作する。本実施例では、数１００ｋＨｚのＰＷＭ制御帯域に対してマスタクロックφｃは数１０ＭＨｚの周波数の信号とされる。
【００３０】
次に、本実施例のモータ駆動制御回路におけるロータの磁極位置検出および通電相の決定方法について、図２を用いて説明する。なお、この実施例における磁極位置検出は、各コイルにロータが反応しないような短時間の通電を行なった際に磁気飽和現象でコイル間の相互インダクタンスが磁極位置によって変化し、相互誘導で非通電相に生じる誘起電圧の大きさが異なることを利用して行なうものである。
【００３１】
図２はロータの磁極位置検出および通電相の決定手順を機能的に表わしたものである。
先ず、処理の開始に先立って、図１の通電相制御回路２５に設けられＡＤ変換回路１４におけるＡＤ変換結果を累積保持する積算レジスタをリセットする（ステップＳ１）。その後、ロータが反応しないような短いパルスの電流をＶ相とＷ相のコイルに流しそのとき相互誘導現象で「Ｕ相」のコイルに現われる誘起電圧の検出を所定回数行ない、検出された誘起電圧をＡＤ変換回路１４で変換した結果を上記積算レジスタに累積させるとともに、電流の向きを変えて同一動作を繰り返す（ステップＳ２〜Ｓ４）。
【００３２】
また、このとき、予めコイルに電流を流さない状態でＡＤ変換回路１４を動作させて変換結果を上記積算レジスタに累積させてＵ相コイルの検出系のオフセットを検出して、オフセットのキャンセルを行なう（ステップＳ５）。検出系のオフセットには、検出回路のオフセットの他、モータが回転することにより発生するＢ−ＥＭＦ（逆起電圧）も含まれる。検出を繰り返す回数は例えば数１０〜数１００回とする。このようにＡＤ変換結果を積算することで、検出値のＳ／Ｎ比を向上させることができる。
【００３３】
次に、再び積算レジスタをリセット（ステップＳ６）してから、ロータが反応しないような短いパルスの電流をＵ相とＷ相のコイルに流し、今度は「Ｖ相」のコイルに現われる誘起電圧の検出を所定回数行ない、検出された誘起電圧をＡＤ変換回路１４で変換した結果を上記積算レジスタに累積させるとともに、電流の向きを変えて同一動作を繰り返す（ステップＳ７〜Ｓ９）。また、このとき、予めコイルに電流を流さずにＡＤ変換回路１４を動作させて変換結果を上記積算レジスタに累積させてオフセットを検出しておいて、Ｖ相コイルの検出系のオフセット値のキャンセルを行なう（ステップＳ１０）。
【００３４】
その後さらに、積算レジスタをリセット（ステップＳ１１）してから、ロータが反応しないような短いパルスの電流をＵ相とＶ相のコイルに流し、今度は「Ｗ相」のコイルに現われる誘起電圧の検出を所定回数行ない、検出された誘起電圧をＡＤ変換回路１４で変換した結果を上記積算レジスタに累積させるとともに、電流の向きを変えて同一動作を繰り返す（ステップＳ１２〜Ｓ１４）。また、このとき、予めコイルに電流を流さずにＡＤ変換回路１４を動作させて変換結果を上記積算レジスタに累積させてオフセットを検出しておいて、Ｗ相コイルの検出系のオフセット値のキャンセルを行なう（ステップＳ１５）。
【００３５】
図３は、上記ステップＳ２〜Ｓ５，Ｓ７〜Ｓ１０，Ｓ１２〜Ｓ１５の処理を、回路の動作手順として表わしたフローチャートを示す。
各処理では、先ずすべてのコイルの端子Ｕ，Ｖ，Ｗをハイインピーダンス状態にしてつまりコイルに電流を流さないで所定回数ＡＤ変換回路１４を動作させて、変換結果を積算レジスタＡに累積させる（ステップＳ１０１〜Ｓ１０３）。次に、着目する相以外の相のコイルにロータが反応しない電流を所定回数繰返し流してＡＤ変換回路１４による変換結果を積算レジスタＢに累積させる（ステップＳ１０４〜Ｓ１０６）。それから、積算レジスタＢの値からＡの値を引いてレジスタＣに格納する（ステップＳ１０７）。これによって、各コイルの検出系のオフセットがキャンセルされる。
【００３６】
続いて、再びすべてのコイルの端子Ｕ，Ｖ，Ｗを一旦ハイインピーダンス状態にして前の状態をリセットしてから、着目する相以外の相のコイルにロータが反応しない電流を「逆向き」に所定回数繰返し流してＡＤ変換回路１４による変換結果を積算レジスタＢに累積させる（ステップＳ１０８〜Ｓ１１１）。それから、積算レジスタＢの値からＡの値を引いてレジスタＤに格納する（ステップＳ１１２）。これによって、各コイルの検出系のオフセットがキャンセルされる。しかる後、レジスタＤの値にＣの値を加算し、その結果をレジスタＤ（Ｃでも可）に戻す。これによって、それぞれの電流による誘起電圧の差がレジスタＤに残ることとなる。なお、レジスタＤは各相に対応して３つ設けておく。
【００３７】
上記処理をＵ相、Ｖ相、Ｗ相の各相について行なった後、図２のステップＳ１６において、各相に対応したレジスタＤの値がすべて所定の判定値以下であるか否かチェックし、すべて所定の判定値以下のときは検出エラーと判断してアラームを出力する。さらに、次のステップＳ１７では、各相に対応したレジスタＤの値の極性を調べて、すべて同じ極性すなわちすべて正またはすべて負であるか否かチェックし、すべての判定結果が同じときは検出エラーと判断してアラームを出力する。いずれの場合も、系が正常であればそのような結果にはならないためである。
【００３８】
ステップＳ１７ですべて同じ極性でないと判定したときは、ステップＳ１８で、レジスタＤの値の極性から通電を開始する相を決定する。具体的には、次の表１に従って通電を開始する相を決定する。表１において、ＥｕはＵ相の誘起電圧、ＥｖはＶ相の誘起電圧、ＥｗはＷ相の誘起電圧である。各相の誘起電圧の正負が分かれば、ロータの磁極位置を判断することができるので、その磁極位置から表１のように、通電相と電流の向きを決定することができる。なお、上記のような通電開始相の決定方式については、本発明者らが先に提案した特許出願（特願平２０００−９００３７号）において詳しく説明されている。かかる決定方式は本発明に直接関係しないので、本明細書においては詳細な説明を省略する。
【００３９】
【表１】
2006074847.tif 000003
【００４０】
図２のステップＳ１８の次は、ステップＳ１９，Ｓ２０へ移行して規定時間、規定回数だけコイルに通電してロータを回転させる。そして、次のステップＳ２１で積算レジスタをリセットしてから、検出を行なう相を決定する（ステップＳ２２）。そして、決定した相以外の相のコイルにロータが反応しないような短いパルスの電流を流し、着目する相のコイルに現われる誘起電圧の検出を所定回数行ない、検出された誘起電圧をＡＤ変換回路１４で変換した結果を上記積算レジスタに累積させるとともに、電流の向きを変えて同一動作を繰り返す（ステップＳ２３〜Ｓ２６）。
【００４１】
ステップＳ１０７およびＳ１１２で検出系のオフセットをキャンセルすることによって、レジスタＤには、ステップＳ２０で流した電流によりロータが回転することでコイルに生じた逆起電圧による影響を取り除いた結果が残ることになる。従って、モータが回転している状態で誘起電圧から通電開始相を決定する処理を行なう際にも、逆起電圧による誤差を補正した誘起電圧検出値を得て、これを用いることで正確なロータの位置検出を行なうことができるようになる。
【００４２】
なお、このステップＳ２３〜Ｓ２６の処理は、図３に示されているフローチャートと同一の手順で行なわれる。従って、この間にオフセットのキャンセルが行なわれる。また、ステップＳ２３〜Ｓ２６の処理は、ステップＳ２１で決定した１つの相についてのみ行なえば良い。次に検出すべき相は、ステップＳ２０の通電で開始した回転方向から一義的に決定できるためである。このように、ここで誘起電圧を検出する相を１つにすることにより、検出に要する時間を短縮し、モータの加速時間を短縮することができる。
【００４３】
そして、次のステップＳ２７では、ステップＳ１６と同様に、各相に対応したレジスタＤの値がすべて所定の判定値以下であるか否かチェックし、すべて所定の判定値以下のときは検出エラーと判断してアラームを出力する。さらに、次のステップＳ２８では、ステップＳ１７と同様に、各相に対応したレジスタＤの値の極性がすべて正またはすべて負であるか否かチェックし、すべての判定結果が同じときは検出エラーと判断してアラームを出力する。このとき最初の判定では、ステップＳ２３〜Ｓ２６の処理を行なった相以外の相に対応するレジスタＤの値は、ステップＳ１〜Ｓ１８の処理で残っている値を用いることができる。その後、各相のレジスタＤの値に基づいて表１に従って、ステップＳ２０で通電を行なう相を決定する（ステップＳ２９）。
【００４４】
次に、コイルの逆起電圧Ｂ−ＥＭＦのゼロクロス点を検出して位相差検出回路２２、ループフィルタ２３、デジタルコード制御発振回路２４および出力電流&位相制御回路２１からなるＰＬＬをロックして、逆起電圧の位相に合わせてコイルに流す電流の位相制御（相切替え）について、図４を用いて説明する。
【００４５】
かかる位相制御を行なうのは、コイルに流す電流の位相がコイルに発生する逆起電圧Ｂ−ＥＭＦの位相に一致しているときに最も大きなトルクを発生させてモータを回転させることができるためである。この制御により、逆起電圧Ｂ-EMFのゼロクロス点に同期してコイルの相切替え制御信号ＵＣＯＭ，ＶＣＯＭ，ＷＣＯＭが生成される。なお、図４において、図１の回路と同一もしくは相当する部分には同一の符号を付してある。
【００４６】
図４において、イクスクルーシブＯＲゲートＧ０は、逆起電圧のゼロクロス点が正から負に変化する点なのか負から正に変化する点なのかに応じて逆起電圧検出回路１９の出力を反転するための回路、また、ＮＡＮＤゲートＧ１，Ｇ２は、スイッチ制御回路ＳＳＣからのマスク信号MASKによってコンパレータ１９の出力信号が位相差検出回路２２に入力されないようにするための回路である。
【００４７】
この実施例の位相制御ループ系では、３相出力のうちハイインピーダンスとなる１相の逆起電圧Ｂ-EMFのみを検出する。位相差検出回路２２はアップダウンカウンタで構成され、検出期間のうち逆起電圧Ｂ-EMFがセンタータップＣＴの電位より高いとき(Ｈｉｇｈ期間)はカウントダウンし、センタータップＣＴの電位より低いとき(Ｌｏｗ期間)はカウントアップして、Ｈｉｇｈ期間とＬｏｗ期間の差時間を位相誤差として検出する。
【００４８】
検出期間中以外の期間は検出マスク期間とし、位相差検出回路２２をリセットする。なお、マスク信号MASKのタイミングは、図４におけるスイッチ制御回路ＳＳＣ内において、本ＰＬＬの出力であるFCOM信号に同期するように生成される。また、マスク時間の長さはFCOM信号の周期NCNTに対して一定の比率で決められている。位相差検出回路２２の出力はFCOM信号の立下りに同期してサンプリングリングされ、ループフィルタ２３にて積分され、新たなFCOM信号の周期NCNTが決定される。
【００４９】
この実施例の回路の設計において留意すべき点は、前記通電相制御回路２５による通電相の決定とそれに基づく駆動パルスの印加でモータを加速回転できるのは、回転数が３％程度までであり、３％〜９０％のような範囲では図４の制御系によってモータを回転させなければならないため、この系のＰＬＬには非常に広いロックレンジを持たせなくてはならない点と、このようにロックレンジが広いと誤った初期値の設定で疑似ロックを起こし易くなるので初期値の設定を正確に行なわなくてはならない点にある。
【００５０】
そこで、この実施例の位相制御ループ系においては、この系による位相制御を開始する直前にＵ相、Ｖ相、Ｗ相の各コイルの端子を一時的にハイインピーダンス状態にして逆起電圧Ｂ−ＥＭＦのゼロクロス点のタイミングｔｚと周波数ｆ０を検出する回転検出モードを設けて、このモードで検出した値ｔｚ，ｆ０をデジタルコード制御発振回路２４内のレジスタ（もしくはループフィルタ２３）に初期値として設定し、ループ制御を開始させることでＰＬＬの疑似ロックの発生を防止しつつ最短時間で位相ロックできるようにしている。
【００５１】
また、この実施例の位相制御ループ系においては、ループフィルタ２３からデジタルコード制御発振回路２４に与えられる発振周波数情報ＮＣＮＴを、ディレイ回路ＤＬＹで１クロック遅延させてループフィルタ２３に戻して、この情報によりループフィルタ２３のゲインを制御するように構成されている。具体的には、デジタルコード制御発振回路２４に対して周波数を高くするよう指令する発振周波数情報ＮＣＮＴが与えられたときはループフィルタ２３のゲインが高くなり、デジタルコード制御発振回路２４に対して周波数を低くするよう指令する発振周波数情報ＮＣＮＴが与えられたときはループフィルタ２３のゲインが低くなるようにループフィルタ２３が構成されている。これは、図５のような特性になるように位相制御系ループが構成とされる。
【００５２】
一般的に、制御ループの伝達特性は２次特性(−４０dＢ／dec)で、０dＢ 帯域の周波数ωoにおいて1次(−２０dＢ／dec)となるように、周波数ω1（ω1<ω０）に１次の零点を持たせて位相補償する。本制御ループはサンプリングシステムであり、図６からも分かるように、相切替え毎に１回(従って、逆起電圧Ｂ-EMFの１周期毎に６回)の割合で位相誤差のサンプリングが行われる。即ちサンプリング周波数は逆起電圧Ｂ-EMFの周波数の６倍である。ここで、帯域ωoが高いほど、目標追従性がよくロックアップ時間も短縮できるが、サンプリングによる遅延の影響を考慮して、制御ループを安定に保つためには、０dＢ 帯域の周波数ωoは通常サンプリング周波数ωsの１／１０〜１／２０に設定するのが良い。
【００５３】
一方、安定性確保を重視して、定常回転の数％でのサンプリング周波数をもとにωoを設定した場合、モータが定常回転数になると追従性が著しく劣化し、最悪ロックはずれを生じる。上記問題点の解決のために、本発明では、ω1およびωoを回転数に比例させている。これにより、広範なロックレンジと常に最適な目標追従性と安定性を得ることができる。なお、この実施例では、上述のように発振回路２４の設定値であるNCNT(FCOM信号の周期)をディレイ回路ＤＬＹで１クロック遅延させてループフィルタ２３の係数および利得にフィードバックすることで実現している。
【００５４】
さらに、この実施例の位相制御ループ系においては、デジタルコード制御発振回路２４から位相差検出回路２２に対して現在の発振周波数の情報FDCOをフィードバックさせて位相差検出回路２２の位相感度を一定にさせるような制御を行なっている。これは、位相差検出回路２２に入ってくる信号は逆起電圧Ｂ−ＥＭＦのゼロクロス点と当該ＰＬＬの発振信号との絶対的な時間差を示す信号であるので、モータの回転数が変わるとその時間差に対応する位相が変わってしまうので、回転数が変わっても位相差検出回路２２に入ってくる時間差信号は同一の位相差信号とみなせるようにするためである。
【００５５】
前述のように広範な回転数(定常の数％〜定常)に対する逆起電圧Ｂ-EMFの検出信号が入力された場合、本実施例の位相差検出回路２２はアップダウンカウンタで構成されているので、一定周期のクロックを用いた動作では、同じ位相誤差が与えられたとしても周波数が低い（回転数が低い）際に位相誤差の値が大きくなりすぎて、後段のループフィルタ２３の計算でオーバーフローを生じ、結局、広範な回転数入力に対応できない。
【００５６】
そこで、回転数に因らず位相差検出回路２２の利得(位相誤差角度に対する誤差カウント値)を一定に保てるように、周波数が固定であるシステムクロックではなく、発振回路２４の入力設定値NCNT(FCOM信号の周期)のｍ倍（例えば２５６倍）の周波数を持つ発振回路２４の発振周波数情報FDCOを位相差検出回路２２へフィードバックさせて位相差検出回路２２のカウンタをアップダウン動作させるようにしている。
【００５７】
図６は、本ＰＬＬループが位相ロックした状態を表している。マスク信号ＭＡＳＫがロウレベルの期間であって、逆起電圧Ｂ-EMFが正か負かを示す信号Ｕ−Ｎがハイレベルの期間は位相差検出回路２２に対する制御信号ＤＥＣＥＬがハイレベルとされてカウンタはダウンカウントし、マスク信号ＭＡＳＫがロウレベルで信号Ｕ−Ｎがロウレベルの期間は位相差検出回路２２に対する制御信号ＡＣＣＥＬがハイレベルとされてカウンタはアップカウントし、アップ／ダウンの差が位相差検出値とされる。
【００５８】
図６の位相ロック状態では、位相誤差が生じないため、アップ／ダウンのカウント数が等しくなり、位相差検出回路２２の出力はゼロ(ゼロカウント)となる。図７は、本ＰＬＬループが位相遅れを検出した状態を表しており、この場合は、カウントアップの期間がカウントダウンの期間より長い為、位相差検出回路２２は(+)の位相誤差を出力し、これによってFCOM（相切替え）信号の周期が短くなり位相を進めて位相誤差を調整する。
【００５９】
図８は、本ＰＬＬループが位相進みを検出した状態を表しており、この場合は、カウントアップの期間がカウントダウンの期間より短い為、位相差検出回路２２は(-)の位相誤差を出力し、これによってFCOM信号の周期が長くなり位相を遅らせて位相誤差を調整する。なお、図６〜図８において、コイルへの駆動出力OUTPUTが正弦波でなく、３０度〜１３５度および−３０度〜−１３５度の範囲でフル振幅波形になっているのは、電力損失を減らすためである。かかる駆動方式については、本発明者らが先に出願した特願２００２−３５９９９２号において説明されている。かかる駆動方式は、本発明には直接関係しないので説明は省略する。
【００６０】
次に、本実施例のモータ駆動制御回路における速度制御部（４１〜４４）の動作について、図９〜図１２を用いて説明する。
位相制御ＰＬＬ上のループフィルタ２３から速度制御部の速度検出回路４１に入力される速度情報（回転数情報）NCNTは、マスタクロックφｃの周波数をｆｃ、相切替え周波数をｆcomとすると、次式
NCNT＝ｆｃ／１６・ｆcom  ……（１）
で表わされる。上式の分母に"１６"があるのは、本実施例では、ロータが電気角で６０度回転する間に出力トランジスタに印加される駆動信号が前述したように１６個のパルスよりなるからである。
【００６１】
また、３相交流駆動では、図８からも分かるように、ロータの電気角３６０度の間に６回相切替えが行なわれるため、１周期がロータの電気角で３６０度に相当する逆起電圧B-EMFの周波数を"ｆBEMF"とおくと、"ｆBEMF"はｆBEMF＝ｆcom／６で表わされるので、式（１）より、"NCNT"との間には、次式
ｆBEMF＝ｆｃ／６・１６・NCNT  ……（２）
が成り立つ。
【００６２】
本実施例では、"NCNT"の更新周期は１／ｆcomであり、正確な回転数情報を得るには、相切替えごとの回転数情報を加算して電気角３６０度の回転数情報を換算する必要がある。つまり、上式（２）は、次式（３）のように変形される。
【００６３】
【数１】
2006074847.tif 000004
【００６４】
本実施例では、速度検出回路４１が遅延器と加算器とからなる図９（Ａ）または（Ｂ）に示すような構成の演算器を備え、マスタクロックφｃでループフィルタ２３からの回転数情報"NCNT"をサンプリングして、次式（４）で示されるような演算を行なうことにより回転数情報"BEMFCNT"を得るようにされている。
【００６５】
【数２】
2006074847.tif 000005
【００６６】
ところで、モータの１分間の回転数をＮｏ（ｒｐｍ）、１秒間の回転数をｆspn（Ｈｚ）、モータの磁極数（磁石の数）をＰとおくと、
Ｎｏ＝６０・ｆspn
ｆspn＝（２／Ｐ）・ｆBEMF  ……（５）
で表わされ、式（５）は逆数をとって次式（６）のように変形される。
１／ｆspn＝（Ｐ／２）・（１／ｆBEMF）  ……（６）
【００６７】
実際のモータでは、着磁ばらつきや巻き線ばらつきの影響で、逆起電圧B-EMFの周波数"ｆBEMF"は機械角３６０度の間で一定でないことが普通であるので、モータの正確な周期"NOCNT"は、次式（７）のようになる。
【００６８】
【数３】
2006074847.tif 000006
【００６９】
本実施例では、速度検出回路４１が磁極数Ｐに応じて図１０（Ａ）または（Ｂ）あるいは（Ｃ）に示すような構成の演算器を備え、マスタクロックφｃで図９（Ａ）または（Ｂ）の演算器の出力"BEMFCNT"をサンプリングして、式（７）で示されるような演算を行なうことにより、着磁ばらつき等に影響されない正確な回転数情報"NOCNT"を得るようにされている。
【００７０】
上記式（７）で示される回転数情報"NOCNT"は機械角３６０度あたりの回転数であるが、図９（Ａ）または（Ｂ）の演算器の出力"BEMFCNT"をＰ／２個保持しておいて、図１１に示すように、１／ｆBEMFごとすなわち電気角３６０度ごと、Ｐ／２個の"BEMFCNT"の値を足し合わせた"NOCNT"を出力させるように構成することによって、機械角３６０度の回転数情報"NOCNT"を１／ｆBEMFごとに得る、つまりモータ一回転あたりＰ／２回だけ回転数情報"NOCNT"を得ることができる。
【００７１】
これにより、速度制御の制御帯域を高め応答特性を向上させることができる。なお、図１１はＰ＝１２の場合であり、（Ｂ）は（Ａ）の状態から１／ｆBEMFだけ経過した後の状態を示している。図示しないが、（Ａ）の状態から２／ｆBEMFだけ経過した後の状態、（Ａ）の状態から３／ｆBEMFだけ経過した後の状態、（Ａ）の状態から４／ｆBEMFだけ経過した後の状態、（Ａ）の状態から５／ｆBEMFだけ経過した後の状態を経由して、（Ａ）の状態へ戻る。
【００７２】
図１２には、本実施例のモータ駆動制御回路における速度制御部（４１〜４４）全体の機能構成が示されている。
図１２では、図９（Ｂ）の演算器と図１０（Ａ）の演算器によりループフィルタ２３の出力"NCNT"を入力とし、乗算器で１６倍した値を順次加算して電気角３６０度分の速度情報を電気角３６０度毎に出力する速度検出回路４１が構成されている。また、速度差検出回路４２は減算器ＳＵＢで構成され、該速度検出回路４１から出力される上記速度情報"NOCNT"とＭＰＵから供給される目標速度情報（回転数）"TGCNT"との差分"SECNT"を求めて出力する。具体的には、"TGCNT"から電気角３６０度毎に得られる"NOCNT"を引いた値（TGCNT−NOCNT）を"SECNT"としてフィルタ回路４３へ出力する。この場合、BEMFCNTをＰ／２個保持することは、回路規模の増大を招く。本例では、目標値の±数%以上の回転数に至った場合、SECNTをクランプしても問題ないことから、"TGCNT"をＰ／２で割った値から電気角３６０度毎に得られる"BEMFCNT"を引いた値（２・TGCNT／Ｐ−BEMFCNT）をＰ／２個保持する。
【００７３】
ここで、Ｐ＝１２の場合、電気角３６０度毎の差分（２・TGCNT／Ｐ−BEMFCNT）をΔBEMFCNT(1)，ΔBEMFCNT(2)……ΔBEMFCNT(6)で表わすと、
SECNT＝ΔBEMFCNT(1)＋ΔBEMFCNT(2)＋……＋ΔBEMFCNT(6)
となる。
【００７４】
フィルタ回路４３は、２個の加算器ＡＤＤ１，ＡＤＤ２と遅延器ＤＬＹおよび係数乗算器ＭＵＬにより構成され、次式（８）
SPNCRNT＝ΣSECNT＋FILTER0・ΣSECNT    ……（８）
で示される演算を行なって、電流値情報"SPNCRNT"として出力する。そして、マルチプレクサ４４によってモードに応じてＭＰＵからの電流指令値"CRNT"またはフィルタ２３の出力"SPNCRNT"のいずれかが選択されて誤差電流検出回路２７へ供給される。式（８）において、"FILTER0"はフィルタ定数である。
【００７５】
遅延器ＤＬＹは、ラッチもしくはレジスタからなり、ＭＰＵから与えられるプリセット値"PRE"を保持するとともに、このプリセット値"PRE"を保持している間、速度差検出回路４２の出力"SECNT"がフィルタ４３へ供給されないように遮断するか、"SECNT"を強制的に"０"にして、出力"SPNCRNT"を一定の値にクランプできるように構成されている。また、フィルタ４３の特性は、ＭＰＵから供給されるフィルタ定数"FILTER0"によって与えられる。
【００７６】
次に、コイルに流れる電流を検出する電流検出用抵抗ＲNFの電位差を取り込むサンプルホールド回路１２と、検出された電位差を増幅する電流センスアンプ１３と、電流値をデジタル値に変換するＡＤ変換回路１４と、検出された電流地とＭＰＵから与えられる電流指示値またはフィルタ４３の出力SPNCRNTとの差を検出する電流誤差アンプ２７と、デジタルフィルタ２８と、出力電流&位相制御回路２１とからなりコイルに流す駆動電流の制御を行なう駆動電流制御系の回路部分について、図１３を用いて説明する。なお、図１３において、図１の回路と同一もしくは相当する部分には同一の符号を付してある。
【００７７】
図１３において、３１はＭＰＵから与えられる電流指示値SPNCRNTに係数を掛けて電流指令値を補正する補正用演算回路、３２，３３はオフセットキャンセル用の加算器、３４は電流指示値SPNCRNTと検出されてコイル電流との誤差を得る加算器で、これらの演算回路によって誤差電流検出回路２７が構成されている。そして、この誤差電流検出回路２７の出力に基づいて検出された電流差に応じた値を発生するフィルタ２８の出力は、出力電流&位相制御回路２１内のＰＷＭパルス生成回路２１Ａに供給される。加算器３３は、電流検出用抵抗ＲNFで検出されＡＤ変換回路１４で変換されたデジタル値にレジスタ３５に予め保持されている値を足し込むことによって、オフセットをキャンセルした正確な検出電流値Ｉdtcを出力する。この電流値Ｉdtcはソフトスイッチ制御回路２６に供給される。
【００７８】
この回路の設計において留意すべき点は、電流検出に使用する電流センスアンプ１３やＡＤ変換回路１４が有するオフセットをキャンセルしないと、微少電流領域の精度が悪化し、制御可能な電流範囲が狭くなる点と、電流値のサンプリングクロックφｓをＰＷＭ駆動のオン期間の中心に合わせなくてはならない点にある。なお、サンプリングクロックφｓをＰＷＭ出力パルスの中心に合わせるのは、コイルの電流値は変化しており、ＰＷＭ駆動のオン期間の中心付近での電流値が最も平均電流値に一致するので、この点の電流値をサンプリングすることで精度の高い電流制御が可能となるためである。
【００７９】
そこで、この実施例の駆動電流制御系においては、ロータの位置検出とそれに基づくモータの回転制御を開始する前に、コイルに電流を流さない状態で電流検出用抵抗ＲNFの電位差をサンプルホールド回路１２に取り込んで、その電位差を電流センスアンプ１３で増幅し、さらにそれをＡＤ変換回路１４でデジタル値に変換した値をオフセットレジスタ３５に保持させるとともに、このレジスタ３５の値を加算器３２でＭＰＵから与えられる電流指示値またはフィルタ４３の出力SPNCRNTに足し込むようにしている。これによって、電流検出に使用する電流センスアンプ１３やＡＤ変換回路１４のオフセットを検出するとともに、そのオフセットをキャンセルして微少電流領域の精度が悪化し、制御可能な電流範囲が狭くなるのを防止している。
【００８０】
次に、上記のように構成された実施例のモータ駆動制御回路によるモータの起動から定常回転に至るまでの手順を、図１４のフローチャートおよび図１５のタイミングチャートを用いて説明する。
【００８１】
モータの起動指令があると、先ずコイルの逆起電圧を検出してモータの回転周波数を検出する（ステップＳ２０１）。これは、一時的な電源瞬断等があって電源が回復した後にモータの起動指令がある場合を考慮したものであり、通常はモータが停止しているので、次のステップＳ２０２でモータの回転数が例えば目標の３％のような値以下と判定されてステップＳ２１０へ移行してステップＳ２１１の通電相決定処理が図２の手順に従って行なわれる。通常はこの処理によってモータの回転が開始される。
【００８２】
その後、図２のステップＳ１６やＳ１７，Ｓ２７，Ｓ２８のアラームがあったか否か判定される（ステップＳ２１２）。アラームがあったときは、図２のステップＳ２等におけるセンス時間や図３のステップＳ１０４等における通電時間などのパラメータの再設定を行なう（ステップＳ２１３）。そして、ステップＳ２１４で繰返し回数ｉを「＋１」してステップＳ２１０へ戻り、繰返し回数ｉが予め設定された規定回数ｎを越えたか判定し、規定回数を越えたときはステップＳ２０１へ戻ってコイルの逆起電圧を検出してモータの回転周波数の検出を行なう。ステップＳ２１１の通電相決定処理を所定回数行なえばほとんどの場合、モータは回転を始めるためである。ステップＳ２１２でアラームがなかったときは、既にモータは回転を開始しているので、この場合もステップＳ２０１へ戻ってコイルの逆起電圧を検出してモータの回転周波数の検出を行なう。
【００８３】
ステップＳ２０２でモータの回転数が３％を越えていると判定されると、図４を用いて説明したＰＬＬによるコイルの逆起電圧の位相に合わせてコイルに流す電流の位相制御（相切替え）を行なってモータの回転速度を加速させる処理を行なう（ステップＳ２０３）。そして、次のステップＳ２０４でＰＬＬのロックがはずれているか判定し、ロックが外れたときはステップＳ２０１へ戻って上記動作を繰り返す。なお、上記のような起動制御は発振回路２４の周波数を例えば１００ｋＨｚに固定した状態で行なわれる。
【００８４】
一方、ステップＳ２０４でＰＬＬのロックがはずれていないと判定したときは、ステップＳ２０５へ移行してモータの回転数が９０％を越えたか否か判定し、９０％を越えるまではＰＬＬによる制御でモータの加速を続ける。ＰＬＬ制御によるモータの加速は、発振回路２４内のレジスタの値を発振周波数が順次高くなるように書き換えることで行なわれる。この書き換えは、シーケンサ３０によって行なわれる。そして、かかるオープンループの加速制御によってモータの回転数が９０％を越えるようになったときはステップＳ２０６へ進んで、ソフトスイッチ制御回路２６によって、コイルに発生する逆起電圧Ｂ-EMFの位相に対して各相のコイル電圧をΔθだけ位相が早くなるように印加して、コイル電流の位相を逆起電圧Ｂ-EMFの位相に一致させる位相制御処理を行なう。
【００８５】
そして、次のステップＳ２０７で、モータの回転数が９５％を越えたか否か判定し、９５％を越えると、ステップＳ２０８へ進んで速度検出回路４１を含む速度制御ループによる速度制御へ移行する。その後、ステップＳ２０９で、例えばモータの回転数が目標値から±４％以内であるか判定することで位相制御および速度制御が不能な状態になっていないか判定し、不能になっていないときはステップＳ２０５へ戻って回転数をチェックし、ステップＳ２０６〜Ｓ２０８の制御を続ける。これによって、通常モータは定常回転に至る。また、ステップＳ２０９で、位相制御および速度制御が不能な状態になったと判定した場合にはステップＳ２０１へ戻って再起動を行なう。
【００８６】
なお、ステップＳ２０８へ移行するとき、ＭＰＵはシリアルポート２９からフィルタ４３へ定常回転状態での値を想定した初期値"PRE"をプリセットしておいてコマンドCOMMODEを送ってマルチプレクサ４４をフィルタ４３側へ切り替えてクローズループへ移行して自動速度制御を行なわせる。また、マルチプレクサ４４をフィルタ４３側へ切り替える前は、コマンドにより速度差検出回路４２の出力"SECNT"がフィルタ４３へ供給されないように遮断するか、"SECNT"を強制的に"０"にすることで、加速中の速度差"SECNT"がフィルタ４３へ供給されないようにする。
【００８７】
これにより、クローズループからオープンループへ切り替えた直後にモータ回転数がオーバーシュートを起こすのを抑制することができる。図１５に、本実施例の速度制御部を適用したモータ駆動制御回路における電流、回転数、回転数誤差、フィルタの保持値の時間的変化を実線で、本実施例を適用しないモータ駆動制御回路における電流、回転数、回転数誤差、フィルタの保持値の時間的変化を破線で示す。図１５（Ｂ）のモータ回転数を示す実線と破線を比較すると明らかなように、破線よりも実線（本実施例）の方がオーバーシュート量が小さいことが分かる。
【００８８】
以上、本発明者によってなされた発明を実施態様にもとづき具体的に説明したが、本発明は上記実施態様に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記実施例のモータ駆動制御回路では、逆起電圧を検出することでロータの静止位置を検出して通電開始相を決定するセンサレス方式を採用したものを説明したが、ホールセンサなどを用いてロータの静止位置を検出するように構成することも可能である。また、モータは３相でなく多相のモータであっても良い。
【００８９】
また、実施例においては、モータの回転数が９５％を境に速度制御ループをオープンループからクローズドループに切り替えると説明したが、９５％は一例であって９０〜９６％程度の範囲にあればよい。また、実施例においては、モータの回転数が９０％を越えると位相制御ＰＬＬによる制御を開始し、９５％を超えると速度制御ループをオープンループからクローズドループに切り替えるようにしているが、位相制御ＰＬＬによる制御と同時に行なうあるいは速度制御ループの切替えを先に行なうように構成することも可能である。
【００９０】
さらに、実施例においては、速度制御部（４１〜４４）にフィードバックする速度情報を位相制御ループ上のループフィルタ２３の出力側から取り出すようにしているが、速度情報は他の部位から取り出しても良いし、位相制御ループ上の信号を計数するカウンタを別途設けてそのカウンタ値を速度情報として速度制御部へ供給しても良い。ただし、実施例のように速度情報を位相制御ループ上のループフィルタ２３の出力側から取り出すことで回路規模の増加を抑えることができる。
【００９１】
また、フィルタ２３から出力される速度情報NCNTがサンプリング周波数に対して小数点以下の情報を含み発振回路２４がサンプリング周波数で動作する場合には、発振回路２４で量子化誤差が生じるので、発振回路よりも後段から速度情報を取り出すと速度制御の精度が低下するが、実施例においてはフィルタ２３から出力される速度情報NCNTを速度制御部（４１〜４４）にフィードバックしているため、精度の高い速度制御が行なえる。
【００９２】
さらに実施例に従うと、マイクロプロセッサの負担を軽減することができるとともに、モータの回転ムラを小さくすることができる直流多相ブラシレスモータの駆動制御装置を実現することができる。また、磁気記憶ディスクを回転させるスピンドルモータの回転ムラを抑え、小型化および高密度記録が可能な磁気ディスク記録装置を実現することができる。
【００９３】
さらに、本発明に従うと、マイクロプロセッサの負担を増加させることなく、モータが定常回転に至るまでの時間を短縮させることができる直流多相ブラシレスモータの駆動制御装置を実現することができるという効果が得られる。
【産業上の利用可能性】
【００９４】
以上の説明では主として、本発明者によってなされた発明をその背景となった利用分野であるハードディスク記憶装置のモータ駆動制御装置に適用した場合について説明したが、それに限定されるものではなく、例えばＭＯ（光磁気ディスク）装置やＤＶＤ（デジタル・ビデオ・ディスク）装置、ＣＤ（コンパクト・ディスク）装置のディスクを回転させるモータ、レーザビームプリンタのポリゴンミラーを回転させるモータなどのブラシレスモータを駆動するモータ駆動制御装置に広く利用することができる。
【図面の簡単な説明】
【００９５】
【図１】本発明を適用した３相ブラシレスモータの駆動制御回路の一実施例を示すブロック図である。
【図２】実施例のモータ駆動制御回路によるロータの磁極位置検出および通電相の決定手順を機能的に表わしたフローチャートである。
【図３】図２のフローチャートのステップＳ２〜Ｓ５，Ｓ７〜Ｓ１０，Ｓ１２〜Ｓ１５の処理を、回路の動作手順として表わしたフローチャートである。
【図４】実施例のモータ駆動制御回路におけるＰＬＬによる位相制御の回路部分を示したブロック図である。
【図５】実施例のモータ駆動制御回路のＰＬＬ回路におけるループフィルタのゲインの周波数スケーリングを説明するグラフである。
【図６】実施例のモータ駆動制御回路のＰＬＬ回路のロック時の各信号のタイミングを示すタイミングチャートである。
【図７】実施例のモータ駆動制御回路のＰＬＬ回路の位相遅れ時の各信号のタイミングを示すタイミングチャートである。
【図８】実施例のモータ駆動制御回路のＰＬＬ回路の位相進み時の各信号のタイミングを示すタイミングチャートである。
【図９】（Ａ），（Ｂ）は実施例の速度制御部の速度検出回路の前半部分の構成例を示したブロック図である。
【図１０】（Ａ），（Ｂ），（Ｃ）は実施例の速度制御部の速度検出回路の後半部分の構成例を示したブロック図である。
【図１１】（Ａ），（Ｂ）は実施例のモータ駆動制御回路における機械角と電気角との関係および１／ｆBEMF離れた時点での速度誤差を示した説明図である。
【図１２】実施例のモータ駆動制御回路における速度制御部の構成例を示したブロック図である。
【図１３】実施例のモータ駆動制御回路におけるコイルに流す駆動電流を制御する回路部分を示したブロック図である。
【図１４】実施例のモータ駆動制御回路によるモータの起動から定常回転に至るまでの手順を示すフローチャートである。
【図１５】実施例のモータ駆動制御回路によるモータの起動から定常回転に至るまでの電流、回転数、回転数誤差、フィルタの保持値の時間的変化を示すタイミングチャートである。
【符号の説明】
【００９６】
Ｌｕ，Ｌｖ，Ｌｗ  コイル
１１  電流出力回路
１２  出力電流値のサンプルホールド回路
１３  出力電流検出用差動アンプ
１４  ＡＤ変換回路
１６  逆起電圧検出回路
１７  セレクタ
２１  出力電流制御回路
２２  位相比較回路
２３  ループフィルタ
２４  デジタルコード制御発振回路
２５  通電相制御回路
２６  ソフトスイッチ制御回路
２７  誤差電流検出回路
２８  フィルタ
２９  シリアルポート
３０  シーケンサ
４１  速度検出回路
４２  速度誤差検出回路
４３  フィルタ
４４  マルチプレクサ
【図１】
2006074847.tif 000007
【図２】
2006074847.tif 000008
【図３】
2006074847.tif 000009
【図４】
2006074847.tif 000010
【図５】
2006074847.tif 000011
【図６】
2006074847.tif 000012
【図７】
2006074847.tif 000013
【図８】
2006074847.tif 000014
【図９】
2006074847.tif 000015
【図１０】
2006074847.tif 000016
【図１１】
2006074847.tif 000017
【図１２】
2006074847.tif 000018
【図１３】
2006074847.tif 000019
【図１４】
2006074847.tif 000020
【図１５】
2006074847.tif 000021