JP2023163964A - 電動機制御装置 - Google Patents

電動機制御装置 Download PDF

Info

Publication number
JP2023163964A
JP2023163964A JP2022075220A JP2022075220A JP2023163964A JP 2023163964 A JP2023163964 A JP 2023163964A JP 2022075220 A JP2022075220 A JP 2022075220A JP 2022075220 A JP2022075220 A JP 2022075220A JP 2023163964 A JP2023163964 A JP 2023163964A
Authority
JP
Japan
Prior art keywords
interval
command
rotation speed
ivo
update cycle
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.)
Pending
Application number
JP2022075220A
Other languages
English (en)
Inventor
裕樹 池田
Hiroki Ikeda
剛志 酒井
Tsuyoshi Sakai
利忠 三善
Toshitada Sanzen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2022075220A priority Critical patent/JP2023163964A/ja
Publication of JP2023163964A publication Critical patent/JP2023163964A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Ac Motors In General (AREA)

Abstract

Figure 2023163964000001
【課題】回転数変化率を計算するようにした車載電動機制御装置20を提供する。
【解決手段】
車載電動機制御装置20では、CPU40は、上位ECU10から、ある指令回転数IVOが送信された後、ある指令回転数IVOと異なる値の指令回転数IVON+nが次に上位ECU10から送信される迄の指令間隔IVOINTERVAL_Mを求める。CPU40は、指令間隔記憶部41bで記憶されている指令間隔IVOに基づいて、上位ECU10における指令回転数IVOの更新周期ECUINTERVAL_Mを計算する。CPU40は、指令回転数IVOと更新周期ECUINTERVAL_Mとに基づいて、更新周期ECUINTERVAL_Mが終了する前に、実回転数IVRが指令回転数IVOに到達しないような回転数変化率INVRATEを計算する。
【選択図】図1

Description

本発明は、電動機制御装置に関するものである。
従来、車載用電動機制御装置では、既知の更新周期で指令回転数を外部装置から取得し、指令回転数に基づいてインバータを駆動することによって電動機を回転させるCPUを備えるものが提案されている(例えば、特許文献1参照)。
CPUは、電動機の実回転数と指令回転数の差及び更新周期に基づいて、更新周期が終了する前に実回転数が指令回転数に到達しないような回転数変化率を計算する。CPUは、この回転数変化率で電動機が回転するようにインバータを制御することにより、電動機における加速または減速と一定速度の回転との繰り返しによる騒音、振動の発生を防止する。
特開2016-144361号公報
上記特許文献1の車載用電動機制御装置では、CPUは、上述の如く、更新周期が終了する前に実回転数が指令回転数に到達しないような回転数変化率を計算し、この回転変化率で電動機が回転するようにインバータを制御する。
しかし、更新周期の異なる外部装置に変更した場合、CPUは、その更新周期に合わせて回転数変化率を計算する計算式を用いることが必要となる。
さらに、回転数変化率を設定するために用いる更新周期は、外部装置およびCPUの間の通信周期とは異なることがある。また、必ずしも、特定の更新周期で指令回転数が変わるとも限らないため、あらかじめ更新周期を設定することができないという不具合が生じる。
本発明は上記点に鑑みて、外部装置から送信される指令回転数の更新周期を計算することで、更新周期が不明な場合であっても、回転数変化率を計算するようにした電動機制御装置を提供することを目的としている。
上記目的を達成するため、請求項1に記載の発明では、外部装置(10)から繰り返し送信される指令回転数に基づいて、インバータ(50)を制御することによって電動機(30)を回転させる電動機制御装置であって、
外部装置から、ある指令回転数が送信された後、ある指令回転数と異なる値の指令回転数が次に外部装置から送信される迄の時間間隔である指令間隔を求める指令間隔カウント部(41a)と、
指令間隔カウント部で求められる指令間隔に基づいて、外部装置から送信される指令回転数の更新周期を計算する更新周期算出部(41)と、
指令回転数と更新周期算出部で算出された更新周期とに基づいて、所定時間に電動機を何回転増加させるか減少させるのかを示すパラメータである回転数変化率を計算する回転数変化率演算部(42)と、を備える。
したがって、請求項1に記載の発明によれば、更新周期が不明な場合でも、適切な回転数変化率を設定することができる。
なお、各構成要素等に付された括弧付きの参照符号は、その構成要素等と後述する実施形態に記載の具体的な構成要素等との対応関係の一例を示すものである。
第1実施形態における車載システムの全体構成を示す図であり、特に電動機制御装置のCPU内の構成を示すブロック図である。 図1の第1実施形態におけるCPUが実行する更新周期算出処理の詳細を示すフローチャートである。 図1の第1実施形態におけるCPUが実行する回転数変化率算出処理の詳細を示すフローチャートである。 図1の第1実施形態において電動機の実回転数と上位ECUから送信される指令回転数との関係を示すタイミングチャートであり、回転数変化率算出処理の具体例の説明を補助するための図である。 既知の指令回転数の更新周期に合わせた回転数変化率を設定した第1の対比例において、電動機の実回転数と上位ECUから送信される指令回転数との関係を示すタイミングチャートである。 第2対比例において、電動機の実回転数が加速または減速と一定速度の回転との繰り返しによる振動、騒音の発生を防止するように設定された指令回転数と電動機の実回転数との関係を示すタイミングチャートである。 第3対比例において、上位ECUから送信される指令回転数の更新周期が短く、指令回転数への電動機の実回転数の応答性が悪くなっている指令回転数と電動機の実回転数との関係を示すタイミングチャートである。 上位ECUから送信される指令回転数の更新周期が長く、電動機の実回転数が加速または減速と一定速度の回転との繰り返しによる振動、騒音が発生した第4対比例において、指令回転数と電動機の実回転数との関係を示すタイミングチャートである。 第1実施形態において、更新周期が1sよりも短い場合に、電動機の実回転数が加速または減速と一定速度の回転との繰り返しによる振動、騒音の発生を防止するように設定された指令回転数と電動機の実回転数との関係を示すタイミングチャートである。 第1実施形態において、更新周期が1sよりも長い場合に、電動機の実回転数が加速または減速と一定速度の回転との繰り返しによる振動、騒音の発生を防止するように設定された指令回転数と電動機の実回転数との関係を示すタイミングチャートである。 第2実施形態におけるCPUが実行する更新周期算出処理の詳細を示すフローチャートである。 図11の第2実施形態において電動機の実回転数と上位ECUから送信される指令回転数との関係を示すタイミングチャートであり、回転数変化率算出処理の具体例の説明を補助するための図である。
以下、本発明の実施形態について図に基づいて説明する。なお、以下の各実施形態相互において、互いに同一もしくは均等である部分には、説明の簡略化を図るべく、図中、同一符号を付してある。
(第1実施形態)
図1に、自動車に搭載される車載システム1の本第1実施形態を示す。車載システム1は、上位ECU10、車載電動機制御装置20、および電動機30を備える。
上位ECU10は、通信線を介してCAN、LIN等の通信プロトコルで通信を行う外部装置である。本実施形態の上位ECU10としては、自動車に搭載されているエンジン用電子制御装置や空調装置用電子制御装置が用いられる。
上位ECU10は、通信によって、車載電動機制御装置20のCPU40に対して所定の時間間隔で電動機30の指令回転数IVOを繰り返し送信する。
以下、説明の便宜上、上位ECU10が車載電動機制御装置20のCPU40に対して指令回転数IVOを繰り返し送信する時間間隔を指令間隔IVOINTERVALという。上位ECU10からCPU40に対して送信される指令回転数IVOの回数をNで表す。
ここで、CPU40が更新周期算出処理の実行を開始してから、(N-1)回目の指令回転数IVOを指令回転数IVON-1とする。CPU40が更新周期算出処理の実行を開始してから、N回目の指令回転数IVOを指令回転数IVOとする。(N-1)回目の指令回転数IVON-1とN回目の指令回転数IVOとの間の時間間隔である指令間隔IVOINTERVALを指令間隔IVOINTERVAL_Nとする。
車載電動機制御装置20は、CPU40、およびインバータ50を備える。CPU40は、図示しないメモリに記憶されているコンピュータプログラムにしたがって、更新周期算出処理、回転数変化率算出処理を実行する中央処理装置である。
インバータ50は、複数のスイッチング素子を備え、複数のスイッチング素子のそれぞれのスイッチングにより、図示しない高圧バッテリの出力電圧に基づいて交流電流を電動機30に流す。電動機30は、車載空調装置の圧縮機を駆動する。本実施形態の電動機30としては、例えば、交流同期電動機が用いられている。
次に、本実施形態のCPU40の概略作動について図1を参照して説明する。
CPU40は、更新周期算出部41、回転数変化率演算部42、回転数推定部43、および、出力演算部44を備える。更新周期算出部41は、後述する指令間隔記憶部41bで記憶されている指令間隔IVOINTERVALに基づいて、更新周期ECUINTERVALを計算する。
ここで、更新周期ECUINTERVALは、上位ECU10がCPU40に対して指令回転数IVOを更新する周期の推定値である。
具体的には、更新周期算出部41は、指令間隔記憶部41bとともに、指令間隔カウント部41aを備える。
本実施形態では、指令間隔カウント部41aは、上位ECU10から繰り返し送信される指令回転数IVOの指令間隔IVOINTERVALを求める。指令間隔記憶部41bは、不揮発性メモリ等からなるメモリによって構成され、指令間隔カウント部41aによって求められる指令間隔IVOINTERVALを記憶する。
回転数変化率演算部42は、後述するように、指令回転数IVOと更新周期算出部41で算出された更新周期ECUINTERVALとに基づいて、回転数変化率INVRATEを計算する。回転数変化率INVRATEは、所定時間に電動機30を何回転増加させるか減少させるのかを示すパラメータである。
回転数推定部43は、電流センサ60の出力信号に基づいて電動機30の回転数を算出して、この算出した電動機30の回転数を更新周期算出部41、回転数変化率演算部42のそれぞれに出力する。さらに、回転数推定部43は、この算出した回転数を上位ECU10に出力する。
電流センサ60は、インバータ50から電動機30に流れる交流電流をモータ電流として検出するセンサである。以下、回転数推定部43によって算出された電動機30の回転数を実回転数IVRという。
出力演算部44は、更新周期ECUINTERVALが終了する前に、実回転数IVRが指令回転数IVOに到達しないようにインバータ50に対してPWM制御を実行する。PWMとは、pulse width modulationを略した表記である。
次に、本実施形態の車載システム1の作動について図2、図3、図4を参照して説明する。
上位ECU10は、通信によって、車載電動機制御装置20のCPU40に対して所定の時間間隔で電動機30の指令回転数IVOを繰り返し送信する。CPU40は、上位ECU10から指令回転数IVOが送信される毎に、上位ECU10から送信される指令回転数IVOをメモリに記憶させる。
CPU40は、更新周期算出部41として、上位ECU10から送信される指令回転数IVOに基づいて、更新周期ECUINTERVALを繰り返し計算する。CPU40は、回転数変化率演算部42として、指令回転数IVOと更新周期ECUINTERVALと実回転数IVRとに基づいて、回転数変化率INVRATEを繰り返し計算する。なお、CPU40による更新周期の算出処理の詳細と回転数変化率の算出処理の詳細については、後述する。
CPU40は、回転数変化率INVRATEによって、更新周期ECUINTERVALが終了する前に、電動機30の実回転数IVRが指令回転数IVOに到達しないようなPWM出力をインバータ50に出力する。
インバータ50は、CPU40から出力されるPWM出力に基づいて電動機30に対してPWM制御を実行して電動機30の回転数を指令回転数IVOに近づける。CPU40は、電流センサ60の出力信号に基づいて電動機30の実回転数IVRを繰り返し計算する。
(更新周期算出処理)
次に、本実施形態において、回転数変化率の算出処理に先だって、更新周期の算出処理の詳細について図2を参照して説明する。
図2は、CPU40によって実行される更新周期算出処理の詳細を示すフローチャートである。図3は、実回転数IVRおよび指令回転数IVOを示すタイミングチャートである。
CPU40は、図2のフローチャートにしたがって、更新周期の算出処理を実行する。更新周期算出処理は、CPU40に電源から給電された後、CPU40によって一定周期で繰り返し実行される。
まず、CPU40は、ステップS100において、上位ECU10から送信された指令回転数IVOが零と不一致であるか否かについて判定する。
このとき、CPU40は、指令回転数IVOが零と不一致である場合には、上記ステップS100においてYESと判定する。これに伴い、CPU40は、ステップS110において、メモリに記憶されている零判定カウンタのカウント値iを1つインクリメントする。
零判定カウンタは、指令回転数IVOが零に不一致であると判定される回数をカウントするためのカウントである。零判定カウンタの初期値は、零が設定される。
次に、CPU40は、ステップS120において、指令値カウンタの値CNT、指令回転数IVON-1、指令回転数IVO、および更新周期ECUINTERVAL_M-1をメモリから取得する。
指令値カウンタは、後述するように、指令間隔IVOINTERVALを求めるためのカウンタである。指令回転数IVON-1は、上述の如く、更新周期算出処理の実行が開始されてから、(N-1)回目の指令回転数IVOである。
指令回転数IVOは、上述の如く、更新周期算出処理の実行が開始されてから、N回目の指令回転数IVOである。更新周期ECUINTERVAL_M-1は、更新周期算出処理の実行が開始されてから、(M-1)回目の更新周期ECUINTERVALである。
更新周期ECUINTERVAL_M-1中の「M」は、ステップ150を実行した回数を示す変数であり、指令間隔IVOINTERVAL、および更新周期ECUINTERVALが算出される回数をも示す変数である。
次に、CPU40は、ステップS130において、指令回転数IVOが指令回転数IVON-1に不一致であるか否かを判定する。このとき、CPU40は、指令回転数IVOが指令回転数IVON-1に一致するとき、ステップS130において、NOと判定する。
これに伴い、CPU40は、指令間隔カウント部として、ステップS190において、メモリに記憶されている指令値カウンタの値CNTを1つインクリメントして、更新周期算出処理を終了する。指令値カウンタは、指令回転数IVOと指令回転数IVON-1とが一致すると判定した回数をカウントするためのカウンタである。
また、CPU40は、ステップS130において、指令回転数IVOが指令回転数IVON-1に不一致であるときには、YESと判定する。この場合には、次のステップS140において、CPU40は、零判定カウンタのカウント値iが「1」と不一致であるか否かについて判定する。
このとき、CPU40は、ステップS140において、零判定カウンタの値が「1」と一致であるとき、NOと判定して、ステップS190において、指令値カウンタの値CNTを1つインクリメントする。
次に、CPU40は、ステップS130において、指令回転数IVOが指令回転数IVON-1に不一致であるとしてYESと判定した場合に、次のステップS140で零判定カウンタのカウント値iが「1」と不一致である場合には、YESと判定する。
このとき、CPU40は、ステップS150において、次の数式1に指令値カウントの値CNT、および制御周期を代入して、M回目の指令間隔IVOINTERVAL_Mを求め、この求めた指令間隔IVOINTERVAL_Mをメモリに記憶させる。
IVOINTERVAL_M=CNT×制御周期・・・・数式1
指令間隔IVOINTERVALは、上位ECU10から、ある指令回転数IVOがCPU40に送信された後、ある指令回転数IVOと異なる値の指令回転数IVOがCPU40へ次に上位ECU10から送信される迄の時間間隔である。
指令間隔IVOINTERVAL_Mは、更新周期算出処理の実行が開始されてから、M回目の指令間隔IVOINTERVALである。制御周期は、CPU40が更新周期の算出処理を周期的に実行する周期である。
次に、CPU40は、ステップS160において、指令値カウンタのカウント値CNTと零判定カウンタのカウント値iとをそれぞれ「1」に設定する。
次に、CPU40は、ステップS170において、判定部として、指令間隔IVOINTERVAL_Mが更新周期ECUINTERVAL_M-1未満であるか否かを判定する。
指令間隔IVOINTERVAL_Mは、更新周期算出処理の実行が開始されてから、M回目の指令間隔IVOINTERVALである。更新周期ECUINTERVAL_M-1は、更新周期算出処理の実行が開始されてから、(M-1)回目の更新周期ECUINTERVALである。
このとき、CPU40は、ステップS170において、指令間隔IVOINTERVAL_Mが更新周期ECUINTERVAL_M-1未満であるとき、YESと判定する。これに伴い、CPU40は、ステップS180において、算出部として、M回目の指令間隔IVOINTERVAL_MをM回目の更新周期ECUINTERVAL_Mとして設定してメモリに記憶させる。
CPU40は、指令間隔IVOINTERVAL_Mが更新周期ECUINTERVAL_M-1以上であるときステップS170でNO判定する。そして、CPU40は、更新周期ECUINTERVAL_M-1を更新周期ECUINTERVAL_Mとして更新周期の算出処理を終了する。
なお、CPU40は、上位ECU10から送信された指令回転数IVOが零と一致するとき、ステップS100においてNOと判定して、更新周期の算出処理を終了する。
CPU40は、このような更新周期ECUINTERVALの算出処理を一定周期で繰り返し実行する。
以上により、CPU40は、指令間隔IVOINTERVAL_Mが更新周期ECUINTERVAL_M-1未満であるとき、指令間隔IVOINTERVAL_Mを更新周期ECUINTERVAL_Mとする。CPU40は、指令間隔IVOINTERVAL_Mが更新周期ECUINTERVAL_M-1以上であるとき更新周期ECUINTERVAL_M-1を更新周期ECUINTERVAL_Mとする。
したがって、CPU40は、指令間隔IVOINTERVAL_Mおよび更新周期ECUINTERVAL_M-1のうち小さい方の値をM回目の更新周期ECUINTERVAL_Mとして設定してメモリに記憶させることになる。
(回転数変化率算出処理)
図3は、CPU40によって実行される回転数変化率算出処理の詳細を示すフローチャートである。CPU40は、更新周期算出処理を実行する毎に、図3のフローチャートにしたがって、回転数変化率算出処理を実行する。具体的には、CPU40は、指令間隔IVOINTERVAL_Mおよび更新周期ECUINTERVAL_M-1のうち小さい方の値をM回目の更新周期ECUINTERVAL_Mとする毎に、回転数変化率算出処理を実行する。
まず、CPU40は、ステップS300において、メモリから指令回転数IVO、指令回転数IVON-1を取得する。
次に、CPU40は、ステップS310において、指令回転数IVOが指令回転数IVON-1に不一致であるか否かを判定する。
このとき、CPU40は、ステップS310において、指令回転数IVOが指令回転数IVON-1に不一致であるとき、YESと判定する。
次に、CPU40は、ステップS320において、電流センサ60の出力信号に基づいて実回転数IVR_Mを計算するとともに、メモリから更新周期ECUINTERVAL_Mを取得するする。実回転数IVR_Mは、更新周期算出処理の実行が開始されてから、M回目の実回転数IVRである。
次に、CPU40は、ステップS330において、実回転数IVR_Mが次の数式2を満たしているか否かを判定することにより、実回転数IVR_Mが指令回転数IVOの許容誤差範囲内に入っているか否かを判定する。
IVO_N-G≦IVR_M≦IVO_N+G・・・数式2
Gは指令回転数IVOの許容誤差である。(IVO_N-G)は許容誤差範囲の下限値である。(IVO_N+G)は許容誤差範囲の上限値である。
このとき、CPU40は、ステップS330において、実回転数IVR_Mが数式2を満たしているときには、実回転数IVR_Mが指令回転数IVOの許容誤差範囲内に入っているとして、YESと判定する。
このとき、CPU40は、ステップS340において、回転数変化率INVRATE_M-1を回転数変化率INVRATE_Mとして決定する。すなわち、CPU40は、前回求めた回転数変化率INVRATE_M-1を今回の回転数変化率INVRATE_Mとする。
回転数変化率INVRATE_M-1は、更新周期算出処理の実行が開始されてから、(M-1)回目の回転数変化率INVRATEである。回転数変化率INVRATE_Mは、更新周期算出処理の実行が開始されてから、M回目の回転数変化率INVRATEである。
CPU40は、ステップS330において、実回転数IVR_Mが(IVO_N-G)未満であるとき、或いは実回転数IVR_Mが(IVO_N+G)よりも大きいとき、実回転数IVR_Mが数式2を満たしていないとして、NOと判定する。
この場合、CPU40は、ステップS350において、回転数変化率演算部として、次の数式3に、指令回転数IVO、実回転数IVR_M、更新周期ECUINTERVAL_Mを代入してM回目の回転数変化率INVRATE_Mを求める。
INVRATE_M=(IVO-IVR_M)×A/ECUINTERVAL_M・・・数式3
Aは、実回転数IVRが指令回転数IVOへの到達する度合いを調整するための補正係数である。本実施形態の回転数変化率INVRATE_Mは、補正係数Aによって、更新周期ECUINTERVAL_Mが終了する前に、実回転数IVRが指令回転数IVOに到達しないように設定される。
このように、CPU40は、実回転数IVR_Mが許容誤差範囲内に入っているとき場合には、回転数変化率INVRATE_M-1を継続してM回目の回転数変化率INVRATE_Mとして用いる。
CPU40は、実回転数IVR_Mが許容誤差範囲から外れているときには、上記数式3に基づいて、回転数変化率INVRATE_Mを計算する。
次に、本実施形態におけるCPU40が回転数変化率INVRATEを計算する具体例について図4を参照して説明する。
CPU40は、Na回目の指令回転数IVOaが上位ECU10から送信された場合に、Ma回目の更新周期ECUINTERVAL_Maを計算する。このとき、指令回転数IVOaが2000であり、実回転数IVR_Maが1000である。
このとき、CPU40は、Mb回目の回転数変化率a2を次の数式4によって求める。
a2=(2000-1000)×A/ECUINTERVAL_Ma・・・・数式4
CPU40は、Nb回目の指令回転数IVONbが上位ECU10から送信された場合に、Mb回目の更新周期ECUINTERVAL_Mbを計算する。このとき、指令回転数IVONbが2500であり、実回転数IVR_MbがN2である。
このとき、CPU40は、Mb回目の回転数変化率a3を次の数式5によって求める。
a3=(2500-N2)×A/ECUINTERVAL_Mb・・・・数式5
以上説明した本実施形態によれば、車載電動機制御装置20は、上位ECU10から繰り返し送信される指令回転数に基づいて、インバータ50を制御することによって電動機30を回転させる。
CPU40は、ステップS190において、上位ECU10から、ある指令回転数IVOが送信された後、ある指令回転数IVOと異なる値の指令回転数IVON+nが次に上位ECU10から送信される迄の指令間隔IVOINTERVAL_Mを求める。
CPU40は、ステップS150で求められる指令間隔IVOINTERVAL_Mを記憶する指令間隔記憶部41bを備える。
CPU40は、ステップS180において、指令間隔記憶部41bで記憶されている指令間隔IVOINTERVAL_Mに基づいて、上位ECU10における指令回転数IVOの更新周期ECUINTERVAL_Mを計算する。
CPU40は、ステップS350において、指令回転数IVOと更新周期ECUINTERVAL_Mとに基づいて、更新周期ECUINTERVAL_Mが終了する前に、実回転数IVRが指令回転数IVOに到達しないような回転数変化率INVRATE_Mを計算する。回転数変化率INVRATE_Mは、所定時間に電動機30を何回転増加させるか減少させるのかを示すパラメータである。
上記特許文献1では、CPUは、図5に示す既知の指令回転数の更新周期に合わせた回転数変化率を設定することで、図6に示すような加速または減速と一定速度の回転との繰り返しによる騒音、振動の発生を防止する電動機制御装置が提案されている。具体的には、電動機の実回転数と指令回転数の差及び更新周期に基づいて、更新周期が終了する前に実回転数が指令回転数に到達しないような回転数変化率を設定する。
しかし、CPUは、更新周期の異なる外部装置に変更した場合、その更新周期に合わせた計算式に変更する必要がある。
従来技術では、指令回転数の更新周期が不明な場合、指令回転数の更新周期が短いと、図7に示すように、実回転数の指令回転数への応答性が悪化する。指令回転数の更新周期が長いと、図8に示すように加速または減速と一定速度の回転との繰り返しによる振動、騒音が発生する。図8は、更新周期Xsが1sよりも長い例を示している。
これに対して、本実施形態では、CPU40は、上述の如く、指令回転数IVOと更新周期ECUINTERVALとに基づいて、更新周期ECUINTERVAL_Mが終了する前に、実回転数IVRが指令回転数IVOに到達しないような回転数変化率INVRATEを計算する。
したがって、上位ECU10の更新周期が不明な場合でも、適切な回転数変化率INVRATEを設定することができる。このため、更新周期が不明な場合であっても、図9、図10に示すように騒音、振動の発生を防止することができる。図9は、更新周期Xsが1sよりも短い例を示している。図10は更新周期Xsが1sよりも長い例を示している。
このように構成される本実施形態では、次の(a)、(b)(c)の作用効果を得ることができる。
(a)CPU40は、指令間隔IVOINTERVAL_M、および更新周期ECUINTERVAL_M-1のうち、小さい方の値をM回目の更新周期ECUINTERVAL_Mとする。すなわち、CPU40は、今回求めた指令間隔IVOINTERVAL_M、および前回求めた新周期ECUINTERVAL_M-1のうち、小さい方の値を今回の更新周期ECUINTERVAL_Mとする。したがって、上位ECU10の実際の更新周期に近い更新周期ECUINTERVAL_Mを求めることができる。
(b)CPU40は、指令回転数IVOが指令回転数IVON-1に不一致であるとき、回転数変化率INVRATE_Mを求める。したがって、CPU40は、指令回転数IVOが変化する毎に、回転数変化率INVRATEを計算する。
このため、上位ECU10から送信される指令回転数IVOが前回値と同じシーンにおいて、図4と同様に、実回転数IVRの変曲点の数を減らすことができる。よって、電動機30の騒音、振動をより一層減らすことができる。
(c)CPU40は、指令間隔IVOINTERVAL_Mおよび更新周期ECUINTERVAL_M-1のうち小さい方の値を更新周期ECUINTERVAL_Mとする毎に、回転数変化率算出処理を実行する。したがって、CPU40は、更新周期ECUINTERVAL_Mを計算する毎に、この計算された更新周期ECUINTERVALに基づいて回転数変化率INVRATE_Mを計算する。これにより、図9および図10に示すように、図5に比べて、実回転数IVRが指令回転数IVOに到達時の回転数変化率INVRATEの急変が緩和される。
(第2実施形態)
上記第1実施形態では、CPU40は、指令間隔IVOINTERVAL_M、および更新周期ECUINTERVAL_M-1のうち最小値を更新周期ECUINTERVAL_Mとする例について説明した。
しかし、これに代えて、CPU40は、1回目からM回目迄の指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、最も高い頻度で算出される最頻値を更新周期ECUINTERVAL_Mとする本第2実施形態について図11、図12を参照して説明する。
本実施形態と上記第1実施形態とは、更新周期算出処理が相違する。図11は、本実施形態の更新周期算出処理の詳細を示すフローチャートである。図11のフローチャートは、図2のフローチャートにおいて、ステップS120に代わるステップS120A、ステップS170に代わるステップS172~S176、ステップS180に代わるステップS180Aを備える。CPU40は、図11のフローチャートにしたがって、更新周期算出処理を繰り返し実行する。
まず、CPU40は、ステップS100において、指令回転数IVOが零と不一致である場合には、上記ステップS100においてYESと判定する。これに伴い、CPU40は、ステップS110において、零判定カウンタのカウント値iを1つインクリメントする。
次に、CPU40は、ステップS120Aにおいて、指令値カウンタの値CNT、指令回転数IVON-1、指令回転数IVO、指令間隔IVOINTERVAL_1~IVOINTERVAL_M-1をメモリから取得する。
指令間隔IVOINTERVAL_1~IVOINTERVAL_M-1は、1回目の指令間隔IVOINTERVAL_1から(M-1)回目の指令間隔IVOINTERVAL_M-1迄の(M-1)個の指令間隔IVOINTERVALである。指令間隔IVOINTERVAL_1~IVOINTERVAL_M-1は、それぞれ、CPU40によって、ステップS150を実行する毎に求められる。
次に、CPU40は、ステップS130において、指令回転数IVOが指令回転数IVON-1に不一致であるとき、YESと判定する。次のステップS140において、零判定カウンタのカウント値iが「1」と不一致である場合には、YESと判定する。
このとき、CPU40は、ステップS150において、上記数式1に指令値カウントの値CNT、制御周期を代入して、指令間隔IVOINTERVAL_Mを求め、この求めた指令間隔IVOINTERVAL_Mをメモリに記憶させる。
次に、CPU40は、ステップS160において、指令値カウンタのカウント値CNTと零判定カウンタのカウント値iとをそれぞれ「1」に設定する。
次に、CPU40は、ステップS172で、変数u、xをそれぞれ「1」に設定し、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、IVOINTERVAL_uと同じ値の指令間隔IVOINTERVALの算出回数をn(IVOINTERVAL_u)として求める。
すなわち、CPU40は、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、IVOINTERVAL_1と同じ値の指令間隔IVOINTERVALの算出回数をn(IVOINTERVAL_1)として求める。
変数uは、指令間隔IVOINTERVALの回数(1~M)のいずれかに該当する変数であり、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち2つの指令間隔IVOINTERVALの算出回数を比較するために用いられる。
指令間隔IVOINTERVAL_1~IVOINTERVAL_Mは、指令間隔IVOINTERVAL_1、IVOINTERVAL_2、IVOINTERVAL_3、IVOINTERVAL_4、・・・・IVOINTERVAL_M-1、IVOINTERVAL_MといったM個の指令間隔である。
変数xは、指令間隔IVOINTERVALの回数(1~M)のうちいずれかの値に該当にする変数であり、後述するように、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち最頻値を特定するために用いられる。
次に、CPU40は、ステップS173において、変数uがMであるか否かについて判定する。CPU40は、変数uがMに不一致であるときには、ステップS173においてNOと判定する。
次に、CPU40は、ステップS174において、Fがn(IVOINTERVAL_u+1)以上であるか否かを判定する。すなわち、CPU40は、n(IVOINTERVAL_u)がn(IVOINTERVAL_u+1)以上であるか否かを判定する。
ここで、n(IVOINTERVAL_u+1)は、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、IVOINTERVAL_u+1と同じ値の指令間隔IVOINTERVALの算出回数である。
Fは、後述するように、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、算出回数が最大となる指令間隔IVOINTERVALの算出回数を記憶するために用いられる変数である。
このとき、CPU40は、Fがn(IVOINTERVAL_u+1)以上であるとき、ステップS174においてYESと判定する。この場合、CPU40は、変数Fがn(IVOINTERVAL_u)であり、かつ変数xがuである状態を維持する。
また、CPU40は、Fがn(IVOINTERVAL_u+1)未満であるとき、ステップS174においてNOと判定する。これに伴い、CPU40はステップS175において、Fをn(IVOINTERVAL_u+1)として設定して、変数xを(u+1)に設定する。
CPU40は、このように、ステップS174のYES判定、或いは、ステップS175の処理を実行した後、ステップS176において、変数uを1つインクリメントして、ステップS173に移行する。
次に、CPU40は、変数uがMに一致してステップS173でYESと判定する迄、ステップS174のNO判定およびステップS175の処理と、ステップS174のYES判定とのうち、一方を実行してからステップS176の処理を実行することを繰り返す。
その後、CPU40は、変数uがMに一致すると、ステップS173においてYESと判定する。これに伴い、n(IVOINTERVAL_1)~n(IVOINTERVAL_M)のうち最大値であるn(IVOINTERVAL_u+1)が変数Fに設定される。
このとき、変数xには、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち最頻値である指令間隔IVOINTERVAL_u+1の回数(u+1)が設定されている。最頻値とは、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、CPU40によって最も高い頻度で求められる指令間隔である。
そこで、CPU40は、ステップS180Aにおいて、算出部として、指令間隔IVOINTERVAL_X(すなわち、IVOINTERVAL_u+1)を更新周期ECUINTERVAL_Mとして設定して、この設定した更新周期ECUINTERVAL_Mをメモリに記憶させる。つまり、CPU40は、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、最頻値である指令間隔IVOINTERVAL_Xを更新周期ECUINTERVAL_Mとしてメモリに記憶させる。
次に、本実施形態におけるCPU40が回転数変化率INVRATEを計算する具体例について図12を参照して説明する。
まず、CPU40は、Na回目の指令回転数IVONaが上位ECU10から送信された場合に、Ma回目の更新周期ECUINTERVAL_Maを計算する。
このとき、指令回転数IVONaが2000であり、実回転数IVR_Maが1000である。
このとき、CPU40は、Mb回目の回転数変化率a2を次の数式6によって求める。
a2=(2000-1000)×A/ECUINTERVAL_Ma・・・・数式6
また、CPU40は、Nb回目の指令回転数IVONbが上位ECU10から送信された場合に、Mb回目の更新周期ECUINTERVAL_Mbを計算する。このとき、指令回転数IVONbが2500であり、実回転数IVR_MbがN2である。
このとき、CPU40は、Mb回目の回転数変化率a3を次の数式7によって求める。
a3=(2500-N2)×A/ECUINTERVAL_Mb・・・・数式7
さらに、CPU40は、Nc回目の指令回転数IVONcが上位ECU10から送信された場合に、Mc回目の更新周期ECUINTERVAL_Mcを計算する。このとき、指令回転数IVONcが2500であり、実回転数IVR_MbがN3である。
このとき、CPU40は、Mc回目の回転数変化率a4を次の数式8によって求める。
a4=(2500-N3)×A/ECUINTERVAL_Mc・・・・数式8
以上説明した本実施形態によれば、CPU40は、指令間隔IVOINTERVAL_1~IVOINTERVAL_Mのうち、最も高い頻度で求められる最頻値である指令間隔IVOINTERVAL_Xを更新周期ECUINTERVAL_Mとする。
このことにより、最も多くのシーンにおいて電動機30の最適な加減速度を設定可能な更新周期ECUINTERVALを計算することができる。
本実施形態では、CPU40は、更新周期ECUINTERVAL毎に、回転数変化率INVRATEを計算する。すなわち、CPU40は、指令回転数IVOが変化しなくても、算出した更新周期ECUINTERVALが経過する毎に、回転数変化率INVRATEを計算する。これにより、上記第1実施形態と同様に、実回転数IVRが指令回転数IVOに到達時の回転数変化率INVRATEの急変が緩和される。
(他の実施形態)
(1)上記第1実施形態では、CPU40は、ステップS170において、指令間隔IVOINTERVAL_Mが更新周期ECUINTERVAL_M-1未満であるとYESと判定したとき、指令間隔IVOINTERVAL_Mを更新周期ECUINTERVAL_Mとした例について説明した。
これに代えて、ステップS170においてYESと判定した後、同じ指令間隔IVOINTERVALで2回以上指令回転数IVOが変わったと判定した場合、その指令間隔IVOINTERVALを更新周期ECUINTERVAL_Mとして採用してもよい。
ここで、上位ECU10の急激な変更などにより、指令回転数IVOの更新周期が極端に短い場合があり、その更新周期をCPU40が採用すると、加速または減速と一定速度の回転との繰り返しによる振動、振動が解決できない場合がある。
そこで、上述の指令回転数IVOが変わったと複数回の判定したことにより更新周期を決定することで、適切な更新周期を設定することができる。
(2)上記第1実施形態では、CPU40は、M回目の指令間隔IVOINTERVAL_M、および(M-1)回目の更新周期ECUINTERVAL_M-1のうち最小値をM回目の更新周期ECUINTERVAL_Mとした例について説明した。上記第2実施形態では、CPU40は、1回目からM回目迄の指令間隔IVOINTERVALのうち最も出現される最頻値を更新周期ECUINTERVAL_Mとする例について説明した。
しかし、これに代えて、最小値や最頻値以外の値(例えば、1回目からM回目迄の指令間隔IVOINTERVALの平均値)を更新周期ECUINTERVAL_Mとして採用してもよい。
これにより、実回転数IVRの指令回転数IVOへの応答性など、目的に応じた最適な電動機30の加減速度を設定できる。
(3)上記第1、第2実施形態では、車載電動機制御装置20を自動車に適用される車両用電動機制御装置とした例について説明した。しかし、これに代えて、車載電動機制御装置20を自動車以外の機器に適用してもよい。
(4)上記第1、第2実施形態では、電動機30を車載空調装置の圧縮機を駆動する電動機とした例について説明した。しかし、これに代えて、電動機30を車載空調装置の圧縮機以外の各種の機器を駆動する電動機としてもよい。
(5)上記第1、第2実施形態では、電動機30として、交流同期電動機を用いた例について説明した。しかし、これに代えて、電動機30として、交流誘導電動機、リラクタンスモータなど交流同期電動機以外の各種の電動機を用いてもよい。
(6)上記第1実施形態では、CPU40が、指令回転数IVOが変化する毎に、回転数変化率INVRATEを計算した例について説明した。上記第2実施形態では、CPU40が、更新周期ECUINTERVALが経過する毎に、回転数変化率INVRATEを計算する例について説明した。
しかし、これに代えて、上記第1実施形態において、CPU40が、算出した更新周期ECUINTERVALが経過する毎に、回転数変化率INVRATEを計算してもよい。さらに、上記第2実施形態において、CPU40が、指令回転数IVOが変化する毎に、回転数変化率INVRATEを計算してもよい。
(7)なお、本発明は上記した実施形態に限定されるものではなく、特許請求の範囲に記載した範囲内において適宜変更が可能である。また、上記各実施形態は、互いに無関係なものではなく、組み合わせが明らかに不可な場合を除き、適宜組み合わせが可能である。上記各実施形態において、実施形態の構成要素の個数、数値、量、範囲等の数値が言及されている場合、特に必須であると明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではない。また、上記各実施形態において、センサから車両の外部環境情報(例えば車外の湿度)を取得することが記載されている場合、そのセンサを廃し、車両の外部のサーバまたはクラウドからその外部環境情報を受信することも可能である。あるいは、そのセンサを廃し、車両の外部のサーバまたはクラウドからその外部環境情報に関連する関連情報を取得し、取得した関連情報からその外部環境情報を推定することも可能である。
1 車載システム
10 上位ECU
20 電動機制御装置
30 電動機
40 CPU
41 更新周期算出部
41a 指令間隔カウント部
41b 指令間隔記憶部
42 回転数変化率演算部
43 回転数推定部
44 出力演算部

Claims (4)

  1. 外部装置(10)から繰り返し送信される指令回転数に基づいて、インバータ(50)を制御することによって電動機(30)を回転させる電動機制御装置であって、
    前記外部装置から、ある指令回転数が送信された後、前記ある指令回転数と異なる値の指令回転数が次に前記外部装置から送信される迄の時間間隔である指令間隔を求める指令間隔カウント部(41a)と、
    前記指令間隔カウント部で求められる前記指令間隔に基づいて、前記外部装置から送信される前記指令回転数の更新周期を計算する更新周期算出部(41)と、
    前記指令回転数と前記更新周期算出部で算出された前記更新周期とに基づいて、所定時間に前記電動機を何回転増加させるか減少させるのかを示すパラメータである回転数変化率を計算する回転数変化率演算部(42)と、
    を備える電動機制御装置。
  2. 前記更新周期算出部は、前記指令間隔カウント部によって今回求められた前記指令間隔、および前記更新周期算出部によって前回算出された前記更新周期のうち、小さい方の値を今回の前記更新周期とする請求項1に記載の電動機制御装置。
  3. 前記指令間隔カウント部によって求められる前記指令間隔を記憶する指令間隔記憶部(41b)を備え、
    前記指令間隔カウント部は、繰り返し前記指令間隔を求め、
    前記指令間隔記憶部は、前記指令間隔カウント部によって繰り返し求められた複数の前記指令間隔を記憶し、
    前記更新周期算出部は、前記指令間隔記憶部に記憶されている前記複数の指令間隔のうち、前記指令間隔カウント部によって最も高い頻度で求められる指令間隔を、前記更新周期とする請求項1に記載の電動機制御装置。
  4. 前記回転数変化率演算部は、前記計算された前記更新周期が経過する毎に、前記回転数変化率を計算する請求項2または3に記載の電動機制御装置。
JP2022075220A 2022-04-28 2022-04-28 電動機制御装置 Pending JP2023163964A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022075220A JP2023163964A (ja) 2022-04-28 2022-04-28 電動機制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022075220A JP2023163964A (ja) 2022-04-28 2022-04-28 電動機制御装置

Publications (1)

Publication Number Publication Date
JP2023163964A true JP2023163964A (ja) 2023-11-10

Family

ID=88651678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022075220A Pending JP2023163964A (ja) 2022-04-28 2022-04-28 電動機制御装置

Country Status (1)

Country Link
JP (1) JP2023163964A (ja)

Similar Documents

Publication Publication Date Title
JP4017637B2 (ja) 車両用発電機の制御装置
JP2020035182A (ja) 制御装置及び制御方法
JP7380475B2 (ja) 異常判定装置
JP6375976B2 (ja) 車載用電動機制御装置
KR101289221B1 (ko) 전기차량 및 이의 구동축 진동 저감 제어 방법
CN108591035B (zh) 一种压缩机启动控制方法、装置、设备及可读存储介质
JP2023163964A (ja) 電動機制御装置
JP4333668B2 (ja) 内燃機関の制御装置
CN110789361B (zh) 汽车电机扭矩限制方法、装置、整车控制器及系统
JP2016013782A (ja) 車載電子制御装置
JP4946694B2 (ja) 永久磁石式発電機の制御装置
CN115803148A (zh) 数控装置及学习装置
JP5456608B2 (ja) モータの制御装置および制御方法
CN109905026B (zh) 升压转换器的控制系统及其控制方法
JP6687980B2 (ja) ファン制御システム
JP2009254138A (ja) 電動機制御装置
JP6434840B2 (ja) 電子制御装置
JP2007331718A (ja) 制振制御装置
JP2018170945A (ja) ブラシレスモータの制御装置
JP5495442B2 (ja) エンジン制御装置
JP2021034881A (ja) 監視装置
JP6622145B2 (ja) 制御装置
JP4762219B2 (ja) メカニカルシステムの制御装置
JP6464726B2 (ja) 車両用電動シートシステムの制御装置
US7158868B2 (en) Method and device for consistent bidirectional analysis of engine characteristics map data