(57)【要約】【課題】デッドタイム付加以外の遅延を考慮して電流の検出精度を向上させて、負荷の制御性の低下を抑制する。【解決手段】電力制御方法は、デューティ指令値を算出し、デューティ指令値とキャリア信号との比較結果に基づいてＰＷＭ信号を生成し、ＰＷＭ信号に基づいてインバータを駆動させることによりＰＷＭ電圧を制御する。電力制御方法においては、ＰＷＭ電圧において発生する位相のずれに応じた補正量を用いて、キャリア信号の増減に応じてデューティ指令値を補正する場合に、当該補正される場合のデューティ指令値が、キャリア信号のピーク値を超えるか否かを判断し、補正される場合のデューティ指令値が、キャリア信号のピーク値を超えると判断される場合には、補正されたデューティ指令値のピーク値に対する超過量に応じた修正量を用いて、補正量を修正し、修正された補正量を用いて、キャリア信号の増減に応じてデューティ指令値を補正する。【選択図】図６
2020115719.tif 000002
【特許請求の範囲】
【請求項１】
ＰＷＭ制御に用いられるデューティ指令値を算出し、前記デューティ指令値とキャリア信号との比較結果に基づいてＰＷＭ信号を生成し、前記ＰＷＭ信号に基づいてインバータを駆動させることにより負荷に供給されるＰＷＭ電圧を制御する、電力制御方法であって、
前記ＰＷＭ電圧において発生する位相のずれに応じた補正量を用いて、前記キャリア信号の増減に応じて前記デューティ指令値を補正する場合に、当該補正される場合のデューティ指令値が、前記キャリア信号のピーク値を超えるか否かを判断し、
前記補正される場合のデューティ指令値が、前記キャリア信号の前記ピーク値を超えると判断される場合には、前記補正される場合のデューティ指令値の前記ピーク値に対する超過量に応じた修正量を用いて、前記補正量を修正し、
前記修正された補正量を用いて、前記キャリア信号の増減に応じて前記デューティ指令値を補正する、電力制御方法。
【請求項２】
請求項１に記載の電力制御方法であって、
前記補正量は、第１遅延に起因する第１成分と、前記第１遅延とは異なる第２遅延に起因する第２成分とからなり、
前記第１成分は、前記第１成分を用いて補正される場合のデューティ指令値が、前記キャリア信号の前記ピーク値を超える状態において、該デューティ指令値により生成される前記ＰＷＭ電圧が所望のパルス幅となる成分であり、
前記第１成分を用いて補正される場合のデューティ指令値が前記キャリア信号の前記ピーク値を超える場合には、前記修正量は前記第２成分となる、電力制御方法。
【請求項３】
請求項２に記載の電力制御方法であって、
前記第１遅延は、デッドタイム付加の処理において付加される時間に応じて定められる遅延である、電力制御方法。
【請求項４】
請求項２または３に記載の電力制御方法であって、
前記第２遅延は、前記ＰＷＭ信号の生成から、前記ＰＷＭ電圧の負荷への印加までの伝達遅延を含む、電力制御方法。
【請求項５】
請求項２から４のいずれか１項に記載の電力制御方法であって、
前記第２遅延は、前記デューティ指令値の生成に用いられる測定値の検出遅延を含む、電力制御方法。
【請求項６】
請求項２から５のいずれか１項に記載の電力制御方法であって、
前記第２遅延は、前記ＰＷＭ電圧に応じて前記負荷へと流れる電流の検出遅延を含む、電力制御方法。
【請求項７】
直流電源と、
ＰＷＭ信号に応じて、前記直流電源から出力される直流電圧を交流のＰＷＭ電圧に変換し、前記ＰＷＭ電圧を負荷に出力するインバータと、
前記ＰＷＭ信号を生成する制御部と、を有する電力制御装置であって、
前記制御部は、
ＰＷＭ制御に用いられるデューティ指令値を算出し、
前記ＰＷＭ電圧において発生する位相のずれに応じた補正量を用いて、前記キャリア信号の増減に応じて前記デューティ指令値を補正する場合に、当該補正される場合のデューティ指令値が、前記キャリア信号のピーク値を超えるか否かを判断し、
前記補正される場合のデューティ指令値が、前記キャリア信号の前記ピーク値を超えると判断される場合には、前記補正される場合のデューティ指令値の前記ピーク値に対する超過量に応じた修正量を用いて、前記補正量を修正し、
前記修正された補正量を用いて、前記キャリア信号の増減に応じて前記デューティ指令値を補正し、
前記補正されたデューティ指令値と前記キャリア信号との比較結果に基づいて前記ＰＷＭ信号を生成する、電力制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力制御方法、及び、電力制御装置に関する。
【背景技術】
【０００２】
直流電源を用いて交流で駆動するモータなどの負荷を制御する方法として、パルス幅変調（ＰＷＭ）制御がある。ＰＷＭ制御においては、直流電源と負荷との間にインバータが設けられ、インバータをＰＷＭ信号によりスイッチング制御することで、擬似的な交流電力が負荷に供給される。詳細には、所定の周期で負荷に流れる電流値をＡ／Ｄ変換などのサンプリングにより検出し、検出された電流値に基づいてデューティ指令値を算出し、デューティ指令値とキャリア波とを比較する。そして、比較結果に応じてＰＷＭ信号を生成し、ＰＷＭ信号の立ち上がりと立ち下がりとのタイミングでインバータのスイッチング制御を行うことで、擬似的な交流電力を負荷に印加することができる。
【０００３】
ＰＷＭ制御の１つの方式である三角波比較ＰＷＭ方式においては、キャリア波として三角波が用いられる。キャリア波として三角波が用いられることにより、デューティ指令値とキャリア三角波との比較により生成されるＰＷＭ信号は、立ち上がりと立ち下がりとのタイミングの中間点が、三角波のピークである山及び谷の双方または一方と一致する。
【０００４】
ＰＷＭ信号の立ち上がりと立ち下がりとの中間点である、キャリア三角波の山および谷の片方または両方のタイミングでサンプリングを行うことにより、サンプリングのタイミングとスイッチング制御のタイミングとを時間的に離間できる。その結果、サンプリングにより得られる電流値にスイッチング制御に起因する高調波電流（ＰＷＭ高調波電流）が混入しにくくなる。
【０００５】
複数の相の交流電力が印加される負荷が用いられる場合には、直流電源と負荷との間に設けられるインバータは、相ごとに対をなす２つのスイッチング素子を備える。この１対のスイッチング素子が同時にスイッチング制御されるのを防ぐために、スイッチング素子のスイッチング制御を一定時間遅延させるデッドタイム付加が行われる。
【０００６】
しかしながら、デッドタイム付加を行うことにより、ＰＷＭ信号の位相が遅れるおそれがある。ＰＷＭ信号がキャリア三角波に対して相対的に位相がずれてしまうと、ＰＷＭ信号の立ち上がりと立ち下がりとの中間点においてキャリア三角波がピークとならない。そのため、キャリア三角波のピークにおいてサンプリングすると、得られる電流値に高調波電流が混入するおそれがある。
【０００７】
特許文献１に開示されている技術によれば、キャリア三角波の増加又は減少の状態の判定結果に応じてデューティ指令値を補正する技術が開示されている。この技術によれば、デューティ指令値を補正することで、キャリア三角波の状態に応じてＰＷＭ信号の位相が予め進められので、デッドタイム付加によるＰＷＭ信号の位相のずれを抑制できる。その結果、得られる電流値に高調波電流が混入するおそれが少なくなり、ＰＷＭ制御の精度低下を抑制することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第６４１４３２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＰＷＭ制御においては、デッドタイム付加に起因する遅延だけでなく、ＰＷＭ信号が生成されてからインバータが実際にスイッチング制御されるまでの遅延や、電流センサ以外のセンサにおけるサンプリングに起因する遅延などによって、生成されるＰＷＭ電圧において位相のずれが生じてしまう。
【００１０】
特許文献１に開示の技術において、デッドタイム付加以外の遅延も考慮してデューティ指令値を補正する方法が考えられる。しかしながら、特許文献１に開示されている方法では、デューティ指令値がキャリア三角波の最大または最小の近傍の値である場合には、補正後のデューティ指令値がキャリア波の変動範囲を超えてしまう。その結果、ＰＷＭ信号のパルスがデューティ指令値に応じた幅とならないため、ＰＷＭ電圧に外乱が生じてしまいＰＷＭ制御の精度が低下するおそれがある。
【課題を解決するための手段】
【００１１】
本発明の電力制御方法の一態様は、ＰＷＭ制御に用いられるデューティ指令値を算出し、デューティ指令値とキャリア信号との比較結果に基づいてＰＷＭ信号を生成し、ＰＷＭ信号に基づいてインバータを駆動させることにより負荷に供給されるＰＷＭ電圧を制御する。電力制御方法においては、ＰＷＭ電圧において発生する位相のずれに応じた補正量を用いて、キャリア信号の増減に応じてデューティ指令値を補正する場合に、当該補正される場合のデューティ指令値が、キャリア信号のピーク値を超えるか否かを判断し、補正される場合のデューティ指令値が、キャリア信号のピーク値を超えると判断される場合には、補正されたデューティ指令値のピーク値に対する超過量に応じた修正量を用いて、補正量を修正し、修正された補正量を用いて、キャリア信号の増減に応じてデューティ指令値を補正する。
【発明の効果】
【００１２】
本発明の一態様によれば、デッドタイム付加以外の遅延を考慮して、ＰＷＭ電圧における位相のずれの発生を抑制しながら所望のパルス幅とできるので、ＰＷＭ制御の精度の向上を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、電力制御装置の構成の一例を示すブロック図である。
【図２】図２は、ＰＷＭ変換器の詳細な構成を示すブロック図である。
【図３】図３は、キャリア三角波を示す図である。
【図４】図４は、デッドタイム付加の処理についての説明図である。
【図５】図５は、デューティ指令値の算出制御の一例を示すフローチャートである。
【図６】図６は、ＰＷＭ制御の一例の説明図である。
【図７】図７は、ＰＷＭ制御の他の一例の説明図である。
【図８】図８は、ＰＷＭ制御のさらに他の一例の説明図である。
【図９】図９は、本実施形態及び比較例についての、ＰＷＭ電圧のパルス幅とデューティ指令値との関係を示すグラフである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態について説明する。
【００１５】
図１は、本発明の実施形態における電力制御装置の構成の一例を示すブロック図である。
【００１６】
電力制御装置１００は、電気的な負荷であるモータ２００を制御する装置である。例えば、モータ２００は、ハイブリッド自動車や電動自動車などに搭載された電動機であり、電力制御装置１００によってモータ２００が制御されることで、車両の駆動状態が制御される。
【００１７】
電力制御装置１００は、直流電力を交流電力に変換し、変換した交流電力をモータ２００に供給する。電力制御装置１００は、トルク制御部１と、ｄｑ軸／ＵＶＷ相変換器２と、ＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）変換器３と、インバータ（ＩＮＶ）４と、バッテリ５と、バッテリ電圧検出器６と、電流検出器７ｕ及び７ｖと、モータ回転速度演算器８と、ＵＶＷ相／ｄｑ軸変換器９とを備える。バッテリ５は、本実施形態においては電力制御装置１００の一部として構成されているが、電力制御装置１００とは別体として構成されてもよい。バッテリ５は、直流電源であって、例えば、車載用のリチウムイオン電池である。
【００１８】
モータ２００は、駆動用モータやステアリング用モータなどの、多相交流で駆動する電動機である。本実施形態では、モータ２００は、ＵＶＷ相の三相交流電流により駆動する。また、モータ２００に隣接して、回転子位置検出器２０１が設けられている。
【００１９】
回転子位置検出器２０１は、例えば、レゾルバであって、所定周期でモータ２００の回転子の位置を検出する。回転子位置検出器２０１は、回転子の電気角θを示す検出信号を、ｄｑ軸／ＵＶＷ相変換器２、モータ回転速度演算器８、及び、ＵＶＷ相／ｄｑ軸変換器９に出力する。
【００２０】
トルク制御部１は、不図示の上位コントローラから、モータ２００の駆動力を決定するトルク指令値Ｔ*を取得する。例えば、上位コントローラは、アクセルペダルの踏込み量などの車両の運転状態に応じて、トルク指令値Ｔ*を算出する。
【００２１】
トルク制御部１には、さらに、バッテリ電圧検出器６により検出されるバッテリ５のバッテリ電圧検出値Ｖdcが入力されるとともに、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqと、モータ２００の回転速度Ｎとが入力される。
【００２２】
ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqは、モータ２００へ供給される三相交流電流のうちのＵ相電流ｉu、Ｖ相電流ｉvを、ＵＶＷ相／ｄｑ軸変換器９により変換されることで得られる。なお、Ｕ相電流ｉu、Ｖ相電流ｉvは、電流検出器７ｕ、７ｖにより検出される。
【００２３】
モータ２００の回転速度Ｎは、モータ回転速度演算器８によって、以下のように取得される。モータ回転速度演算器８は、所定周期で回転子位置検出器２０１から検出される信号に対してＡ／Ｄ変換によるサンプリングを行うことにより電気角θを取得し、今回取得された電気角検出値θと前の周期に取得された電気角検出値との差分を求め、その差分から単位時間あたりの電気角検出値の変化量を算出する。そして、電気角θの検出角の単位時間あたりの変化量から、モータ回転速度演算器８は、モータ２００の回転速度Ｎを算出する。
【００２４】
トルク制御部１は、入力されるトルク指令値Ｔ*と、バッテリ電圧検出値Ｖdcと、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqと、モータ２００の回転速度Ｎと基づいて、電流ベクトル制御演算を実行することにより、ｄ軸電圧指令値ｖd*及びｑ軸電圧指令値ｖq*を算出する。そして、トルク制御部１は、ｄ軸電圧指令値ｖd*及びｑ軸電圧指令値ｖq*を、ｄｑ軸／ＵＶＷ相変換器２に出力する。
【００２５】
ｄｑ軸／ＵＶＷ相変換器２は、次式（１）に示されるように、回転子位置検出器２０１にて検出された電気角検出値θに基づいて、トルク制御部１により算出されたｄ軸電圧指令値ｖd*及びｑ軸電圧指令値ｖq*を、三相ＰＷＭ電圧指令値であるＵ相ＰＷＭ電圧指令値ｖu*、Ｖ相電圧指令値ｖv*及びＷ相電圧指令値ｖw*に変換する。そして、ｄｑ軸／ＵＶＷ相変換器２は、変換された三相ＰＷＭ電圧指令値ｖu*、ｖv*及びｖw*をＰＷＭ変換器３に出力する。
【００２６】
【数１】
2020115719.tif 000003
【００２７】
ＰＷＭ変換器３は、バッテリ電圧検出器６から出力されるバッテリ電圧検出値Ｖdc、ｄｑ軸／ＵＶＷ相変換器２により変換された三相ＰＷＭ電圧指令値ｖu*、ｖv*及びｖw*、及び、電流検出器７ｕ、７ｖにより検出されるＵ相電流ｉu、Ｖ相電流ｉvに基づいて、パルス幅変調（ＰＷＭ）制御に使用される、パルス信号であるＰＷＭ信号Ｐuu、Ｐul、Ｐvu、Ｐvl、Ｐwu及びＰwlを生成する。
【００２８】
インバータ４は、ＰＷＭ変換器３から出力されるＰＷＭ信号Ｐuu、Ｐul、Ｐvu、Ｐvl、Ｐwu及びＰwlに基づいてスイッチング素子が制御されることにより、バッテリ５の直流電力を交流電力に変換し、変換された交流電力をモータ２００の各相に供給する。
【００２９】
本実施形態において、インバータ４は、３相６アームで構成される。すなわち、インバータ４は、６つのスイッチング素子（アーム）を備え、ＵＶＷの３相で駆動される。詳細には、インバータ４は、各相に対応して、バッテリ５に対して並列に接続される配線を備え、それぞれの配線において直列に接続された１対のスイッチング素子が設けられている。そして、直列に接続された１対のスイッチング素子の間がモータ２００と接続されている。なお、スイッチング素子としては、例えば、電界効果トランジスタ等で構成されたパワー素子が用いられ、制御端子（例えばゲート端子）に供給されるパルス信号であるＰＷＭ信号のレベルに応じて、オンとオフとが切り替えられる。
【００３０】
以下では、各相において、モータ２００の電源端子とバッテリ５の正極端子との間に接続されたスイッチング素子を上段のスイッチング素子と称し、モータ２００の電源端子とバッテリ５の負極端子との間に接続されたスイッチング素子を下段のスイッチング素子と称する。また、バッテリ５の正極端子と負極端子の両端にはバッテリ電圧検出値Ｖdcだけの電位差が生じている。説明の便宜上、正極端子に生じる電位を「＋Ｖdc／２」とし、負極端子に生じる電位を「−Ｖdc／２」として説明する。
【００３１】
上段のスイッチング素子は、オン（導通状態）のときにバッテリ５の正極端子に生じる電位「＋Ｖdc／２」をモータ２００に供給し、オフ（非導通状態）のときに電位の供給を停止する。一方、下段のスイッチング素子は、オンのときにバッテリ５の負極端子に生じる電位「−Ｖdc／２」をモータ２００に供給し、オフのときにモータ２００への電位の供給を停止する。
【００３２】
ＰＷＭ変換器３は、三相ＰＷＭ電圧指令値ｖu*、ｖv*及びｖw*と、バッテリ電圧検出値Ｖdcとに基づいて、インバータ４に設けられる６つのスイッチング素子のそれぞれを駆動するＰＷＭ信号Ｐuu、Ｐul、Ｐvu、Ｐvl、Ｐwu及びＰwlを生成する。これらのＰＷＭ信号に基づいてインバータ４のスイッチング素子のそれぞれが制御されることで、バッテリ５の直流電力が擬似的に交流電力に変換されて、変換された交流電力がモータ２００に供給される。
【００３３】
以下では、ＰＷＭ変換器３における制御について、代表的に、Ｕ相に対応する一対のスイッチング素子のうちの上段のスイッチング素子へのＰＷＭ信号Ｐuuと、下段のスイッチング素子へのＰＷＭ信号Ｐulとの生成処理について説明する。なお、ＶＷ相についても、同様に、ＰＷＭ変換器３は、Ｖ相に対応するＰＷＭ信号Ｐvu及びＰvlと、Ｗ相に対応するＰＷＭ信号Ｐwu及びＰwlとを出力する。
【００３４】
ＰＷＭ変換器３は、Ｕ相ＰＷＭ電圧指令値ｖu*とバッテリ電圧検出値Ｖdcとに基づいて、デューティ指令値を演算する。デューティ指令値は、モータ２００へ印加されるべきＵ相ＰＷＭ電圧ｖuに対して一意に定まる。ＰＷＭ変換器３は、演算されたデューティ指令値とキャリア波とを比較することで、上段のスイッチング素子に対するＰＷＭ信号Ｐuuと、下段のスイッチング素子に対するＰＷＭ信号Ｐulとを出力する。
【００３５】
ＰＷＭ信号Ｐuuがハイレベルである場合には、上段のスイッチング素子がオンとなり、モータ２００のＵ相端子には「＋Ｖdc／２」の電位が供給される。ＰＷＭ信号Ｐulがハイレベルである場合には、下段のスイッチング素子がオンとなり、モータ２００のＵ相端子には「−Ｖdc／２」の電位が供給される。これらの上段と下段とのスイッチング素子の制御により、モータ２００のＵ相端子の両端にＶdcの電位差を生じさせることができる。
【００３６】
さらに、ＰＷＭ変換器３は、上段と下段とからなる１対のスイッチング素子が同時にオンになるのを防止するために、ＰＷＭ信号Ｐuu及びＰulにデッドタイムを付加し、デッドタイムが付加されたＰＷＭ信号をインバータ４に出力する。
【００３７】
インバータ４は、ＰＷＭ信号Ｐuu、Ｐul、Ｐvu、Ｐvl、Ｐwu及びＰwlのレベルに基づいてスイッチング素子の接続状態（オン／オフ）が切り替えられることにより、モータ２００のＵ相コイルにＵ相ＰＷＭ電圧ｖuを供給する。同様に、インバータ４は、Ｖ相コイルにＶ相ＰＷＭ電圧ｖvを供給し、Ｗ相コイルにＷ相ＰＷＭ電圧ｖwを供給する。その結果、モータ２００の各相のコイルに対して、交流電流ｉu、ｉv及びｉwが流れる。
【００３８】
電流検出器７u及び７vは、それぞれ、モータ２００に供給されるＵ相電流ｉu及びＶ相電流ｉvを検出する。電流検出器７uは、インバータ４とモータ２００のＵ相コイルとの間に設けられるＵ相電力線に対して接続され、電流検出器７vは、インバータ４とモータ２００のＶ相コイルとの間のＶ相電力線に対して接続される。電流検出器７u及び７vは、検出したＵ相電流ｉu及びＶ相電流ｉvを、ＰＷＭ変換器３及びＵＶＷ相／ｄｑ軸変換器９に出力する。
【００３９】
ＵＶＷ相／ｄｑ軸変換器９は、電流検出器７u及び７vから出力されるＵ相電流ｉu及びＶ相電流ｉvに対する検出信号を取得し、各検出信号についてアナログ信号からデジタル信号にＡ／Ｄ変換するサンプリング処理を行うことにより、Ｕ相電流ｉu、及び、Ｖ相電流ｉvを求める。そして、Ｕ相電流ｉu、Ｖ相電流ｉv、及び、Ｗ相電流ｉwの総和がゼロとなる性質を利用して、ＵＶＷ相／ｄｑ軸変換器９は、次式（２）に従って、Ｕ相電流ｉu、及び、Ｖ相電流ｉvと、回転子位置検出器２０１により求められた電気角θの検出値とに基づいて、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqを算出する。
【００４０】
【数２】
2020115719.tif 000004
【００４１】
ＵＶＷ相／ｄｑ軸変換器９は、変換により得られたｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqをトルク制御部１に出力する。トルク制御部１においては、これらのｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqを用いて、ｄ軸電圧指令値ｖd*及びｑ軸電圧指令値ｖq*に対するフィードバック制御が行われる。
【００４２】
図２は、ＰＷＭ変換器３の詳細な構成を示すブロック図である。図３は、ＰＷＭ変換器３の処理にて用いられるキャリア三角波を示す図である。
【００４３】
ＰＷＭ変換器３は、デューティ指令値演算部３１と、デッドタイム補償処理部３２と、パルスタイミング補正処理部３３と、ＰＷＭ変換処理部３４と、デッドタイム付加処理部３５とを有する。本実施形態においては、これらのブロックのうち、デューティ指令値演算部３１、デッドタイム補償処理部３２、及び、パルスタイミング補正処理部３３については、汎用的なコントローラによってプログラムが実行されることで、ソフトウェアとしてこれらの機能が実現される。ＰＷＭ変換処理部３４、及び、デッドタイム付加処理部３５については、特定の機能を備えるマイコンにより、ハードウェアとしてこれらの機能が実現される。
【００４４】
また、本実施形態のＰＷＭ制御においては、キャリア信号として、図３に示される三角波が用いられる。例えば、不図示のキャリア信号生成部は、カウンタにより構成され、時間の経過と共にカウント値を増減させることでキャリア三角波を生成する。なお、キャリア三角波は、パルスタイミング補正処理部３３及びＰＷＭ変換処理部３４における処理に用いられる。このキャリア三角波の振幅はＫDであり、周期はｔcである。
【００４５】
再び図２を参照すれば、デューティ指令値演算部３１は、次式（３）に従って、ｄｑ軸／ＵＶＷ相変換器２から出力されるＵ相ＰＷＭ電圧指令値ｖu*と、バッテリ電圧検出器６から出力されるバッテリ電圧検出値Ｖdcと、キャリア三角波の振幅ＫDに基づいて、モータ２００に印加されるＵ相ＰＷＭ電圧を生成するためのデューティ指令値Ｄu01*を演算する。なお、キャリア三角波の振幅ＫDは、デューティ指令値演算部３１に予め記憶されている。
【００４６】
【数３】
2020115719.tif 000005
【００４７】
式（３）によれば、Ｕ相ＰＷＭ電圧指令値ｖu*が大きくなるほどデューティ指令値Ｄu01*は大きくなり、バッテリ電圧検出値Ｖdcが小さくなるほどデューティ指令値Ｄu01*を大きくなる。デューティ指令値演算部３１は、演算されたデューティ指令値Ｄu01*をデッドタイム補償処理部３２に出力する。
【００４８】
デッドタイム補償処理部３２は、デューティ指令値Ｄu01*に対してデッドタイム補償処理を行うことで、後段のデッドタイム付加処理部３５におけるデッドタイムｔdtの付加に起因するＰＷＭ電圧のパルス幅の変化に対する補償を行う。なお、このような補償処理は、デッドタイム補償と称される。
【００４９】
本実施形態では、デッドタイム補償処理部３２は、次式（４）に従って、デューティ指令値Ｄu01*に対して、Ｕ相電流ｉuの極性（正負）に基づいてｓｇｎ（ｉu）によって符号を定め、補償量「２ＫDｔdt／ｔc」を加算又は減算することで、デューティ指令値Ｄu02*を算出する。
【００５０】
【数４】
2020115719.tif 000006
【００５１】
具体的に、デッドタイム補償処理部３２は、Ｕ相電流ｉuがプラスである場合、すなわちＵ相電流ｉuがインバータ４からモータ２００へ流れる場合には、Ｕ相ＰＷＭ電圧ｖuのオフ期間が短くなるようにデューティ指令値Ｄu01*に対する補償を行う。なお、オフ期間とは、バッテリ５の負極端子の電位がモータ２００のＵ相に印加される期間のことである。一方、Ｕ相電流ｉuがマイナスである場合、すなわちＵ相電流ｉuがモータ２００からインバータ４へ流れる場合には、デッドタイム補償処理部３２は、Ｕ相ＰＷＭ電圧ｖuのオフ期間が長くなるようにデューティ指令値Ｄu01*に対する補償を行う。
【００５２】
式（４）によれば、デッドタイム補償処理部３２は、キャリア三角波の振幅ＫD及び周期ｔcと、デッドタイムｔdtとを用いて、補償量「２ＫDｔdt／ｔc」を算出する。補償量「２ＫDｔdt／ｔc」は、デッドタイム時間ｔdtの半値「ｔdt／２」を、時間単位からキャリア三角波の振幅の単位へ単位系の変換をしたものである。この単位系の変換は、キャリア三角波の半周期「ｔc／２」において、キャリア三角波が振幅の２倍の「２ＫD」だけ変化することに基づいて行われる。
【００５３】
Ｕ相電流ｉuがプラスである場合、すなわちＵ相電流ｉuがインバータ４からモータ２００へ流れる場合には、デッドタイム補償処理部３２は、Ｕ相ＰＷＭ電圧ｖuのオフ期間が短くなるように、デューティ指令値Ｄu01*に対し補償量「２ＫDｔdt／ｔc」を加算することによりデューティ指令値Ｄu02*を算出する。
【００５４】
一方、Ｕ相電流ｉuがマイナスである場合、すなわちＵ相電流ｉuがモータ２００からインバータ４へ流れる場合には、デッドタイム補償処理部３２は、Ｕ相ＰＷＭ電圧ｖuのオフ期間が長くなるように、デューティ指令値Ｄu01*に対し補償量「２ＫDｔdt／ｔc」を減算することによりデューティ指令値Ｄu02*を算出する。
【００５５】
パルスタイミング補正処理部３３は、ＰＷＭ信号の位相（レベルの切り替えタイミング）を補正するために、デューティ指令値Ｄu02*に対する補正を行うことでデューティ指令値Ｄu03*を算出する。このパルスタイミング補正処理部３３による補正により、Ｕ相ＰＷＭ電圧ｖuのパルス幅の中間値をキャリア三角波の山及び谷の双方または一方と一致させることができる。
【００５６】
詳細には、パルスタイミング補正処理部３３は、次式（５）に従って、三角波の変化量ΔＣの極性に応じて補正量Ｋdly_finの符号を切り替え、デューティ指令値Ｄu02*に対して補正量Ｋdly_finの加算又は減算を行うことで、デューティ指令値Ｄu03*を算出する。
【００５７】
【数５】
2020115719.tif 000007
【００５８】
式（５）の右辺第２項に示されるように、補正量Ｋdly_finに対する正負の符号は、符号関数ｓｇｎ（ΔＣ）によって定まる。補正量Ｋdly_finの算出方法は、後に式（７）〜（１７）を用いて説明する。ΔＣは、キャリア三角波の変化量であり、１回の制御演算中に互いに異なるタイミングで取得した２つの三角波のカウント値の差分である。本実施形態では、キャリア三角波の変化量ΔＣは、次式（６）に従って、今回のキャリア三角波の取得値Ｃ2から前回のキャリア三角波の取得値Ｃ1を減算することで算出される。
【００５９】
【数６】
2020115719.tif 000008
【００６０】
パルスタイミング補正処理部３３は、式（６）に従って算出された変化量ΔＣがゼロよりも大きい場合には、キャリア三角波が増加区間であると判定し、変化量ΔＣがゼロよりも小さい場合には、キャリア三角波が減少区間であると判定する。なお、パルスタイミング補正処理部３３は、キャリア三角波の２つのカウント値でなく、互いに異なるタイミングで３つ以上のカウント値を取得し、それらの複数のカウント値に基づいてキャリア三角波の増減を判定してもよい。
【００６１】
そして、キャリア三角波が増加区間である場合には、パルスタイミング補正処理部３３は、デューティ指令値Ｄu02*に対して補正量Ｋdly_finを加算して、デューティ指令値Ｄu03*を求める。算出されるデューティ指令値Ｄu03*が用いられる次区間は減少区間であるため、補正量Ｋdly_finを加算することで、ＰＷＭ信号の位相を進めることができる。
【００６２】
一方、キャリア三角波が減少区間である場合には、パルスタイミング補正処理部３３は、デューティ指令値Ｄu02*に対して補正量Ｋdly_finを減算して、デューティ指令値Ｄu03*を求める。算出されるデューティ指令値Ｄu03*が用いられる次区間は増加区間であるため、補正量Ｋdly_finを減算することで、ＰＷＭ信号の位相を遅延できる。
【００６３】
このように、パルスタイミング補正処理部３３は、キャリア三角波の増減に応じた符号が付された補正量Ｋdly_finを用いた補正をすることで、デューティ指令値Ｄu03*を算出する。そして、パルスタイミング補正処理部３３は、補正後のデューティ指令値Ｄu03*をＰＷＭ変換処理部３４に出力する。
【００６４】
ＰＷＭ変換処理部３４は、デューティ指令値Ｄu03*とキャリア三角波との比較を行い、ＰＷＭ信号Ｐuu0及びＰul0を生成する。なお、この比較処理は、一般に、コンペアマッチングと称される。デューティ指令値Ｄu03*は、ＰＷＭ変換処理部３４の機能を実現するマイコンのレジスタに記憶されることで、キャリア三角波との比較に用いられる。
【００６５】
デューティ指令値Ｄu03*は、キャリア三角波の山又は谷となるタイミングにおいて、更新される。すなわち、キャリア三角波の山又は谷となるタイミングから、次に山又は谷となるタイミングまでの区間においては、同じデューティ指令値Ｄu03*が用いられる。
【００６６】
ＰＷＭ変換処理部３４は、例えば、図６に示されるようにＵ相電流ｉuがマイナスである場合には、デューティ指令値Ｄu03*がキャリア三角波よりも小さいときには、上段のスイッチング素子をオンにするため、ＰＷＭ信号Ｐuu0をハイレベルに設定する。ＰＷＭ変換処理部３４は、デューティ指令値Ｄu03*がキャリア波よりも大きいときには、上段のスイッチング素子をオフにするために、ＰＷＭ信号Ｐuu0をローレベルに設定する。下段のスイッチング素子に対するＰＷＭ信号Ｐul0は、上段のスイッチング素子に対するＰＷＭ信号Ｐuu0に対して、レベルが反転するように設定される。ＰＷＭ変換処理部３４は、このように生成されたＰＷＭ信号Ｐuu0及びＰul0を、デッドタイム付加処理部３５に出力する。
【００６７】
デッドタイム付加処理部３５は、ＰＷＭ変換処理部３４により算出されたＰＷＭ信号Ｐuu0及びＰul0に対してデッドタイムｔdtを付加する処理を行い、ＰＷＭ信号Ｐuu及びＰulを生成する。
【００６８】
本実施形態では、デッドタイム付加処理部３５は、ＰＷＭ信号Ｐuu0及びＰul0のそれぞれに対して、立ち上りタイミングをデッドタイムｔdtだけ遅延させることで、ＰＷＭ信号Ｐuu及びＰulを生成する。デッドタイム付加処理部３５は、生成されたＰＷＭ信号Ｐuu及びＰulを、インバータ４に出力する。
【００６９】
このようにして、ＰＷＭ信号Ｐuu0及びＰul0の立ち上りタイミングをデッドタイムｔdtだけ遅延させることで、一対のスイッチング素子が同時にオンとなりモータ２００のＵ相の端子の電圧が不安定になることを抑制できる。
【００７０】
次に、パルスタイミング補正処理部３３の処理である式（５）において用いられる補正量Ｋdly_finについて説明する。
【００７１】
ＰＷＭ信号Ｐuu及びＰulが遅延する要因としては、デッドタイム付加処理部３５によるデッドタイムｔdtの付加以外に、ＰＷＭ信号の伝達回路における遅延時間である伝達遅延ｔdly_c、スイッチング素子の操作に起因する遅延時間である操作遅延ｔdly_s、及び、センサや入力回路などにおけるサンプリングに起因する遅延時間である検出遅延ｔdly_csなどが考えられる。なお、操作遅延ｔdly_sは、スイッチング素子のオン操作の遅れ時間とオフ操作の遅れ時間の平均値とする。
【００７２】
これらの遅延に起因して、生成されるＵ相ＰＷＭ電圧ｖuや、測定されるＵ相電流ｉuにおいて位相が遅延するおそれがある。そこで、パルスタイミング補正処理部３３は、デューティ指令値Ｄu02*を補正することで、ＰＷＭ信号Ｐuu及びＰulの位相のずれが抑制されるように、デューティ指令値Ｄu03*を生成する。
【００７３】
補正量Ｋdly_finの最大値である最大補正量Ｋdly_maxは、次式（７）のように定めることができる。最大補正量Ｋdly_maxは、デッドタイムｔdt、伝達遅延ｔdly_c、検出遅延ｔdly_cs、及び、操作遅延ｔdly_sの合計時間に対して、時間単位からキャリア三角波の振幅への単位系の変換をした値である。この最大補正量Ｋdly_maxによる位相の変化量は、デッドタイムｔdtの半値と、伝達遅延ｔdly_c、検出遅延ｔdly_cs、及び、操作遅延ｔdly_sとの合計に相当する。なお、これらの遅延成分は、発生する遅延の一例であり、これらの遅延の一部が含まれていなくてもよいし、その他の遅延が含まれていてもよい。
【００７４】
【数７】
2020115719.tif 000009
【００７５】
デューティ指令値Ｄu02*に対して最大補正量Ｋdly_maxを用いて補正をしてしまうと、補正後の値がキャリア三角波のピーク値である最大値「＋Ｋd」又は最小値「−Ｋd」を超えてしまい、所望のタイミングでＰＷＭ信号Ｐuu及びＰulのレベルが切り替わらないおそれがある。
【００７６】
そこで、本実施形態においては、後述のように、式（１３）、（１４）に示される上限側修正量ｄover2及び下限側修正量ｄunder2に基づいて、式（１５）、（１６）に示されるように最大補正量Ｋdly_maxに対して修正を行ったもののうちの一方を、式（１７）に示されるように補正量Ｋdly_finとして定める。後述のように、補正量Ｋdly_finを用いることで、補正後のデューティ指令値がキャリア波の最大値又は最小値を超えることを抑制することができる。
【００７７】
なお、本実施形態では、後述の図４に示されるようなデッドタイム付加が行われている。そのため、仮に、補正後のデューティ指令値が、キャリア三角波のピーク値に対して、デッドタイム付加に起因する遅延分だけは超えたとしても、生成されるＰＷＭ電圧における位相のずれの発生は抑制される。そのため、補正量Ｋdly_finの最小値である最小補正量Ｋdly_minは、次式（８）のように定めることができる。
【００７８】
【数８】
2020115719.tif 000010
【００７９】
以下では、具体的な補正量Ｋdly_finの算出方法について説明する。
【００８０】
式（５）に示される補正量Ｋdly_finを用いた補正が行われる場合には、補正量Ｋdly_finが最大補正量Ｋdly_maxである場合に、補正により得られるデューティ指令値Ｄu03*が最大値及び最小値となる。詳細には、補正量Ｋdly_finが最大補正量Ｋdly_maxである場合において、変化量ΔＣが正でありｓｇｎ（ΔＣ）がプラスである時に、デューティ指令値は、次式（９）に示されるような最大値ｄ*u03_upperとなる。補正量Ｋdly_finが最大補正量Ｋdly_maxである場合において、ΔＣが負でありｓｇｎ（ΔＣ）がマイナスである時に、デューティ指令値は、次式（１０）に示されるような最小値ｄ*u03_lowerとなる。
【００８１】
【数９】
2020115719.tif 000011
【００８２】
【数１０】
2020115719.tif 000012
【００８３】
上述のように、デューティ指令値Ｄu02*や最大補正量Ｋdly_maxの大きさによっては、デューティ指令値の最大値ｄ*u03_upperがキャリア三角波のピーク値である最大値「＋Ｋd」を上回ってしまう場合や、デューティ指令値の最小値ｄ*u03_lowerがキャリア三角波の最小値「−Ｋd」を下回ってしまう場合がある。これらの場合には、デューティ指令値とキャリア三角波とを比較しても、比較結果から得られるＰＷＭ信号により生成されるＰＷＭ電圧は、所望のパルス幅とならない。
【００８４】
式（９）に示されるデューティ指令値の最大値ｄ*u03_upperが、キャリア三角波の最大値「＋Ｋd」を超える場合には、最大値ｄ*u03_upperのキャリア三角波の最大値「＋Ｋd」に対して上回る超過量だけを、補正量から予め減じる修正をすることで、生成されるＰＷＭ電圧のパルス幅の変化を抑制できる。また、式（１０）に示されるデューティ指令値の最小値ｄ*u03_lowerが、キャリア三角波の最小値「−Ｋd」を下回る場合には、最小値ｄ*u03_lowerのキャリア三角波の最小値「−Ｋd」を下回る超過量だけを、補正量から予め減じる修正をすることで、生成されるＰＷＭ電圧のパルス幅の変化を抑制できる。
【００８５】
本実施形態では、補正量Ｋdly_finの算出、及び、デューティ指令値Ｄu03*の更新は、キャリア三角波の勾配が等しい所定周期、すなわち、増加区間及び減少区間ごとに行われ、かつ、デューティ指令値Ｄu01*、Ｄu02*の算出は、その所定周期の２倍ごとに行われるものとする。補正量Ｋdly_finの算出区間においては、次区間及び次々区間は、必然的に、増加区間及び減少区間の組み合わせとなる。そのため、所定区間ごとに、最大値ｄ*u03_upperがキャリア三角波の最大値「＋Ｋd」を上回る場合、及び、デューティ指令値の最小値ｄ*u03_lowerがキャリア三角波の最小値「−Ｋd」を下回る場合の両者を検討して、補正量Ｋdly_finを算出する。
【００８６】
デューティ指令値の最大値ｄ*u03_upperがキャリア三角波の最大値「＋Ｋd」を上回る場合において、上限側の超過量である上限超過量ｄoverは、次式（１１）のように定められる。デューティ指令値の最小値ｄ*u03_lowerがキャリア三角波の最小値「−Ｋd」を下回る場合において、下限側の超過量である下限超過量ｄunderは、次式（１２）のように定められる。なお、デューティ指令値の最大値ｄ*u03_upperがキャリア三角波の上限値「＋Ｋd」を超えない場合には、上限超過量ｄoverはゼロとなる。デューティ指令値の最小値ｄ*u03_lowerがキャリア三角波の下限値「−Ｋd」を超えない場合には、下限超過量ｄunderはゼロとなる。
【００８７】
【数１１】
2020115719.tif 000013
【００８８】
【数１２】
2020115719.tif 000014
【００８９】
上述のように、式（８）に示される最小補正量Ｋdly_minだけは、キャリア三角波の最大値「＋Ｋd」又は最小値「−Ｋd」を超えてもよい。そのため、補正後のデューティ指令値のキャリア三角波の最大値「＋Ｋd」に対する超過量が、大きくても最小補正量Ｋdly_minとなるためには、最大補正量Ｋdly_maxに対して、次式（１３）に示される上限側修正量ｄover2に応じた補正をすればよい。同様に、補正後のデューティ指令値のキャリア三角波の最小値「−Ｋd」に対する超過量（負値）が、少なくとも、最小補正量Ｋdly_minとなるためには、最大補正量Ｋdly_maxに対して、次式（１４）に示される下限側修正量ｄunder2に応じた補正をすればよい。
【００９０】
【数１３】
2020115719.tif 000015
【００９１】
【数１４】
2020115719.tif 000016
【００９２】
次式（１５）に示されるように、上限側において上限側修正量ｄover2だけ減じる修正をすることで得られる補正量を、Ｋdly_pと示す。次式（１６）に示されるように、下限側において下限側修正量ｄunder2だけ増加させることで得られる補正量を、Ｋdly_mと示す。このように得られる補正量Ｋdly_p、Ｋdly_mを用いることで、補正後のデューティ指令値は、キャリア三角波の最大値及び最小値に対して、大きくても、デッドタイム付加に起因する遅延に相当する量だけが超過する。
【００９３】
【数１５】
2020115719.tif 000017
【００９４】
【数１６】
2020115719.tif 000018
【００９５】
ここで、最大補正量Ｋdly_maxは、キャリア三角波の振幅ＫDに比べると小さいため、式（８）に示されるデューティ指令値の最大値ｄ*u03_upperがキャリア三角波の最大値「＋Ｋd」を上回る状況と、式（９）に示されるデューティ指令値の最小値ｄ*u03_lowerがキャリア三角波の最小値「−Ｋd」を下回る状況とが同時に起こることはない。そして、上限側及び下限側のうち、補正後のデューティ指令値が最大値又は最小値を超えない方は、超過量がゼロであるので、修正をする必要がない。したがって、修正後の補正量Ｋdly_p、Ｋdly_mのうち、修正をしていない大きい方については検討する必要がない。そのため、次式（１７）に示されるように、補正量Ｋdly_finは、式（１５）、（１６）の絶対値のうちの小さい値となる。
【００９６】
【数１７】
2020115719.tif 000019
【００９７】
なお、式（７）、（８）を用いれば、補正量Ｋdly_finについて次式（１８）に示される関係が成立する。
【００９８】
【数１８】
2020115719.tif 000020
【００９９】
図４は、デッドタイム付加処理部３５によるデッドタイム付加の処理についての説明図である。本実施形態においては、デッドタイム付加処理部３５により付加される付加時間は、原則的には、図上部に示されるように、予め記憶されている値ｔdtが用いられる。ただし、例外的に、図下部に示されるような状態においては、付加時間は、ＰＷＭ信号のパルス幅ｔpに応じて変化する。なお、この図の説明では、ＰＷＭ信号Ｐuu0のローレベル区間、及び、ＰＷＭ信号Ｐul0のハイレベル区間を、パルス幅と称するものとする。
【０１００】
図上部には、ＰＷＭ信号Ｐuu0及びＰul0により定まるパルス幅ｔpが所定のデッドタイムｔdtよりも長い場合が示されている。このような場合には、デッドタイム付加処理部３５は、ＰＷＭ信号Ｐuu0及びＰul0が立ち上がるタイミング（ローレベルからハイレベルへと切り替わるタイミング）において、所定のデッドタイムｔdtだけ遅延されるように、ＰＷＭ信号Ｐuu、Ｐulを生成する。
【０１０１】
図下部には、パルス幅ｔpが所定のデッドタイムｔdt以下である場合が示されている。このような場合には、デッドタイム付加による付加時間は、ＰＷＭ信号のパルス幅ｔpとなる。なお、ＰＷＭ信号Ｐul0の立ち上がりタイミングをデッドタイムとしてｔpだけ遅らせる場合には、立ち上がりタイミングが立ち下がりタイミングよりも後ろとなる。そのため、ＰＷＭ信号Ｐulは、常にローレベルに設定される。このようにすることで、パルス幅ｔpが漸次減少してデッドタイムｔdt以下となった場合に、付加時間も漸次減少することになるので、ＰＷＭ信号のパルス幅の急激な変化を防ぐことができる。さらに、後に図９を用いて説明するように、図下部に記載のデッドタイム付加が行われることで、補正後のデューティ指令値のキャリア三角波のピーク値からの超過量が、デッドタイム付加に起因する遅延に相当する量以下であれば、Ｕ相ＰＷＭ電圧ｖuを所望のパルス幅とすることができる。
【０１０２】
図５は、デューティ指令値の算出制御の一例を示すフローチャートである。この算出制御は、キャリア三角波がピーク値となる毎に、すなわち、最大値（山）及び最小値（谷）となるタイミングで繰り返し実行される。なお、このフローチャートにおける制御は、電力制御装置１００において記憶されているプログラムが実行されることにより、実現されてもよい。
【０１０３】
ステップＳ５０１において、ＰＷＭ変換処理部３４は、キャリア三角波の状態が増加区間か減少区間であるかに応じて、デューティ更新をするか否かを判定する。デューティ更新とは、デューティ指令値Ｄu01*、Ｄu02*、及び、補正量Ｋdly_finの算出を示す。ＰＷＭ変換処理部３４は、式（６）に従った判定を行い、キャリア三角波が減少区間である場合には、デューティ更新をすると判断して（Ｓ５０１：Ｙｅｓ）、ステップＳ５０２の処理に進む。キャリア三角波が増加区間である場合には、ＰＷＭ変換処理部３４は、デューティ更新をしないと判断して（Ｓ５０１：Ｎｏ）、ステップＳ５０９の処理に進む。
【０１０４】
ステップＳ５０２において、ＵＶＷ相／ｄｑ軸変換器９は、電流検出器７u及び７vからの検出信号をＡ／Ｄ変換してＵ相電流ｉu及びＶ相電流ｉvを取得する。同時に、モータ回転速度演算器８は、回転子位置検出器２０１からの検出信号をＡ／Ｄ変換して電気角検出値θを取得する。
【０１０５】
ステップＳ５０３において、ＵＶＷ相／ｄｑ軸変換器９は、式（２）に基づいて、Ｓ５０１にて得られたＵ相電流ｉu及びＶ相電流ｉvと、電気角検出値θに基づいて、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqを求める。そして、ＵＶＷ相／ｄｑ軸変換器９は、変換したｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqをトルク制御部１にフィードバックする。
【０１０６】
同時に、モータ回転速度演算器８は、電気角検出値θに基づいて回転速度Ｎを演算する。そして、モータ回転速度演算器８は、回転速度Ｎをトルク制御部１に出力する。
【０１０７】
ステップＳ５０４において、トルク制御部１は、入力されるトルク指令値Ｔ*と、バッテリ電圧検出値Ｖdcと、回転速度Ｎと、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqとに基づいて、電流ベクトル制御によって、ｄ軸電圧指令値ｖd*及びｑ軸電圧指令値ｖq*を算出する。
【０１０８】
ステップＳ５０５において、ｄｑ軸／ＵＶＷ相変換器２は、式（１）に従って、電気角検出値θに基づいて、ｄ軸電圧指令値ｖd*及びｑ軸電圧指令値ｖq*を三相ＰＷＭ電圧指令値ｖu*、ｖv*及びｖw*に変換する。そして、ｄｑ軸／ＵＶＷ相変換器２は、変換された三相ＰＷＭ電圧指令値ｖu*、ｖv*及びｖw*をＰＷＭ変換器３に出力する。
【０１０９】
ステップＳ５０６において、デューティ指令値演算部３１は、式（３）に従って、三相ＰＷＭ電圧指令値ｖu*、ｖv*及びｖw*と、バッテリ電圧検出値Ｖdcとに基づいて、デューティ指令値Ｄu01*、Ｄv01*及びＤw01*を演算する。
【０１１０】
ステップＳ５０７において、デッドタイム補償処理部３２は、式（４）に従って、デューティ指令値Ｄu01*、Ｄv01*及びＤw01*に対してデッドタイム付加に対する補償処理を行い、デューティ指令値Ｄu02*、Ｄv02*及びＤw02*を算出する。
【０１１１】
ステップＳ５０８において、パルスタイミング補正処理部３３は、式（７）〜（１７）に従って、キャリア三角波の振幅ＫD及び周期ｔcと、デッドタイムｔd、伝達遅延ｔdly_c、操作遅延ｔdly_s、及び、検出遅延ｔdly_csとを用いて、補正量Ｋdly_finを算出する。
【０１１２】
ステップＳ５０９において、パルスタイミング補正処理部３３は、式（６）に従って、キャリア三角波の増減状態を判断するキャリア三角波が増加区間であるか減少区間であるかを判断する。そして、キャリア三角波が増加区間である場合には（Ｓ５０９：Ｙｅｓ）、パルスタイミング補正処理部３３は、補正量Ｋdly_finを加算するために、次にステップＳ５１０の処理を行う。キャリア三角波が減少区間である場合には（Ｓ５０９：Ｎｏ）、パルスタイミング補正処理部３３は、補正量Ｋdly_finを減算するために、次にステップＳ５１１の処理を行う。
【０１１３】
ステップＳ５１０において、パルスタイミング補正処理部３３は、式（５）に従って、キャリア三角波が増加区間でありｓｇｎ（ΔＣ）が正となるため、デューティ指令値Ｄu02*、Ｄv02*及びＤw02*に補正量Ｋdly_finを加算する。なお、キャリア三角波が増加区間である場合には、デューティ更新がなされないので（Ｓ５０１：Ｎｏ）、前区間で算出されたデューティ指令値Ｄu02*、Ｄv02*及びＤw02*、及び、補正量Ｋdly_finが用いられてデューティ指令値Ｄu03*、Ｄv03*及びＤw03*が算出される。
【０１１４】
ステップＳ５１１において、パルスタイミング補正処理部３３は、式（５）に従って、キャリア三角波が減少区間でありｓｇｎ（ΔＣ）が負となるため、デューティ指令値Ｄu02*、Ｄv02*及びＤw02*から補正量Ｋdly_finを減算する。なお、キャリア三角波が減少区間である場合には、デューティ更新がなされるため（Ｓ５０１：Ｙｅｓ）、ステップＳ５０７で算出されたデューティ指令値Ｄu02*、Ｄv02*及びＤw02*、及び、ステップＳ５０８で算出された補正量Ｋdly_finが用いられてデューティ指令値Ｄu03*、Ｄv03*及びＤw03*が算出される。
【０１１５】
ステップＳ５１２において、ステップＳ５１０またはＳ５１１にて算出されたデューティ指令値Ｄu03*、Ｄv03*及びＤw03*を、次区間での演算に用いるデューティ指令値として、マイコンのレジスタにセットする。そして、デューティ指令値の算出制御は終了する。
【０１１６】
なお、デューティ指令値の算出制御の後において、ＰＷＭ変換処理部３４は、デューティ指令値Ｄu03*、Ｄv03*及びＤw03*に基づいて、ＰＷＭ信号Ｐuu0、Ｐul0、Ｐvu0、Ｐvl0、Ｐvu0及びＰvl0を生成する。
【０１１７】
そして、デッドタイム付加処理部３５は、ＰＷＭ信号Ｐuu0、Ｐul0、Ｐvu0、Ｐvl0、Ｐwu0及びＰwl0にデッドタイムｔdtを付加することで、ＰＷＭ信号Ｐuu、Ｐul、Ｐvu、Ｐvl、Ｐwu及びＰwlを生成する。デッドタイム付加処理部３５は、ＰＷＭ信号Ｐuu及びＰulをＵ相の一対のスイッチング素子に、ＰＷＭ信号Ｐvu及びＰvlをＶ相のスイッチング素子に、ＰＷＭ信号Ｐwu及びＰwlをＷ相のスイッチング素子に出力する。
【０１１８】
インバータ４は、ＰＷＭ信号Ｐuu、Ｐul、Ｐvu、Ｐvl、Ｐwu及びＰwlに基づいて各相において対をなすスイッチング素子が駆動されると、モータ２００の各相に三相ＰＷＭ電圧ｖu、ｖv、及びｖwをそれぞれ供給する。
【０１１９】
図６は、ＰＷＭ制御の一例の説明図である。なお、説明の便宜上、この図にはＵ相に関する制御のみ示されている。
【０１２０】
図上方には、キャリア三角波が示されている。以下では、左部に示されるキャリア三角波の減少区間を区間ａ、中央部に示される区間ａ後の増加区間を区間ｂ、右部に示される区間ｂ後の減少区間を区間ｃと称するものとする。区間ａにおいては、デューティ指令値Ｄu03*の算出までの処理が示され、区間ｂ及びｃにおいては、Ｕ相ＰＷＭ電圧ｖuの算出、及び、電力制御装置１００のインバータ４とモータ２００との間で流れるＵ相電流ｉuまでの処理が示されている。
【０１２１】
図上部においては、区間ｂ及びｃにおいては、キャリア三角波に加えて、デューティ指令値Ｄu01*、及び、デューティ指令値Ｄu02*が点線で、デューティ指令値Ｄu03*が実線で示されている。
【０１２２】
その下部には、デューティ指令値Ｄu03*を用いて定まるＰＷＭ信号Ｐuu0及びＰul0、及び、デッドタイムが付加されたＰＷＭ信号Ｐuu及びＰulが示されている。さらに、それらの下部には、モータ２００に印加されるＵ相ＰＷＭ電圧ｖuと、Ｕ相電流ｉuの実値、及び、電流検出器７ｕによる検出値とが示されている。なお、この例においては、Ｕ相電流ｉuがマイナス、すなわちＵ相電流ｉuがモータ２００からインバータ４へ流れる場合が示されている。
【０１２３】
電流の測定、及び、デューティ指令値Ｄu03*の更新は、キャリア三角波の傾きが一定の区間ごと、すなわち、区間ａ〜ｃのそれぞれで行われる。また、減少区間である区間ａ及びｃにおいてはデューティ更新が行われ（Ｓ５０１：Ｙｅｓ）、増加区間である区間ｂにおいてはデューティ更新が行われない（Ｓ５０１：Ｎｏ）。
【０１２４】
区間ａでは、区間の開始タイミングから始まるＡ／Ｄ変換区間において、電力制御装置１００、及び、モータ２００の状態が検出される。そして、Ａ／Ｄ変換区間に続く制御演算区間において、デューティ指令値Ｄu03*の算出が行われる。
【０１２５】
そして、区間ａに続く区間ｂにおいては、前区間ａで算出されたデューティ指令値Ｄu03*とキャリア三角波との比較などが行われ、ＰＷＭ信号Ｐuu、Ｐulが生成される。ＰＷＭ信号Ｐuu、Ｐulに応じてインバータ４が制御されることにより、モータ２００へＵ相ＰＷＭ電圧ｖuが印加されて、Ｕ相電流ｉuが流れる。
【０１２６】
なお、区間ｂでは、Ａ／Ｄ変換区間において、モータ２００の状態が検出され、制御演算区間において、区間ｃで用いられるデューティ指令値Ｄu03*の算出が行われる。なお、区間ｂは、デューティ更新が行われないので、区間ａにおいて算出されたＫdly_finが用いられてデューティ指令値Ｄu03*が算出される。
【０１２７】
以下では、これらの処理の詳細について説明する。
【０１２８】
区間ａにおいては、デューティ更新の区間であるので（Ｓ５０１：Ｙｅｓ）、まず、Ａ／Ｄ変換区間において、電流検出器７uによるサンプリング（Ａ／Ｄ変換）によってＵ相電流ｉuが取得される（Ｓ５０２）。
【０１２９】
そして、Ａ／Ｄ変換区間に続く制御演算区間において、トルク制御部１による演算（Ｓ５０４）、及び、ｄｑ軸／ＵＶＷ相変換器２による演算（Ｓ５０５）により、三相ＰＷＭ電圧指令値ｖu*、ｖv*及びｖw*が算出される。そして、デューティ指令値演算部３１は、式（３）に従って、デューティ指令値Ｄu01*を算出する（Ｓ５０６）。デッドタイム補償処理部３２は、Ｕ相電流ｉuが負であるので、式（４）に従って、デューティ指令値Ｄu01*に対して補償量「２ＫDｔdt／ｔc」を減算することにより、デューティ指令値Ｄu02*を算出する（Ｓ５０７）。
【０１３０】
その後、パルスタイミング補正処理部３３は、２つのタイミングでキャリア三角波の値Ｃ1、Ｃ2を取得し、式（６）に従って、キャリア三角波の増減を判断する。そして、区間ａが減少区間であるため（Ｓ５０９：Ｎｏ）、パルスタイミング補正処理部３３は、式（５）に従って、デューティ指令値Ｄu02*に対して補正量Ｋdly_finを減算することで、デューティ指令値Ｄu03*を算出する（Ｓ５１１）。
【０１３１】
なお、区間ｂにおいては、デューティ更新は行われない（Ｓ５０９：Ｙｅｓ）。パルスタイミング補正処理部３３は、キャリア三角波が増加区間であるため（Ｓ５０９：Ｎｏ）、区間ａにて算出された補正量Ｋdly_finを、デューティ指令値Ｄu02*に対して加算することで、デューティ指令値Ｄu03*を算出する（Ｓ５１０）。
【０１３２】
次に、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu02*を用いることによる、ＰＷＭ電圧の位相について説明する。
【０１３３】
式（４）に示されるように、Ｕ相電流ｉuがマイナスでありｓｇｎ（ｉu）が負となるので、デューティ指令値Ｄu02*は、デューティ指令値Ｄu01*よりも補償量「２ＫDｔdt／ｔc」だけ小さい。また、補償量「２ＫDｔdt／ｔc」を用いた補正により、補償量「２ＫDｔdt／ｔc」の時間単位への換算値、すなわち、デッドタイム時間ｔdtの半値「ｔdt／２」だけ、ＰＷＭ電圧の位相を変化させることができる。
【０１３４】
区間ｂにおいては、増加区間であるため、デューティ指令値Ｄu01*に替えて、補償量「２ＫDｔdt／ｔc」だけ減少させたデューティ指令値Ｄu02*を用いることで、デッドタイムｔdtの半値「ｔdt／２」だけ、ＰＷＭ電圧の位相を進めることができる。区間ｃにおいては、減少区間であるため、デューティ指令値Ｄu01*に替えて、補償量「２ＫDｔdt／ｔc」だけ増加させたデューティ指令値Ｄu02*を用いることで、デッドタイムｔdtの半値「ｔdt／２」だけ、ＰＷＭ電圧の位相を遅らせることができる。
【０１３５】
そこで、デューティ指令値Ｄu01*がキャリア三角波よりも小さい区間をｔ1とすれば、デューティ指令値Ｄu02*がキャリア三角波よりも小さい区間ｔ2は、ｔ1よりもデッドタイム時間ｔdtだけ長くなり、「ｔ2＝ｔ1＋ｔdt」となる。従って、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu02*を用いることで、Ｕ相ＰＷＭ電圧ｖuのパルス幅をデッドタイムｔdtだけ長くできる。
【０１３６】
次に、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることによる、ＰＷＭ電圧の位相について説明する。
【０１３７】
図６に示される例においては、式（９）に示されるデューティ指令値の最大値ｄ*u03_upperは、キャリア三角波の最大値を上回らず、かつ、式（１０）に示される最小値ｄ*u03_lowerは、キャリア三角波の最小値を下回らないものとする。そのため、式（１１）に示される上限超過量ｄover、及び、式（１２）に示される下限超過量ｄunderはゼロであり、式（１３）に示される上限側修正量ｄover2、及び、式（１４）に示される下限側修正量ｄunder2は、ゼロとなる。したがって、式（１５）、（１６）を用いて定まる式（１７）において、「Ｋdly_fin＝Ｋdly_max」が成立する。
【０１３８】
式（５）によれば、デューティ指令値Ｄu02*に対して補正量Ｋdly_finを用いて補正をすることで、デューティ指令値Ｄu03*が算出される。Ｋdly_finは、式（７）に示されるＫdly_maxと等しいため、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることで、デッドタイムｔdtの半値と、伝達遅延ｔdly_c、検出遅延ｔdly_cs、及び、操作遅延ｔdly_sとの合計時間、すなわち、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ、Ｕ相ＰＷＭ電圧ｖuの位相が変化する。
【０１３９】
区間ｂは増加区間であるので、補正量Ｋdly_finを減算して得られるデューティ指令値Ｄu03*を用いることで、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ、位相が進む。区間ｃは減少区間であるので、補正量Ｋdly_finを加算して得られるデューティ指令値Ｄu03*を用いることで、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ、位相が進む。したがって、区間ｂ及びｃの両者において、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることで、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ位相が進む。
【０１４０】
ここで、デューティ指令値Ｄu02*、及び、デューティ指令値Ｄu03*による制御タイミングをあわせて説明すれば、以下のようになる。
【０１４１】
区間ｂにおいては、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu02*を用いることにより、デッドタイムｔdtの半分「ｔdt／２」だけ位相が進み、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることにより、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ位相が進む。その結果、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu03*を用いることで、「ｔdt＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけＵ相ＰＷＭ電圧ｖuの位相が進む。
【０１４２】
区間ｃにおいては、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu02*を用いることにより、デッドタイムｔdtの半分「ｔdt／２」だけ位相が遅れ、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることにより、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ位相が進む。デッドタイムｔdtの半分「ｔdt／２」については位相の進みと遅れとがキャンセルされるので、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu03*を用いることで、「ｔdly_c＋ｔdly_s＋ｔdly_cs」だけＵ相ＰＷＭ電圧ｖuの位相が進む。
【０１４３】
以下では、デューティ指令値Ｄu03*を用いてＵ相ＰＷＭ電圧ｖuがどのように算出されるのかについて説明する。
【０１４４】
ＰＷＭ変換処理部３４は、デューティ指令値Ｄu03*とキャリア三角波とを比較し、比較結果に応じてＰＷＭ信号Ｐuu0及びＰul0を生成する。デューティ指令値Ｄu03*がキャリア三角波よりも大きい場合には、ＰＷＭ信号Ｐuu0はハイレベルとなり、デューティ指令値Ｄu03*がキャリア三角波よりも小さい場合には、ＰＷＭ信号Ｐuu0はローレベルとなり、さらに、ＰＷＭ変換処理部３４は、ＰＷＭ信号Ｐuu0のレベルを反転させることで、ＰＷＭ信号Ｐul0を生成する。
【０１４５】
ここで、ＰＷＭ信号Ｐuu0及びＰul0の切り替えタイミングは、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることで、区間ｂ及びｃの両者において、補正量Ｋdly_finに応じた時間だけ位相が進む。そのため、デューティ指令値Ｄu03*により定まるＰＷＭ信号Ｐuu0のローレベル区間、及び、ＰＷＭ信号Ｐul0のハイレベル区間は、デューティ指令値Ｄu02*がキャリア三角波よりも小さい区間ｔ2と等しくなる。なお、上述のように、「ｔ2＝ｔ1＋ｔdt」が成立している。
【０１４６】
デッドタイム付加処理部３５は、ＰＷＭ信号Ｐuu0及びＰul0のそれぞれについて、立ち上がりタイミングをデッドタイムｔdtだけ遅らせることで、ＰＷＭ信号Ｐuu、Ｐulを算出する。
【０１４７】
ＰＷＭ信号Ｐuuのローレベル区間は、ＰＷＭ信号Ｐuu0のローレベル区間と比較すると、デッドタイムｔdt分だけ長くなり、「ｔ2＋ｔdt」となる。ＰＷＭ信号Ｐulのハイレベル区間は、ＰＷＭ信号Ｐui0のハイレベル区間と比較すると、デッドタイムｔdt分だけ短くなり、「ｔ2−ｔdt」となる。なお、この「ｔ2−ｔdt」は、「ｔ1」と等しい。また、ＰＷＭ信号Ｐuu、Ｐuuの両者がローレベルである場合には、上側と下側のスイッチング素子がオフとなるが、Ｕ相電流ｉuはマイナスでありモータ２００から電力制御装置１００へと電流が流れているため、インバータの構成上、上側のスイッチング素子に併設されたダイオードだけが導通状態となるので、Ｕ相ＰＷＭ電圧ｖuの電位は「Ｖdc／２」となる。そのため、最終的に、Ｕ相ＰＷＭ電圧ｖuにおいて電位が「−Ｖdc／２」となるパルス幅は、ＰＷＭ信号Ｐulのハイレベル区間と等しくなるものとする。そのため、デューティ指令値Ｄu03*を用いた場合のＵ相ＰＷＭ電圧ｖuのパルス幅はｔ1であり、デューティ指令値Ｄu01*を用いた場合と等しくなる。
【０１４８】
ＰＷＭ信号Ｐuu及びＰulによってインバータ４が制御される。ＰＷＭ信号Ｐuuがローレベル、かつ、ＰＷＭ信号Ｐulがハイレベルである状態では、Ｕ相配線に「−Ｖdc／２」の電位が供給され、それ以外の状態では、Ｕ相配線に「Ｖdc／２」の電位が供給される。供給される電位が変化するタイミングから、Ｕ相ＰＷＭ電圧ｖuが変化するタイミングまでは、伝達遅延ｔdly_cと操作遅延ｔdly_sとの和である「ｔdly_c＋ｔdly_s」だけ遅延する。
【０１４９】
そして、このようなＵ相ＰＷＭ電圧ｖuの変化に応じて、擬似的な交流電流であるＵ相電流ｉuが流れる。Ｕ相電流ｉuは、Ｕ相配線の電圧が「Ｖdc／２」から「−Ｖdc／２」に変化するときに最大となり、Ｕ相配線の電圧が「−Ｖdc／２」から「Ｖdc／２」に変化するときに最小となる。そして、Ｕ相電流ｉuの測定値は、その実値に対して、検出遅延ｔdly_csだけ遅れている。
【０１５０】
従って、区間ｂにおいては、Ｕ相電流ｉuの検出値は、デューティ指令値Ｄu03*により定まるＰＷＭ信号Ｐul0に対して、デッドタイムｔdtと、伝達遅延ｔdly_c、操作遅延ｔdly_s、及び、検出遅延時間ｔdly_csとの和、すなわち、「ｔdt＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ遅延する。
【０１５１】
区間ｃにおいては、Ｕ相電流ｉuの検出値における最小値（谷）と対応するＰＷＭ信号Ｐul0の立ち下がりタイミングにおいて、デッドタイムｔdtが付加されない。そのため、Ｕ相電流ｉuの検出値は、ＰＷＭ信号Ｐuu0に対して、伝達遅延ｔdly_c、操作遅延ｔdly_s、及び、検出遅延時間ｔdly_csの和、すなわち、「ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ遅延する。
【０１５２】
上述のように、区間ｂにおいて、Ｕ相電流ｉuが検出されるタイミングは、デッドタイム補償前のＰＷＭ信号Ｐuu0及びＰＷＭ信号Ｐul0の切り替えタイミングに対して、「ｔdt＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ遅延する。しかしながら、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu03*を用いることで、ＰＷＭ信号の切り替えタイミングは、「ｔdt＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ進む。
【０１５３】
区間ｃにおいて、Ｕ相電流ｉuが検出されるタイミングは、デッドタイム補償前のＰＷＭ信号Ｐuu0及びＰＷＭ信号Ｐul0の切り替えタイミングに対して、「ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ遅延する。しかしながら、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu03*を用いることで、ＰＷＭ信号の切り替えタイミングは、「ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ進む。
【０１５４】
このように、デューティ指令値Ｄu01*に替えてデューティ指令値Ｄu03*を用いることで、遅延分だけ予め位相が進められるように補正がされるので、発生する遅延は相殺される。
【０１５５】
Ｕ相ＰＷＭ電圧ｖuが「−Ｖdc／２」と「Ｖdc／２」との間で切り替えられることにより、高調波を含む電流が流れる。そのため、理想的には、これらの切り替えタイミング、すなわち、Ｕ相電流ｉuがピークとなる山及び谷の中間においてＡ／Ｄ変換が行われるのが好ましい。本実施形態によれば、検出されるＵ相電流ｉuのピークの中間において、キャリア三角波がピーク（山及び谷）となるので、キャリア三角波のピークにおいてＡ／Ｄ変換により得られる電流値にスイッチングに起因する高周波成分が混入するのを抑制できる。
【０１５６】
図７は、本実施形態のＰＷＭ制御の他の一例の説明図である。この図においては、図６のｂ及びｃに相当する区間が示されている。また、区間ｃにおいて、補正量Ｋdly_finを加算することにより得られるデューティ指令値の最大値ｄ*u03_upperが、一点鎖線で示されている。
【０１５７】
式（９）によれば、デューティ指令値の最大値ｄ*u03_upperは、「Ｄu02*＋Ｋdly_max」であり、この例においては、キャリア三角波の上限を超える。したがって、式（１１）に示される上限超過量ｄoverは「ｄ*u03_upper−ＫD」となる。なお、上述のように、補正後のデューティ指令値が、キャリア三角波の上限及び下限の双方を超えることはないため、以下においては、下限側に関する、式（１０）、（１２）、（１４）及び（１６）を考慮せずに、式（１７）において、「Ｋdly_fin＝Ｋdly_p」が成立するものとする。
【０１５８】
さらに、点線で、最小補正量Ｋdly_minを用いて補正をした場合のデューティ指令値が示されており、その大きさは「Ｄu02*＋Ｋdly_min」である。この例においては、「Ｄu02*＋Ｋdly_min」は、キャリア三角波の最大値「ＫD」よりも小さい。そのため、最大値ｄ*u03_upperのキャリア三角波の最大値「ＫD」に対する超過量である上限超過量ｄoverは、補正量の最大値と最小値との差「Ｋdly_max−Ｋdly_min」よりも小さい。そのため、式（１３）において、「ｄover2＝ｄover」が成立する。
【０１５９】
ここで、式（９）は「ｄ*u03_upper＝Ｄu02*＋Ｋdly_max」であり、式（１１）において「ｄover＝Ｄu02*＋Ｋdly_max−ＫD」が成立する。式（１３）において、「ｄover2＝ｄover」が成立し、式（１５）は「Ｋdly_p＝Ｋdly_max−ｄover2」であるので、式（１７）において、「Ｋdly_fin＝Ｋdly_p」が成立する。すなわち、「Ｋdly_fin＝Ｋdly_max−ｄover」であり、式（１１）の関係を用いれば、この式は「Ｋdly_fin＝ＫD−Ｄu02*」となる。その結果、式（５）によって「Ｄu03*＝ＫD」が求められる。
【０１６０】
ここで、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることによる、Ｕ相ＰＷＭ電圧ｖuの位相、すなわち、ＰＷＭ信号の位相の変化について検討する。
【０１６１】
まず、修正されていない最大補正量Ｋdly_maxが補正に用いられる場合における、ＰＷＭ信号の切り替えタイミング、すなわち、デューティ指令値ｄ*u03_upperとキャリア三角波との交点について検討する。この図では、二点鎖線で示されるように、キャリア三角波の上限がないと仮定して、区間ｃにおけるキャリア三角波が区間ｂまで延長されている。この延長されたキャリア三角波と、デューティ指令値の最大値ｄ*u03_upperとの交点が、本来的に、デューティ指令値ｄ*u03_upperを用いた場合のＰＷＭ信号のレベルの切り替えタイミングとなる。
【０１６２】
したがって、図示されるように、デューティ指令値Ｄu02*に替えてデューティ指令値の最大値ｄ*u03_upperを用いることで、ＰＷＭ信号の切り替えタイミングは、補正量である「Ｋdly_max」に相当する時間、すなわち、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ位相が進むべきである。しかしながら、キャリア三角波には上限があるので、区間ｃにおいては、ＰＷＭ信号の切り替えタイミングは、延長されたキャリア三角波とデューティ指令値の最大値ｄ*u03_upperとの交点とならず、その交点からｔexだけ遅れる。なお、ｔexは、最大値ｄ*u03_upperと、延長されたキャリア三角波との交点の、区間ｃの始点からの進み時間である。
【０１６３】
本実施形態においては、デューティ指令値の最大値ｄ*u03_upperに替えてデューティ指令値Ｄ*u03を用いられる。そのため、デューティ指令値Ｄ*u03を用いた場合のＰＷＭ信号の切り替えタイミングは、デューティ指令値ｄ*u03_upperを用いた場合のＰＷＭ信号の切り替えタイミングに対して、ｔexだけ遅れる。
【０１６４】
すなわち、区間ｂ及びｃにおいて、デューティ指令値Ｄu02*に替えて最大値ｄ*u03_upperを用いることで、「ｔdt／２＋ｔdly_c＋ｔdly_s＋ｔdly_cs」だけ位相が進む。そして、デューティ指令値の最大値ｄ*u03_upperに替えてデューティ指令値Ｄ*u03が用いられるので、ｔexだけ移送が遅れる。その結果、区間ｂ及びｃの両者において、デューティ指令値Ｄ*u03により得られるＰＷＭ信号の切り替えタイミングは、デューティ指令値Ｄ*u02により得られる切り替えタイミングに対して、同じ位相だけ進む。
【０１６５】
そのため、デューティ指令値Ｄ*u03により得られるＰＷＭ信号Ｐuu0のローレベル区間、及び、Ｐul0のハイレベル区間は、デューティ指令値Ｄ*u03がキャリア三角波よりも小さい区間と同じｔ2となる。
【０１６６】
そして、デッドタイム付加が行われることにより、ＰＷＭ信号Ｐuu0及びＰul0は、それぞれの立ち上がりのタイミングがデッドタイムｔdtだけ遅延されて、ＰＷＭ信号Ｐuu及びＰulが算出される。そのため、Ｕ相ＰＷＭ電圧ｖuのパルス幅に相当するＰＷＭ信号Ｐulのハイレベル区間は、「ｔ2−ｔdt」、すなわち、「ｔ1」となる。したがって、Ｕ相ＰＷＭ電圧ｖuは、所望のパルス幅となる。
【０１６７】
図８は、本実施形態のＰＷＭ制御のさらに他の一例の説明図である。
【０１６８】
この図においては、式（９）により得られるデューティ指令値の最大値ｄ*u03_upperは、「Ｄu02*＋Ｋdly_max」であり、点線で示されるキャリア三角波の最大値ＫDを超える。そのため、式（１１）において、「ｄover＝ｄ*u03_upper−ＫD」が成立する。
【０１６９】
さらに、最小補正量Ｋdly_minを用いた補正により得られるデューティ指令値「Ｄu02*＋Ｋdly_min」は、キャリア三角波の最大値ＫDよりも大きい。その結果、「Ｋdly_max−Ｋdly_min」は、上限超過量ｄoverよりも小さいので、式（１３）において、「ｄover2＝Ｋdly_max−Ｋdly_min」が成立する。そのため、式（１５）において、「Ｋdly_p＝Ｋdly_min」が成立する。そして、式（１７）において、「Ｋdly_fin＝Ｋdly_min」が成立する。
【０１７０】
デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることで、最小補正量Ｋdly_minに相当する「ｔdt／２」だけ、ＰＷＭ信号の切り替えタイミングの位相が進む。区間ｃにおいては、上限がないと仮定して区間ｂまで延長されたキャリア三角波を用いれば、デューティ指令値Ｄu02*に替えてデューティ指令値Ｄu03*を用いることで、「ｔdt／２」だけＰＷＭ信号の切り替えタイミングの位相が進むことが理解できる。
【０１７１】
また、デューティ指令値Ｄu02*がキャリア三角波よりも小さい区間ｔ2については、区間ａ、ｂのそれぞれにおいてキャリア三角波の勾配の絶対値が等しい。そのため、区間ｂにおいてデューティ指令値Ｄu02*がキャリア三角波よりも小さい区間は、「ｔ2／２」となる。その結果、デューティ指令値Ｄu03*により得られるＰＷＭ信号Ｐuu0のローレベル区間、及び、ＰＷＭ信号Ｐul0のハイレベル区間は、「ｔdt／２」と「ｔ2／２」との和である「（ｔdt＋ｔ2）／２」となる。
【０１７２】
また、図示されているように、区間ｃにおいては、区間ｂまで延長されたキャリア三角波におり定まるＰＷＭ信号の切り替えタイミングは、区間ｃの開始タイミングよりも前である。そのため、図示されるように、「ｔdt／２」は「ｔ2／２」よりも大きいという関係が成立する。この関係によれば、ＰＷＭ信号Ｐuu0のハイレベル区間、及び、ＰＷＭ信号Ｐul0のローレベル区間である「（ｔdt＋ｔ2）／２」は、デッドタイムｔdtよりも小さくなることが理解できる。
【０１７３】
このように、ＰＷＭ信号Ｐuu0のローレベル区間、及び、ＰＷＭ信号Ｐul0のハイレベル区間、がデッドタイムｔdtよりも短い場合には、図４に示されるように、これらの区間と同じ長さのデッドタイムが付加される。その結果、ＰＷＭ信号Ｐuuのローレベル区間は「ｔdt＋ｔ2」となり、ＰＷＭ信号Ｐulのハイレベル区間はなくなる。
【０１７４】
ＰＷＭ信号Ｐulのハイレベル区間は消滅するが、ＰＷＭ信号Ｐuuのローレベル区間は、所望のパルス幅であるｔ2と、デッドタイムｔdtとの和とすることができるので、ＰＷＭパルス電圧ｖuは所望のパルス幅となる。
【０１７５】
なお、上述の実施形態においては、キャリア三角波が最大値から始まる減少区間aにおいて、デューティ更新が行われて（Ｓ５０１：Ｙｅｓ）、デューティ指令値Ｄu01*、Ｄu02*、及び、補正量Ｋdly_finが算出される。さらに、区間ａにおいて、デューティ指令値Ｄu02*に対して補正量Ｋdly_finを用いた補正をすることで、その次の区間ｂにて用いられるデューティ指令値Ｄu03*が算出される。そして、算出されたデューティ指令値Ｄu03*が区間ｂにおいて用いられるように更新される。なお、区間ａにおいて、区間ｃにおいて用いられるデューティ指令値Ｄu03*は、デューティ指令値Ｄu02*に対して、補正量Ｋdly_finに付される正負の符号を反転させることで算出できる。
【０１７６】
そして、区間ｂにおいては、区間ａにおいて生成されたＤu02*、及び、補正量Ｋdly_finを用いて算出されるデューティ指令値Ｄu03*が、その次の区間ｃにおいて用いられるように更新される。
【０１７７】
このようにして、デューティ更新と、補正処理とは、以下の表１に示されるような組み合わせに基づいて行われる。
【０１７８】
【表１】
2020115719.tif 000021
【０１７９】
表１のような処理に限られず、以下の表２に示されるように、全区間で補正処理を行うことで次区間で用いられるデューティ指令値Ｄu03*を算出してもよい。詳細には、区間ａにおいては、算出されるデューティ指令値Ｄu01*、Ｄu02*が、ｂ区間に続けてｃ区間においても使用されると仮定して、ｂ及びｃの両区間において、補正後のデューティ指令値がキャリア三角波のピーク値を超えないように、補正量Ｋdly_finを算出する。
【０１８０】
【表２】
2020115719.tif 000022
【０１８１】
なお、ｄｑ軸電圧指令値ｖd*、ｖq*から三相ＰＷＭ電圧指令値ｖu*、ｖv*、ｖw*に変換する際に、ｂ区間に対応するθと、ｃ区間に対応するθ（１区間分の回転角に基づいて予測する）のそれぞれについて、個々に変換することでｃ区間における三相ＰＷＭ電圧指令値の状態を予測して、補正量Ｋdly_finを算出してもよい。
【０１８２】
なお、表１及び表２のいずれにおいても、デューティ更新が行われる区間ａの後の２つの区間ｂ及びｃ、すなわち、ＰＷＭパルス信号においてローレベルからハイレベルへの切り替えをする区間ｂ、及び、ハイレベルからローレベルへの切り替えをする区間ｃの両者について、デューティ指令値がキャリア三角波のピーク値を超えるか否かを判定して、補正量Ｋdly_finが算出される。
【０１８３】
図９（ａ）は、本実施形態における、生成されるＰＷＭ電圧のパルス幅と、デューティ指令値との関係を示すグラフである。図９（ｂ）は、比較例における、生成されるＰＷＭ電圧のパルス幅と、デューティ指令値との関係を示すグラフである。比較例においては、式（５）において、補正量Ｋdly_finに替えて最大補正量Ｋdly_maxが用いられるものとする。
【０１８４】
これらの図には、横軸に示されるデューティ指令値Ｄu02*に応じて、縦軸に、生成されるＰＷＭ電圧おけるオン時間の比率が示されている。なお、上側のスイッチング素子のオン時間の比率が実線で、下側のスイッチング素子のオン時間の比率が破線で示されている。
【０１８５】
図９（ｂ）に示されるように、比較例においては、デューティ指令値Ｄu02*が、最大値「＋ＫD」及び最小値「−ＫD」の近傍においては、デューティ指令値Ｄu02*とＰＷＭ電圧おけるオン時間の比率との関係における線形性が保たれない。これに対して、図９（ａ）に示されるように、本実施形態においては、当該関係において線形性が保つことができる。これは、デューティ指令値Ｄu02*が０％、１００％の近傍となる場合においては、図８に示されるような処理が行われているため、補正によって得られるデューティ指令値Ｄu03*がキャリア三角波の最大値、及び、最小値を超えたとしても、ＰＷＭ電圧を所望のパルス幅とすることができることに起因する。
【０１８６】
本実施形態によれば、以下の効果を得ることができる。
【０１８７】
ＰＷＭ信号が生成されてからＰＷＭ電圧が実際にモータ２００に印加されるまでの間に様々な遅延が発生し、これらの遅延に起因してＰＷＭ電圧において位相のずれが発生する。そこで、発生する遅延に応じた補正量を用いて予めデューティ指令値を補正しておくことで、位相のずれの発生を抑制することが考えられる。しかしながら、遅延に応じた補正量を用いて補正されたデューティ指令値がキャリア三角波のピーク値（最大値又は最小値）を超えてしまう場合には、生成されるＰＷＭ電圧は所望のパルス幅とならない。
【０１８８】
そこで、遅延時間に応じた補正量を用いて補正される場合のデューティ指令値が、キャリア信号のピーク値を超えるか否かを判断する（式（１１）、（１２））。そして、その補正される場合のデューティ指令値がピーク値を超えると判断される場合には、その超過量に応じた修正量を用いて補正量を修正し（式（１５）、（１６））、その補正量を用いてデューティ指令値を補正し（式（５））、補正したデューティ指令値を用いてＰＷＭ信号が生成される。
【０１８９】
このように超過量に応じて補正量が修正されることにより、補正されたデューティ指令値がキャリア三角波のピーク値を超えることに起因する生成されるＰＷＭ電圧のパルス幅の変化を抑制できる。その結果、モータ２００へ供給される交流電力における外乱の発生を抑制できる。さらに、遅延時間に応じた補正量によりデューティ指令値が補正されているので、ＰＷＭ信号のキャリア三角波に対する位相のずれの発生が抑制され、サンプリングより得られる電流の測定値にインバータ４におけるスイッチングに起因するＰＷＭ高調波の混入が抑制される。このようにして、モータ２００の制御性の向上を図ることができる。
【０１９０】
本実施形態の電力制御装置１００によれば、遅延に応じた補正量は、第１遅延（本実施形態では、デッドタイムｔdt）に起因する第１成分と、第２遅延（伝達遅延ｔdly_c、検出遅延ｔdly_cs、及び、操作遅延ｔdly_s）に起因する第２成分とからなる。そして、第１成分を用いて補正される場合に得られるデューティ指令値が、キャリア信号のピーク値を超過する場合には、ＰＷＭ変換器３における後段の処理（本実施形態では図４に示されるデッドタイム付加処理）に起因して、ＰＷＭ電圧は所望のパルス幅となる。
【０１９１】
そこで、第１成分を用いて補正される場合に得られるデューティ指令値が、キャリア信号のピーク値を超える場合には、第２成分を修正量とする。そして、遅延に応じた補正量（第１成分及び第２成分）に対して修正量（第２成分）を用いた修正をすることで、修正された補正量（第１成分）が得られる。その補正量（第１成分）を用いた補正により得られるデューティ指令値がキャリア信号のピーク値を超過したとしても、ＰＷＭ電圧は所望のパルス幅となる。そのため、デューティ指令値が０％や１００％に近い場合においては、第１成分を用いた補正によってデューティ指令値が０％を下回る、又は、１００％を超えても、本実施形態によればＰＷＭ電圧を所望のパルス幅とすることができる。このようにＰＷＭ制御の精度の向上を図ることができる。
【０１９２】
なお、本実施形態においては、後段において図４に示されるようなデッドタイム付加が行われており、第１成分としてデッドタイムｔdtに応じた値が用いられたが、これに限らない。特定の遅延に起因する成分を用いた補正により得られるデューティ指令値が、キャリア信号のピーク値を超過する場合に、その超過に起因してＰＷＭ電圧のパルス幅が変化しないのであるならば、その成分を第１成分とすることができる。
【０１９３】
詳細には、本実施形態の電力制御装置１００によれば、第１成分は、第１遅延であるデッドタイムｔdtに起因する成分である。図８に示されるように、このデッドタイムｔdtを用いた補正により得られるデューティ指令値「Ｄu02*＋Ｋdly_min」が、キャリア三角波の最大値「＋ＫD」を超えるような場合でも、本処理の後段にて行われる図４に示されるデッドタイム付加の処理に起因して、ＰＷＭ電圧は所望のパルス幅ｔ2となる。
【０１９４】
このような場合には、遅延に応じた最大補正量Ｋdly_max（第１成分及び第２成分）に対して、「Ｋdly_max−Ｋdly_min」（第２成分）を修正量とした修正がなされるので、得られる補正量は、デッドタイム時間ｔdtに相当する「Ｋdly_min」（第１成分）となる。「Ｋdly_min」を用いた補正がされたデューティ指令値がキャリア三角波の最大値に対して超過したとしても、ＰＷＭ信号におけるパルス幅「（ｔ2＋ｔdt）／２」は、後段の図４に示されるデッドタイム付加の処理によって２倍とされるため、ＰＷＭ電圧を所望のパルス幅「ｔ2＋ｔdt」とすることができる。このようにすることで、デッドタイム付加に起因するパルス幅の変化を抑制することができる。その結果、ＰＷＭ電圧制御の精度の向上を図ることができる。
【０１９５】
本実施形態の電力制御装置１００によれば、図７に示されるように、ＰＷＭ電圧において発生する位相のずれに応じた補正量は、遅延時間の合計に応じた最大補正量Ｋdly_maxである。なお、最大補正量Ｋdly_maxを用いて補正されたデューティ指令値はｄ*u03_upperは、キャリア三角波の最大値「＋ＫD」を超える。そして、上限超過量ｄoverを修正量として補正量を修正し、修正された補正量を用いた補正によってデューティ指令値Ｄu03*を得る。
【０１９６】
ここで、区間ｃのキャリア三角波に上限がないと仮定して区間ｂまで延長すれば、デューティ指令値Ｄu02*に替えて修正されていない補正量により求められるデューティ指令値ｄ*u03_upperを用いることで、ＰＷＭ電圧の切り替えタイミングは、区間ｂ及びｃの双方において、最大補正量Ｋdly_maxに相当する時間だけ進む。
【０１９７】
しかしながら、実際にはキャリア三角波には上限があり、区間ｃにおいては、デューティ指令値ｄ*u03_upperとキャリア三角波との交点で、ＰＷＭ電圧を切り替えることはできない。そこで、デューティ指令値ｄ*u03_upperに替えてデューティ指令値Ｄu03*を用いることで、デューティ指令値Ｄu03*はキャリア三角波の最大値及び最小値を超えないため、区間ｂ及びｃの双方において、ＰＷＭ電圧の切り替えタイミングの位相をｔexだけ進めることができる。これにより、ＰＷＭ電圧の切り替えタイミングは、区間ｂ及びｃの双方において同じだけ位相が進むので、ＰＷＭ信号を、デューティ指令値Ｄu02*に応じた所望のパルス幅とすることができる。
【０１９８】
なお、遅延時間の合計に応じた最大補正量Ｋdly_maxは、デッドタイムｔdtである第１遅延に起因する第１成分以外に、第２遅延である伝達遅延ｔdly_cに起因する第２成分を含む。伝達遅延ｔdly_cは、ＰＷＭ信号の生成から、前記ＰＷＭ電圧の負荷への印加までの遅延である。補正量Ｋdly_finは最大補正量Ｋdly_maxに対して修正量だけ修正されているので、補正量Ｋdly_finによる補正では、最大補正量Ｋdly_maxに含まれる全ての遅延を相殺することはできない。しかしながら、伝達遅延ｔdly_cなどの遅延時間の一部はデューティ指令値の補正により相殺できる。したがって、電流のサンプリングタイミングがインバータのスイッチングタイミングから時間的に離間でき、検出値におけるＰＷＭ高調波の混入を抑制できる。さらに、上述のように、ＰＷＭ電圧を所望のパルス幅とすることができる。このようにして、ＰＷＭ電圧制御の精度の向上を図ることができる。
【０１９９】
実施形態の電力制御装置１００によれば、最大補正量Ｋdly_maxの第２成分は、スイッチング素子の操作に起因する遅延時間である操作遅延ｔdly_sや、検出系（センサや入力回路におけるＡ／Ｄ変換）の遅延時間である検出遅延ｔdly_csなどの第２遅延に起因する成分を含む。これらの第２遅延に起因する成分が第２成分に含まれることにより、ＰＷＭ電圧のパルス幅がより所望の値に近づけることができるので、ＰＷＭ電圧制御の精度の向上を図ることができる。
【０２００】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【符号の説明】
【０２０１】
１    トルク制御部
３    ＰＷＭ変換器
４    インバータ
５    バッテリ
７ｕ、７ｖ    電流検出器
３１    デューティ指令値演算部
３２    デッドタイム補償処理部
３３    パルスタイミング補正処理部
３４    ＰＷＭ変換処理部
３５    デッドタイム付加処理部
１００    電力制御装置
２００    モータ
【図１】
2020115719.tif 000023
【図２】
2020115719.tif 000024
【図３】
2020115719.tif 000025
【図４】
2020115719.tif 000026
【図５】
2020115719.tif 000027
【図６】
2020115719.tif 000028
【図７】
2020115719.tif 000029
【図８】
2020115719.tif 000030
【図９】
2020115719.tif 000031