以下、添付図面を参照しながら各実施例について詳細に説明する。
図1は、電動自動車用モータ駆動システム1の全体構成の一例を示す図である。モータ駆動システム1は、バッテリ10の電力を用いて走行用モータ40を駆動することにより車両を駆動させるシステムである。尚、電動自動車は、電力を用いて走行用モータ40を駆動して走行するものであれば、その方式や構成の詳細は任意である。電動自動車は、典型的には、動力源がエンジンと走行用モータ40であるハイブリッド自動車(HV)や、動力源が走行用モータ40のみである電気自動車を含む。
モータ駆動システム1は、図1に示すように、バッテリ10、DC/DCコンバータ20、インバータ30、走行用モータ40、及び、半導体駆動装置50を備える。
バッテリ10は、電力を蓄積して直流電圧を出力する任意の蓄電装置であり、ニッケル水素バッテリ、リチウムイオンバッテリや電気2重層キャパシタ等の容量性素子から構成されてもよい。
DC/DCコンバータ20は、双方向のDC/DCコンバータ(可逆チョッパ方式の昇圧DC/DCコンバータ)であってよい。DC/DCコンバータ20は、例えば200Vから650Vへの昇圧変換、及び、650Vから200Vへの降圧変換が可能であってよい。DC/DCコンバータ20のリアクトルL1の入力側と負極ラインとの間には平滑用コンデンサC1が接続されてよい。
図示の例では、DC/DCコンバータ20は、2つのスイッチング素子Q22,Q24と、リアクトルL1とを有する。2つのスイッチング素子Q22,Q24は、インバータ30の正極ラインと負極ラインとの間に互いに直列に接続される。リアクトルL1は、バッテリ10の正極側に直列に接続される。リアクトルL1は、出力側が2つのスイッチング素子Q22,Q24の接続部に接続される。尚、リアクトルL1は、電流使用範囲内でインダクタンスが変化する安価なリアクトルであってもよい(図12参照)。以下では、リアクトルL1は、電流使用範囲内でインダクタンスが変化するリアクトルであるとして説明を続ける。
図示の例では、DC/DCコンバータ20の2つのスイッチング素子Q22,Q24は、IGBT(Insulated Gate Bipolar Transistor)である。尚、スイッチング素子Q22,Q24は、ダイオード(例えばフリーホイールダイオード)D22,24を外付け素子と用いる通常のIGBTであってもよいし、ダイオードD22,24を内蔵した逆導通IGBT(RC(Reverse Conducting)−IGBT)であってもよい。いずれの場合も、上アームのスイッチング素子Q22のコレクタはインバータ30の正極ラインに接続されており、上アームのスイッチング素子Q22のエミッタは下アームのスイッチング素子Q24のコレクタに接続されている。また、下アームのスイッチング素子Q24のエミッタは、インバータ30の負極ライン及びバッテリ10の負極に接続されている。尚、スイッチング素子Q22、Q24は、MOSFET(Metal Oxide Semiconductor Field-Effect Transistor)のような、IGBT以外の他のスイッチング素子であってもよい。
インバータ30は、正極ラインと負極ラインとの間に互いに並列に配置されるU相、V相、W相の各アームから構成される。U相アームはスイッチング素子(本例ではIGBT)Q1,Q2の直列接続からなり、V相アームはスイッチング素子(本例ではIGBT)Q3,Q4の直列接続からなり、W相アームはスイッチング素子(本例ではIGBT)Q5,Q6の直列接続からなる。また、各スイッチング素子Q1〜Q6のコレクタ−エミッタ間には、それぞれ、エミッタ側からコレクタ側に電流を流すようにダイオードD1〜D6が配置される。尚、スイッチング素子Q1〜Q6は、MOSFETのような、IGBT以外の他のスイッチング素子であってもよい。
走行用モータ40は、3相の永久磁石モータであり、U,V,W相の3つのコイルの一端が中点で共通接続されている。U相コイルの他端は、スイッチング素子Q1,Q2の中点M1に接続され、V相コイルの他端は、スイッチング素子Q3,Q4の中点M2に接続され、W相コイルの他端は、スイッチング素子Q5,Q6の中点M3に接続される。スイッチング素子Q1のコレクタと負極ラインとの間には、平滑用コンデンサC2が接続される。尚、走行用モータ40は、電磁石と永久磁石とを組み合わせたハイブリッド型の3相モータであってもよい。
尚、走行用モータ40に加えて、第2の走行用モータ又は発電機が並列で追加されてもよい。この場合、対応するインバータも並列に追加されればよい。
半導体駆動装置50は、DC/DCコンバータ20を制御する。尚、半導体駆動装置50は、DC/DCコンバータ20に加えて、インバータ30を制御してもよい。半導体駆動装置50は、マイクロコンピューターを含むECU(電子制御ユニット)として具現化されてもよい。尚、半導体駆動装置50の各種機能(以下で説明する機能を含む)は、任意のハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより実現されてもよい。例えば、半導体駆動装置50の各種機能は、特定用途向けASIC(application-specific integrated circuit)やFPGA(Field Programmable Gate Array)により実現されてもよい。また、半導体駆動装置50の各種機能は、複数のECUにより協動して実現されてもよい。
DC/DCコンバータ20の制御方法の概要は任意であってよい。典型的には、半導体駆動装置50は、インバータ30の動作(力行又は回生)に応じて、DC/DCコンバータ20を制御する。例えば、半導体駆動装置50は、力行時は、DC/DCコンバータ20の下アームのスイッチング素子Q24のみをオン/オフ切換し(下アームによる片アーム駆動)、バッテリ10の電圧を昇圧してインバータ30側に出力する。この際、下アームのスイッチング素子Q24は、PWM(Pulse Width Modulation)制御されてもよい。また、回生時は、DC/DCコンバータ20の上アームのスイッチング素子Q22のみをオン/オフ切換し(上アームによる片アーム駆動)、インバータ30側の電圧を降圧してバッテリ10側に出力する。この際、上アームのスイッチング素子Q22は、PWM制御されてよい。また、リアクトルL1を流れる電流が0を跨ぐ際(ゼロクロス時)、半導体駆動装置50は、2つのスイッチング素子Q22,Q24を逆相でオン/オフ駆動してもよい(両アーム駆動)。
図2は、半導体駆動装置50におけるDC/DCコンバータ20の制御ブロック500の一例を示す図である。尚、図2には、DC/DCコンバータ20の制御ブロック500に関連した部(モータ制御部540や走行制御部560)も示されている。尚、モータ制御部540及び走行制御部560は、制御ブロック500を実現するECUにより実現されてもよいし、制御ブロック500を実現するECUとは異なるECUにより実現されてもよい。
走行制御部560は、例えばアクセル開度と車速とに基づいて、モータトルク指令値(目標駆動トルク)を決定し、モータ制御部540に供給してよい。モータ制御部540は、モータトルク指令値や各種センサ値等(例えば、電流センサによる各相電流の検出値やレゾルバによるモータ回転数の検出値)に基づいて、インバータ30のスイッチング素子Q1〜Q6のオン/オフ切換のためのゲート信号(モータゲート信号)を生成してよい。モータゲート信号は、スイッチング素子Q1〜Q6のゲートに印加されてよい。
DC/DCコンバータ20の制御ブロック500は、図2に示すように、フィルタ502、ADC(Analog to Digital Converter)504、平均算出部505、電流制御部506、電圧制御部508、モータ目標電圧算出部510、デューティ補正部512、キャリア生成部513、ゲート信号生成部514、及び、サンプリングタイミング算出部516を含んでよい。
フィルタ502には、リアクトルL1を流れる電流(以下、リアクトル電流ILともいう)を検出する電流センサ(図示せず)から検出信号(アナログ信号)が入力される。フィルタ502は、検出信号をフィルタリングし、ADC504に出力する。
ADC504は、サンプリングタイミング算出部516が生成したサンプリングタイミングに応じて起動してフィルタ502からの検出信号のサンプリングを行い、リアクトル電流ILのサンプリング値(デジタル値)を得る。リアクトル電流ILのサンプリング値は、平均算出部505に供給される。
平均算出部505は、ADC504からのリアクトル電流ILの複数のサンプリング値に基づいて、リアクトル電流ILの平均値を算出する。平均算出部505は、スイッチング素子Q22,Q24のオン/オフ切換周期毎に、そのオン/オフ期間におけるリアクトル電流ILの電流値の平均値を算出する。平均値の算出方法は、任意であり、対応するオン/オフ期間におけるリアクトル電流ILの電流値の全てのサンプリング値を用いる方法であってもよい。リアクトル電流ILの平均値は、電流制御部506に供給される。
電流制御部506は、平均算出部505からのリアクトル電流ILの平均値と、電圧制御部508からのリアクトル電流ILの目標値IL*とに基づいて、DC/DCコンバータ20のスイッチング素子Q22,Q24を駆動(オン/オフ切換)するためのデューティを算出する。この際、PI(Proportional Integral)制御やPID(Proportional Integral Derivative)制御が利用されてもよい。算出したデューティ(duty)は、デューティ補正部512に供給される。尚、リアクトル電流ILの目標値IL*は、電圧制御部508において、モータ目標電圧VH*と、平滑用コンデンサC2の両端の電圧VHの検出値(VHセンサ値)と基づいて算出されてよい。モータ目標電圧VH*は、平滑用コンデンサC2の両端電圧VH(図1参照)の目標値である。モータ目標電圧VH*は、モータ制御部540からのモータ回転数及びモータトルク指令値に基づいて算出されてよい。
デューティ補正部512は、電流制御部506からのデューティを補正して、最終的なデューティ(補正後duty)を算出する。デューティ補正部512による補正方法の一例は後述する。最終的なデューティは、サンプリングタイミング算出部516に供給される。
キャリア生成部513は、所定の周波数の基準信号をキャリア信号として生成する。キャリア信号は、三角波や矩形波の波形を有してよい。以下では、キャリア信号は、三角波の波形を有するものとして説明を続ける。キャリア信号の周波数は、一定であってもよいし、可変であってもよい。例えば、キャリア信号の周波数は、DC/DCコンバータ20の温度が上昇したときに低下される態様で可変されてもよい。キャリア信号は、ゲート信号生成部514及びサンプリングタイミング算出部516に供給される。
ゲート信号生成部514は、キャリア生成部513からのキャリア信号と、デューティ補正部512からのデューティとに基づいて、DC/DCコンバータ20のスイッチング素子Q22,Q24のオン/オフ切換のためのゲート信号を生成する。ゲート信号は、スイッチング素子Q22,Q24のそれぞれのゲートに印加される。
サンプリングタイミング算出部516は、キャリア生成部513からのキャリア信号と、デューティ補正部512からのデューティとに基づいて、リアクトル電流ILのサンプリング(検出)を行うためのサンプリングタイミングを決定し、決定したサンプリングタイミングを示す信号をADC504に送信する。サンプリングタイミングは、スイッチング素子Q22,Q24のオン/オフ切換周期毎に複数回サンプリングが行われるように決定される。サンプリングタイミングの決定方法の一例は後述する。
図3は、キャリア信号とデューティとの関係で切り替わるスイッチング素子Q22,Q24のオン/オフ状態の時系列の一例を示す図であり、図3(A)は、上段から、キャリア信号とデューティの関係、力行時におけるスイッチング素子Q22,Q24のオン/オフ状態、及び、リアクトル電流ILの波形の一例を概略的に示す図であり、図3(B)は、上段から、キャリア信号とデューティの関係、回生時におけるスイッチング素子Q22,Q24のオン/オフ状態、及び、リアクトル電流ILの波形の一例を概略的に示す図である。
力行時において、例えばリアクトル電流ILが所定値Th1(図示せず)よりも大きい場合は、図3(A)に示すように、下アームのスイッチング素子Q24のみがオン/オフ切換され、上アームのスイッチング素子Q22はオフ状態に維持されてよい(下アームによる片アーム駆動)。図3(A)に示す例では、下アームのスイッチング素子Q24は、キャリア信号のレベルがデューティのレベルを超えると、オンからオフに切り換えられ、キャリア信号のレベルがデューティのレベルを下回ると、オフからオンに切り換えられる。
下アームのスイッチング素子Q24がオンすると、バッテリ10の正極側からリアクトルL1及びスイッチング素子Q24を通ってバッテリ10の負極側へと戻る電流ループが形成され、リアクトル電流ILが上昇する。この際、リアクトル電流ILは、図3(A)に示すように、上昇する。次に下アームのスイッチング素子Q24がオフすると、リアクトルL1を流れ続けようとする電流は、上アームのダイオードD22を通ってインバータ30側に流れる。この際、リアクトル電流ILは、図3(A)に示すように、減少する。このようにして、力行時は、リアクトル電流ILは、下アームのスイッチング素子Q24のオン/オフ切換毎に、正の領域で傾きを変化させつつ増減する。尚、リアクトル電流ILの増減は、デューティに依存し、デューティが大きいほど下アームのスイッチング素子Q24のオン期間が長くなりリアクトル電流ILが増加する。
回生時において、例えばリアクトル電流ILが所定値Th2(図示せず)よりも小さい場合は、図3(B)に示すように、上アームのスイッチング素子Q22のみがオン/オフ切換され、下アームのスイッチング素子Q24はオフ状態に維持されてよい(上アームによる片アーム駆動)。尚、所定値Th2は、負であり、例えば−Th1であってよい。同様に、図3(B)に示す例では、上アームのスイッチング素子Q22は、キャリア信号のレベルがデューティのレベルを超えると、オンからオフに切り換えられ、キャリア信号のレベルがデューティのレベルを下回ると、オフからオンに切り換えられる。
上アームのスイッチング素子Q22がオンすると、インバータ30の正極側から上アームのスイッチング素子Q22及びリアクトルL1を通ってバッテリ10の正極へと電流が流れる。この際、リアクトル電流ILは、図3(B)に示すように、減少する(負方向では増加する)。次に上アームのスイッチング素子Q22がオフすると、リアクトルL1を流れ続けようとする電流は、下アームのダイオードD24を通ってバッテリ10の正極へと流れる。この際、リアクトル電流ILは、図3(B)に示すように、上昇する。このようにして、回生時は、リアクトル電流ILは、上アームのスイッチング素子Q22のオン/オフ切換毎に、負の領域で傾きを変化させつつ増減する。尚、リアクトル電流ILの増減は、デューティに依存し、デューティが大きいほど上アームのスイッチング素子Q22のオン期間が長くなりリアクトル電流ILが減少(負方向に増加)する。
尚、図3に示す例では、片アーム駆動を例示したが、両アーム駆動が実行されてもよい。両アーム駆動時には、2つのスイッチング素子Q22,Q24は、適切なデットタイムを持ちつつ、逆相でオン/オフ駆動される。両アーム駆動は、例えばリアクトル電流ILの絶対値が所定値(例えばTh1)以下であるときに実行されてもよいし、他の場合に実行されてもよい。
また、図3に示す例では、デューティは一定であるが、デューティは、キャリア信号の半周期に対応した所定のデューティ設定周期毎に変更(設定)される(図5参照)。この際、デューティは、キャリア信号の山(上側の頂点)と谷(下側の頂点)で変更されてよい。以下では、一例として、デューティがキャリア信号の山と谷で変更されるものとして説明を続ける。尚、デューティ設定周期毎に設定されるデューティは、上述の電流制御部506及びデューティ補正部512により算出されるデューティが用いられるので、上述の電流制御部506及びデューティ補正部512によるデューティの算出についても、デューティ設定周期に対応した周期毎、即ちキャリア信号の半周期毎に1回に実行される。また、当然ながら、デューティ設定周期毎に設定されるデューティは、上述の電流制御部506及びデューティ補正部512によるデューティの算出結果に依存して、一時的に一定となる場合もありうる。
また、図3に示す例では、スイッチング素子Q22、Q24は、キャリア信号のレベルがデューティのレベルを超えると、オンからオフに切り換えられ、キャリア信号のレベルがデューティのレベルを下回ると、オフからオンに切り換えられているが、逆であってもよい。即ち、スイッチング素子Q22、Q24は、キャリア信号のレベルがデューティのレベルを超えると、オフからオンに切り換えられ、キャリア信号のレベルがデューティのレベルを下回ると、オンからオフに切り換えられる構成であってもよい(図9及び図10参照)。
図4及び図5は、サンプリングタイミングの決定方法の一例を示す図である。図4は、サンプリングタイミング算出部516の機能部の一例を示す図である。図5は、キャリア信号と、電流制御部506及びデューティ補正部512により算出されるデューティと、サンプリングタイミングとの関係の一例を示す図である。図5において、白丸は、リアクトル電流ILの電流値のサンプリングタイミングを表す。ここでは、一例として、スイッチング素子Q22について説明するが(図3(B)の回生時について説明するが)、スイッチング素子Q24について((図3(A)の力行時について)も同様であってよい。尚、両アーム駆動時には、いずれか一方のスイッチング素子Q22,Q24について同様であってよい。
サンプリングタイミング算出部516は、図4に示すように、必要時間算出部516aと、ILサンプリング数算出部516bと、ADC起動タイミング発生部516cとを含む。
必要時間算出部516aは、キャリア生成部513からのキャリア信号と、デューティ補正部512からのデューティとに基づいて、必要時間を算出する。必要時間は、平均算出部505におけるリアクトル電流ILの電流値の平均値の算出期間、即ちスイッチング素子Q22のオン/オフ期間に対応する。例えば、図5に示す例では、期間dは、キャリア信号のレベルがデューティのレベルを上回ってからキャリア信号が山に到達するまでの期間(t0〜t1)に対応し、期間aは、キャリア信号が山に到達してからキャリア信号のレベルがデューティのレベルを下回るまでの期間(t1〜t2)に対応し、期間bは、キャリア信号のレベルがデューティのレベルを下回ってからキャリア信号が谷に到達するまでの期間(t2〜t3)に対応し、期間cは、キャリア信号が谷に到達してからキャリア信号のレベルがデューティのレベルを上回るまでの期間(t3〜t4)に対応する。この場合、必要時間算出部516aに算出される必要時間は、d+a、又は、b+cとなる。尚、図3に示す例では、期間d+aは、スイッチング素子Q22のオフ期間に対応し、期間b+cは、スイッチング素子Q22のオン期間に対応する。尚、必要時間算出部516aにて算出された必要時間の長さは、図5に示すように、デューティの変化に応じて変化する。
ILサンプリング数算出部516bは、必要時間算出部516aにて算出された必要時間に基づいて、リアクトル電流ILのサンプリングのためのサンプリング数を算出する。サンプリング数は、好ましくは、期間a〜dの期間毎に算出される。この際、必要時間算出部516aにて算出された必要時間(d+a、又は、b+c)において少なくとも3回以上サンプリングが行われるように、3以上のサンプリング数を算出する。例えば、ILサンプリング数算出部516bは、必要時間算出部516aにて算出された必要時間を、規定時間αで割って得られた商をサンプリング数として算出してもよい。規定時間αは、短いほどサンプリング数が増えて平均値の算出精度が高まるが、処理負荷が増大する。従って、規定時間αは、必要とされる算出精度と処理負荷との関係で適宜決定されてよい。但し、規定時間αは、好ましくは、デューティに依存して必要時間が最小となる場合でも必要時間内で3回以上サンプリングが行われるように決定されてよい。
また、ILサンプリング数算出部516bは、必要時間算出部516aにて算出された必要時間と、算出したサンプリング数とに基づいて、サンプリングタイミングを算出する。例えば、図5に示す例において、時刻t1からの期間におけるサンプリングタイミングt11、t12を算出する。この場合、t11、t12は、以下の通りであってよい。
t11=t1+t1β
t12=t1+2×t1β
t13(t2)=t1+3×t1β
ここで、t1βは、期間aと、期間aにおけるサンプリング数Ns(図5の例では、Ns=3)とを用いて、t1β=a/Ns(≧α)である。尚、以下では、各必要時間(d+a、及び、b+c)における最後のサンプリングタイミングは、「最終サンプリングタイミング」とも称する。図5に示す例では、時間t2,t4が最終サンプリングタイミングに対応する。尚、電流センサの検出信号は、フィルタ502に通されることで遅れ時間が発生するため、かかる遅れ時間の影響が補償されるように、各サンプリングタイミングが所定の遅延時間だけ遅延されてもよい。
ADC起動タイミング発生部516cは、ILサンプリング数算出部516bで算出されたサンプリングタイミングに基づいて、ADC504のサンプリングを起動させる信号を発生する。具体的には、ADC起動タイミング発生部516cは、キャリア信号の山と谷のタイミングと、ILサンプリング数算出部516bで算出されたサンプリングタイミングとでサンプリングが行われるように、ADC504を動作させる。
尚、平均算出部505は、上述の如く、スイッチング素子Q22,Q24のオン/オフ切換周期毎に、そのオン/オフ期間におけるリアクトル電流ILの電流値の平均値を算出する。図5に示す例では、例えば時刻t0から時刻t2までのオフ期間については、平均算出部505は、時刻t0から時刻t2までのオフ期間中にサンプリングされたサンプリング値(図5に示す例では、8点のサンプリング値)を平均することで、リアクトル電流ILの平均値を算出する。また、時刻t2から時刻t4までのオン期間については、平均算出部505は、時刻t2から時刻t4までのオン期間中にサンプリングされたサンプリング値(図5に示す例では、4点のサンプリング値)を平均することで、リアクトル電流ILの平均値を算出する。このように、キャリア信号がデューティと交差するタイミングで取得されたサンプリング値(上述の例では、時刻t2で取得されたサンプリング値)については、そのタイミングで切り替わるオン期間及びオフ期間のそれぞれにおける平均値の算出に用いられる。
図6は、リアクトル電流ILの平均値と、その平均値に基づいて設定されるデューティとの関係を示す図である。
オフ期間OFF1内の各サンプリングタイミングで取得されたリアクトル電流ILの各サンプリング値の平均値に基づいて演算されるデューティは、図中の矢印P1で示すように、次のオン期間ON1の途中(キャリア信号の谷)からduty2として設定される。duty2は、次のオフ期間OFF2の途中(キャリア信号の山)まで維持される。また、オン期間ON1内の各サンプリングタイミングで取得されたリアクトル電流ILの各サンプリング値の平均値に基づいて演算されるデューティは、図中の矢印P2で示すように、次のオフ期間OFF2の途中(キャリア信号の山)からduty3として設定される。同様に、duty3は、次のオン期間ON2の途中(キャリア信号の谷)まで維持される。また、オフ期間OFF2内の各サンプリングタイミングで取得されたリアクトル電流ILの各サンプリング値の平均値に基づいて演算されるデューティは、図中の矢印P3で示すように、次のオン期間ON2の途中(キャリア信号の谷)からduty4として設定される。このようにして、各オン/オフ期間で算出されるリアクトル電流ILの平均値は、次のオフ/オン期間のキャリア信号の山/谷から設定されるデューティの演算に使用される。
図7は、デューティ補正部512におけるデューティの補正方法の一例を示すフローチャートである。尚、図7に示す処理の一部又は全部は、サンプリングタイミング算出部516との協動で実現されてもよい。ここでは、duty3の補正について説明する。図8は、図7の説明図であり、図6の一部を抽出した概略図である。図8は、補正前のduty3(電流制御部506により算出されたデューティ)と補正後のduty3(デューティ補正部512により補正されたデューティ)との関係を示す概略図である。図8において、白丸は、リアクトル電流ILの電流値のサンプリングタイミングを表す。
ここで、図8において、時間γは、サンプリングタイミングP3から最終的なduty4の設定までの処理に必要な時間に対応し、以下、「duty設定必要時間γ」という。尚、duty設定必要時間γは、最終サンプリングタイミングからデューティ補正部512による最終的なduty4の算出までに必要なデューティ算出処理時間(図2に示す例では、平均算出部505、電流制御部506及びデューティ補正部512における各処理時間の合計)が大部分を占める。補正前のduty3は、上述の如く、前回のオン期間(図6のON1参照)で取得されたリアクトル電流ILのサンプリング値の平均値に基づいて演算される。例えば、電流制御部506は、前回のオン期間におけるリアクトル電流ILの平均値と、電圧制御部508からのリアクトル電流ILの目標値IL*とに基づいて、補正前のduty3を演算する。
図7の示す処理は、補正前のデューティ(本例では補正前のduty3)が電流制御部506により演算された時点又はそれ以降に実行され、今回のデューティ設定タイミング(本例では、キャリア信号の次の山)まで完了するように実行される。尚、図7に示す例では、図7の示す処理はソフトウェアにより実現される態様で説明されるが、上述の如く、図7の示す処理の一部又は全部はハードウェア等で実現されてもよい。
ステップ702では、電流制御部506により算出された補正前のduty3と、現在のキャリア信号の周波数とに基づいて、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間を算出する。尚、図8に示す例では、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間は、期間bに対応する。
ステップ704では、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間がduty設定必要時間γ以上であるか否かを判定する。最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間がduty設定必要時間γ以上である場合は、そのまま終了する。即ち、この場合、補正前のduty3の補正が不要であると判断して、補正前のduty3の補正を行うことなく終了する。この場合、デューティは、補正前のduty3がそのまま次回のデューティ設定タイミング(キャリア信号の次の谷)で設定されることになる。他方、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間がduty設定必要時間γ以上でない場合は、ステップ706に進む。
ステップ706では、補正前のduty3を補正する。即ち、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間がduty設定必要時間γ以上となるように、補正前のduty3を補正する。例えば、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間がduty設定必要時間γと等しくなるデューティを、補正後のduty3として決定してよい。尚、以下では、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間がduty設定必要時間γと等しくなるデューティを、「臨界点デューティ」とも称する。尚、本ステップ706において、補正前のduty3は、臨界点デューティとは異なるデューティへと補正されてもよい。例えば、図7及び図8に示す例のようにキャリア信号が山になるときに設定されるデューティの補正時には、臨界点デューティよりも僅かに大きいデューティに補正されてもよい。
尚、図8に示す例では、補正前のduty3によると最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間がduty設定必要時間γより短いため、ステップ706に進み、補正前のduty3が補正される。この補正の結果、図8にて実線で示すように、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間が必要時間γ以上となるようなduty3が最終的に決定される。
図9及び図10は、処理可能時間とデューティとの関係を示す図であり、図9は、デューティが小さい場合を示し、図10は、デューティが大きい場合を示す。図9及び図10において、星印は、デューティ設定タイミングを示す。処理可能時間とは、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間に対応する。尚、図9及び図10に示す例では、図3に示した例とは異なり、スイッチング素子Q22、Q24は、キャリア信号のレベルがデューティのレベルを超えると、オフからオンに切り換えられ、キャリア信号のレベルがデューティのレベルを下回ると、オンからオフに切り換えられるものとして、各波形(ゲート信号及びリアクトル電流ILの波形)が図示されている。
図9に示すように、デューティが小さい場合には、キャリア信号が谷になるときのデューティ設定に対する処理可能時間が短くなる。同様に、図10に示すように、デューティが大きい場合には、キャリア信号が山になるときのデューティ設定に対する処理可能時間が短くなる。この処理可能時間がduty設定必要時間γ未満となると、デューティ設定(更新)が間に合わず、所望の制御が実現できないという不都合が生じる。
この点、上述の図7及び図8に示すデューティの補正方法によれば、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間(処理可能時間)が、duty設定必要時間γ未満である場合に、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間が、duty設定必要時間γ以上となるように、今回のデューティ設定周期で設定するデューティが最終的に決定される。これにより、最終サンプリングタイミングでサンプリングしたリアクトル電流ILのサンプリング値を含むリアクトル電流ILの平均値に基づいて演算されるデューティ(本例ではduty4)であって、次回のデューティ設定タイミングで設定されるデューティ(本例ではduty4)を、次回のデューティ設定タイミングまでに演算完了すること(設定可能な状態にすること)ができる。即ち、上述の補正を行わない場合には、当該最終サンプリングタイミングでサンプリングしたリアクトル電流ILのサンプリング値を含むリアクトル電流ILの平均値に基づいてduty4を演算しても、かかるduty4の演算が次回のデューティ設定タイミングに間に合わない場合がある(結果として、新たなデューティの設定ができないことになりうる)。これに対して、図7に示すデューティの補正処理を行うことで、かかる不都合を防止することができる。
尚、図7及び図8では、キャリア信号が山になるときに設定されるデューティの補正方法について説明したが、キャリア信号が谷になるときに設定されるデューティの補正方法についても同様であってよい。例えば、次にキャリア信号が谷になるときに設定される(duty4)についても、同様に適用可能である。この場合、ステップ702では、電流制御部506により算出された補正前のduty4と、現在のキャリア信号の周波数とに基づいて、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間を算出すればよい。また、補正前のduty4は、同様に臨界点デューティに補正されてもよいし、臨界点デューティよりも僅かに小さいデューティに補正されてもよい。
また、図7及び図8では、デューティの上限値や下限値を考慮していないが、デューティの上限値や下限値についても考慮して、デューティの補正を行ってもよい。例えば短絡を防止するために必要な物理的な限界値としてデューティの上限値や下限値が設定されている場合は、かかる上限値や下限値を超えないように、デューティの補正を行ってもよい。
また、図7及び図8では、電流制御部506により算出されるデューティをデューティ補正部512により補正することで最終的なデューティを決定しているが、電流制御部506は、デューティ補正部512の機能を内包してもよい。例えば、電流制御部506は、臨界点デューティを上限値又は下限値としつつ、ADC504からのリアクトル電流ILのサンプリング値と、電圧制御部508からのリアクトル電流ILの目標値IL*とに基づいて、デューティを決定してもよい。
図11及び図12は、リアクトルL1のインダクタンスと電流使用範囲の関係と、リアクトル電流ILの波形とを示す図である。
図11に示す例では、リアクトルL1は、電流使用範囲の全体に亘って、インダクタンスが一定である。かかるリアクトルL1を使用した場合、図11の右側のリアクトル電流ILの波形に示すように、リアクトル電流ILは、スイッチング素子Q22,Q24のオン/オフ切換に応じて、一定の傾きで増減する。この場合、リアクトル電流ILの極大値と極小値の中間値をリアクトル電流ILの平均値とすることができる。他方、図12に示す例では、リアクトルL1は、電流使用範囲においてインダクタンスが変化する。かかるリアクトルL1を使用した場合、図12の右側のリアクトル電流ILの波形に示すように、リアクトル電流ILは、スイッチング素子Q22,Q24のオン/オフ切換に応じて、非線形に増減する。即ち、傾きが一定でない。この場合、リアクトル電流ILの極大値と極小値の中間値を平均値とすることができない。従って、中間点でサンプリングを実行しても精度の良い平均値が得られない。
この点、上述した実施例によれば、上述の如く、必要時間(スイッチング素子Q22,Q24のオン/オフ期間)において少なくとも3回以上サンプリングが行われるようにサンプリングタイミングが決定されるので、図12に示すような非線形の特性を持つリアクトルL1を使用した場合でも、リアクトル電流ILの平均値を精度の良く算出することができる。この場合、制御の高い信頼性を維持しつつ、図12に示すような非線形の特性を持つ安価なリアクトルL1を使用して低コスト化を図ることが可能である。但し、図11に示すようなアクトルL1を使用しつつ、3回以上サンプリングを維持してもよい。
次に、上述のようなデューティの補正に代えて、リアクトル電流ILの平均値を推定する実施例について、実施例2として説明する。以下では、上述のようなデューティの補正を行う実施例を、実施例1とも称する。また、以下では、実施例2に特有の構成を主に説明するが、他の構成は上述した実施例1と同様であってよい。
本実施例2においては、図2におけるデューティ補正部512は省略される。従って、電流制御部506からのデューティは、補正されること無く、ゲート信号生成部514及びサンプリングタイミング算出部516に供給される。従って、本実施例2においては、duty設定必要時間γは、最終サンプリングタイミングから電流制御部506によるデューティの算出までに必要なデューティ算出処理時間(平均算出部505及び電流制御部506における各処理時間の合計)が大部分を占める。
図13は、実施例2における平均算出部505の機能部の一例を示す図である。図14は、キャリア信号と、デューティと、サンプリングタイミングとの関係と共に、リアクトル電流ILの推定値が代用されるサンプリングタイミングの一例を示す図である。
平均算出部505は、図13に示すように、バッファ505aと、IL推定要否判定部505bと、IL推定値算出部505cと、平均値算出部505dとを含む。
バッファ505aは、ADC504からのリアクトル電流ILのサンプリング値を一時格納する。
IL推定要否判定部505bは、リアクトル電流ILのサンプリング値の推定が必要か否かを判定する。IL推定要否判定部505bは、処理可能時間(最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間)がduty設定必要時間γ未満であるか否かに応じて、リアクトル電流ILのサンプリング値の推定が必要か否かを判定してもよい。この場合、処理可能時間がduty設定必要時間γ未満である場合は、リアクトル電流ILのサンプリング値の推定が必要と判定する。例えば図14に示す例では、処理可能時間がduty設定必要時間γ未満であるため、リアクトル電流ILのサンプリング値の推定が必要と判定する。
IL推定値算出部505cは、IL推定要否判定部505bによりリアクトル電流ILのサンプリング値の推定が必要と判定された場合に、リアクトル電流ILのサンプリング値の推定を行う。この推定方法は、任意であってよいが、例えば、次のような方法であってよい。先ず、IL推定値算出部505cは、最終サンプリングタイミングに対して直前の2つのサンプリング値からリアクトル電流ILの傾き(di/dt)を算出する。例えば図14に示す例では、サンプリングタイミングt4、t5で得られる2つのサンプリング値IL4,IL5から以下のようにリアクトル電流ILの傾き(di/dt)を算出する。
di/dt=(IL5−IL4)/(t5−t4)
次に、IL推定値算出部505cは、算出したリアクトル電流ILの傾き(di/dt)と、最終サンプリングタイミングに対して直前のサンプリング値と、直前のサンプリングタイミングから最終サンプリングタイミングまでの時間とに基づいて、最終サンプリングタイミングでのリアクトル電流ILのサンプリング値の推定値IL_estを算出する。具体的には、例えば図14に示す例では、以下の通り算出されてよい。
IL_est=IL5+di/dt×(t6−t5)
平均値算出部505dは、IL推定要否判定部505bによりリアクトル電流ILのサンプリング値の推定が必要と判定された場合に、ADC504からのリアクトル電流ILのサンプリング値(バッファ505aから取得するILバッファ値)と、IL推定値算出部505cにより算出されたリアクトル電流ILのサンプリング値の推定値IL_est(IL推定値)とに基づいて、リアクトル電流ILの平均値(IL平均値)を算出する。例えば、図14に示す例では、平均値算出部505dは、ADC504からのリアクトル電流ILのサンプリング値IL1,IL2,IL3,IL4,IL5と、IL推定値算出部505cにより算出されたサンプリング値IL6の推定値IL_estとに基づいて、例えば以下の示すように、リアクトル電流ILの平均値IL_avを算出する。
IL_av=(IL1+IL2+IL3+IL4+IL5+IL_est)/6
図15は、実施例2による平均算出部505の処理の一例を示すフローチャートである。尚、図15に示す例では、図15の示す処理はソフトウェアにより実現される態様で説明されるが、上述の如く、図15の示す処理の一部又は全部はハードウェア等で実現されてもよい。
ステップ1502では、必要時間算出部516aから処理可能時間(最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間)を取得する。処理可能時間は、平均算出部505において算出されてもよい。
ステップ1504では、処理可能時間(最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間)がduty設定必要時間γ以上であるか否かを判定する。処理可能時間がduty設定必要時間γ以上である場合は、推定が不要であると判断して、ステップ1508に進む。他方、処理可能時間がduty設定必要時間γ以上でない場合は、ステップ1506に進む。
ステップ1506では、最終サンプリングタイミングでのリアクトル電流ILのサンプリング値を推定する。推定方法は上述の通りであってよい。
ステップ1508では、今回のオン/オフ期間におけるリアクトル電流ILの全てのサンプリング値と、上記ステップ1506を経由した場合はリアクトル電流ILの推定値とに基づいて、リアクトル電流ILの平均値を算出する。
図16及び図17は、リアクトル電流ILの推定の有無の応じた処理可能時間とデューティとの関係を示す図であり、図16は、デューティが小さい場合を示し、図17は、デューティが大きい場合を示す。図16及び図17において、星印は、デューティ設定タイミングを示す。また、図16及び図17において、リアクトル電流ILの推定を行わない場合(上述の実施例1による補正を行う場合)の処理可能時間とデューティが点線で示され、リアクトル電流ILの推定を行う場合の処理可能時間とデューティが実線で示されている。
図16に示すように、デューティが小さい場合には、キャリア信号が谷になるときのデューティ設定に対する処理可能時間が短くなる。同様に、図17に示すように、デューティが大きい場合には、キャリア信号が山になるときのデューティ設定に対する処理可能時間が短くなる。この処理可能時間がduty設定必要時間γ未満となると、デューティ設定(更新)が間に合わず、所望の制御が実現できないという不都合が生じる。
この点、上述の実施例2によれば、最終サンプリングタイミングから次回のデューティ設定タイミングまでの時間(処理可能時間)が、duty設定必要時間γ未満である場合に、最終サンプリングタイミングでのリアクトル電流ILのサンプリング値を推定する。これにより、次回のデューティ設定タイミングまでにリアクトル電流ILの平均値を算出し、次回のデューティ設定タイミングまでに次回のデューティの演算を完了すること(次回のデューティの設定が可能な状態にすること)ができる。また、上述の実施例2によれば、上述の実施例1による補正を行わないため、本来のデューティ(補正前のデューティ)を維持して制御を継続することができるので、DC/DCコンバータ20の制御性能(ひいては走行用モータ40の制御性能)を維持することができる。
また、上述した実施例2によれば、上述の実施例1と同様、必要時間(スイッチング素子Q22,Q24のオン/オフ期間)において少なくとも3回以上サンプリングが行われるようにサンプリングタイミングが決定されるので、図12に示したような非線形の特性を持つリアクトルL1を使用した場合でも、リアクトル電流ILの平均値を精度の良く算出することができる。この場合、制御の高い信頼性を維持しつつ、図12に示したような非線形の特性を持つ安価なリアクトルL1を使用して低コスト化を図ることが可能である。但し、図11に示すようなアクトルL1を使用しつつ、3回以上サンプリングを維持してもよい。
尚、上述した実施例2では、最終サンプリングタイミングでのリアクトル電流ILのサンプリング値を推定しているが、最終サンプリングタイミングを含む複数のサンプリングタイミングでのリアクトル電流ILのサンプリング値を推定してもよい。例えば、最終サンプリングタイミングよりも1つ前のサンプリングタイミング(最後から2番目のサンプリングタイミング)から次回のデューティ設定タイミングまでの時間が、duty設定必要時間γ未満である場合は、最終サンプリングタイミングでのリアクトル電流ILのサンプリング値と、最後から2番目のサンプリングタイミングでのリアクトル電流ILのサンプリング値とが同様に推定されてもよい。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
例えば、上述した実施例では、好ましい実施例として、キャリア信号の山及び谷でサンプリングが行われるようにサンプリングタイミングが決定されているが、キャリア信号の山及び/又は谷でサンプリングが実行されないようなサンプリングタイミングが決定されてもよい。また、上述した実施例では、好ましい実施例として、キャリア信号とデューティとが交差するタイミング(スイッチング素子Q22,Q24のオン/オフ切換タイミング)でサンプリングが行われるようにサンプリングタイミングが決定されているが、キャリア信号とデューティとが交差するタイミングでサンプリングが実行されないようなサンプリングタイミングが決定されてもよい。例えば、サンプリング間隔が常に一定である構成が採用されてもよい。
また、上述した実施例では、好ましい実施例として、サンプリング間隔が規定時間αに略対応するようにサンプリングタイミングが決定されているが、サンプリング間隔は有意に変化されてもよい。例えば、各オン/オフ期間におけるサンプリング数が一定数となるようにサンプリングタイミングが決定されてもよい。
また、上述した実施例では、DC/DCコンバータ20は、車両用に使用されているが、他の用途(例えば、他の電動装置の電源装置等)に使用されてもよい。また、DC/DCコンバータ20は、車両用としても他の用途(例えば、電動ステアリング装置用)に使用されてもよい。