以下、図を用いて本発明の実施の形態について説明する。
(従前の実施の形態)
本発明の説明に先立ち、まず従前の実施の形態について説明する。
図1は従来の電流制御及び波形プロファイルを生成する生成ブロックのブロック図である。
この生成ブロックは電流誤差検出部110、補償器210、出力制御部310、一定トルク駆動制御波形プロファイル生成部410、出力プリドライバ510、フィードバック制御部610、パラメータ設定レジスタ710、シリアルポート810、PLL補償器910を含んで構成される。
電流誤差検出部110は、帰還情報を受けて、シリアルポート810経由で送信される上位からの電流指示(SPNCRNT信号)の補正を行う回路である。三相DCモータの制御用出力に正弦波由来の脈動が乗るのだが、本実施の形態ではフィードバック制御部610の出力に含まれる脈動を電流誤差検出部110が打ち消すように動作する。
すなわち、電流誤差検出部110に入力されるフィードバック制御部610の出力と同じ波形にSPNCRNTを補正してやれば、正弦波由来の脈動を打ち消すことが可能となる。
電流誤差検出部110内のSPNCRNT補正部111はこの正弦波由来の脈動を打ち消すための補正値を出力する回路である。すなわち、SPNCRNT補正部111は本来直流のSPNCRNT信号に対し、意図的に脈動を付与する脈動付与回路である。
一度初期位相θ0の入力を行えば、以降SPNCRNT補正部111は補正値を出力し続ける。この出力する補正値をSPNCRNTと乗算することで、電流検出誤差が発生しないようにしている。この乗算は乗算器114で行う。
ピーク格納部112は、フィードバック制御部610の出力のピーク値を保持するためのレジスタ回路である。電流誤差検出部110が一定トルク駆動制御波形プロファイル生成部410に対して出力するISPNOUT信号はこのピーク値またはSPNCRNTのいずれかの電流値を出力する構成になっている。
ピ−ク格納部112に入力される信号としては保存対象であるフィードバック制御部610の出力だけでなく、SPNCRNT補正部111からのUPADC信号も出力される。このUPADC信号はピ−ク格納部112に対してピークの検出期間の始期と終期を指示するタイミング信号である。SPNCRNT補正部111は初期位相θ0の入力を受けるため、UPADC信号の入力から次の入力までの期間に基準動作クロックをタイミングとしてピークを検出する。しかし、タイミングを出力できれば他のモジュールから出力しても問題は無い。また、設計によってはUPADC信号をピーク検出タイミングそのものとしてピーク格納部112が動作してもよい。
スイッチ113は、ISPNOUT信号としてピーク格納部112の出力またはSPNCRNTの出力のいずれを一定トルク駆動制御波形プロファイル生成部410に対して出力するかを決定するスイッチ回路である。これは駆動電圧位相の安定性と駆動電圧飽和時(Duty=100%)における電流指示と実電流とのずれを考慮したセレクタスイッチである。回路構成をより簡略化したいのであれば、ピーク値のみを選択する構成にしてもかまわない。
乗算器114はSPNCRT補正部111の出力とSPNCRT信号を乗算する乗算器である。この乗算器114の出力が減算器115に入力される。
減算器115は、入力された乗算器114の出力からフィードバック制御部610の出力を減算する減算器である。乗算器114を経由することで入力されたSPNCRT信号に脈動が乗っており、同じく脈動を有するフィードバック制御部610の出力を減ずることで、乗算器114の出力から脈動を打ち消すことをこの減算器115は目的としている。
補償器210は、後述する出力制御部310、出力プリドライバ510、モータ、フィードバック制御部610及び電流誤差検出部110で構成される電流制御ループの位相補償を行い、補償器210は、電流誤差検出部110の出力からモータを駆動するPWM(Pulse Width Modulation)信号のデューティに相当するPWM信号を出力し、出力制御部310に入力される。
出力制御部310は、モータの各相に対して出力するPWM信号を生成するための制御回路である。補償器210より出力されたPWMD信号と、モータの回転周期に比例したPWM周期カウント数NCNTが出力制御部310への入力信号となる。
PWM周期カウント数は1PWM周期に相当するカウント数であり、電気角360deg中に例えば96周期のPWMで構成したとすれば、このカウント数の96倍がモータの逆起電圧の1周期分に相当する。PWMD信号及びPWM周期カウント数NCNTを乗算器311で掛け合わせて、PWMONカウント数信号とする。このPWMONカウント数信号が一定トルク駆動制御波形プロファイル生成部410のPWMパターン生成部411に対して出力され、PWM変調部313に入力される信号の補正(正弦波電圧化)を行う。このPWM変調部313に入力される信号がOUTPWM信号である。
一定トルク駆動制御波形プロファイル生成部410は、パラメータ設定レジスタ710から入力される位相設定パラメータ及び傾き設定パラメータ、電流誤差検出部110から出力されるISPNOUT信号から駆動電圧位相を導き、正弦波駆動電圧に対応した2相分のPWM信号のOUTPWM、SOFTPWM信号を出力する回路である。
PWMONカウント数信号は、一定トルク駆動制御波形プロファイル生成部410内のSP1、2パターン生成部412にも該信号が入力される。
一定トルク駆動制御波形プロファイル生成部410には傾き設定パラメータと位相設定パラメータが入力され、前者のパラメータはそのまま、後者は所定の処理を受けた後PWMパターン生成部411、SP1、2パターン生成部412に入力される。
PWMパターン生成部411には、駆動電圧位相情報θdrvと傾き設定パラメータ、PWMONカウント数信号が入力される。これらを元に、PWMパターン生成部411はPWMパターンを生成する。このPWMパターン生成部の出力の例としては、図5(a)のような波形になる。
なお従来例における駆動電圧位相情報θdrvは位相設定パラメータとISPNOUT信号を乗算した信号である。この乗算は乗算器413で行われる。
SP1、2パターン生成部412は、正弦波電圧で駆動するために必要なSP1、2パターンを出力するパターン生成回路である。SP1、2パターン生成部412にも駆動電圧位相情報θdrvと傾き設定パラメータが入力される。また、PWM変調部313にSOFTPWM信号が出力される。SOFTPWM信号の出力例としては図5(b)部のような波形となる。
PWM変調部313にはSP1、2パターン生成部412の出力(SOFTPWM信号)、及びPWMパターン生成部411の出力であるOUTPWM信号が入力される。これらを元に、出力プリドライバ500に制御信号UP、UN、VP、VN、WP、WNを出力する。
出力プリドライバ500はモータを駆動するためのパワー素子のゲート電圧を制御する。この出力プリドライバ500により制御されたパワー素子がモータを駆動することで流れるモータ駆動電流がフィードバック制御部610に出力される。
フィードバック制御部610は電流誤差検出部110に現在のモータに対して加えられている電圧の状況をフィードバックするための検出回路である。フィードバック制御部610に含まれる直流シャント抵抗(RNF)611がモータ駆動電流を検出する。直流シャント抵抗611による検出値には電気角60deg周期の脈動が観測されるのは既述の通りである。
直流シャント抵抗611により検出された電流は、サンプルホールド回路(S/H)612によってセンスアンプ612によって増幅可能な期間、一時的に保持される。センスアンプ613を介することでデジタル処理可能なレベルに増幅される。これをADC614がアナログ・デジタル変換し、電流誤差検出部110に対して出力する。
一定トルク駆動制御波形プロファイル生成部410は出力制御部310及びパラメータ設定レジスタ710からの出力を受けて、PWMパターン及びSP1、2パターンを出力する波形プロファイル生成回路である。この回路は名称の通り、一定のトルクでモータを駆動させる場合に用いられるものである。
図2はこの一定トルク駆動制御波形プロファイル生成部410のSP1、2パターン生成部412から出力される駆動電圧波形を理解する為の波形図である。図3は図2で示した三相正弦波駆動電圧において電圧最小相を“0”とした場合(GND接地)の三相駆動電圧の波形図である。一方、図4は図2で示した三相正弦波駆動電圧において電圧最大相を“電源電位”とした場合(電源接地)の波形図である。図5は、電気角60deg毎にGND接地と電源接地を切り替えて駆動電圧とした際の駆動電圧の波形図である。なお図2ないし図5のグラフの横軸は回転子の角度、縦軸が各相に加えられる電圧に相当する。
PWMパターン生成部411は、入力信号であるPWMONカウント数と傾き設定パラメータ及び駆動電圧位相情報θdrvから正弦波電圧の一部すなわち図5(a)部の波形に相当するOUTPWM信号を生成する回路である。傾き設定パラメータは通常正弦波電圧を生成するパラメータとするが、これを変更することで駆動電圧をひずませることが可能となる。
SP1、2パターン生成部412は正弦波電圧を実現するために必要なもう一つの波形(図5(b)部)に相当するSOFTPWM信号を生成する回路である。OUTPWM信号とSOFTPWM信号及びGND接地、電源接地を組み合わせることで三相の正弦波電圧が実現でき、PWM変調部313で三相の駆動信号に振り分けられる。
パラメータ設定レジスタ710は一定トルク駆動制御波形プロファイル生成部410に対して、傾き設定パラメータ及び位相設定パラメータを出力するレジスタ群である。またパラメータ設定レジスタ710は電流誤差検出部110のスイッチ113に対してSPNCRNTまたはフィードバック制御部610のピーク値のいずれを出力するかを決定する電流振幅選択信号の出力を設定するレジスタも有する。
このうち、「傾き設定パラメータ」とは、電圧パターンの傾きを設定するパラメータである。一方、「位相設定パラメータ」とは、モータに流れている電流に対して電圧位相を追従させるためのパラメータである。位相設定パラメータは電流誤差検出部110の出力するISPNOUT信号との積を乗算器413で取られた後にPWMパターン生成部411、SP1、2パターン生成部412に入力される。一方、傾き設定パラメータはそのままPWMパターン生成部411、SP1、2パターン生成部412に入力される。
シリアルポート800は、この生成ブロックの外部から、パラメータ設定レジスタ710の設定内容を変更し、または現在の設定内容を読み出すための入出力ポートである。
PLL補償器910は、本図では図示しないモータの回転位相を制御するPLL制御ループにおける位相制御を行うブロックである。このPLL補償器910の出力の一つにNCNT信号がある。このNCNT信号はモータの角周波数ωの逆数に比例する信号でPWMの周期を表す(NCNT∝1/ω)。
このような構成を取る従来の実施の形態では、駆動電圧位相は駆動電流振幅に対してのみ依存性がある。従って、回転数が変化したときに駆動電圧位相を適切に追従させることができない。
なお、追従に際しては、位相設定パラメータを回転数に応じて変更すれば、駆動電圧位相を変更することが可能である。しかし、モータ起動に対するファームウェアが複雑となり、またモータの仕様等の変更に対して柔軟な対応が難しい。
(第1の実施の形態)
次に本発明の実施の形態について説明する。
図6は本発明の第1の実施の形態に関わる電流制御及び波形プロファイルを生成する生成ブロックのブロック図である。基本的な構成は、従来の実施の形態である図1同様であるが、補償器200からのフィードバックループがあるなど、各部に相違点が存在する。
この生成ブロックは電流誤差検出部100、補償器200、出力制御部300、一定トルク駆動制御波形プロファイル生成部400、出力プリドライバ500、フィードバック制御部600、パラメータ設定レジスタ700、シリアルポート800を含んで構成される。また、追加としてPLL補償器900も含まれる。
電流誤差検出部100は、SPNCRNT補正部101、ピーク格納部102、スイッチ103、乗算器104、減算器105を有するだけでなく、逆数演算・フィルタ部106を含む点が相違する。ここでは、図1と相違する逆数演算・フィルタ部106についてのみ説明する。
本発明の発明者は以下の点に着目した。
スピンドルモータの電力Pwは電源電圧Vps、電源電流Ips、モータの角周波数をω、トルク定数をKe、コイル抵抗をRm、モータ駆動電流をIspn、PWMスイッチングロスをPsw、とすると以下の式で表される。
Pw=Vps×Ips=ω・Ke・Ispn+Rm・Ispn2+Psw
≒(ω・Ke+Rm・Ispn)・Ispn … (式1)
(式1)のPswが消えるのは他項と比べて、値が小さく無視できるためである。
一方、モータの電圧方程式は駆動電圧Vdrv、コイルインダクタンスLmとすると下記のように表される。
Vdrv=ω・Ke+Rm・Ispn+Lm・dI/dt … (式2)
この(式2)でも第3項は、他に比べて小さいため、無視する。この第3項削除後の(式2)を(式1)に代入すると、以下のようになる。
Pw=Vps×Ips≒Vdrv×Ispn … (式3)
これを変形すると、
Ispn=Ips×Vps/Vdrv=Ips/PWMD … (式4)
これにより、制御したい電源電流指示IpsにPWMDの逆数を乗じた電流指示で相電流制御を行うと、擬似的な電源電流制御が可能となる。
これを実現するための回路として挿入されたのが逆数演算・フィルタ部106である。
逆数演算・フィルタ部106は、補償器200が出力するPWMD信号を受けとり、その逆数に相当するDMWP信号を生成する回路である。このDMWP信号を入力された直後に乗算器107で乗算する。この乗算器107の出力に、SPNCRNT補正部101が出力する期待される脈動成分を乗算器104で乗算することで入力した電流支持相当の電源電流となる相電流指示で電流制御を行うことが可能となる。
図7は逆数演算・フィルタ部106の構成を表すブロック図である。
この逆数演算・フィルタ部106の入力信号としては、PWMD信号と制御方式選択信号が存在し、DMWP信号を出力する。この逆数演算・フィルタ部106はPWMDの逆数を格納するレジスタ106−1を設ける。そして、出力であるDMWP信号とPWMDの積が「1」になるように帰還制御を行う。この際DMWP信号とPWMDの積は乗算器106−2が行う。
そして、減算器106−5が、この乗算器106−2の出力と「1」との差分を算出し、この減算器106−5の出力がループゲイン調整器106−3に入力された後、加算器106−4及びレジスタ106−1で誤差が積分されることで帰還ループを構成する。この帰還ループ内のループゲイン調整器106−3は本制御ループのループゲインがPWMD信号の大きさによって変化することに対する調整機能として働くことを期待するものである。図8はこのループゲイン106−3の動作を説明するためのグラフである。
このグラフの横軸はPWMD[%]であり、縦軸は帯域fs/Nを求めるための分母Nである。なお、fsは演算頻度を表す周波数である。
このループゲイン調整器106−3はPWMDの値によってループゲインを4段階に切り替えることができる。本図のループゲイン調整器106−3は、1/2、1/4、1/8、1/16の4段階にループゲインKの値を切り替え可能である。これにより範囲内であれば、PWMD信号がどのような値をとっても、同程度の制御帯域を得られることが可能となる。
このように逆数演算方法として帰還制御構成とすることで、割り算回路が不要に成る。あわせて、帯域を制限したフィルタ効果を持つ逆数演算が可能になる。これにより、電源電流制御を実現し、モータの低回転時においても、許容電源電流まで相電流を大きくすることができ起動時間短縮が図れる。
さらに電源電流指示に相当する相電流指示を作成して、電流制御を行うことで、相電流指示に制限をかければ、出力段のASO(Area of Safety Operation:安全動作領域)保護も可能である。
なお、ループゲイン調整については、図8のように4段階の切り替えにこだわるものではない。実施装置に応じて、切り替え段数を増減させても本発明の射程に含まれる。
スイッチ106−6は、逆数演算を行うか、SPNCRNTをそのまま用いるか(=「1」を出力するか)を決定するスイッチ回路である。このスイッチに制御方式選択信号が入力され、帰還ループの格納レジスタの値をDMWPとして出力するか否かを決定する。これにより、PWMDの代わりに「1」を乗じることで相電流制御への切り替えが可能となる。高精度回転の要求される定常回転などでは相電流制御で電源の変動への耐性を持たせることが可能となる。
このような構成をとることで、回路規模が大きい割り算回路を使用することなく、同時に帯域を制限したフィルタ効果を持つ逆数演算が可能となる。また、電流指示にPWMD信号の逆数を乗じて改めて電流指示とする構成は電流制御ループ内の信号を入力に戻しているために電流制御動作に影響しないよう帯域制限をする必要がある。本構成とすることで、逆数の取得と帯域制限を同時に実現でき、ベースとなる電流制御帯域に干渉しないように切り替えることが可能となる。
図6の説明に戻る。
一定トルク駆動制御波形プロファイル生成部400は、PWMパターン生成部401及びSP1、2パターン生成部402を含むだけでなく、駆動電圧位相生成部403を含む。
駆動電圧位相生成部403は図1の乗算器413に置き換わるものである。図1では単純に位相設定パラメータとISPNOUT信号を掛けることでPWMの駆動電圧位相情報θdrvを生成し、これをPWMパターン生成部411、SP1、2パターン生成部412に出力していた。
これに対し本発明では、位相設定パラメータK1、K2とISPNOUT信号に加え、PLL補償器900からのNCNT信号も駆動電圧位相生成部403に入力される。これらの入力信号から駆動電圧位相生成部403は駆動電圧位相情報θdrvを生成し、PWMパターン生成部401、SP1、2パターン生成部402に入力する点で、従来の実施の形態と相違する。
本実施の形態においては、位相設定パラメータは図1の従来の実施の形態のそれと相違する。本実施の形態における位相設定パラメータは、モータの回転数及び電流に追随させるためのパラメータである。従って、参照する対象が増えるため、本発明の位相設定パラメータはK1及びK2という二つの値が駆動電圧位相生成部403に入力される。
このような駆動電圧生成部403を設けたのは発明者の以下の考察による。
モータの回転時の駆動電圧位相情報θdrv(=図1、図6の駆動電圧位相情報θdrv)は以下の式で表される。
θdrv=tan−1(ω・Lm・Ispn/(ω・Ke+Rm・Ispn)) … (式5)
ここで、モータ回転時の駆動電圧位相情報θdrv、トルク定数Ke、BEMF(モータの逆起電力)により検知されたモータの角周波数をω、コイル抵抗Rm、コイルインダクタンスLm、モータ駆動電流Ispnをそれぞれ意味する。
このIspn及び1/ωに比例する信号を用いて帰還制御構成とすると、割り算回路が不要かつ帯域制限を回転数及び駆動電流に追従できる駆動電圧位相演算が可能になると考察した。また、1/ωに比例した信号を用いることで、回転数が変化するモータ起動時においても最適な駆動電圧位相でモータを駆動することが可能となる。
図9は、本発明の第1の実施の形態に関わる駆動電圧位相生成部403の構成を表すブロック線図である。
格納レジスタ403−1、乗算器403−2、ループゲイン調整器403−3、加算器403−4、減算器403−5からなる帰還ループ、という基本的な構成は逆数演算・フィルタ部106も、駆動電圧位相生成部403も共通する。
しかし、逆数演算・フィルタ部106では加算器106−5に「1」が入力されているのに対し、減算器403−5には位相設定パラメータK2が入力されている点で相違する。
また、本図では、ループゲイン調整器403−3は、0.5または0.25の2つの値しかとらない点で相違する。ループゲイン調整器403−3も、ループゲイン調整器106−3同様に帯域制限のために使用される。
また、図1同様にNCNTとISPNOUTの積を乗算器403−6で求め、これに位相設定パラメータK1を加える加算を加算器403−7で行う。この加算器403−7を乗算器403−2に入力する点も逆数演算・フィルタ部106とは相違する。この構成により位相設定パラメータK1を修正する、ないしは位相設定パラメータK1を変数にすることで、動的に駆動電圧の位相を調整することが可能となる。以下では、この位相設定パラメータK1及びK2の変数化について説明する。
また、帰還ループの出力である格納レジスタ403−1の出力にISPNOUTが掛けられて、θdrvを生成する点もこの回路の特徴である。この乗算は乗算器403−8で行う。
つぎに、この駆動電圧位相演算部403に入力される位相設定パラメータK1及びK2の変数化について説明する。
(式5)からも分かる通り、駆動電圧位相情報θdrvはBEMF各周波数ωの関数である。従って、従来例ではωが変化する状態(ex.加減速時)では、θdrvを正確に算出できない。従って、モータ駆動中の電流波形が乱れトルクリップルが増大する。
そこでX<<1のとき、X≒tan−1Xと考えられるため、以下のように(式5)を展開する。
θdrv≒ω・Lm・Ispn/(ω・Ke+Rm・Ispn) … (式6)
モータの角周波数ωはPWMカウント数NCNTとクロック周波数fclkを用いて次のように表される。
ω=(2π・fclk)/(6×16×NCNT) … (式7)
また、駆動電流Ispnは電流指示ISPNOUT、基準制御電流Iref[A]を用いて次のように表すことができる。
Ispn=Iref×ISPNOUT/1024 … (式8)
これらの(式7)、(式8)を(式6)に代入して整理すると位相設定パラメータK1及びK2が求められる。
θdrv≒K2・ISPNOUT/(K1+ISPNOUT・NCNT)
ただし、
K1=(2π・Lm・fclk)/(96・Rm) … (式9)
K2=(2π・Ke・fclk・1024)/(96・Rm・Iref)…(式10)
このようにして位相設定パラメータK1、K2を求める。これらはモータ依存性があるため、シリアルポート800で設定可能なようにすることで、図9のブロック線図の構成で駆動電圧位相情報θdrvを導出することが可能となる。
このようにすることで、モータ起動時において駆動電圧位相を適切に追従させることができ、起動時においても低騒音駆動が実現できる。
図10は駆動電圧位相情報θdrvと駆動電流Ispn、図11は駆動電圧位相情報θdrvと回転数に起因するNCNT(=1/ω)との関係を表すグラフである。
従来の方式(図1の該当箇所)では駆動電流Ispnに対して追従するように直線近似で補正を行っていた。これに対し本発明の駆動電圧位相演算方式では、理論式とほぼ同等の電圧位相演算を行うことが可能となり、簡易なファームウェアでの低騒音駆動が可能となる。
また、従来方式では回転数に対して追従できないため、回転数に応じて位相設定パラメータを段階的に変更することで駆動電圧位相を調整していた。これに対し本発明の方式では、回転数に対しても理論式と同等の電圧位相演算が可能となる。
再び、図6の説明に戻る。
出力プリドライバ500は、一定トルク駆動制御波形プロファイル生成部400で生成した正弦波状の駆動電圧を出力制御部300のPWM変調部313でPWM変調した信号UP、UN、VP、VN、WP、WNを入力として動作する。
PLL補償器900から出力されるNCNT信号は、モータ回転数ωの逆数に比例する量に相当する。駆動電圧位相生成部403はNCNT信号を用いて駆動電圧位相情報θdrvを演算する。これをPWMパターン生成部401、SP1、2パターン生成部402に出力される。
本発明の構成を用いることにより得られる効果について説明する。
図12は、従来の電流制御及び波形プロファイルを生成する生成ブロックで生成した動作波形図である。図12(a)と図12(b)はその動作条件が異なる。図12(a)は定常回転(100%)で最適となる位相設定パラメータで回転数が75%のときを想定しており、図12(b)は回転数を75%に合わせて位相設定パラメータを設定しなおした場合を想定する。また、図13は本発明の電流制御及び波形プロファイルを生成する生成ブロックで生成した動作波形図である。図13(a)の動作条件は回転数75%かつモータ定数からのパラメータ設定であり、図13(b)の動作条件は回転数50%かつモータ定数からのパラメータ設定である。図13(a)(b)は同一のパラメータ設定である。
まず、双方とも回転数75%である図12(a)と図12(b)との対比を行う。
従来技術では、回転数に対して駆動電圧位相を追従させることができないため図12(a)のように定常回転(100%)で最適な設定のまま回転数が75%の状態とすると駆動電圧位相が適切でなく、トルクリップルが増大する。このため、図12(b)のように位相設定パラメータを設定しなおしトルクリップルの増大を抑える必要があった。一方、本発明の方式では、図13(a)(b)に示すように同一パラメータ設定でも回転数が50%、75%共に駆動電圧位相を適切に追従させることができている。また、電源電流制御で構成していることで、トルク、電源電流共に従来技術よりリップルを低減することが可能である。
以上より、加速中にもトルクリップルを原因とする騒音の抑制を行いつつ、システムコストを上昇させること無くディスクシステムの静音化を達成することが可能となる。
(第2の実施の形態)
次に本発明の第2の実施の形態について、図を用いて説明する。
図14は従来のスピンドルモータのドライバの全体システムブロック図である。また、図15は従来の磁極位置検出における動作タイミング誘起電圧極性と通電相の関係を表す図である。また図16は従来のスピンドルモータにおける正転トルクの発生する通電相の対応を表す表である。これらの図は、180deg通電による多相モータとしての三相モータの一定トルク駆動に関するものである。
初期ロータ位置の特定に際しては、U相、V相、W相の三相の誘起電圧の検出をまず行う(図15最上段「動作モード」の左端「三相センス」)。誘起電圧の検出はU相→V相→W相の順に行う。各相の検出期間では、モータ電流を消滅させるハイインピーダンス期間、検出系のオフセットをキャンセルするための通電を行わない状態で電圧を検出するオフセット積算期間、誘起電圧を検出するセンス積算期間が存在する。例えばU相のセンスを行う場合には、ハイインピーダンス状態→オフセット積算→センス積算期間(V相→W相)→ハイインピーダンス状態→センス積算(W相→V相)と順に行い、U相の誘起電圧を検出する。V相、W相も同様に誘起電圧を検出するが、W相の検出の最後にはさらにハイインピーダンス期間を設ける(図15最下端「動作モード」)。このハイインピーダンス期間で通電相の決定を行う。また、このハイインピーダンス期間は、次に行われる通電とW相誘起電圧検出におけるV相及びU相の通電を分離することができる。これにより、上位側パワー素子M1、M3、M5と低位側パワー素子M2、M4、M6が同時にONになることにより貫通電流が生じることを防止する。
全体システムとしては以下のような処理を行う。
三相モータコイルLU、LV、LWは出力プリドライバ510に接続されたパワーMOSFETによるパワー素子M1、M2、M3、M4、M5、M6からなる出力駆動部と出力プリドライバ510からのパルス幅変調信号により駆動される。
出力駆動部13の出力であるスピンドル出力電圧U、V、WはセレクタSEL1でBEMF(逆起電圧)検出相が選択され、モータコイルの中性点CTとの差電圧がプリアンプPAで生成される。上記プリアンプPAの出力信号はプリフィルタPFLでフィルタリングされた後にコンパレータCMP3で基準電圧Vref1と比較される。このコンパレータCMP3がBEMFのゼロクロスを検出する。
また、プリフィルタPFLの出力はADCにも入力される。ADCの出力はCOMSENS制御部へ入力され、初期ロータ位置の特定における各相の誘起電圧極性検出はこのADC出力を用いている。
出力プリドライバ510の出力は出力駆動部13に入力される。出力駆動部13はPWM信号により互いに逆位相で駆動される高位側パワー素子と、低位側パワー素子とからなるハーフブリッジから構成される。この出力切替部が三相モータコイルLU、LV、LWを直接駆動する。
この出力駆動部13の低位側パワー素子M2、M4、M6のゲート電圧UL、VL、WLをセレクタSEL3により切り替えることで、電流ゼロクロス検出を行う相を決定する。コンパレータCMP1はセレクタSEL1の出力が基準電圧Vref3と交差するタイミングを検出する。
そして、スピンドル出力電圧U、V、Wが遷移している期間にサンプリングホールド回路SH2が、セレクタSEL3の出力をサンプル/ホールドする。このサンプリングホールド回路SH2の出力電圧と基準電圧Vref2とをコンパレータCMP2が比較することで電流のゼロクロスを検出する。
BEMFのゼロクロスを検出するコンパレータCMP3の出力と、電流のゼロクロスを検出するコンパレータCMP2の出力のいずれを利用するかはセレクタSEL4が決定する。セレクタSEL4は、一定トルク駆動を行う場合にはコンパレータCMP2の出力を、それ以外の場合にはコンパレータCMP3の出力を用いる。これはモータの回転が不安定な低回転時にはBEMF検出による安定した起動を可能にすることを目的としたものである。
ゼロクロスの検出結果であるセレクタSEL4の出力は、位相誤差検出部11に入力される。この位相誤差検出部11はPLL補償器910、通電タイミングカウンタ12、出力制御部310、出力プリドライバ510、出力駆動部13、モータからなるPLL制御ループによって、低速ジッタでのモータ駆動を実現する。
このように、BEMF及び電流の2つのゼロクロス検出結果を選択的に用いることに対応し、PLL制御ループは電流のゼロクロスを用いる場合と、BEMFのゼロクロスを用いる場合とが同様に成るようにするためのループゲインを調整する機能が設けられる。位相誤差検出に電流のゼロクロスを用いると、BEMFの検出のような無通電区間が不要なため、180deg通電を実現することができる。これにより、正弦波状の駆動電圧によりトルクリップルの少ないほぼ一定トルクでのモータ駆動が実現できる。
モータ駆動電流の検出結果については直流シャント抵抗601を含むフィードバック制御部610を用いて行うのは既述の通りである(図6参照)。フィードバック制御部610の出力であるCRNTOUT信号は電流誤差検出部110に入力される。電流誤差検出部110は入力されるSPNCRNT信号及びフィードバック制御部610からのCRNTOUT信号を元に補償器210に出力される電流検出誤差が出力される。補償器210は電流検出誤差の積分かつ制御ループの位相補償を行う。これにより、電流制御誤差検出部110、補償器210、出力制御部310、出力プリドライバ510、出力駆動部13からなる電流制御ループによって駆動電流の制御が行われる。
Phase信号は出力制御部310からマイクロプロセッサ16に対して出力される信号である。この信号はモータの角速度をモニタするものであり、マイクロプロセッサ16はこの信号を参照してモータの制御、具体的には位相設定パラメータの変更、を行う。
Phase信号はBEMFに同期したパルス信号である。出力制御部310では電気角360deg分で1周期になるようにPhase信号を生成する。
なお、このPhase信号は三相に振り分けるロジックを担当する出力制御部310内の周辺回路の部分で生成している。本発明の本質的な論点と相違するため、図3の説明でこの周辺回路は含めていないが、このような周辺回路が図示はされていないものの、図3でも存在することについては留意されたい。
マイクロプロセッサ16とのインターフェイスはシリアルポート810を介して行われる。SPNCRNT信号、電流制御、PLL、一定トルク駆動等の各種パラメータがパラメータ設定レジスタ710に対して設定される。
また、スピンドルモータドライバの全体システム中にはCOMSENS制御部14も含まれる。COMSENS制御部14はモータの停止状態からの起動制御(COMSENS制御)を行う制御部である。また、スピンドルモータドライバの全体システム中には内部の動作を制御するシーケンサ15も含まれる。COMSENS制御部14内部では、CS_EXE信号を用いてCOMSENS制御状態か否かを識別する。なお、従来では、このCS_EXE信号は外部出力されていないため、図14で図示されていない。一方で、COMSENS制御の開始を表す信号であるため、図15ではそのタイミングが図示される。
このように初期ロータ位置を特定した後、図16の表で決定された通電相でモータの駆動を一定期間行う。この一定期間の通電の後、再び誘起電圧の決定を行う。この動作を所定の回数または所定の期間繰り返すことによって、モータ起動時における初期加速を確実に行っていた。
しかし、この従来のやり方にも問題が存在する。
上述の手順では、センス積算期間に所定の相に電流を流す。そしてその後にハイインピーダンス状態が存在することとなる。このため、相電流が消滅するまでの間は、電源への逆流電流が存在していた。このため使用可能な電源が限定されていた。
一方、出力駆動部13のパワー素子にとっては、三相全てがハイインピーダンス状態になると、直前に流していた相電流がVMSPN端子の容量を充電してVMSPN電圧が上昇する。これにより、出力駆動部13のパワー素子M1、M2、M3、M4、M5、M6が耐圧をオーバーして破壊される可能性がある。
これに対する解が本発明の第2の実施の形態である。
図17は本発明の第2の実施の形態に関わるスピンドルモータのドライバの全体システムブロック図である。また、図18は本発明の第2の実施の形態に関わる磁極位置検出における動作タイミング誘起電圧極性と通電相の関係を表す図である。なお、本発明の第2の実施の形態に関わるスピンドルモータにおける正転トルクの発生する通電相の対応は従来例と同じであるため(=図16をそのまま使える)、省略する。
本実施の形態では、COMSENS制御部14から出力プリドライバ500に対してCLAMPENA信号を出力する点が相違する。また、外部に対してCOMSENS制御部14から、CS_EXE信号を出力する点が異なる。この出力されるCS_EXE信号によって、出力駆動部13の電源Vpsに直列に挿入されている電源スイッチMSWを制御する。
電源スイッチMSWはCS_EXE信号が“H”のときにOFFとなり“L”のときにONとなる。この電源スイッチMSWがOFFになることで、COMSENS制御中(=CS_EXE信号が“H”)のときに、三相全てがハイインピーダンス状態になり、相電流が電源Vpsに逆流することを防止する。
この際、CLAMPENA信号が“H”になると、出力プリドライバ500はスピンドル出力電圧U、V、Wが所定のレベル以上に上昇しないように制御する。これにより、電源への逆流電流の発生を安全に防止することが可能となる。
次に図18について説明する。
本実施の形態においても、磁極位置検出の基本動作は従来方式同様である。ただし、従来ハイインピーダンスにすることで出力電流を消滅させていたのに、出力プリドライバ500の下位側をリニアに動作できるようにして、三相出力が所定の電圧以上上昇しないようにすることで対応する。
モータ起動初期の磁極位置検出開始の際に出力されるCS_EXE信号が“H”の間は電源スイッチMSWがオフになるように制御する。これと対応して、モータ電流を消滅させるハイインピーダンス期間をクランプ期間とする。このクランプ期間にするためにCOMSENS制御部14は出力プリドライバ500に対してCLAMPENA信号を“H”にする。
なお、電源Vpsのパワーダウン時にCS_EXE信号を“H”とし、電源スイッチMSWをOFFとすることで、スピンドルモータが回転することで発生する逆起電力を、別の機能(例えばハードディスクドライブに適用した場合のヘッドの退避機能)の電力として利用することも可能である。
図19は本発明の第2の実施の形態に関わる出力駆動部13に含まれるスピンドル出力段の構成を表す回路図である。出力駆動部13には、このスピンドル出力段がU相、V相、W相ごとに、合計3つ存在する。ただし、これらは同一の回路であるため、この図19では1つしか記載しない。
このスピンドル出力段は三相DCモータを駆動するパワー素子M1、M2、電源オフ時にパワー素子をオフできるようにパワー素子とVgsとの間に挿入したプルダウン抵抗R1、R2、上位側パワー素子の寄生容量を充放電しパワー素子のオン/オフを制御するためのプリドライバとしてのカレントミラー回路用トランジスタTr3〜8、下位側パワー素子の寄生容量を充放電しパワー素子のオン/オフを制御するためのプリドライバとしてのカレントミラー回路用トランジスタTr9〜14、カレントミラー回路のための4つの基準電流源Ib1、Ib2、Ib3、Ib4、上位側パワー素子のオン/オフを制御するための制御信号UP、下位側パワー素子のオン/オフを制御するための制御信号UN、制御信号UP、UNを受けてカレントミラー回路のオン/オフを制御するSW1、SW2、SW3、SW4、CLAMPENA信号により動作状態になり、抵抗R3、R4による抵抗分圧で出力電圧をセンスして出力電圧が所定のレベル以上にならないようにクランプ動作を行うgm Ampを含んで構成される。
このスピンドル出力段が、パワー素子M1、M2をON/OFFさせてモータをPWM駆動する、という基本的な動作は従来と同様である。
しかし、本発明の第2の実施の形態においてはパワー素子M1、M2のオン/オフに関してカレントミラー回路を介して動作させている。これは出力電圧のスイッチング時間を制御するためである。上述の通り、切り替えのタイミングによって三相全てがハイインピーダンス状態になるとパワー素子M1、M2の破壊につながるため、カレントミラー回路により大まかな時間の制御を行えるようにしている。
gm Ampとグランドの間に挿入された抵抗R2はCLAMPENA信号が“H”の場合に、gm Ampの負荷抵抗としての役割も持つ。
CLAMPENA信号が“H”の場合、下位側パワー素子を制御するカレントミラー回路用トランジスタTr9及びTr13がオフになる。これにより、パワー素子M2のゲート電圧はgm Ampと負荷抵抗R2で決まる電圧となる。三相全てがハイインピーダンスになると電源方向への逆流電流が発生し、VMSPN電圧及びスピンドル出力のいずれかが上昇する。出力電圧が上昇するとgm Ampが電流を出力し、パワー素子M2のゲート電圧としては出力電圧として所定の電圧以上にならないようにクランプ動作をする。電流が消滅すれば出力電圧は下がってきてクランプ動作は終了する。結果として、パワー素子M1、M2の破壊を妨げることが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更が可能であることは言うまでもない。