【解決手段】モータ駆動装置100は、モータ400を指示トルクTqに基づいて制御するモータ駆動装置100であって、指示トルクTqを制限するための制限率Lminを算出する制限部300と、制限部300により算出された制限率Lminに基づいて指示トルクTqを制限し、制限された指示トルクTqに基づいてモータ400を駆動するための電力を出力するトルク制御部110等とを備える。制限率Lminは、複数のパラメータにより算出された複数の制限率のうち最小の制限率である。
前記制限部は、前記モータに流れる前記電流に基づいて、前記電流を検出する電流センサの異常、前記電流と目標電流との偏差の異常、又は前記電流が過電流であるか、のうち少なくとも1以上を検出する、
請求項3に記載のモータ駆動装置。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、図面の寸法比率は、説明の都合上拡張されており、実際の比率と異なる場合がある。
【0012】
<モータ駆動システム500の構成例>
図1は、本発明の一実施の形態に係るモータ駆動システム500の概略構成の一例を示している。
図1に示すように、モータ駆動システム500は、モータ駆動装置100と、モータ400と、角度センサ410とを備える。
【0013】
モータ駆動装置100は、トルク制御部110と、電流制限値設定部120と、加算器130と、制御器140と、2相/3相変換部150と、インバータ160と、3相/2相変換部170と、電流センサ180と、制限部300とを備える。なお、トルク制御部110および電流制限値設定部120等は、制御部の一例に相当する。
【0014】
図示しない車両制御コントローラは、加速走行である場合にトルク制御に切り換える。トルク制御部110には、CAN(Controller Area Network)通信または、他の通信や、ハードワイヤ(有線での通信)により車両制御コントローラから指示トルク(トルク指令値)Tqが入力される。
【0015】
トルク制御部110は、指示トルクTqに対して制限部300からの制限率Lminを乗算することにより、モータ400の回転数を制御するための目標トルクを算出し、算出した目標トルクに基づいてd軸電流指令値Idおよびq軸電流指令値Iqをそれぞれ算出する。算出されたd軸電流指令値Idおよびq軸電流指令値Iqは、電流制限値設定部120に出力される。例えば、制限部300からの制限率Lminが0%である場合、目標トルクも0Nmとなり、電流指令値も0Aに設定される。
【0016】
電流制限値設定部120は、トルク制御部110から供給されたd軸電流指令値Idおよびq軸電流指令値Iqに基づいて、上限となるd軸電流指令値Id
*およびq軸電流指令値Iq
*を設定する。d軸電流指令値Id
*およびq軸電流指令値Iq
*は加算器130に出力されると共に、制限率L5を算出する際に用いるパラメータとして制限部300に出力される。
【0017】
3相/2相変換部170は、角度センサ410からフィードバックされた角度信号θ(電気角)に基づいて、電流センサ180で検出された相電流Iu,Iv,Iwをdq変換し、d軸電流値Id
**およびq軸電流値Iq
**を算出する。変換により得られたd軸電流値Id
**およびq軸電流値Iq
**は、加算器130に出力されると共に、制限率L5を算出する際に用いるパラメータとして制限部300に出力される。
【0018】
加算器130は、電流制限値設定部120からのd軸電流指令値Id
*と3相/2相変換部170からのd軸電流値Id
**との差分を算出する。算出された差分は、制御器140に出力される。同様に、加算器130は、電流制限値設定部120からのq軸電流指令値Iq
*と3相/2相変換部170からのq軸電流値Iq
**との差分を算出する。算出された差分は、制御器140に出力される。
【0019】
制御器140は、加算器130からの各差分をゼロに収束させるように、例えばPI(比例積分)制御演算等を行うことで電圧指令値Vd,Vqを演算する。演算により得られた電圧指令値Vd,Vqは、2相/3相変換部150に出力される。
【0020】
2相/3相変換部150は、角度センサ410からフィードバックされた角度信号θ(電気角)に基づいて、2相の電圧指令値Vd,Vqをu相、v相、w相の3相電圧指令値Vu,Vv、Vwに逆dq変換する。逆dq変換された3相電圧指令値Vu,Vv、Vwは、インバータ160に出力される。
【0021】
インバータ160は、ブリッジ接続続された6個のスイッチング素子を有する。スイッチング素子としては、例えばIGBT(Insulated Gate Bipolar Transistor)等を用いることができる。インバータ160は、2相/3相変換部150からの3相電圧指令値Vu,Vv、Vwに基づくデューティの3相のPWM信号に基づいてスイッチング素子を駆動することで、3相電圧指令値Vu,Vv、Vwに相当する電圧をモータ400に印加する。本実施の形態において、各スイッチング素子には、スイッチング素子の温度T2を検出するための温度センサ(図示省略)が設置されている。また、インバータ160等が実装される基板には、基板の温度T3を検出するための温度センサ(図示省略)が設置されている。なお、上述した3相インバータ回路等の構成は公知技術であるので、詳細な説明は省略する。
【0022】
電流センサ180は、インバータ160からモータ400の各相に流れる相電流Iu,Iv,Iwを検出する。検出された3相の相電流Iu,Iv,Iwは、3相/2相変換部170に出力される。
【0023】
モータ400は、例えば、3相ブラシレスモータにより構成され、インバータ160の駆動によって回転駆動する。本実施の形態において、モータ400には、モータ400の温度T1を検出するための例えば2個の温度センサ(図示省略)が設置されている。なお、温度センサの個数は2個に限定されるものではない。
【0024】
角度センサ410は、モータ400の回転軸の角度変化に応じて角度信号θを検出する。検出された角度信号θは、2相/3相変換部150、3相/2相変換部170および回転速度算出部230等のそれぞれに出力される。なお、角度センサ410としては、例えば、レゾルバ又はMRセンサ等の公知の角度検出器を用いることができる。
【0025】
制限部300は、入力される相電流Iu,Iv,Iw、直流電流I、モータ400の温度T1等の複数のパラメータにおける各制限率に基づいて最小の制限率Lmin(出力ゲイン)を算出する。制限率Lminとは、車両の走行状況に応じて指示トルクTqを最適な状態に制限するための制限値である。例えば、制限率が100%である場合には指示トルクTqがそのまま目標トルクとされ、制限率が低くなるほど目標トルクも小さくなるように制限される。本実施の形態によれば、制限部300により算出された制限率Lminによって指示トルクに対して制限をかけるので、例えば従来におけるトルク上限値を記憶するテーブルを用いた制限では実現できない制限が必要となった際にも、最適なトルクの制限を実現することができる。
【0026】
また、モータ駆動装置100は、加算器200と、速度制御部210と、回転速度算出部230とをさらに備える。
【0027】
図示しない車両制御コントローラは、低速走行である場合、回転数制御に切り換える。加算器200には、CAN通信または、他の通信や、ハードワイヤ(有線での通信)により車両制御コントローラから指示回転数ω
*が入力される。加算器200は、入力された指示回転数ω
*と、回転速度算出部230からのモータ回転速度ωeとを加算する。速度制御部210は、加算器200からの回転数等の情報に基づいて速度制御を行う。
【0028】
<回転速度算出部230の構成例>
図2は、回転速度算出部230は、機能ブロックの一例を示している。
図2に示すように、回転速度算出部230は、変換部240と、角度センサ0度学習部250と、加算器260と、速度算出部270とを有する。
【0029】
変換部240は、角度センサ410からのアナログの角度信号θをデジタルデータに変換する。なお、変換部240としては、変換機能を有するソフトウェアを採用することもできるし、R/Dコンバータ等のデバイスを採用することもできる。角度センサ0度学習部250は、入力された学習指示に基づいてモータ400の角度から0点を算出する。加算器260では、変換部240からの角度信号θと角度センサ0度学習部250からの0点情報とに基づいて、モータ400と角度センサ410の角度のずれが補正される。速度算出部270は、モータ400の電気角θe等に基づいてモータ回転速度ωeを算出する。算出されたモータ回転速度ωeは、制限率L4を算出する際に用いるパラメータとして制限部300に出力される。
【0030】
<制限部300の構成例>
図3は、制限部300の機能ブロック図である。
図3に示すように、制限部300は、直流電流保護部310と、過電圧/低電圧保護部320と、過熱保護部330と、過回転保護部340と、相電流保護部350と、選択部390とを備える。
【0031】
直流電流保護部310は、例えばバッテリー等の電源部の直流電流Iを取得する。直流電流Iを取得する周期は、例えば1msである。直流電流保護部310は、取得された直流電流Iにおける制限率L1を制限率L1計算用の関数グラフを用いて算出する。また、直流電流保護部310は、制限率L1の算出時に、直流電流Iが異常であると判定した場合、ユーザーに対して警告・故障情報を報知する。本実施の形態において、報知手段としては、例えば、音声を用いても良いし、表示部の画面上に文字、画像等を表示する構成としても良い。
【0032】
図4は、直流電流Iの制限率L1を算出する場合に用いる関数グラフを示している。なお、
図4において、縦軸は制限率であり、横軸は直流電流である。
図4に示すように、直流電流保護部310は、直流電流Iが閾値Ith1未満の場合、直流電流Iが正常であると判定し、制限率L1を100%に設定する。直流電流保護部310は、直流電流Iが閾値(制限開始値)Ith1以上でかつ閾値Ith2(制限終了値)以下の場合、直流電流Iが異常であると判定し、制限率L1を最小のLm超でかつ100%未満の間に設定する。例えば、制限率L1は、直流電流Iの増加に伴って一定の傾きで徐々に低下するように設定される。直流電流保護部310は、直流電流IがIth2を超える場合、直流電流Iの異常レベルが特に高いと判定し、制限率L1として最小のLmを設定する。算出された制限率L1は、選択部390に出力される。
【0033】
図4に示したグラフの線形補完を計算する場合には、例えば以下の式(1)を用いることができる。直流電流保護部310は、例えば、パラメータとして入力される直流電流Iが閾値Ith1以上でかつ閾値Ith2以下である場合、下記式(1)を用いてリアルタイム演算を行い、制限率L1を取得する。なお、式(1)のプログラムおよび式(1)におけるx
0等の各係数は、図示しないメモリに予め記憶することができる。
【0034】
【数1】
x:現在の直流電流I
x
0:直流電流Iの制限を開始する値
x
1:直流電流Iの制限を終了する値
y:制限率L1
y
0:制限率L1の最小
y
1:制限率L1の最大
【0035】
図3に戻り、過電圧/低電圧保護部320は、例えばバッテリー等の電源部の電源電圧Vを取得する。電源電圧Vを取得する周期は、例えば1msである。過電圧/低電圧保護部320は、取得した電源電圧Vにおける制限率L2を制限率L2計算用の関数グラフ(上記式(1))を用いて算出する。また、過電圧/低電圧保護部320は、制限率L2の算出時に、電源電圧Vが異常であると判定した場合、ユーザーに対して警告・故障情報を報知する。
【0036】
図5は、電源電圧Vの制限率L2を算出する場合に用いる関数グラフを示している。なお、
図5において、縦軸は制限率であり、横軸は電源電圧である。
図5に示すように、過電圧/低電圧保護部320は、電源電圧Vが閾値Vth2超でかつ閾値Vth3未満の場合、電源電圧Vが正常であると判定し、制限率L2を100%に設定する。過電圧/低電圧保護部320は、電源電圧Vが閾値Vth1以上でかつ閾値Vth2以下の場合、電源電圧Vが異常(低電圧)であると判定し、制限率L2を最小のLm超でかつ100%未満の間に設定する。同様に、過電圧/低電圧保護部320は、電源電圧Vが閾値Vth1未満の場合にも、電源電圧Vが特に低い(低電圧)と判定し、制限率L2として最小のLmを設定する。また、過電圧/低電圧保護部320は、電源電圧Vが閾値Vth3以上でかつ閾値Vth4以下の場合には、電源電圧Vが異常(過電圧)であると判定し、制限率L2を最小のLm超でかつ100%未満の間に設定する。同様に、過電圧/低電圧保護部320は、電源電圧Vが閾値Vth4超の場合にも、電源電圧Vが特に高い(過電圧)と判定し、制限率L2として最小のLmを設定する。例えば、過電圧/低電圧保護部320は、パラメータとして入力される電源電圧Vが閾値Vth1以上でかつ閾値Vth2以下の場合、上記式(1)を用いてリアルタイム演算を行い、制限率L2を取得する。算出された制限率L2は、選択部390に出力される。
【0037】
図3に戻り、過熱保護部330は、モータ400の2箇所の温度T1、インバータ160を構成する6個のスイッチング素子の温度T2、およびスイッチング素子等が実装された基板の温度T3をそれぞれ取得する。各温度T1〜T3を取得する周期は、例えば1msである。過熱保護部330は、温度1〜T3についても、
図4と同様の線形パターンの関数グラフ(上記式(1))を用いて制限率L3を算出する。過熱保護部330は、温度1〜T3の何れかが閾値Tth以上の場合、温度が過剰に上昇していると判定し、制限率L3を最小のLm以上でかつ100%未満の間に設定する。算出された制限率L3は、選択部390に出力される。また、過熱保護部330は、取得した温度T1〜T3が異常であると判定した場合、ユーザーに対して警告・故障情報を報知する。
【0038】
相電流保護部350は、過電流検出部360と、電流偏差検出部370と、電流センサ異常検出部380とを有する。
【0039】
過電流検出部360は、電流センサ180で検出された相電流Iu,Iv,Iwを取得すると共に、電源部の直流電流Iを取得する。相電流Iu,Iv,Iw等を取得する周期は、例えば1msである。過電流検出部360は、取得した相電流Iu,Iv,Iwにおける制限率L5aを制限率L5a計算用の関数グラフを用いて算出する。同様に、過電流検出部360は、取得した電源部の直流電流Iにおける制限率L5bを制限率L5b計算用の関数グラフを用いて算出する。以下では、相電流Iu,Iv,Iwの制限率L5aを算出する場合について説明する。
【0040】
図6は、相電流Iu,Iv,Iwの制限率L5aを算出する場合に用いる関数グラフを示している。なお、
図6において、縦軸は制限率であり、横軸は相電流である。
図6に示すように、過電流検出部360は、例えば相電流Iu,Iv,Iwの和が閾値Ith(0[A])である場合、電流値が正常であると判定し、制限率L5aを100%に設定する。過電流検出部360は、相電流Iu,Iv,Iwの和が閾値Ith以外の場合、電流値が異常であると判定し、制限率L5aを0%に設定する。これは、過電流が発生している場合には、直ちにモータ400の出力を停止させる必要があるからである。算出された制限率L5aは、選択部390に出力される。
【0041】
過電流検出部360は、電源部の直流電流Iについても、
図6と同様の線形パターンの関数グラフを用いて制限率L5bを算出する。過電流検出部360は、直流電流Iが閾値Ithを超える場合、過電流が発生しており直ちにモータ400の出力を停止させる必要があると判定し、制限率L5bを0%に設定する。
【0042】
図3に戻り、電流偏差検出部370は、相電流Iu,Iv,Iwを角度信号θによりdq変換して得られたd軸電流値Id
**およびq軸電流値Iq
**と、目標値である電流制限値設定部120からのd軸電流指令値Id
*およびq軸電流指令値Iq
*とを取得し、これらの偏差を算出する。電流指令値を取得する周期は、例えば1msである。電流偏差検出部370は、算出した偏差についても、
図6と同様の線形パターンの関数グラフを用いて制限率L5cを算出する。過電流検出部360は、偏差が閾値Thを超える場合、相電流Iu,Iv,Iwに異常が発生していると判定し、制限率L5cを0%に設定する。
【0043】
電流センサ異常検出部380は、電流センサ180により検出された相電流Iu,Iv,Iwを取得する。相電流Iu,Iv,Iw等を取得する周期は、例えば1msである。電流センサ異常検出部380は、相電流Iu,Iv,Iwについても、
図6と同様の線形パターンの関数グラフを用いて制限率L5dを算出する。電流センサ異常検出部380は、取得した相電流Iu,Iv,Iwの和が閾値Ith(0[A])でない場合、電流センサ180に異常が発生しており直ちにモータ400の出力を停止させる必要があると判定し、制限率L5dを0%に設定する。
【0044】
相電流保護部350は、過電流検出部360で算出した制限率L5a,L5b、電流偏差検出部370で算出した制限率L5c、および電流センサ異常検出部380で算出した制限率L5d,L5eの中で最小の制限率を選択する。選択された制限率は、制限率L5として選択部390に出力される。また、相電流保護部350は、相電流Iu,Iv,Iw等が異常であると判定した場合、ユーザーに対して警告・故障情報を報知する。
【0045】
過回転保護部340は、回転速度算出部230からのモータ回転速度ωeを取得する。モータ回転速度ωe等を取得する周期は、例えば1msである。過回転保護部340は、取得したモータ回転速度ωeについても、
図6と同様の線形パターンの関数グラフを用いて制限率L4を算出する。過回転保護部340は、モータ回転速度ωeが閾値ωth以上である場合、モータ400が過回転であり直ちにモータ400の出力を停止させる必要があると判定し、制限率L4を0%に設定する。また、過回転保護部340は、モータ回転速度ωeが異常であると判定した場合、ユーザーに対して警告・故障情報を報知する。なお、制限率L4を算出する際に、CAN通信により入力される指示回転数ω
*と、モータ回転速度ωeとの差分を用いることもできる。
【0046】
選択部390は、直流電流保護部310からの制限率L1と、過電圧/低電圧保護部320からの制限率L2と、過熱保護部330からの制限率L3と、過回転保護部340からの制限率L4と、相電流保護部350からの制限率L5とを比較し、制限率L1〜L5のうち最小の制限率Lminを選択する。選択された制限率Lminは、トルク制御部110に出力される。本実施の形態によれば、最小の制限率Lminを選択するので、最も厳しい制限でトルク制御を行うことができる。
【0047】
<モータ駆動装置100の動作例>
図7は、車両の走行状態に応じて指示トルクを制限するための制限率L1〜L5を算出する場合におけるモータ駆動装置100の動作の一例を示すフローチャートである。
【0048】
図7に示すように、ステップS10において、直流電流保護部310は、電源部の直流電流Iを取得する。ステップS20において、過電圧/低電圧保護部320は、電源部の電源電圧Vを取得する。ステップS30において、過熱保護部330は、モータ400の温度T1等を取得する。ステップS40において、過回転保護部340は、モータ400のモータ回転速度ωeを取得する。ステップS50において、相電流保護部350は、モータ400に流れる相電流Iu,Iv,Iwを取得する。なお、ステップS10〜S50は、例えば同一のタイミングで並列的に処理することができる。
【0049】
続けて、ステップS60において、直流電流保護部310は、取得した電源部の直流電流Iに基づいて制限率L1を算出する。ステップS70において、過電圧/低電圧保護部320は、取得した電源部の電源電圧Vに基づいて制限率L2を算出する。ステップS80において、過熱保護部330は、取得したモータ400の温度T1等に基づいて制限率L3を算出する。ステップS90において、過回転保護部340は、取得したモータ回転速度ωeに基づいて制限率L4を算出する。ステップS100において、相電流保護部350は、取得したモータ400に流れる相電流Iu,Iv,Iwに基づいて制限率L5を算出する。なお、ステップS60〜S100は、同一のタイミングで並列的に処理することができる。
【0050】
続けて、ステップS110において、選択部390は、算出した各制限率L1〜L5のうち、最小となる制限率Lminを選択し、選択した制限率Lminをトルク制御部110に出力する。本実施の形態では、このような処理が所定の間隔で繰り返し実行される。
【0051】
以上説明したように、本実施の形態によれば、温度T1〜T3、電源部の直流電流I、電源電圧V、モータ回転速度ωe、相電流Iu,Iv,Iw等の複数のパラメータを考慮し、これらの中で最も異常のレベルが高いパラメータの制限率を最小の制限率Lminとして選択して指示トルクTqに対して制限をかけることができる。これにより、例えば従来におけるトルク上限値を記憶するテーブルを用いた制限では実現できない制限が必要となった際にも、最適な指示トルクの制限を実現することができる。その結果、モータ400の駆動時における、過電流、過電圧、過回転、又は温度上昇等の発生を確実に抑制することができる。
【0052】
なお、本発明の技術範囲は、上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において、上述した実施形態に種々の変更を加えたものを含む。上述した実施の形態では、5つの制限率L1〜L5を用いた例について説明したが、これに限定されることはない。例えば、少なくとも2つ以上のパラメータの制限率を用いて指示トルクTqを制限するようにしても良い。また、制限部300において取得する温度は、モータ400の温度T1、スイッチング素子の温度T2、および基板の温度T3の少なくとも1以上であっても良いし、その他のモータ駆動装置100に関する温度を取得するようにしても良い。