(57)【要約】【課題】所定の時間内に演算が完了しない場合があっても、モータを駆動する信号波形の歪を極力低減できるＰＷＭ信号出力装置を提供する。【解決手段】モータ制御ＥＣＵ８のフル処理演算部１１は、回転数指令ωrefと、インバータ回路３を介してモータ６に通電される相電流と、モータ６の電気角θとに基づいて、ＰＷＭ信号を生成するためのデューティ指令値Ｖｕ，Ｖｖ，Ｖｗを、ＰＷＭ制御周期の半周期毎に演算する。また、短縮処理演算部１２は、フル処理演算部１１よりも演算内容を簡略化して、フル処理演算部１１よりも短い時間でデューティ指令値Ｖｕ，Ｖｖ，Ｖｗを演算する。そして、タイマ２５は、常にはフル処理演算部１１によりデューティ指令値を演算させるが、その演算が期限時間まで完了するかを監視し、完了しないと判断すると、短縮処理演算部１２より演算されたデューティ指令値を出力するように制御する。【選択図】図１
2014212641.tif 000002
【特許請求の範囲】
【請求項１】
入力されるモータの制御指令に基づいてＰＷＭ（Pulse Width Modulation）信号を生成し、駆動回路（３）に出力するＰＷＭ信号出力装置において、
前記制御指令と、前記駆動回路を介して前記モータに通電される電流と、前記モータの回転位置とに基づいて、前記ＰＷＭ信号を生成するための第１デューティ指令値を少なくともＰＷＭ制御周期ごとに演算する第１演算手段（１１，４２）と、
この第１演算手段よりも演算内容を簡略化することで、前記第１演算手段よりも短い時間で第２デューティ指令値を演算する第２演算手段（１２，４３）と、
常には前記第１演算手段により前記第１デューティ指令値を演算させて、前記演算が期限時間まで完了するか否かを監視し、
前記演算が前記期限時間まで完了しないと判断すると、前記第１デューティ指令値に替えて、前記第２演算手段より演算された前記第２デューティ指令値を出力するように制御する制御手段（２４，２５）とを備えることを特徴とするＰＷＭ信号出力装置。
【請求項２】
前記第２演算手段は、前記第２デューティ指令値を、前記制御指令と前記モータの回転位置とに基づいて演算することを特徴とする請求項１記載のＰＷＭ信号出力装置。
【請求項３】
前記制御手段は、前記第１演算手段による演算が前記期限時間まで完了するか否かを監視するためのタイマ回路（２５）を備えることを特徴とする請求項１又は２記載のＰＷＭ信号出力装置。
【請求項４】
前記第１演算手段としての第１演算ユニット（４２）と、
この第１演算ユニットとは独立に構成される、前記第２演算手段としての第２演算ユニット（４３）とを備えることを特徴とする請求項１から３の何れか一項に記載のＰＷＭ信号出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの制御指令に基づいてＰＷＭ（Pulse Width Modulation）信号を生成し、駆動回路に出力するＰＷＭ信号出力装置に関する。
【背景技術】
【０００２】
モータをＰＷＭ制御する際には、例えばモータに通電される相電流を検出し、その相電流に基づいて演算を行うことでモータの出力状態が反映されている演算結果を得ると、入力される制御指令と演算結果との偏差に応じてＰＷＭ制御の指令値（デューティ）を更新するなどしている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５４７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の演算は、一般にＰＷＭ周期ごとに、或いは半周期ごとに行われるが、演算を行う制御回路の処理負荷が一時的に増加するなどして所定の時間内に演算が完了しない場合がある。そのような場合に、例えばモータを正弦波駆動していると、インバータのような駆動回路が出力する電流波形が歪んで騒音や振動が発生するおそれがある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、その目的は、所定の時間内に演算が完了しない場合があっても、モータを駆動する信号波形の歪を極力低減できるＰＷＭ信号出力装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載のＰＷＭ信号出力装置によれば、第１演算手段は、制御指令と、駆動回路を介してモータに通電される電流と、モータの回転位置とに基づいて、ＰＷＭ信号を生成するための第１デューティ指令値を、少なくともＰＷＭ制御周期ごとに演算する。また、第２演算手段は、第１演算手段よりも演算内容を簡略化し、第１演算手段よりも短い時間で第２デューティ指令値を演算する。そして、制御手段は、常には第１演算手段により第１デューティ指令値を演算させるが、その演算が期限時間まで完了するかを監視し、完了しないと判断すると、第１デューティ指令値に替えて第２演算手段より演算された第２デューティ指令値を出力するように制御する。
したがって、第１演算手段による第１デューティ指令値の演算が完了せず、当該指令値の出力が間に合わない状況となっても、第２演算手段より簡略的に短時間で演算された第２デューティ指令値が出力されるので、モータを駆動する信号波形の歪を極力低減できる。
【０００７】
請求項２記載のＰＷＭ信号出力装置によれば、第２演算手段は、第２デューティ指令値を、制御指令とモータの回転位置とに基づいて演算する。したがって、第１演算手段が第１デューティ指令値をモータの通電電流を考慮して演算する分だけ、つまり、検出した通電電流に基づくフィードバック制御演算が不要となる分だけ第２演算手段の演算内容が簡略化される。これにより、第２演算手段は第２デューティ指令値を迅速に演算できる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態であり、モータ制御ＥＣＵの内部機能を中心に示す機能ブロック図
【図２】モータ駆動システムの構成図
【図３】制御内容を示すフローチャート
【図４】制御内容を示すタイミングチャート
【図５】作用原理を説明する図（その１）
【図６】作用原理を説明する図（その２）
【図７】第２実施形態を示すマルチコアＣＰＵの機能ブロック図
【発明を実施するための形態】
【０００９】
（第１実施形態）
図２に示すように、例えば車両に搭載される主機バッテリである直流電源１の両端には、平滑コンデンサ２及びインバータ回路３（駆動回路）が接続されている。インバータ回路３は、６個のＩＧＢＴ（スイッチング素子）４ＵＵ，４ＶＵ，４ＷＵ，４ＵＬ，４ＶＬ，４ＷＬを三相ブリッジ接続して構成されている。各ＩＧＢＴ４のコレクタ，エミッタ間には、フリーホイールダイオード５（ＵＵ〜ＷＵ，ＵＬ〜ＷＬ）が接続されている。インバータ回路３の各相出力端子（ＩＧＢＴ４ＵＵ，４ＶＵ，４ＷＵのエミッタ）は、モータ（ジェネレータ）６の図示しない各相固定子巻線に接続されている。
【００１０】
インバータ回路３のＶ，Ｗ相出力端子と、モータ６のＶ，Ｗ相固定子巻線とを接続する信号線には、電流センサ７（Ｖ，Ｗ）が介挿されており、電流センサ７により検出されたＶ，Ｗ相電流は、モータ制御ＥＣＵ（Electronic Control Unit）８に入力されている。また、モータ６には、ロータ（図示せず）の電気角（回転位置）を検出するレゾルバ９が取り付けられており、レゾルバ９により検出された電気角θは、モータ制御ＥＣＵ８に入力されている。モータ６は、例えばＩＰＭ（Interior Permanent Magnet）モータ等である。
【００１１】
モータ制御ＥＣＵ８（ＰＷＭ信号出力装置）は、上位ＥＣＵ１０と通信を行い、モータ６の制御指令を受信すると、入力されるＶ，Ｗ相電流及び電気角θに基づいてベクトル制御演算を行う。そして、ＰＷＭ制御指令である各相のデューティ指令値を算出すると、それらのデューティ指令値に基づいて各相ＰＷＭ信号（ＵＵ〜ＷＵ，ＵＬ〜ＷＬ）を生成する。ＰＷＭ信号は、図示しないドライバを介してインバータ回路３を構成するＩＧＢＴ４の各ゲートに出力される。
【００１２】
また、モータ制御ＥＣＵ８は、上記の演算を行うためのフル処理演算部１１（第１演算手段）と、短縮処理演算部１２（第２演算手段）とを有している。これらの演算部１１及び１２は、モータ制御ＥＣＵ８の制御プログラムであるソフトウェアにより実行される機能であり、以降で詳述する。
【００１３】
図１に示すように、モータ制御ＥＣＵ８において、上位ＥＣＵ１０より入力される回転数指令ωref（制御指令）は減算器２１に入力され、後述するように演算で求められたモータ６の回転数ωとの差分ΔωがＰＩ（Proportional-Integral）制御部２２に入力される。尚、回転数指令ωrefは、トルク指令として見ることもできる。ＰＩ制御部２２は、上記の差分ΔωにＰＩ制御演算を施して電流指令変換部２３に出力する。電流指令変換部２３は、入力された演算結果をｄ軸電流指令値Ｉｄrefとｑ軸電流指令値Ｉｑrefとに変換して、デマルチプレクサ（ＤＭＵＸ）２４に出力する。
【００１４】
デマルチプレクサ２４（制御手段）は、タイマ２５（制御手段，タイマ回路）より入力される切り換え制御信号に応じて、電流指令値Ｉｄref，Ｉｑrefの出力先を切り換える。その一方の出力先は減算器２６ｄ，２６ｑであり、減算器２６ｄ，２６ｑは、電流指令値Ｉｄref，Ｉｑrefと、演算により求められたモータ６のｄ軸電流Ｉｄ，ｑ軸電流Ｉｑとの差分ΔＩｄ，ΔＩｑを演算してＰＩ制御部２７ｄ，２７ｑに出力する。ＰＩ制御部２７ｄ，２７ｑは、入力される差分ΔＩｄ，ΔＩｑにＰＩ制御演算を施して減算器２８ｄ，２８ｑに出力する。
【００１５】
デマルチプレクサ２４を介して出力される電流指令値Ｉｄref，Ｉｑrefは、非干渉項演算部２９にも入力されている。非干渉項演算部２９は、上記電流指令値と回転数ωとに基づいて非干渉項Ｖｄ’，ｖｑ’を演算すると、これらを減算器２８ｄ，２８ｑに出力する。減算器２８ｄ，２８ｑは、ＰＩ制御部２７ｄ，２７ｑより入力される演算結果より非干渉項Ｖｄ’，ｖｑ’を減じて得られる電圧指令値Ｖｄ，Ｖｑを、座標変換部３０に出力する。尚、デマルチプレクサ２４のもう一方の出力先は、座標変換部３０となっている。この場合、電流指令変換部２３が出力する電流指令値Ｉｄref，Ｉｑrefが、そのまま電圧指令値Ｖｄ，Ｖｑとなって座標変換部３０に入力される。
【００１６】
２相／３相変換部３０は、入力される電圧指令Ｖｄ，Ｖｑについて２相（ｄｑ）／３相（ｕｖｗ）変換を行い、３相電圧Ｖｕ，Ｖｖ，Ｖｗ（デューティ指令値）を生成してＰＷＭ生成ユニット３１に出力する。ＰＷＭ生成ユニット３１は、３相電圧Ｖｕ，Ｖｖ，Ｖｗに基づいて３相ＰＷＭ信号を生成すると、それらをデッドタイム生成部３２を介してインバータ回路（ＩＮＶ）３に出力する。デッドタイム生成部３２は、入力されるＰＷＭ信号に、上アーム側のＩＧＢＴ４と、下アーム側のＩＧＢＴ４とが何れもオフになるデッドタイムを付加する。
【００１７】
電流センサ７Ｖ，７Ｗにより検出されたＶ相，Ｗ相電流は、Ａ／Ｄ変換器３３によりＡ／Ｄ変換されて３相／２相変換部３４に出力される。３相／２相変換部３４では、Ｖ相，Ｗ相電流から演算によりＵ相電流を求め、３相電流を２相電流ｉｄ，ｉｑに変換して減算器２６ｄ，２６ｑに出力する。
【００１８】
レゾルバ９より出力されるアナログ信号は、Ｒ／ＤコンバータによりＡ，Ｂ，Ｚ相のデジタル信号に変換されて、ＡＢＺ／θ変換部３６に出力される。ＡＢＺ／θ変換部３６は、入力される上記デジタル信号（パルス）をカウントすることで電気角θに変換して、３相／２相変換部３４と、予測電気角演算部３７を介して２相／３相変換部３０とに出力する。予測電気角演算部３７は、例えば入力される電気角θよりも半周期先の位相となる電気角を演算して、２相／３相変換部３０に与える（ただし、予測するのは必ずしも半周期先の位相に限らない）。また、回転数演算部入力される電気角θよりモータ６の回転数ωを演算して、減算器２１及び非干渉項演算部２９に出力する。
【００１９】
また、ＰＷＭ生成ユニット３１は、タイマ２５に計時開始信号STARTを与え、２相／３相変換部３０は、タイマ２５に計時終了信号STOPを与える。そして、タイマ２５は、これらの信号が入力される間隔を計時して、その時間が所定の閾値を超えるか否によってデマルチプレクサ２４の切り換えを制御する。以上において、２点鎖線で囲んだ部分が図１に示すフル演算処理部１１であり、破線で囲んだ部分が短縮処理演算部１２となる。
【００２０】
次に、本実施形態における処理の概要について説明する。図５に示すように、本実施形態では、ＰＷＭ制御の半周期毎にデューティ指令値を演算する。例えばキャリアである比較三角波のピークからボトムまでの期間に、次の周期におけるＰＷＭパルスのオンタイミングを決定し、前記ボトムから次のピークまでの期間に、前記ＰＷＭパルスのオフタイミングを決定する。したがって、デューティ指令値の演算（更新処理）に要する時間には、半周期毎のタイムリミットがある。
【００２１】
そのため、図５（ａ）に示すように、何らかの原因により更新処理が遅延してタイムリミットを超えると、次周期のＰＷＭパルスのオンタイミングが、本来のタイミングよりも遅れてしまうことになる。例えばモータを正弦波駆動する際には、モータの回転位相に応じて連続的に変化する、正弦波の振幅率に対応したＰＷＭデューティを設定する必要がある。したがって、ＰＷＭパルスのオンタイミングが遅れると、通電電流波形に歪が生じて振動や騒音の原因となる。
【００２２】
このような事態を回避するため、本実施形態では、図５（ｂ）に示すように、更新処理が遅延してタイムリミットを超えるであろうことが予測されると、デューティ指令値の演算を簡略化して短時間で完了させ、その演算結果に基づいたデューティを出力するように切り換えを行う。
【００２３】
図６を参照してより詳細に説明するが、ＥＣＵを構成するＣＰＵは、図６（ａ）（ｂ）に示すように、比較三角波のボトム及びピークのタイミングで電気角θと相電流ｉｖ，ｉｗとを読み込んで、デューティの演算を開始する（図５とはイメージが異なる）。図６（ｂ）に示す期間は、ＣＰＵによる処理がデューティの演算のみに占有されている期間であり、前記演算が終了すると図６（ｃ）に示すその他の処理が行われる。
【００２４】
そして、例えば図６（ｃ）で処理される通信などの負荷が一時的に増加することで、次にデューティの演算を開始するタイミングが遅れた結果、デューティを更新できなければ、前の周期にセットされたデューティがそのまま出力されて、電流波形に歪が生じるおそれがある。尚、図６（ｃ）側の処理時間が延びる場合だけでなく、図６（ｂ）のデューティ演算中においても、モータの出力トルクが大きく変動したり、何らかの異常が連続して発生するなどした場合には、デューティ演算の処理時間自体が延びることもある。また、電気角や相電流の読み込みは、半周期毎のタイミングで毎回行う必要があるので、演算を開始するタイミングを早めることも困難である。
【００２５】
そこで、本実施形態では図５（ｂ）に示すように対応する。以下、この処理について詳述する。図３（ａ）及び図４に示すように、モータ制御ＥＣＵ８は、比較三角波のボトム及びピークのタイミングで監視処理（タイマ２５）を起動すると（Ｓ１）、電気角θと相電流ｉｖ，ｉｗとを読み込んで（Ｓ２，Ｓ３）トルク推定演算を行う（Ｓ４）。ここで「トルク推定演算」とは、３相／２相変換部３４においてｄ軸電流ｉｄ，ｑ軸電流ｉｑを演算する処理に対応する。
【００２６】
続いて、モータ制御ＥＣＵ８は、電流フィードバック（Ｆ／Ｂ）演算を行うと（Ｓ５）、ＰＷＭスイッチングパターン，すなわちＰＷＭデューティ（第１デューティ指令値）を決定する（Ｓ６）。そして、処理時間を監視するタイマ２５を停止して（Ｓ７）処理を終了する。「電流フィードバック演算」は、図１において、減算器２６，ＰＩ制御器２７，減算器２８及び非干渉項演算部２９により行われる演算に対応し、ＰＷＭデューティの決定は、２相／３相変換部３０が３相電圧Ｖｕ，Ｖｖ，Ｖｗを生成する部分に対応する。つまり、図３（ａ）に示す処理が、フル演算処理部１１に対応する。
【００２７】
ここで図４に示すように、ステップＳ４におけるトルク推定演算が通常よりも長引いたため、タイマ２５において設定されているタイムリミットを超えたとする。すると、図３（ｂ）に示す監視処理（制御手段）において処理期限超過となり（Ｓ１１：ＹＥＳ）、短縮処理が実行される（Ｓ１２）。短縮処理では、図３（ｃ）に示すように、その時点で新たに電気角θと相電流ｉｖ，ｉｗとを読み込む（Ｓ２１，Ｓ２２）。そして、電気角θと相電流ｉｖ，ｉｗ（及びｉｕ）とに基づいて、直ちにＰＷＭデューティ（第２デューティ指令値）を決定する（Ｓ２３）。
【００２８】
上記の短縮処理は、図１では短縮処理演算部１２で行われる処理に対応する。すなわち、タイマ２５によりデマルチプレクサ２４が切り換えられて、電流指令変換部２３が出力する電流指令値Ｉｄref，Ｉｑrefが、そのまま電圧指令値Ｖｄ，Ｖｑとなって座標変換部３０に入力される。そして、２相／３相変換部３０が３相電圧Ｖｕ，Ｖｖ，Ｖｗを生成してＰＷＭ生成ユニット３１に出力する。すなわち、短縮処理演算部１２では、フル演算処理部１１が行うフィードバック制御に替えて、フィードフォワード制御を行うことになる。これにより、図４に示すように、ＰＷＭデューティの演算をより早く完了させて、更新が遅れることで前回のＰＷＭデューティを再度出力する事態を回避する。
【００２９】
以上のように本実施形態によれば、モータ制御ＥＣＵ８のフル処理演算部１１は、回転数指令ωrefと、インバータ回路３を介してモータ６に通電される相電流と、モータ６の電気角θとに基づいて、ＰＷＭ信号を生成するためのデューティ指令値Ｖｕ，Ｖｖ，Ｖｗを、ＰＷＭ制御周期の半周期毎に演算する。また、短縮処理演算部１２は、フル処理演算部１１よりも演算内容を簡略化して、フル処理演算部１１よりも短い時間でデューティ指令値Ｖｕ，Ｖｖ，Ｖｗを演算する。そして、タイマ２５は、常にはフル処理演算部１１によりデューティ指令値を演算させるが、その演算が期限時間まで完了するかを監視し、完了しないと判断すると、短縮処理演算部１２より演算されたデューティ指令値を出力するように制御する。
【００３０】
したがって、フル処理演算部１１によるデューティ指令値の演算が完了せず、当該指令値の出力が間に合わない状況となっても、短縮処理演算部１２より簡略的に短時間で演算されたデューティ指令値が出力されるので、モータ６を駆動する信号波形の歪を極力低減できる。そして、短縮処理演算部１２は、デューティ指令値を、回転数指令ωrefと電気角θとに基づいて演算するので、フル処理演算部１１がモータ６の相電流を考慮して演算する分だけ、つまり、検出した相電流に基づくフィードバック制御演算が不要となる分だけ演算内容が簡略化される。これにより、デューティ指令値を迅速に演算できる。
【００３１】
（第２実施形態）
図７に示すように、第２実施形態のモータ制御ＥＣＵ４１（ＰＷＭ信号出力装置）は、マルチコアＣＰＵにより構成されている。そして、演算コア４２（第１演算手段，第１演算ユニット）は、第１実施形態におけるフル処理演算部１１に相当する演算を行い、演算コア４３（第２演算手段，第２演算ユニット）は、短縮処理演算部１２に相当する演算を行う。メモリ４４は、演算コア４２及び４３が共通にアクセス可能となっており、それぞれが演算を行うためのパラメータ（電気角θ，フィードバック電流値，回転数指令）等が一時的に記憶される。
【００３２】
このようにマルチコア構成を採用することで、演算コア４２によるデューティ演算処理と、演算コア４３によるデューティ演算処理とは並行して実行可能となっている。演算コア４２により演算された（第１）デューティ指令値と、演算コア４３により演算された（第２）デューティ指令値とは、マルチプレクサ（ＭＵＸ）４５の入力端子にそれぞれ与えられている。マルチプレクサ４５の切り換え制御は、第１実施形態と同様にタイマ２５によって行われる。
【００３３】
演算コア４２は、タイマ２５の起動（START），停止（STOP）も行う。そして、通常はマルチプレクサ４５により、演算コア４２により演算されたデューティ指令値がＰＷＭ生成ユニット３１に出力されるように制御する。そして、演算コア４２がタイムリミットまでにタイマ２５による計時を停止させることができなければ、タイマ２５は、演算コア４３側を選択するように切り替える。したがって、演算コア４３により簡略的に演算されたデューティ指令値がＰＷＭ生成ユニット３１に出力される。
【００３４】
尚、演算コア４３によるデューティ指令値の演算は、演算コア４２からの処理開始要求が入力された時点から開始しても良いし、処理開始要求の入力がなくとも、常に演算を行うようにしても良い。また、メモリ４４を介して、演算コア４２から演算コア４３に演算に必要なパラメータ（データ）の受け渡しを行うようにしても良い。例えば、演算コア４２が取得した電気角θや相電流ｉｕ〜ｉｗをメモリ４４の所定領域に書き込んでおき、演算コア４３に演算を開始する際に、上記の領域からそれらのデータを読み込んで演算しても良い。
【００３５】
以上のように第２実施形態によれば、モータ制御ＥＣＵ４１は、演算コア４２及び４３を備え、演算コア４２にはフル処理演算部１１に相当する演算を行わせ、演算コア４３には短縮処理演算部１２に相当する演算を行わせるようにした。したがって、演算コア４２による演算がタイムリミットまでに完了しなかった場合に、演算コア４３により演算を代替させる際の余裕を持たせることができる。また、演算コア４３の処理能力に余力があれば、その他の処理を実行させることも可能になる。
【００３６】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
デューティ指令値の演算は、ＰＷＭ周期毎に行っても良い。
モータ制御ＥＣＵは、必ずしもベクトル制御を行う必要はない。
スイッチング素子はＩＧＢＴに限ることなく、ＭＯＳＦＥＴやバイポーラトランジスタなどでも良い。
【符号の説明】
【００３７】
図面中、３はインバータ回路（駆動回路）、６はモータ、８はモータ制御ＥＣＵ（ＰＷＭ信号出力装置）、１１はフル処理演算部（第１演算手段）、１２は短縮処理演算部（第２演算手段）、２４はデマルチプレクサ（制御手段）、２５はタイマ（制御手段）を示す。
【図１】
2014212641.tif 000003
【図２】
2014212641.tif 000004
【図３】
2014212641.tif 000005
【図４】
2014212641.tif 000006
【図５】
2014212641.tif 000007
【図６】
2014212641.tif 000008
【図７】
2014212641.tif 000009