(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-02
(45)【発行日】2024-07-10
(54)【発明の名称】モータ駆動制御装置およびモータ駆動制御方法
(51)【国際特許分類】
H02P 21/13 20060101AFI20240703BHJP
H02P 21/18 20160101ALI20240703BHJP
H02P 21/26 20160101ALI20240703BHJP
G05B 13/02 20060101ALI20240703BHJP
【FI】
H02P21/13
H02P21/18
H02P21/26
G05B13/02 S
(21)【出願番号】P 2020175521
(22)【出願日】2020-10-19
【審査請求日】2023-06-09
(73)【特許権者】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】小久保 宏樹
(72)【発明者】
【氏名】戸塚 進士
(72)【発明者】
【氏名】増田 重巳
【審査官】谿花 正由輝
(56)【参考文献】
【文献】特表2012-519464(JP,A)
【文献】特表2007-531478(JP,A)
【文献】特開2005-051971(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 21/13
H02P 21/18
H02P 21/26
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
モータを駆動させるための駆動制御信号に基づいて前記モータを駆動する駆動回路と、
前記モータのコイルの駆動電流の検出結果に基づくベクトル制御演算を行うことにより、前記駆動制御信号を生成して前記駆動回路に供給する制御回路と、を備え、
前記制御回路は、
前記モータの前記コイルの駆動電流値を取得する駆動電流値取得部と、
線形カルマンフィルタに基づく演算により前記モータのロータの回転角度と前記ロータの回転速度を推定する推定部と、
前記駆動電流値取得部によって取得した前記駆動電流値と、前記推定部によって推定した前記回転角度とに基づいて、クラーク変換およびパーク変換を行うことにより、2相の回転座標系のq軸電流値およびd軸電流値を算出する第1座標変換部と、
前記モータの目標回転速度と前記推定部によって推定した前記回転角度との差が小さくなるように、前記2相の回転座標系のq軸電流の指令値を算出するq軸電流指令値算出部と、
前記q軸電流指令値算出部によって算出した前記q軸電流の指令値と前記第1座標変換部によって算出した前記q軸電流値に基づく値との差が小さくなるように、前記2相の回転座標系のq軸電圧の指令値を算出するq軸電圧指令値算出部と、
前記2相の回転座標系のd軸電流の指令値と、前記第1座標変換部によって算出した前記d軸電流値との差が小さくなるように、前記2相の回転座標系のd軸電圧の指令値を算出するd軸電圧指令値算出部と、
前記q軸電圧指令値算出部によって算出した前記q軸電圧の指令値と、前記d軸電圧指令値算出部によって算出した前記d軸電圧の指令値と、前記推定部によって推定した前記回転角度とに基づいて、逆パーク変換を行うことにより、前記2相の固定座標系の電圧指令値を算出する第2座標変換部と、
前記第2座標変換部によって算出した前記2相の固定座標系の電圧指令値を3相の固定座標系の電圧信号に変換し、前記駆動制御信号として出力する駆動制御信号生成部と、
記憶部と、を有し、
前記線形カルマンフィルタにおいて、前記q軸電流値をIq(t)、前記回転速度としての電気角速度をωe(t)、前記回転角度をθ(t)、前記q軸電圧の指令値をVqref、前記コイルの抵抗をRa、q軸インダクタンスをLq、d軸方向の磁石の磁束をΨaとしたとき、状態ベクトルx(t)を下記式(A)によって定義し、前記モータの状態空間モデルを下記式(B)および下記式(C)によって定義し、下記式(B)および式(C)におけるAc,Bc,cを下記式(D)によって夫々表した場合に、
【数1】
【数2】
【数3】
【数4】
【数5】
【請求項2】
モータを駆動させるための駆動制御信号に基づいて前記モータを駆動する駆動回路と、
前記モータのコイルの駆動電流の検出結果に基づくベクトル制御演算を行うことにより、前記駆動制御信号を生成して前記駆動回路に供給する制御回路と、を備え、
前記制御回路は、
前記モータの前記コイルの駆動電流値を取得する駆動電流値取得部と、
線形カルマンフィルタに基づく演算により前記モータのロータの回転角度を推定する推定部と、
前記駆動電流値取得部によって取得した前記駆動電流値と、前記推定部によって推定した前記回転角度とに基づいて、クラーク変換およびパーク変換を行うことにより、2相の回転座標系のq軸電流値およびd軸電流値を算出する第1座標変換部と、
前記モータのトルクの目標値であるトルク指令値に基づいて、前記2相の回転座標系のq軸電流の指令値を算出するq軸電流指令値算出部と、
前記q軸電流指令値算出部によって算出した前記q軸電流の指令値と前記第1座標変換部によって算出した前記q軸電流値に基づく値との差が小さくなるように、前記2相の回転座標系のq軸電圧の指令値を算出するq軸電圧指令値算出部と、
前記2相の回転座標系のd軸電流の指令値と、前記第1座標変換部によって算出した前記d軸電流値との差が小さくなるように、前記2相の回転座標系のd軸電圧の指令値を算出するd軸電圧指令値算出部と、
前記q軸電圧指令値算出部によって算出した前記q軸電圧の指令値と、前記d軸電圧指令値算出部によって算出した前記d軸電圧の指令値と、前記推定部によって推定した前記回転角度とに基づいて、逆パーク変換を行うことにより、前記2相の固定座標系の電圧指令値を算出する第2座標変換部と、
前記第2座標変換部によって算出した前記2相の固定座標系の電圧指令値を3相の固定座標系の電圧信号に変換し、前記駆動制御信号として出力する駆動制御信号生成部と、
記憶部と、を有し、
前記線形カルマンフィルタにおいて、前記q軸電流値をIq(t)、前記ロータの回転速度としての電気角速度をωe(t)、前記回転角度をθ(t)、前記q軸電圧の指令値をVqref、前記コイルの抵抗をRa、q軸インダクタンスをLq、d軸方向の磁石の磁束をΨaとしたとき、状態ベクトルx(t)を下記式(A)によって定義し、前記モータの状態空間モデルを下記式(B)および下記式(C)によって定義し、下記式(B)および式(C)におけるAc,Bc,cを下記式(D)によって夫々表した場合に、
【数6】
【数7】
【数8】
【数9】
【数10】
【請求項3】
請求項1
または2に記載のモータ駆動制御装置において、
前記制御回路は、前記ロータの初期位置を特定した後に、前記回転角度および前記回転速度を推定する
モータ駆動制御装置。
【請求項4】
モータのコイルの駆動電流値を取得する第1ステップと、
前記第1ステップで取得した前記駆動電流値に基づくベクトル制御演算を行うことにより、前記モータを駆動させるための駆動制御信号を生成する第2ステップと、を含み、
前記第2ステップは、
線形カルマンフィルタに基づく演算により前記モータのロータの回転角度と前記ロータの回転速度を推定する第3ステップと、
前記第1ステップにおいて取得した前記駆動電流値と、前記第3ステップにおいて推定した前記回転角度とに基づいてクラーク変換およびパーク変換を行うことにより、2相の回転座標系のq軸電流値およびd軸電流値を算出する第4ステップと、
前記モータの目標回転速度と前記第3ステップにおいて推定した前記回転角度との差が小さくなるように、前記2相の回転座標系のq軸電流の指令値を算出する第5ステップと、
前記第5ステップにおいて算出した前記q軸電流の指令値と前記第4ステップにおいて算出した前記q軸電流値に基づく値との差が小さくなるように、前記2相の回転座標系のq軸電圧の指令値を算出する第6ステップと、
前記2相の回転座標系のd軸電流の指令値と、前記第4ステップにおいて算出した前記d軸電流値との差が小さくなるように、前記2相の回転座標系のd軸電圧の指令値を算出する第7ステップと、
前記第6ステップにおいて算出した前記q軸電圧の指令値と、前記第7ステップにおいて算出した前記d軸電圧の指令値と、前記第3ステップにおいて推定した前記回転角度とに基づいて、逆パーク変換を行うことにより、前記2相の固定座標系の電圧指令値を算出する第8ステップと、
前記第8ステップにおいて算出した前記2相の固定座標系の電圧指令値を3相の固定座標系の電圧信号に変換し、前記駆動制御信号として出力する第9ステップと、を有し、
前記線形カルマンフィルタにおいて、前記q軸電流値をIq(t)、前記回転速度としての電気角速度をωe(t)、前記回転角度をθ(t)、前記q軸電圧の指令値をVqref、前記コイルの抵抗をRa、q軸インダクタンスをLq、d軸方向の磁石の磁束をΨaとしたとき、状態ベクトルx(t)を下記式(A)によって定義し、前記モータの状態空間モデルを下記式(B)および下記式(C)によって定義し、下記式(B)および式(C)におけるAc,Bc,cを下記式(D)によって夫々表した場合に、
【数11】
【数12】
【数13】
【数14】
【数15】
【請求項5】
モータのコイルの駆動電流値を取得する第1ステップと、
前記第1ステップで取得した前記駆動電流値に基づくベクトル制御演算を行うことにより、前記モータを駆動させるための駆動制御信号を生成する第2ステップと、を含み、
前記第2ステップは、
線形カルマンフィルタに基づく演算により前記モータのロータの回転角度を推定する第3ステップと、
前記第1ステップにおいて取得した前記駆動電流値と、前記第3ステップにおいて推定した前記回転角度とに基づいてクラーク変換およびパーク変換を行うことにより、2相の回転座標系のq軸電流値およびd軸電流値を算出する第4ステップと、
前記モータのトルクの目標値であるトルク指令値に基づいて、前記2相の回転座標系のq軸電流の指令値を算出する第5ステップと、
前記第5ステップにおいて算出した前記q軸電流の指令値と前記第4ステップにおいて算出した前記q軸電流値に基づく値との差が小さくなるように、前記2相の回転座標系のq軸電圧の指令値を算出する第6ステップと、
前記2相の回転座標系のd軸電流の指令値と、前記第4ステップにおいて算出した前記d軸電流値との差が小さくなるように、前記2相の回転座標系のd軸電圧の指令値を算出する第7ステップと、
前記第6ステップにおいて算出した前記q軸電圧の指令値と、前記第7ステップにおいて算出した前記d軸電圧の指令値と、前記第3ステップにおいて推定した前記回転角度とに基づいて、逆パーク変換を行うことにより、前記2相の固定座標系の電圧指令値を算出する第8ステップと、
前記第8ステップにおいて算出した前記2相の固定座標系の電圧指令値を3相の固定座標系の電圧信号に変換し、前記駆動制御信号として出力する第9ステップと、を有し、
前記線形カルマンフィルタにおいて、前記q軸電流値をIq(t)、前記ロータの回転速度としての電気角速度をωe(t)、前記回転角度をθ(t)、前記q軸電圧の指令値をVqref、前記コイルの抵抗をRa、q軸インダクタンスをLq、d軸方向の磁石の磁束をΨaとしたとき、状態ベクトルx(t)を下記式(A)によって定義し、前記モータの状態空間モデルを下記式(B)および下記式(C)によって定義し、下記式(B)および式(C)におけるAc,Bc,cを下記式(D)によって夫々表した場合に、
【数16】
【数17】
【数18】
【数19】
【数20】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ駆動制御装置及びモータ駆動制御方法に関する。
【背景技術】
【0002】
一般に、ブラシレスDCモータとしての永久磁石同期モータ(PMSM:Permanent Magnet Synchronous Motor)は、回転子の表面に永久磁石を張り付けた表面磁石型同期モータ(SPMSM:Surface Permanent Magnet Synchronous Motor)と回転子の内部に永久磁石を埋め込んだ埋め込み磁石型同期モータ(IPMSM:Interior Permanent Magnet Synchronous Motor)とに大別される。
【0003】
また、永久磁石型同期モータ(PMSM)の制御方法として、ホール素子等のセンサを用いることなく、モータの回転子(ロータ)の回転角度や回転速度を推定してモータの駆動を制御するセンサレスベクトル制御法が知られている。
【0004】
代表的なセンサレスベクトル制御法として、モータのコイルに流れる電流を検出し、コイルの誘起電圧に基づいてロータの回転位置を推定する技術(例えば、特許文献1参照)や、モータの突極性に基づくインダクタンスの位置の依存性を利用して、高周波の電圧・電流の関係からロータの回転位置を推定する技術(例えば、特許文献2参照)が知られている。
【0005】
しかしながら、モータのコイルに発生する誘起電圧を利用してロータの回転位置を推定する手法は、誘起電圧がロータの回転速度に依存するため、ロータが停止しているときにはロータの回転位置を推定することができない。また、ロータが比較的低速で回転している状態では、ロータの回転位置を精度よく推定することができない。
【0006】
また、モータの突極性に基づいてロータの回転位置を推定する手法は、表面磁石型同期モータ(SPMSM)のように、突極性がなく、d軸インダクタンスLdとq軸インダクタンスLqとが等しい(Ld=Lq)モータの場合、ロータの回転位置を推定することはできない。
【0007】
上述したセンサレスベクトル制御法の課題を解決するための一つの手法として、拡張カルマンフィルタを用いたセンサレスベクトル制御法が知られている(例えば、特許文献3参照)。拡張カルマンフィルタを用いたセンサレスベクトル制御法によれば、モータの突極性の有無によらず、ロータが停止しているときでもロータの回転位置を推定することが可能となる。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2001-251889号公報
【文献】特開2020-61917号公報
【文献】特開2005-51971号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来の拡張カルマンフィルタを用いたセンサレスベクトル制御法では、拡張カルマンフィルタにおける予測ステップを線形且つ時不変で表せていないため、カルマンゲインを逐次計算する必要がある。そのため、複雑な演算が必要となり、演算負荷が大きくなる。そのため、従来の拡張カルマンフィルタを用いたセンサレスベクトル制御法を採用したモータ駆動制御装置は、複雑な演算を高速で実行できる処理能力の高いプログラム処理装置(例えば、マイクロコントローラ)が必要になり、コストアップの一因となっている。
【0010】
本発明は、上述した課題を解消するためのものであり、センサレスベクトル制御における演算の負荷を低減することを目的とする。
【課題を解決するための手段】
【0011】
本発明の代表的な実施の形態に係るモータ駆動制御装置は、モータを駆動させるための駆動制御信号に基づいて前記モータを駆動する駆動回路と、前記モータのコイルの駆動電流の検出結果に基づくベクトル制御演算を行うことにより、前記駆動制御信号を生成して前記駆動回路に供給する制御回路と、を備え、前記制御回路は、前記駆動制御信号を生成するとき、予測ステップと更新ステップを含む線形カルマンフィルタによって、前記駆動電流の検出結果に基づいて算出した2相の回転座標系のq軸電流値と、前記2相の回転座標系のq軸電圧の指令値とに基づいて、前記モータのロータの回転角度および前記ロータの回転速度を推定し、前記線形カルマンフィルタは、前記予測ステップが線形且つ時不変で表される定常カルマンフィルタであることを特徴とする。
【発明の効果】
【0012】
本発明の一態様によれば、センサレスベクトル制御における演算の負荷を低減することが可能となる。
【図面の簡単な説明】
【0013】
【
図1】本実施の形態に係るモータ駆動制御装置を備えたモータユニットの構成を示す図である。
【
図2】本実施の形態に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。
【
図3】推定部における演算処理の一例を示すブロック線図である。
【
図4】本実施の形態に係るモータ駆動制御装置による駆動制御信号の生成処理の流れの一例を示すフローチャートである。
【
図5】本実施の形態に係るモータ駆動制御装置による駆動制御信号の生成処理の流れの一例を示すタイミングチャートである。
【
図6】本発明の別の実施の形態に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。
【発明を実施するための形態】
【0014】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
【0015】
〔1〕本発明の代表的な実施の形態に係るモータ駆動制御装置(10)は、モータ(3)を駆動させるための駆動制御信号(Sd)に基づいて前記モータを駆動する駆動回路(2)と、前記モータのコイル(Lu,Lv,Lw)の駆動電流(Iu,Iv,Iw)の検出結果に基づくベクトル制御演算を行うことにより、前記駆動制御信号を生成して前記駆動回路に供給する制御回路(1)と、を備え、前記制御回路は、前記駆動制御信号を生成するとき、予測ステップと更新ステップを含む線形カルマンフィルタによって、前記駆動電流の検出結果に基づいて算出した2相の回転座標系のq軸電流値(Iq)と、前記2相の回転座標系のq軸電圧の指令値(Vqref)とに基づいて、前記モータのロータの回転角度(θ)および前記ロータの回転速度(ω)を推定し、前記線形カルマンフィルタは、前記予測ステップが線形且つ時不変で表される定常カルマンフィルタであることを特徴とする。
【0016】
〔2〕上記〔1〕に記載のモータ駆動制御装置において、前記制御回路は、前記モータの前記コイルの駆動電流値(Iu,Iv,Iw)を取得する駆動電流値取得部(13)と、前記回転角度(θ)と前記回転速度(ω)を推定する推定部(14)と、前記駆動電流値取得部によって取得した前記駆動電流値と、前記推定部によって推定した前記回転角度とに基づいて、クラーク変換およびパーク変換を行うこことにより、前記2相の回転座標系のq軸電流値(Iq)およびd軸電流値(Id)を算出する第1座標変換部(15)と、前記モータの動作の目標状態を指示する値(ωref,Tref)に基づいて、前記2相の回転座標系のq軸電流の指令値(Iqref)を算出するq軸電流指令値算出部(17)と、前記q軸電流指令値算出部によって算出した前記q軸電流の指令値(Iqref)と前記第1座標変換部によって算出した前記q軸電流値に基づく値との差が小さくなるように、前記2相の回転座標系のq軸電圧の指令値(Vqref)を算出するq軸電圧指令値算出部(19)と、を有し、前記推定部は、前記第1座標変換部によって算出した前記q軸電流値と、前記q軸電圧指令値算出部によって算出した前記q軸電圧の指令値とを入力とし、前記回転角度の推定値と前記回転速度の推定値とを出力とする前記線形カルマンフィルタに基づく演算を行ってもよい。
【0017】
〔3〕上記〔1〕または〔2〕に記載のモータ駆動制御装置において、前記モータは、d軸電流値がゼロ(Id=0)、且つ前記回転速度が一定(dω/dt=0)とした場合の前記モータのq軸電圧(Vq)の方程式から導かれる状態空間モデルで表され、少なくとも前記q軸電流値(Iq)、前記回転角度(θ)、および前記回転速度(ωe)を状態変数としてもよい。
【0018】
〔4〕上記〔3〕に記載のモータ駆動制御装置において、前記q軸電流値をIq(t),前記回転速度としての電気角速度をωe(t)、前記回転角度をθ(t)、前記q軸電圧の指令値をVqrefとしたとき、前記状態変数を含む状態ベクトルx(t)は、後述する式(6)によって表され、前記状態空間モデルは、後述する式(8)および(9)によって表され、前記コイルの抵抗をRa、q軸インダクタンスをLq、d軸方向の磁石の磁束をΨaとしたとき、後述する式(8)および式(9)におけるAc,Bc,cは、後述する式(10)によって夫々表されてもよい。
【0019】
【0020】
〔6〕上記〔5〕に記載のモータ駆動制御装置において、前記制御回路は、前記式(18)および前記式(19)を含む演算式情報(241)と、少なくともAd、Bd、およびgの値を含む係数情報(242)とを記憶する記憶部(24)を有し、前記制御回路は、前記記憶部に記憶された前記演算式情報と前記係数情報を用いて、前記回転角度の推定値と前記回転速度の推定値を算出してもよい。
【0021】
〔7〕上記〔1〕乃至〔6〕の何れかに記載のモータ駆動制御装置において、前記制御回路(1)は、前記ロータの初期位置を特定した後に、前記回転角度および前記回転速度を推定してもよい。
【0022】
〔8〕上記〔1〕乃至〔7〕の何れかに記載のモータ駆動制御装置において、前記モータの動作の目標状態を指示する値は、前記モータの回転速度の目標値(ωref)であってもよい。
【0023】
〔9〕上記〔1〕乃至〔7〕の何れかに記載のモータ駆動制御装置において、前記モータの動作の目標状態を指示する値は、前記モータのトルクの目標値(Tref)であってもよい。
【0024】
〔10〕本発明の代表的な実施の形態に係るモータ駆動制御方法は、モータ(3)のコイル(Lu,Lv,Lw)の駆動電流値(Iu,Iv,Iw)を取得する第1ステップ(S5)と、前記第1ステップで取得した前記駆動電流値に基づくベクトル制御演算を行うことにより、前記モータを駆動させるための駆動制御信号(Sd)を生成する第2ステップ(S6~S12)と、を含み、前記第2ステップは、線形カルマンフィルタによって、前記駆動電流値に基づいて算出した2相の回転座標系のq軸電流値と、前記2相の回転座標系のq軸電圧の指令値とに基づいて、前記モータのロータの回転角度および前記ロータの回転速度を推定するステップ(S10)を含み、前記線形カルマンフィルタは、予測ステップが線形且つ時不変で表される定常カルマンフィルタであることを特徴とする。
【0025】
2.実施の形態の具体例
以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
【0026】
図1は、本実施の形態に係るモータ駆動制御装置10を備えたモータユニット100の構成を示す図である。
【0027】
図1に示すように、モータユニット100は、モータ3と、モータ3の回転を制御するモータ駆動制御装置10と、を備えている。モータユニット100は、例えばファン等の、モータを駆動源として用いる種々の機器に適用することができる。
【0028】
モータ3は、例えば、永久磁石同期モータ(PMSM:Permanent Magnet Synchronous Motor)である。本実施の形態において、モータ3は、例えば、3相のコイルLu,Lv,Lwを有する表面磁石型同期モータ(SPMSM)である。コイルLu,Lv,Lwは、例えば、互いにY結線されている。
【0029】
モータ駆動制御装置10は、例えば、モータ3に正弦波駆動信号を与えることにより、モータ3の3相のコイルLu,Lv,Lwに周期的に正弦波状の駆動電流を流してモータ3のロータを回転させる。モータ駆動制御装置10は、モータ3の回転位置を検出するためのホール素子等の回転位置検出装置を用いることなく、位置センサレス方式により、モータ3の回転角度および回転速度を推定してモータ3の駆動を制御するセンサレスベクトル制御を行う。
【0030】
モータ駆動制御装置10は、制御回路1と駆動回路2とを有している。
なお、
図1に示されているモータ駆動制御装置10の構成要素は、全体の一部であり、モータ駆動制御装置10は、
図1に示されたものに加えて、他の構成要素を有していてもよい。
【0031】
駆動回路2は、後述する制御回路1から出力された駆動制御信号Sdに基づいてモータ3を駆動する。駆動回路2は、インバータ回路2a、プリドライブ回路2b、および電流検出回路2cを有する。
【0032】
インバータ回路2aは、直流電源Vccとグラウンド電位との間に配置され、入力された駆動制御信号Sdに基づいて、負荷としてのモータ3のコイルLu,Lv,Lwを駆動する回路である。具体的には、本実施の形態では、インバータ回路2aは、直列に接続された2つの駆動用トランジスタを含むスイッチングレグを3つ有し、入力された駆動制御信号Sdに基づいて、2つの駆動用トランジスタが交互にオン・オフ動作(スイッチング動作)を行うことにより、負荷としてのモータ3を駆動する。
【0033】
より具体的には、インバータ回路2aは、モータ3のU相、V相、およびW相にそれぞれ対応するスイッチングレグを有する。
図1に示すように、各相に対応するスイッチングレグは、直流電源Vccとグラウンド電位との間に電流検出回路2cを介して直列に接続された2つの駆動用トランジスタQ1とQ2,Q3とQ4,Q5とQ6を有している。
【0034】
ここで、駆動用トランジスタQ1,Q3,Q5は、例えば、Pチャネル型のMOSFETであり、駆動用トランジスタQ2,Q4,Q6は、例えば、Nチャネル型のMOSFETである。なお、駆動用トランジスタQ1~Q6は、IGBT(Insulated Gate Bipolar Transistor)等の他の種類のパワートランジスタであってもよい。
【0035】
例えば、U相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ1,Q2を有する。駆動用トランジスタQ1と駆動用トランジスタQ2とが共通に接続される点は、負荷としてのコイルLuの一端に接続されている。V相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ3,Q4を有する。駆動用トランジスタQ3と駆動用トランジスタQ4とが共通に接続される点は、負荷としてのコイルLvの一端に接続されている。W相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ5,Q6を有する。駆動用トランジスタQ5と駆動用トランジスタQ6とが共通に接続される点は、負荷としてのコイルLwの一端に接続されている。
【0036】
プリドライブ回路2bは、制御回路1から出力された駆動制御信号Sdに基づいて、インバータ回路2aを駆動するための駆動信号を生成する。
【0037】
駆動制御信号Sdは、モータ3の駆動を制御するための信号であり、例えばPWM(Pulse Width Modulation)信号である。具体的には、駆動制御信号Sdは、インバータ回路2aを構成する各スイッチ素子のオン/オフの状態によって定まるモータ3のコイルLu,Lv,Lwの通電パターンを切り替えるための信号である。より具体的には、駆動制御信号Sdは、インバータ回路2aの各駆動用トランジスタQ1~Q6に対応する6種類のPWM信号を含む。
【0038】
プリドライブ回路2bは、制御回路1から供給された駆動制御信号Sdとしての6種類のPWM信号に基づいて、インバータ回路2aの各駆動用トランジスタQ1~Q6の制御電極(ゲート電極)を駆動するのに十分な電力を供給可能な6種類の駆動信号Vuu,Vul,Vvu,Vvl,Vwu,Vwlを生成する。
【0039】
これらの駆動信号Vuu,Vul,Vvu,Vvl,Vwu,Vwlがインバータ回路2aの各駆動用トランジスタQ1~Q6の制御電極(ゲート電極)に入力されることにより、各駆動用トランジスタQ1~Q6がオン・オフ動作(スイッチング動作)を行う。例えば、各相に対応するスイッチングレグの上側アームの駆動用トランジスタQ1,Q3,Q5と下側アームの駆動用トランジスタQ2,Q4,Q6は、交互にオン・オフ動作を行う。これにより、モータ3の各相に直流電源Vccから電力が供給され、モータ3が回転する。
【0040】
電流検出回路2cは、モータ3のコイルLu,Lv,Lwの駆動電流を検出するための回路である。電流検出回路2cは、例えば、電流検出素子としての抵抗(シャント抵抗)を含む。抵抗は、例えば、直流電源Vccとグラウンド電位との間にインバータ回路2aと直列に接続されている。本実施の形態において、電流検出回路2cとしての抵抗は、例えば、インバータ回路2aの負側(グラウンド側)に接続されている。電流検出回路2cは、モータ3のコイルLu,Lv,Lwに流れる電流を上記抵抗によって電圧に変換し、その電圧を電流検出信号Vmとして制御回路1に入力する。
【0041】
制御回路1は、外部(例えば上位装置)からモータ3の動作の目標状態を指示する駆動指令信号Scが入力されると、センサベクトル制御により、モータ3が駆動指令信号Scによって指定された動作状態となるように駆動制御信号Sdを生成して、駆動回路2を介してモータ3を駆動する。
【0042】
本実施の形態において、制御回路1は、例えば、CPU等のプロセッサと、RAM,ROM等の各種記憶装置と、カウンタ(タイマ)、A/D変換回路、D/A変換回路、クロック発生回路、および入出力I/F回路等の周辺回路とが、バスや専用線を介して互いに接続された構成を有するプログラム処理装置(例えばマイクロコントローラ)である。
【0043】
なお、モータ駆動制御装置10は、制御回路1の少なくとも一部と駆動回路2の少なくとも一部とが一つの集積回路装置(IC)としてパッケージ化された構成であってもよいし、制御回路1と駆動回路2がそれぞれ個別の集積回路装置として夫々パッケージ化された構成であってもよい。
【0044】
制御回路1は、センサレスベクトル制御において、カルマンフィルタを用いた演算により、モータ3の回転角度および回転速度を推定し、それらの推定値に基づいて駆動制御信号Sdを生成する。以下、制御回路1によるカルマンフィルタを用いたセンサベクトル制御について詳細に説明する。
【0045】
図2は、本実施の形態に係るモータ駆動制御装置10における制御回路1の機能ブロック構成を示す図である。
【0046】
図2に示すように、制御回路1は、カルマンフィルタを用いたセンサベクトル制御を実現するための機能ブロックとして、駆動指令取得部11、駆動電流値取得部13、座標変換部(第1座標変換部の一例)15、推定部14、誤差算出部16,18,20、q軸電流指令値算出部17、q軸電圧指令値算出部19、d軸電圧指令値算出部21、座標変換部(第2座標変換部の一例)22、駆動制御信号生成部23、および記憶部24を有する。
【0047】
これらの機能ブロックは、例えば、制御回路1としてのプログラム処理装置において、プロセッサが、メモリに記憶されたプログラムに従って各種演算処理を実行するとともに、カウンタやA/D変換回路等の周辺回路を制御することによって実現される。
【0048】
駆動指令取得部11は、外部から駆動指令信号Scを受信し、受信した駆動指令信号Scを解析することにより、駆動指令信号Scで指定されたモータ3の目標となる動作状態を指定する値を取得する。
【0049】
駆動指令信号Scは、モータ3の動作の目標状態を指示する値を含む。駆動指令信号Scは、例えば、モータ駆動制御装置10の外部に設けられた、モータユニット100を制御するための上位装置から出力される信号である。
【0050】
本実施の形態において、駆動指令信号Scは、例えば、モータ3のロータの回転速度を指定する速度指令信号Sc1である。駆動指令信号Scは、モータ3のロータの目標となる回転速度(目標回転速度)の値ωrefを含んでいる。以下、本実施の形態では、駆動指令信号Scが速度指令信号Sc1であるとして説明する。
【0051】
速度指令信号Sc1は、例えば、指定する目標回転速度ωrefに応じたデューティ比を有するPWM信号である。駆動指令取得部11は、例えば、速度指令信号Sc1としてのPWM信号のデューティ比を計測し、計測したデューティ比に応じた回転速度を目標回転速度ωrefとして出力する。
【0052】
駆動電流値取得部13は、モータ3のコイルLu,Lv,Lwの駆動電流値Iu,Iv,Iwの計測値を取得する機能部である。駆動電流値取得部13は、例えば、電流検出回路2cから出力された電流検出信号Vmに基づいて、U相のコイルLuに流れる電流の計測値(駆動電流値Iu)、V相のコイルLvに流れる電流の計測値(駆動電流値Iv)、およびW相のコイルLwに流れる電流の計測値(駆動電流値Iw)をそれぞれ算出する。
【0053】
座標変換部(第1座標変換部の一例)15は、駆動電流値取得部13によって取得した各相の駆動電流値(相電流)Iu,Iv,Iwと、後述する推定部14によって推定したロータの回転角度θとに基づいて、2相(d,q)の回転座標系のd軸電流値Idおよびq軸電流値Iqを算出する機能部である。
【0054】
具体的に、座標変換部15は、クラーク変換部151およびパーク変換部152を有する。クラーク変換部151は、駆動電流値取得部13によって取得した3相(U,V,W)の固定座標系の駆動電流値Iu,Iv,Iwをクラーク変換することにより、2相(α,β)の固定座標系(直交座標)系の電流Iα,Iβを算出する。パーク変換部152は、推定部14によって推定した回転角度θ(sinθおよびcosθ)を用いて2相の固定座標系の電流Iα,Iβをパーク変換することにより、2相(d,q)の回転座標系(d,q)のd軸電流値Idおよびq軸電流値Iqを算出する。
【0055】
推定部14は、モータ3のロータの回転角度(回転位置)θとロータの回転速度ωを推定する機能部である。記憶部24は、推定部14による演算に必要な各種データを記憶するための機能部である。推定部14および記憶部24の詳細については後述する。
【0056】
誤差算出部16は、駆動指令取得部11から出力された目標回転速度ωrefと推定部14によって推定したモータ3の実際の回転速度ωとの差(ωref‐ω)を算出する機能部である。
【0057】
q軸電流指令値算出部17は、誤差算出部16によって算出した、モータ3の目標回転速度ωrefと回転速度ωとの差が小さくなるように、q軸電流の指令値Iqrefを算出する機能部である。q軸電流指令値算出部17は、例えば、PI制御演算により、誤差算出部16によって算出した誤差(ωref‐ω)をゼロにするq軸電流指令値Iqrefを算出する。
【0058】
誤差算出部18は、q軸電流指令値算出部17によって算出したq軸電流指令値Iqrefと座標変換部15によって算出したq軸電流値Iqに基づく値との差(Iqref‐Iq)を算出する機能部である。
【0059】
ここで、座標変換部15によって算出したq軸電流値Iqに基づく値とは、座標変換部15から出力されるq軸電流値Iqであってもよいし、推定部14によって算出されるq軸電流値Iqの推定値であってもよい。例えば、誤差算出部18は、座標変換部15からq軸電流値Iqを取得してもよいし、推定部14によって算出されるq軸電流値Iqの推定値を取得してもよい。
【0060】
q軸電圧指令値算出部19は、誤差算出部18によって算出した、q軸電流指令値Iqrefと座標変換部15によって算出したq軸電流値Iqに基づく値との差が小さくなるように、q軸電圧の指令値Vqrefを算出する機能部である。q軸電圧指令値算出部19は、例えば、PI制御演算により、誤差算出部18によって算出した誤差(Iqref‐Iq)をゼロにするq軸電圧の指令値Vqrefを算出する。
【0061】
誤差算出部20は、d軸電流指令値Idrefと座標変換部15によって算出したd軸電流値Idとの差(Idref‐Id)を算出する機能部である。本実施の形態では、モータ3が表面磁石型同期モータ(SPMSM)である場合を想定しているため、Idref=0とする。
【0062】
d軸電圧指令値算出部21は、誤差算出部20によって算出した、d軸電流指令値Idrefとd軸電流値Idとの差が小さくなるように、d軸電圧の指令値Vdrefを算出する機能部である。d軸電圧指令値算出部21は、例えば、PI制御演算により、誤差算出部20によって算出した誤差(Idref‐Id)をゼロにするd軸電圧の指令値Vdrefを算出する。
【0063】
座標変換部(第2座標変換部の一例)22は、q軸電圧指令値算出部19によって算出したq軸電圧の指令値Vqrefとd軸電圧指令値算出部21によって算出したd軸電圧の指令値Vdrefを、2相(α,β)の固定座標系の電圧指令値Vα,Vβに変換するための機能部である。具体的に、座標変換部22は、d軸電圧の指令値Vdrefおよびq軸電圧の指令値Vqrefに対して逆パーク変換を行うことにより、電圧指令値Vα,Vβを算出する。
【0064】
駆動制御信号生成部23は、座標変換部22によって算出された2相(α,β)の固定座標系の電圧指令値Vα,Vβに基づいて、駆動制御信号Sdを生成する機能部である。駆動制御信号生成部23は、例えば、公知の空間ベクトル変換の演算手法により、電圧指令値Vα,Vβを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして駆動回路2に出力する。なお、駆動制御信号生成部23は、空間ベクトル変換に限られず、三角波比較方式等の他の手法によって駆動制御信号Sdを生成してもよい。
【0065】
ここで、制御回路1によるモータ3のロータの回転角度θと回転速度ωの推定手法について説明する。
【0066】
制御回路1は、駆動制御信号Sdを生成するとき、モータ3の駆動電流の検出結果に基づいて算出した2相(d,q)の回転座標系のq軸電流値Iqと、2相の回転座標系のq軸電圧の指令値Vqrefとを入力値とする線形カルマンフィルタを用いて、モータ3の回転角度θおよび回転速度ω(電気角速度ωe)を推定する。
【0067】
具体的には、推定部14が、座標変換部15によって算出したq軸電流値Iqと、q軸電圧指令値算出部19によって算出したq軸電圧の指令値Vqrefとを入力とし、ロータの回転角度θの推定値とロータの回転速度ωの推定値とを出力とする線形カルマンフィルタに基づく演算を行う。
【0068】
本実施の形態における線形カルマンフィルタは、予測ステップと更新ステップを含み、予測ステップが、線形且つ時不変で表される定常カルマンフィルタである。
【0069】
以下、本実施の形態に係る線形カルマンフィルタについて説明する。
【0070】
先ず、一般的なカルマンフィルタについて説明する。
カルマンフィルタは、状態空間モデルにおいて、内部の見えない「状態」を効率的に推定するための計算手法である。推定すべき状態変数の正規性を仮定し、その平均値(推定値)と分散(共分散行列)を逐次的に推定する。カルマンフィルタは、一つ前の状態の推定値から現在の状態を予測する予測ステップと、予測ステップで予測した状態を現在の観測値を用いて修正する更新ステップ(フィルタリングステップ)とから構成される。
【0071】
ここで、予測ステップは、下記式(1)によって表され、更新ステップは、下記式(2)によってそれぞれ表される。
【0072】
【0073】
【0074】
式(1)および式(2)において、uは入力を表し、G,gはゲインを表している。
【0075】
ここで、予測ステップが線形で表せるとき、すなわち、予測ステップが下記式(3)で表されるとき、そのカルマンフィルタは線形カルマンフィルタとなる。
【0076】
【0077】
更に、予測ステップを表す上記式(3)における係数A,Bが時不変である場合、その線形カルマンフィルタは、定常カルマンフィルタとなる。この場合、共分散行列が一定値となり、且つ、カルマンゲインも一定値となる。すなわち、カルマンフィルタが線形且つ時不変の場合、共分散行列とカルマンゲインの値は、予測ステップおよび予測ステップの演算ステップ毎に変化せず、一定となる。
【0078】
従来のモータのセンサレスベクトル制御に用いられていた拡張カルマンフィルタは、予測ステップが線形・時不変で表されていないため、予測ステップおよび予測ステップの演算を行う毎に、共分散行列とカルマンゲインを算出する必要があった。
【0079】
これに対し、本実施の形態に係るモータ駆動制御装置10によるセンサレスベクトル制御では、予測ステップを線形且つ時不変で表した定常カルマンフィルタ(線形カルマンフィルタ)を用いることにより、共分散行列とカルマンゲインの値が固定値となるので、予測ステップおよび予測ステップの演算を行う毎にこれらの値を算出する必要がなく、事前に算出しておくことが可能となる。
【0080】
次に、本実施の形態に係るセンサレスベクトル制御で用いる線形カルマンフィルタについて説明する。
【0081】
一般に、2相(d,q)の回転座標系における永久磁石同期モータ(PMSM)の電圧方程式は、下記式(4)によって表される。
【0082】
【0083】
上記式(4)において、Vdはd軸電圧、Vqはq軸電圧、Raはモータのコイルの巻線抵抗、Ldはd軸インダクタンス、Lqはq軸インダクタンス、ωeは電気角速度、Ψaはロータの磁石のd軸方向の磁束、sは微分演算子である。
上記式(4)より、q軸電圧Vqの方程式は、下記式(5)で表すことができる。
【0084】
【0085】
ここで、q軸電流値Iq、回転角度θ、および電気角速度ωeを状態変数とし、状態ベクトルを下記式(6)で定義する。
【0086】
【0087】
更に、式(7)に示すように、d軸電流値Idがゼロ、且つ回転速度(電気角速度ωe)が一定であると定義する。
【0088】
【0089】
このとき、上記式(5),式(6),および式(7)より、本実施の形態に係るモータ3の状態空間モデルは、下記式(8)および式(9)で表される。
【0090】
【0091】
【0092】
ただし、Ac,Bc,cは、それぞれ下記式(10)によって定義される。
【0093】
【0094】
このように、d軸電流値Idがゼロ、且つ回転速度(電気角速度ωe)が一定と定義することによって、モータ3の状態空間モデルは、上記式(8)乃至(10)に示す線形・時不変で表すことができる。
【0095】
次に、上述した線形カルマンフィルタを用いた、モータ3の回転角度θおよび回転速度ω(電気角速度ωe)の推定方法について説明する。
【0096】
【0097】
【0098】
【0099】
【0100】
【0101】
【0102】
【0103】
ここで、Qは3×3行列のチューニングパラメータ、Rはスカラーのチューニングパラメータである。また、Ad,Bdは、Ac,Bcおよび制御周期(サンプル周期)Tsを用いて下記式(16)および式(17)で表すことができる。
【0104】
【0105】
【0106】
Ad,Bdは、上記式(16)および(17)において、所望の次数まで考慮した近似式で表すことにより、固定値として予め算出することができる。
【0107】
上述したように、モータ3の状態空間モデルは、上記式(8)乃至(10)に示す線形時不変で表すことができる。
【0108】
【0109】
【0110】
【0111】
【0112】
【0113】
ここで、gはカルマンゲインであり、上記式(10)、式(12)、式(13)、式(15)、および式(16)を用いて事前に算出した値である。
【0114】
推定部14は、上記式(18)および式(19)に基づく演算を実行することにより、モータ3のロータの回転角度θおよび回転速度ωを算出する。推定部14が実行する演算は、
図3に示すブロック線図によって表すことができる。
【0115】
【0116】
例えば、制御回路1の記憶部24に、演算式情報241と係数情報242とを予め記憶しておく。演算式情報241は、上述した式(18)および式(19)で示される関数の情報である。係数情報242は、上記式(18)および式(19)による演算で用いる係数(固定値)の情報であり、例えば、Ad,Bd、カルマンゲインg等の値である。上述したようにAd,Bd、カルマンゲインg等は事前に算出しておくことができるので、固定値として記憶部24に記憶させておく。
【0117】
【0118】
なお、上記線形カルマンフィルタによって算出されるモータ3のロータの回転速度は電気角速度ωeである。したがって、推定部14は、算出した電気角速度ωeを機械的な回転速度(角速度)ωに変換して誤差算出部16に供給してもよいし、算出した電気角速度ωeをそのまま出力し、駆動指令取得部11が目標回転速度ωrefを電気角速度に変換して誤差算出部16に供給してもよい。
【0119】
以上のように、推定部14を上述の線形カルマンフィルタ(
図3参照)によって実現することにより、従来の拡張カルマンフィルタにおいて行われる推定誤差共分散行列およびカルマンゲインを算出するための演算を省略することができるので、推定部14の演算負荷を抑えることが可能となる。
【0120】
推定部14が上述の演算手法によって算出した回転角度θおよび回転速度ωの推定値は、座標変換部15,22や誤差算出部16に供給されることにより、制御回路1は、適切なセンサレスベクトル制御演算を実行して駆動制御信号Sdを生成することができる。
【0121】
次に、本実施の形態に係るモータ駆動制御装置10による駆動制御信号Sdの生成処理の流れについて説明する。
【0122】
図4は、本実施の形態に係るモータ駆動制御装置10による駆動制御信号Sdの生成処理の流れの一例を示すフローチャートである。
【0123】
一般に、カルマンフィルタによる演算を開始するためには、状態変数(Iq,ωe,θ)の初期値が必要である。例えば、モータ3が停止している状態から回転させる場合、状態変数としてのq軸電流値Iqおよびモータ3の回転速度(電気角速度ωe)の初期値はともにゼロである。その一方で、モータ3の回転角度θは不明であることが多い。
【0124】
そこで、本実施の形態に係るモータ駆動制御装置10は、線形カルマンフィルタによる演算を実行する前に、モータ3のロータの予め設定された初期位置を特定する。例えば、モータ駆動制御装置10は、モータ3の回転角度θが特定できる位置までロータを回転させる。例えば、モータユニット100が起動したとき、制御回路1は、先ず、モータ3のロータを予め設定された初期位置θ0(例えば、0°)まで回転移動させてロックする(ステップS1)。より具体的には、制御回路1は、起動後、所定の大きさの電圧指令値Vα,Vβに応じた駆動制御信号Sdを生成して駆動回路2を制御する。これにより、モータ3のステータが励磁され、ロータが初期位置θ0で固定される。
【0125】
なお、モータ3のロータの予め設定された初期位置を特定する方法としては、上述したロータを回転させる方法に限られず、例えば、モータ3に高周波電圧を印加したときの応答を検出する方法等、種々の方法を採用することができる。
【0126】
次に、制御回路1は、推定部14による線形カルマンフィルタの状態変数の初期値x(0)を設定する(ステップS2)。例えば、推定部14は、状態変数(Iq,ωe,θ)の初期値x(0)を(0,0,0)に設定する。
【0127】
なお、ロータの初期位置θ0は、回転角度=0°の位置である必要はなく、予め回転角度の値が決まった回転位置であればよい。また、起動時などの速度変化時は、dωe/dt=0という前提条件が成立しないが、チューニングパラメータである行列Qを最適に設定することで対応可能である。
【0128】
次に、例えば上位装置から速度指令信号Sc1が入力された場合、制御回路1は、速度指令信号Sc1を解析することにより、速度指令信号Sc1によって指定されたモータ3の目標回転速度ωrefの情報を取得する(ステップS3)。
【0129】
制御回路1は、モータ3を目標回転速度ωrefで回転させるための駆動制御信号Sdの生成処理を開始する(ステップS4)。
先ず、制御回路1は、モータ3の各相のコイルLu,Lv,Lwの駆動電流値Iu,Iv,Iwを取得する(ステップS5)。具体的には、上述したように、駆動電流値取得部13が電流検出回路2cから出力された電流検出信号Vmに基づいて、各相のコイルの駆動電流値Iu,Iv,Iwを算出する。
【0130】
次に、制御回路1は、ステップS4で取得した各相のコイルの駆動電流値Iu,Iv,Iwと、推定部14から出力されたロータの回転角度θの推定値とに基づいて、2相(d,q)の回転座標系のq軸電流値Iqおよびd軸電流値Idを算出する(ステップS6)。具体的には、上述したように、座標変換部15が、3相(U,V,W)の固定座標系の駆動電流値Iu,Iv,Iwに対して、クラーク変換およびパーク変換を行うことにより、2相(d,q)の回転座標系のq軸電流値Iqおよびd軸電流値Idを夫々算出する。 なお、起動直後の最初の演算ステップでは、推定部14から回転角度θの初期値(例えば0°)が座標変換部15に与えられる。
【0131】
次に、制御回路1は、モータ3の目標回転速度ωrefと推定部14から出力されたロータの回転速度ωの推定値との差が小さくなるように、q軸電流の指令値Iqrefを算出する(ステップS7)。具体的には、上述したように、誤差算出部16によって目標回転速度ωrefとモータ3の実際の回転速度ωの推定値との差を算出し、q軸電流指令値算出部17が誤差算出部16によって算出した差がゼロになるようにPI制御演算を行うことにより、q軸電流の指令値Iqrefを算出する。なお、起動直後の最初の演算ステップでは、推定部14から回転速度ω(ωe)の初期値(例えば、ゼロ)が誤差算出部16に与えられる。
【0132】
次に、制御回路1は、ステップS7で算出したq軸電流の指令値IqrefとステップS6で算出したq軸電流値Iqとの差が小さくなるように、q軸電圧の指令値Vqrefを算出する(ステップS8)。具体的には、上述したように、誤差算出部18が、q軸電流の指令値Iqrefとモータ3の実際のq軸電流値Iqとの差を算出し、q軸電圧指令値算出部19が、誤差算出部18によって算出した差がゼロになるようにPI制御演算を行うことにより、q軸電圧の指令値Vqrefを算出する。
【0133】
また、制御回路1は、d軸電流の指令値IdrefとステップS6で算出したd軸電流値Idとの差が小さくなるように、d軸電圧の指令値Vdrefを算出する(ステップS9)。具体的には、上述したように、誤差算出部20が、d軸電流の指令値Idref(=0)とモータ3の実際のd軸電流値Idとの差を算出し、d軸電圧指令値算出部21が、誤差算出部20によって算出した差がゼロになるようにPI制御演算を行うことにより、d軸電圧の指令値Vdrefを算出する。
【0134】
次に、制御回路1は、モータ3の回転角度θおよび回転速度ωの推定値を更新する(ステップS10)。具体的には、上述したように、推定部14が、記憶部24から読み出した演算式情報241(式(18),式(19))および係数情報242(カルマンゲインg等)と、座標変換部15から出力されたq軸電流値Iqと、q軸電圧指令値算出部19から出力されたq軸電圧の指令値Vqrefとに基づいて、所定のサンプル周期Tsごとに、予測ステップの演算と更新ステップ(フィルタリングステップ)の演算を逐次実行することにより、回転角度θおよび回転速度ωの推定値を更新する。
【0135】
次に、制御回路1は、q軸電圧指令値算出部19が算出したq軸電圧の指令値Vqrefとd軸電圧指令値算出部21が算出したd軸電圧の指令値Vdrefを、2相(α,β)の固定座標系の電圧指令値Vα,Vβに変換する(ステップS11)。
【0136】
具体的には、座標変換部22が、ステップS10で算出された回転角度θの推定値を用いて、ステップS9で算出したd軸電圧の指令値VdrefおよびステップS8で算出したq軸電圧の指令値Vqrefに対して逆パーク変換を行うことにより、電圧指令値Vα,Vβを算出する。
【0137】
次に、制御回路1は、ステップS8で算出したq軸電圧の指令値VqrefおよびステップS9で算出したd軸電圧の指令値Vdrefに基づいて、駆動制御信号Sdを生成する(ステップS12)。具体的には、上述したように、駆動制御信号生成部23が、公知の空間ベクトル変換の演算手法により、電圧指令値Vα,Vβによって表される固定座標系の2相(α,β)の電圧ベクトルを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして出力する。
【0138】
以上の処理手順で生成された駆動制御信号Sdは、駆動回路2に供給される。駆動回路2は、入力された駆動制御信号Sdに基づいて、上述した手法により、モータ3のコイルの通電を制御する。これにより、モータ3は、速度指令信号Sc1によって指定された目標回転速度ωrefで回転するように制御される。
【0139】
図5は、本実施の形態に係るモータ駆動制御装置10による駆動制御信号Sdの生成処理の流れの一例を示すタイミングチャートである。
【0140】
図5には、モータ3が停止している状態から所定の回転速度まで目標回転速度を線形に上昇させたときの電圧指令値ベクトル(Vα,Vβ)の大きさ(出力電圧)の変化状態が示されている。
【0141】
図5に示すように、例えば、時刻t0において、モータ3が停止している状態からモータ3を回転させるとき、制御回路1は、上述したように、所定の大きさの電圧指令値Vα,Vβに応じた駆動制御信号Sdを生成して駆動回路2を制御する。これにより、モータ3のステータが励磁され、ロータが初期位置θ0(例えば、0°)まで移動してロックされる(seq=0)。これにより、推定部14による線形カルマンフィルタにおける状態変数の初期値が設定される。
【0142】
その後、時刻t1において、速度指令信号Sc1によって目標回転速度ωrefが指定されると、推定部14が、設定された状態変数の初期値を用いて線形カルマンフィルタによる演算を開始し、所定のサンプル周期Tsごとに、予測ステップの演算と更新ステップ(フィルタリングステップ)の演算を逐次実行することにより、回転角度θおよび回転速度ωの推定値が更新される。これにより、モータ3が目標回転速度ωrefで回転するように電圧指令値Vα,Vβが更新され、適切な転流制御が行われる(seq=1)。時刻t2で所定の回転速度に達すると、その後、モータ3は定常回転を行う(seq=2)。
【0143】
本実施の形態に係る線形カルマンフィルタによる回転角度θと回転速度ωの推定値に基づく転流制御によれば、モータ3の回転速度が遅い範囲、すなわちq軸電流値Iq(観測値)が小さい範囲では、主に、予測ステップ(式(18))が支配的となる駆動制御が行われてモータ3が回転する。一方、モータ3の回転速度が速くなる、すなわちq軸電流値Iq(観測値)が増加するにつれて、更新ステップ(式(19))が支配的となる駆動制御が行われてモータ3が回転する。
【0144】
以上、本実施の形態に係るモータ駆動制御装置10は、センサレスベクトル制御において、予測ステップが線形且つ時不変で表される線形カルマンフィルタを用いて、駆動電流値Iu,Iv,Iwに基づいて算出したq軸電流値Iqとq軸電圧の指令値Vqrefとから、モータ3の回転角度θおよび回転速度ωを推定する。
【0145】
これによれば、従来の拡張カルマンフィルタを用いたセンサレスベクトル制御に比べて、制御回路1の演算負荷を低減することが可能となる。
具体的には、本実施の形態において、モータ3は、d軸電流値Idがゼロ、且つ回転速度が一定(dωe/dt=0)とした場合のモータのq軸電圧の方程式(式(5))から導かれる状態空間モデル(式(8),(9))で表され、少なくともq軸電流値Iq、回転角度θ、および回転速度ω(電気角速度ωe)を状態変数(式(6))とする。
【0146】
この線形カルマンフィルタによれば、従来の拡張カルマンフィルタと比べて、推定誤差共分散行列およびカルマンゲインを算出するための演算を省略することができるので、制御回路1による演算の負荷を削減することができる。これにより、制御回路1としてのプログラム処理装置(例えば、マイクロコントローラ)に必要な処理能力を低く抑えることが可能となり、よりコストを抑えたモータ駆動制御装置10を実現することが可能となる。
【0147】
また、本実施の形態に係る制御回路1は、予測ステップの演算のための関数(式(18))と更新ステップ(フィルタリングステップ)の演算のための関数((式(19))とを演算式情報241として記憶部24に記憶しておくとともに、予め算出しておいたカルマンゲインの値等を係数情報242として記憶部24に記憶しておく。
【0148】
これによれば、制御回路1は、所定のサンプル周期Ts毎の予測ステップおよび更新ステップにおいて、記憶部24に記憶された値を用いて、式(18)および式(19)の演算を実行すればよいので、容易に演算の負荷を減らすことが可能となる。
【0149】
また、本実施の形態に係るモータ駆動制御装置10は、モータ3の駆動を開始するとき、予め設定された初期位置までモータ3のロータを移動させてロックした後で、推定部14による回転角度θおよび回転速度ωの推定処理を開始する。
これによれば、線形カルマンフィルタによる演算に必要な状態変数(Iq,ωe,θ)の初期値を確実に設定することができ、より精度の高いモータ駆動制御を実現することが可能となる。
【0150】
≪実施の形態の拡張≫
以上、本発明者らによってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0151】
例えば、上記実施の形態では、駆動指令信号Scが、モータ3の回転速度の目標値(目標回転速度)を含む速度指令信号Sc1である場合を例示したが、これに限られない。例えば、駆動指令信号Scは、モータ3のトルクを指定するトルク指令信号Sc2であってもよい。
以下、駆動指令信号Scとしてトルク指令信号Sc2がモータ駆動制御装置に入力される場合における制御回路の別の一例について、説明する。
【0152】
図6は、本発明の別の実施の形態に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。
【0153】
同図に示される制御回路1Aは、駆動指令取得部11およびq軸電流指令値算出部17の代わりに、駆動指令取得部11Aおよびq軸電流指令値算出部17Aを有する点において、上述した実施の形態に係る制御回路1と相違し、その他の点においては、制御回路1と同様である。
【0154】
制御回路1Aには、駆動指令信号Scとして、モータ3のトルクを指定するトルク指令信号Sc2が入力される。ここで、トルク指令信号Sc2は、モータ3のトルクの目標値を示すトルク指令値Trefを含んでいる。
【0155】
駆動指令取得部11Aは、外部からトルク指令信号Sc2を受信する。駆動指令取得部11Aは、受信したトルク指令信号Sc2に含まれるトルク指令値Trefを取得して出力する。
【0156】
q軸電流指令値算出部17Aは、駆動指令取得部11Aから出力されたトルク指令値Trefに基づいて、q軸電流の指令値Iqrefを算出する。例えば、q軸電流指令値算出部17Aは、PI制御を行わず、上記式(1)においてId=0とすることによって求められる“1/(P×Ψ)”をトルク指令値Trefに乗算し、q軸電流の指令値Iqrefを算出する。
【0157】
q軸電流指令値算出部17Aによって算出されたq軸電流の指令値Iqrefは、上述した制御回路1の場合と同様に、誤差算出部18に与えられる。制御回路1Aにおける誤差算出部18以降の処理は、制御回路1と同様である。
【0158】
以上、制御回路1Aによれば、モータ3の動作の目標状態を指示する値としてトルク指令値がモータ駆動制御装置に入力される場合であっても、上述した制御回路1と同様の効果が得られる。
【0159】
また、上記実施の形態において、モータ3が表面磁石型同期モータ(SPMSM)である場合を説明したが、これに限られない。例えば、モータ3が表面磁石型同期モータ(SPMSM)でない場合(例えば、モータ3がIPMSMの場合)であっても、リラクタンストルクを利用せず、d軸電流の指令値を常にゼロとするベクトル制御を行う場合には、本実施の形態に係るモータ駆動制御装置10を用いることができる。
【0160】
また、上記実施の形態において、制御回路1は、上述した回路構成に限定されない。制御回路1は、本発明の目的にあうように構成された、様々な回路構成を適用することができる。
【0161】
上述の実施の形態のモータ駆動制御装置により駆動されるモータの相数は、3相に限られない。
【0162】
上述のフローチャートは具体例であって、このフローチャートに限定されるものではなく、例えば、各ステップ間に他の処理が挿入されていてもよいし、処理が並列化されていてもよい。
【符号の説明】
【0163】
1…制御回路、2…駆動回路、2a…インバータ回路、2b…プリドライブ回路、2c…電流検出回路、3…モータ、10…モータ駆動制御装置、11…駆動指令取得部、13…駆動電流値取得部、15…座標変換部(第1座標変換部の一例)、22…座標変換部(第2座標変換部の一例)、16,18,20…誤差算出部、17,17A…q軸電流指令値算出部、19…q軸電圧指令値算出部、21…d軸電圧指令値算出部、23…駆動制御信号生成部、24…記憶部、100…モータユニット、151…クラーク変換部、152…パーク変換部、241…演算式情報、242…係数情報、Iu,Iv,Iw…駆動電流値、Q1~Q6…駆動用トランジスタ、Sc…駆動指令信号、Sc1…速度指令信号、Sc2…トルク指令信号、Sd…駆動制御信号、θ…回転角度、ω…回転速度、ωe…電気角速度、Iα,Iβ…2相の固定座標系の電流、Id…d軸電流値、Idref…d軸電流の指令値、Iq…q軸電流値、Iqref…q軸電流の指令値、Vα,Vβ…2相の固定座標系の電圧指令値、Vd…d軸電圧、Vdref…d軸電圧の指令値、Vq…q軸電圧、Vqref…q軸電圧の指令値、Vcc…直流電源、Vuu,Vul,Vvu,Vvl,Vwu,Vwl…駆動信号、Vm…電流検出信号、ωref…目標回転速度。