JP3122675B2 - 回転制御方法 - Google Patents
回転制御方法Info
- Publication number
- JP3122675B2 JP3122675B2 JP03260238A JP26023891A JP3122675B2 JP 3122675 B2 JP3122675 B2 JP 3122675B2 JP 03260238 A JP03260238 A JP 03260238A JP 26023891 A JP26023891 A JP 26023891A JP 3122675 B2 JP3122675 B2 JP 3122675B2
- Authority
- JP
- Japan
- Prior art keywords
- rotation
- control
- actuator
- bias
- spindle motor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Rotational Drive Of Disk (AREA)
Description
【0001】
【産業上の利用分野】本発明は、回転制御方法に関し、
更に詳しくいえば、磁気ディスク装置、光ディスク装
置、光磁気ディスク装置等のスピンドルモータを回転制
御する際に用いられる回転制御方法に関する。
更に詳しくいえば、磁気ディスク装置、光ディスク装
置、光磁気ディスク装置等のスピンドルモータを回転制
御する際に用いられる回転制御方法に関する。
【0002】
【従来の技術】図11は、従来の磁気ディスク装置にお
けるモータ制御部のブロック図、図12は、従来の回転
同期制御のタイムチャート、図13はスピンドルモータ
制御系のブロック図、図14は、図13の各部における
伝達関数を示した図である。
けるモータ制御部のブロック図、図12は、従来の回転
同期制御のタイムチャート、図13はスピンドルモータ
制御系のブロック図、図14は、図13の各部における
伝達関数を示した図である。
【0003】図中、1はスピンドルモータ、2はディス
ク、3はVCM(ボイスコイルモータ)、4はアクチュ
エータ(アーム)、5はヘッド、6は位置検出回路、7
はVCM制御回路、8は回転制御回路を示す。
ク、3はVCM(ボイスコイルモータ)、4はアクチュ
エータ(アーム)、5はヘッド、6は位置検出回路、7
はVCM制御回路、8は回転制御回路を示す。
【0004】従来、例えば磁気ディスク装置におけるモ
ータ制御部は、図11にように構成されていた。磁気デ
ィスク装置のモータとしては、ディスク2を回転駆動す
るためのスピンドルモータ1と、アクチュエータ4の先
端に設けられたヘッド5を、ディスク2上に設けられた
同心円状の1つのトラックに位置決めするためのVCM
(ボイスコイルモータ)3とがある。
ータ制御部は、図11にように構成されていた。磁気デ
ィスク装置のモータとしては、ディスク2を回転駆動す
るためのスピンドルモータ1と、アクチュエータ4の先
端に設けられたヘッド5を、ディスク2上に設けられた
同心円状の1つのトラックに位置決めするためのVCM
(ボイスコイルモータ)3とがある。
【0005】従って、磁気ディスク装置のモータ制御部
には、前記スピンドルモータ1を制御するための回転制
御回路8と、VCM3を制御するためのVCM制御回路
7が設けられると共に、ヘッド5の位置情報を検出する
ための位置検出回路6が設けられている。
には、前記スピンドルモータ1を制御するための回転制
御回路8と、VCM3を制御するためのVCM制御回路
7が設けられると共に、ヘッド5の位置情報を検出する
ための位置検出回路6が設けられている。
【0006】前記位置検出回路6は、ディスク2上に記
録されているインデックス信号を検出する回路もまた含
んでいる。、VCM制御回路7は、位置検出回路6から
入力した位置情報(半径方向の位置情報)を用いて、V
CM3の制御を行う回路である。
録されているインデックス信号を検出する回路もまた含
んでいる。、VCM制御回路7は、位置検出回路6から
入力した位置情報(半径方向の位置情報)を用いて、V
CM3の制御を行う回路である。
【0007】また、回転制御回路8は、位置検出回路6
から入力したインデックスパルス(周方向の位置情報)
を用いて、スピンドルモータ1を制御する回路である
が、この場合、他装置よりの同期パルスを用いない制御
では、前記インデックスパルスの時間同期を一定に保持
する回転数制御を行う。
から入力したインデックスパルス(周方向の位置情報)
を用いて、スピンドルモータ1を制御する回路である
が、この場合、他装置よりの同期パルスを用いない制御
では、前記インデックスパルスの時間同期を一定に保持
する回転数制御を行う。
【0008】しかし、図11のように、他装置からの同
期パルスを用いた制御では、インデックスパルスと、同
期パルスを用いて、回転同期制御を行う。以下、これら
の制御を、図12のタイムチャートを用いて、更に詳し
く説明する。
期パルスを用いた制御では、インデックスパルスと、同
期パルスを用いて、回転同期制御を行う。以下、これら
の制御を、図12のタイムチャートを用いて、更に詳し
く説明する。
【0009】VCM制御は、通常の場合、軽量のアクチ
ュエータ4を用い、高速動作を行う。しかし、スピンド
ルモータ1の回転数制御は、慣性モーメントの大きなデ
ィスクを駆動するので、その回転周期を検出(例えば、
1周に1回発生するインデックスパルスを用いる)し
て、回転数制御を行う。
ュエータ4を用い、高速動作を行う。しかし、スピンド
ルモータ1の回転数制御は、慣性モーメントの大きなデ
ィスクを駆動するので、その回転周期を検出(例えば、
1周に1回発生するインデックスパルスを用いる)し
て、回転数制御を行う。
【0010】この場合、例えば図12に示したように、
インデックスパルス(位置検出回路6の出力パルス)が
Pi(n)、Pi(n+1)、Pi(n+2)・・・の各時刻に発生した
とすると、各パルス間の時間(Pi(n+2)−Pi(n+1)、P
i(n+1)−Pi(n)等)が測定した回転周期となる。
インデックスパルス(位置検出回路6の出力パルス)が
Pi(n)、Pi(n+1)、Pi(n+2)・・・の各時刻に発生した
とすると、各パルス間の時間(Pi(n+2)−Pi(n+1)、P
i(n+1)−Pi(n)等)が測定した回転周期となる。
【0011】そこで、前記回転数制御では、前記のイン
デックスパルス発生時刻Pi(n)、P i(n+1)、Pi(n+2)・
・・を用いて、回転周期が一定(回転数が一定)となる
ように制御を行う。
デックスパルス発生時刻Pi(n)、P i(n+1)、Pi(n+2)・
・・を用いて、回転周期が一定(回転数が一定)となる
ように制御を行う。
【0012】また、他装置との回転同期制御(パラレル
ディスクの同期運転)を行う場合には、インデックスパ
ルスの外に、同期パルス(例えば上位の制御装置から送
られてくる同期信号)を用いて制御を行う。
ディスクの同期運転)を行う場合には、インデックスパ
ルスの外に、同期パルス(例えば上位の制御装置から送
られてくる同期信号)を用いて制御を行う。
【0013】この場合、図12に示したように、同期パ
ルスがPs(n)、Ps(n+1)、Ps(n+2)・・・の時刻に発生
したとする。この時、インデックスパルスと、同期パル
スとの差(例えばPi(n)−Ps(n))が位相差の測定値で
ある。
ルスがPs(n)、Ps(n+1)、Ps(n+2)・・・の時刻に発生
したとする。この時、インデックスパルスと、同期パル
スとの差(例えばPi(n)−Ps(n))が位相差の測定値で
ある。
【0014】そして、前記位相差の測定値と予め指示し
た位相差時間Tref が同一となるように、回転同期制御
を行う。前記位相差指示値Tref は、例えば上位の制御
装置等からコマンドにより指示されるものであり、イン
デックスパルスと同期パルスの位相差が指示された位相
差と同一になるように、各装置が制御を行う。
た位相差時間Tref が同一となるように、回転同期制御
を行う。前記位相差指示値Tref は、例えば上位の制御
装置等からコマンドにより指示されるものであり、イン
デックスパルスと同期パルスの位相差が指示された位相
差と同一になるように、各装置が制御を行う。
【0015】前記のようなVCM制御回路7によるVC
M制御と、回転制御回路8による回転制御(回転数制御
部、または回転同期制御)とは、同一または別のMPU
で制御されるが、両者の間では、情報の相互利用はな
く、それぞれ別々に制御を行っていた。
M制御と、回転制御回路8による回転制御(回転数制御
部、または回転同期制御)とは、同一または別のMPU
で制御されるが、両者の間では、情報の相互利用はな
く、それぞれ別々に制御を行っていた。
【0016】VCMのアクセス(図12のアクチュエー
タの動作例を参照)は、通常、最外周から最内周(また
は最内周から最内周)への移動(フルシーク)時間が2
0〜100msecと高速である。
タの動作例を参照)は、通常、最外周から最内周(また
は最内周から最内周)への移動(フルシーク)時間が2
0〜100msecと高速である。
【0017】これに対して、ディスク回転数(スピンド
ルモータの回転数)は、3000〜6000RPM 程度で
あるから、回転周期は10〜20msecとなる。従って、
VCMによるシーク時間は、ディスクの回転周期と同程
度、あるいは、ディスクの回転周期よりも短い。
ルモータの回転数)は、3000〜6000RPM 程度で
あるから、回転周期は10〜20msecとなる。従って、
VCMによるシーク時間は、ディスクの回転周期と同程
度、あるいは、ディスクの回転周期よりも短い。
【0018】また、前記のインデックスパルスは、ディ
スクの1回転毎に1パルスを発生するので、シーク時間
は、このインデックスパルスのパルス間隔と同程度か、
あるいは前記パルス間隔よりも短い時間である。
スクの1回転毎に1パルスを発生するので、シーク時間
は、このインデックスパルスのパルス間隔と同程度か、
あるいは前記パルス間隔よりも短い時間である。
【0019】なお、図11に示した従来例において、回
転制御回路8に位置検出回路6からのインデックスパル
スを入力しないでスピンドルモータ1の制御を行う回路
も知られている。
転制御回路8に位置検出回路6からのインデックスパル
スを入力しないでスピンドルモータ1の制御を行う回路
も知られている。
【0020】この回路は、スピンドルモータ1に設けら
れたホール素子から発生するパルスを用いるものであ
り、回転制御回路8には、前記ホール素子から発生する
パルスを入力し、このパルスを用いて回転数の制御を行
うものである。この場合もホール素子から発生するパル
スを分周する事によりインデックスパルスと同等の信号
を作成することができ、これを記録媒体から再生したイ
ンデックスパルスの代用として使用する事で回転前制御
/回転同期制御が可能である。
れたホール素子から発生するパルスを用いるものであ
り、回転制御回路8には、前記ホール素子から発生する
パルスを入力し、このパルスを用いて回転数の制御を行
うものである。この場合もホール素子から発生するパル
スを分周する事によりインデックスパルスと同等の信号
を作成することができ、これを記録媒体から再生したイ
ンデックスパルスの代用として使用する事で回転前制御
/回転同期制御が可能である。
【0021】次に、従来の一般的なスピンドルモータ制
御系について説明する。図13にスピンドルモータ制御
系のブロック図を示し、図14に各部の伝達関数を示
す。この制御系は、DSP(Digital Signal Processo
r)またはMPU(Micro Processor Unit) によるルー
プ補償器、PWMドライバ、スピンドルモータ、周期
(あるいは位相差)測定カウンタ(センサを含む)、加
算器等で構成される。
御系について説明する。図13にスピンドルモータ制御
系のブロック図を示し、図14に各部の伝達関数を示
す。この制御系は、DSP(Digital Signal Processo
r)またはMPU(Micro Processor Unit) によるルー
プ補償器、PWMドライバ、スピンドルモータ、周期
(あるいは位相差)測定カウンタ(センサを含む)、加
算器等で構成される。
【0022】前記周期(位相差)測定カウンタは、フィ
ードバック系を構成し、ディスクからの自己インデック
スパルスや、他装置からの同期パルス(外部同期信号)
を入力し、その出力を加算器に入力(負極性で入力)す
る。この加算器では、前記入力と、基準回転数カウント
値(あるいは基準位相差カウント値)との加算を行い、
その出力として制御誤差信号を発生する。
ードバック系を構成し、ディスクからの自己インデック
スパルスや、他装置からの同期パルス(外部同期信号)
を入力し、その出力を加算器に入力(負極性で入力)す
る。この加算器では、前記入力と、基準回転数カウント
値(あるいは基準位相差カウント値)との加算を行い、
その出力として制御誤差信号を発生する。
【0023】ループ補償器では、一定のサンプリング周
期で入力する信号を用い、計算遅れ等に対するループ位
相補償を行う。スピンドルモータはPWMドライバによ
り一定の回転数(あるいは一定の位相差)で回転駆動さ
れるが、VCMが駆動されアクチュエータが移動する
と、これにより負荷変動が発生する。
期で入力する信号を用い、計算遅れ等に対するループ位
相補償を行う。スピンドルモータはPWMドライバによ
り一定の回転数(あるいは一定の位相差)で回転駆動さ
れるが、VCMが駆動されアクチュエータが移動する
と、これにより負荷変動が発生する。
【0024】前記のようなスピンドルモータ制御系にお
ける各部の伝達関数は、図14のようになる。図14に
示した記号は、次の通りである。ただし、回転同期制御
の場合を示す。
ける各部の伝達関数は、図14のようになる。図14に
示した記号は、次の通りである。ただし、回転同期制御
の場合を示す。
【0025】これからわかるように定常的な負荷トルク
は定常的な制御誤差の原因となり、この場合開ループ利
得を上げることで、これを軽減している。このような定
常的な負荷トルクに対応してPWMドライバが供給する
モータ駆動量を以下ではバイアスと呼ぶ。
は定常的な制御誤差の原因となり、この場合開ループ利
得を上げることで、これを軽減している。このような定
常的な負荷トルクに対応してPWMドライバが供給する
モータ駆動量を以下ではバイアスと呼ぶ。
【0026】Rm:モータの巻線抵抗、Gm:モータの
等価機械コンダクタンス(モータの粘性負荷を電気的コ
ンダクタンスに変換したもの)、Kt:モータのトルク
定数、Km:モータのレギュレーション{Km=1/
(1+RmGm)}、ωm=Kt2 /JmKmRm:モ
ータの機械的角速度定数、Jm:回転系の全極慣性モー
メント、Fs:サンプリング周波数、Td:計算遅れ時
間、TLLoad:負荷トルク、Nref:基準位相差カウント
値、Ksp:検出器のゲイン、Kdrv:駆動ゲイン、Dp
(S):サーボ位相補償器の伝達関数。
等価機械コンダクタンス(モータの粘性負荷を電気的コ
ンダクタンスに変換したもの)、Kt:モータのトルク
定数、Km:モータのレギュレーション{Km=1/
(1+RmGm)}、ωm=Kt2 /JmKmRm:モ
ータの機械的角速度定数、Jm:回転系の全極慣性モー
メント、Fs:サンプリング周波数、Td:計算遅れ時
間、TLLoad:負荷トルク、Nref:基準位相差カウント
値、Ksp:検出器のゲイン、Kdrv:駆動ゲイン、Dp
(S):サーボ位相補償器の伝達関数。
【0027】
【発明が解決しようとする課題】上記のような従来のも
のにおいては、次のような課題があった。 (1) VCMモータを制御するVCM制御と、スピンドル
モータを制御する回転制御(回転数制御、あるいは回転
同期制御)とは、互いに情報の相互利用を行うことな
く、別々に制御を行っていた。
のにおいては、次のような課題があった。 (1) VCMモータを制御するVCM制御と、スピンドル
モータを制御する回転制御(回転数制御、あるいは回転
同期制御)とは、互いに情報の相互利用を行うことな
く、別々に制御を行っていた。
【0028】このため、VCM制御によるアクチュエー
タの移動にともなって、スピンドルモータの負荷が変動
した場合、これにより大きな制御誤差が発生する。 (2) ディスク面とヘッドとの間は、極めて狭く(例えば
0.1〜0.2 μm)、ディスクが回転していると、スピン
ドルモータの風損が発生する。また、ヘッドの置かれて
いる位置により、ディスクの回転速度(ヘッド位置での
ディスクの周速度)が異なる。
タの移動にともなって、スピンドルモータの負荷が変動
した場合、これにより大きな制御誤差が発生する。 (2) ディスク面とヘッドとの間は、極めて狭く(例えば
0.1〜0.2 μm)、ディスクが回転していると、スピン
ドルモータの風損が発生する。また、ヘッドの置かれて
いる位置により、ディスクの回転速度(ヘッド位置での
ディスクの周速度)が異なる。
【0029】即ち、ディスクの内周では周速度が遅く
(最内周で最も速い)、外周へ行くに従って周速度が速
くなる(最外周で最も速い)。このため、ヘッドが内周
側にあれば風損は少ないから、スピンドルモータの負荷
は軽いが、ヘッドが外周側へ行くに従って、風損が増加
し、スピンドルモータの負荷が大きくなる。
(最内周で最も速い)、外周へ行くに従って周速度が速
くなる(最外周で最も速い)。このため、ヘッドが内周
側にあれば風損は少ないから、スピンドルモータの負荷
は軽いが、ヘッドが外周側へ行くに従って、風損が増加
し、スピンドルモータの負荷が大きくなる。
【0030】このように、VCM制御によってシーク動
作が行われると、スピンドルモータの負荷が変動する。
しかし、従来の装置では、このような負荷変動に対応し
たスピンドルモータの制御ができず、開ループ利得をで
きるだけ大きく設計することでこれを回避する手段を取
っていた。
作が行われると、スピンドルモータの負荷が変動する。
しかし、従来の装置では、このような負荷変動に対応し
たスピンドルモータの制御ができず、開ループ利得をで
きるだけ大きく設計することでこれを回避する手段を取
っていた。
【0031】(3) 前記のような負荷変動に対して、十分
な補償等を行わないと、スピンドルモータの回転同期制
御において、同期制御誤差が許容範囲を超越し、複数デ
ィスクの並列運転システムの同期エラーを生起し、ファ
イルシステムとしての信頼性を大きく損なってしまう。
な補償等を行わないと、スピンドルモータの回転同期制
御において、同期制御誤差が許容範囲を超越し、複数デ
ィスクの並列運転システムの同期エラーを生起し、ファ
イルシステムとしての信頼性を大きく損なってしまう。
【0032】(4) VCMによるシーク時間は、ディスク
回転周期と同程度か、それよりも短い。また、スピンド
ルモータの回転数又は位相差測定は、例えば、ディスク
が1回転する内に1回発生するインデックスパルスを用
いてサンプル的に測定している。
回転周期と同程度か、それよりも短い。また、スピンド
ルモータの回転数又は位相差測定は、例えば、ディスク
が1回転する内に1回発生するインデックスパルスを用
いてサンプル的に測定している。
【0033】結局、VCMによるアクセスで発生するス
ピンドルモータの負荷変動(ヘッド位置による風損の変
動等)は、インデックスパルスのパルス間隔よりも短い
時間内に大幅に変動することがあり、これを1周期に1
回のサンプル制御系では充分に打ち消すことが困難であ
る。
ピンドルモータの負荷変動(ヘッド位置による風損の変
動等)は、インデックスパルスのパルス間隔よりも短い
時間内に大幅に変動することがあり、これを1周期に1
回のサンプル制御系では充分に打ち消すことが困難であ
る。
【0034】本発明は、このような従来の課題を解決
し、ディスクを回転駆動するモータの回転制御におい
て、高速な負荷変動に対して、フィードフォワード補償
を行うことにより、制御誤差を低減することを目的とす
る。
し、ディスクを回転駆動するモータの回転制御におい
て、高速な負荷変動に対して、フィードフォワード補償
を行うことにより、制御誤差を低減することを目的とす
る。
【0035】
【課題を解決するための手段】図1は、本発明の原理図
であり、図中、図13と同符号は同一のものを示す。ま
た、9はPWMドライバ、10はフィードフォワード補
償部、11はループ補償部を示す。
であり、図中、図13と同符号は同一のものを示す。ま
た、9はPWMドライバ、10はフィードフォワード補
償部、11はループ補償部を示す。
【0036】本発明は上記の課題を解決するため、次の
ように構成した。 (1) 回転体2と、回転体2の回転数、あるいは回転同期
を制御する回転制御回路8と、回転体2上の情報をアク
セスするためのアクチュエータ4と、アクチュエータ4
の位置を検出するために、回転体2上に記録された位置
情報を検出して、電気信号に変換する位置検出回路6
と、位置検出回路6で検出した位置情報を用いて、アク
チュエータ4の制御を行うアクチュエータ制御回路7と
を具備した装置における前記回転体2の回転制御方法に
おいて、前記アクチュエータ4の各位置に対応したバイ
アス値を、バイアステーブルとして持ち、アクチュエー
タ4の位置検出信号に基づき、前記バイアステーブルを
参照して、バイアス値を求め、該バイアス値を用いて、
前記回転制御回路8に対しフィードフォワード制御を行
うことにより、アクチュエータの移動にともなう負荷変
動を補償するようにした。
ように構成した。 (1) 回転体2と、回転体2の回転数、あるいは回転同期
を制御する回転制御回路8と、回転体2上の情報をアク
セスするためのアクチュエータ4と、アクチュエータ4
の位置を検出するために、回転体2上に記録された位置
情報を検出して、電気信号に変換する位置検出回路6
と、位置検出回路6で検出した位置情報を用いて、アク
チュエータ4の制御を行うアクチュエータ制御回路7と
を具備した装置における前記回転体2の回転制御方法に
おいて、前記アクチュエータ4の各位置に対応したバイ
アス値を、バイアステーブルとして持ち、アクチュエー
タ4の位置検出信号に基づき、前記バイアステーブルを
参照して、バイアス値を求め、該バイアス値を用いて、
前記回転制御回路8に対しフィードフォワード制御を行
うことにより、アクチュエータの移動にともなう負荷変
動を補償するようにした。
【0037】(2) 前記回転制御回路8は、位置検出回路
6からの位置検出信号、又は回転体2を回転させる回転
駆動体(スピンドルモータ)1に設けられた回転検出用
素子(ホール素子)からの信号(ホール素子出力)を入
力してループ補償を行うループ補償部11と、前記アク
チュエータ制御回路7からのアクチュエータの位置情報
(例えば、シリンダ位置情報)を入力して、フィードフ
ォワード制御を行う際のフィードフォワード補償を行う
フィードフォワード補償部10と、回転駆動体1の回転
数や同期を制御するドライバ(例えば、PWMドライ
バ)9とを備え、フィードフォワード補償部10の出力
を、ループ補償部11の出力に加算してドライバ9に入
力するようにした。
6からの位置検出信号、又は回転体2を回転させる回転
駆動体(スピンドルモータ)1に設けられた回転検出用
素子(ホール素子)からの信号(ホール素子出力)を入
力してループ補償を行うループ補償部11と、前記アク
チュエータ制御回路7からのアクチュエータの位置情報
(例えば、シリンダ位置情報)を入力して、フィードフ
ォワード制御を行う際のフィードフォワード補償を行う
フィードフォワード補償部10と、回転駆動体1の回転
数や同期を制御するドライバ(例えば、PWMドライ
バ)9とを備え、フィードフォワード補償部10の出力
を、ループ補償部11の出力に加算してドライバ9に入
力するようにした。
【0038】(3) 前記回転体2の回転制御を行っている
間に、バイアステーブルのバイアス値を更新するための
キャリブレーションを行うようにした。
間に、バイアステーブルのバイアス値を更新するための
キャリブレーションを行うようにした。
【0039】
【作用】上記構成に基づく作用を、図1を参照しながら
説明する。図1のスピンドルモータ1、ディスク(回転
体)2、VCM3、アクチュエータ4、ヘッド5、位置
検出回路6、VCM制御回路(アクチュエータ制御回
路)7は、従来例と同じ作用を行う。
説明する。図1のスピンドルモータ1、ディスク(回転
体)2、VCM3、アクチュエータ4、ヘッド5、位置
検出回路6、VCM制御回路(アクチュエータ制御回
路)7は、従来例と同じ作用を行う。
【0040】また、回転制御部8では、ループ補償部1
1、PWMドライバ9の作用は従来例と同じである。こ
の場合、回転制御部8には、図1のの信号(インデッ
クスパルス)を入力してスピンドルモータ1の回転制御
を行う場合と、点線で示したの信号(ホール素子出
力)を入力して回転制御を行う場合とがある。
1、PWMドライバ9の作用は従来例と同じである。こ
の場合、回転制御部8には、図1のの信号(インデッ
クスパルス)を入力してスピンドルモータ1の回転制御
を行う場合と、点線で示したの信号(ホール素子出
力)を入力して回転制御を行う場合とがある。
【0041】前記の信号を回線制御部8に入力する場
合には、図11と同様な構成となり、前記従来例の通り
の制御を行う。また、前記の信号(ホール素子出力)
を回転制御部8に入力する場合は、の信号の代わりと
しての信号を用いて制御を行う。
合には、図11と同様な構成となり、前記従来例の通り
の制御を行う。また、前記の信号(ホール素子出力)
を回転制御部8に入力する場合は、の信号の代わりと
しての信号を用いて制御を行う。
【0042】即ち、スピンドルモータ1に設けられたホ
ール素子からのパルス信号を、インデックス信号の代わ
りに用いて、該スピンドルモータ1の回転制御を行うも
のである。本発明では、回転制御回路8内に、フィード
フォワード補償部10を設け、このフィードフォワード
補償部10の出力を、ループ補償部11の出力に加算し
てPWMドライバ9に入力するようにした。
ール素子からのパルス信号を、インデックス信号の代わ
りに用いて、該スピンドルモータ1の回転制御を行うも
のである。本発明では、回転制御回路8内に、フィード
フォワード補償部10を設け、このフィードフォワード
補償部10の出力を、ループ補償部11の出力に加算し
てPWMドライバ9に入力するようにした。
【0043】この場合、フィードフォワード補償部10
には、VCM制御回路7内に保持されているシリンダ位
置情報(アクチュエータの位置情報)を入力し、フィー
ドフォワード制御を行う。
には、VCM制御回路7内に保持されているシリンダ位
置情報(アクチュエータの位置情報)を入力し、フィー
ドフォワード制御を行う。
【0044】このようなフィードフォワード制御を行う
際、各シリンダ位置に対応したバイアス値を用いてフィ
ードフォワード補償を行うことにより、アクチュエータ
4の移動にともなって発生するスピンドルモータ1の負
荷変動を補償することが可能となる。
際、各シリンダ位置に対応したバイアス値を用いてフィ
ードフォワード補償を行うことにより、アクチュエータ
4の移動にともなって発生するスピンドルモータ1の負
荷変動を補償することが可能となる。
【0045】また、前記バイアス値を、キャリブレーシ
ョンによって適時更新することにより、常に正確な負荷
変動の補償を行うことができる。
ョンによって適時更新することにより、常に正確な負荷
変動の補償を行うことができる。
【0046】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。 (第1実施例の説明)図2〜図8は、本発明の第1実施
例を示した図であり、図2はモータ制御部の回路構成
図、図3はキャプチャ回路のブロック図、図4はスピン
ドルモータ制御系のブロック図(伝達関数)、図5はス
ピンドルモータの回転同期制御フローチャート(その
1)、図6はスピンドルモータの回転同期制御フローチ
ャート(その2)、図7はフィードフォワード補償の説
明図、図8は直線補間の説明図である。
する。 (第1実施例の説明)図2〜図8は、本発明の第1実施
例を示した図であり、図2はモータ制御部の回路構成
図、図3はキャプチャ回路のブロック図、図4はスピン
ドルモータ制御系のブロック図(伝達関数)、図5はス
ピンドルモータの回転同期制御フローチャート(その
1)、図6はスピンドルモータの回転同期制御フローチ
ャート(その2)、図7はフィードフォワード補償の説
明図、図8は直線補間の説明図である。
【0047】図中、図1、図13、図14と同符号は同
一のものを示す。また、12はサーボ信号復調回路、1
3はシリンダ検出回路、14はシリンダカウンタ、15
はパワーアンプ、16はDAC(ディジタル/アナログ
コンバータ)、17はスピンドルモータ駆動回路、18
はPWM駆動部、19はキャプチャ回路、20はMPU
(マイクロプロセッサユニット)、21はプログラムメ
モリ、22はRAM(ランダムアクセスメモリ)、23
はMPUバス、24はタイマ(フリーランタイマ)、2
5、26はレジスタ、27、28は選択ゲートを示す。
一のものを示す。また、12はサーボ信号復調回路、1
3はシリンダ検出回路、14はシリンダカウンタ、15
はパワーアンプ、16はDAC(ディジタル/アナログ
コンバータ)、17はスピンドルモータ駆動回路、18
はPWM駆動部、19はキャプチャ回路、20はMPU
(マイクロプロセッサユニット)、21はプログラムメ
モリ、22はRAM(ランダムアクセスメモリ)、23
はMPUバス、24はタイマ(フリーランタイマ)、2
5、26はレジスタ、27、28は選択ゲートを示す。
【0048】この実施例は、磁気ディスク装置に適用し
た例であり、該磁気ディスク装置のモータ制御部(スピ
ンドルモータとVCMの制御部)を1つのMPUで制御
する例である。
た例であり、該磁気ディスク装置のモータ制御部(スピ
ンドルモータとVCMの制御部)を1つのMPUで制御
する例である。
【0049】また、スピンドルモータの回転制御には、
図1に示したように、位置検出回路6からのインデック
スパルス(図1のの信号)を回転制御部に入力して制
御する方法と、このようなインデックスパルスの代わり
として、スピンドルモータに設けてあるホール素子から
の出力信号(ホール素子出力)を回転制御部に入力して
制御する方法がある。
図1に示したように、位置検出回路6からのインデック
スパルス(図1のの信号)を回転制御部に入力して制
御する方法と、このようなインデックスパルスの代わり
として、スピンドルモータに設けてあるホール素子から
の出力信号(ホール素子出力)を回転制御部に入力して
制御する方法がある。
【0050】本実施例では、インデックス信号を用いて
スピンドルモータの制御を行う例について説明するが、
本発明は、このような例に限らず、前記のホール素子出
力を用いてスピンドルモータの制御を行う場合にも適用
できるものである。
スピンドルモータの制御を行う例について説明するが、
本発明は、このような例に限らず、前記のホール素子出
力を用いてスピンドルモータの制御を行う場合にも適用
できるものである。
【0051】図2に示したように、前記モータ制御部
は、再生ヘッド5A、サーボ信号復調回路12、シリン
ダ検出回路13、シリンダカウンタ14、VCM(ボイ
スコイルモータ)3、パワーアンプ15、DAC(ディ
ジタル/アナログコンバータ)16、スピンドルモータ
1、スピンドルモータ駆動回路17、PWM駆動部1
8、キャプチャ回路19、MPU(マイクロプロセッ
サ)20、プログラムメモリ21、RAM22等で構成
されている。
は、再生ヘッド5A、サーボ信号復調回路12、シリン
ダ検出回路13、シリンダカウンタ14、VCM(ボイ
スコイルモータ)3、パワーアンプ15、DAC(ディ
ジタル/アナログコンバータ)16、スピンドルモータ
1、スピンドルモータ駆動回路17、PWM駆動部1
8、キャプチャ回路19、MPU(マイクロプロセッ
サ)20、プログラムメモリ21、RAM22等で構成
されている。
【0052】前記MPU20は、MPUバス23を介し
て、プログラムメモリ21、RAM22、シリンダカウ
ンタ14、DAC16、PWM駆動部18、キャプチャ
回路等に接続されており、モータ制御部の各種制御を行
うものである。
て、プログラムメモリ21、RAM22、シリンダカウ
ンタ14、DAC16、PWM駆動部18、キャプチャ
回路等に接続されており、モータ制御部の各種制御を行
うものである。
【0053】プログラムメモリ21は、MPU20の制
御で必要なプログラム等を格納しておくメモリであり、
RAM22は、MPU20の各種制御で必要なデータを
格納したり、あるいは作業用として使用するメモリであ
る。
御で必要なプログラム等を格納しておくメモリであり、
RAM22は、MPU20の各種制御で必要なデータを
格納したり、あるいは作業用として使用するメモリであ
る。
【0054】サーボ信号復調回路12は、再生ヘッド5
Aからの再生信号を入力して、サーボ信号(インデック
ス信号等)の復調を行うものであり、シリンダ検出回路
13は、サーボ復調回路12の出力信号を入力して、ヘ
ッドが位置決めされているシリンダを検出するものであ
る。
Aからの再生信号を入力して、サーボ信号(インデック
ス信号等)の復調を行うものであり、シリンダ検出回路
13は、サーボ復調回路12の出力信号を入力して、ヘ
ッドが位置決めされているシリンダを検出するものであ
る。
【0055】この場合、サーボ信号復調回路12の出力
信号は2相サーボ制御用の2つの位置信号{ポジション
N(PosN)信号及びポジションQ(PosQ)信号}で
ある。
信号は2相サーボ制御用の2つの位置信号{ポジション
N(PosN)信号及びポジションQ(PosQ)信号}で
ある。
【0056】前記2つの位置信号により、ヘッドが、デ
ィスクの中心へ向かうシーク動作により位置決めされた
のか、またはその逆方向へのシーク動作により位置決め
されたのかを判別できるようになっている(ディスクの
半径方向の位置情報を検出)。
ィスクの中心へ向かうシーク動作により位置決めされた
のか、またはその逆方向へのシーク動作により位置決め
されたのかを判別できるようになっている(ディスクの
半径方向の位置情報を検出)。
【0057】シリンダ検出回路13では、前記2つの位
置信号を入力し、この信号に対応した2つのパルス(U
Pパルス、DOWNパルス)を作成して出力する。シリ
ンダカウンタ14は、シリンダ検出回路13から出力さ
れる前記2つのパルスを入力してカウントする(UPカ
ウント、及びDOWNカウント)ものである。
置信号を入力し、この信号に対応した2つのパルス(U
Pパルス、DOWNパルス)を作成して出力する。シリ
ンダカウンタ14は、シリンダ検出回路13から出力さ
れる前記2つのパルスを入力してカウントする(UPカ
ウント、及びDOWNカウント)ものである。
【0058】従って、シリンダカウンタ14のカウント
値は、常に、VCM制御によって位置決めされているシ
リンダを示す値となっている。また、シリンダカウンタ
14のカウント値は、MPU20によって読み出される
ようになっている。
値は、常に、VCM制御によって位置決めされているシ
リンダを示す値となっている。また、シリンダカウンタ
14のカウント値は、MPU20によって読み出される
ようになっている。
【0059】DAC16は、MPU20から送られてき
たディジタル信号をアナログ信号に変換するものであ
り、パワーアンプ15は、DAC16の出力信号を増幅
してVCM3に供給するものである。
たディジタル信号をアナログ信号に変換するものであ
り、パワーアンプ15は、DAC16の出力信号を増幅
してVCM3に供給するものである。
【0060】PWM(パルス幅変調)駆動部18は、M
PU20の指示により、PWM制御用の出力パルスを作
成するものであり、スピンドルモータ駆動回路17は、
前記PWM駆動部の出力信号を入力して、スピンドルモ
ータ1を駆動するものである。
PU20の指示により、PWM制御用の出力パルスを作
成するものであり、スピンドルモータ駆動回路17は、
前記PWM駆動部の出力信号を入力して、スピンドルモ
ータ1を駆動するものである。
【0061】キャプチャ回路19は、サーボ信号復調回
路12からのインデックスパルス(周方向の位置情報)
と、他装置からの同期パルスを入力して、時間情報を管
理するものである。
路12からのインデックスパルス(周方向の位置情報)
と、他装置からの同期パルスを入力して、時間情報を管
理するものである。
【0062】前記キャプチャ回路19は、例えば図3の
ように構成されている。この例では、キャプチャ回路1
9に、タイマ(フリーランタイマ)24、レジスタ2
5、レジスタ26を設け、外部からインデックスパルス
と同期信号とを入力する。
ように構成されている。この例では、キャプチャ回路1
9に、タイマ(フリーランタイマ)24、レジスタ2
5、レジスタ26を設け、外部からインデックスパルス
と同期信号とを入力する。
【0063】前記レジスタ25は、インデックスパルス
の立ち上がりで、タイマ24の時刻信号を取り込み、レ
ジスタ26は、同期信号の立ち上がりで、タイマ24の
時刻信号を取り込む。
の立ち上がりで、タイマ24の時刻信号を取り込み、レ
ジスタ26は、同期信号の立ち上がりで、タイマ24の
時刻信号を取り込む。
【0064】このレジスタ25と26は選択ゲート2
7、28を経由してMPUバスと接続されMPUから任
意に読出す事が可能である。前記スピンドルモータ1の
制御系(伝達関数)は、図4のようになっている。この
実施例におけるスピンドルモータの制御系は、図13、
図14に示した従来の制御系(フィードバック制御系)
の一部に、フィードフォワード制御を行うための系を追
加したものである。
7、28を経由してMPUバスと接続されMPUから任
意に読出す事が可能である。前記スピンドルモータ1の
制御系(伝達関数)は、図4のようになっている。この
実施例におけるスピンドルモータの制御系は、図13、
図14に示した従来の制御系(フィードバック制御系)
の一部に、フィードフォワード制御を行うための系を追
加したものである。
【0065】このフィードフォワード制御では、シリン
ダカウンタ(CylCtr)の値に基づいてバイアス値を出
力する関数ブロックBias 〔CylCtr〕にゲインKffを
乗じたフィードフォワード信号を、ループ補償器からP
WMドライバに転送する信号と加算することにより、フ
ィードフォワード補償を行う。
ダカウンタ(CylCtr)の値に基づいてバイアス値を出
力する関数ブロックBias 〔CylCtr〕にゲインKffを
乗じたフィードフォワード信号を、ループ補償器からP
WMドライバに転送する信号と加算することにより、フ
ィードフォワード補償を行う。
【0066】次に、スピンドルモータの回転同期制御
(MPUの制御)を、図5、図6のフローチャートに基
づいて説明する。なお、図の各処理番号は、カッコ内に
示す。スピンドルモータ1を回転同期制御するには、最
初に回転数の制御を行って、例えばインデックスパルス
の周期に合わせることにより、定格回転数となるように
制御する。
(MPUの制御)を、図5、図6のフローチャートに基
づいて説明する。なお、図の各処理番号は、カッコ内に
示す。スピンドルモータ1を回転同期制御するには、最
初に回転数の制御を行って、例えばインデックスパルス
の周期に合わせることにより、定格回転数となるように
制御する。
【0067】その後、インデックスパルスと、外部から
の同期パルスとの位相差が一定となるように、位相の引
込みを行って、定常運転とする(図12参照)。そこ
で、図5、図6の制御の前提として、スピンドルモータ
の回転数が定格回転数になり、インデックスパルスと、
同期パルスとの同期関係が定常状態になっているとする
(図12参照)。
の同期パルスとの位相差が一定となるように、位相の引
込みを行って、定常運転とする(図12参照)。そこ
で、図5、図6の制御の前提として、スピンドルモータ
の回転数が定格回転数になり、インデックスパルスと、
同期パルスとの同期関係が定常状態になっているとする
(図12参照)。
【0068】なお、図5、図6の制御で用いる変数、あ
るいは記号は、次の通りである。 DrvCur〔n〕 :サンプリングn回目におけるスピン
ドルモータの電流指示値 Sync Err〔n〕:サンプリングn回目における同期制
御誤差 A0 、A1 、A2 :定数 * :乗算 CylCtr :シリンダカウンタ値 先ず、制御開始に先立ち、変数の初期化を行う(S
1)。この処理では、Sync Err〔n−1〕=Sync E
rr〔n−2〕=0、DrvCur〔n−1〕=0の処理を行
う。
るいは記号は、次の通りである。 DrvCur〔n〕 :サンプリングn回目におけるスピン
ドルモータの電流指示値 Sync Err〔n〕:サンプリングn回目における同期制
御誤差 A0 、A1 、A2 :定数 * :乗算 CylCtr :シリンダカウンタ値 先ず、制御開始に先立ち、変数の初期化を行う(S
1)。この処理では、Sync Err〔n−1〕=Sync E
rr〔n−2〕=0、DrvCur〔n−1〕=0の処理を行
う。
【0069】次に、MPU20では、インデックスパル
スが到着すると(S2)、到着時の時刻をキャプチャ回
路19から読み出し、Tindxとする(S3)。続いて同
期パルスが到着すると(S4)、到着時の時刻をキャプ
チャ回路19から読み出し、その値をTsyncとする(S
5)。
スが到着すると(S2)、到着時の時刻をキャプチャ回
路19から読み出し、Tindxとする(S3)。続いて同
期パルスが到着すると(S4)、到着時の時刻をキャプ
チャ回路19から読み出し、その値をTsyncとする(S
5)。
【0070】その後、MPU20では、キャプチャ回路
19から読み出した時刻情報Tindx、Tsyncを比較す
る。この比較処理で、Tindx≫Tsyncであった場合には
(S6)、Tsync=Tsync+216(ただし、キャプチャ
回路のフリーランタイマは、16ビット構成とする)と
して、新しくTsyncの値を設定する(S7)。
19から読み出した時刻情報Tindx、Tsyncを比較す
る。この比較処理で、Tindx≫Tsyncであった場合には
(S6)、Tsync=Tsync+216(ただし、キャプチャ
回路のフリーランタイマは、16ビット構成とする)と
して、新しくTsyncの値を設定する(S7)。
【0071】即ち、通常の状態であれば、インデックス
パルスのすぐ後に、同期パルスが来るので、Tindx<T
syncとなるが、インデックスパルスの到着時刻と、同期
パルスの到着時刻との間で、キャプチャ回路19内のタ
イマ(フリーランタイマ)24がオーバーフローした場
合には、Tindx≫Tsyncとなる。従って、この場合に
は、上記の処理を行って補正する。
パルスのすぐ後に、同期パルスが来るので、Tindx<T
syncとなるが、インデックスパルスの到着時刻と、同期
パルスの到着時刻との間で、キャプチャ回路19内のタ
イマ(フリーランタイマ)24がオーバーフローした場
合には、Tindx≫Tsyncとなる。従って、この場合に
は、上記の処理を行って補正する。
【0072】続いて、MPU20では、同期制御誤差S
ync Err〔n〕を算出する(S8)。この処理は、Syn
c Err〔n〕=Tsync−Tindx−Tref として行う。こ
こで、Tref は、インデックスパルスと同期パルスの遅
れ時間の基準値であり、例えば上位装置からコマンドで
指示される。
ync Err〔n〕を算出する(S8)。この処理は、Syn
c Err〔n〕=Tsync−Tindx−Tref として行う。こ
こで、Tref は、インデックスパルスと同期パルスの遅
れ時間の基準値であり、例えば上位装置からコマンドで
指示される。
【0073】なお、この場合、回転数制御(他装置との
同期制御を行わない場合)では、RotErr(回転エラ
ー)〔n〕=Tindx〔n〕−Tindx〔n−1〕−Trev
を求める(Trev:一回転の時間に相当)。
同期制御を行わない場合)では、RotErr(回転エラ
ー)〔n〕=Tindx〔n〕−Tindx〔n−1〕−Trev
を求める(Trev:一回転の時間に相当)。
【0074】以下、このRotErr〔n〕をSync Err
〔n〕の代わりに用いることで回転数制御が可能である
ので回転数制御についての説明を省略する。次にスピン
ドルモータの駆動電流を、次のようにして決定する(S
9)。即ち、DrvCur〔n〕=DrvCur〔n−1〕+A
0 *Sync Err〔n〕+A1 *Sync Err〔n−1〕+
A2 *Sync Err〔n−2〕+Kff*Bias Table〔C
ylCtr〕、DrvCur〔n−1〕=DrvCur〔n〕、Syn
c Err〔n−1〕=Sync Err〔n〕、Sync Err〔n
−2〕=Sync Err〔n−1〕、の各処理を行って、前
記駆動電流を決定する。
〔n〕の代わりに用いることで回転数制御が可能である
ので回転数制御についての説明を省略する。次にスピン
ドルモータの駆動電流を、次のようにして決定する(S
9)。即ち、DrvCur〔n〕=DrvCur〔n−1〕+A
0 *Sync Err〔n〕+A1 *Sync Err〔n−1〕+
A2 *Sync Err〔n−2〕+Kff*Bias Table〔C
ylCtr〕、DrvCur〔n−1〕=DrvCur〔n〕、Syn
c Err〔n−1〕=Sync Err〔n〕、Sync Err〔n
−2〕=Sync Err〔n−1〕、の各処理を行って、前
記駆動電流を決定する。
【0075】前記の式で、「DrvCur〔n−1〕+A0
*Sync Err〔n〕+A1 *SyncErr〔n−1〕+A
2 *Sync Err〔n−2〕」の部分は、PID補償(P
ID制御におけるループ補償)の部分であり、「Kff*
Bias Table〔CylCtr〕」の部分は、本発明で付加し
たフィードフォワード補償の部分である。
*Sync Err〔n〕+A1 *SyncErr〔n−1〕+A
2 *Sync Err〔n−2〕」の部分は、PID補償(P
ID制御におけるループ補償)の部分であり、「Kff*
Bias Table〔CylCtr〕」の部分は、本発明で付加し
たフィードフォワード補償の部分である。
【0076】最後に、MPU20で決定したDrvCur
〔n〕を、PWM駆動部18へ転送(S10)すること
により、スピンドルモータに対する電流値指示を終了す
る。以後、前記のS2〜S10の処理を繰り返して行う
が、これらの処理に要する時間が、計算遅れ(図4のT
dに相当)時間となる。
〔n〕を、PWM駆動部18へ転送(S10)すること
により、スピンドルモータに対する電流値指示を終了す
る。以後、前記のS2〜S10の処理を繰り返して行う
が、これらの処理に要する時間が、計算遅れ(図4のT
dに相当)時間となる。
【0077】以下、前記のPID補償及びフィードフォ
ワード補償について、更に詳しく説明する。前記PID
補償では、制御ループは、所定の安定性と追従性を有す
るように設計され、その際、定数A0 、A1 、A2 等を
決定する。但し、回転数制御と、回転同期制御では、前
記の定数は異なる。ここでは、A0 、A1 、A2 の決定
については説明しないが一般のディジタル制御に関する
文献(例えば「ダイナミックシステムのディジタル制
御」フランクリン・パウエル著「羽根田博正訳、森北出
版(株),1980発行」を参考にすることができる。
ワード補償について、更に詳しく説明する。前記PID
補償では、制御ループは、所定の安定性と追従性を有す
るように設計され、その際、定数A0 、A1 、A2 等を
決定する。但し、回転数制御と、回転同期制御では、前
記の定数は異なる。ここでは、A0 、A1 、A2 の決定
については説明しないが一般のディジタル制御に関する
文献(例えば「ダイナミックシステムのディジタル制
御」フランクリン・パウエル著「羽根田博正訳、森北出
版(株),1980発行」を参考にすることができる。
【0078】また、前記フィードフォワード補償(フィ
ードフォワード制御による補償)は、次のようにして行
う。図7は、フィードフォワード補償の説明図であり、
図7Aはバイアス測定データ、図7Bはメモリ内のバイ
アステーブル例を示す。
ードフォワード制御による補償)は、次のようにして行
う。図7は、フィードフォワード補償の説明図であり、
図7Aはバイアス測定データ、図7Bはメモリ内のバイ
アステーブル例を示す。
【0079】通常の場合、ヘッドがインナー側のシリン
ダへ位置決めされていると、風損は小さく、アウター側
のシリンダへ位置決めされると、風損が大きくなる。し
かし、風損は、シリンダ位置に対して非線形的に変化す
る。
ダへ位置決めされていると、風損は小さく、アウター側
のシリンダへ位置決めされると、風損が大きくなる。し
かし、風損は、シリンダ位置に対して非線形的に変化す
る。
【0080】従って、それぞれのシリンダ位置に対応し
たバイアス値(バイアス電流値)を求めて、前記の補償
を行う必要がある。、このため、ヘッドが位置決めされ
た各シリンダ毎に、バイアス電流値を測定する。
たバイアス値(バイアス電流値)を求めて、前記の補償
を行う必要がある。、このため、ヘッドが位置決めされ
た各シリンダ毎に、バイアス電流値を測定する。
【0081】しかし、シリンダ数は極めて多いため、例
えば128シリンダ毎(1シリンダゾーン=128シリ
ンダ)に、バイアス電流値を測定する。このようにして
測定したデータ例を図7Aに示す。
えば128シリンダ毎(1シリンダゾーン=128シリ
ンダ)に、バイアス電流値を測定する。このようにして
測定したデータ例を図7Aに示す。
【0082】図7Aに示したように、シリンダ0(0番
のシリンダ)では、バイアス電流値が10.0mA、シリンダ
128(128番のシリンダ)では、バイアス電流値が
11.5mA、シリンダ256ではバイアス電流値が13.7mA、
・・・・シリンダ2560ではバイアス電流値が48.2mA
となっている。
のシリンダ)では、バイアス電流値が10.0mA、シリンダ
128(128番のシリンダ)では、バイアス電流値が
11.5mA、シリンダ256ではバイアス電流値が13.7mA、
・・・・シリンダ2560ではバイアス電流値が48.2mA
となっている。
【0083】このようにして測定したデータを元に、図
7Bに示したようなバイアステーブルを作成し、メモリ
に格納しておく。例えば、工場出荷時等に、上位装置内
のROMに前記バイアステーブルを格納しておき、磁気
ディスク装置の電源投入後、前記ROM内に格納されて
いるバイアステーブルを、該磁気ディスク装置内に取り
込み、RAM22(図2参照)内に格納して使用すれば
よい。または、ディスク装置の電源投入初期状態で各バ
イアス値を測定し、補償テーブルの作成を行っても良
い。
7Bに示したようなバイアステーブルを作成し、メモリ
に格納しておく。例えば、工場出荷時等に、上位装置内
のROMに前記バイアステーブルを格納しておき、磁気
ディスク装置の電源投入後、前記ROM内に格納されて
いるバイアステーブルを、該磁気ディスク装置内に取り
込み、RAM22(図2参照)内に格納して使用すれば
よい。または、ディスク装置の電源投入初期状態で各バ
イアス値を測定し、補償テーブルの作成を行っても良
い。
【0084】前記のバイアステーブルでは、シリンダス
テップ=128毎のバイアス電流値(単位は1LSB=
0.1mA )とし、シリンダゾーン番号に対応するメモリ番
地に、バイアス値(電流値データ)を図7Bのように登
録する。
テップ=128毎のバイアス電流値(単位は1LSB=
0.1mA )とし、シリンダゾーン番号に対応するメモリ番
地に、バイアス値(電流値データ)を図7Bのように登
録する。
【0085】図7Bでは、Bias Tableをバイアステー
ブル開始番地とし、メモリ番地を、Bias Table+0、
Bias Table+1、Bias Table+2、・・・・Bias
Table+20のように割り付ける。前記各メモリ番地に
は、それぞれバイアス値(電流値データ)として、00
64H、0073H、0089H、・・・01E2Hを
登録する。
ブル開始番地とし、メモリ番地を、Bias Table+0、
Bias Table+1、Bias Table+2、・・・・Bias
Table+20のように割り付ける。前記各メモリ番地に
は、それぞれバイアス値(電流値データ)として、00
64H、0073H、0089H、・・・01E2Hを
登録する。
【0086】前記のバイアステーブルを使用して、図6
のS9の処理を行うには、次のようにする。即ち、前記
の処理で、「Kff*Bias 〔CylCtr〕」の値を求める
には、先ず、シリンダ数/ゾーン毎のシリンダ数(Cyl
Ctr/CylStep )の値をオフセット値として、図7B
のバイアステーブルのデータを読み出す。ここでCylS
tep は1シリンダゾーン内のシリンダ数である。
のS9の処理を行うには、次のようにする。即ち、前記
の処理で、「Kff*Bias 〔CylCtr〕」の値を求める
には、先ず、シリンダ数/ゾーン毎のシリンダ数(Cyl
Ctr/CylStep )の値をオフセット値として、図7B
のバイアステーブルのデータを読み出す。ここでCylS
tep は1シリンダゾーン内のシリンダ数である。
【0087】その後、読み出したデータに対して、後述
する直線補間を行い、その結果のデータにKffを乗算
し、前記の値を求める。 (直線補間の説明)前記のように、シリンダ数は極めて
多いので、全てのシリンダ毎にバイアス値を登録するの
は困難である。そこで、例えば128シリンダステップ
毎にバイアス値を登録することになるが、このままでは
全てのシリンダ毎のバイアス値は求められない。
する直線補間を行い、その結果のデータにKffを乗算
し、前記の値を求める。 (直線補間の説明)前記のように、シリンダ数は極めて
多いので、全てのシリンダ毎にバイアス値を登録するの
は困難である。そこで、例えば128シリンダステップ
毎にバイアス値を登録することになるが、このままでは
全てのシリンダ毎のバイアス値は求められない。
【0088】従って、128シリンダステップの間のシ
リンダについては、次のような直線補間処理により、バ
イアス値を求めることになる。この場合、直線補間で求
めたバイアス値は、推定値となる。
リンダについては、次のような直線補間処理により、バ
イアス値を求めることになる。この場合、直線補間で求
めたバイアス値は、推定値となる。
【0089】例えばバイアステーブルが図8Bのように
登録されていたとする。また、図8Aに示したように、
n*CylStep <CylCtr≦(n+1)*CylStep の
関係になっていたとする。ここでnはCylCtr/CylS
tep の整数部分のみを取り出した値である。
登録されていたとする。また、図8Aに示したように、
n*CylStep <CylCtr≦(n+1)*CylStep の
関係になっていたとする。ここでnはCylCtr/CylS
tep の整数部分のみを取り出した値である。
【0090】この場合、Bias 〔CylCtr〕(図6のS
9の処理)の値は、次式によって求めることができる。 Bias 〔CylCtr〕=Bias 〔n〕+(CylCtr/Cyl
Step −n)*(Bias 〔n+1〕−Bias 〔n〕) 一般に、CylStep (シリンダステップ)は、64、1
28のように、2のn乗に選べば、簡単に計算できる。
9の処理)の値は、次式によって求めることができる。 Bias 〔CylCtr〕=Bias 〔n〕+(CylCtr/Cyl
Step −n)*(Bias 〔n+1〕−Bias 〔n〕) 一般に、CylStep (シリンダステップ)は、64、1
28のように、2のn乗に選べば、簡単に計算できる。
【0091】(第2実施例の説明)図9は、第2実施例
におけるキャリブレーション処理フローチャートであ
る。前記第1実施例においては、バイアステーブル(バ
イアス電流値テーブル)のデータは、工場出荷時等に設
定したデータを、固定したデータとしてそのまま使用し
ていた。
におけるキャリブレーション処理フローチャートであ
る。前記第1実施例においては、バイアステーブル(バ
イアス電流値テーブル)のデータは、工場出荷時等に設
定したデータを、固定したデータとしてそのまま使用し
ていた。
【0092】これに対して第2実施例は、キャリブレー
ションを行うことにより、前記バイアステーブルのデー
タを適時更新できるようにした例である。このようなデ
ータ更新を行うと、常に負荷変動に対する補償が更に適
切に行える。
ションを行うことにより、前記バイアステーブルのデー
タを適時更新できるようにした例である。このようなデ
ータ更新を行うと、常に負荷変動に対する補償が更に適
切に行える。
【0093】以下、第2実施例のキャリブレーション処
理(MPU20の処理)を図9に基づいて説明する。な
お、図9の各処理番号は、カッコ内に示す。この処理で
は、第1実施例で説明した回転制御を行っているとす
る。このような状態でシリンダ0(最内周のシリンダ)
からスタートするために、m=0(S21)とする。
理(MPU20の処理)を図9に基づいて説明する。な
お、図9の各処理番号は、カッコ内に示す。この処理で
は、第1実施例で説明した回転制御を行っているとす
る。このような状態でシリンダ0(最内周のシリンダ)
からスタートするために、m=0(S21)とする。
【0094】次に、CylCtr=mとなるように、VCM
3の位置決め(VCMを動かして、シリンダmにシー
ク)する(S22)。その後、変数の初期化(I=K=
0)を行う(S23)。
3の位置決め(VCMを動かして、シリンダmにシー
ク)する(S22)。その後、変数の初期化(I=K=
0)を行う(S23)。
【0095】続いて、スピンドルモータ1の負荷電流を
測定する(S24)。具体的には、DrvCur〔n〕の値
(MPU20がPWM駆動部18にセットする値)が負
荷電流値を示している。
測定する(S24)。具体的には、DrvCur〔n〕の値
(MPU20がPWM駆動部18にセットする値)が負
荷電流値を示している。
【0096】そして、I=I+DrvCur〔n〕、K=K
+1の処理(S25)を行い、K<Nか否かを判定する
(S26)。その結果、K<Nでなければ、S24〜S
26の処理を繰り返して行う。
+1の処理(S25)を行い、K<Nか否かを判定する
(S26)。その結果、K<Nでなければ、S24〜S
26の処理を繰り返して行う。
【0097】この場合、前記「I」には、全測定電流の
積算値が格納される。また「K」はカウントアップ用で
ある。このようにして、N回の測定を終了すると、K<
Nとなるから、N回の測定値の平均値を求めてバイアス
テーブルに格納する(S27)。
積算値が格納される。また「K」はカウントアップ用で
ある。このようにして、N回の測定を終了すると、K<
Nとなるから、N回の測定値の平均値を求めてバイアス
テーブルに格納する(S27)。
【0098】前記の処理(S27)では、I/Nが平均
負荷電流に相当するので、Bias Table〔CylCtr/C
ylStep 〕=I/Nとして、平均値を求め、この値を更
新データとして、バイアステーブルに格納する。
負荷電流に相当するので、Bias Table〔CylCtr/C
ylStep 〕=I/Nとして、平均値を求め、この値を更
新データとして、バイアステーブルに格納する。
【0099】前記処理が終了すると、次のテーブル値を
更新するために、m=m+CylStep のステップアップ
をする(S28)。このような処理(S22〜S28)
をm>MaxCyl(最大シリンダ)まで行い(S29)処
理を終了する。
更新するために、m=m+CylStep のステップアップ
をする(S28)。このような処理(S22〜S28)
をm>MaxCyl(最大シリンダ)まで行い(S29)処
理を終了する。
【0100】なお、前記キャリブレーション処理の実行
タイミングとしては、パワーオン時、所定時間毎
(例えば最初は5分毎に行い、その後、30分毎)、
エラー発生時、等である。
タイミングとしては、パワーオン時、所定時間毎
(例えば最初は5分毎に行い、その後、30分毎)、
エラー発生時、等である。
【0101】また、キャリブレーションを行う理由とし
ては、温度等の使用環境の変化に対応させるため、
装置毎のバラツキを解消するため、装置の劣化等に対
応させるため、等である。
ては、温度等の使用環境の変化に対応させるため、
装置毎のバラツキを解消するため、装置の劣化等に対
応させるため、等である。
【0102】このように、キャリブレーションを行うこ
とにより、例えばRAM22に格納してあるバイアステ
ーブルのデータを更新すれば、常に適切なバイアス値
で、フィードフォワード補償を行うことが可能となる。
とにより、例えばRAM22に格納してあるバイアステ
ーブルのデータを更新すれば、常に適切なバイアス値
で、フィードフォワード補償を行うことが可能となる。
【0103】スピンドルモータの回転制御を、上記実施
例の方法で行った場合のスピンドルモータの制御誤差
と、従来例の方法で行った場合のスピンドルモータの制
御誤差(測定値)の比較例を、図10に示す。
例の方法で行った場合のスピンドルモータの制御誤差
と、従来例の方法で行った場合のスピンドルモータの制
御誤差(測定値)の比較例を、図10に示す。
【0104】この例では、VCM制御によるシーク動作
を図示のように行った場合、従来例によるスピンドルモ
ータの制御誤差は実線で示したように大きくなるが、本
発明の実施例による方法では、点線で示したように、ス
ピンドルモータの制御誤差が極めて少なくなる。
を図示のように行った場合、従来例によるスピンドルモ
ータの制御誤差は実線で示したように大きくなるが、本
発明の実施例による方法では、点線で示したように、ス
ピンドルモータの制御誤差が極めて少なくなる。
【0105】特に、シーク時には両者とも、前記制御誤
差が大きくなる(風損による負荷変動が大きいため)
が、この場合でも、本発明による方法では、制御誤差が
極めて少なくなる。
差が大きくなる(風損による負荷変動が大きいため)
が、この場合でも、本発明による方法では、制御誤差が
極めて少なくなる。
【0106】(他の実施例)以上実施例について説明し
たが、本発明は次のようにしても実施可能である。 (1) VCM制御により、ヘッドを最外周と最内周の間
で、適当な周期で往復シークさせ、その時の制御誤差を
最少にするように、フィードフォワードゲインを設定し
てもよい。
たが、本発明は次のようにしても実施可能である。 (1) VCM制御により、ヘッドを最外周と最内周の間
で、適当な周期で往復シークさせ、その時の制御誤差を
最少にするように、フィードフォワードゲインを設定し
てもよい。
【0107】この場合は、最適な適応制御が可能にな
る。 (2) 本発明は、上記実施例のような磁気ディスク装置だ
けでなく、光ディスク装置、光磁気ディスク装置等にも
同様に適用可能である。
る。 (2) 本発明は、上記実施例のような磁気ディスク装置だ
けでなく、光ディスク装置、光磁気ディスク装置等にも
同様に適用可能である。
【0108】(3) バイアステーブルは、全てのシリンダ
毎に、バイアス値を持ってもよい。 (4) バイアスの計算にテーブルルックアップ方法を用い
ずに、多項式近似計等を行っても良い。この場合、キャ
リブレーションにより多項式の係数を最適に推定する。
毎に、バイアス値を持ってもよい。 (4) バイアスの計算にテーブルルックアップ方法を用い
ずに、多項式近似計等を行っても良い。この場合、キャ
リブレーションにより多項式の係数を最適に推定する。
【0109】
【発明の効果】以上説明したように、本発明によれば、
次のような効果を奏する。 (1) 一周に一回サンプリングするような、遅いサンプリ
ング系を持つ回転制御系において、高速な負荷変動によ
る制御誤差を低減できる。
次のような効果を奏する。 (1) 一周に一回サンプリングするような、遅いサンプリ
ング系を持つ回転制御系において、高速な負荷変動によ
る制御誤差を低減できる。
【0110】(2) キャリブレーションを行って、バイア
ステーブルのデータを更新すれば、各々のモータ特性に
最適なゲイン及びバイアス補償値を決定できる。
ステーブルのデータを更新すれば、各々のモータ特性に
最適なゲイン及びバイアス補償値を決定できる。
【図1】本発明の原理図である。
【図2】本発明の第1実施例におけるモータ制御部の回
路構成図である。
路構成図である。
【図3】キャプチャ回路のブロック図である。
【図4】スピンドルモータ制御系のブロック図(伝達関
数)である。
数)である。
【図5】スピンドルモータの回転同期制御フローチャー
ト(その1)である。
ト(その1)である。
【図6】スピンドルモータの回転同期制御フローチャー
ト(その2)である。
ト(その2)である。
【図7】フィードフォワード補償の説明図である。
【図8】直線補間の説明図である。
【図9】第2実施例におけるキャリブレーション処理フ
ローチャートである。
ローチャートである。
【図10】スピンドルモータの制御誤差の比較例であ
る。
る。
【図11】従来の磁気ディスク装置におけるモータ制御
部のブロック図である。
部のブロック図である。
【図12】従来の回転同期制御のタイムチャートであ
る。
る。
【図13】従来のスピンドルモータ制御系のブロック図
である。
である。
【図14】図13の各部における伝達関数を示した図で
ある。
ある。
1 スピンドルモータ 2 ディスク(磁気ディスク) 3 VCM(ボイスコイルモータ) 4 アクチュエータ 5 ヘッド 6 位置検出回路 7 VCM制御回路 8 回転制御回路 9 PWMドライバ 10 フィードフォワード補償部 11 ループ補償部
Claims (2)
- 【請求項1】回転体(2)と、 回転体(2)の回転数、あるいは回転同期を制御する回
転制御回路(8)と、 回転体(2)上の情報をアクセスするためのアクチュエ
ータ(4)と、 アクチュエータ(4)の位置を検出するために、回転体
(2)上に記録された位置情報を検出して、電気信号に
変換する位置検出回路(6)と、 位置検出回路(6)で検出した位置情報を用いて、アク
チュエータ(4)の制御を行うアクチュエータ制御回路
(7)とを具備した装置における前記回転体(2)の回
転制御方法において、前記アクチュエータ(4)の各位置に対応したバイアス
値を、バイアステーブルとして持ち、 アクチュエータ(4)の位置検出信号に基づき、前記バ
イアステーブルを参照して、バイアス値を求め、 該バイアス値を用いて、前記回転制御回路(8)に対し
フィードフォワード制御を行うことにより、 アクチュエータの移動にともなう負荷変動を補償する こ
とを特徴とした回転制御方法。 - 【請求項2】前記回転制御回路(8)は、 位置検出回路(6)からの位置検出信号、又は回転体
(2)を回転させる回転駆動体(1)に設けられた回転
検出用素子からの信号を入力してループ補償を行うルー
プ補償部(11)と、 前記アクチュエータ制御回路(7)からのアクチュエー
タの位置情報を入力して、フィードフォワード制御を行
う際のフィードフォワード補償を行うフィードフォワー
ド補償部(10)と、 回転駆動体(1)の回転数や同期を制御するドライバ
(9)とを備え、 フィードフォワード補償部(10)の出力を、ループ補
償部(11)の出力に加算してドライバ(9)に入力す
る ことを特徴とした請求項1記載の回転制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03260238A JP3122675B2 (ja) | 1991-10-08 | 1991-10-08 | 回転制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03260238A JP3122675B2 (ja) | 1991-10-08 | 1991-10-08 | 回転制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0652628A JPH0652628A (ja) | 1994-02-25 |
JP3122675B2 true JP3122675B2 (ja) | 2001-01-09 |
Family
ID=17345275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03260238A Expired - Fee Related JP3122675B2 (ja) | 1991-10-08 | 1991-10-08 | 回転制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3122675B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520577U (ja) * | 1991-03-16 | 1993-03-19 | 株式会社エム式水耕研究所 | 吸引式捕虫捕菌機 |
CN100554112C (zh) * | 2004-01-29 | 2009-10-28 | 美克司株式会社 | 纸张处理装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100412055B1 (ko) * | 1996-03-11 | 2004-03-19 | 삼성전자주식회사 | 스핀들에러시스핀들정상속도를가변하는방법 |
KR100652441B1 (ko) * | 2005-10-28 | 2006-12-01 | 삼성전자주식회사 | 적응적 비회기를 이용한 스핀들 모터 구동 방법 및 그 장치 |
-
1991
- 1991-10-08 JP JP03260238A patent/JP3122675B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520577U (ja) * | 1991-03-16 | 1993-03-19 | 株式会社エム式水耕研究所 | 吸引式捕虫捕菌機 |
CN100554112C (zh) * | 2004-01-29 | 2009-10-28 | 美克司株式会社 | 纸张处理装置 |
Also Published As
Publication number | Publication date |
---|---|
JPH0652628A (ja) | 1994-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5936787A (en) | Method and apparatus for reducing vibration on a disk spindle motor by detecting the vibrations and correcting the motor driving signal according to the detected vibration | |
JP2671780B2 (ja) | 記録再生分離型磁気ディスク装置用サーボ装置並びにディスク装置におけるアクチュエータ力定数推定方法及び補償方法 | |
JP3248220B2 (ja) | ディスク装置及びその制御方法 | |
JP3769813B2 (ja) | 光ディスク駆動方法及び光ディスク駆動装置 | |
EP0969465A1 (en) | Apparatus for recording and reproducing information | |
JP3122675B2 (ja) | 回転制御方法 | |
US7006321B2 (en) | Data storage apparatus, rotation control apparatus, and rotation control method | |
JP3888896B2 (ja) | ディスクドライブサーボシステムのアクチュエータ周波数応答特性を用いた偏心補正装置 | |
JP5175467B2 (ja) | 適応的フィードフォワード制御を利用したスピンドルモータの駆動方法及び駆動装置、並びに、記録媒体 | |
JP2647291B2 (ja) | 記録装置のヘッドを高速に位置決めする方法 | |
JPH05314691A (ja) | 磁気ディスク装置 | |
JP3773232B2 (ja) | サーボ制御装置 | |
JP2795365B2 (ja) | ディジタル閉ループ系制御方法およびシステム、およびそのシステムを用いたディスク型記憶装置 | |
US5994866A (en) | Motor controller and disk drive unit | |
KR980012819A (ko) | 회전모터의 절대각위치 산출장치 및 이를 적용한 속도제어장치 | |
JP2933789B2 (ja) | モータ制御装置 | |
JP3688522B2 (ja) | 磁気ディスク装置の制御方法 | |
JP4072138B2 (ja) | ディスク装置及びヘッド位置決め制御方法 | |
JP2621439B2 (ja) | ディスク装置の位置決め装置 | |
JP2917539B2 (ja) | ヘッド位置決め適応制御装置及び制御方法 | |
JPH06103712A (ja) | ディスク装置における外力補正方法 | |
JP2002352534A (ja) | 位置決め制御装置 | |
JPH10269675A (ja) | ディスク記憶装置 | |
JPH0831121A (ja) | ヘッドの過渡制御方法 | |
JP2701723B2 (ja) | 磁気ディスク装置の位置誤差信号補正方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20001010 |
|
LAPS | Cancellation because of no payment of annual fees |