以下、図面を参照して本発明の実施形態について詳細に説明する。
〔第1の実施の形態〕
図1には、第1の実施の形態に係るトルクリップル抑制装置10の概略構成が示されている。また、図2は、第1の実施の形態に係るトルクリップル抑制装置10を備えた駆動制御装置12の概略構成を示している。
駆動制御装置12は、例えば、三相同期電動機などの同期電動機の駆動を制御する。第1の実施の形態では、同期電動機の一例として、三相同期電動機(以下、モータ14とする)を用い、駆動制御装置12がモータ14の駆動を制御する場合について説明する。トルクリップル抑制装置10は、駆動制御装置12により駆動されるモータ14に発生するトルクリップルを抑制する。
駆動制御装置12は、コントローラ16、及びインバータ18を備える。コントローラ16は、例えば、マイクロコンピュータが用いられ、ベクトル制御部22及び変換部24として機能する。コントローラ16には、運転指令部26からモータ14に対する速度指令値やトルク指令値などの運転指令値が入力される。ベクトル制御部22は、例えば、トルク指令値が入力されることで、トルク指令値に応じてd軸電流指令値Id及びq軸電流指令値Iqを設定して出力する。
変換部24は、d軸電流指令値Idをd軸電圧指令値Vdに変換し、q軸電流指令値Iqをq軸電圧指令値Vqに変換する。また、ベクトル制御においては、例えば、三相電流を二相電流に変換するクラーク変換及び、二相電流をd軸とq軸による回転座標系に変換するパーク変換が行われる。変換部24は、d軸電圧指令値Vd及びq軸電圧指令値Vqに対して、パーク変換の逆変換及びクラーク変換の逆変換を行うことで、モータ14のU、V、Wの各相の電圧指令値Vu、Vv、Vwに変換して、インバータ18へ出力する。
インバータ18は、入力される電圧指令値Vu、Vv、Vwに基づき、モータ14のU、V、Wの各相の電圧vu、vv、vwを生成して出力する。モータ14は、インバータ18から供給される三相の電圧vu、vv、vwの電力により回転軸が回転駆動される。モータ14には、回転軸に負荷20が連結されており、回転軸の回転が負荷20に伝達されることで、負荷20を作動させる。
ここで、駆動制御装置12には、モータ14のU、V、Wの各相の電流iu、iv、iwを検出する電流センサ28が設けられ、ベクトル制御部22には、電流センサ28によって検出された電流iu、iv、iwが入力される。また、モータ14には、モータ14の回転角θを検出する回転角センサ30が設けられ、ベクトル制御部22には、回転角センサ30によって検出されたモータ14の回転角φを示す信号(以下、回転角信号φという)が入力される。回転角センサ30は、モータ14の回転角を直接検出しても良いが、例えば、ロータリーエンコーダを用い、ベクトル制御部22がロータリーエンコーダから出力されるパルス数をカウントし、カウント値を回転角信号φに変換するものであってもよい。
ベクトル制御部22には、変換器32が設けられている。変換器32は、電流センサ28から入力される電流iu、iv、iwを、回転座標系のd軸電流(以下、d軸電流信号とする)id及びq軸電流(以下、q軸電流信号とする)iqに変換する。即ち、変換器32は、クラーク変換及びパーク変換を行うことで、三相の電流iu、iv、iwから回転座標系のd軸電流信号id及びq軸電流信号iqを得る。
本実施の形態では、d軸指令値及びq軸指令値の一例として、d軸電流指令値及びq軸電流指令値を適用する。ベクトル制御部22は、d軸電流信号id、及びq軸電流信号iqが、運転指令値(例えば、トルク指令値)に応じた値となるように、d軸電流指令値Id及びq軸電流指令値Iqを設定するフィードバック制御を行う。また、ベクトル制御部22は、d軸電流指令値Id及びq軸電流指令値Iqを、回転角センサ30によって検出された回転角φから得られる電気角θに同期させる。
これにより、コントローラ16は、トルク指令値に応じた出力トルクが得られるようにモータ14の駆動を制御する。なお、このようなベクトル制御を行うコントローラ16の基本的構成は、公知の構成を適用でき、本実施の形態では、詳細な説明を省略する。また、第1の実施の形態では、一例として回転角センサ30を用いたが、回転角φに替えて電気角θを検出する電気角検出センサが用いられても良い。また、回転角センサ30や電気角センサを用いずに、d軸電流信号id及びq軸電流信号iqから、回転角φ又は電気角θを推定する構成であっても良い。
ところで、モータ14を含む同期電動機等においては、構造に起因する固有のトルクリップル(torque ripple)が生じる。トルクリップルは、例えば、コイルの鉄心のムラ等の構造に起因して発生する磁束のひずみなどが原因となって生じる。モータ14に生じるトルクリップルは、モータ14に振動や騒音などを生じさせる。
第1の実施の形態では、コントローラ16にトルクリップル抑制装置10を設け、このトルクリップル抑制装置10により、モータ14の構造に起因して発生する固有のトルクリップルを抑制する。
d軸電流信号id及びq軸電流信号iqには、モータ14に発生するトルクリップルに起因して、トルクリップルに応じたリップル成分が現れる。トルクリップル抑制装置10は、d軸電流信号idからトルクリップルに起因するリップル成分を除去する。また、モータ14の駆動に応じて変化する回転角などのパラメータは、モータに発生するトルクリップルの影響を受ける。トルクリップル抑制装置10は、予め設定したパラメータについて、トルクリップルの影響を受けることにより生じるリップル成分を、q軸電流を用いて抑制することで、モータ14のトルクリップルを抑制する。
一般に、同期電動機の極対数をn、d軸鎖交磁束をΦ(θ)、d軸インダクタンスをLd(θ)、q軸インダクタンスをLq(θ)とすると、同期電動機のトルクリップルτは、(1)式で表される。なお、電気角はθとしている。
即ち、d軸鎖交磁束Φ(θ)、d軸インダクタンスLd(θ)、及びq軸インダクタンスLq(θ)は、何れも電気角θに関する周期関数であり、トルクリップルτは、これらの周期関数の和となっている。
ここで、トルクリップルτ、d軸鎖交磁束Φ(θ)、d軸インダクタンスLd(θ)、及びq軸インダクタンスLq(θ)は、直流成分と周期関数成分との和で表すことができる。トルクリップルτ、d軸鎖交磁束Φ(θ)、d軸インダクタンスLd(θ)、及びq軸インダクタンスLq(θ)の各々について、直流成分を、τ0、Φ0、Ld0、及びのLq0とし、周期関数成分をΔτ、ΔΦ、ΔLd、及びΔLqとすると、(1)式は、(2)式で表される。
これらの各要素の周期関数成分は、基本波より振幅の小さい高調波成分を含んでおり、各要素について、2乗以上の項は、十分小さく無視できるものとすると、(2)式は、(3)式として簡略化することができる。
(3)式の左辺の第1項であるτ0は直流成分であり、実質的なトルクリップルは、周期関数成分Δτで示される。同期電動機のトルクリップルを抑制するためには、トルクリップルの周期関数成分Δτを0(Δτ=0)とすれば良く、トルクリップルの周期関数成分Δτ=0とすると、(4)式が得られる。トルクリップルの周期関数成分Δτを抑制するためには、(4)式を満たすd軸電流(d軸電流信号id)の周期関数成分Δid、及びq軸電流(q軸電流信号iq)の周期関数成分Δiqが存在すれば良い。
(4)式において、右辺は、同期電動機内の磁束分布に起因するトルクリップル成分であり、左辺は、d軸電流id及びq軸電流iqに起因するトルクリップル成分である。
d軸電流信号idに含まれる周期関数成分Δidは、リップル成分であり、本実施の形態においては、d軸電流idに含まれる周期関数成分Δid=0とするように、d軸電流idの制御を行う。(4)において、d軸電流idの周期関数成分Δidを0(Δid=0)とすると、(5)式が得られる。
従って、(5)式において、右辺のトルクリップルを打ち消すq軸電流信号iqの周期関数成分Δiqは一意的に定まる。
フーリエ級数を用いてトルクリップルを抑制する手法としては、時間を基準とする手法があるが、時間を基準とすると、例えば、電動機の回転速度が変化したときに、回転速度に合わせて積分範囲となる時間を設定しなおす必要がある。これに対して、本実施の形態では、電気角θを基準とすることで、回転速度等の変化に関わらずトルクリップルの抑制を図ることができる。また、電動機においては、d軸電流よりもq軸電流がトルクリップルに与える影響が大きいことから、q軸電流を用いることで、トルクリップルの抑制効率の向上が図られる。
本実施の形態に係るトルクリップル抑制装置10は、d軸電流信号idに含まれる周期関数成分Δidを抑えることで、モータ14のトルクリップルが、q軸電流信号iqの周期関数成分Δiqに集約されて含まれるようにする。また、トルクリップル抑制装置10は、モータ14に生じたトルクリップルに応じてq軸電流指令値Iqを補正することで、モータ14のトルクリップルを抑制する。
図2に示されるように、トルクリップル抑制装置10は、コントローラ16のベクトル制御部22と変換部24との間に設けられている。トルクリップル抑制装置10は、ベクトル制御部22から出力されるd軸電流指令値Idに対応するd軸調整部34、及びq軸電流指令値Iqに対応するq軸調整部36を備える。トルクリップル抑制装置10は、d軸調整部34、及びq軸調整部36の各々に、ベクトル制御部22からモータ14の電気角θが入力され、d軸調整部34及びq軸調整部36の各々が、電気角θに同期して動作する。本実施の形態においては、d軸調整部34が第1の生成手段として機能し、q軸調整部36が第2の生成手段として機能する。
図1に示されるように、d軸調整部34は、信号演算部38、及びモデル学習部40を備え、q軸調整部36は、信号演算部42、及びモデル学習部44を備える。また、トルクリップル抑制装置10は、重畳手段の一例として、モデル学習部40の出力をd軸電流指令値idに重畳させる加算器46、及びモデル学習部44の出力をq軸電流指令値iqに重畳させる加算器48を備える。本実施の形態においては、加算器46が第1の重畳手段の一例として機能し、加算器48が第2の重畳手段の一例として機能する。
d軸調整部34は、フーリエ級数積分を行うことで、d軸電流からリップル成分である周期関数成分を除くためのd軸補償信号の一例とするモデル信号Mdを生成して、加算器46へ出力する。加算器46は、ベクトル制御部22から入力されるd軸電流指令値Idにモデル信号Mdを加算することで、d軸電流から周期関数成分(リップル成分)を除去する。即ち、加算器46は、d軸電流指令値Idにモデル信号Mdを加算することで重畳し、d軸電流からリップル成分を除去するd軸電流指令値Id *を出力する。
また、q軸調整部36は、モータ14に生じているトルクリップルを除くためのq軸補償信号の一例とするモデル信号Mqを生成して、加算器48へ出力する。加算器48は、ベクトル制御部22から入力されるq軸電流指令値Iqにモデル信号Mqを加算することで、トルクリップルを抑制するためのq軸電流指令値Iq *を出力する。即ち、モータ14のトルクリップルは、モータ14における固有の磁束ムラなどに起因して生じており、これらの磁束ムラは、モータ14の駆動により変化するパラメータに影響する。q軸調整部36は、トルクリップルを生じさせている磁束ムラに応じたモデル信号Mqを生成する。加算器48は、q軸電流指令値Iqにモデル信号Mqを加算することで、トルクリップルを生じさせる磁束ムラを抑制するq軸電流指令値Iq *を出力する。
第1の実施の形態では、d軸電流(d軸電流信号iq)の検出手段として、駆動制御装置12に設けられている電流センサ28及び変換器32が機能する。図1に示されるように、d軸調整部34には、電流センサ28により検出された電流iu、iv、iwが、変換器32に変換されて得られたd軸電流信号idが入力される。また、第1の本実施の形態では、トルクリップル情報を含むパラメータとして、モータ14の回転角を適用する。また、図1に示されるように、q軸調整部36には、微分器50が設けられており、第1の実施の形態では、回転角センサ30及び微分器50がパラメータの検出手段として機能する。
図2に示されるように、ベクトル制御部22は、回転角センサ30によって検出されたモータ14の回転角(いか、回転角信号φという)を、q軸調整部36へ出力する。図1に示されるように、q軸調整部36では、回転角信号φが微分器50に入力される。微分器50は入力された回転角信号φを時間について2階微分して、回転角信号φから角加速度信号φaを生成する。この角速度信号φaには、トルクリップルに起因するリップル成分が含まれており、信号演算部42には、回転角信号φの角加速度信号φaが入力される。
ここで、先ず、d軸調整部34における、d軸電流信号idに含まれる周期関数成分であるリップル成分の除去を説明する。d軸調整部34の信号演算部38は、d軸電流信号idに含まれる所定の次数の高調波成分をフーリエ級数積分することで、フーリエ級数の余弦波成分及び正弦波成分の各々の振幅adn、bdnを演算する。
d軸電流信号idに含まれる任意の次数の高調波成分をfd(θ)、モータ14の電気角をθとすると、余弦波成分の振幅adnは、(6)式で表され、正弦波成分の振幅bdnは、(7)式で表される。
d軸調整部34のモデル学習部40は、所定の学習アルゴリズムにより信号演算部38で演算された振幅adn、bdnに所定のゲインを付与し、電気角θの1周期で積分することで、フーリエ級数となるモデル信号Mdを生成する。モデル信号Mdを(8)式に示す。なお、ゲインGda、Gdbは、上記と同様に学習アルゴリズムによって設定される。
d軸調整部34は。d軸電流信号idから生成したモデル信号Mdを用いて、d軸電流からリップル成分を除去するためのd軸電流指令値Id *を得る。
次に、q軸調整部36におけるトルクリップルの抑制を説明する。
一般に同期電動機のトルクは、負荷が接続された回転子のイナーシャと回転角の角加速度との積と見倣すことができる。この場合、回転角の角加速度には、トルクリップルに起因するリップル成分が周期関数成分として含まれる。また、回転角の角加速度加、即ち、回転角φの角加速度信号φaは、回転角信号φの2階微分により得られる。
q軸調整部36は、ベクトル制御部22から回転角信号φを取得し、取得した回転角信号φを、微分器50により2階微分することで、トルクリップル情報とする角加速度信号φaを生成している。
q軸調整部36の信号演算部42は、角加速度信号φaに含まれる所定の次数の高調波成分をフーリエ級数積分することで、フーリエ級数の余弦波成分及び正弦波成分の各々の振幅aqn、aqnを演算する。
ここで、角加速度信号φaに含まれる任意の次数の高調波成分をfτ(θ)、モータ14の電気角をθとすると、余弦波成分の振幅aqnは、(9)式で表され、正弦波成分の振幅bqnは、(10)式で表される。
q軸調整部36のモデル学習部44は、所定の学習アルゴリズムにより信号演算部42で演算された振幅aqn、bqnに所定のゲインを付与して、電気角θの1周期で積分することで、フーリエ級数となるモデル信号Mqを生成する。モデル信号Mqを(11)式に示す。なお、ゲインGqa、Gqbは、上記と同様に学習アルゴリズムによって設定される。
q軸調整部36は、モータ14のトルクリップル情報を含む角加速度信号φaから生成したモデル信号Mqを用いて、q軸電流指令値Iqに、モータ14のトルクリップルを抑制するための電流成分(モデル信号Mq)を重畳させたq軸電流指令値Iq *を得る。
駆動制御装置12は、トルクリップル抑制装置10によって調整されたd軸電流指令値Id *及びq軸電流指令値Iq *を用いて、モータ14を駆動する。
このようなトルクリップル抑制装置10を備える駆動制御装置12では、運転指令として例えば、トルク指令値が指定されることで、ベクトル制御部22が、トルク指令値に応じたd軸電流及びq軸電流を得るためのd軸電流指令値Id、及びq軸電流指令値Iqを設定する。また、駆動制御装置12は、設定したd軸電流指令値Id及びq軸電流指令値Iqに基づいてモータ14を駆動する。これにより、モータ14は、定常状態となることで、トルク指令値に応じた出力トルクで、負荷20を駆動する。
一方、モータ14は、構造に起因するトルクリップルを発生する。モータ14にトルクリップルが発生していると、振動、騒音が生じる。また、モータ14の電流iu、iv、iwから生成されるd軸電流信号id及びq軸電流信号iqに、トルクリップルに応じたリップル成分として周期関数成分が含まれる。
駆動制御装置12に設けられているトルクリップル抑制装置10は、d軸調整部34が、駆動されているモータ14の電流iu、iv、iwから得られるd軸電流信号idに基づき、d軸電流に含まれるリップル成分の除去を行う。即ち、トルクリップル抑制装置10は、d軸電流信号idからリップル成分を除くことで、トルクリップルに応じたリップル成分をq軸電流iqに集約する。また、トルクリップル抑制装置10では、モータ14に発生しているトルクリップルを示すトルクリップル情報を用いて、モデル信号Mqを生成する。トルクリップル抑制装置10は、生成したモデル信号Mqに応じた電流成分をq軸電流に重畳させることで、q軸電流にトルクリップルを抑制するリップル成分を含ませるq軸電流指令値Iq *を生成する。トルクリップル抑制装置10は、q軸電流にトルクリップルを抑制するリップル成分を含ませることでモータ14のトルクリップルを抑制する。
ここで、トルクリップルのリップル成分である周期関数成分Δτを打ち消すためには、上記した(4)式に示す対応関係を満たす、d軸電流信号idに含まれる周期関数成分Δid、及びq軸電流子信号iqに含まれる周期関数成分Δiqが存在する必要がある。
しかし、(4)式を満たす周期関数成分Δid及び周期関数成分Δiqは、一意的に決定できない。このため、例えば、トルクリップルを示す単一のトルクリップル情報を用いた学習アルゴリズムに基づいて、周期関数成分Δid及び周期関数成分Δiqを除去しようとすると、学習アルゴリズムが収束しなかったり、学習アルゴリズムの収束に多大な時間を要してしまったりすることがある。
これに対して、トルクリップル抑制装置10では、d軸電流信号idを用いた学習アルゴリズムによりd軸電流信号idに含まれる周期関数成分Δidの除去を行う。これにより、前記した(5)式を用いたトルクリップルの抑制が可能となる。この(5)式を満たすq軸電流信号iqに含まれる周期関数成分Δiqは、一意的に決まるため、所定の学習アルゴリズムに、例えば、トルクリップル情報を含む角加速度信号φaなどを用いることで、学習アルゴリズムの確実な収束が可能となる。
従って、トルクリップル抑制装置10によってモータ14のトルクリップルが抑制された状態では、d軸電流(d軸電流信号id)にリップル成分が含まれない状態となっているが、q軸電流(q軸電流信号iq)には、トルクリップルによるリップル成分に、トルクリップルを抑制するための周期関数成分が重畳されたリップル成分が含まれる。これにより、トルクリップル抑制装置10は、モータ14に発生する固有のトルクリップルを、確実に、かつ従来よりも短時間に抑制することができる。
また、トルクリップル抑制装置10は、駆動制御装置12が備える機能部品を用いて、モータ14のトルクリップルを抑制することができるので、トルクリップルの抑制のための機能部品を追加する必要が無く、駆動制御装置12の大型化を抑えることができる。
以上説明した本実施の形態では、モータに発生したトルクリップルを、回転角センサ30により検出されるから回転角φをパラメータとして、微分器50により2階微分することで求めるようしている。これに限らず、トルクリップル情報(リップル成分を含むパラメータ)としては、例えば、モータ14の電気角θを検出する電気角センサなどの電気角検出手段を用いて取得しても良い。また、トルクリップル情報の検出は、トルクセンサなどのトルク検出手段を用いても良い。トルク検出手段により検出されたトルク信号からリップル成分となる周期関数成分を抽出し、抽出した周期関数成分を用いて学習アルゴリズムを実行するようにしても良い。
また、これらに限らず、トルクリップル情報の取得は、トルクリップルを検出する任意の手法を適用することができる。例えば、電気角(電気角信号θ)などは、電気角センサなどによって直接検出する構成にかぎらず、d軸電流信号id及びq軸電流信号iqから推定することで得られるので、この電気角信号θを用いて良い。
〔第2の実施の形態〕
次に、第2の実施の形態を説明する。なお、第2の実施の形態において、前記した第1の実施の形態と同等の機能部品については、第1の実施の形態と同じ符号を付与して詳細な説明を省略している。
図3には、第2の実施の形態に係る駆動制御装置60の概略構成が示されている。第2の実施の形態では、同期電動機としてリニア同期モータ(以下、リニアモータ62とする)を適用しており、駆動制御装置60は、リニアモータ62の駆動を制御する。
駆動制御装置60は、例えば、マイクロコンピュータを備えるコントローラ64、及びインバータ18を備え、インバータ18から出力される三相の電圧vu、vv、vwによってリニアモータ62が駆動される。リニアモータ62は、駆動されることで推力トルクを発生して、対応する負荷66とリニアモータ62とが相対移動する。なお、第2の実施の形態に適用したリニアモータ62は、発生する推力トルクの方向が切り替えられるようになっており、これにより、負荷66に対して往復移動される。
コントローラ64には、ベクトル制御部68、及び変換部70が設けられている。また、リニアモータ62には、U、V、Wの各相の電流iu、iv、iwを検出する電流センサ28、及び負荷66に対するリニアモータ62の位置を検出する位置検出器72が設けられている。
ベクトル制御部68には、電流センサ28によって検出される各相の電流iu、iv、iwが入力される。また、位置検出器72は、例えば、リニアモータ62と負荷66との間に設けられたリニアエンコーダを用い、リニアモータ62の移動に応じて出力されるパルス信号が、ベクトル制御部68に入力される。ベクトル制御部68は、位置検出器72から入力されるパルス数をカウントしながら、カウント値を、リニアモータ62の移動方向に応じて加減算することで、リニアモータ62の位置(相対位置)及び移動方向、移動量を判定する。
ベクトル制御部68は、運転指令部26から運転速度や推力トルクなどの運転指令値が入力されることで、入力された運転指令値に基づいてd軸電流指令値Id及びq軸電流指令値Iqを設定する。この時、ベクトル制御部68は、三相の電流iu、iv、iwをd軸電流信号id及びq軸電流信号iqに変換する。また、ベクトル制御部68は、変換したd軸電流信号id及びq軸電流信号iqが運転指令値に応じた値となるようにd軸電流指令値Id及びq軸電流指令値Iqを設定するフィードバック制御を行う。
変換部70は、d軸電流指令値Id及びq軸電流指令値Iqが入力されることで、d軸電流指令値Id及びq軸電流指令値Iqに応じたd軸電圧指令値Vd及びq軸電圧指令値Vqに変換する。また、変換部70は、変換したd軸電圧指令値Vd及びq軸電圧指令値Vqを、3相の電圧指令値Vu、Vv、Vwに変換してインバータ18へ出力する。インバータ18は、各相の電圧指令値Vu、Vv、Vwに応じた3相の電圧vu、vv、vwを生成してリニアモータ62へ供給する。これにより、リニアモータ62は、運転指令値に応じて駆動される。なお、駆動制御装置60におけるリニアモータ62の駆動制御は、公知の構成を適用でき、第2の実施の形態では、詳細な説明を省略する。
駆動制御装置60のコントローラ64には、第2の実施形態に係るトルクリップル抑制装置74が設けられている。第2の実施の形態では、電動機の一例として、移動方向が、一方向及び一方向と反対方向に切り替わるリニアモータ62を用いている。トルクリップル抑制装置74は、一方向に対応する第1の抑制手段として機能する第1のトルクリップル抑制部76A、及び一方向と反対方向に対応する第2の抑制手段として機能する第2のトルクリップル抑制部76Bを備える。第1のトルクリップル抑制部76A及び第2のトルクリップル抑制部76Bは、同等の構成となっている。また、トルクリップル抑制部76A、76Bは、図1に示すトルクリップル抑制装置10に対して、q軸調整部36に微分器50が設けられていない点で相違し、これを除く基本的機能が同等となっている。なお、以下の説明において、第1のトルクリップル抑制部76A及び第2のトルクリップル抑制部76Bを総称する場合、トルクリップル抑制部76とする。また、トルクリップル抑制部76は、前記したトルクリップル抑制装置10と同等の機能を有することから、詳細な説明を省略する。
図3に示されるように、トルクリップル抑制装置74では、第1のトルクリップル抑制部76A及び第2のトルクリップル抑制部76Bの各々に、d軸電流指令値Id、q軸電流指令値Iq、d軸電流信号id、及び電気角θが入力される。
また、トルクリップル抑制装置74には、第2の実施の形態において、選択手段として機能する分配器78、及び選択器80が設けられている。また、トルクリップル抑制装置74には、第2の実施の形態において検出手段として機能する微分器82A、82Bが設けられている。前段の微分器82Aには、ベクトル制御部68から位置信号Pが入力されるようになっており、微分器82Aは、入力されて位置信号Pを時間微分することでリニアモータ62の速度信号Psを生成する。また、後段の微分器82Bには、微分器82Aから速度信号Psが入力され、微分器82Bは、速度信号Psを時間微分することで加速度信号Paを生成して、トルクリップル抑制部76(76A、76B)に出力する。
トルクリップル抑制部76は、d軸電流信号idからd軸電流指令値Idに対するモデル信号Mdを生成して、生成したモデル信号Mdをd軸電流指令値Idに重畳させて、d軸電流指令値Id *として出力する。
また、リニアモータ62では、トルクリップルが発生することで、推力トルクにトルクリップルが含まれる。このトルクリップルは、加速度信号Paにリップル成分として現れる。トルクリップル抑制部76は、加速度信号Paをトルクリップル情報として用い、加速度信号Paのリップル成分(周期関数成分)から、q軸電流指令値Iqに対するモデル信号Mqを生成する。また、トルクリップル抑制部76は、生成したモデル信号Mqをq軸電流指令値Iqに重畳(加算)させて、q軸電流指令値Iq *として出力する。
一方、トルクリップル抑制装置74では、前段の微分器82Aで生成された速度信号Psが、分配器78及び選択器80に入力される。微分器82Aから出力される速度信号Psは、リニアモータ62の移動方向(可動子の移動方向)に応じて符号が変化する。第1のトルクリップル抑制部76Aは、速度信号Psが非負(Ps≧0)である方向に対応し、第2のトルクリップル抑制部76Bは、速度信号Psが負(Ps<0)となる方向に対応する。
ここで、ベクトル制御部68から出力される電気角信号θは、分配器78を介して第1のトルクリップル抑制部76A又は第2のトルクリップル抑制部76Bへ入力される。この際、分配器78は、速度信号Psが非負であるときに、電気角信号θを第1のトルクリップル抑制部76Aへ出力し、第2のトルクリップル抑制部76Bに電気角θ=0を示す電気角信号θを出力する。また、分配器78は、速度信号Psが負であるときに、電気角信号θを第2のトルクリップル抑制部76Bへ出力し、第1のトルクリップル抑制部76Aに電気角θ=0を示す電気角信号θを出力する。第1のトルクリップル抑制部76A及第2のトルクリップル抑制部76Bは、入力される電気角信号θが0(θ=0)となっていることで、電気角信号θを用いた積分処理を停止し、停止直前に生成したモデル信号Md、Mqを保持する。
また、第1のトルクリップル抑制部76A及び第2のトルクリップル抑制部76Bの各々のd軸電流指令値Id *及びq軸電流指令値Id *は、d軸電流指令値Id及びq軸電流指令値Iqとして、選択器80を介して変換部70へ出力される。ここで、選択器80は、微分器82Aから入力される速度信号Psが非負であると、第1のトルクリップル抑制部76Aから入力されたd軸電流指令値Id *及びq軸電流指令値Iq *を変換部70へ出力する。また、選択器80は、速度信号Psが負であると、第2のトルクリップル抑制部76Bから入力されたd軸電流指令値Id *及びq軸電流指令値Iq *を変換部70へ出力する。
このように、駆動制御装置60は、トルクリップル抑制装置74(トルクリップル抑制部76)が設けられることで、リニアモータ62で発生するトルクリップルを、確実に、かつ、比較的短時間に抑制することができる。
トルクリップル抑制装置74は、各々がリニアモータ62に発生するトルクリップルを抑制する第1のトルクリップル抑制部76A及び第2のトルクリップル抑制部76Bが設けられ、リニアモータ62の駆動方向に応じて一方が動作するようにしている。この時、トルクリップル抑制装置74では、動作の停止しているトルクリップル抑制部76が学習結果を保持している。これにより、トルクリップル抑制装置74は、リニアモータ62の移動方向が切り替わっても、リニアモータ62のトルクリップルを抑制した状態を継続することができる。
即ち、リニアモータ62の移動方向によってトルクリップルのリップル成分が異なることがある。この場合、リニアモータ62の移動方向が切り替わるごとに、トルクリップルの抑制のための処理を行う必要がある。
これに対して、トルクリップル抑制装置74は、リニアモータ62の移動方向ごとにトルクリップル抑制部76が設けられ、リニアモータ62の移動方向が対応する方向でないトルクリップル抑制部76が、モデル信号Md、Mqを保持している。従って、トルクリップル抑制装置74は、リニアモータ62の移動方向が切り替わった場合でも、確実にトルクリップルを抑制した状態を保持することができる。
また、トルクリップル抑制装置74は、駆動制御装置60が備える機能部品を用いて、リニアモータ62のトルクリップルを抑制することができるので、トルクリップルの抑制のための機能部品を追加する必要が無く、駆動制御装置60の大型化を抑えることができる。
なお、第2の実施の形態では、往復動作のために移動方向が切り替わるリニアモータ62を例に説明したが、リニアモータ62に限らず、回転軸の回転方向が切り替えられるモータ(例えばモータ14)に適用しても良い。これにより、回転軸の回転方向が切り替わった場合にも、トルクリップルを抑制した状態を保持することができる。
また、トルクリップル抑制装置10、74に用いられるd軸調整部34及びq軸調整部36の機能は、コンピュータプログラムによって実行することができる。従って、例えば、コントローラ16に設けられるマイクロコンピュータに、d軸調整部34及びq軸調整部36等に対応する機能プログラムを実行させるようにしても良い。
なお、以上説明した本実施の形態では、一例として、d軸電流指令値Id及びq軸電流指令値Iqに、学習アルゴリズムに基づいてd軸補償信号及びq軸補償信号として生成したモデル信号Md及びモデル信号Mqを重畳させるようにしている。また、本実施の形態に係るベクトル制御では、d軸電流指令値Id及びq軸電流指令値Iqからd軸電圧指令値Vd及びq軸電圧指令値Vqに変換し、さらに、U、V、Wの各相の電圧指令値Vu、Vv、Vwに変換するようにしている。ここから、d軸指令値及びq軸指令値としてd軸電圧指令値Vd及びq軸電圧指令値Vqを適用しても良い。この場合、d軸電圧指令値Vdに対応させたd軸補償信号、及びq軸電圧指令値Vqに対応させたq軸補償信号を生成して、生成したd軸補償信号及びq軸補償信号を、d軸電圧指令値Vd及びq軸電圧指令値Vqに重畳させるようにしても良い。
また、実際の駆動制御装置としては、例えば、運転指令値に応じたd軸電流目標値及びq軸電流目標値を設定し、設定したd軸電流目標値及びq軸電流目標値を、電動機のd軸電流信号id及びq軸電流信号iqによりフィードバック制御する構成などがある。この駆動制御装置では、フィードバック制御を行うことで、d軸電流及びq軸電流がd軸電流目標値及びq軸電流目標値となるd軸電圧(d軸電圧指令値Vd)及びq軸電圧(q軸電圧指令値Vq)を生成する。
この場合、d軸電流からリップル成分を除去するためのd軸補償信号、及びq軸電流を用いてパラメータに含まれるリップル成分を抑制するためのd軸補償信号は、d軸電圧指令値Vd及びq軸電圧指令値Vqに重畳させても良い。また、これに限らず、d軸補償信号をフィードバック制御に用いるq軸電流信号idに重畳し、q軸補償信号をフィードバック制御に用いるq軸電流信号iqに重畳しても良い。これにより、d軸補償信号が重畳されたd軸電圧指令値Vd及びq軸補償信号が重畳されたq軸電圧指令値Vqが得られる。
即ち、本発明において、d軸補償信号及びq軸補償信号が重畳されるd軸指令値及びq軸指令値は、d軸電流指令値Id及びq軸電流指令値Iqであっても良く、また、d軸電圧指令値Vd及びq軸電圧指令値Vqであっても良い。また、d軸補償信号及びq軸補償信号が重畳されるd軸指令値及びq軸指令値は、d軸電流目標値及びq軸電流目標値であっても良い。さらに、d軸補償信号及びq軸補償信号が重畳されるd軸指令値及びq軸指令値は、d軸電圧指令値Vdを得るための前記したフィードバック制御に用いるd軸電流信号id、q軸電圧指令値Vqを得るためのq軸電流信号iqであっても良い。