(57)【要約】【課題】電力変換装置を介してモータを指令トルクで駆動する制御装置において、制御系と監視系とで電流及び角度検出用のハードウェアリソースを共用する際、電流及び角度の同時性が無くなり、制御若しくは監視の精度が低下するのを抑制する。【解決手段】制御装置は、電流検出部と、角度検出部と、第１の周期で各検出部から電流及び角度を取得し、電力変換装置を介してモータを指令トルクで駆動させるモータ制御部と、第２の周期で各検出部から電流及び角度を取得し、出力トルクを推定して制御の異常を判定するトルク監視部とを備える。各検出部は、トルク監視部よりもモータ制御部からの要求を優先させて電流及び角度を検出し、トルク監視部は、第２の周期内に各検出部から２回以上取得し、検出タイミングが同じ電流及び角度に基づき出力トルクを推定する。【選択図】図１
2019110723.tif 000002
【特許請求の範囲】
【請求項１】
外部からの供給電力をモータ駆動用の電力に変換する電力変換装置（１０）を介して、モータ（２）を指令トルクで駆動する制御装置（２０）であって、
前記モータ（２）に流れる電流を検出する電流検出部（４，２４）と、
前記モータのロータ位置を表す角度を検出する角度検出部（６，２６）と、
第１の周期で、前記電流検出部及び前記角度検出部から前記電流及び前記角度を取得して、前記電力変換装置に前記モータを指令トルクで駆動させるのに必要な信号を生成するモータ制御部（３０）と、
第２の周期で、前記電流検出部及び前記角度検出部から前記電流及び前記角度を取得して、前記モータの出力トルクを推定し、該推定した出力トルクと前記指令トルクとを比較することで、前記モータの制御の異常を判定するトルク監視部（４０）と、
を備え、
前記電流検出部及び前記角度検出部は、それぞれ、前記トルク監視部からの要求に比べ、前記モータ制御部からの要求を優先させて、前記電流及び前記角度を検出するよう構成され、
前記トルク監視部は、前記電流及び前記角度を、前記第２の周期内に２回以上取得し、該２回以上取得した前記電流及び前記角度のうち、前記電流検出部及び前記角度検出部での検出タイミングが同じであると確認できた前記電流及び前記角度に基づき、前記モータの出力トルクを推定するよう構成されている、電力変換装置の制御装置。
【請求項２】
当該制御装置は、単一のマルチコアマイコンにて構成されており、前記モータ制御部としての機能と、前記トルク監視部としての機能は、それぞれ、異なるコアが実行するプログラムにて実現される、請求項１に記載の電力変換装置の制御装置。
【請求項３】
前記トルク監視部としての機能を実現するコアは、マスターコア（４０Ａ）とチェッカーコア（４０Ｂ）とを備え、自身の異常を自己判定可能なロックステップコアにて構成されている、請求項２に記載の電力変換装置の制御装置。
【請求項４】
前記トルク監視部において、前記第２の周期内に前記電流及び前記角度を２回以上取得するときの時間間隔は、前記電流検出部及び前記角度検出部から前記電流及び前記角度を取得するのに要する電流取得最大時間及び角度取得最大時間よりも長く、且つ、前記第１の周期よりも短くなるように設定されている、請求項１〜請求項３の何れか１項に記載の電力変換装置の制御装置。
【請求項５】
前記モータ制御部は、前記第１の周期を、前記電流取得最大時間及び前記角度取得最大時間よりも長くなるように設定する、よう構成されている、請求項４に記載の電力変換装置の制御装置。
【請求項６】
前記トルク監視部は、前記第２の周期内に前記電流及び前記角度を２回以上取得するときの時間間隔を、タイマカウンタ（４２）にて計時するよう構成されている、請求項１〜請求項５の何れか１項に記載の電力変換装置の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、外部からの供給電力をモータ駆動用の電力に変換する電力変換装置を介して、モータを指令トルクで駆動させる制御装置に関する。
【背景技術】
【０００２】
電気自動車やハイブリッド車等、動力源としてモータを備えた車両においては、モータの出力トルクが、車両制御装置から指令される指令トルクとなるように、モータを駆動する必要がある。
【０００３】
このため、この種の車両において、モータの駆動に利用される電力変換装置には、モータに流れる電流Ｉとロータの回転位置を表す角度θとに基づき、モータを指令トルクで駆動させるための制御信号を生成する制御装置が設けられている。
【０００４】
この制御装置においては、特許文献１、２に記載のように、電流Ｉと角度θとに基づきモータの出力トルクを推定し、その推定した推定トルクと指令トルクとを比較することで、モータが正常に駆動されているか否かを監視することが提案されている。
【０００５】
また、この提案の制御装置においては、電力変換装置を介してモータを駆動する制御系と、モータの出力トルクを監視して異常判定を行う監視系とが、それぞれ、異なるマイコンにて構成されている。
【０００６】
そして、制御系の制御マイコン及び監視系の監視マイコンは、それぞれ、電流検出部及び角度検出部から電流Ｉ及び角度θを取得し、制御マイコンは、取得した電流Ｉ及び角度θに基づき電力変換装置からモータへの出力を制御する。また、監視マイコンは、取得した電流Ｉ及び角度θに基づきモータの出力トルクを推定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−１７９３２号公報
【特許文献２】特開２０１５−９１１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記提案の制御装置のように、制御系と監視系とを異なるマイコンにて構成すると、制御装置全体の構成が複雑になり、コストアップを招く。このため、この種の制御装置においては、装置構成を簡単にして、コストを低減するために、制御系と監視系とを一つのマイコンにて構成することが考えられる。
【０００９】
一方、上記制御装置において、制御系と監視系とを一つのマイコンにて構成すると、上述した電流Ｉ及び角度θを取得するためにマイコンに設けられる電流検出部や角度検出部等のハードウェアリソースが、制御系と監視系とで共用されることになる。
【００１０】
このように制御系と監視系とでハードウェアリソースを共用すると、制御系及び監視系からの電流Ｉ及び角度θの取得要求が衝突して、制御系若しくは監視系で取得される電流Ｉ及び角度θの同時性が無くなり、正常動作できなくなることが考えられる。
【００１１】
つまり、例えば、制御系からの取得要求により、電流検出部としてのＡ／Ｄ変換部が動作しているときに、監視系で取得要求が発生した場合、その取得要求に対するＡ／Ｄ変換部の動作開始タイミングが遅れることになる。この場合、監視系では、電流Ｉの検出タイミングが角度θの検出タイミングよりも遅れることになり、出力トルクの推定に用いる電流Ｉ及び角度θの同時性が無くなることになる。
【００１２】
そして、このように、監視系で電流Ｉ及び角度θの同時性が無くなると、モータの出力トルクを正常に推定できず、制御の異常が誤判定されることになる。また、制御系で電流Ｉ及び角度θの同時性が無くなった場合には、モータを指令トルクで駆動することができなくなる。
【００１３】
本開示の一局面は、電力変換装置を介してモータを指令トルクで駆動する制御装置において、制御系と監視系とで電流及び角度検出用のハードウェアリソースを共用する際、制御若しくは監視に用いる電流及び角度の同時性が無くなり、制御若しくは監視の精度が低下するのを抑制することが望ましい。
【課題を解決するための手段】
【００１４】
本開示の一局面の制御装置は、外部からの供給電力をモータ駆動用の電力に変換する電力変換装置を介してモータを指令トルクで駆動させるものであり、電流検出部（４，２４）、角度検出部（６，２６）、モータ制御部（３０）及びトルク監視部（４０）を備える。
【００１５】
ここで、電流検出部は、モータに流れる電流を検出し、角度検出部は、モータのロータ位置を表す角度を検出する。
また、モータ制御部は、第１の周期で、電流検出部及び角度検出部から電流及び角度を取得して、電力変換装置にモータを指令トルクで駆動させるのに必要な信号を生成する。
【００１６】
また、トルク監視部は、第２の周期で、電流検出部及び角度検出部から電流及び角度を取得して、モータの出力トルクを推定し、その推定した出力トルクと指令トルクとを比較することで、モータの制御の異常を判定する。
【００１７】
そして、電流検出部及び角度検出部は、それぞれ、トルク監視部からの要求に比べ、モータ制御部からの要求を優先させて、電流及び角度を検出するよう構成される。
このため、モータ制御部及びトルク監視部から各検出部に対する要求が競合した場合には、モータ制御部からの要求が優先されることになり、モータ制御部は要求後速やかに電流及び角度を取得して、モータ制御のための信号を生成することができる。
【００１８】
よって、モータ制御部において、電流検出部及び角度検出部での電流及び角度の検出タイミングがずれて、電流及び角度の同時性が無くなり、モータの制御精度が低下するのを抑制できる。
【００１９】
一方、モータ制御部及びトルク監視部から各検出部への要求が競合した場合、各検出部では、モータ制御部からの要求を優先させるため、トルク監視部からの要求に対する電流及び角度の検出タイミングが遅れることになる。
【００２０】
また、電流検出部において電流を検出するのに要する時間と、角度検出部において角度を検出するのに要する時間は、電流検出部でのＡ／Ｄ変換動作等によって異なる。
このため、モータ制御部及びトルク監視部からの要求が競合して、各検出部でトルク監視部からの要求に対する検出タイミングが遅れた場合には、その検出タイミングに時間差が生じ、トルク監視部で取得される電流と角度との同時性が無くなってしまう。
【００２１】
これに対し、トルク監視部は、電流及び角度を、第２の周期内に２回以上取得し、その２回以上取得した電流及び角度のうち、電流検出部及び角度検出部での検出タイミングが同じであると確認できた電流及び角度に基づき、モータの出力トルクを推定する。
【００２２】
従って、トルク監視部は、モータ制御部と競合しないタイミングで要求して、電流検出部及び角度検出部から取得した、同時性を有する電流及び角度を用いて、モータの出力トルクを推定できるようになる。
【００２３】
このため、本開示の電力変換装置の制御装置によれば、モータ制御部及びトルク監視部にて電流検出部及び角度検出部を共用させることで、装置構成を簡単にすることができるだけでなく、モータ制御及びトルク監視を精度よく実行できるようになる。
【００２４】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００２５】
【図１】実施形態の制御装置全体の構成を表すブロック図である。
【図２】トルク監視部にて実行されるトルク監視処理を表すフローチャートである。
【図３】図２に示す同時性判定処理を表すフローチャートである。
【図４】図２に示す異常判定処理を表すフローチャートである。
【図５】トルク監視部での電流及び角度の取得動作を表すタイムチャートである。
【図６】モータ制御部との間で取得要求が衝突したときのトルク監視部での電流及び角度の取得動作を表すタイムチャートである。
【発明を実施するための形態】
【００２６】
以下に本開示の実施形態を図面と共に説明する。
図１に示すように、本実施形態の制御装置２０は、電気自動車若しくはハイブリッド車において、動力源となるモータ２を、車両の走行制御を行う車両制御装置からの指令トルクに応じて制御するためのものである。
【００２７】
モータ２は、例えば３相交流モータであり、モータ駆動用の電力変換装置として、車両に搭載されたバッテリから電力供給を受けてモータ２の各相に交流電力を供給するインバータ１０を備える。
【００２８】
また、モータ２には、インバータ１０から各相に流れるモータ電流を検出する電流センサ４、及び、モータ２の回転に応じて変化する信号を発生するレゾルバ６が設けられている。
【００２９】
そして、制御装置２０には、電流センサ４からの検出信号をＡ／Ｄ変換することでモータ２の各相の電流Ｉのデータを取得するＡ／Ｄ変換部２４、及び、レゾルバ６からのアナログ信号を、ロータ位置を表す角度θのデジタルデータに変換するエンコーダ２６が備えられている。
【００３０】
なお、本実施形態において、電流センサ４及びＡ／Ｄ変換部２４は、本開示の電流検出部に相当し、レゾルバ６及びエンコーダ２６は、本開示の角度検出部に相当する。
Ａ／Ｄ変換部２４及びエンコーダ２６は、図１に点線矢印で示すモータ制御部３０からの要求に従い、電流Ｉ及び角度θのデータを取得し、モータ制御部３０に入力する。
【００３１】
そして、モータ制御部３０は、予め設定された第１の周期で、Ａ／Ｄ変換部２４及びレゾルバ６から電流Ｉ及び角度θを取得し、その取得した電流Ｉ及び角度θに基づき、モータ２を指令トルクで駆動するための制御量を算出する、モータ制御処理を実行する。
【００３２】
モータ制御処理にて算出される制御量は、インバータ１０を構成するスイッチング素子をモータ２の回転に同期した所定デューティ比のＰＷＭ信号にてオン・オフさせることで、インバータ１０からモータ２への供給電力を制御するためのものである。
【００３３】
このため、モータ制御部３０は、そのデューティ比に対応した時間を出力タイマ２２にセットすることで、出力タイマ２２からドライバ１２にＰＷＭ信号を出力させ、ドライバ１２を介してインバータ１０からモータ２に供給される電力を制御する。
【００３４】
なお、モータ制御部３０におけるモータ制御のための演算動作については、特許文献１，２に記載されているように周知であるため、ここでは、詳細な説明は省略する。
次に、制御装置２０は、各種演算処理を行うコアを複数備えたマルチコアマイコンにて構成されており、モータ制御部３０の機能は、複数のコアの一つであるコアＡがモータ制御用のプログラムを実行することにより実現される。
【００３５】
また、制御装置２０を構成する複数のコアの内、コアＡとは異なるコアＢは、モータ制御部３０により駆動制御されるモータ２のトルクを監視し、出力トルクが指令トルクから大きく外れたときに、異常が発生したと判断する、トルク監視部４０として機能する。
【００３６】
トルク監視部４０を構成するコアＢは、マスターコア４０Ａとチェッカーコア４０Ｂとを備え、例えば、各コア４０Ａ，４０Ｂの演算処理結果の排他的論理和をとることで、演算処理結果の異常を自己判定可能なロックステップコアにて構成されている。
【００３７】
つまり、トルク監視部４０においては、マスターコア４０Ａとチェッカーコア４０Ｂとで同じ監視処理を行い、監視結果が一致しているときには、監視結果は正常であると判断して、監視結果を、モータ制御部３０に出力する。また、監視結果が異なっていれば、監視結果は異常であると判断として、モータ制御部３０や車両制御装置にその旨を通知する。
【００３８】
次に、トルク監視部４０は、モータ２の電流Ｉ及び角度θに基づき、モータ２の出力トルクを推定し、その推定した推定トルクと指令トルクとを比較して、これらの差が閾値以上であるときにモータ制御に異常が生じたことを判定する。
【００３９】
そして、トルク監視部４０は、モータ制御部３０と共に、マルチコアマイコンにて構成された制御装置２０内に設けられているため、Ａ／Ｄ変換部２４及びエンコーダ２６をモータ制御部３０と共用する。
【００４０】
このため、Ａ／Ｄ変換部２４及びエンコーダ２６は、図１に点線矢印で示すように、モータ制御部３０からの要求だけでなく、トルク監視部４０からの要求によっても、電流Ｉ及び角度θを検出するための検出動作を行うように構成されている。
【００４１】
また、Ａ／Ｄ変換部２４及びエンコーダ２６は、モータ制御部３０及びトルク監視部４０からの要求が衝突したときには、モータ制御部３０からの要求を優先させて、電流Ｉ及び角度θを検出し、トルク監視部４０からの要求に対する検出動作を遅延させる。
【００４２】
一方、トルク監視部４０は、予め設定された第２の周期毎に実施する１回のトルク監視期間の間に、Ａ／Ｄ変換部２４及びエンコーダ２６に対し所定の時間間隔Ｔ１を空けて２回、電流Ｉ及び角度θを要求するようにされている。
【００４３】
つまり、トルク監視部４０は、Ａ／Ｄ変換部２４及びエンコーダ２６に対し間隔を空けて２回要求を行うことで、少なくとも一回の要求は、モータ制御部３０からの要求と衝突することがないようにするのである。
【００４４】
この結果、トルク監視部４０では、モータ制御部３０からの要求と衝突せずに、Ａ／Ｄ変換部２４及びエンコーダ２６を介して同じ検出タイミングで検出された電流Ｉ及び角度θを使って、トルク監視を実施できるようになる。
【００４５】
そして、トルク監視部４０には、Ａ／Ｄ変換部２４及びエンコーダ２６に対し、時間間隔Ｔ１を空けて２回、電流Ｉ及び角度θの取得要求を発生するために、その時間Ｔ１を計時するためのタイマカウンタ４２が設けられている。
【００４６】
また、トルク監視部４０からの要求に従い、Ａ／Ｄ変換部２４及びエンコーダ２６から出力される電流Ｉ及び角度θのデータは、ＤＭＡ３４及び３６を介して、過去２回分、メモリ４４及び４６に格納される。
【００４７】
そして、トルク監視部４０は、メモリ４４及び４６に格納された過去２回分の電流Ｉ及び角度θの内、同タイミングに検出された電流Ｉ及び角度θを使って、モータ２の出力トルクを検出する。
【００４８】
なお、ＤＭＡ３４、３６は、ダイレクト・メモリ・アクセス・コントローラであり、Ａ／Ｄ変換部２４にてＡ／Ｄ変換された電流Ｉ及びエンコーダ２６にて検出された角度θを、過去２回分メモリ４４及び４６に直接格納する。但し、これらＤＭＡやメモリは、電流Ｉ用、角度θ用として、個々に設ける必要はなく、電流Ｉ及び角度θの検出データを一つのメモリに格納するようにされていてもよい。
【００４９】
次に、トルク監視部４０において、トルク監視用として予め設定された第２の周期毎に実行されるトルク監視処理について説明する。
なお、このトルク監視処理の実行周期である第２の周期は、モータ制御部３０におけるモータ制御の実行周期である第１の周期とは異なる。また、第１の周期は、モータ２の回転状態に応じて変更されることがあるが、第２の周期は、一定周期である。
【００５０】
図２に示すように、トルク監視部４０において、トルク監視処理が開始されると、まずＳ１００にて、タイマカウンタ４２に所定のカウント値を設定して、タイマカウンタ４２による計時を開始させる。
【００５１】
この結果、図５に示すように、タイマカウンタ４２は、計時を開始した後（時点ｔ０）、カウント値が最大値に達した時点ｔ１で、Ａ／Ｄ変換部２４及びエンコーダ２６に対し、１回目の取得要求を出力する。
【００５２】
また、タイマカウンタ４２は、カウント値が最大値に達して零に戻り、その後、カウント値が最大値に達するまでの一定時間Ｔ１が経過したとき（時点ｔ２）にも、Ａ／Ｄ変換部２４及びエンコーダ２６に対し、２回目の取得要求を出力する。
【００５３】
なお、タイマカウンタ４２は、計時開始後、２回最大値に達すると、カウント動作を停止する。
このように、時点ｔ１，ｔ２で、タイマカウンタ４２から電流Ｉ及び角度θの取得要求が出力されると、Ａ／Ｄ変換部２４がモータ２の各相の電流Ｉを、電流Ｉ１，Ｉ２として順次Ａ／Ｄ変換し、ＤＭＡ３４が、そのＡ／Ｄ変換結果をメモリ４４に転送する。
【００５４】
また、ＤＭＡ３６は、エンコーダ２６からの出力である角度θのデータを、角度θ１，θ２としてメモリ４６に順次転送する。そして、ＤＭＡ３４，３６は、データをメモリ４４，４６に転送して書き込む際には、その転送時刻をタイムスタンプとしてメモリ４４，４６に書き込む。
【００５５】
従って、メモリ４４には、時点ｔ１，ｔ２から、Ａ／Ｄ変換部２４によるＡ／Ｄ変換及びＤＭＡ３４によるＤＭＡ転送に要する時間が経過した時点ｔ１２，ｔ２２で、モータ２の各相に流れた電流Ｉ１，Ｉ２が、タイムスタンプと共に書き込まれることになる。
【００５６】
また、メモリ４６には、時点ｔ１，ｔ２から、ＤＭＡ３６によるＤＭＡ転送に要する時間が経過した時点ｔ１１，ｔ２１で、モータ２のロータ位置を表す角度θ１，θ２が、タイムスタンプと共に書き込まれることになる。
【００５７】
このように、Ｓ１００にてタイマカウンタ４２による計時を開始させると、タイマカウンタ４２の最大カウント値に対応した一定時間Ｔ１を空けて、２回、電流Ｉ及び角度θが検出され、その検出結果がメモリ４４，４６に格納される。なお、メモリ４４，４６は、ＲＡＭ等、データの書き込み読み出しが可能な記憶媒体である。
【００５８】
ここで、タイマカウンタ４２にて計時される一定時間Ｔ１は、Ａ／Ｄ変換部２４及びＤＭＡ３４による電流取得最大時間よりも長く、且つ、エンコーダ２６及びＤＭＡ３６による角度取得最大時間よりも長くなるように設定されている。
【００５９】
なお、電流取得最大時間は、Ａ／Ｄ変換部２４及びＤＭＡ３４が電流センサ４にて検出されたモータ２の各相の電流Ｉをメモリ４４に書き込むのに要する最大時間である。電流以外の信号に対する変換を逐次実行している場合は、それらを含めた時間となる。また、角度取得最大時間は、エンコーダ２６及びＤＭＡ３６がレゾルバ６からの出力に基づきモータ２の角度θをメモリ４６に書き込むのに要する最大時間である。
【００６０】
また、タイマカウンタ４２にて計時される一定時間Ｔ１は、モータ制御部３０によるモータ２の制御周期である第１の周期よりも短くなるように設定される。
一方、モータ制御部３０によるモータ２の制御周期である第１の周期は、モータ２の回転状態に応じて設定されるが、その設定により第１の周期を短くし過ぎると、モータ制御部３０とトルク監視部４０とで電流Ｉ及び角度θの取得要求が衝突することになる。
【００６１】
このため、モータ制御部３０は、モータ２の回転状態に応じてモータ２の制御周期である第１の周期を可変するに当たって、第１の周期を、上述した電流取得最大時間及び角度取得最大時間よりは長くなるように設定するよう構成されている。
【００６２】
この結果、トルク監視部４０からの２回の取得要求の内、少なくとも１回は、モータ制御部３０からの取得要求と衝突することがなく、しかも、衝突しない取得要求に対しては、電流Ｉ及び角度θが同時に検出されてメモリ４４，４６に書き込まれることになる。
【００６３】
次に、Ｓ２００では、上記のようにメモリ４４，４６に２回格納された電流Ｉ及び角度θの中から、同時性を有する電流Ｉ及び角度θを抽出するための同時性判定処理を実行する。
【００６４】
なお、同時性を有する電流Ｉ及び角度θとは、モータ制御部３０からの取得要求によって検出タイミングが遅延されることなく、Ａ／Ｄ変換部２４及びエンコーダ２６で同時に検出された電流Ｉ及び角度θのことである。
【００６５】
また次に、Ｓ２００で同時性を有する電流Ｉ及び角度θが抽出されると、Ｓ３００に移行して、その抽出された電流Ｉ及び角度θに基づき、モータ２の出力トルクを推定し、その推定した推定トルクと指令トルクとを比較する、異常判定処理を実行する。
【００６６】
そして、続くＳ４００では、Ｓ３００での異常判定処理による異常判定結果を、モータ制御部３０や車両制御装置等に出力する、判定結果の出力処理を実行し、当該トルク監視処理を終了する。
【００６７】
なお、Ｓ４００での判定結果の出力処理では、モータ制御の異常を判定した際、モータ制御部３０に対し、モータ２の停止指令を出力することで、モータ制御部３０に、モータ２を停止させるフェイルセーフ処理、等を実行させる。
【００６８】
次に、Ｓ２００及びＳ３００にて実行される同時性判定処理及び異常判定処理について説明する。
図３に示すように、Ｓ２００の同時性判定処理では、Ｓ２１０にて、２回目に取得したモータ２の各相の電流Ｉのタイムスタンプと、角度θのタイムスタンプとを、メモリ４４，４６から読み込み、タイムスタンプの差分である時間差を算出し、Ｓ２２０に移行する。
【００６９】
Ｓ２２０では、Ｓ２１０にて算出した取得２回目のタイムスタンプの差分に、予め設定された閾値を超える差分があるか否かを判断する。
そして、Ｓ２２０にて、取得２回目のタイムスタンプの差分に、閾値を超える差分はないと判断されると、Ｓ２３０に移行して、２回目に取得したモータ２の各相の電流Ｉと角度θは同時性があると判断し、当該同時性判定処理を終了する。
【００７０】
次に、Ｓ２２０にて、閾値を超える差分があると判断されると、Ｓ２４０に移行し、１回目に取得したモータ２の各相の電流Ｉのタイムスタンプと、角度θのタイムスタンプとを、メモリ４４，４６から読み込み、タイムスタンプの差分である時間差を算出する。
【００７１】
そして、続くＳ２５０では、Ｓ２４０にて算出した取得１回目のタイムスタンプの差分に、予め設定された閾値を超える差分があるか否かを判断する。
Ｓ２５０にて、取得１回目のタイムスタンプの差分に、閾値を超える差分はないと判断されると、Ｓ２６０に移行して、１回目に取得したモータ２の各相の電流Ｉと角度θは同時性があると判断し、当該同時性判定処理を終了する。
【００７２】
また、逆に、Ｓ２５０にて、取得１回目のタイムスタンプの差分に、閾値を超える差分があると判断されると、Ｓ２７０に移行して、１回目及び２回目に取得したモータ２の各相の電流Ｉと角度θは、共に同時性がないと判断し、当該同時性判定処理を終了する。
【００７３】
次に、図４に示すように、Ｓ３００の異常判定処理では、Ｓ３１０にて、Ｓ２００の同時性判定処理にて、同時性があると判定された電流Ｉ及び角度θはあるか否かを判断する。
【００７４】
Ｓ３１０にて、同時性があると判定された電流Ｉ及び角度θはないと判断されると、Ｓ３２０にて、トルク監視部４０での電流Ｉ及び角度θの取得動作に異常が生じたと判断して、当該異常判定処理を終了する。
【００７５】
次に、Ｓ３１０にて、同時性があると判定された電流Ｉ及び角度θがあると判断されると、Ｓ３３０、Ｓ３４０にて、同時性があると判定された電流Ｉ及び角度θに基づき、モータ２の出力トルクを推定する。
【００７６】
つまり、Ｓ３３０では、同時性があると判定された各相の電流Ｉと角度θとに基づき、モータ２のｄ軸方向及びｑ軸方向の電流Ｉｄ，ｉｑを求め、Ｓ３４０にて、その算出した電流Ｉｄ，Ｉｑに基づき、推定トルクを算出する。
【００７７】
なお、こうしたモータ２の出力トルクの算出手順については、特許文献１、２等に記載されており、周知であるため、ここでは詳細な説明は省略する。
そして、続くＳ３５０では、Ｓ３４０にて算出した推定トルクと、モータ制御部３０がモータ２を駆動する際の目標トルクである指令トルクとを比較することで、これら各トルクの差分を算出し、Ｓ３６０に移行する。
【００７８】
Ｓ３６０では、Ｓ３５０にて算出された差分は、予め設定された異常判定用の閾値を超えているか否かを判断する。そして、トルクの差分が閾値を超えていなければ、Ｓ３７０にて、モータ制御部３０によるモータ制御は正常に実行されていると判断し、当該異常判定処理を終了する。
【００７９】
また、Ｓ３６０にて、トルクの差分が閾値を超えていると判断されると、Ｓ３８０にて、モータ制御部３０によるモータ制御に異常が生じていると判断して、当該異常判定処理を終了する。
【００８０】
なお、Ｓ３２０、Ｓ３７０、Ｓ３８０での判定結果は、Ｓ４００にて、モータ制御部３０や車両制御装置等に出力される。
以上説明したように、本実施形態の制御装置２０は、電力変換装置であるインバータ１０を介してモータ２を指令トルクで駆動させるモータ制御部３０と、モータ制御部３０により制御されるモータ２の出力トルクを監視するトルク監視部４０とを備える。
【００８１】
そして、これらモータ制御部３０及びトルク監視部４０の機能は、特許文献１，２に記載のように、各々異なるマイコンではなく、マルチコアマイコンのコアＡ，コアＢにて実現される。
【００８２】
従って、本実施形態の制御装置２０によれば、モータ制御部３０及びトルク監視部４０に対し、モータ２の電流Ｉを取得するためのＡ／Ｄ変換部２４や、モータ２の角度θを取得するためのエンコーダ２６を共用させて、装置構成を簡単にすることができる。
【００８３】
また、このように、モータ制御部３０及びトルク監視部４０に対し、Ａ／Ｄ変換部２４及びエンコーダ２６を共用させると、モータ制御部３０とトルク監視部４０とで電流Ｉ及び角度θの取得要求が衝突することがある。
【００８４】
これに対し、本実施形態では、Ａ／Ｄ変換部２４及びエンコーダ２６を、モータ制御部３０からの取得要求を、トルク監視部４０からの取得要求よりも優先的に受け付けて、電流Ｉ及び角度θをモータ制御部３０に出力するように構成している。
【００８５】
このため、モータ制御部３０とトルク監視部４０とで電流Ｉ及び角度θの取得要求が衝突したとしても、モータ制御部３０からの取得要求に対応して電流Ｉ及び角度θを取得し、モータ制御部３０に出力できる。このため、モータ制御部３０によるモータ制御を適正に実施させることができる。
【００８６】
一方、モータ制御部３０とトルク監視部４０との間で電流Ｉ及び角度θの取得要求が衝突すると、Ａ／Ｄ変換部２４及びエンコーダ２６からは、取得要求に対し遅れて検出された電流Ｉ及び角度θが入力される。
【００８７】
また、Ａ／Ｄ変換部２４を介して電流Ｉを取得するのに要する時間と、エンコーダ２６を介して角度θを取得するのに要する時間は異なり、電流Ｉは角度θに比べて、Ａ／Ｄ変換部２４のＡ／Ｄ変換時間によって大きく遅延される。
【００８８】
このため、モータ制御部３０とトルク監視部４０との間で取得要求が衝突したときには、トルク監視部４０に入力される電流Ｉ及び角度θの検出タイミングに時間差が生じ、電流Ｉ及び角度θの同時性がなくなってしまう。
【００８９】
また、例えば、図６に示すように、トルク監視部４０からの取得要求により、時点ｔ１でＡ／Ｄ変換部２４がＡ／Ｄ変換動作を開始してから、Ａ／Ｄ変換が終了するまでの間に、モータ制御部３０から取得要求が発生し、取得要求が衝突したとする。
【００９０】
この場合、Ａ／Ｄ変換部２４は、モータ制御部３０からの取得要求が発生した時点ｔｃで、電流ＩのＡ／Ｄ変換動作を中断して、モータ制御部３０からの取得要求に基づく電流ＩのＡ／Ｄ変換動作を開始する。そして、そのＡ／Ｄ変換動作が完了すると、トルク監視部４０からの取得要求に基づくＡ／Ｄ変換動作を開始する。
【００９１】
これに対し、エンコーダ２６においては、トルク監視部４０からの取得要求に従い、モータ２の角度θを速やかに出力することができるので、トルク監視部４０は、角度θを速やかに検出することができるようになる。
【００９２】
従って、このような場合には、トルク監視部４０に入力される電流Ｉと角度θとの検出タイミングは、Ａ／Ｄ変換部２４とエンコーダ２６との動作時間の差よりも更に大きくずれて、トルク監視部４０にて取得される電流Ｉ及び角度θの同時性がなくなってしまう。
【００９３】
そこで、本実施形態では、トルク監視部４０が、トルク監視を行う第２の周期内で、モータ制御部３０でのモータ２の制御周期Ｔｃよりも短い時間間隔Ｔ１で２回取得要求を発生する。
【００９４】
そして、トルク監視部４０は、その２回の取得要求によりＡ／Ｄ変換部２４及びエンコーダ２６にて得られる電流Ｉ及び角度θを、ＤＭＡ３４，３６及びメモリ４４，４６を介して取り込み、その取り込んだ電流Ｉ及び角度θの中から、同時性を有する電流Ｉ及び角度θを抽出する。
【００９５】
このため、トルク監視部４０は、その抽出した電流Ｉ及び角度θに基づき、モータ２の出力トルクを正確に推定することができるようになり、その推定トルクから、モータ制御の異常を精度よく判定することが可能となる。
【００９６】
よって、本実施形態の制御装置２０によれば、モータ制御部３０及びトルク監視部４０にてＡ／Ｄ変換部２４及びエンコーダ２６を共用させることで、装置構成を簡単にすることができるだけでなく、モータ制御及びトルク監視を精度よく実行できるようになる。
【００９７】
一方、制御装置２０は、単一のコアにて構成されたＣＰＵを備えたマイコンにて構成し、ＣＰＵが、モータ制御処理とトルク監視処理をタイマ割り込み等で実行するようにしても、モータ制御部３０及びトルク監視部４０としての機能は実現できる。
【００９８】
これに対し、本実施形態では、制御装置２０を、コアＡ及びコアＢを備えたマルチコアマイコンにて構成し、コアＡにモータ制御処理を実行させ、コアＢにトルク監視処理を実行させる。
【００９９】
このため、モータ制御部３０としての機能は、コアＡが実行するプログラムにて実現され、トルク監視部４０としての機能は、コアＢが実行するプログラムにて実現されることになり、トルク監視部４０による監視の独立性を確保することができる。
【０１００】
つまり、制御用のコアＡが誤動作しても、監視用のコアＢは正しく動作することになり、コアＡの誤動作によりモータ制御に異常が発生したことを検知して、運転者への報知等、安全対策を実施することが可能となる。
【０１０１】
また、本実施形態では、監視用のコアＢをロックステップコアにて構成することで、コアＢ自身の異常を監視し、異常時にその旨をモータ制御部３０等に通知するようにされている。このため、トルク監視部４０による誤判定を防止して、安全性を向上することができる。
【０１０２】
また、トルク監視部４０には、Ａ／Ｄ変換部２４及びエンコーダ２６から電流Ｉ及び角度θを取得するために、タイマカウンタ４２が設けられ、タイマカウンタ４２のカウント値が最大値に達したときに出力される信号にて、取得要求を出力するようにされている。
【０１０３】
このため、トルク監視部４０は、所謂インターバルタイマであるタイマカウンタ４２による計時時間によって、Ａ／Ｄ変換部２４及びエンコーダ２６から電流Ｉ及び角度θを２回取得する際の時間間隔Ｔ１を規定できる。
【０１０４】
つまり、トルク監視部４０を構成するコアＢにて実行される割り込み処理等のプログラムによって、Ａ／Ｄ変換部２４及びエンコーダ２６から電流Ｉ及び角度θを２回取得する際の時間間隔Ｔ１が変動することはない。
【０１０５】
従って、トルク監視部４０は、タイマカウンタ４２にて計時される２回の取得要求の時間間隔Ｔ１を上記のように設定することで、２回の取得要求の内、少なくとも１回は、同時性を有する電流Ｉ及び角度θをより確実に取得できるようになる。
【０１０６】
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
例えば、上記実施形態では、制御装置２０は、モータ制御部３０及びトルク監視部４０として機能するコアＡ及びコアＢを備えたマルチコアマイコンにて構成されるものとして説明したが、単一のコアを備えたＣＰＵにて構成されるマイコンにて構成してもよい。
【０１０７】
この場合、モータ制御部３０及びトルク監視部４０としての機能は、ＣＰＵがタイマ割り込み等で並列的に実行するプログラムにて実現するようにすればよい。
また、上記実施形態では、トルク監視部４０は、トルク監視を周期的に行うための第２の周期内に、Ａ／Ｄ変換部２４及びエンコーダ２６に対し２回取得要求を行うものとして説明したが、この取得要求は、３回、４回…というように、３回以上にしてもよい。
【０１０８】
このようにすれば、取得要求がモータ制御部３０と衝突する確率をより少なくすることができる。このため、モータ制御部３０がモータ制御を実施する第１の周期に対し、トルク監視部４０が行う取得要求の時間間隔Ｔ１を設定する際の設定条件を、上記実施形態よりも緩くすることができる。
【０１０９】
また、上記実施形態では、トルク監視部４０がＡ／Ｄ変換部２４及びエンコーダ２６に取得要求を行う際の時間間隔Ｔ１をタイマカウンタ４２にて計時するものとした。
しかし、この時間間隔Ｔ１の計時は、必ずしもタイマカウンタ４２にて行う必要はなく、マイコンにて実行されるプログラムにて時間を計時するソフトウェアタイマを利用するようにしてもよい。
【０１１０】
また、上記実施形態では、ＤＭＡ３４，３６にて電流Ｉと角度θのタイムスタンプを取得するものとした。しかし、このタイムスタンプは必ずしもＤＭＡ３４，３６にて取得する必要はなく、Ａ／Ｄ変換部２４及びエンコーダ２６自身で取得しても良い。
【０１１１】
また、上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【０１１２】
２…モータ、４…電流センサ、６…レゾルバ、１０…インバータ、１２…ドライバ、２０…制御装置、２２…出力タイマ、２４…Ａ／Ｄ変換部、２６…エンコーダ、３０…モータ制御部、４０…トルク監視部、４０Ａ…マスターコア、４０Ｂ…チェッカーコア、４２…タイマカウンタ、３４，３６…ＤＭＡ、４４，４６…メモリ。
【図１】
2019110723.tif 000003
【図２】
2019110723.tif 000004
【図３】
2019110723.tif 000005
【図４】
2019110723.tif 000006
【図５】
2019110723.tif 000007
【図６】
2019110723.tif 000008