以下、本発明の充電装置およびそのプログラムの実施形態について図を参照して説明する。まず、図1〜図3を参照して充電装置10のハードウェア構成を説明する。図1には、充電装置10の構成例を示すブロック図が図示されている。また、図2および図3には、逆相波形、全波整流波形、PWM信号波形、3相交流電圧波形、ゼロクロス検出信号波形やタイマー割込み信号波形、等が図示されている。
図1に示すように、充電装置10は、3相交流電源ACから供給される交流電力を直流電力に変換してバッテリBattを充電し得る機能を有するもので、主に、全波整流ダイオード12、降圧用IGBTモジュール13、昇圧用IGBTモジュール15、検出トランス18、電流センサ19、制御ユニット20等から構成されている。なお、本実施形態に係る充電装置10は、バッテリBattに供給する充電電力の充電電流Ioが所定の定電流値Icntとなるように制御する定電流制御タイプの一例である。
全波整流ダイオード12は、3相交流電源ACから供給される3相200Vの交流電圧(図3(A)参照)のすべての相間(UV相,VW相,WU相)について全波整流可能に複数のダイオード(半導体整流素子)により構成される半導体モジュールである。この全波整流ダイオード12により整流された直流電圧(入力電圧Vi)の波形Wrctには、図2(B)に示すように全波整流波形のリップル成分が含まれており、降圧用IGBTモジュール13と制御ユニット20とに出力される。なお、「全波整流波形のリップル成分」とは、図2(B)において太い実線により表現されている山と谷の繰り返し波形のことである。
降圧用IGBTモジュール13は、全波整流ダイオード12から出力される直流電圧(入力電圧Vi)を降圧するためのスイッチング素子を含む半導体モジュールで、スイッチング素子に例えばIGBT(絶縁ゲートバイポーラトランジスタ)を用いたものある。本実施形態では、例えば、PNPタイプのIGBTからなり、入力側(コレクタ)に入力が、また出力側(エミッタ)にチョーコイル14がそれぞれ接続されるとともに、入出力間をオンオフ制御を可能にするPWM信号Dpwmを入力可能に制御端子(ゲート)に制御ユニット20のゲート出力部27が接続されている。
本実施形態では、バッテリBattの充電電圧Voを3相交流電源ACから供給される電圧以下にする必要があるときに、電流センサ19により検出された充電電流Ioが所定の定電流値Icntに近づくように制御されたPWM信号Dpwmがゲート出力部27を介して当該スイッチング素子に入力される。これにより、CPU21から出力されるPWM信号Dpwmによってスイッチング素子のオンオフ期間が制御されるため、充電電流Ioの目標値として所定の定電流値Icntに向けた、降圧用IGBTモジュール13の出力電流の増減制御が可能となる。
一方、昇圧用IGBTモジュール15は、降圧用IGBTモジュール13から出力される直流電圧を昇圧するためのスイッチング素子を含む半導体モジュールで、降圧用IGBTモジュール13とは逆向きの電圧制御が行われる。即ち、この昇圧用IGBTモジュール15は、バッテリBattの充電電圧Voを3相交流電源ACから供給される電圧以上にする必要があるときに、充電電流Ioが所定の定電流値Icntに近づくように、昇圧用IGBTモジュール15の出力電流を増減し得るように構成されている。
本実施形態では、例えば、入力側から出力側に向けて電流を許容しその逆方向の流れを阻止し得るように入出力間に接続されるダイオードと、入力側に接続されるチョークコイル14とアース等の基準電位との間をオンオフ制御可能に接続されるNPNタイプのIGBTと、からなる。なお、このIGBTの制御端子(ゲート)にも、入出力間をオンオフ制御を可能にするPWM信号Upwmを入力可能に制御ユニット20のゲート出力部27が接続されている。これにより、CPU21から出力されるPWM信号Upwmによってスイッチング素子のオンオフ期間が制御されることで充電電流Ioが所定の定電流値Icntに近づくように出力電流が増減可能に制御される。
このように本実施形態では、降圧用IGBTモジュール13は電圧を下げる方向、昇圧用IGBTモジュール15は電圧を上げる方向、というように、降圧用IGBTモジュール13と昇圧用IGBTモジュール15は互いに逆方向の電圧制御が行われる。このため、降圧用IGBTモジュール13によって充電装置10の充電電流Ioが制御されている場合には、昇圧用IGBTモジュール15による電流制御は行われることなく、この間、昇圧用IGBTモジュール15のスイッチング素子はオフ状態を維持するようにCPU21により制御される。また、昇圧用IGBTモジュール15によって充電装置10の充電電流Ioが制御されている場合には、降圧用IGBTモジュール13による電流制御は行われることなく、この間、降圧用IGBTモジュール13のスイッチング素子はオン状態を維持するようにCPU21により制御される。
本実施形態では、昇圧用IGBTモジュール15の出力側には、アース等の基準電位との間に平滑コンデンサ16が接続され、さらにこの平滑コンデンサ16には、当該充電装置10の出力に一端側が接続されるチョーコイル17の他端側が接続されている。これにより、昇圧用IGBTモジュール15の出力電圧に含まれ得るスイッチングノイズやリップル成分の除去等を可能にしている。
検出トランス18は、3相交流電源ACから入力される3相交流電圧のうち、所定の2相間の相間電圧に比例した電圧を高精度に出力する電圧測定用のトランスである。本実施形態では、例えば、検出トランス18の入力が3相交流電源ACのUV相間に接続されるとともに、その出力が制御ユニット20の入力電圧検出部23およびゼロクロス検出部25に接続されている。これにより、UV相の相間電圧Vuvに比例した電圧を入力電圧検出部23やゼロクロス検出部25に出力可能にしている。なお、3相交流電源ACのVW相間やWU相間に接続して相間電圧VvwやVwuに比例した電圧を入力電圧検出部23やゼロクロス検出部25に出力可能にしても良い。また、すべての相間電圧Vuv,Vvw,Vwuに比例したそれぞれの電圧を入力電圧検出部23やゼロクロス検出部25に出力可能に構成しても良い。
電流センサ19は、昇圧用IGBTモジュール15から出力される出力電流や昇圧用IGBTモジュール15を介して降圧用IGBTモジュール13から出力される出力電流の電流値に比例した電圧を出力する電流測定用のトランスで、平滑コンデンサ16とチョーコイル17との間を流れる電流、つまり当該充電装置10からバッテリBattに出力される充電電流Ioを検出可能に両者間に接続されている。本実施形態では、電流センサ19の出力を制御ユニット20に接続することにより、充電電流Ioに比例した電圧を制御ユニット20の出力電流検出部28に出力可能に構成されている。
制御ユニット20は、CPU21を中心に、メモリ22、入力電圧検出部23、ゼロクロス検出部25、入力電圧検出部26、ゲート出力部27、出力電流検出部28、出力電圧検出部29等により構成されており、特許請求の範囲に記載の「コンピュータ」に相当し得るものである。
CPU21は、マイコン(演算処理装置)で、図略のシステムバスやデータバスあるいは入出力ポート等を介して、メモリ22や入力電圧検出部23等に接続されている。なお、本実施形態では、CPU21とメモリ22とを個々の半導体モジュールとして構成しているが、両者を1つのモジュールまたはパッケージに集約したワンチップマイコンとしても良い。
メモリ22は、SRAM、DRAM、EEPROM等からなる半導体記憶装置で、CPU21が使用する主記憶空間や補助記憶空間を構成している。主記憶空間はワーク領域やデータ領域に割り当てられ、また補助記憶空間には、後述する充電制御処理やその他の基本処理がCPU21により実行可能にコード化されたプログラム(充電制御プログラムや基本プログラム)や逆パターン値(逆相波形の逆相対応値)が格納されている。このメモリ22は、特許請求の範囲に記載の「波形記憶部」に相当し得る。
入力電圧検出部23は、検出トランス18から出力される相間電圧Vuvに比例した検出電圧(アナログ値)を所定ビット数のディジタルデータ(ディジタル値)に変換し得るA/D変換機能を有するもので、入力が検出トランス18の出力に接続されている。この入力電圧検出部23の出力は、CPU21の入力ポートに接続可能に構成されており、これによりCPU21は3相交流波形のうちのUV相波形Wuvの電圧情報を取得することが可能となる。なお、検出トランス18から出力される相間電圧が、VW相間の電圧VvwやWU相間の電圧Vwuである場合には、CPU21は3相交流波形のうちのVW相波形WvwやWU相波形Wwuの各電圧情報を取得することが可能となる(図3(A)参照)。
ゼロクロス検出部25は、図3(A)に示すように、交流電圧が周期的に0V(同図中に示す破線位置)になる点のうち、マイナス値からプラス値に変化、つまり立ち上がりエッジによる点Pz(以下「ゼロクロス点Pz」という)のタイミングを検出し得る機能を有するもので、この出力は、CPU21の入力ポートに接続可能に構成されている。これにより、CPU21は、例えば、ゼロクロス検出部25からCPU21に入力されるゼロクロス検出信号Szcの立ち上がりエッジの検出をトリガーにして、インプットキャプチャ機能によりゼロクロス点Pzのタイミング(以下「ゼロクロスタイミング」という)Tbを取得することが可能となる。このゼロクロスタイミングTbは、例えば、計時用のカウンタCtのカウント値によって与えられる。なお、立ち下がりエッジ(プラス値からマイナス値に変化)のタイミングをゼロクロス点Pzにしても良い。
入力電圧検出部26も、入力電圧検出部23等と同様にA/D変換機能を有するもので、入力が全波整流ダイオード12の出力側に接続されることによって、全波整流ダイオード12から出力される全波整流後の3相整流電圧(アナログ値)を所定ビット数のディジタルデータ(ディジタル値)に変換可能に構成されている。本実施形態では、前述したように、リップル成分を含んだ直流電圧として入力電圧Vi(図2(B)に示す全波整流波形Wrct)が全波整流ダイオード12から入力される。このため、入力電圧検出部26からはこのようなリップル成分を含めた入力電圧Viの情報が出力される。この入力電圧検出部26の出力は、CPU21の入力ポートに接続可能に構成されており、これによりCPU21は全波整流波の電圧情報(リップル成分を含んだ入力電圧情報)を取得可能となる。なお、この入力電圧検出部26は、特許請求の範囲に記載の「電圧検出部」に相当し得るものである。
ゲート出力部27は、後述するようにCPU21によって生成されるPWM信号Dpwm,Upwmを降圧用IGBTモジュール13や昇圧用IGBTモジュール15に出力制御するための出力ドライバである。このため、ゲート出力部27の入力は、降圧用IGBTモジュール13や昇圧用IGBTモジュール15のそれぞれに対応するPWM信号Dpwm,Upwmが出力されるCPU21の出力ポートに接続され、またゲート出力部27の出力は、降圧用IGBTモジュール13および昇圧用IGBTモジュール15のそれぞれ別個に接続されている。
出力電流検出部28も、入力電圧検出部23等と同様にA/D変換機能を有するもので、入力が電流センサ19の出力側に接続されることによって、電流センサ19から出力される、降圧用IGBTモジュール13や昇圧用IGBTモジュール15の出力電流値、つまり当該充電装置10の充電電流Ioに比例した電圧を(アナログ値)を所定ビット数のディジタルデータ(ディジタル値)に変換可能に構成されている。この出力電流検出部28の出力は、CPU21の入力ポートに接続可能に構成されており、これによりCPU21は当該充電装置10の充電電流(出力電流)の情報を取得可能となる。
出力電圧検出部29も、入力電圧検出部23等と同様にA/D変換機能を有するもので、入力がチョーコイル17の出力側、つまり当該充電装置10の出力に接続されることにより、当該充電装置10の充電電圧Voを(アナログ値)を所定ビット数のディジタルデータ(ディジタル値)に変換可能に構成されている。この出力電圧検出部29の出力は、CPU21の入力ポートに接続可能に構成されており、これによりCPU21は当該充電装置10の充電電圧(出力電圧)の情報を取得可能となる。
ここで、後述する充電制御処理によりメモリ22に格納される逆パターン値について図2、図4(A)および図4(B)を参照して説明する。なお、図2(A)や図2(B)に示される波形は3相交流電圧波形の1相当たりの1サイクル(周期)分に相当するもので、また図2(B)においては、UV相間だけに着目した場合の電圧が実線により、VW相間だけに着目した場合の電圧が破線により、WU相間だけに着目した場合の電圧が一点鎖線により、それぞれ示されている。
また、図4(A)には、メモリ22に格納される逆パターン値により表し得る逆相波形Wmemの概念例が図示されており、さらに図4(B)には、メモリ22に逆パターン値が格納される過程のうち最初の1サイクル分の逆パターン値d1に関して逆相波形Wmemの概念に置き換えて表した例が図示されている。図4に示される逆相波形Wmemは、図2や図3と同様、紙面左側から右側に向かって時間が経過することを前提にしている。また、紙面左側から右側に向かってアドレス値が順次増加するように、メモリ22のアドレスが対応し得る。
本実施形態では、図2(B)に示すような全波整流波形Wrctのリップル成分を逆位相にしたもの(電圧波形におけるリップル成分の電圧の大小関係を反転したもの)として、図2(A)に示すような逆相波形Winvに対応した逆パターン値(逆相対応値)をメモリ22に格納可能にしている。例えば、メモリ22において1024個分の逆パターン値を記憶可能な逆パターンデータ領域を確保するとともに、3相交流電圧波形の1相当たりの1サイクル分を1024分割して所定の基準時からの経過時間に関連づけて逆パターン値を時系列順に格納可能に構成している。なお、この所定の基準時は、メモリ22の逆パターンデータ領域においては所定の基準位置として設定される。
この逆パターン値は、後述するように、入力電圧検出部26により検出された全波整流後の入力電圧Viの情報に基づく所定演算により求めることができ、本実施形態では、所定タイミングごとに発生するタイマー割込みによる充電制御処理によって生成される。これにより、逆パターン値がタイマー割込みの都度、生成されて逆パターンデータ領域に順次格納されることで逆相波形Winvに対応した逆パターン値がメモリ22に蓄積される。
例えば、図2(C)に示すような3相交流電圧波形の1相(UV相)の1/6周期におけるリップル波形Ruを例示して説明をすると、メモリ22の逆パターンデータ領域に格納される逆パターン値は、図2(C)において破線で示す逆相波形Winvにほぼ対応して、全波整流波形Wrctのリップル成分のピーク(極大値)部分で最小値となり、リップル成分のボトム(極小値)部分で最大値、となる。また図2(D)に示すように、PWM信号波形Wpwmのパルス幅も、リップル成分のピーク部分で最小値Wminとなり、リップル成分のボトム部分で最大値Wmaxとなる。これらの各PWM信号は、その面積(図2(C)に示す網掛け部分の面積)がいずれもほぼ同一になるようにパルス幅が設定される。
このような逆相波形Winvに対応する逆パターン値を、CPU21がタイマー割込みによる所定タイミングでメモリ22の逆パターンデータ領域から出力パターンとして読み出すとともに、この読み出した出力パターンと充電電流Ioと所定の定電流値Icntとに基づいて、降圧用IGBTモジュール13や昇圧用IGBTモジュール15に出力する適正なPWM信号を生成可能にしている。これにより、当該充電装置10は、充電電流Ioが所定の定電流値Icntに一致するように出力することが可能となる。
ところで、このようにメモリ22の逆パターンデータ領域に蓄積される逆パターン値は、タイマー割込みより実行される充電制御処理によって生成されることから、例えば、タイマー割込みが50マイクロ秒ごとに発生する場合には、3相交流電力の周波数が60Hzであれば1サイクル(16.7ミリ秒)間内に333.3回(=16.7mS/50μS)、また50Hzであれば1サイクル(20ミリ秒)間内に400回(=20mS/50μS)、の割合で充電制御処理により生成されてメモリ22に格納される。しかし、本実施形態では、この1サイクルの間に生成される逆パターン値の個数(333個または400個)と、メモリ22に確保されているデータの格納可能個数(1024個)とが一致しないため、タイマー割込みによる割込み時間間隔(50マイクロ秒)ごとに時系列的な隙間ができた「間引き状態」で、メモリ22のデータ領域に格納される。
例えば、メモリ22に格納される逆パターン値によって表される逆相波形の概念が図4(A)に示す波形Wmemである場合、最初の1サイクル(60Hzの場合、333個)の間にメモリ22に格納される逆パターン値d1は、図4(B)に示すように、破線で表した波形Wmemに沿って所定間隔ごとに位置する。即ち、最初の1サイクルにおいては、1024分割されたうちの所定の基準時(図4(B)の場合は紙面左端の最古時点)を起点として、割込み時間間隔(例えば50マイクロ秒)ごとに時系列的な隙間を形成して逆パターン値d1がメモリ22に格納される。なお、図4(B)において破線による波形Wmem上に表示される短い縦線は、逆パターン値d1が格納される時系列的な位置関係を明示するための印である。また、これらの各図において逆パターン値d1等は、図面表現上、便宜的に1/10以下の個数に減らして表示されていることに留意されたい。
このように、時系列的な隙間を形成した間引き状態で逆パターン値がメモリ22の逆パターンデータ領域に格納されるため、1サイクル(1024個)分の逆パターン値が十分に揃うまでには、例えば、数10サイクル程度(1秒前後)の時間を要することなるが、通常、充電装置10の使用特性上、電源投入後に少なくとも1秒程度の時間的な余裕が存在するので、この間に十分な逆パターン値をメモリ22に格納して蓄えることができる。
時系列的な隙間(間引きの間隔)は、例えば、メモリ22に確保されているデータの格納可能個数が1024個で、3相交流電力の周波数が60Hzの場合、格納されるデータ3個(=1024個/333回)分に相当する。なお、このようなメモリ22上の格納位置は、後述するように、充電制御処理中でカウントアップされる計数用のカウンタCiのカウント値に基づいて設定されるとともに、ゼロクロス検出部25によってゼロクロス検出信号Szcが検出された直後に処理される充電制御処理の中でこのカウンタCiがリセットされてカウント値が初期値(例えば「1」)に戻る。
即ち、図3(A),図3(B)に示すゼロクロスタイミングTb(0)の直後のタイミング(以下「直後タイミング」という)Ta(1)に発生するタイマー割込みにより実行される充電制御処理において、当該カウンタCiはリセットされる。カウンタCiの初期値は、例えば、図4(B)に示す逆相波形Wmemの左端(最古時点)に対応した値に設定されており、リセットによりその値に戻る。ところが、図3(D)や図3(E)に示すように、ゼロクロスタイミングTb(n)(nは、−1,0,1)とタイマー割込みのタイミングTa(n)(nは、−1,0,1,2)は、必ずしも一致しない。場合によっては両者間に最大50マイクロ秒の時間的なズレ(図3(D)に示すTdly)が生じ、ゼロクロスタイミングTb(0)から50マイクロ秒遅れて検出された入力電圧Viが逆相波形Wmemの左端(最古時点)に対応してメモリ22に格納され得る。
この場合、最初の1サイクルの間にメモリ22に格納される逆パターン値d1は、図4(G)に示すように、本来の逆相波形Wmemからズレた位置に対応してメモリ22に格納され、またこれに続く各サイクルでメモリ22に格納される逆パターン値d2,d3は、図4(H)や図4(I)に示すように、逆相波形Wmemからズレた位置に対応してメモリ22に格納される。このため、図4(J)に示すように、最終的に逆パターンデータ領域に格納される逆パターン値dnによる逆相波形Wmem’は、本来の逆相波形Wmemに対して、ゼロクロスタイミングTb(0)とタイマー割込みの直後タイミングTa(1)とのズレによる遅れ時間Tdlyに対応する位相角Fdlyだけ位相が進んでしまう。なお、図4(G)〜図4(J)に示す逆パターン値d1〜d3,dnは、逆相波形Wmemに対する位置ズレを明確にするため、図面表現上、ズレが強調されていることに留意されたい。
したがって、メモリ22の逆パターンデータ領域には、このような位相にズレのある逆相波形Wmemの逆パターン値が格納され得ることから、逆パターン値の読み出しにおいては、本来、読み出されるべき逆相波形Wmemとは異なった波形Wmem’の逆パターン値が読み出され、それに基づいてPWM信号波形が生成されることがある。このため、降圧用IGBTモジュール13や昇圧用IGBTモジュール15から出力される充電電圧Voや充電電流Ioの波形に乱れが生じ得る。
そこで、本実施形態では、図3(D)に示すように、ゼロクロスタイミングTb(0)の直後タイミングTa(1)に発生するタイマー割込みによる充電制御処理においては、逆パターンデータ領域の格納位置に関連するカウンタCiをリセットするとともに、ゼロクロスタイミングTb(0)と直後タイミングTa(1)との時間差(遅れ時間Tdly)を算出し、メモリ22の逆パターンデータ領域に格納する逆パターン値の格納位置を、この時間差分だけシフトさせるようにした。これにより、このような格納位置のズレによる出力波形の乱れを抑制可能にしている。なお、タイマー割込み信号Sitの直後タイミングTa(0)や直後タイミングTa(0)よりも後のタイミング(以下「他のタイミングTa」という)Ta(-1),Ta(1),Ta(2)は、計時用のカウンタCtのカウント値によって与えられる。
このような充電制御処理の例として、フローチャートが図5に図示されているので、ここからは図3〜図5を参照して説明する。なお、この充電制御処理は、メモリ22の主記憶領域にロードされている充電制御プログラムが、例えば50マイクロ秒ごとに発生するタイマー割込みの度に起動されてCPU21により実行されることにより実現される。
図5に示すように、充電制御処理では、まずステップS101によりゼロクロス情報取得処理が行われる。この処理は、当該充電制御処理がゼロクロスタイミングTb(0)の直後に起動されたものであるか否かの情報とゼロクロスタイミングTb(0)の時間情報とを取得するもので、例えば、インプットキャプチャの有無を示すフラグ情報と、インプットキャプチャ機能によるゼロクロスタイミングTb(0)におけるカウンタCtのカウント値(時間情報)とを取得する。なお、インプットキャプチャにより保持されるカウンタCtのカウント値は、現在のものであるが、1つ前(前回)のTb(-1)のものはメモリ22に保持されて残っている。
次のステップS102では、入力電圧取得処理が行われる。この処理は、全波整流ダイオード12から出力される全波整流後の3相整流電圧、つまり入力電圧Viの情報を入力電圧検出部26から取得する。この入力電圧Viの情報は、後述する逆パターン値算出処理(S119)で用いられる。
続くステップS103では、ステップS101により取得したゼロクロス情報に基づいて、当該充電制御処理がゼロクロスタイミングTb(0)の直後のタイマー割込みによって起動されたものであるか否かの判断処理が行われる。例えば、ステップS101によるフラグ情報に基づいて、フラグ値からインプットキャプチャの有無を判断する。この判断処理によりインプットキャプチャ「有」で、ゼロクロスタイミングTb(0)の直後タイミングTa(1)によるタイマー割込みによって起動されたものであると判断された場合には(S103;Yes)、続くステップS105に処理を移行する。これに対して、インプットキャプチャ「無」で、ゼロクロスタイミングTb(0)の直後タイミングTa(1)によるタイマー割込みによって起動されたものであると判断されない場合には(S103;No)、ステップS105,S107,S109を行うことなくステップS115に処理を移行する。
即ち、ゼロクロスタイミングTb(0)の直後のタイマー割込みによりも後の他のタイミングTa(2)(またはTa(0),Ta(-1))によるタイマー割込みによって起動された場合には(S103;No)、カウンタCiをリセットしたり(S107)、ゼロクロスタイミングTb(0)と直後タイミングTa(1)との時間差Tdlyを算出(S109)する必要がないため、これらの処理をスキップする。また、当該充電制御処理が直後タイミングTa(1)のタイマー割込みによって起動された場合には、続くステップS105,S107,S109の各処理が行われる。
ステップS105では、割込み情報取得処理が行われる。この処理は、タイマー割込みが発生した時間情報を取得するもので、例えば、タイマー割込み信号Sitをトリガーにしてタイマー割込みのタイミングTaにおけるカウンタCtのカウント値(時間情報)を取得する。
続くステップS107では、カウンタ初期化処理が行われる。即ち、この処理では、カウンタCiを初期値(例えばゼロ)に戻す処理が行われる。これにより、ゼロクロスタイミングTb(0)の直後のタイマー割込みによって当該充電制御処理が起動された場合には、逆パターンデータ領域に設定される基準位置を起点に逆パターン値の格納が可能となる。また、このステップS107において、インプットキャプチャのフラグ値、即ち、インプットキャプチャの有無を示すフラグ情報をクリア(インプットキャプチャ「無」)する処理が行われる。これにより、新たなゼロクロス点Pzによってインプットキャプチャが発生しない限り、このフラグはインプットキャプチャ「有」にはならない。
ステップS109では、遅れ時間算出処理が行われる。この処理は、ゼロクロスタイミングTb(0)からタイマー割込みによって当該充電制御処理が起動されるまでに要した時間、つまりゼロクロスタイミングTb(0)に対する遅れ時間を算出する。本実施形態では、ステップS101により取得したゼロクロスタイミングTb(0)におけるカウンタCtのカウント値(時間情報)と、ステップS105により取得した当該タイミングTa(1)におけるカウンタCtのカウント値(時間情報)と、に基づいて、遅れ時間Tdly(=Ta(1)−Tb(0))が算出される。
ステップS115以降の各処理は、当該充電制御処理がゼロクロスタイミングTb(0)の直後のタイマー割込みによって起動されたか否かを問わず行われる。
ステップS115では、保存先位置算出処理が行われる。この処理は、後のステップS119で算出される逆パターン値の保存先、つまりメモリ22の逆パターンデータ領域における格納位置を算出するものである。
例えば、図4(C)に示すように、充電制御処理が1回実行されるごとに、タイマー割込みによる割込み時間間隔(60Hzの場合、50マイクロ秒)分の隙間を形成するようにして、最初の1サイクル時間Tcycが経過すると、図4(C)に示すような間引き状態になるように、逆パターン値d1の格納位置が毎回、算出される。
例えば、直後タイミングTa(1)に発生するタイマー割込みでは(Ci=1)、メモリ22に確保されているデータの格納可能個数1024個、割込み間隔50マイクロ秒、遅れ時間Tdlyおよび1サイクル(16.7ミリ秒)から、1024×(50μS+Tdly)/16.7mSにより格納位置が算出され、その次のタイマー割込みでは(Ci=2)、1024×(100μS+Tdly)/16.7mSにより格納位置が算出される。なお、小数点以下は、例えば切り捨てて整数化する(四捨五入や切り上げによる整数化でも良い)。
つまり、メモリ22上における逆パターン値の格納位置は、(1024×(50μS×Ci+Tdly)/16.7mS)により、充電制御処理が実行される度に、毎回、1つずつカウントアップされるカウンタCiのカウンタ値に基づいて算出される。これにより、逆パターン値d1の格納位置は、例えば、図4(C)に示すように、遅れ時間Tdlyに相当する時間的にずらした位置として、逆パターンデータ領域の最古時間に対応する位置(図4(C)に示す逆相波形Wmemの紙面左端)から最新時間方向(図4(C)に示す逆相波形Wmemの紙面右端)に向かってシフト量Fsftだけ移動させた位置になるとともに、図4(C)に示す間引き状態で逆相波形Wmemの最新時間方向に進むことになる。
ステップS117では、逆パターン値読出処理が行われる。この処理は、ステップS115により算出された逆パターン値の格納位置に、既に格納されている逆パターン値を読み出すものである。即ち、次のステップS119で逆パターン値を算出するに際し、これまでに蓄積されている過去の逆パターン値を加味するために行われるものである。
ステップS119では、逆パターン値算出処理が行われる。この処理は、ステップS102により取得した入力電圧Viの情報に基づいた演算を行うことによって、逆パターン値を算出するものである。例えば、入力電圧Viの逆数を算出することにより、当該入力電圧Viに対応した逆パターン値が得られるが、本実施形態では、これにより得られた逆パターン値に、ステップS117で読み出した過去の逆パターン値をN(整数)倍したものを加算し、この加算結果を(N+1)で割ることによって、過去の逆パターン値を加味した新たな逆パターン値を求める。Nの値は、例えば、十分な逆パターン値が揃い逆相波形Wmemが完成するのに要する当該充電制御処理の実行回数や、別途設けられた当該充電制御処理の実行回数をカウントするカウンタ値等に設定される。
これにより、重み付けをされた過去の逆パターン値に対して、今回、算出した現在の逆パターン値が足されてその平均値として新たな逆パターン値を得ることができる。即ち、既に保存(格納)されている過去の逆パターン値にウェイトを置いて新たな逆パターン値が算出されることから、例えば、前回や前々回等の過去の逆パターン値に比べて現在の逆パターン値に大きな変動が生じた場合であっても、算出される新たな逆パターン値に対してこのような変動による影響を抑制することが可能となる。
ステップS121では、逆パターン値保存処理が行われる。この処理は、ステップS119により算出された逆パターン値の保存、つまり保存先位置として、ステップS115により算出された逆パターンデータ領域の格納位置に当該逆パターン値を格納するものである。これにより、例えば、最初の1サイクルでは、図4(C)に示す各逆パターン値d1が保存され、また次の1サイクルでは、図4(D)に示す各逆パターン値d2が保存される。さらにその次の1サイクルでは、図4(E)に示す各逆パターン値d3が保存されて、数10サイクル後に十分な逆パターン値d1〜dnが揃い、図4(F)に示すような逆相波形Wmemが完成する。
このようにして出来上がった図4(F)に示す逆相波形Wmemは、図4(C)〜図4(E)に示すように、遅れ時間Tdlyに相当するシフト量Fsftだけ時間経過方向に移動した一点鎖線の基準位置を起点にした格納位置に、各逆パターン値d1〜dnを保存したものである。このため、図4(J)に示すように、このような移動をすることなく最古時点(図4(G)〜図4(I)に示す紙面左端)を起点として保存した逆相波形Wmem’に比べて、遅れ時間Tdlyに対応する位相角Fdly分の位相が進むようなことがない。これから説明する出力パターン読出処理等によりメモリ22の逆パターンデータ領域から読み出された出力パターン(逆パターン値)が不適当な値となることがない。
ステップS123では、カウントアップ処理が行われる。この処理は、カウンタCiのカウンタ値を当該充電制御処理が実行される度ごとにカウントアップさせるもので、これにより、メモリ22の逆パターンデータ領域に格納される逆パターン値の格納位置を、時間の経過方向(最古時点から最新時点(図4示す紙面左端から右端))に向かって進めることが可能となる。
ステップS125では、読出先位置算出処理が行われる。この処理は、メモリ22の逆パターンデータ領域に格納された逆パターン値を読み出す位置を算出するものである。この処理では、ステップS115で算出されたメモリ22の逆パターンデータ領域における格納位置に対して、任意の位相角だけ位相を進めた格納位置、または任意の位相角だけ位相を遅らせた格納位置から、逆パターン値を読み出すように、当該読出位置を算出する。例えば、この進めたり遅らせたりする位相角を時間換算したものをTαとすると、ステップS115で説明した式を用いて、(1024×(50μS×Ci+Tdly+Tα)/16.7mS)により、読み出し位置を算出することができる。これにより、ハードウェア処理やソフトウェア処理その他の要因による遅延を吸収することが可能となり、またそれに伴う力率の低下を抑制できる。
ステップS127では、出力パターン読出処理が行われ、さらにステップS129では、出力パターン出力処理が行われる。即ち、ステップS125により算出された読出位置に基づいてメモリ22の逆パターンデータ領域から出力パターン(逆パターン値)を読み出した後、前述したように、この出力パターンと充電電流Ioと所定の定電流値Icntとに基づいて、適正なPWM信号DpwmまたはPWM信号Upwmを生成して、降圧用IGBTモジュール13または昇圧用IGBTモジュール15に出力する。これにより、降圧用IGBTモジュール13や昇圧用IGBTモジュール15では、バッテリBattに供給する充電電力の充電電流Ioが所定の定電流値Icntとなるように制御することが可能となる。
以上説明したように本実施形態に係る充電装置10によると、入力電圧検出部26(入力電圧取得処理S102)により全波整流波形Wrctの入力電圧Viを検出するタイマー割込みのタイミングTaがゼロクロスタイミングTbの直後タイミングTa(1)である場合(S103;Yes)、つまりメモリ22に記憶させる逆相波形Wmemの逆パターン値が先頭(最初または1番目)の逆パターン値d1である場合には、ゼロクロスタイミングTbから直後タイミングTa(1)までの遅れ時間Tdlyを算出した後(遅れ時間算出処理S109)、直後タイミングTa(1)における逆パターン値d1を記憶するメモリ22の格納位置(記憶位置)を、この遅れ時間Tdlyに相当するシフト量Fsft分、時間経過方向にシフトさせる(保存先位置算出処理S115)。また、入力電圧検出部26(入力電圧取得処理S102)により全波整流波形Wrctの入力電圧Viを検出するタイマー割込みのタイミングTaが直後タイミングTa(1)よりも後の他のタイミングTa(2)である場合(S103;No)、つまりメモリ22に記憶させる逆相波形Wmemの逆パターン値が先頭(最初)よりも後(2番目以降)の逆パターン値d2,d3,dnである場合には、この他のタイミングTa(2)における逆パターン値d2,d3,dnを記憶するメモリ22の格納位置(記憶位置)を、直後タイミングTa(1)において算出した遅れ時間Tdlyに相当するシフト量Fsft分、時間経過方向にシフトさせる(保存先位置算出処理S115)。
これにより、ゼロクロスタイミングTbの直後タイミングTa(1)までの遅れ時間Tdly、つまりゼロクロスタイミングTbから入力電圧検出部26により入力電圧Viを検出するまでの間の遅れた時間に相当するだけ、メモリ22に記憶させる先頭(最初または1番目)の逆パターン値d1の格納位置を時間経過方向(遅れ方向)にシフトさせて補正するとともに、その後(2番目以降)の逆パターン値d2,d3,dnである場合についても、この遅れた時間に相当するだけシフトさせて補正するため、このような時間的なズレを補正することなく、メモリ22に記憶させる先頭(最初)の逆パターン値d1の格納位置をそのままの最古時点に記憶させた場合に比べて、適正な逆パターン値をメモリ22に記憶させることができる。したがって、当該充電装置10では、このような適正な逆パターン値に基づくパルス幅変調信号Dpwm,Upwmが得られるため、時間的なズレによる電力波形に乱れを抑制することができる。
また、本実施形態に係る充電装置10によると、パルス幅変調信号Upwm,Dpwmは、メモリ22の格納位置に対して、任意の位相角分、位相を進めまたは遅らせた位置から読み出される逆相波形Wmemの波形情報に基づいて生成される。これにより、任意の位相角分、位相を進めたり遅らせたりした逆相波形に基づくパルス幅変調信号Upwm,Dpwmが得られるため、時間的なズレによる電力波形に乱れを抑制に加えて、力率の低下も抑制することができる。
さらに、本実施形態に係る充電装置10によると、メモリ22に逆パターン値を記憶する際に、メモリ22の格納位置に既に逆パターン値が記憶されている場合には、既に記憶されている逆パターン値に所定の重み付けをしたものに新たな逆パターン値を加えて得た平均値を記憶位置に記憶する。これにより、既に記憶されている逆パターン値にウェイトを置いて新たな逆パターン値が記憶されるため、例えば、今回の逆パターン値とそれまでにメモリ22に記憶された逆パターン値との間に大きな違いがあっても、今回の逆パターン値がそのまま記憶される場合に比べて逆パターン値の変動を抑制することができる。
なお、上述した実施形態では、3相交流電源ACと全波整流ダイオード12とを直結にしたが、例えば、3相200Vの交流電圧を100Vに降圧する3相トランスを介在させても良い。また、降圧用IGBTモジュール13と昇圧用IGBTモジュール15との両方を備えた構成にしたが、出力電圧Voや出力電流Ioの要求仕様に対応して、いずれか一方を備えるように充電装置10を構成しても良い。これらいずれの場合でも、上述した実施形態と同様の作用および効果を得ることができる。
また、上述した実施形態では、バッテリBattに供給する充電電力の充電電流Ioが所定の定電流値Icntとなるように、充電電圧Voを制御する定電流制御タイプの充電装置10を例示して説明したが、バッテリBattに供給する充電電力の充電電圧Voが所定の定電圧値Vcntとなるように、充電電流Ioを制御する定電圧制御タイプの充電装置であっても、電流の概念を電圧の概念に、また電圧の概念を電流に概念に、それぞれ入れ替えることによって、上述した実施形態と同様の作用および効果を得ることができる。
さらに、上述した実施形態では、保存先位置算出処理(S115)として、例えば、次式(1024×(50μS×Ci+Tdly)/16.7mS)を用いて、メモリ22上の格納位置を求めたが、これに限られることなく、例えば、遅れ時間算出処理(S109)の直後において、ステップS109で算出した遅れ時間Tdlyと1サイクル時間Tcycに基づいてメモリ22の逆パターンデータ領域に設定する基準位置、つまり遅れ時間Tdlyに相当する分だけシフトさせた位置を求め、これを基準に、これまで通りメモリ22上で所定間隔(隙間)ごとに逆パターン値を格納するように構成しても良い。この場合の「所定間隔(隙間)」は、逆パターンデータ領域に格納可能な逆パターン値の個数を1サイクルの間に生成される逆パターン値の個数で割ることで求められる(例えば60Hzの場合、データ3個(=1024個/333回))。
より具体的には、例えば、図4(C)に示すように、ゼロクロスタイミングTb(0)の直後の逆パターン値d1の保存(格納)先を、当該逆パターンデータ領域の最古時間に対応する位置(図4(C)に示す逆相波形Wmemの紙面左端)から最新時間方向(図4(C)に示す逆相波形Wmemの紙面右端)に向かって移動させるシフト量Fsftを算出して基準位置(図4(C)に示す一点鎖線の位置)を決める。例えば、1サイクル時間Tcycをメモリ22に確保されている逆パターンデータ領域の格納可能個数(1024個)で割ることにより、データ1個分のシフト量を時間換算することができるため、遅れ時間Tdlyをこの時間で割ることによって、遅れ時間Tdlyに相当するデータ個数を求める。例えば、交流電力の周波数が60Hzで、遅れ時間Tdlyが50マイクロ秒の場合、3.08個(=50マイクロ秒/(Tcyc/1024個))(但し、Tcyc=16.667ミリ秒)になる。このため、逆パターンデータ領域の最古時間に対応する位置から3個分だけ最新時間方向に移動した位置が基準位置に決まる。
また、シフト量として位相差を算出しても良い。即ち、ステップS109で算出した遅れ時間Tdlyと1サイクル時間Tcycに基づいて、遅れ時間Tdlyに相当する位相角θdly(=Tdly×360/Tcyc)を算出しこれをシフト量Fsftとして基準位置を決定する。先の例(60Hz、Tdly=50マイクロ秒)の場合、位相角θdlyは1.08度(=50マイクロ秒×360度/Tcyc)で、これがシフト量Fsft(位相角θdly)になる。この場合、タイマー割込みによる割込み時間間隔を位相角に換算することによって、割込み時間間隔とカウンタCiのカウンタ値との積にシフト量を加えたものに相当する位相角を、データ1個当たりの位相角(360度/1024個)で割ることで、このシフト量Fsft(位相角θdly)を基準にした所定間隔(隙間)ごとの逆パターン値の格納位置を算出することが可能となる。
このような遅れ時間Tdlyに相当する分だけシフトさせた位置を求め、これを基準に、メモリ22上で所定間隔(隙間)ごとに逆パターン値を格納するようにする構成は、「交流電力を全波整流した後、DC−DCコンバータで変換した直流電力を蓄電池に供給可能に構成されており、前記交流電力の全波整流波形に対する逆相波形に基づいて得られるパルス幅変調信号により前記DC−DCコンバータのスイッチング動作を制御する充電装置であって、前記交流電力の入力電圧波形のゼロクロスタイミングを検出するゼロクロス検出部と、前記入力電圧波形のゼロクロスタイミングとは異なる所定タイミングの時間周期で前記全波整流波形の電圧を検出する電圧検出部と、前記電圧検出部により検出された電圧に基づいて前記所定タイミングにおける前記逆相波形に対応する逆相対応値を算出する逆相対応値算出部と、前記逆相波形の波形情報として前記時間周期ごとに前記逆相対応値算出部により算出された複数の前記逆相対応値を時系列順に位置決めされた記憶位置に記憶する波形記憶部と、を備え、前記所定タイミングが前記ゼロクロスタイミングの直後タイミングである場合には、前記ゼロクロスタイミングから前記直後タイミングまでの経過時間を算出した後、前記直後タイミングにおける前記逆相対応値を記憶する前記波形記憶部の記憶位置を、時間経過方向にこの経過時間に相当する分、シフトさせ、前記所定タイミングが前記直後タイミングよりも後のタイミングである場合には、この所定タイミングにおける前記逆相対応値を記憶する前記波形記憶部の記憶位置を、前記直後タイミングのシフト後の記憶位置を基準に決定する」という技術的思想として把握することができる。