以下、本発明の実施形態の例を、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。尚、本明細書では、記述の簡略化上、情報、信号、物理量又は部材等を参照する記号又は符号を記すことによって、該記号又は符号に対応する情報、信号、物理量又は部材等の名称を省略又は略記することがある。例えば、後述の“30”によって参照されるドライバICは、ドライバIC30と表記されることもあるし、IC30と略記されることもあり得るが、それらは全て同じものを指す。
まず、本実施形態の記述にて用いられる幾つかの用語について説明を設ける。グランドとは、0V(ゼロボルト)の基準電位を有する導電部を指す又は基準電位そのものを指す。後述のトランジスタTrH及びTrLを含むFET(電界効果トランジスタ)として構成された任意のトランジスタについて、オン状態とは、当該トランジスタのドレイン及びソース間が導通状態となっていることを指し、オフ状態とは、当該トランジスタのドレイン及びソース間が非導通状態(遮断状態)となっていることを指す。オン状態、オフ状態を、単にオン、オフと表現することもある。
図1は、本発明の実施形態に係る磁気ディスク装置としてのハードディスク装置(以下HDD装置と称する)1の機構に関わる概略構成図である。
HDD装置1は、記録媒体である磁気ディスク10と、磁気ディスク10に対して情報の書き込み及び読み込みを行う磁気ヘッド11(以下ヘッド11とも称されうる)と、磁気ヘッド11を磁気ディスク10の半径方向に対して移動自在に支持するアーム12と、磁気ディスク10を支持及び回転させるスピンドルモータ13(以下SPM13とも称されうる)と、アーム12を回転駆動及び位置決めすることで磁気ヘッド11を磁気ディスク10の半径方向に対して移動させ且つ位置決めするボイスコイルモータ14(以下VCM14とも称されうる)と、を備える。
HDD装置1は、更に、一対の圧電素子15と、ロードビーム16と、磁気ヘッド11を磁気ディスク10から離間した所定の退避位置に保持するランプ部17と、を備える。アーム12の先端にロードビーム16が取り付けられ、ロードビーム16の先端に磁気ヘッド11が取り付けられる。アーム12の先端部におけるロードビーム16の取り付け部付近に一対の圧電素子15が配置される。一対の圧電素子15に対して互いに逆位相の電圧を加えることで、一対の圧電素子15が互いに逆位相で伸縮し、ロードビーム16の先端の磁気ヘッド11を磁気ディスク10の半径方向において変位させることができる。
このように、HDD装置1では、いわゆる2段アクチュエータ方式が採用されている。VCM14は、アーム12を駆動することで磁気ディスク10上において磁気ヘッド11を荒く位置決めする(相対的に荒い分解能で位置決めする)粗動アクチュエータとして機能し、一対の圧電素子15は、アーム12の位置を基準にして磁気ヘッド11の位置を調整することで磁気ディスク10上において磁気ヘッド11を精密に位置決めする(VCM14よりも細かい分解能で位置決めする)微動アクチュエータとして機能する。以下では、一対の圧電素子15から成るアクチュエータを、マイクロアクチュエータの略称“MA”を用い、MA15と称する。尚、圧電素子15を複数対設けることで微動アクチュエータを複数段アクチュエータとして良い。
磁気ディスク10と、磁気ヘッド11と、MA15及びロードビーム16が取り付けられたアーム12と、SPM13と、VCM14と、ランプ部17は、HDD装置1の筐体内に収められる。尚、VCM14又はMA15による磁気ヘッド11の移動、変位に関し、磁気ディスク10の半径方向における移動、変位とは、円盤形状を有する磁気ディスク10の外周と中心とを結ぶ方向における移動、変位を意味するが、VCM14又はMA15による磁気ヘッド11の移動、変位が、磁気ディスク10の半径方向における移動、変位に加えて、他の方向(例えば磁気ディスク10の外周の接線方向)における移動、変位の成分を含むこともある。
図2は、HDD装置1の電気的な概略ブロック図である。HDD装置1には、電気的な構成部品として、ドライバIC30、信号処理回路21、MPU(micro-processing unit)22及び電源回路23が設けられている。電源回路23は、ドライバIC30及び信号処理回路21、MPU22を駆動するための電源電圧を、それらに供給する。MPU22は、信号処理回路21及びドライバIC30の夫々に対し、双方向通信が可能な形態で接続されている。
信号処理回路21は、磁気ディスク10への情報(データ)の書き込み時には、当該情報を書き込むための記録信号を磁気ヘッド11に出力し、磁気ディスク10から情報(データ)を読み出す時には、磁気ディスク10から読み出された信号に対して必要な信号処理を施し、これによって得られた信号をMPU22に送る。MPU22は、信号処理回路21の制御を通じて磁気ヘッド11による情報の書き込み動作及び読み込み動作を制御する。
ドライバIC30は、図3に示すような、半導体集積回路を、樹脂にて構成された筐体(パッケージ)内に封入することで形成された電子部品(ドライバ装置)である。尚、図3に示されるドライバIC30のピン数(外部端子の数)は例示に過ぎない。ドライバIC30には、SPM13を駆動制御するためのSPMドライバ33、VCM14を駆動制御するためのVCMドライバ34及びMA15を駆動制御するためのMAドライバ35が設けられる他、MPU22及びドライバIC30間の双方向通信を可能とするためのIF回路(インターフェース回路)32や、IF回路32を通じてMPU22から受けた制御データに基づきドライバ33~35の動作を制御する制御回路31などが設けられる。
MPU22は、ドライバIC30のSPMドライバ33を制御することによりSPM13の駆動制御を通じて磁気ディスク10の回転制御を行い、ドライバIC30のVCMドライバ34及びMAドライバ35を制御することによりVCM14及びMA15の駆動制御を通じて磁気ヘッド11の移動制御及び位置決めを行う。磁気ディスク10の各箇所には磁気ディスク10上の各々の位置を示す位置情報が記録されており、磁気ディスク10上に磁気ヘッド11が位置しているとき、この位置情報は磁気ヘッド11により読み取られて、信号処理回路21を通じてMPU22に伝達される。MPU22は当該位置情報に基づいてVCMドライバ34及びMAドライバ35を制御でき、この制御を通じて、VCMドライバ34がVCM14に必要な駆動電流を供給することで磁気ヘッド11の第1段階の位置決めが実現され且つMAドライバ35がMA15に必要な電圧を供給することで磁気ヘッド11の第2段階の位置決めが実現される。尚、磁気ヘッド11が磁気ディスク10上に位置しているとは、磁気ヘッド11が微小な空間を隔てて磁気ディスク10の上方に位置していることを意味する。
磁気ヘッド11が磁気ディスク10の外周の外側に位置している場合など、磁気ヘッド11にて位置情報が読み出されていない状態においては、MPU22は、位置情報に頼らずにVCMドライバ34及びMAドライバ35を制御できる。例えば、磁気ヘッド11をランプ部17における退避位置から磁気ディスク10上に移動させる場合、MPU22は、その移動に適した所定の駆動電流をVCM14に供給することを指示する信号をドライバIC30に出力すれば良く、これによりVCMドライバ34は当該信号に基づく所定の駆動電流をVCM14に供給する。磁気ヘッド11にて位置情報が読み出されていない状態において、磁気ヘッド11の精密な位置制御は不要となるため、MA15に対する供給電圧はゼロとされて良い又は固定電圧とされて良い。
図4に、SPM13及びSPMドライバ33の内部構成とそれらの接続関係を示す。ドライバIC30に設けられた外部端子には、端子TMA、TMB、TMC及びTMCTが含まれる。SPM13は、スター結線されたA相のコイル13A、B相のコイル13B及びC相のコイル13Cを備えた三相ブラシレス直流モータである。SPM13は、ステータと永久磁石を備えたロータとを有し、ステータにコイル13A、13B及び13Cが設けられる。コイル13A、13B及び13Cは、電気角において互いに120°ずつ、位相がずれた位置に配置される。コイル13Aの一端、コイル13Bの一端、コイル13Cの一端は、夫々、外部端子TMA、TMB、TMCに接続され、コイル13A、13B及び13Cの他端同士は、センタータップとも称される中性点13CTにて共通接続されている。外部端子TMA、TMB、TMCは出力端子とも称され得る。また、中性点13CTは外部端子TMCTに接続される。尚、以下の説明において、単にステータ、ロータと記した場合、それらは、SPM13のステータ、ロータを指すものとする。
SPMドライバ33は、A相のハーフブリッジ回路50Aと、B相のハーフブリッジ回路50Bと、C相のハーフブリッジ回路50Cと、プリドライバ回路51と、駆動制御部52と、位置検出部53と、位置検出用制御部54とを備え、SPM13をセンサレス駆動する。
ハーフブリッジ回路50A、50B及び50Cの夫々は、電源電圧VPWRが加わるラインとグランドとの間に直列に接続されたハイサイドトランジスタTrH及びローサイドトランジスタTrLから成る。トランジスタTrH及びTrLはNチャネル型のMOSFET(Metal Oxide Semiconductor Field effect transistor)として構成されている。電源電圧VPWRは所定の正の直流電圧であり、ここでは例として12V(ボルト)であるとする。
より具体的には、ハーフブリッジ回路50A、50B及び50Cの夫々において、トランジスタTrHのドレインは、電源電圧VPWRが印加される第1電源端子に接続されて電源電圧VPWRの供給を受け、トランジスタTrHのソースとトランジスタTrLのドレインはノードNDにて共通接続され、トランジスタTrLのソースは第2電源端子として機能するグランドに接続されている。ハーフブリッジ回路50A、50B、50CにおけるノードNDは、夫々、出力端子TMA、TMB、TMCに接続される。故に、ハーフブリッジ回路50A、50B、50CにおけるノードNDは、夫々、出力端子TMA、TMB、TMCを介して、コイル13A、13B、13Cの一端に接続されることになる。尚、特に図示しないが、各ハーフブリッジ回路において、トランジスタTrHのソースからドレインに向かう向きを順方向とする寄生ダイオードがトランジスタTrHに対し並列接続され、トランジスタTrLのソースからドレインに向かう向きを順方向とする寄生ダイオードがトランジスタTrLに対し並列接続されることになる。
コイル13A、13B、13Cの一端における電圧に相当する、出力端子TMA、TMB、TMCに加わる電圧を、夫々、VTMA、VTMB、VTMCにて表す。プリドライバ回路51並びにハーフブリッジ回路50A、50B及び50Cにて出力段回路が構成され、当該出力段回路により、電圧VTMA、VTMB、VTMCが、夫々、A相、B相、C相用の駆動電圧としてコイル13A、13B、13Cに供給されることになる。尚、電圧VTMA、VTMB、VTMCが端子TMA、TMB、TMCに加わることに注目し、電圧VTMA、VTMB、VTMCを、以下では夫々端子電圧VTMA、VTMB、VTMCと称することもある。
また、出力端子TMA、TMB、TMCを通じてコイル13A、13B、13Cに流れる電流を、コイル電流と称し、夫々、IA、IB、ICにて参照する。コイル電流IAについて、ハーフブリッジ回路50AのノードNDから出力端子TMAを介しコイル13Aに向けて流れるコイル電流IAの極性を正と定義し、その逆の極性を負と定義する。コイル電流IB及びICについても同様に極性を定義する。
SPM13のセンサレス駆動を実現するため、位置検出部53は、電圧VTMA、VTMB及びVTMCに基づいてSPM13のロータの位置(以下、ロータ位置と称することがある)を検出し、ロータ位置の検出結果を示す信号SDETを駆動制御部52に出力する。信号SDETは位置検出用制御部54にも供給される。また、位置検出部53には外部端子TMCTも接続されている。外部端子TMCTには、中性点13CTの電位を表す電圧VCT_REALが加わる。ロータの回転に伴いロータに設けられた永久磁石の磁極の位置(N極又はS極の位置)が変化し、この磁極の位置がロータ位置として検出されることになる。故に、検出されるべきロータ位置は磁極位置と読み替えられても良い。
駆動制御部52は、位置検出部53によるロータ位置の検出結果を示す信号SDETに基づき、所望の回転をロータに生じさせるための駆動制御信号DRVA、DRVB及びDRVCを生成して出力する。信号DRVA、DRVB、DRVCは、夫々、ハーフブリッジ回路50A、50B、50Cに対する駆動制御信号である。駆動制御部52は、パルス幅変調された信号を駆動制御信号DRVA、DRVB及びDRVCとして生成することができる。例えば、SPM13にて発生されるべきトルクを指定するトルク指令信号Trq*が駆動制御部52に与えられているとき、駆動制御部52は、トルク指令信号Trq*にて指定されたトルクがSPM13にて発生するよう、パルス幅変調された駆動制御信号DRVA、DRVB及びDRVCを生成する。
プリドライバ回路51は、駆動制御信号DRVA、DRVB及びDRVCに従ってハーフブリッジ回路50A、50B及び50C内の各トランジスタのゲート電位を制御することで各ハーフブリッジ回路の状態を制御する。これにより、電源電圧VPWRを駆動制御信号DRVA、DRVB及びDRVCに従ってスイッチングした電圧が駆動電圧VTMA、VTMB及びVTMCとして出力端子TMA、TMB及びTMCに加わって、SPM13がスイッチング駆動され、ロータが回転することになる。ハーフブリッジ回路50A、50B及び50Cの内の任意の1つである対象ハーフブリッジ回路において、トランジスタTrHがオンであって且つトランジスタTrLがオフとなっている状態を出力ハイ状態と称し、トランジスタTrHがオフであって且つトランジスタTrLがオンとなっている状態を出力ロー状態と称する。トランジスタTrH及びTrLのオン抵抗がゼロであると仮定すると、例えばハーフブリッジ回路50Aにおいて、出力ハイ状態であればハイサイドトランジスタTrHを介して電源電圧VPWRが出力端子TMAに加わり、出力ロー状態であればローサイドトランジスタTrLを介してグランドの電位が出力端子TMAに加わる(但し過渡状態を無視)。ハーフブリッジ回路50B及び50Cについても同様である。
また、対象ハーフブリッジ回路がハイインピーダンス状態(以下、Hi-Z状態と称することがある)とされることもある。対象ハーフブリッジ回路におけるHi-Z状態は、対象ハーフブリッジ回路のトランジスタTrH及びTrLを共にオフ(オフ状態)とすることで実現され、これにより、対象ハーフブリッジ回路による、対応するコイルへの通電が停止される。
図5(a)を参照し、SPMドライバ33内では、抵抗101~103を用いて電圧VTMA~VTMCから仮想中性点電圧VCT_VIRTUALが生成される。より具体的には、抵抗101、102、103の一端に、夫々、電圧VTMA、VTMB、VTMCが供給され、抵抗101~103の他端同士はノード104にて共通接続される。ノード104に生じる電圧が仮想中性点電圧VCT_VIRTUALである。抵抗101~103はSPM13内のコイル13A~13Cの抵抗成分を模したものである。但し、抵抗101~103の抵抗値はコイル13A~13Cの抵抗値と比べて随分と大きい。SPM13において、コイル13A~13Cの抵抗値は実質的に互いに等しいため、抵抗101~103の抵抗値を互いに一致させることで、仮想中性点電圧VCT_VIRTUALは、中性点13CTにおける実際の電圧VCT_REALと等しいとみなせる。
図5(b)を参照し、位置検出部53は、電圧VCT_REAL及びVCT_VIRTUALの内の任意の一方を、中性点13CTの電位を表す中性点電圧VCTとして取り扱う。MPU22は、電圧VCT_REAL及びVCT_VIRTUALの何れを中性点電圧VCTとして用いるのかを指定できて良い。尚、電圧VCT_VIRTUALを中性点電圧VCTとして用いることが予め決まっている場合には、IC30から外部端子TMCTを省略することも可能である。
図5(c)に示す如く、端子TMAに加わる電圧VTMAと中性点電圧VCTとの差分の電圧(VTMA-VCT)、端子TMBに加わる電圧VTMBと中性点電圧VCTとの差分の電圧(VTMB-VCT)、端子TMCに加わる電圧VTMCと中性点電圧VCTとの差分の電圧(VTMC-VCT)を、夫々、“VSPA”、“VSPB”、“VSPC”にて表す。電圧VSPAはコイル13Aの両端間に加わる電圧(コイル電圧)を表し、電圧VSPBはコイル13Bの両端間に加わる電圧(コイル電圧)を表し、電圧VSPCはコイル13Cの両端間に加わる電圧(コイル電圧)を表す。端子TMA~TMCに加わる電圧から仮想中性点電圧VCT_VIRTUALの生成を介して電圧VSPA~VSPCを生成する回路又は端子TMA~TMC及びTMCTに加わる電圧から電圧VSPA~VSPCを生成する回路が、位置検出部53内に設けられる。そして、図5(d)に示すように、位置検出部53に設けられたA/D変換器60は、アナログ電圧として入力された電圧VSPA、VSPB又はVSPCを所望のタイミングでサンプリングすることで、電圧VSPA、VSPB又はVSPCの値をデジタル信号として検出することができる。
ここで、SPM13におけるコイル間の相互インダクタンスについて考える。例として、A相のコイル電流IAとB相のコイル電圧VSPBとの関係について説明する。コイル電流IA及びコイル電圧VSPBは下式(A1)及び(A2)の関係を満たす。ここで “dIA/dt”はコイル電流IAの時間微分を表し、Mはコイル13A及び13B間の相互インダクタンスを表し、LA、LBは、夫々、コイル13A、13Bの自己インダクタンスを表し、“(LA・LB)1/2”は(LA・LB)の正の平方根を表し、kABはコイル13A及び13B間の結合係数を表す。
VSPB=M・dIA/dt ・・・(A1)
M=kAB(LA・LB)1/2 ・・・(A2)
結合係数kABはロータ位置に依存する。このため、相互インダクタンスMに基づき発生する電圧VSPB(詳細には、コイル電流IAの時間変化に応答して、相互インダクタンスMに基づきコイル13Bにて発生する電圧VSPB)もロータ位置に依存することになる。故に、相互インダクタンスMに基づき発生する電圧VSPBを検出すれば、その検出結果からロータ位置を検出(換言すれば推定)することが可能である。A相及びB相間の関係について述べたが、他の2相間についても同様である。
位置検出部53は、この原理を利用してロータ位置の検出を行う。即ち、A相、B相及びC相のコイル13A、13B及び13Cの内、2つの相のコイルを対象コイルペアとして且つ残りの1つの相のコイルを非対象コイルとして取り扱った上で、非対象コイルに対応するハーフブリッジ回路をHi_Z状態としつつ対象コイルペアにパルス状の矩形電圧である検出用パルス電圧を印加することで対象コイルペアに検出用電流を流す。そして、このときに、相互インダクタンスに基づき非対象コイルに発生する電圧(VSPA、VSPB又はVSPC)を検出することでロータ位置を検出する。
図6(a)~(f)に、コイル13B及び13Cが対象コイルペアとされると共に、コイル13Bが高電位側に且つコイル13Cが低電位側になるように検出用パルス電圧が印加されたときの、磁界の様子を示す。但し、図6(a)~(f)は、夫々、ロータ位置が0°、60°、120°、180°、240°、300°であるときの、磁界の様子を示している。ロータ位置は、ロータの回転における位相に相当し、0°から360°の範囲内の電気角で表現される。本実施形態では、コイル13Aに電流を供給せず且つコイル13Bからコイル13Cに向けて電流を供給したときにロータが停止するロータ位置を0°と定義する。
図6(a)~(f)の夫々において、コイル13A~13Cを取り囲む輪はロータに設けられた永久磁石を模式的に示したものである。図6(a)~(f)の夫々において、一点鎖線で示された3つの矢印付き直線はロータに設けられた永久磁石による磁界を表し、破線で示された2つの矢印付き直線は検出用電流による磁界を表し、実線で示された2つの矢印付き直線はコイル13A及び13B間の相互インダクタンスに基づく磁界並びにコイル13A及び13C間の相互インダクタンスに基づく磁界を表す。
相互インダクタンスにより生成される磁界はロータ位置に応じて変化し、これに連動して、非対象コイルとしてのコイル13Aに生じる電圧VSPA(相互インダクタンスに基づく電圧VSPA)が変化することになる。図6(a)~(f)では、コイル13B及び13Cの内、コイル13Cを高電位側にしてコイル13B及び13Cに対し検出用パルス電圧が印加されたときの様子が示されているが、それとは逆向きに検出用パルス電圧が印加されたときも、ロータ位置に応じた変動が電圧VSPAに生じる。
本実施形態では、コイル13B及び13Cを対象コイルペアに設定した上で、コイル13Bが高電位側になるように検出用パルス電圧を印加したときの電圧VSPAと、コイル13Cが高電位側になるように検出用パルス電圧を印加したときの電圧VSPAとの和を求め、その和を用いてロータ位置を検出する。上記の和だけでは、ロータ位置の検出は180°ステップの検出となる(即ち検出分解能は180°となる)。そこで、コイル13A及び13Bを対象コイルペアに設定した上で同様の処理を行い、且つ、コイル13C及び13Aを対象コイルペアに設定した上で同様の処理を行い、それらの処理を統合することで60°ステップの検出を実現する。
図7を参照し、検出用パルス電圧を印加するための区間を位置検出用区間と称し、ロータを回転駆動させるための電圧を出力端子TMA、TMB及びTMCに印加するための区間を駆動用区間と称する。基本的に、ロータを回転させる必要のある区間は全て駆動用区間に属するが、位置検出用制御部54(図4参照)は、駆動用区間に対し、所定の長さ(時間長さ)を有する位置検出用区間を周期的に挿入する。位置検出用区間の挿入周期は予め設定される。位置検出用区間の挿入周期は可変設定されるものであっても良く、この際、MPU22は位置検出用区間の挿入周期を指定できて良い。1つの位置検出用区間内におけるロータ位置の変化が無視できる程度に小さくなるよう、位置検出用区間の長さが設定されると良い。但し、これは理想的な目標であり、厳密には当該目標からずれが生じる(以下の説明では、このようなずれの存在を無視する)。
駆動用区間において、駆動制御部52は所望の回転をロータに行わせるための駆動制御信号DRVA、DRVB及びDRVCを生成し、プリドライバ回路51は駆動制御信号DRVA、DRVB及びDRVCに従ってハーフブリッジ回路50A、50B及び50C内の各トランジスタのゲート電位を制御する。このため、駆動用区間では、電源電圧VPWRを駆動制御信号DRVA、DRVB及びDRVCに従ってスイッチングした電圧が駆動電圧VTMA、VTMB及びVTMCとして出力端子TMA、TMB及びTMCに加わり、SPM13がスイッチング駆動されることになる。
これに対し、各位置検出用区間において、プリドライバ回路51は、位置検出用制御部54の制御の下で、駆動制御信号DRVA、DRVB及びDRVCに依らず、所定の位置検出用動作を実行する。ロータの回転中に位置検出用区間が挿入されて位置検出用動作が実行されても、ロータのイナーシャによりロータは回転し続ける。
以下の複数の実施例の中で、位置検出用動作の詳細な具体例や、上述の構成に関わる動作例、応用技術及び変形技術を説明する。特に記述無き限り且つ矛盾無き限り、上述した事項が後述の各実施例に適用される。後述の各実施例において、上述の内容と矛盾する事項については、各実施例での記載が優先されて良い。また矛盾無き限り、以下に述べる複数の実施例の内、任意の実施例に記載した事項を、他の任意の実施例に適用することもできる(即ち複数の実施例の内の任意の2以上の実施例を組み合わせることも可能である)。
<<第1実施例>>
第1実施例を説明する。位置検出用動作として、複数種類のパルス列印加処理の何れかを行うことができるが、第1実施例では、パルス列印加処理の基本となる7パルス印加処理(基準パルス列印加処理)説明する。
図8に示す如く、位置検出用区間において7パルス印加処理を実行する際、位置検出用区間は、7つの区間P[0]~P[6]に細分化される。以下、区間P[i]は、区間P[0]~P[6]の内の任意の何れかを指すものとする。任意の整数iについて区間P[i+1]は区間P[i]の次に訪れる。区間P[0]~P[6]の内、最初の区間P[0]はダミー区間であり、残りの区間P[1]~P[6]は検出実区間である。故に、以下では、区間P[0]をダミー区間P[0]又は単にダミー区間と称することがあり、自然数iについての区間P[i]を検出実区間P[i]又は単に検出実区間と称することがある。
図9(a)及び(b)に示す如く、各区間[i]は(即ちダミー区間P[0]及び検出実区間P[1]~P[6]の夫々は)、パルス印加区間とパルス印加区間の後に設けられる非印加区間とから成る。パルス印加区間は検出用パルス電圧が対象コイルペアに印加される区間であり、非印加区間は全相のハーフブリッジ回路50A、50B及び50CがHi-Z状態とされる区間である。パルス印加区間及び非印加区間の長さは予め設定されていて良い。パルス印加区間の長さを動的に設定する方法も採用可能である(当該方法については後述)。但し、何れにせよ、パルス印加区間の長さは区間P[0]~P[6]間において共通とされると良く、非印加区間の長さも区間P[0]~P[6]間において共通とされると良い。
1つの区間P[i]において、パルス印加区間中に印加処理BC、印加処理BA、印加処理CA、印加処理CB、印加処理AB及び印加処理ACの何れかが実行される。
図10は、区間P[i]内のパルス印加区間中に印加処理BCが実行される場合における、区間P[i]での電圧及び電流の様子を示す図である。印加処理BCは、コイル13B及び13Cを対象コイルペアとし且つコイル13Aを非対象コイルとした上で、対象コイルペアに対しコイル13Bを高電位側にして検出用パルス電圧を印加する処理である。このため、印加処理BCの実行時においては、ハーフブリッジ回路50B、50C、50Aが、夫々、出力ハイ状態、出力ロー状態、Hi-Z状態とされ、結果、端子電圧VTMB及びVTMCは夫々電源電圧VPWRの電位及びグランドの電位と等しくなる一方で、端子電圧VTMAは電源電圧VPWRの電位とグランドの電位との間の電位となり且つロータ位置に依存して変動することになる。
パルス印加区間において対象コイルペアに流れる電流の大きさが増加してゆき、その電流の大きさの増加の傾きに応じた電圧が非対象コイル(図10ではコイル13A)に発生する。また、その発生電圧はロータ位置に依存することになる。図10において、非対象コイルに対応する端子電圧(図10ではVTMA)の波形近傍に示される2つの破線は、当該2つの破線間で当該端子電圧がロータ位置に依存して変動することをイメージ化したものである(後述の図11、図22及び図27においても同様)。
検出用パルス電圧はパルス状の矩形電圧であるが、パルス印加区間の長さが検出用パルス電圧のパルス幅に相当することになる。また、検出用パルス電圧の大きさは電源電圧VPWR(ここでは12V)と一致することになる。
A/D変換器60(図5(d)参照)は、パルス印加区間中における所定のサンプリングタイミングにおいて、非対象コイルに対応するコイル電圧(印加処理BCではVSPA)をサンプリングする。サンプリングタイミングは、A/D変換器60の電気的特性であるアクイジジョン時間(例えば5マイクロ秒)と変換時間(例えば10マイクロ秒)とを含む時間の幅を有する概念である。
非印加区間では、各コイルの蓄積エネルギが各ハーフブリッジ回路のトランジスタ(TrH、TrL)の寄生ダイオードを介して放出され、非印加区間の終了時点では端子電圧VTMA、VTMB及びVTMCはゼロとなっている。
図11は、7パルス印加処理のタイミングチャート図である。図11の7パルス印加処理では、ダミー区間P[0]中のパルス印加区間にて印加処理ACが実行され、検出実区間P[1]~P[6]中のパルス印加区間にて、夫々、印加処理BC、印加処理BA、印加処理CA、印加処理CB、印加処理AB、印加処理ACが実行される。図11において、折れ線610A、610B、610Cは、夫々、区間P[0]~P[6]における端子電圧VTMA、VTMB、VTMCの波形を表し、実線による折れ線620A、破線による折れ線620B、一点鎖線による折れ線620Cは、夫々、区間P[0]~P[6]におけるコイル電流IA、IB、ICの波形を表す。
検出実区間P[1]~P[6]にて実行される6つの印加処理は6パルス印加処理を形成していると言え、7パルス印加処理は、この6パルス印加処理に対し、ダミー区間P[0]中の処理を付加したものであると言える。尚、後にも述べられるが、ダミー区間P[0]を設けないことも可能であり、この場合、7パルス印加処理は6パルス印加処理そのものとなる。
印加処理BC、印加処理BA、印加処理CA、印加処理CB、印加処理AB及び印加処理ACの何れにおいても、対象コイルペアに対して検出用パルス電圧が印加され、且つ、非対象コイルに対応するハーフブリッジ回路がHi-Z状態とされることで非対象コイルに対する通電が停止されることになるが、対象コイルペアの組み合わせ又は検出用パルス電圧の印加方向が、それら6つの印加処理の間で異なる。それら6つの印加処理について説明する。印加処理BCについては上述した通りである。
印加処理BAは、コイル13B及び13Aを対象コイルペアとし且つコイル13Cを非対象コイルとした上で、対象コイルペアに対しコイル13Bを高電位側にして検出用パルス電圧を印加する処理である。このため、印加処理BAの実行時においては、ハーフブリッジ回路50B、50A、50Cが、夫々、出力ハイ状態、出力ロー状態、Hi-Z状態とされ、結果、端子電圧VTMB及びVTMAは夫々電源電圧VPWRの電位及びグランドの電位と等しくなる一方で、端子電圧VTMCは電源電圧VPWRの電位とグランドの電位との間の電位となり且つロータ位置に依存して変動することになる。
印加処理CAは、コイル13C及び13Aを対象コイルペアとし且つコイル13Bを非対象コイルとした上で、対象コイルペアに対しコイル13Cを高電位側にして検出用パルス電圧を印加する処理である。このため、印加処理CAの実行時においては、ハーフブリッジ回路50C、50A、50Bが、夫々、出力ハイ状態、出力ロー状態、Hi-Z状態とされ、結果、端子電圧VTMC及びVTMAは夫々電源電圧VPWRの電位及びグランドの電位と等しくなる一方で、端子電圧VTMBは電源電圧VPWRの電位とグランドの電位との間の電位となり且つロータ位置に依存して変動することになる。
印加処理CBは、コイル13C及び13Bを対象コイルペアとし且つコイル13Aを非対象コイルとした上で、対象コイルペアに対しコイル13Cを高電位側にして検出用パルス電圧を印加する処理である。このため、印加処理CBの実行時においては、ハーフブリッジ回路50C、50B、50Aが、夫々、出力ハイ状態、出力ロー状態、Hi-Z状態とされ、結果、端子電圧VTMC及びVTMBは夫々電源電圧VPWRの電位及びグランドの電位と等しくなる一方で、端子電圧VTMAは電源電圧VPWRの電位とグランドの電位との間の電位となり且つロータ位置に依存して変動することになる。
印加処理ABは、コイル13A及び13Bを対象コイルペアとし且つコイル13Cを非対象コイルとした上で、対象コイルペアに対しコイル13Aを高電位側にして検出用パルス電圧を印加する処理である。このため、印加処理ABの実行時においては、ハーフブリッジ回路50A、50B、50Cが、夫々、出力ハイ状態、出力ロー状態、Hi-Z状態とされ、結果、端子電圧VTMA及びVTMBは夫々電源電圧VPWRの電位及びグランドの電位と等しくなる一方で、端子電圧VTMCは電源電圧VPWRの電位とグランドの電位との間の電位となり且つロータ位置に依存して変動することになる。
印加処理ACは、コイル13A及び13Cを対象コイルペアとし且つコイル13Bを非対象コイルとした上で、対象コイルペアに対しコイル13Aを高電位側にして検出用パルス電圧を印加する処理である。このため、印加処理ACの実行時においては、ハーフブリッジ回路50A、50C、50Bが、夫々、出力ハイ状態、出力ロー状態、Hi-Z状態とされ、結果、端子電圧VTMA及びVTMCは夫々電源電圧VPWRの電位及びグランドの電位と等しくなる一方で、端子電圧VTMBは電源電圧VPWRの電位とグランドの電位との間の電位となり且つロータ位置に依存して変動することになる。
尚、図11では、各区間P[i]において、端子電圧VTMA、VTMB及びVTMCの内、最大となるものに対し記号“H”が付され、最小となるものに対し記号“L”が付され、残りの1つに対し記号“M”が付されている(後述の図22及び図27においても同様)。
印加処理BCが行われる検出実区間(図11の例ではP[1])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPAをサンプリングする。このサンプリングにより得られたコイル電圧VSPAの値を“VSPA_BC”にて表す。
印加処理BAが行われる検出実区間(図11の例ではP[2])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPCをサンプリングする。このサンプリングにより得られたコイル電圧VSPCの値を“VSPC_BA”にて表す。
印加処理CAが行われる検出実区間(図11の例ではP[3])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPBをサンプリングする。このサンプリングにより得られたコイル電圧VSPBの値を“VSPB_CA”にて表す。
印加処理CBが行われる検出実区間(図11の例ではP[4])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPAをサンプリングする。このサンプリングにより得られたコイル電圧VSPAの値を“VSPA_CB”にて表す。
印加処理ABが行われる検出実区間(図11の例ではP[5])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPCをサンプリングする。このサンプリングにより得られたコイル電圧VSPCの値を“VSPC_AB”にて表す。
印加処理ACが行われる検出実区間(図11の例ではP[6])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPBをサンプリングする。このサンプリングにより得られたコイル電圧VSPBの値を“VSPB_AC”にて表す。
位置検出部53は、各サンプリングにて得られた電圧値を用い、以下式(B1)~式(B3)に従う電圧VBC+CB、VAC+CA及びVAB+BAを評価電圧として求める。電圧VBC+CB、VAC+CA及びVAB+BAは、ロータ位置に依存する値を持つことになる。
VBC+CB=VSPA_BC+VSPA_CB ・・・(B1)
VAC+CA=VSPB_AC+VSPB_CA ・・・(B2)
VAB+BA=VSPC_AB+VSPC_BA ・・・(B3)
図12において、曲線波形640BC+CB、640AC+CA及び640AB+BAは、夫々、電圧VBC+CB、VAC+CA及びVAB+BAのロータ位置依存性の例を示す。電圧VBC+CBの波形の例として、図12では正弦波状の波形640BC+CBが示されているが、実際の電圧VBC+CBの波形が正弦波状となるとは限らない。電圧VAC+CA及びVAB+BAの波形についても同様である。
図12において、θA0~θA5及びθR0~θR5はロータ位置の位相がとりうる計12個の電気角を表し、少なくとも“0°<θA0<θR0<θA1<θR1<θA2<θR2<θA3<θR3<θA4<θR4<θA5<θR5”を満たす。理論上、“(θA0,θA1,θA2,θA3,θA4,θA5)=(30°,90°,150°,210°,270°,330°)”、且つ、 “(θR0,θR1,θR2,θR3,θR4,θR5)=(60°,120°,180°,240°,300°,360°)”である。電気角において360°と0°は互いに等しい。
電圧VBC+CBの理論上のロータ位置依存性を説明する。電圧VBC+CBは、理論上、ロータ位置の位相が、電気角θA0及びθA3の何れかと一致するときにゼロとなり、且つ、電気角θA0より大きく且つ電気角θA3より小さい範囲において正の値をとり、それ以外の範囲において負の値をとる。
より具体的には、電圧VBC+CBは、理論上、ロータ位置の位相が電気角0°であるときに負の値をとり、ロータ位置の位相が電気角0°から電気角θR1に向けて増大するにつれて単調増加して電気角θR1にて正の値として極大値をとり、この際、ロータ位置の位相の増大過程で電気角θA0を境に電圧VBC+CBの値は負から正に変化する。その後、電圧VBC+CBは、理論上、ロータ位置が電気角θR1から電気角θR4に向けて増大するにつれて単調減少して電気角θR4にて負の値として極小値をとり、この際、ロータ位置の位相の増大過程で電気角θA3を境に電圧VBC+CBの値は正から負に変化する。その後、電圧VBC+CBは、理論上、ロータ位置の位相が電気角θR4から電気角360°に向けて増大するにつれて単調増加する。
電圧VAC+CAの理論上のロータ位置依存性を説明する。電圧VAC+CAは、理論上、ロータ位置の位相が、電気角θA2及びθA5の何れかと一致するときにゼロとなり、且つ、電気角θA2より大きく且つ電気角θA5より小さい範囲において正の値をとり、それ以外の範囲において負の値をとる。
より具体的には、電圧VAC+CAは、理論上、ロータ位置の位相が電気角0°であるときに負の値をとり、ロータ位置の位相が電気角0°から電気角θR0に向けて増大するにつれて単調減少して電気角θR0にて負の値として極小値をとり、その後、ロータ位置の位相が電気角θR0から電気角θR3に向けて増大するにつれて単調増加して電気角θR3にて正の値として極大値をとる。この際、ロータ位置の位相の増大過程で電気角θA2を境に電圧VAC+CAの値は負から正に変化する。その後、電圧VAC+CAは、理論上、ロータ位置が電気角θR3から電気角360°に向けて増大するにつれて単調減少する。この際、ロータ位置の位相の増大過程で電気角θA5を境に電圧VAC+CAの値は正から負に変化する。
電圧VAB+BAの理論上のロータ位置依存性を説明する。電圧VAB+BAは、理論上、ロータ位置の位相が、電気角θA1及びθA4の何れかと一致するときにゼロとなり、且つ、電気角θA1より大きく且つ電気角θA4より小さい範囲において負の値をとり、それ以外の範囲において正の値をとる。
より具体的には、電圧VAB+BAは、理論上、ロータ位置の位相が電気角0°であるときに正の値をとり、ロータ位置の位相が電気角0°から電気角θR2に向けて増大するにつれて単調減少して電気角θR2にて負の値として極小値をとり、この際、ロータ位置の位相の増大過程で電気角θA1を境に電圧VAB+BAの値は正から負に変化する。その後、電圧VAB+BAは、理論上、ロータ位置の位相が電気角θR2から電気角θR5に向けて増大するにつれて単調増加して電気角θR5にて正の値として極大値をとる。この際、ロータ位置の位相の増大過程で電気角θA4を境に電圧VAB+BAの値は負から正に変化する。
電圧VBC+CBは、コイル13A及び13C間の相互インダクタンス並びにコイル13A及び13B間の相互インダクタンスに依存する量であって、それらの相互インダクタンスに基づく磁界はロータ位置に依存する(図6(a)~(f)参照)。この結果、ロータ位置の変化に応じて電圧VBC+CBが上述の如く変化することになる。電圧VAC+CA及びVAB+BAについても同様であるが、電圧VBC+CB、VAC+CA及びVAB+BAの位相は60°ずつ互いにずれており、故に、電圧の極性変化が生じる位相も電圧VBC+CB、VAC+CA及びVAB+BA間で60°ずつ互いにずれている。このため、それら3つの電圧の極性の判定することでロータ位置を60°ステップで(即ち60°の分解能で)検出することができる。
図13に、ロータ位置検出に利用可能な絶対判定用テーブルTBL1を、図12に示した波形640BC+CB、640AC+CA及び640AB+BAと共に示す。第1実施例に係る位置検出部53は、絶対判定用テーブルTBL1を用いた絶対判定方法によりロータ位置を検出する。テーブルTBL1は位置検出部53に設けられる。ロータ位置の範囲を6つの位置範囲RA[0]~RA[5]に分解して考える。
位置範囲RA[1]は、電気角θA0以上且つ電気角θA1未満の範囲である。
位置範囲RA[2]は、電気角θA1以上且つ電気角θA2未満の範囲である。
位置範囲RA[3]は、電気角θA2以上且つ電気角θA3未満の範囲である。
位置範囲RA[4]は、電気角θA3以上且つ電気角θA4未満の範囲である。
位置範囲RA[5]は、電気角θA4以上且つ電気角θA5未満の範囲である。
位置範囲RA[0]は、電気角0°以上且つ電気角θA0未満の範囲と電気角θA5以上且つ電気角360°未満の範囲との合成範囲である。
絶対判定方法において、位置検出部53は、位置検出用区間にて電圧VBC+CB、VAC+CA及びVAB+BAの値が得られるごとに、下式(C1)~(C3)の成否を判定し、
式(C1)、(C2)、(C3)が、夫々、非成立、非成立、成立の場合には、ロータ位置が位置範囲RA[0]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、成立、非成立、成立の場合には、ロータ位置が位置範囲RA[1]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、成立、非成立、非成立の場合には、ロータ位置が位置範囲RA[2]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、成立、成立、非成立の場合には、ロータ位置が位置範囲RA[3]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、非成立、成立、非成立の場合には、ロータ位置が位置範囲RA[4]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、非成立、成立、成立の場合には、ロータ位置が位置範囲RA[5]内にあると判断して、当該判断結果をロータ位置の検出結果として信号SDETに含める。
VBC+CB>0 ・・・(C1)
VAC+CA>0 ・・・(C2)
VAB+BA>0 ・・・(C3)
図14に、HDD装置1に関わる実験の結果を示す。当該実験では、ロータを電気角0°の位置に固定した状態で電圧VBC+CB、VAC+CA及びVAB+BAを実測により求め、求めた電圧VBC+CB、VAC+CA及びVAB+BAの値をグラフにプロットする。この操作を、ロータを電気角60°、120°、180°、240°、300°の位置に固定した状態でも夫々に行う。そして、プロットされた電気角0°、60°、120°、180°、240°、300°、360°での電圧VBC+CBの値を折れ線で繋ぐことにより、折れ線波形660BC+CBを得た。同様にして、プロットされた電気角0°、60°、120°、180°、240°、300°、360°での電圧VAC+CAの値を折れ線で繋ぐことにより、折れ線波形660AC+CAを得た。同様にして、プロットされた電気角0°、60°、120°、180°、240°、300°、360°での電圧VAB+BAの値を折れ線で繋ぐことにより、折れ線波形660AB+BAを得た。各波形660BC+CB、660AC+CA及び660AB+BAの夫々において、電気角0°での値と電気角360°での値は同じものである。
波形660BC+CB、660AC+CA及び660AB+BAは、夫々、電圧VBC+CB、VAC+CA及びVAB+BAの実測によるロータ位置依存性を表している。60°ごとでしか実験値を取得していないことや、実験における測定精度の誤差などに起因して、例えば、波形660BC+CBでは、電圧VBC+CBが負から正に切り替わるときのロータ位置が理論上の位置“30°”から多少ずれているが、概ね、図12に示すような特性が得られていることが分かる。
位置範囲RA[0]~RA[5]を定義づける電気角θA0~θA5の値は、上述した理論上の値であっても良いし、適宜実験等を介し、実際に用いられるSPM13に適合した値を電気角θA0~θA5の値として用いても良い(後述の他の実施例でも同様)。例えば、理論上は、“θA0=30°”であるが、電気角θA0を25°などに設定することも可能である。電気角θA1~θA5についても同様である。
本実施例によれば、ロータ位置を60°の分解能で検出することが可能となる。ロータが略一定速度で安定的に回転している定常状態では、ロータ位置の検出分解能は360°や180°でも十分とも言えるが、特にロータの回転数を増大させてゆく加速過程では、ロータ位置を高い分解能で検出できた方が適正な加速制御を実現できる(故に、本実施例に示す方法はロータの加速時に特に有益である)。
各相のコイルの自己インダクタンスがロータ位置に依存して変化する特性を利用してロータ位置を検出する関連方法が知られているが、その変化の量が非常に小さいタイプのモータも存在し、そのようなタイプのモータにおいて、関連方法ではロータ位置を正しく検出し難い。これに対し、本実施例に係る方法によれば、上記変化の量が小さいタイプのモータに対しても良好な検出精度を実現可能である。見方を変えれば、HDD装置1に適用されるSPM13のタイプに依らず(上記変化の量が大きいのか小さいのかを問題にすることなく)常に良好なロータ位置検出を実現できる、というメリットがある。
また本実施例では、検出実区間の前にダミー区間が設けられ、ダミー区間において、各検出実区間におけるものと同様の電圧印加を行うようにしている(図8及び図11参照)。ダミー区間に印加される検出用パルス電圧はダミーパルス電圧と称されるべきものであり、位置検出用区間において直ちに検出実区間を開始するのではなく、まずダミー区間にてダミーパルス電圧を印加するようにしておくことで、検出実区間の開始時におけるSPM13の状態及びIC30の状態を、それ以前の状態に依存せず常に一定にでき、もってロータ位置の検出を安定化させることが可能となる。
これについて具体例を挙げて説明する。電圧VBC+CB、VAC+CA及びVAB+BAは対象コイルペアに流れる電流の傾きに依存するが、その電流の傾きは電源電圧VPWRが変動すると変動する。これは、正確なロータ位置検出の実現のためには電源電圧VPWRの安定が必要となることを示している。HDD装置1内の電源回路は電源電圧VPWRの値が一定に保たれることを目指して動作するものの、電源電圧VPWRが加わるラインに流れる電流に応じて、多少は電源電圧VPWRが所望の電圧からずれる。このような所望電圧からのずれが生じている状態で検出実区間にて検出用パルス電圧を印加すると、本来観測すべき電圧からずれた電圧がサンプリングされることになり、結果、ロータ位置の検出精度に悪影響が生じ得る。これに対抗するべく、上述の如くダミー区間を設けておけば、検出実区間の開始時における電源電圧VPWRの状態を、それ以前の状態に依存せず常に一定にでき、もってロータ位置の検出を安定化させることが可能となる。
但し、上記のような悪影響の存在を無視できるようにHDD装置1が形成されている場合にあっては、位置検出用区間からダミー区間を削除することも可能である(後述の3パルス印加処理及び5パルス印加処理においても同様)。
或いは、ダミー区間にパルス印加区間を設けず(図9(a)参照)、ダミー区間では、単に、所定時間だけハーフブリッジ回路50A、50B及び50CをHi-Z状態にするといった変形も可能ではある(後述の3パルス印加処理及び5パルス印加処理においても同様)。
位置検出用区間における区間P[0]~P[6]の夫々において、パルス印加区間の後に、ハーフブリッジ回路50A、50B及び50Cを所定時間だけHi-Z状態にする非印加区間(換言すればHi-Z区間)が設けられている。これにより、各非印加区間において、一旦、コイル電流IA、IB及びICをゼロにすることができ、各パルス印加区間にて常にコイル電流IA、IB及びICがゼロの状態から検出用パルス電圧の印加を開始できる。検出用パルス電圧の印加開始時のコイル電流IA、IB及びICがゼロでなくとも、理論上は、ロータ位置の検出に影響は生じない。しかし実際には、検出用パルス電圧の印加開始時のコイル電流IA、IB及びICが様々であることは、ロータ位置検出の誤差要因となりうる。検出用パルス電圧の印加開始時のコイル電流IA、IB及びICを常にゼロにしておくことで、そのような誤差要因を排除できる。
また検出用パルス電圧の印加開始時点のコイル電流が様々であると、以下に示すような不具合が生じ得る。即ち、仮に、隣接するパルス印加区間の間に非印加区間を設けない場合、1つ目のパルス印加区間にてコイル電流IAが1アンペアに達した後、2つ目のパルス印加区間にてコイル電流IAが1アンペアを起点に増加するといったことが生じる。この際、コイル電流IAに対し制限電流値として所定のリミット値(例えば1.8Aアンペア)が定められているとき、コイル電流IAが当該リミット値に達してしまい、コイル電流IAの傾きを一定にすることができないといった不具合が生じ得る。このような不具合は、非印加区間の設置により解消可能である。
但し、上記のような不具合が生じないようにHDD装置1が形成されている場合にあっては、ダミー区間及び各検出実区間から非印加区間(Hi-Z区間)を削除することも可能ではある(後述の3パルス印加処理及び5パルス印加処理においても同様)。
尚、非印加区間をHi-Z区間とせず、非印加区間にて例えばハーフブリッジ回路50A、50B及び50Cの各ローサイドトランジスタTrLをオンにしてグランドに電流を回生させる処理を行うことも可能である。この場合、検出用パルス電圧の印加開始時のコイル電流IA、IB及びICがゼロとならないことがあるが、検出用パルス電圧の印加区間中に対象コイルペアに流れる電流の傾きが一定となる区間が存在し且つ当該傾きを検出するための検出回路の応答までに十分な時間がある場合にあっては、検出用パルス電圧の印加開始時のコイル電流IA、IB及びICがゼロとならないことは誤差要因とはならない。
<<第2実施例>>
第2実施例を説明する。第2実施例では、上述の7パルス印加処理を採用した場合において、絶対判定方法の代わりに用いることが可能な相対判定方法を説明する。
図15に、ロータ位置検出に利用可能な相対判定用テーブルTBL2を、図12に示した波形640BC+CB、640AC+CA及び640AB+BAと共に示す。第2実施例に係る位置検出部53は、相対判定用テーブルTBL2を用いた相対判定方法によりロータ位置を検出する。テーブルTBL2は位置検出部53に設けられる。ロータ位置の範囲を、電気角θR0~θR5を境に6つの位置範囲RR[0]~RR[5]に分解して考える。上述したように、理論上は、“(θR0,θR1,θR2,θR3,θR4,θR5)=(60°,120°,180°,240°,300°,360°)”である。
位置範囲RR[1]は、電気角θR0以上且つ電気角θR1未満の範囲である。
位置範囲RR[2]は、電気角θR1以上且つ電気角θR2未満の範囲である。
位置範囲RR[3]は、電気角θR2以上且つ電気角θR3未満の範囲である。
位置範囲RR[4]は、電気角θR3以上且つ電気角θR4未満の範囲である。
電気角0°以上且つ電気角θR0未満の範囲と電気角θR4以上且つ電気角360°未満の範囲との合成範囲は、位置範囲RR[0]及びRR[5]にて分割され、その分割の境界が電気角θR5に存在する。この際、分割により生成される2つの位置範囲の内、電気角θA0を内包する位置範囲が位置範囲RR[0]であって、電気角θA5を内包する位置範囲が位置範囲RR[5]である。“θR5=360°”とならないように電気角θR5を定めることも可能であるが、以下では、“θR5=360°”であると考える。この場合、電気角0°以上且つ電気角θR0未満の範囲が位置範囲RR[0]であると共に、電気角θR4以上且つ電気角θR5未満の範囲が位置範囲RR[5]である。
電圧VBC+CB、VAC+CA及びVAB+BAの内、最大となる電圧を最大電圧と称し、最小となる電圧を最小電圧と称し、残りの1つの電圧を中間電圧と称する。
そうすると、電圧VBC+CB、VAC+CA及びVAB+BAは、上述の相互インダクタンスの特性上、以下の関係を満たす。即ち、電圧VBC+CB、VAC+CA及びVAB+BAは、
ロータ位置が位置範囲RR[0]内にあるときには、夫々、中間電圧、最小電圧、最大電圧となり、
ロータ位置が位置範囲RR[1]内にあるときには、夫々、最大電圧、最小電圧、中間電圧となり、
ロータ位置が位置範囲RR[2]内にあるときには、夫々、最大電圧、中間電圧、最小電圧となり、
ロータ位置が位置範囲RR[3]内にあるときには、夫々、中間電圧、最大電圧、最小電圧となり、
ロータ位置が位置範囲RR[4]内にあるときには、夫々、最小電圧、最大電圧、中間電圧となり、
ロータ位置が位置範囲RR[5]内にあるときには、夫々、最小電圧、中間電圧、最大電圧となる。
故に、相対判定方法において、位置検出部53は、位置検出用区間にて電圧VBC+CB、VAC+CA及びVAB+BAの値が得られるごとに、電圧VBC+CB、VAC+CA及びVAB+BAの大小関係を評価し、
電圧VBC+CB、VAC+CA及びVAB+BAが夫々中間電圧、最小電圧、最大電圧となる場合には、ロータ位置が位置範囲RR[0]内にあると判断し、
電圧VBC+CB、VAC+CA及びVAB+BAが夫々最大電圧、最小電圧、中間電圧となる場合には、ロータ位置が位置範囲RR[1]内にあると判断し、
電圧VBC+CB、VAC+CA及びVAB+BAが夫々最大電圧、中間電圧、最小電圧となる場合には、ロータ位置が位置範囲RR[2]内にあると判断し、
電圧VBC+CB、VAC+CA及びVAB+BAが夫々中間電圧、最大電圧、最小電圧となる場合には、ロータ位置が位置範囲RR[3]内にあると判断し、
電圧VBC+CB、VAC+CA及びVAB+BAが夫々最小電圧、最大電圧、中間電圧となる場合には、ロータ位置が位置範囲RR[4]内にあると判断し、
電圧VBC+CB、VAC+CA及びVAB+BAが夫々最小電圧、中間電圧、最大電圧となる場合には、ロータ位置が位置範囲RR[5]内にあると判断し、当該判断結果をロータ位置の検出結果として信号SDETに含める。
図16に、HDD装置1に関わる実験の結果を示す。図16は図14の各波形に対し6つの破線円を付加したものであり、当該破線円は電圧VBC+CB、VAC+CA及びVAB+BAの内の2つが交差する点に付加されている。60°ごとでしか実験値を取得していないことや、実験における測定精度の誤差などに起因して、波形660BC+CB及び660AB+BAでは例えば、正の電圧領域にて電圧VBC+CBと電圧VAB+BAが交差するロータ位置が理論上の位置“60°”から多少ずれているが、概ね、図15に示すような特性が得られていることが分かる。
位置範囲RR[0]~RR[5]を定義づける電気角θR0~θR5の値は、上述した理論上の値であっても良いし、適宜実験等を介し、実際に用いられるSPM13に適合した値を電気角θR0~θR5の値として用いても良い(後述の他の実施例でも同様)。例えば、理論上は、“θR0=60°”であるが、電気角θR0を55°などに設定することも可能である。電気角θR1~θR5についても同様である。
相対判定方法を用いた場合でも、第1実施例の絶対判定方法を用いた場合と同様の作用及び効果が得られる。また、絶対判定方法はロータ位置検出に関わる回路のオフセットの影響を直接的に受けるのに対し、相対判定方法はオフセットの影響を受けないというメリットを有する。仮にオフセットが非常に大きい場合には、例えば、実際に導出された電圧VBC+CB、VAC+CA及びVAB+BAの値が全て正になるといったことも生じうる(波形640BC+CB、640AC+CA及び640AB+BAは電圧VBC+CB、VAC+CA及びVAB+BAの理論上の波形であって、実際のそれらの検出電圧の波形はオフセットを含みうる)。そのようなケースでは、絶対判定方法よりも相対判定方法の方が、安定してロータ位置を検出することが可能である。
<<第3実施例>>
第3実施例を説明する。上述の絶対判定方法と相対判定方法を組み合わせて実施することもでき、第3実施例では、その組み合わせに係る混合判定方法を説明する。
混合判定方法においても、第1実施例及び第2実施例と同様、各位置検出用区間において7パルス印加処理を実行して電圧VBC+CB、VAC+CA及びVAB+BAを導出する。
その後、位置検出部53は、第1実施例に示した絶対判定方法によりロータ位置が位置範囲RA[0]~RA[5]の何れの位置範囲内にあるのかを判定し、一方で、第2実施例に示した絶対判定方法によりロータ位置が位置範囲RR[0]~RR[5]の何れの位置範囲内にあるのかを判定する。そして、位置検出部53は、絶対判定方法によりロータ位置が存在すると判定された位置範囲と相対判定方法によりロータ位置が存在すると判定された位置範囲とが重なる位置範囲内にロータ位置が存在すると最終的に判断して、当該判断結果をロータ位置の検出結果として信号SDETに含める。
混合判定方法を用いる場合、ロータ位置は、図17に示す計12個の位置範囲R[0,0]~R[5,5]の何れかに属すると判断される。i及びjを0以上5以下の整数とした場合、位置範囲R[i,j]は位置範囲RA[i]と位置範囲RR[j]とが重なる位置範囲を指す。
従って例えば、絶対判定方法によりロータ位置が位置範囲RA[2]内にあると判定される一方で相対判定方法によりロータ位置が位置範囲RR[2]内にあると判定された場合、混合判定方法を採用する位置検出部53は、位置範囲RA[2]と位置範囲RR[2]が重なる位置範囲R[2,2]内(即ち、電気角θR1から電気角θA2までの範囲内)にロータ位置が存在すると最終的に判断して、最終的な判断結果をロータ位置の検出結果として信号SDETに含める。同様に例えば、絶対判定方法によりロータ位置が位置範囲RA[4]内にあると判定される一方で相対判定方法によりロータ位置が位置範囲RR[3]内にあると判定された場合、混合判定方法を採用する位置検出部53は、位置範囲RA[4]と位置範囲RR[3]が重なる位置範囲R[4,3]内(即ち、電気角θA3から電気角θR3までの範囲内)にロータ位置が存在すると最終的に判断して、最終的な判断結果をロータ位置の検出結果として信号SDETに含める。
混合判定方法によれば、ロータ位置の範囲が、電気角θA0、θR0、θA1、θR1、θA2、θR2、θA3、θR3、θA4、θR4、θA5、θR5を境に12個の位置範囲に分割され、その12個の位置範囲の何れにロータ位置が存在するのかが判断されることになる。電気角θA0~θA5及びθR0~θR5の値の設定方法は第1及び第2実施例で示した通りである。
混合判定方法によれば、ロータ位置を30°の分解能で検出することが可能となり、絶対判定方法又は相対判定方法を単体で用いる場合よりも検出精度を高めることが可能となる。
<<第4実施例>>
第4実施例を説明する。第4実施例では、各検出実区間におけるパルス印加区間の長さ(即ち検出用パルス電圧の印加時間)を、ダミー区間を利用して決定する方法を説明する。ここでは、当該方法を上述の7パルス印加処理に対して適用することを考えるが、第4実施例で述べる方法は、後述の3パルス印加処理及び5パルス印加処理にも適用可能である。
尚、上述の説明では、便宜上、ダミー区間及び検出実区間の何れに対しても、パルス印加区間中に印加されるパルス電圧を検出用パルス電圧と称していたが、ダミー区間中に印加される検出用パルス電圧は、ロータ位置の検出に対し直接的に影響を与えないものであるから、ダミー区間中に印加される検出用パルス電圧を以下ではダミーパルス電圧と称することがある。
SPMドライバ33には、対象コイルペアに流れる電流を検出する電流センサ(不図示)が設けられている。この検出は、各ハーフブリッジ回路50A、50B及び50CのトランジスタTrH又はTrLに流れる電流を検出することで実現されても良いし、端子TMA、TMB又はTMCに流れる電流を検出することで実現されても良い。
第4実施例において、ダミー区間中及び各検出実区間中のパルス印加区間の長さは可変となっている。ダミー区間中のパルス印加区間において、対象コイルペアに流れる電流は時間経過と共に増大してゆく。位置検出用制御部54は、ダミー区間中のパルス印加区間において対象コイルペアに流れる電流の大きさ(絶対値)を、上記電流センサを用い電流値ISENSEとして取得し、電流値ISENSEを所定の正のリミット値ILMTと比較する。位置検出用制御部54は、電流値ISENSEがリミット値ILMTに達するまでダミー区間のパルス印加区間を継続させ、電流値ISENSEがリミット値ILMTに達した時点でダミー区間のパルス印加区間を終了させる。この際、位置検出用制御部54は、自身が有するタイマを用いてダミー区間中のパルス印加区間の長さを計測し、計測した長さをパルスオン時間TONとして保持する。その後、位置検出用制御部54は、位置検出用区間の各検出実区間において、パルス印加区間の長さをパルスオン時間TONに設定する。
即ち、位置検出用制御部54は、ダミー区間において対象コイルペアに対するダミーパルス電圧の印加開始から対象コイルペアに流れる電流がリミット値ILMTに達するまでの時間を計測してパルスオン時間TONとして保持し、パルスオン時間TONを各検出実区間(7パルス印加処理では検出実区間P[1]~P[6])における検出用パルス電圧の印加時間に設定する。
このように、第4実施例では、各検出実区間のパルス印加区間の長さが、ダミー区間のパルス印加区間中の対象コイルペアに流れる電流に基づき動的に設定されることになる(第4実施例に係る当該設定方法を、パルス印加長の動的設定方法と称する)。
パルス印加長の動的設定方法の有用性を説明する。各検出実区間中のパルス印加区間において、対象コイルペアに流れる電流は時間経過と共に増大してゆき、パルス印加区間の終了タイミングでピークをとる。一方、パルス印加区間の開始直後と比べてパルス印加区間の終了直前の方が、対象コイルペアに流れる電流の傾きが安定しており、故に、観測されるべき電圧のサンプリングタイミングは、パルス印加区間の終了直前に設定される。実際、各検出実区間において、A/D変換器60(図5(d)参照)は、パルス印加区間中における所定のサンプリングタイミングにて非対象コイルに対応するコイル電圧をサンプリングすることになるが、当該サンプリングタイミングはパルス印加区間の終了タイミングを基準にして、パルス印加区間の終了直前に設定される(パルス印加区間の終了タイミングから所定の微小時間だけ前のタイミングがサンプリングタイミングに設定されて良い)。
パルス印加区間にて対象コイルペアに流れる電流のピーク値が様々に変化すると(換言すれば、サンプリングが行われるときの対象コイルペアに流れる電流の大きさが様々に変化すると)、ロータ位置検出が不安定になることがある。上記ピーク値のばらつきは、理論上、ロータ位置の検出結果に影響を与えないはずであるが、実際には、ロータ位置検出の誤差要因になることがある。極端な例として、上記ピーク値が0.1アンペアであるときには電源電圧VPWRが所望の電圧で安定化しているが、上記ピーク値が1アンペアであるときには電源電圧VPWRが所望の電圧から無視できない程度にずれ、結果、ロータ位置検出にばらつきを生じさせ得る。このため、上記ピーク値を一定した方が好ましい。
各検出実区間中のパルス印加区間の長さを予め定めた長さに固定しておく方法(パルス印加長の固定設定方法と称する)を採用した場合でも、上記ピーク値は、設計上、一定となるが、実際には、IC30の周辺温度の変化や電源電圧VPWRのばらつきを含む環境要因によって上記ピーク値がばらつく。
第4実施例に係るパルス印加長の動的設定方法を用いれば、IC30の周辺温度等に依存せず、上記ピーク値を一定にすることができ(サンプリングが行われるときの対象コイルペアに流れる電流の大きさを一定にすることができ)、もってロータ位置検出を安定化させることが可能となる。
パルス印加長の動的設定方法において、パルスオン時間TONの計測を初回の位置検出用区間においてのみ行い、初回の位置検出用区間にて計測されたパルスオン時間TONを、初回の位置検出用区間中の各検出実区間、及び、それ以降の各検出実区間に対し、共通に適用するようにしても良い。或いは、位置検出用区間ごとにパルスオン時間TONの計測及び設定を行うようにしても良い。
IC30において、パルス印加長の動的設定方法及びパルス印加長の固定設定方法の何れを用いるのかは切り替え可能であって良く、MPU22は、IC30に対し、パルス印加長の動的設定方法及びパルス印加長の固定設定方法の何れを用いるのかを指定できても良い。またMPU22はリミット値ILMTを指定できても良い。
<<第5実施例>>
第5実施例を説明する。図18において、波形681はロータが停止しているときの電圧VBC+CBの波形(ロータ位置依存性)を表し、波形682はロータが回転しているときのコイル13Aの逆起電力の波形(ロータ位置依存性)を表し、波形683はロータが回転しているときの電圧VBC+CBの波形(ロータ位置依存性)を表す。当然ながら、ロータが停止しているときには、コイル13Aを含めSPM13の各コイルには逆起電力が生じていない(即ち逆起電力はゼロである)。
ロータ回転時のコイル13Aの逆起電力は、ロータ停止時のコイル13Aに関わる電圧VBC+CBに対し、位相が90°だけ遅れている。このため、ロータ回転時おいては、ロータ停止時と比べて、観測される電圧VBC+CBの位相が幾分遅れる。上述の7パルス印加処理によるロータ位置検出は、ロータの停止時又はロータの低速回転領域におけるロータの加速時に特に有益且つ利用されることが想定され、故に、上述の各実施例の方法でもロータ位置の検出誤差は問題にならないことも多い。
しかしながら、ロータの回転速度であるロータの回転数によっては、逆起電力に基づく位置検出誤差が無視できなくなる可能性がある。そこで、第5実施例に係る位置検出部53は、ロータの回転数をも考慮してロータ位置の検出を行う。
図19は、第5実施例に係るロータ位置検出動作のフローチャートである。図19のステップS11~S16から成る処理が位置検出用区間ごとに実行されて良い。位置検出用区間では、まずステップS11にて上述の7パルス印加処理が実行され、ステップS12にて、第1実施例に示した絶対判定方法、第2実施例に示した相対判定方法又は第3実施例に示した混合判定方法により、一旦、ロータ位置が検出(判定)される。続くステップS13において、位置検出部53は、現在のロータの回転数が所定の基準回転数(例えば200rpm)以上である否かを判断する。検出済みの時系列上の複数のロータ位置の変化速度から現在のロータの回転数を特定することができる。現在のロータの回転数が所定の基準回転数以上である場合にはステップS13からステップS14に移行してステップS14及びS15の処理が実行される一方、そうでない場合にはステップS13からステップS16に移行する。
ステップS14において、位置検出部53は、ステップS12にて検出されたロータ位置のシフト補正を行う。続くステップS15において、位置検出部53は、シフト補正後の検出ロータ位置を、最終的なロータ位置の検出結果として信号SDETに含めて出力する。一方、ステップS16において、位置検出部53は、ステップS12にて検出されたロータ位置そのものを、最終的なロータ位置の検出結果として信号SDETに含めて出力する。ステップS16に移行した場合のロータ位置の検出結果は第1、第2又は第3実施例に示した通りとなる。
図18には、絶対判定方法を用いた場合における上記シフト補正の概要が示されている。第1実施例に係る絶対判定方法を用いてステップS12の処理が行われた場合であって且つステップS14のシフト補正が行われる場合において、ステップS12にてロータ位置が位置範囲RA[0]、RA[1]、RA[2]、RA[3]、RA[4]、RA[5]内にあると判定される状況下においては、最終的なロータ位置の検出結果であるシフト補正後の検出ロータ位置は、夫々、位置範囲RA[1]、RA[2]、RA[3]、RA[4]、RA[5]、RA[0]内の位置となる。つまり、ステップS14のシフト補正では、ステップS12でのロータ位置の検出結果が60°だけ位相の進み方向にシフトされることになる。
第2実施例に係る相対判定方法を用いてステップS12の処理が行われた場合であって且つステップS14のシフト補正が行われる場合において、ステップS12にてロータ位置が位置範囲RR[0]、RR[1]、RR[2]、RR[3]、RR[4]、RR[5]内にあると判定される状況下においては、最終的なロータ位置の検出結果であるシフト補正後の検出ロータ位置は、夫々、位置範囲RR[1]、RR[2]、RR[3]、RR[4]、RR[5]、RR[0]内の位置となる。つまり、ステップS14のシフト補正では、ステップS12でのロータ位置の検出結果が60°だけ位相の進み方向にシフトされることになる。
第3実施例に係る混合判定方法を用いてステップS12の処理が行われた場合であって且つステップS14のシフト補正が行われる場合において、ステップS12にてロータ位置が位置範囲R[0,j]、R[1,j]、R[2,j]、R[3,j]、R[4,j]、R[5,j]内にあると判定される状況下においては、最終的なロータ位置の検出結果であるシフト補正後の検出ロータ位置は、夫々、位置範囲R[1,j]、R[2,j]、R[3,j]、R[4,j]、R[5,j]、R[0,j]内の位置となる(ここにおけるjは0又は1)。つまり、ステップS14のシフト補正では、ステップS12でのロータ位置の検出結果が60°だけ位相の進み方向にシフトされることになる。
或いは、混合判定方法が用いられる場合のシフト補正は30°分のシフト補正であっても良い。即ち、第3実施例に係る混合判定方法を用いてステップS12の処理が行われた場合であって且つステップS14のシフト補正が行われる場合において、ステップS12にてロータ位置が位置範囲R[0,0]、R[1,0]、R[1,1]、R[2,1]、R[2,2]、R[3,2]、R[3,3]、R[4,3]、R[4,4]、R[5,4]、R[5,5]、R[0,5]内にあると判定される状況下においては、最終的なロータ位置の検出結果であるシフト補正後の検出ロータ位置は、夫々、位置範囲R[1,0]、R[1,1]、R[2,1]、R[2,2]、R[3,2]、R[3,3]、R[4,3]、R[4,4]、R[5,4]、R[5,5]、R[0,5]、R[0,0]内の位置とされても良い。
ロータの回転数が基準回転数以上の場合、ステップS12の処理にて検出ロータ位置を一旦導出してからステップS14にてシフト補正するのではなく、シフト補正を行った場合と同様の結果が得られるように、ステップS12及びS14の処理をまとめた処理を実行するようにしても良い。
即ち例えば、第1実施例に係る絶対判定方法を用いる場合であって且つロータの回転数が基準回転数以上の場合、位置検出部53は、電圧VBC+CB、VAC+CA及びVAB+BAの値に基づいて上記式(C1)~(C3)の成否を判定し、
式(C1)、(C2)、(C3)が、夫々、非成立、非成立、成立の場合には、ロータ位置が位置範囲RA[1]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、成立、非成立、成立の場合には、ロータ位置が位置範囲RA[2]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、成立、非成立、非成立の場合には、ロータ位置が位置範囲RA[3]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、成立、成立、非成立の場合には、ロータ位置が位置範囲RA[4]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、非成立、成立、非成立の場合には、ロータ位置が位置範囲RA[5]内にあると判断し、
式(C1)、(C2)、(C3)が、夫々、非成立、成立、成立の場合には、ロータ位置が位置範囲RA[0]内にあると判断して、当該判断結果をロータ位置の検出結果として信号SDETに含めるようにしても良い。
相対判定方法又は混合判定方法を用いる場合も同様であって良い。
本実施例によれば、SPM13の各コイルに生じた逆起電力に基づくロータ位置の検出誤差を低減することが可能となる。
IC30において、ロータの回転数を考慮したロータ位置検出を行うのか否かは切り替え可能であって良く、MPU22は、IC30に対し、ロータの回転数を考慮したロータ位置検出を行うのか否かを指定できても良い。またMPU22は上記基準回転数を指定できても良い。
<<第6実施例>>
第6実施例を説明する。上述したように、位置検出用区間にて複数種類のパルス列印加処理の何れかを位置検出用動作として行うことができる。順次訪れる位置検出用区間において常に基準パルス列印加処理である7パルス印加処理を行うようにしても良いが、一旦ロータが回転し始めた後は1以上の位置検出用区間において、パルス列印加処理の1種である3パルス印加処理(第1の変形パルス列印加処理)を実行するようにしても良い。但し、3パルス印加処理は、7パルス印加処理を1回以上行った後にのみ実行され得る。
説明の具体化のため、今、図20に示す如く、第(m-1)回目の位置検出用区間にて7パルス印加処理及び絶対判定方法によるロータ位置検出が行われ、第m回目の位置検出用区間及びそれ以降の位置検出用区間にて3パルス印加処理が実行されることを想定する(ここにおけるmは2以上の任意の整数)。
図21に示す如く、位置検出用区間において3パルス印加処理を実行する際、位置検出用区間は3つの区間P[0]~P[2]から成り、区間P[3]~P[6]を含まない。即ち、3パルス印加処理は、区間P[0]に相当するダミー区間と、区間P[1]及びP[2]に相当する2つの検出実区間と、を用いて実行される。上述の如く、区間P[0]~P[2]の夫々はパルス印加区間と非印加区間とから成る(図9(a)及び(b)参照)。
3パルス印加処理を実行する場合においても、7パルス印加処理を実行する場合と同様に、1つの区間P[i]において、パルス印加区間中に、上述の印加処理BC、印加処理BA、印加処理CA、印加処理CB、印加処理AB及び印加処理ACの何れかが実行される。但し、少なくとも第m回目の位置検出用区間において、検出実区間P[1]及びP[2]での対象コイルペアは、第(m-1)回目の位置検出用区間で実行された7パルス印加処理に基づくロータ位置の検出結果に応じて決定される。
図22を参照し、3パルス印加処理の具体例を説明する。第(m-1)回目の位置検出用区間における7パルス印加処理にて、ロータ位置が位置範囲RA[3]内にあると検出され、その検出結果が信号SDETに含められたことを想定する(この想定を、便宜上、想定JAと称する)。図22は、この想定JAの下において、第m回目の位置検出用区間にて実行される3パルス印加処理のタイミングチャート図である。
ロータの回転中には、電圧VBC+CB、VAC+CA及びVAB+BAの何れかのゼロクロスが次々と発生することになるが、7パルス印加処理にてロータ位置が位置範囲RA[3]内にあると検出された後、次のゼロクロスは、電圧VBC+CBに生じるはずである(図13参照)。故に、7パルス印加処理にてロータ位置が位置範囲RA[3]内にあると検出された後に実行される3パルス印加処理では、電圧VBC+CBのゼロクロスの発生有無を評価するだけで、ロータ位置が位置範囲RA[3]から位置範囲RA[4]に遷移したか否かを判断できる。このため、想定JAの下、第m回目の位置検出用区間における3パルス印加処理では、検出実区間P[1]及びP[2]において電圧VBC+CBを導出するための電圧をサンプリングすれば良い。
故に、図22の3パルス印加処理では、検出実区間P[1]、P[2]中のパルス印加区間にて、夫々、印加処理BC、印加処理CBが実行される。また、図22の3パルス印加処理では、ダミー区間P[0]中のパルス印加区間にて印加処理CBが実行される。
検出実区間P[1]及びP[2]にて実行される2つの印加処理は2パルス印加処理を形成していると言え、3パルス印加処理は、この2パルス印加処理に対し、ダミー区間P[0]中の処理を付加したものであると言える。尚、上述したように、ダミー区間P[0]を設けないことも可能であり、この場合、3パルス印加処理は2パルス印加処理そのものとなる。
第1実施例で述べたように、印加処理BCが行われる検出実区間(図22の例ではP[1])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPAをサンプリングする。このサンプリングにより得られたコイル電圧VSPAの値は“VSPA_BC”にて表される。印加処理CBが行われる検出実区間(図22の例ではP[2])において、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPAをサンプリングする。このサンプリングにより得られたコイル電圧VSPAの値は“VSPA_CB”にて表される。
位置検出部53は、第m回目の位置検出用区間にて得られた電圧値VSPA_BC及びVSPA_CBから上記式(B1)に従って電圧VBC+CBを求める(換言すれば電圧値VBC+CBを求める)。そして、求めた電圧VBC+CBが正であれば、ロータ位置は未だ位置範囲RA[3]内にあると判断して、その判断結果を第m回目のロータ位置の検出結果として信号SDETに含める。一方、求めた電圧VBC+CBが負又はゼロであれば、ロータ位置は位置範囲RA[4]内の位置に移行したと判断して、その判断結果を第m回目のロータ位置の検出結果として信号SDETに含める。
このように、7パルス印加処理の後に3パルス印加処理が実行される場合(即ち基準パルス列印加処理の後に第1の変形パルス列印加処理が実行される場合)、7パルス印加処理に基づくロータ位置の検出結果(想定JAにおいて位置範囲RA[3])に基づき、3パルス印加処理における対象コイルぺア(想定JAにおいてコイル13B及び13Cのペア)及び非対象コイル(想定JAにおいてコイル13A)が設定され、3パルス印加処理での検出実区間P[1]及びP[2]にて非対象コイルに生じる電圧(想定JAにおいてVSPA_BC、VSPA_CB)に基づき、それらの電圧の和(想定JAにおいてVBC+CB)のゼロクロスの有無判定を通じ、ロータ位置が検出される。
第m回目の位置検出用区間での3パルス印加処理により、ロータ位置が未だ位置範囲RA[3]内にあると判断した場合、位置検出部53は、第(m+1)回目の位置検出用区間での3パルス印加処理においても、電圧VBC+CBの極性を判定すべく、検出実区間P[1]及びP[2]にて印加処理BC及び印加処理CBを実行する。
第m回目の位置検出用区間での3パルス印加処理により、ロータ位置が位置範囲RA[4]内の位置に移行したと判断した場合、次のゼロクロスは電圧VAB+BAに生じるはずであるので(図13参照)、位置検出部53は、第(m+1)回目の位置検出用区間での3パルス印加処理において、電圧VAB+BAの極性を判定すべく、検出実区間P[1]及びP[2]にて印加処理AB及び印加処理BAを実行する(この際、ダミー区間P[0]では例えば印加処理BAが実行されて良い)。
図23に、第(m-1)回目の位置検出用区間を起点にした、ロータ位置の検出動作のフローチャートを示す。ステップS31では、第(m-1)回目の位置検出用区間にて7パルス印加処理が実行され、第1実施例に示した絶対判定方法にてロータ位置が検出される。続くステップS32では変数kに“m”の値が代入され、その後、ステップS33に進む。ステップS33において、位置検出用制御部54は、第(k-1)回目の位置検出用区間におけるロータ位置の検出結果に基づき、第k回目の位置検出用区間における3パルス印加処理の内容を設定する。ステップS33の後、ステップS34に進む。
図24を参照して3パルス印加処理の内容の設定方法を説明する。
第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RA[0]又はRA[3]内にあると検出されていた場合、次のゼロクロスは電圧VBC+CBに生じるはずであるので(図13参照)、第k回目の位置検出用区間における対象コイルペアをコイル13B及び13Cのペアに設定すると共に非対象コイルをコイル13Aに設定し、且つ、第k回目の位置検出用区間中の区間P[0]、P[1]、P[2]にて、夫々、印加処理CB、BC、CBを実行すると決定する。
第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RA[1]又はRA[4]内にあると検出されていた場合、次のゼロクロスは電圧VAB+BAに生じるはずであるので(図13参照)、第k回目の位置検出用区間における対象コイルペアをコイル13A及び13Bのペアに設定すると共に非対象コイルをコイル13Cに設定し、且つ、第k回目の位置検出用区間中の区間P[0]、P[1]、P[2]にて、夫々、印加処理BA、AB、BAを実行すると決定する。
第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RA[2]又はRA[5]内にあると検出されていた場合、次のゼロクロスは電圧VAC+CAに生じるはずであるので(図13参照)、第k回目の位置検出用区間における対象コイルペアをコイル13C及び13Aのペアに設定すると共に非対象コイルをコイル13Bに設定し、且つ、第k回目の位置検出用区間中の区間P[0]、P[1]、P[2]にて、夫々、印加処理CA、AC、CAを実行すると決定する。
尚、何れの場合であっても、印加処理BC、BA、CA、CB、AB及びACの内の任意の何れかを、第k回目の位置検出用区間中のダミー区間P[0]にて実行されるべき印加処理として、決定するようにしても良い。
ステップS34において、位置検出用制御部54は、ステップS33における設定及び決定内容に従って、第k回目の位置検出用区間にて3パルス印加処理を実行する。その後のステップS35にて、位置検出部53は、第k回目の位置検出用区間の3パルス印加処理において非対象コイルに関わる電圧(即ちVBC+CB、VAC+CA又はVAB+BA)の極性に基づき、第k回目の位置検出用区間におけるロータ位置を検出する。その後は、ステップS36にて変数kに1が加算されてからステップS33に戻り、上述のステップS33以降の各処理が繰り返される。
ステップS35の処理を具体的に説明する。記述の簡略化上、第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RA[0]、RA[1]、RA[2]、RA[3]、RA[4]、RA[5]内にあると検出されていたケースを、夫々、ケースCASEA[0]、CASEA[1]、CASEA[2]、CASEA[3]、CASEA[4]、CASEA[5]にて表すと共に、第k回目の位置検出用区間におけるロータ位置を“ロータ位置RP_k”にて表す。
ケースCASEA[0]では、ステップS34の3パルス印加処理の結果に基づき導出された電圧VBC+CBの極性を判定し、電圧VBC+CBが負であるならばロータ位置RP_kが未だ位置範囲RA[0]内にあると判断し、電圧VBC+CBがゼロ又は正であるならばロータ位置RP_kが位置範囲RA[1]内の位置に移行したと判断する。
ケースCASEA[1]では、ステップS34の3パルス印加処理の結果に基づき導出された電圧VAB+BAの極性を判定し、電圧VAB+BAが正であるならばロータ位置RP_kが未だ位置範囲RA[1]内にあると判断し、電圧VAB+BAがゼロ又は負であるならばロータ位置RP_kが位置範囲RA[2]内の位置に移行したと判断する。
ケースCASEA[2]では、ステップS34の3パルス印加処理の結果に基づき導出された電圧VAC+CAの極性を判定し、電圧VAC+CAが負であるならばロータ位置RP_kが未だ位置範囲RA[2]内にあると判断し、電圧VAC+CAがゼロ又は正であるならばロータ位置RP_kが位置範囲RA[3]内の位置に移行したと判断する。
ケースCASEA[3]では、ステップS34の3パルス印加処理の結果に基づき導出された電圧VBC+CBの極性を判定し、電圧VBC+CBが正であるならばロータ位置RP_kが未だ位置範囲RA[3]内にあると判断し、電圧VBC+CBがゼロ又は負であるならばロータ位置RP_kが位置範囲RA[4]内の位置に移行したと判断する。
ケースCASEA[4]では、ステップS34の3パルス印加処理の結果に基づき導出された電圧VAB+BAの極性を判定し、電圧VAB+BAが負であるならばロータ位置RP_kが未だ位置範囲RA[4]内にあると判断し、電圧VAB+BAがゼロ又は正であるならばロータ位置RP_kが位置範囲RA[5]内の位置に移行したと判断する。
ケースCASEA[5]では、ステップS34の3パルス印加処理の結果に基づき導出された電圧VAC+CAの極性を判定し、電圧VAC+CAが正であるならばロータ位置RP_kが未だ位置範囲RA[5]内にあると判断し、電圧VAC+CAがゼロ又は負であるならばロータ位置RP_kが位置範囲RA[0]内の位置に移行したと判断する。
モータの駆動に寄与しない位置検出用区間の長さはなるだけ短い方が良いと言える。3パルス印加処理を利用するようにすれば、7パルス印加処理を利用する場合と比べて、位置検出用区間の長さを短縮することが可能となる。
IC30において、7パルス印加処理を継続的に用いる方法と、7パルス印加処理の後に3パルス印加処理を実行する方法とが切り替え可能であって良く、MPU22は、IC30に対し、それらの2つの方法の何れかを用いるのかを指定できても良い。
<<第7実施例>>
第7実施例を説明する。上述したように、位置検出用区間にて複数種類のパルス列印加処理の何れかを位置検出用動作として行うことができる。順次訪れる位置検出用区間において常に基準パルス列印加処理である7パルス印加処理を行うようにしても良いが、一旦ロータが回転し始めた後は1以上の位置検出用区間において、パルス列印加処理の1種である5パルス印加処理(第2の変形パルス列印加処理)を実行するようにしても良い。但し、5パルス印加処理は、7パルス印加処理を1回以上行った後にのみ実行され得る。
説明の具体化のため、今、図25に示す如く、第(m-1)回目の位置検出用区間にて7パルス印加処理及び相対判定方法によるロータ位置検出が行われ、第m回目の位置検出用区間及びそれ以降の位置検出用区間にて5パルス印加処理が実行されることを想定する(ここにおけるmは2以上の任意の整数)。
図26に示す如く、位置検出用区間において5パルス印加処理を実行する際、位置検出用区間は5つの区間P[0]~P[4]から成り、区間P[5]及びP[6]を含まない。即ち、5パルス印加処理は、区間P[0]に相当するダミー区間と、区間P[1]~P[4]に相当する4つの検出実区間と、を用いて実行される。上述の如く、区間P[0]~P[4]の夫々はパルス印加区間と非印加区間とから成る(図9(a)及び(b)参照)。
5パルス印加処理を実行する場合においても、7パルス印加処理を実行する場合と同様に、1つの区間P[i]において、パルス印加区間中に、上述の印加処理BC、印加処理BA、印加処理CA、印加処理CB、印加処理AB及び印加処理ACの何れかが実行される。但し、少なくとも第m回目の位置検出用区間において、検出実区間P[1]~P[4]での対象コイルペアは、第(m-1)回目の位置検出用区間で実行された7パルス印加処理に基づくロータ位置の検出結果に応じて決定される。
図27を参照し、5パルス印加処理の具体例を説明する。第(m-1)回目の位置検出用区間における7パルス印加処理にて、ロータ位置が位置範囲RR[3]内にあると検出され、その検出結果が信号SDETに含められたことを想定する(この想定を、便宜上、想定JRと称する)。図27は、この想定JRの下において、第m回目の位置検出用区間にて実行される5パルス印加処理のタイミングチャート図である。
ロータの回転中には、電圧VBC+CB、VAC+CA及びVAB+BAの内の2つの電圧が次々とクロスする(以下、そのクロスを電圧クロスと称する)、即ち当該2つの電圧の大小関係が逆転することになるが、7パルス印加処理にてロータ位置が位置範囲RR[3]内にあると検出された後、次の電圧クロスは、電圧VBC+CBと電圧VAB+BAとの間に生じるはずである(図15参照)。故に、7パルス印加処理にてロータ位置が位置範囲RR[3]内にあると検出された後に実行される5パルス印加処理では、電圧VBC+CBと電圧VAB+BAとの間の電圧クロスの発生有無を評価するだけで、ロータ位置が位置範囲RR[3]から位置範囲RR[4]に遷移したか否かを判断できる。このため、想定JRの下、第m回目の位置検出用区間における5パルス印加処理では、検出実区間P[1]~P[4]において電圧VBC+CB及びVAB+BAを導出するための電圧をサンプリングすれば良い。
故に、図27の5パルス印加処理では、検出実区間P[1]、P[2]、P[3]、P[4]中のパルス印加区間にて、夫々、印加処理BC、BA、CB、ABが実行される。また、図27の5パルス印加処理では、ダミー区間P[0]中のパルス印加区間にて印加処理ACが実行される。
検出実区間P[1]~P[4]にて実行される4つの印加処理は4パルス印加処理を形成していると言え、5パルス印加処理は、この4パルス印加処理に対し、ダミー区間P[0]中の処理を付加したものであると言える。尚、上述したように、ダミー区間P[0]を設けないことも可能であり、この場合、5パルス印加処理は4パルス印加処理そのものとなる。
印加処理BC、BA、CB、ABが行われる検出実区間(図27の例ではP[1]、P[2]、P[3]、P[4])において、夫々、A/D変換器60は、パルス印加区間中の所定のサンプリングタイミングにてコイル電圧VSPA、VSPC、VSPA、VSPCをサンプリングし、これによって、電圧値VSPA_BC、VSPC_BA、VSPA_CB、VSPA_ABを得る。
位置検出部53は、第m回目の位置検出用区間にて得られた電圧値VSPA_BC、VSPC_BA、VSPA_CB及びVSPA_ABから上記式(B1)及び(B3)に従って電圧VBC+CB及びVAB+BAを求める(換言すれば電圧値VBC+CB及びVAB+BAを求める)。そして、電圧VBC+CB及びVAB+BAの大小関係を評価して、“VBC+CB>VAB+BA”であれば、ロータ位置は未だ位置範囲RR[3]内にあると判断して、その判断結果を第m回目のロータ位置の検出結果として信号SDETに含める。一方、“VBC+CB≦VAB+BA”であれば、ロータ位置は位置範囲RR[4]内の位置に移行したと判断して、その判断結果を第m回目のロータ位置の検出結果として信号SDETに含める。
このように、7パルス印加処理の後に5パルス印加処理が実行される場合(即ち基準パルス列印加処理の後に第2の変形パルス列印加処理が実行される場合)、7パルス印加処理に基づくロータ位置の検出結果(想定JRにおいて位置範囲RR[3])に基づき、5パルス印加処理における対象コイルぺア(想定JRにおいて、コイル13B及び13Cのペアと、コイル13A及び13Bのペア)及び非対象コイル(想定JRにおいてコイル13Aとコイル13C)が設定され、5パルス印加処理での検出実区間P[1]~P[4]にて非対象コイルに生じる電圧(想定JRにおいてVSPA_BC、VSPC_BA、VSPA_CB、VSPC_AB)に基づき、ロータ位置が検出される。
第m回目の位置検出用区間での5パルス印加処理により、ロータ位置が未だ位置範囲RR[3]内にあると判断した場合、位置検出部53は、第(m+1)回目の位置検出用区間での5パルス印加処理においても、電圧VBC+CB及びVAB+BA間の大小関係を評価すべく、検出実区間P[1]~P[4]にて印加処理BC、BA、CB及びABを実行する。
第m回目の位置検出用区間での5パルス印加処理により、ロータ位置が位置範囲RR[4]内の位置に移行したと判断した場合、次の電圧クロスは電圧VAC+CAと電圧VAB+BAとの間に生じるはずであるので(図15参照)、位置検出部53は、第(m+1)回目の位置検出用区間での5パルス印加処理において、電圧VAC+CAと電圧VAB+BAとの大小関係を判定すべく、検出実区間P[1]~P[4]にて印加処理AC、BA、CA及びABを実行する(この際、ダミー区間P[0]では例えば印加処理BCが実行されて良い)。
図28に、第(m-1)回目の位置検出用区間を起点にした、ロータ位置の検出動作のフローチャートを示す。ステップS51では、第(m-1)回目の位置検出用区間にて7パルス印加処理が実行され、第2実施例に示した相対判定方法にてロータ位置が検出される。続くステップS52では変数kに“m”の値が代入され、その後、ステップS53に進む。ステップS53において、位置検出用制御部54は、第(k-1)回目の位置検出用区間におけるロータ位置の検出結果に基づき、第k回目の位置検出用区間における5パルス印加処理の内容を設定する。ステップS53の後、ステップS54に進む。
図29を参照して5パルス印加処理の内容の設定方法を説明する。
第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RR[0]又はRR[3]内にあると検出されていた場合、次の電圧クロスは電圧VBC+CBと電圧VAB+BAとの間に生じるはずであるので(図15参照)、第k回目の位置検出用区間における2組分の対象コイルペアをコイル13B及び13Cのペアとコイル13A及び13Bのペアに設定し、第k回目の位置検出用区間中の区間P[0]、P[1]、P[2]、P[3]、P[4]にて、夫々、印加処理AC、BC、BA、CB、ABを実行すると決定する。
第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RR[1]又はRR[4]内にあると検出されていた場合、次の電圧クロスは電圧VAC+CAと電圧VAB+BAとの間に生じるはずであるので(図15参照)、第k回目の位置検出用区間における2組分の対象コイルペアをコイル13A及び13Cのペアとコイル13A及び13Bのペアに設定し、第k回目の位置検出用区間中の区間P[0]、P[1]、P[2]、P[3]、P[4]にて、夫々、印加処理BC、AC、BA、CA、ABを実行すると決定する。
第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RR[2]又はRR[5]内にあると検出されていた場合、次の電圧クロスは電圧VBC+CBと電圧VAC+CAとの間に生じるはずであるので(図15参照)、第k回目の位置検出用区間における2組分の対象コイルペアをコイル13A及び13Cのペアとコイル13B及び13Cのペアに設定し、第k回目の位置検出用区間中の区間P[0]、P[1]、P[2]、P[3]、P[4]にて、夫々、印加処理BA、AC、BC、CA、CBを実行すると決定する。
尚、何れの場合であっても、印加処理BC、BA、CA、CB、AB及びACの内の任意の何れかを、第k回目の位置検出用区間中のダミー区間P[0]にて実行されるべき印加処理として、決定するようにしても良い。
ステップS54において、位置検出用制御部54は、ステップS53における設定及び決定内容に従って、第k回目の位置検出用区間にて5パルス印加処理を実行する。その後のステップS55にて、位置検出部53は、第k回目の位置検出用区間の5パルス印加処理において2つの非対象コイルに関わる電圧(即ちVBC+CB、VAC+CA及びVAB+BAの内の2つ)の大小関係に基づき、第k回目の位置検出用区間におけるロータ位置を検出する。その後は、ステップS56にて変数kに1が加算されてからステップS53に戻り、上述のステップS53以降の各処理が繰り返される。
ステップS55の処理を具体的に説明する。記述の簡略化上、第(k-1)回目の位置検出用区間にてロータ位置が位置範囲RR[0]、RR[1]、RR[2]、RR[3]、RR[4]、RR[5]内にあると検出されていたケースを、夫々、ケースCASER[0]、CASER[1]、CASER[2]、CASER[3]、CASER[4]、CASER[5]にて表すと共に、第k回目の位置検出用区間におけるロータ位置を“ロータ位置RP_k”にて表す。
ケースCASER[0]では、ステップS54の5パルス印加処理の結果に基づき導出された電圧VBC+CB及びVAB+BAの大小関係を判定し、“VBC+CB<VAB+BA”であればロータ位置RP_kが未だ位置範囲RR[0]内にあると判断する一方、“VBC+CB≧VAB+BA”であればロータ位置RP_kが位置範囲RR[1]内の位置に移行したと判断する。
ケースCASER[1]では、ステップS54の5パルス印加処理の結果に基づき導出された電圧VAC+CA及びVAB+BAの大小関係を判定し、“VAC+CA<VAB+BA”であればロータ位置RP_kが未だ位置範囲RR[1]内にあると判断する一方、“VAC+CA≧VAB+BA”であればロータ位置RP_kが位置範囲RR[2]内の位置に移行したと判断する。
ケースCASER[2]では、ステップS54の5パルス印加処理の結果に基づき導出された電圧VAC+CA及びVBC+CBの大小関係を判定し、“VAC+CA<VBC+CB”であればロータ位置RP_kが未だ位置範囲RR[2]内にあると判断する一方、“VAC+CA≧VBC+CB”であればロータ位置RP_kが位置範囲RR[3]内の位置に移行したと判断する。
ケースCASER[3]では、ステップS54の5パルス印加処理の結果に基づき導出された電圧VBC+CB及びVAB+BAの大小関係を判定し、“VBC+CB>VAB+BA”であればロータ位置RP_kが未だ位置範囲RR[3]内にあると判断する一方、“VBC+CB≦VAB+BA”であればロータ位置RP_kが位置範囲RR[4]内の位置に移行したと判断する。
ケースCASER[4]では、ステップS54の5パルス印加処理の結果に基づき導出された電圧VAC+CA及びVAB+BAの大小関係を判定し、“VAC+CA>VAB+BA”であればロータ位置RP_kが未だ位置範囲RR[4]内にあると判断する一方、“VAC+CA≦VAB+BA”であればロータ位置RP_kが位置範囲RR[5]内の位置に移行したと判断する。
ケースCASER[5]では、ステップS54の5パルス印加処理の結果に基づき導出された電圧VAC+CA及びVBC+CBの大小関係を判定し、“VAC+CA>VBC+CB”であればロータ位置RP_kが未だ位置範囲RR[5]内にあると判断する一方、“VAC+CA≦VBC+CB”であればロータ位置RP_kが位置範囲RR[0]内の位置に移行したと判断する。
モータの駆動に寄与しない位置検出用区間の長さはなるだけ短い方が良いと言える。5パルス印加処理を利用するようにすれば、7パルス印加処理を利用する場合と比べて、位置検出用区間の長さを短縮することが可能となる。
IC30において、7パルス印加処理を継続的に用いる方法と、7パルス印加処理の後に5パルス印加処理を実行する方法とが切り替え可能であって良く、MPU22は、IC30に対し、それらの2つの方法の何れかを用いるのかを指定できても良い。
尚、上述の3パルス印加処理は、7パルス印加処理の絶対判定方法と同様に、電圧の極性に基づいてロータ位置の検出を行う。このため、3パルス印加処理はロータ位置検出に関わる回路のオフセットの影響を直接的に受け、場合によっては、3パルス印加処理にて実際に導出される電圧(VBC+CB、VAC+CA又はVAB+BA)が、常時、正になるといったことも生じうる。このような場合には、3パルス印加処理にてロータ位置の検出が不能となるため、5パルス印加処理にてロータ位置の検出を再度やり直し、以後は、5パルス印加処理にてロータ位置の検出を行うようにすると良い。
<<第8実施例>>
第8実施例を説明する。ここまでは特に意識しなかったが、上述の説明におけるロータの回転とは、ロータの第1回転方向への回転(以下、正転と称され得る)を指す。第1回転方向とは逆の第2回転方向へのロータの回転は逆転と称され得る。例えばロータ位置の電気角が90°であるときにおいて、ロータが30°だけ正転するとロータ位置は120°となり、ロータが30°だけ逆転するとロータ位置は60°となる。
HDD装置1は、ロータを正転させた状態で、磁気ディスク10に対するデータの読み書きが行われるよう設計されている。このため、ロータが逆転している場合には、速やかにそれを検知して、ロータの回転方向を本来の方向(即ち第1回転方向)に戻す、或いは、ロータの回転を停止させる必要がある。
位置検出部53は逆転検出部(不図示)を内包しており、逆転検出部は、ロータが逆転しているか否かを検出する(換言すれば、ロータの回転方向が第1及び第2回転方向の何れであるのかを検出する)。第8実施例では、その検出のための第1の逆転検出方法を説明する。
図30(a)において、実線による曲線波形710A、破線による曲線波形710B、一点鎖線による曲線波形710Cは、ハーフブリッジ回路50A、50B及び50Cの全てがHi-Z状態とされていて且つロータが慣性で正転しているときの端子電圧VTMA、VTMB、VTMCの波形である。図30(b)において、実線による曲線波形720A、破線による曲線波形720B、一点鎖線による曲線波形720Cは、ハーフブリッジ回路50A、50B及び50Cの全てがHi-Z状態とされていて且つロータが慣性で逆転しているときの端子電圧VTMA、VTMB、VTMCの波形である。ハーフブリッジ回路50A、50B及び50Cの全てがHi-Z状態とされているとき、中性点13CTの電圧はゼロであるので、“VTMA=VTMA-VCT=VSPA”、“VTMB=VTMB-VCT=VSPB”、“VTMC=VTMC-VCT=VSPC”である。故に、波形710A及び720Aはコイル電圧VSPAの波形でもあり、波形710B及び720Bはコイル電圧VSPBの波形でもあり、波形710C及び720Cはコイル電圧VSPCの波形でもある。また、ハーフブリッジ回路50A、50B及び50Cの全てがHi-Z状態とされているときのコイル電圧VSPA、VSPB、VSPCは、夫々、コイル13A、13B、13Cに生じる逆起電力に等しい。
或る相のコイル電圧(例えばVSPA)がゼロクロスするときの残りの2つのコイル電圧(例えばVSPB及びVSPC)の極性は、ロータの正転時と逆転時とで異なる。第1の逆転検出方法では、この特性を利用してロータの正転及び逆転を判別する。
具体的には、位置検出部53は図31に示すテーブルに従ってロータの正転及び逆転を判別する。位置検出用制御部54は、ロータが正転又は逆転しているときの任意のタイミングにおいて一時的にハーフブリッジ回路50A、50B及び50Cの全てをHi-Z状態とするHi-Z区間を設けることができる。位置検出部53は、Hi-Z区間においてコイル電圧VSPA~VSPC(即ちコイル13A、13B、13Cに生じる逆起電力)を検出し、コイル電圧VSPA~VSPCの内の何れかがゼロクロスするタイミングにおいて残りの2つのコイル電圧の極性を判定することで、ロータの正転及び逆転を判別する。
より具体的には、コイル電圧VSPAが正から負に切り替わるゼロクロスタイミングにおいて、“VSPB>0”且つ“VSPC<0”であればロータは正転していると判断し、“VSPC>0”且つ“VSPB<0”であればロータは逆転していると判断する。同様に、コイル電圧VSPBが正から負に切り替わるゼロクロスタイミングにおいて、“VSPC>0”且つ“VSPA<0”であればロータは正転していると判断し、“VSPA>0”且つ“VSPC<0”であればロータは逆転していると判断する。同様に、コイル電圧VSPCが正から負に切り替わるゼロクロスタイミングにおいて、“VSPA>0”且つ“VSPB<0”であればロータは正転していると判断し、“VSPB>0”且つ“VSPA<0”であればロータは逆転していると判断する。コイル電圧VSPA、VSPB又はVSPCが負から正に切り替わるゼロクロスタイミングにおいても同様にして、ロータの正転及び逆転を判別できる。尚、第1の逆転検出方法において、コイル電圧VSPA~VSPCの代わりに端子電圧VTMA~VTMCを用いても良い。
<<第9実施例>>
第9実施例を説明する。第9実施例では、位置検出部53による第2の逆転検出方法を説明する。第2の逆転検出方法は、上述の7パルス印加処理によるロータ位置の検出結果を利用した逆転検出方法である。
順次訪れる位置検出用区間にて7パルス印加処理が実行されて絶対判定方法によるロータ位置の検出が行われることを想定する。また、隣接する2つの位置検出用区間の間において、ロータ位置が60°以上変化することが無い程度にロータの回転数が低いものとする又は位置検出用区間の挿入周期が設定されているものとする。そうすると、前回の位置検出用区間での7パルス印加処理によりロータ位置が位置範囲RA[i]内にあると判断されていたとき、ロータの回転方向が正転の方向(即ち第1回転方向)であれば、今回の位置検出用区間での7パルス印加処理によりロータ位置は位置範囲RA[i]又はRA[i+1]内にあると判断されることが期待される(但し、ここにおける“i”は0以上4以下の整数)。第2の逆転検出方法では、この原理を利用する。
図32は、第2の逆転検出方法を用いた逆転の検出動作のフローチャートである。位置検出部53はエラーカウント値ECNTをカウントするためのエラーカウンタを有しており、まずステップS71において、エラーカウント値ECNTにゼロが代入される。続くステップS72では、7パルス印加処理を用いたロータ位置検出が行われる。後述のステップS78に進まない限り、ステップS72の処理は位置検出用区間が到来するごと繰り返し実行される。また、ここでは、ステップS72にて絶対判定方法が用いられるものとする。
続くステップS73において、位置検出部53は、今回の検出ロータ位置が前回の検出ロータ位置と同じであるかを判断する。今回の検出ロータ位置とは、直近のステップS72によるロータ位置の検出結果であり、前回の検出ロータ位置とは、それよりも1回前に実行されたステップS72によるロータ位置の検出結果である。今回の検出ロータ位置が前回の検出ロータ位置と同じであればステップS72に戻るが、それらが異なっていればステップS74に進む。
ステップS74において、位置検出部53は、今回の検出ロータ位置が前回の検出ロータ位置に対し、正転の向きに“1”だけシフトしたものであるか否かを判断する。前回の検出ロータ位置が位置範囲RA[0]、RA[1]、RA[2]、RA[3]、RA[4]、RA[5]内の位置であることを指し示している場合において、今回の検出ロータ位置が、夫々、位置範囲RA[1]、RA[2]、RA[3]、RA[4]、RA[5]、RA[0]内の位置であることを指し示しているとき、ステップS74の判定は“肯定”となってステップS75に進み、そうでないとき、ステップS74の判定は“否定”となってステップS76に進む。つまり例えば、“0≦i≦4”を満たす整数iに関しては、前回の検出ロータ位置が位置範囲RA[i]内の位置であることを指し示している場合において、今回の検出ロータ位置が位置範囲RA[i+1]内の位置であることを指し示しているときステップS74の判定は“肯定”となってステップS75に進み、そうでないとき、ステップS74の判定は“否定”となってステップS76に進むことになる。
ステップS75に進んだ場合、ロータは正転していると判断されるのでエラーカウント値ECNTにゼロを代入してステップS72に戻る。
ステップS76に進んだ場合、エラーカウント値ECNTに1を加算し、ステップS77に進む。ステップS77にて、エラーカウント値ECNTが所定のエラー判定値ETHと比較され、エラーカウント値ECNTがエラー判定値ETH以上であればステップS78に進む一方、そうでなければステップS72に戻る。エラー判定値ETHは1以上の整数値を有する。MPU22はIC30に対しエラー判定値ETHを指定できても良い。
ステップS78において、位置検出部53はロータが逆転していると判断し、その判断結果は駆動制御部52及び位置検出用制御部54に送られる。ロータが逆転していると判断された場合、駆動制御部52は、その判断結果に基づき、ロータの駆動を停止する(即ち、ハーフブリッジ回路50A、50B及び50Cが全てHi-Z状態を維持されるような駆動制御信号DRVA、DRVB及びDRVCを生成及び出力する)。
図33(a)に正転時に期待される検出ロータ位置とエラーカウント値ECNTとの関係を示し、図33(b)に逆転時に期待される検出ロータ位置とエラーカウント値ECNTとの関係を示す(但し、“ETH≧3”と仮定)。図33(c)は、検出誤差等の影響によりエラーカウント値ECNTの増減が混在しているケースに対応する。エラー判定値ETHを“1”に設定することもできるが、実際には正転しているにも関わらず、稀にステップS76に移行することも有りえることを考慮し、エラー判定値ETHを2以上に設定することが好ましい。
図32のフローチャートに関する上述の説明では、ステップS72にて絶対判定方法が用いられることを想定したが、ステップS72にて相対判定方法が用いられても良い。この場合には、前回の検出ロータ位置が位置範囲RR[0]、RR[1]、RR[2]、RR[3]、RR[4]、RR[5]内の位置であることを指し示している場合において、今回の検出ロータ位置が、夫々、位置範囲RR[1]、RR[2]、RR[3]、RR[4]、RR[5]、RR[0]内の位置であることを指し示しているとき、ステップS74の判定は“肯定”となってステップS75に進み、そうでないとき、ステップS74の判定は“否定”となってステップS76に進む。
同様に、ステップS72にて混合判定方法が用いられても良い。この場合には、前回の検出ロータ位置が位置範囲R[0,0]、R[1,0]、R[1,1]、R[2,1]、R[2,2]、R[3,2]、R[3,3]、R[4,3]、R[4,4]、R[5,4]、R[5,5]、R[0,5]内の位置であることを指し示している場合において、今回の検出ロータ位置が、夫々、位置範囲R[1,0]、R[1,1]、R[2,1]、R[2,2]、R[3,2]、R[3,3]、R[4,3]、R[4,4]、R[5,4]、R[5,5]、R[0,5]、R[0,0]内の位置であることを指し示しているとき、ステップS74の判定は“肯定”となってステップS75に進み、そうでないとき、ステップS74の判定は“否定”となってステップS76に進む。但し、混合判定方法が用いられる場合、隣接する2つの位置検出用区間の間において、ロータ位置が30°以上変化することが無い程度にロータの回転数が低いものとする又は位置検出用区間の挿入周期が設定されているものとする。
<<第10実施例>>
第10実施例を説明する。図34を参照し、上述した第1及び第2の逆転検出方法の利用の仕方の例を説明する。図34は、ロータの回転停止からロータが定常速度で回転するまでの過程におけるSPMドライバ33の動作フローチャートである。
既にロータの回転が開始している状態を基準に考える。図34の最初のステップS111においてSPMドライバ33はCLC状態となる。CLC状態は、ハーフブリッジ回路50A、50B及び50Cが全てHi-Z状態としつコイル電圧VSPA~VSPC(又は端子電圧VTMA~VTMC)をモニタすることで、ロータの回転情報を取り出そうとしている状態であり、CLC状態において、第1の逆転検出方法によりロータが逆転しているか否かが判定される。図34には特に図示していないが、ロータが逆転していると判定された場合には、ロータの回転方向を本来の方向(即ち第1回転方向)に戻すための制御が実行される、或いは、ロータの回転が停止させる制御が実行される。
ステップS111にてロータが逆転していないと判定されると(換言すればロータが正転していると判定されると)、ステップS112にてロータの回転数が所定値(例えば400rpm)と比較され、ロータの回転数が所定値以下であればステップS113に進む一方で、ロータの回転数が所定値よりも大きければステップS116に進む。ステップS113では、7パルス印加処理を用いてロータ位置の検出が行われ、続くステップS114において第2の逆転検出方法によりロータが逆転しているか否かが判定される。図34には特に図示していないが、ロータが逆転していると判定された場合には、ロータの回転が停止させる制御が実行される。ステップS114にてロータが逆転していないと判定されると(換言すればロータが逆転しているとの判断が成されていない場合には)、ステップS115にてロータの回転数が所定値(例えば400rpm)と比較され、ロータの回転数が所定値以下であればステップS113に戻る一方で、ロータの回転数が所定値よりも大きければステップS116に進む。
ステップS116においてSPMドライバ33はCLS状態となる。CLS状態は、ロータを正弦波駆動する状態であり、正弦波駆動を行いながらロータを加速させてゆく(ステップS117)。CLS状態において、上述の7パルス印加処理、3パルス印加処理及び5パルス印加処理によるロータ位置の検出を利用しても良いが、CLS状態では、ロータ位置を推定するための公知の任意の方法(例えば、コイル13A、13B又は13Cの逆起電力のゼロクロス点の検出を通じてロータ位置を推定する方法)を用いてロータ位置の推定及び検出を行っても良い。
<<第11実施例>>
第11実施例を説明する。第11実施例では、上述の幾つかの技術に対する変形技術等を説明する。
図11に示した7パルス印加処理ではダミー区間P[0]にて印加処理ACが実行されているが、7パルス印加処理におけるダミー区間P[0]にて印加処理BC、BA、CA、CB、AB及びACの内の任意の何れかを実行しても良い。3パルス印加処理及び5パルス印加処理におけるダミー区間P[0]についても同様である。
図11に示した7パルス印加処理では、検出実区間P[1]~P[6]にて夫々印加処理BC、BA、CA、CB、AB及びACが実行されているが、検出実区間P[1]~P[6]の中で印加処理BC、BA、CA、CB、AB及びACが実行されるのであれば、これら6つの印加処理の順番は任意に変更可能であって良い。
3パルス印加処理において検出実区間P[1]及びP[2]にて実行される2つの印加処理についても同様である。即ち3パルス印加処理において、例えば区間P[1]及びP[2]にて印加処理BC及びCBを実行する必要がある場合(図22参照)、印加処理BC及びCBの内、どちらを先に実行するようにしても良い。5パルス印加処理において検出実区間P[1]~P[4]にて実行される4つの印加処理についても同様である。即ち5パルス印加処理において、例えば区間P[1]~P[4]にて印加処理BC、BA、CB及びABを実行する必要がある場合(図27参照)、それら4つの印加処理の実行順序は任意であっても良い。
IC30の各回路素子は半導体集積回路の形態で形成され、当該半導体集積回路を、樹脂にて構成された筐体(パッケージ)内に封入することで半導体装置が構成される。但し、複数のディスクリート部品を用いてIC30内の回路と同等の回路を構成するようにしても良い。IC30内に含まれるものとして上述した幾つかの回路素子(例えばトランジスタTrH及びTrL)は、IC30外に設けられてIC30に外付け接続されても良い。尚、SPMドライバ33のみを含む半導体集積回路を形成するようにしても良い。
上述の実施形態では、HDD装置1のSPM13に対するモータドライバ装置(ドライバIC30)に本発明を適用する例を挙げているが、モータを駆動する任意のモータドライバ装置に本発明を広く適用可能であり、例えば空冷用のファンモータを駆動するためのモータドライバ装置に本発明を適用しても良い。
トランジスタTrHをPチャネル型のMOSFETにて構成するようにしても良い。この他、FETのチャネル型は任意に変更可能である。
上述の各トランジスタは、任意の種類のトランジスタであって良い。例えば、MOSFETとして上述されたトランジスタを、接合型FET、IGBT(Insulated Gate Bipolar Transistor)又はバイポーラトランジスタに置き換えることも可能である。任意のトランジスタは第1電極、第2電極及び制御電極を有する。FETにおいては、第1及び第2電極の内の一方がドレインで他方がソースであり且つ制御電極がゲートである。IGBTにおいては、第1及び第2電極の内の一方がコレクタで他方がエミッタであり且つ制御電極がゲートである。IGBTに属さないバイポーラトランジスタにおいては、第1及び第2電極の内の一方がコレクタで他方がエミッタであり且つ制御電極がベースである。
<<本発明の考察>>
上述の実施形態にて具体化された本発明について考察する。
本発明に係る一側面に係るモータドライバ装置Wは、中性点(13CT)にて互いに接続された第1相~第3相のコイル(13A、13B、13C)を有して構成されるブラシレス直流モータのロータの位置を、各相のコイルの電圧に基づいて検出する位置検出部(53)と、前記位置検出部による前記ロータの位置の検出結果に基づき前記ロータを回転させるための駆動制御信号を生成する駆動制御部(52)と、前記駆動制御信号に基づき各相のコイルに駆動電圧を供給する出力段回路(51、50A、50B、50C)と、を備えて、前記ブラシレス直流モータをセンサレス駆動するモータドライバ装置において、
位置検出用区間を設定して前記位置検出用区間にて前記出力段回路に位置検出用動作を実行させる位置検出用制御部(54)を更に備え、前記位置検出用動作はパルス列印加処理(6パルス印加処理、又は、6パルス印加処理を包含する7パルス印加処理)を含み、前記出力段回路は、前記パルス列印加処理において、前記第1相~前記第3相のコイルの内、2相のコイルを対象コイルペアとし且つ残りのコイルを非対象コイルとし、前記対象コイルペアに対しパルス電圧を第1方向から印加する第1処理と前記第1方向と逆の第2方向から印加する第2処理とを、前記対象コイルペアの全ての組み合わせに対して実行し、前記第1処理及び前記第2処理にて前記非対象コイルへの通電は停止され、前記位置検出部は、前記パルス列印加処理の各第1処理及び各第2処理において前記非対象コイルに生じる電圧(VSPA_BC、VSPC_BA、VSPB_CA、VSPA_CB、VSPC_AB、VSPB_AC)に基づき前記ロータの位置を検出することを特徴とする。
これにより、ロータ位置を60°の分解能で良好に検出することが可能となる。
具体的には例えば、モータドライバ装置Wにおいて、前記パルス列印加処理は、前記第1相のコイル及び前記第2相のコイルから成る前記対象コイルペアに対し、前記第1相のコイルを高電位側にして前記パルス電圧を印加する第1印加処理と、前記第1相のコイル及び前記第2相のコイルから成る前記対象コイルペアに対し、前記第2相のコイルを高電位側にして前記パルス電圧を印加する第2印加処理と、前記第2相のコイル及び前記第3相のコイルから成る前記対象コイルペアに対し、前記第2相のコイルを高電位側にして前記パルス電圧を印加する第3印加処理と、前記第2相のコイル及び前記第3相のコイルから成る前記対象コイルペアに対し、前記第3相のコイルを高電位側にして前記パルス電圧を印加する第4印加処理と、前記第3相のコイル及び前記第1相のコイルから成る前記対象コイルペアに対し、前記第3相のコイルを高電位側にして前記パルス電圧を印加する第5印加処理と、前記第3相のコイル及び前記第1相のコイルから成る前記対象コイルペアに対し、前記第1相のコイルを高電位側にして前記パルス電圧を印加する第6印加処理と、を含み、前記非対象コイルは、前記第1印加処理及び前記第2印加処理では前記第3相のコイルであり、前記第3印加処理及び前記第4印加処理では前記第1相のコイルであり、前記第5印加処理及び前記第6印加処理では前記第2相のコイルであり、前記位置検出部は、第1評価電圧、第2評価電圧及び第3評価電圧に基づいて前記ロータの位置を検出し、前記第1評価電圧、前記第2評価電圧、前記第3評価電圧は、夫々、前記第1印加処理及び前記第2印加処理にて前記第3相のコイルに生じる電圧の和、前記第3印加処理及び前記第4印加処理にて前記第1相のコイルに生じる電圧の和、前記第5印加処理及び前記第6印加処理にて前記第2相のコイルに生じる電圧の和であると良い。
上述の実施形態では、印加処理BC、BA、CA、CB、AB及びACが前記第1印加処理~前記第6印加処理に対応し、電圧VBC+CB、VAC+CA及びVAB+BAが前記第1評価電圧~前記第3評価電圧に相当する。
モータドライバ装置Wにおいて、前記位置検出部は、前記第1評価電圧~前記第3評価電圧の各極性に基づいて前記ロータの位置を検出しても良いし(第1実施例の絶対判定方法に対応)、前記第1評価電圧~前記第3評価電圧の大小関係に基づいて前記ロータの位置を検出しても良いし(第2実施例の相対判定方法に対応)、前記第1評価電圧~前記第3評価電圧の各極性と、前記第1評価電圧~前記第3評価電圧の大小関係と、に基づいて前記ロータの位置を検出しても良い(第3実施例の混合判定方法に対応)。
本発明の実施形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。以上の実施形態は、あくまでも、本発明の実施形態の例であって、本発明ないし各構成要件の用語の意義は、以上の実施形態に記載されたものに制限されるものではない。上述の説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。