(57)【要約】      （修正有）【課題】コイルのインダクタンスの電流依存性を加味した正確な制御性能を発揮するデジタルコンバータ及びその制御方法を提供する。【解決手段】時間変化幅Δｔと、時間変化幅Δｔにおけるコイル電流の電流変化幅ΔＩと、この時のコイルの誘起電圧Ｌ×ΔＩ／Δｔとの関係において、誘起電圧が基準値Ｖｒに一致する時間変化幅Δｔと電流変化幅ΔＩとの対応関係を、コイルに流れると想定されるコイル電流全域にわたって特定する参照テーブルＴＢＬを、コンピュータ回路に設ける。計測結果に基づいて、コイル充電時とコイル放電時における、コイルの両端電圧と基準電圧との相対比Ｋｏｎ，Ｋｏｆｆを特定する特定手段と、参照テーブルを検索すると共に、参照テーブルから検出される検出値を相対比に基づいて補正して、次回の制御サイクル開始時のコイル電流を推定する推定手段とを設ける。【選択図】図５
2009077523.tif 000002
【特許請求の範囲】
【請求項１】
コイル及びスイッチング素子を備えた昇圧チョッパと、前記コイルにコイル電流を供給する整流回路と、前記スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路と、を有するデジタルコンバータであって、
時間変化幅Δｔと、時間変化幅Δｔにおける前記コイル電流の電流変化幅ΔＩと、この時の前記コイルの誘起電圧Ｌ×ΔＩ／Δｔとの関係において、前記誘起電圧が基準値Ｖｒに一致する時間変化幅Δｔと電流変化幅ΔＩとの対応関係を、前記コイルに流れると想定されるコイル電流全域にわたって特定する参照テーブルＴＢＬを、前記コンピュータ回路に設けると共に、
前記制御サイクルで計測される、前記コイルに供給される交流入力電圧、及び前記コイルの出力側の直流電圧についての各計測結果に基づいて、コイル充電時とコイル放電時における、前記コイルの両端電圧と前記基準電圧との相対比Ｋｏｎ，Ｋｏｆｆを特定する特定手段と、
前記参照テーブルを検索すると共に、前記参照テーブルから検出される検出値を前記相対比に基づいて補正して、次回の制御サイクル開始時のコイル電流を推定する推定手段と、
を設けたことを特徴とするデジタルコンバータ。
【請求項２】
前記制御サイクルでの計測結果に基づいて、次回の制御サイクルにおけるコイル電流の目標平均値を算出する算出手段と、
前記参照テーブルを検索すると共に、前記参照テーブルから検出される検出値を前記相対比に基づいて補正して、次回の制御サイクルにおいて、前記コイル電流の平均値が前記目標平均値に一致するよう、前記スイッチング素子のオン動作時間を決定する決定手段と、
を更に設けたことを特徴とする請求項１に記載のデジタルコンバータ。
【請求項３】
前記相対比に基づく補正は、検出値と相対比との積算又は除算で実現される請求項１又は２に記載のデジタルコンバータ。
【請求項４】
前記参照テーブルには、時間変化幅Δｔの累積値と、電流変化幅ΔＩの累積値とが、対応して記憶されている請求項１〜３の何れかに記載のデジタルコンバータ。
【請求項５】
前記電流変化幅ΔＩは、固定値に設定されている請求項１〜４の何れかに記載のデジタルコンバータ。
【請求項６】
前記時間変化幅Δｔは、固定値に設定されている請求項１〜４の何れかに記載のデジタルコンバータ。
【請求項７】
前記目標平均値は、コイルの出力側で計測された直流電圧Ｖｄｃと、この直流電圧の目標値Ｖｏとの差に基づいて決定される請求項２〜６の何れかに記載のデジタルコンバータ。
【請求項８】
前記直流電圧についての計測結果は、過去の計測結果と平均化された後に使用される請求項１〜７の何れかに記載のデジタルコンバータ。
【請求項９】
請求項１〜８の何れかの動作を実現するデジタルコンバータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、昇圧チョッパを用いたデジタルコンバータに関し、特に、一般のコイルを使用しても精密なＰＷＭ制御が実現できる装置及びその制御方法に関するものである。
【背景技術】
【０００２】
出願人は、昇圧チョッパを用いたデジタルコンバータについて、既に、特許出願している（特許文献１）。この発明は、一般のコイルも使用可能な昇圧チョッパを使用して、入力電流の広い範囲でＰＷＭ制御を実現するデジタルコンバータであり、周波数２０ＫＨｚ程度で繰り返される制御サイクル毎に、コイル入力電流、交流入力電圧、直流出力電圧を計測し、その計測値に基づいて次回の制御サイクルにおけるＰＷＭ制御の制御オン時間を決定している。
【特許文献１】特開２００６−８７２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、昇圧チョッパを構成するコイルは、そのインダクタンス値が電流に依存して変化するので、この電流依存性に適切に対応した構成が望まれるところである。すなわち、図１（ｂ）に例示する通り、一般に、コイルのインダクタンス値は、コイルに流れる電流に応じて変化するところ、上記の発明では、各制御サイクルの複数のタイミングで計測したコイル電流の平均値に基づいて、インダクタンス値を画一的に決定するので、制御性能にやや正確性を欠けていた。
【０００４】
本発明は、上記の問題点に鑑みてなされたものであって、コイルのインダクタンス値の電流依存性を加味した正確な制御性能を発揮するデジタルコンバータ及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、請求項１に係る発明は、コイル及びスイッチング素子を備えた昇圧チョッパと、前記コイルにコイル電流を供給する整流回路と、前記スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路と、を有するデジタルコンバータであって、時間変化幅Δｔと、時間変化幅Δｔにおける前記コイル電流の電流変化幅ΔＩと、この時の前記コイルの誘起電圧Ｌ×ΔＩ／Δｔとの関係において、前記誘起電圧が基準値Ｖｒに一致する時間変化幅Δｔと電流変化幅ΔＩとの対応関係を、前記コイルに流れると想定されるコイル電流全域にわたって特定する参照テーブルＴＢＬを、前記コンピュータ回路に設けると共に、前記制御サイクルで計測される、前記コイルに供給される交流入力電圧、及び前記コイルの出力側の直流電圧についての各計測結果に基づいて、コイル充電時とコイル放電時における、前記コイルの両端電圧と前記基準電圧との相対比Ｋｏｎ，Ｋｏｆｆを特定する特定手段と、前記参照テーブルを検索すると共に、前記参照テーブルから検出される検出値を前記相対比に基づいて補正して、次回の制御サイクル開始時のコイル電流を推定する推定手段と、を設けたことを特徴とする。
【０００６】
本発明は、好ましくは、前記制御サイクルでの計測結果に基づいて、次回の制御サイクルにおけるコイル電流の目標平均値を算出する算出手段と、前記参照テーブルを検索すると共に、前記参照テーブルから検出される検出値を前記相対比に基づいて補正して、次回の制御サイクルにおいて、前記コイル電流の平均値が前記目標平均値に一致するよう、前記スイッチング素子のオン動作時間を決定する決定手段と、を更に設けるべきである。
【０００７】
上記の各発明において、前記相対比に基づく補正は、検出値と相対比との積算又は除算で実現されるのが典型的である。
【０００８】
また、前記参照テーブルには、時間変化幅Δｔの累積値Ｔ（ｉ）と、電流変化幅ΔＩの累積値Ｉ（ｉ）とが、対応して記憶されているのが好ましい。ここで、図１（ｃ）のように、前記電流変化幅ΔＩが固定値に設定されているか、或いは、図１（ｄ）のように、前記時間変化幅Δｔが固定値に設定されているのが、参照テーブルＴＢＬを参照するプログラムの構成上好都合である。
【０００９】
更にまた、好ましくは、前記目標平均値は、コイルの出力側で計測された直流電圧Ｖｄｃと、この直流電圧の目標値Ｖｏとの差に基づいて決定される。そして、直流電圧についての計測結果は、過去の計測結果と平均化された後に使用されるのが好適である。
【００１０】
なお、本発明は、上記した何れかの動作を実現するデジタルコンバータの制御方法でもある。
【発明の効果】
【００１１】
以上説明した本発明によれば、コイルの電流依存性を加味した正確な制御性能を発揮するデジタルコンバータ及びその制御方法を実現できる。そのため、安価な一般のコイルを使用した場合でも正確なＰＷＭ制御をすることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、実施形態に基づいて本発明を更に詳細に説明する。図１（ａ）は、ソフトウェア制御によるデジタルコンバータを示す回路構成図であり、図示のデジタルコンバータは、モータ制御システムの一部として組み込まれている。すなわち、本実施形態のコンバータ１では、単相交流電圧（例えば２００Ｖ）が全波整流回路２で整流されて脈流となった後、ワンチップマイコン３によってＰＷＭ(Pulse Width Modulation)制御される昇圧チョッパ４によって所定の直流電圧Ｖｄｃ（例えば３５０Ｖ）に変換される。そして、三相モータＭは、ワンチップマイコン３に制御されるインバータ回路５によって駆動される。
【００１３】
昇圧チョッパ４は、コイルＬとコンデンサＣと整流ダイオードＤとスイッチング素子Ｑと電流検出用シャント抵抗ｒとで構成され、コイルＬとコンデンサＣと整流ダイオードＤとシャント抵抗ｒとが直列接続されている。そして、整流ダイオードＤとコンデンサＣの直列回路を短絡させるよう、スイッチング素子Ｑが並列接続されている。ここで、昇圧チョッパ４の入力電流Ｉは、コイルＬに向かって流れ込み、シャント抵抗ｒを通して帰還する。なお、この実施形態では、スイッチング素子Ｑとして、絶縁ゲート型バイポーラトランジスタＩＧＢＴ(Insulated Gate Bipolar Transistor)を使用している。
【００１４】
図示の通り、ワンチップマイコン３には、信号入力部ＩＮ１〜ＩＮ３を通して、それぞれ入力電流Ｉと入力交流電圧Ｖａｃと出力直流電圧Ｖｄｃが入力されており、内蔵されたＡ／ＤコンバータＡＤ１〜ＡＤ４によって、それぞれデジタル変換されている。なお、Ａ／ＤコンバータＡＤ１とＡ／ＤコンバータＡＤ４は、同じ入力電流Ｉを異なるタイミングで取得している。ここで、信号入力部ＩＮ１は、シャント抵抗ｒの両端電圧を受けるＯＰアンプ回路で構成されており、シャント抵抗ｒと合わせて、電流検出センサとして機能している。また、信号入力部ＩＮ２及び信号入力部ＩＮ３は、抵抗分圧回路とＯＰアンプ増幅回路とで構成されている。
【００１５】
このような信号入力部ＩＮ１〜ＩＮ３及びＡ／ＤコンバータＡＤ１〜ＡＤ４を通して取得されたデータは、ワンチップマイコン３によって処理されＰＷＭ信号のＯＮ時間（以下、制御オン時間という）が算出される。そして生成されたＰＷＭ信号は、出力ポートＰＴから信号出力部ＯＵＴ１を通してスイッチング素子Ｑのゲートに供給される。なお、ワンチップマイコン３は、信号入力部ＩＮ４と信号出力部ＯＵＴ２を介してインバータ回路５に接続されて、三相モータＭをインバータ制御している。
【００１６】
以下、スイッチング素子ＱをＰＷＭ波でＯＮ／ＯＦＦ制御する本実施形態の動作原理について説明する。図２は、ワンチップマイコン３から出力されるＰＷＭ波と、コイルＬに流れる電流の関係を図示したタイムチャートである。図示の通り、コイルＬにはコイル充電電流とコイル放電電流による三角波が流れるが、コイルＬに蓄えられたエネルギーが十分であって連続的に電流が流れる連続モード（図２（ａ）参照）と、エネルギーが不十分であるため、電流が途中で途切れる不連続モード（図２（ｂ）参照）とがある。
【００１７】
図２（ａ）や図２（ｂ）に示すタイムチャートにおいて、今現在が、制御サイクル（ｎ−１）であるとする。そして、この制御サイクル（ｎ−１）中の計測値に基づいて、次の制御サイクル（ｎ）における制御オン時間Ｔｏｎ（ｎ）を決定することを考える。なお、交流入力電圧の周波数は５０Ｈｚ又は６０Ｈｚであるが、十分迅速に制御するため、本実施形態では、制御周期Ｔを５０μＳにしている。また、実施形態の制御サイクルには、計測サイクルと非計測サイクルとが繰り返されるが、原理説明であるため、以下では、全ての制御サイクルが計測サイクルであると扱う。
【００１８】
コイル充電時（スイッチング素子ＯＮ）における回路方程式は、
Ｖａｃ（ｎ−１）＝Ｌｏｎ×｛Ｉｐ（ｎ−１）−Ｉｖ（ｎ−２）｝／Ｔｏｎ（ｎ−１）・・・（式１）となる。ここで、Ｉｖ（ｎ−２）はコイル充電開始電流、Ｉｐ（ｎ−１）はコイル充電ピーク電流、Ｔｏｎ（ｎ−１）は制御オン時間であり、それぞれ制御サイクル（ｎ−１）における値である。また、コイルのインダクタンス値は、電流依存性を有するので、コイル充電時のインダクタンス値を、便宜上、Ｌｏｎとしている。なお、Ｖａｃ（ｎ−１）は、制御サイクル（ｎ−１）における入力電圧であるが、電源周波数に対して、制御周期Ｔ（５０μＳ）が十分短いのでＶａｃ（ｎ−１）を一定値とみなすことができる。
【００１９】
一方、コイル放電時（スイッチング素子ＯＦＦ）における回路方程式は、
Ｖｄｃ（ｎ−１）−Ｖａｃ（ｎ−１）＝Ｌｏｆｆ×｛Ｉｐ（ｎ−１）−Ｉｖ（ｎ−１）｝／Ｔｃｕｔ（ｎ−１）・・・（式２）となる。ここで、Ｖｄｃ（ｎ−１）はコンデンサＣの両端電圧、Ｉｖ（ｎ−１）は今回の制御サイクル終了時のコイル電流（次回の制御サイクルのコイル充電開始電流）、Ｔｃｕｔ（ｎ−１）はＯＦＦ時間であり、それぞれ制御サイクル（ｎ−１）における値である。また、コイル放電時のインダクタンス値をＬｏｆｆとしている。
【００２０】
ここで、この制御サイクル（ｎ−１）が連続モードで動作している場合には、Ｔｃｕｔ（ｎ−１）＝Ｔｏｆｆ（ｎ−１）＝Ｔ−Ｔｏｎ（ｎ−１）となる（図２（ａ）参照）。一方、この制御サイクル（ｎ−１）が不連続モードで動作している場合には、Ｔｃｕｔ（ｎ−１）＜Ｔ−Ｔｏｎ（ｎ−１）＝Ｔｏｆｆ（ｎ−１）となる（図２（ｂ）参照）。
【００２１】
上記した（式１）と（式２）から、Ｉｐ（ｎ−１）を消去してＩｖ（ｎ−１）について解くと、
Ｉｖ（ｎ−１）＝｛Ｔｏｎ（ｎ−１）×Ｖａｃ（ｎ−１）｝／Ｌｏｎ−｛Ｔｃｕｔ（ｎ−１）×ΔＶ（ｎ−１）｝／Ｌｏｆｆ＋Ｉｖ（ｎ−２）・・・（式３）となる。なお、ΔＶ（ｎ−１）＝Ｖｄｃ（ｎ−１）−Ｖａｃ（ｎ−１）である。
【００２２】
ところで、図３に示す通り、一般に、コイル充電区間（制御オン時間）Ｔｏｎでの電流増加量がＩｏｎである場合、制御オン時間Ｔｏｎにおけるインダクタンスの平均値Ｌｏｎは、Ｌｏｎ＝Ｖａｃ×Ｔｏｎ／Ｉｏｎ・・・（式４）となる。一方、その後のコイル放電区間Ｔｃｕｔでの電流減少量がＩｏｆｆであると、インダクタンスの平均値Ｌｏｆｆは、Ｌｏｆｆ＝ΔＶ×Ｔｃｕｔ／Ｉｏｆｆ・・・（式５）となる。なお、ΔＶ＝Ｖｄｃ−Ｖａｃであり、Ｖａｃ，Ｖｄｃ，ΔＶは、一制御サイクルの間、常に一定値であると考える。
【００２３】
ここで、基準電圧Ｖｒとの相対比Ｋｏｎ，Ｋｏｆｆを使用すると、各電圧Ｖａｃ，Ｖｄｃは、Ｖａｃ＝Ｖｒ／ＫｏｎとΔＶ＝Ｖｒ／Ｋｏｆｆと表現できるので、結局、
Ｔｏｎ＝（Ｌｏｎ×Ｉｏｎ／Ｖｒ）×Ｋｏｎ・・・（式４）’
Ｔｃｕｔ＝（Ｌｏｆｆ×Ｉｏｆｆ／Ｖｒ）×Ｋｏｆｆ・・・（式５）’となる。
【００２４】
そこで、この実施形態では、基準電圧Ｖｒを２７０／ＳＱＲ（２）≒１９０．９１８８Ｖとし、この固定値の基準電圧Ｖｒをコイルに加えた場合の電流を予め算出して参照テーブルＴＢＬに格納している。すなわち、図４（ａ）に示す通り、コイル電流Ｉを０Ａから５０Ａまで、ΔＩ（＝５０／１０２４）ずつ等間隔で増加させ、各電流値Ｉ（ｉ）におけるコイルのインダクタンス値を特性曲線から特定すると共に、その特定されたインダクタンス値Ｌに基づき、電流Ｉ（ｉ）をΔＩだけ変化させるに要する時間Δｔ（ｉ）を、Δｔ（ｉ）＝Ｌ×ΔＩ／Ｖｒの式に基づいて特定している。
【００２５】
そして、図４（ａ）の参照テーブルＴＢＬには、累積電流＝Σ（ΔＩ）と、累積時間＝Σ｛Δｔ（ｉ）｝とを対応させて格納している。なお、Σは、総和演算を意味するシグマ記号である。したがって、累積電流Σ（ΔＩ）と、累積時間Σ｛Δｔ（ｉ）｝との関係は、このコイルの両端電圧が、常に基準電圧Ｖｒである場合における、時間経過ｔ（ｉ）に対するコイル電流Ｉ（ｉ）の増減傾向を示すことになる。すなわち、参照テーブルＴＢＬは、図１（ｃ）に示すコイル電流の動特性を記憶していることに他ならない。なお、図４（ａ）の参照テーブルＴＢＬでは、電流幅ΔＩを固定値としているが、図１（ｄ）のように、時間幅Δｔを固定値としても良い。
【００２６】
以上の通り、参照テーブルＴＢＬを参照すれば、コイルに基準値Ｖｒを供給した場合に、電流値Ｉ（ｉ）をΔＩだけ変化させるに要する時間Δｔ（ｉ）が正確に特定される。したがって、供給電圧Ｖａｃ，ΔＶの場合には、基準電圧Ｖｒとの相対比ＫｏｎやＫｏｆｆに基づいて、Δｔ（ｉ）×ＫｏｎやΔｔ（ｉ）×Ｋｏｆｆを算出すると、これが、電流値Ｉ（ｉ）をΔＩだけ変化させるに要する時間となる。
【００２７】
なお、Ｖａｃ＝Ｖｒ／Ｋｏｎ、またΔＶ＝Ｖｒ／Ｋｏｆｆと定義しているので、供給電圧Ｖａｃ，ΔＶが高いほど、相対比Ｋｏｎ,Ｋｏｆｆは低い値となり、電流値Ｉ（ｉ）をΔＩだけ変化させるに要する時間が短くて足りる。
【００２８】
＜第１実施形態＞
以上を踏まえて、第１実施形態のＰＷＭ制御アルゴリズムについて説明する。図５は、制御サイクル毎に実行されるか、又は複数回の制御サイクルに一回実行されるＰＷＭ制御の処理内容を示すフローチャートである。また、図６〜図７は、ＰＷＭ制御の処理全体を示す概略ブロック図であり、図８は、制御オン時間Ｔｏｎの決定アルゴリズムを示す詳細ブロック図である。
【００２９】
先ず、図５に基づいて説明する。今、制御サイクル（ｎ−１）であると仮定すると、最初に、今回の交流入力電圧Ｖａｃ（ｎ−１）と、直流出力電圧Ｖｄｃ（ｎ−１）と、コイル充電開始電流Ｉｖ（ｎ−２）とがＡＤコンバータから取得される（ＳＴ１００）。
【００３０】
但し、制御サイクル開始時からコイル電流Ｉｖ（ｎ−２）の取得時までに不可避的に時間遅れＴｓが生じるので、この時間遅れＴｓを考慮して計測値ａｄ１を補正してコイル充電開始電流Ｉｖ（ｎ−２）としている。制御サイクル（ｎ−１）のＴｓのタイミングにおける電流計測値をａｄ１とすると、コイル充電電流の傾斜（Δｉ／Δｔ）は、Ｌｏｎ×Δｉ／Δｔ＝ｅの関係からΔｉ／Δｔ＝ｅ／Ｌｏｎであり、時間遅れＴｓにおける電流増加量は、Ｖａｃ（ｎ−１）／Ｌｏｎ×Ｔｓとなる。
【００３１】
したがって、この電流増加量を加味すると、Ｉｖ（ｎ−２）＝ａｄ１−Ｖａｃ（ｎ−１）／Ｌｏｎ×Ｔｓとなり、これを（式３）に代入すると、
Ｉｖ（ｎ−１）＝ａｄ１＋［Ｖａｃ（ｎ−１）×｛Ｔｏｎ（ｎ−１）−Ｔｓ｝］／Ｌｏｎ（ｎ−１）−｛ΔＶ（ｎ−１）×Ｔｃｕｔ（ｎ−１）｝／Ｌｏｆｆ（ｎ−１）・・・（式６）となり、この充電開始時の電流値Ｉｖ（ｎ−１）が以降の演算で使用される。
【００３２】
以上のようにしてステップＳＴ１００の処理が終われば、今回取得した直流出力電圧Ｖｄｃ（ｎ−１）を過去の取得値と平均化する（ＳＴ１１０）。そして、平均化された直流出力電圧Ｖｄｃを使用して、コイル放電時にコイルに供給される電圧ΔＶ（ｎ−１）を算出する（ＳＴ１２０）。図示の通り、演算式は、ΔＶ（ｎ−１）＝Ｖｄｃ−Ｖａｃ（ｎ−１）である。
【００３３】
続いて、参照テーブルＴＢＬに基づいて、制御サイクル（ｎ−１）における、コイル充電時及びコイル放電時の平均インダクタンス値Ｌｏｎ，Ｌｏｆｆを特定する。具体的には、制御サイクル（ｎ−１）についての（式４）と（式５）を使用する。
Ｌｏｎ（ｎ−１）＝Ｖａｃ（ｎ−１）×ｔｏｎ（ｎ−１）／Ｉｏｎ・・・（式４）
Ｌｏｆｆ（ｎ−１）＝ΔＶ（ｎ−１）×ｔｃｕｔ（ｎ−１）／Ｉｏｆｆ・・・（式５）
ここで、Ｖａｃ（ｎ−１）とΔＶ（ｎ−１）の値は、ＡＤコンバータからの取得値から特定され、ｔｏｎ（ｎ−１）とｔｃｕｔ（ｎ−１）の値は、前回の制御サイクル（ｎ−２）において決定されている。
【００３４】
したがって、ステップＳＴ１３０の処理では、既に決定されているｔｏｎ（ｎ−１）とｔｃｕｔ（ｎ−１）に対応する電流変化ＩｏｎとＩｏｆｆを、参照テーブルＴＢＬに基づいて算出することになる。
【００３５】
参照テーブルＴＢＬを参照するに当っては、これに先立って、相対比Ｋｏｎ，Ｋｏｆｆについて、Ｋｏｎ＝Ｖｒ／Ｖａｃ（ｎ−１）及びＫｏｆｆ＝Ｖｒ／ΔＶ（ｎ−１）の計算が必要となる。但し、図４（ｂ）に示すような変換テーブルＣＶＴを設けておけば、相対比ＫｏｎとＫｏｆｆを算出する演算処理を省略することができる。
【００３６】
図９は、ステップＳＴ１３０の処理内容を具体的に説明するフローチャートである。ここでは、先ず、今回の制御サイクル（ｎ−１）の充電開始電流Ｉｖ（ｎ−２）の値が、参照テーブルＴＢＬのどの位置が該当するかを検出する（ＳＴ１〜ＳＴ３）。参照テーブルＴＢＬには、０から１０２３まで変化する変数ｉに対応して、基準電圧Ｖｒが供給された場合における、経過時間ｔ（ｉ）と電流値I（ｉ）との関係が記憶されている（図９（ｂ）参照）。したがって、変数ｉの値をゼロから増加させつつ、参照テーブルＴＢＬを検索し、I（ｉ）≧Ｉｖ（ｎ−２）となる位置を検出すれば良いことになる。なお、不連続モードの場合は、Ｉｖ（ｎ−２）＝０であるからｉ＝０となる。
【００３７】
このようにして充電開始電流Ｉｖ（ｎ−２）に対応する変数値ｉが特定されたら、時刻初期値ＳＴをＫｏｎ×ｔ（ｉ）に設定する（ＳＴ４）。なお、ｔ（ｉ）にＫｏｎを掛けるのは、Ｖａｃ（ｎ−１）が、基準電圧Ｖｒの１／Ｋｏｎ倍であるためである（図３参照）。
【００３８】
次に、変数ｉを順次インクリメントしつつ、時刻初期値ＳＴからの経過時間（Ｋｏｎ×ｔ（ｉ）−ＳＴ）を算出し、この経過時間が、前回の制御サイクル（ｎ−２）で決定した制御オン時間Ｔｏｎ（ｎ−１）に一致する位置を検出する（ＳＴ５〜ＳＴ７）。そして、時刻初期値ＳＴから制御オン時間Ｔｏｎ（ｎ−１）だけ経過した点における電流値Ｉ（ｉ）に基づいて、コイル充電動作による増加電流値Ｉｏｎを特定する（ＳＴ８）。具体的にはＩｏｎ＝Ｉ（ｉ）−Ｉｖ（ｎ−２）の演算による。
【００３９】
次に、コイル放電時の動作をシミュレートする（ＳＴ９〜ＳＴ１２）。具体的には、先ず、放電開始タイミングＫｏｎ×ｔ（ｉ）を、変数ＳＴに記憶すると共に、放電開始時の電流ピーク値Ｉ（ｉ）を変数Ｉｐに記憶する（ＳＴ９）。そして、変数ｉをデクリメントしつつ、放電開始時からの経過時間ＳＴ−Ｋｏｆｆ×ｔ（ｉ）が、前回の制御サイクル（ｎ−２）で決定したオフ時間Ｔｃｕｔ（ｎ−１）に一致する位置を検出する（ＳＴ１０〜ＳＴ１２）。なお、ｔ（ｉ）にＫｏｆｆを掛けるのは、ΔＶ（ｎ−１）が、基準電圧Ｖｒの１／Ｋｏｆｆ倍であるためである（図３参照）。
【００４０】
そして、放電開始タイミングからオフ時間Ｔｏｆｆ（ｎ−１）だけ経過した点における電流値Ｉ（ｉ）に基づいて、コイル放電動作による減少電流値Ｉｏｆｆを特定する（ＳＴ１２）。具体的にはＩｏｆｆ＝Ｉｐ−Ｉ（ｉ）の演算による。
【００４１】
以下、図５に戻って説明を続ける。上記の通り、ステップＳＴ１３０の処理の結果、今回の制御サイクル（ｎ−１）における電流増加幅Ｉｏｎと電流減少幅Ｉｏｆｆとが特定される（ＳＴ１３０）。したがって、これらの数値Ｉｏｎ，Ｉｏｆｆを、（式４）と（式５）に代入することで、この制御サイクルにおける平均インダクタンス値Ｌｏｎ（ｎ−１），Ｌｏｆｆ（ｎ−１）を特定する（ＳＴ１４０）。なお、計算式を再掲すると以下の通りである。
Ｌｏｎ（ｎ−１）＝Ｖａｃ（ｎ−１）×ｔｏｎ（ｎ−１）／Ｉｏｎ・・・（式４）
Ｌｏｆｆ（ｎ−１）＝ΔＶ（ｎ−１）×ｔｃｕｔ（ｎ−１）／Ｉｏｆｆ・・・（式５）
続いて、（式６）に基づいて、次の制御サイクル（ｎ）の開始電流Ｉｖ（ｎ−１）を特定する（ＳＴ１５０）。なお、計算式を再掲すると以下の通りである。
Ｉｖ（ｎ−１）＝ａｄ１＋［Ｖａｃ（ｎ−１）×｛Ｔｏｎ（ｎ−１）−Ｔｓ｝］／Ｌｏｎ（ｎ−１）−｛ΔＶ（ｎ−１）×Ｔｃｕｔ（ｎ−１）｝／Ｌｏｆｆ（ｎ−１）・・・（式６）
続いて、交流入力電圧の最近の増減傾向に基づいて、次回の制御サイクル（ｎ）における交流入力電圧値Ｖａｃ（ｎ）を予測する（ＳＴ１６０）。具体的には、前回と今回の電圧値の推移Ｖａｃ（ｎ−１）−Ｖａｃ（ｎ−２）に基づいて、Ｖａｃ（ｎ）＝Ｖａｃ（ｎ−１）＋｛Ｖａｃ（ｎ−１）−Ｖａｃ（ｎ−２）｝＝２×Ｖａｃ（ｎ−１）−Ｖａｃ（ｎ−２）と推定する。
【００４２】
次に、次回の制御サイクル（ｎ）における平均電流Ｉａｖ（ｎ）を推定する（Ｓ１７０）。平均電流Ｉａｖ（ｎ）の予測演算は、図７の制御ブロック図の下段に示す通りである。
【００４３】
すなわち、図７に示す通り、平均電流Ｉａｖ（ｎ）の予測値は、交流入力電圧Ｖａｃ（ｎ）の予測値との関係からＩａｖ（ｎ）＝β×Ｖａｃ（ｎ）とする。ここでゲインβは、直流出力電圧の基準値（目標値）Ｖｏを、上記の平均化された直流出力電圧Ｖｄｃと比較しながら、その差ＶｅｒｒがゼロになるようにＰＩ制御によって調整する。
【００４４】
具体的には、Ｖｅｒｒ＝Ｖｏ−Ｖｄｃ・・・（式２０）であり、Ｖｏ＝Ｖａｃ（ｐｋ）＋α・・・（式２１）である。ここで、直流出力電圧の基準値Ｖｏは、交流入力電圧（脈流）の波高値Ｖａｃ（ｐｋ）に、コイルによる昇圧量αを加算したものに設定する。このように設定することによって、入力電圧値に応じた効率の高い変換が可能となる。また、コイルによる昇圧量を小さくできるので、大型化しない適当なサイズで安価で軽量のコイルを選択することが可能となる。なお、コイルのインダクタンス最適値は、一般に、Ｌ＝Ｖａｃ×Ｖａｃ×（Ｖｄｃ−Ｖａｃ）／｛η×Ｐａｃ×Ｖｄｃ／Ｔ｝の設計式に基づいて決定されるが、本実施形態では、入力電圧値Ｖａｃに対応して出力電圧値Ｖｄｃを設定するので、コイルのインダクタンス値がほぼ最適値を常に維持する。なお、上記の設計式において、ηは入力電流のリプル含有率、Ｔは制御周期、Ｐａｃは最大入力電力、Ｖａｃは入力電圧の瞬時値である。
【００４５】
以上のようにして、ステップＳＴ１７０の処理が終われば、次に、次回の制御サイクル（ｎ）についての制御オン時間Ｔｏｎ（ｎ）を決定する（ＳＴ１８０）。
【００４６】
図１０と図１１は、制御オン時間Ｔｏｎ（ｎ）の決定アルゴリズムを示すフローチャートである。ステップＳＴ１５０の処理で算出される、次回の制御サイクル（ｎ）の充電開始電流Ｉｖ（ｎ−１）がゼロか否かに応じて、不連続モードの処理（図１０）か、連続モードの処理（図１１）に分かれる。但し、いずれの場合にも、図４（ａ）の参照テーブルＴＢＬを参照して、平均インダクタンス値Ｌｏｎ，Ｌｏｆｆを算出し、これを、（式１５）や（式１９）に代入することで平均電流Ｉａｖ（ｎ）’を算出し、この算出値Ｉａｖ（ｎ）’が、ステップＳＴ１７０で算出された平均電流Ｉａｖ（ｎ）に一致する点を検出している。
【００４７】
先ず、図１０に基づいて、非連続モードにおける制御オン時間Ｔｏｎ（ｎ）の決定アルゴリズムから説明する。非連続モードの場合には、変数ｉをゼロに初期設定し（ＳＴ２０）、変数ｉをインクリメントした後（ＳＴ２１）、参照テーブルＴＢＬに基づいて、制御オン時間Ｔｏｎと電流増加幅Ｉｏｎを、それぞれＴｏｎ＝Ｋｏｎ×ｔ（ｉ）とＩｏｎ＝Ｉ（ｉ）に設定する（ＳＴ２２）。この処理によって、コイルが充電されている動作状態における経過時間Ｔｏｎと増加電流Ｉｏｎとを算出したことになる。なお、ここでは、Ｋｏｎ＝Ｖｒ／Ｖａｃ（ｎ）であり、ｔ（ｉ）に計数Ｋｏｎを掛けるのは、供給電圧Ｖａｃ（ｎ）が基準電圧Ｖｒと相違するからである。
【００４８】
次に、このタイミングでコイルの充電動作が終り、これ以降、コイルの放電動作が開始されると仮定して、参照テーブルＴＢＬに基づいて、オフ経過時間Ｔｃｕｔと電流減少幅Ｉｏｆｆを、それぞれＴｃｕｔ＝Ｋｏｆｆ×ｔ（ｉ）とＩｏｆｆ＝Ｉ（ｉ）に設定する（ＳＴ２３）。この処理によって、コイルが放電される動作状態における経過時間Ｔｃｕｔと減少電流Ｉｏｆｆとを算出したことになる。なお、Ｋｏｆｆ＝Ｖｒ／ΔＶ（ｎ）である。
【００４９】
次に、ステップＳＴ２２とＳＴ２３の算出結果を、（式１０）と（式１１）に代入して、充電時と放電時の平均インダクタンス値Ｌｏｎ（ｎ），Ｌｏｆｆ（ｎ）を算出する。次に、これらのインダクタンス値Ｌｏｎ（ｎ），Ｌｏｆｆ（ｎ）と、ステップＳＴ２２で算出されるＴｏｎを、他の数値Ｖａｃ（ｎ），ΔＶ（ｎ），Ｔと共に、（式１５）に代入して、平均電流Ｉａｖ（ｎ）’を算出する（ＳＴ２５）。なお、（式１５）については、図１２に導出過程が示されている。
【００５０】
そして、算出された平均電流Ｉａｖ（ｎ）’を、ステップＳＴ１７０の処理によって得られた平均電流Ｉａｖ（ｎ）と比較し、Ｉａｖ（ｎ）’＜Ｉａｖ（ｎ）であればステップＳＴ２１の処理に移行して、経過時間Ｔｏｎを一区分Δｔ（ｉ）だけ進める。このようにして制御オン時間ＴｏｎをＫｏｎ×（Δｔ（１）＋Δｔ（２）＋Δｔ（３）＋・・・）と増加させつつ、これに合わせて、オフ時間ＴｃｕｔをＫｏｆｆ×（Δｔ（１）＋Δｔ（２）＋Δｔ（３）＋・・・）に増加させ、逐次、（式１５）により算出される平均電流Ｉａｖ（ｎ）’を、ステップＳＴ１７０の処理による平均電流Ｉａｖ（ｎ）と比較する。
【００５１】
すると、やがて、Ｉａｖ（ｎ）’≧Ｉａｖ（ｎ）となるので、その時の制御オン時間Ｔｏｎとオフ時間Ｔｃｕｔとを、次回の制御サイクル（ｎ）における制御時間Ｔｏｎ（ｎ），Ｔｃｕｔ（ｎ）としてメモリに記憶する（ＳＴ２７）。
【００５２】
続いて、図１１に基づいて、連続モードにおける制御オン時間Ｔｏｎ（ｎ）の決定アルゴリズムを説明する。連続モードの場合には、コイル充電開始時の電流Ｉｖ（ｎ−１）がゼロでないので、先ず、参照テーブルＴＢＬからＩｖ（ｎ−１）に一致する位置（具体的には変数ｉの値）を検出する（ＳＴ３０〜３２）。次に、その時の変数値ｉから、基準時ＳＴと初期電流値ＳＩとを、それぞれＳＴ＝ｔ（ｉ）とＳＩ＝Ｉ（ｉ）に設定する（ＳＴ３３）。
【００５３】
続いて、変数ｉをインクリメントした後（ＳＴ３４）、経過時間ＴｏｎをＴｏｎ＝Ｋｏｎ×｛ｔ（ｉ）−ＳＴ｝と算出し、増加電流ＩｏｎをＩｏｎ＝Ｉ（ｉ）−ＳＩと算出する（ＳＴ３５）。なお、Ｋｏｎ＝Ｖｒ／Ｖａｃ（ｎ）である。そして、（式１０）に基づいて、このタイミングにおける平均インダクタンス値Ｌｏｎ（ｎ）を算出する（ＳＴ３６）。
【００５４】
次に、このタイミングでコイルの充電動作が終り、ここからコイルの放電が開始されると仮定して、変数ｊをゼロに設定した後に（ＳＴ３７）、参照テーブルＴＢＬに基づいて、オフ経過時間ＴＭを算出する（ＳＴ３８）。なお、計算式は、ＴＭ＝Ｋｏｆｆ×｛ｔ（ｉ）−ｔ（ｉ−ｊ）｝であり、Ｋｏｆｆ＝Ｖｒ／ΔＶ（ｎ）である。そして、Ｔｏｎからの経過時間ＴＭが、規定の制御周期Ｔ（ここでは５０μＳ）を超えるか否か判定され（ＳＴ３９）、もし、ＴＭ≧Ｔ−Ｔｏｎとなれば、その時の電流減少幅Ｉｏｆｆ＝Ｉ（ｉ）−Ｉ（ｉ−ｊ）をメモリに記憶する（ＳＴ４０）。
【００５５】
一方、Ｔｏｎからの経過時間ＴＭが、規定の制御周期Ｔを超えていない場合には、そのタイミングにおける電流値Ｉ（ｉ−ｊ）がゼロか否かが判定され、ゼロでなければ、ステップＳＴ３８の処理に移行させる（ＳＴ４１）。ステップＳＴ４１の処理で、電流値Ｉ（ｉ−ｊ）がゼロか否かを判定するのは、この制御サイクル（ｎ）における充電開始電流Ｉｖ（ｎ−１）がＩｖ（ｎ−１）＞０であっても、放電終了電流Ｉｖ（ｎ）がゼロとなることもあるからである。したがって、ステップＳＴ４１の判定においてＩ（ｉ−ｊ）＝０となった場合には、電流減少幅Ｉｏｆｆは、Ｉｏｆｆ＝Ｉ（ｉ）と設定される（ＳＴ４２）。
【００５６】
このようにして電流減少幅Ｉｏｆｆが特定されれば、次に、そのタイミングにおける経過時間ＴＭを、オフ時間Ｔｏｆｆに設定し（ＳＴ４３）、これらの数値を（式１１’）に代入して平均インダクタンス値Ｌｏｆｆ（ｎ）を算出する（ＳＴ４４）。そして、これらの数値を（式１９）に代入することで、平均電流Ｉａｖ（ｎ）’を算出する（ＳＴ４５）。なお、（式１９）については、図１３に導出過程が示されている。
【００５７】
次に、算出した平均電流Ｉａｖ（ｎ）’を、ステップＳＴ１７０の処理によって得られた平均電流Ｉａｖ（ｎ）と比較し、Ｉａｖ（ｎ）’＜Ｉａｖ（ｎ）であればステップＳＴ３４の処理に移行して、経過時間Ｔｏｎを一区分Δｔ（ｉ）だけ進める。このようにして制御オン時間ＴｏｎをＫｏｎ×（Δｔ（１）＋Δｔ（２）＋Δｔ（３）＋・・・）と増加させつつ、これに合わせて、オフ時間Ｔｏｆｆを変化させ、逐次、（式１９）により算出される平均電流Ｉａｖ（ｎ）’を、ステップＳＴ１７０の処理による平均電流Ｉａｖ（ｎ）と比較する。
【００５８】
すると、やがて、Ｉａｖ（ｎ）’≧Ｉａｖ（ｎ）となるので、その時の制御オン時間Ｔｏｎとオフ時間Ｔｏｆｆとを、次回の制御サイクル（ｎ）における制御時間Ｔｏｎ（ｎ），Ｔｃｕｔ（ｎ）としてメモリに記憶する（ＳＴ４７）。
＜第２実施形態＞
以上の第１実施形態では、（式６）に基づいて、次回の制御サイクル（ｎ）の充電開始電流Ｉｖ（ｎ−１）を算出し、（式１５）や（式１９）に基づいて、次回の制御サイクル（ｎ）の平均電流Ｉａｖ（ｎ）’を算出した。
【００５９】
しかし、必ずしも、これら演算式を使用する必要はなく、コイルの動的なインダクタンス値を特定する参照テーブルＴＢＬ（図４（ａ）を使用して、充電開始電流Ｉｖ（ｎ−１）や平均電流Ｉａｖ（ｎ）’を特定するのも好適である。図１４〜図１６は、演算式を使用することなく、次回の制御サイクル（ｎ）の制御オン時間Ｔｏｎ（ｎ）を決定する第２実施形態の要部を示すフローチャートである。
【００６０】
第２実施形態における制御サイクルの全体動作は、図１４に示す通りであり、(A)電流増加幅Ｉｏｎや電流減少幅Ｉｏｆｆを算出しないこと、(B)平均インダクタンス値Ｌｏｎ，Ｌｏｆｆを特定しないこと、(C)（式６）及び（式１５）又は（式１９）よる計算処理に代えて、参照テーブルＴＢＬを使用したシミュレーション処理を実行すること（ＳＴ２３０，ＳＴ２６０）が特徴的である。
【００６１】
先ず、図１５に基づいて、次の制御サイクル（ｎ）のコイル充電開始電流Ｉｖ（ｎ−１）の決定方法から説明する。
【００６２】
図１５（ａ）に示す通り、最初に、変数ｉをゼロに初期設定する（ＳＴ５１）。また、前回の制御サイクル（ｎ−２）で決定されている制御オン時間Ｔｏｎ（ｎ−１）とオフ時間Ｔｃｕｔ（ｎ−１）とを加算して、その加算結果を変数Ｔａに初期設定する。なお、連続モードの場合には、Ｔｃｕｔ（ｎ−１）＝Ｔｏｆｆ（ｎ−１）であり、不連続モードの場合には、Ｔｃｕｔ（ｎ−１）＜Ｔｏｆｆ（ｎ−１）である。
【００６３】
そして、今回の制御サイクル（ｎ−１）におけるコイル充電開始電流Ｉｖ（ｎ−１）の位置を、参照テーブルＴＢＬ上で特定する（ＳＴ５２〜ＳＴ５３）。ここで、Ｉｖ（ｎ−１）の値は、前回の制御サイクル（ｎ−２）で決定されているので、結局、ステップＳＴ５２〜ＳＴ５３の処理では、参照テーブル上で、Ｉ（ｉ）≧Ｉｖ（ｎ−２）となる変数ｉを特定することになる（図１５（ｂ）参照）。なお、不連続モードの場合には、Ｉｖ（ｎ−２）＝０であって、ｉ＝０である。
【００６４】
次に、経過時間を累積する変数Ｔをゼロに初期設定し（ＳＴ５４）、変数ｉの値をインクリメントする（ＳＴ５５）。そして、固定的な電流増加幅ΔＩに対する可変的な時間幅Δｔ（ｉ）に基づいて経過時間を計算する（ＳＴ５６）。その演算式は、Ｔ＝Ｔ＋Ｋｏｎ×Δｔ（ｉ）であり、Δｔ（ｉ）にＫｏｎを掛けるのは、供給電圧Ｖａｃ（ｎ−１）が、基準値Ｖｒと相違するからである。なお、Ｋｏｎ＝Ｖｒ／Ｖａｃ（ｎ−１）である。
【００６５】
続いて、この時の経過時間Ｔと、予め決定されている制御オン時間Ｔｏｎ（ｎ−１）とを比較し、Ｔ≧Ｔｏｎ（ｎ−１）となるまで、ステップＳＴ５５〜ＳＴ５７の処理を繰り返す。そして、Ｔ≧Ｔｏｎ（ｎ−１）の条件が成立すれば、それ以降は、変数ｉをデクリメントしつつ経過時間を計算する（ＳＴ５８〜ＳＴ５９）。その演算式は、Ｔ＝Ｔ＋Ｋｏｆｆ×Δｔ（ｉ）であり、Δｔ（ｉ）にＫｏｆｆを掛けるのは、供給電圧ΔＶ（ｎ−１）が、基準値Ｖｒと相違するからである。なお、Ｋｏｆｆ＝Ｖｒ／ΔＶである。
【００６６】
そして、もし、電流値Ｉ（ｉ）がゼロになれば、繰り返し演算を停止するが、Ｉ（ｉ）＞０である限り、ステップＳＴ５８〜ＳＴ６１の処理を繰り返す。すると、やがて、経過時間Ｔが、ステップＳＴ５１で設定されたトータル時間Ｔａに一致するので、その時の変数値ｉに基づいて、次の制御サイクル（ｎ）のコイル充電開始電流Ｉｖ（ｎ−１）を決定する。具体的には、Ｉｖ（ｎ−１）＝Ｉ（ｉ）と決定する（ＳＴ６２）。
【００６７】
以上の説明から明らかな通り、このシミュレーション処理では、参照テーブルＴＢＬについて、Ｉ（ｉ）＝Ｉｖ（ｎ−２）の位置から開始して、時間軸上（つまり、Δｔ（ｉ）の欄）を、Ｔｏｎ（ｎ−１）／Ｋｏｎだけ、変数ｉの増加方向に移動している。そして、その電流最大点（充電ピーク電流Ｉｐ（ｎ−１））で折り返し、Ｔｏｆｆ（ｎ−１）／Ｋｏｆｆだけ、変数ｉの減少方向に移動することで、Ｉｖ（ｎ−１）の値を検出している（図１５（ｂ）及び図１５（ｃ）参照）。
【００６８】
続いて、図１６に基づいて、次回の制御サイクル（ｎ）の制御オン時間Ｔｏｎ（ｎ）の決定方法を説明する。ここでも、参照テーブルＴＢＬを使用して、オン時間を一区分Δｔ（ｉ）ずつ増加させつつ、シミュレーション処理によって平均電流を計算し、この計算結果が、ステップＳＴ２５０で算出した平均電流Ｉａｖ（ｎ）と一致する点を検出している。
【００６９】
先ず、変数ｉを順次増加させることで、Ｉ（ｉ）≧Ｉｖ（ｎ−１）となる位置を検出する（ＳＴ７１〜ＳＴ７３）。なお、Ｉｖ（ｎ−１）の値は、図１５の処理によって、既に算出されている。次に、コイル充電電流（オン電流）を累積計算（積分演算）する変数Ｓｕと、オン時間を累積計算する変数Ｔｕとをゼロに初期設定する（ＳＴ７４）。
【００７０】
そして、Ｓｕ＝Ｓｕ＋Ｋｏｎ×Δｔ（ｉ）×Ｉ（ｉ）の計算によって、オン電流を積分演算する（ＳＴ７５）。積分値Ｓｕは、平均電流を求めるための基礎データとなる。次に、Ｔｕ＝Ｔｕ＋Ｋｏｎ×Δｔ（ｉ）の計算によって、オン時間を累積する（ＳＴ７６）。なお、Ｋｏｎ＝Ｖｒ／Ｖａｃ（ｎ）であり、Ｖａｃ（ｎ）は、ステップＳＴ２４０の処理によって特定されている。
【００７１】
以上の処理によって、電流増加方向に一区画Δｔ（ｉ）だけ推移したことになる。そこで、このタイミングでコイルの充電処理が終わったと仮定して、続いて、コイル放電電流（オフ電流）を累積計算する。そのために、オフ電流を累積計算（積分演算）する変数Ｓｄと、オフ時間を累積計算する変数Ｔｄと、変数ｊと、を全てゼロに初期設定する（ＳＴ７７）。しかる後、Ｔｄ＝Ｔｄ＋Ｋｏｆｆ×Δｔ（ｉ−ｊ）の計算によって、オフ時間を累積する（ＳＴ７８）。なお、Ｋｏｆｆ＝Ｖｒ／ΔＶ（ｎ）である。
【００７２】
次に、このタイミングでの総経過時間Ｔｕ＋Ｔｄと、規定の制御時間Ｔ（５０μＳ）を対比し、Ｔｕ＋Ｔｄ＜Ｔであれば、この時の電流値Ｉ（ｉ−ｊ）がゼロでないかを判定する（ＳＴ８０）。ここで、Ｉ（ｉ−ｊ）≠０であれば、Ｓｄ＝Ｓｄ＋Ｋｏｆｆ×Δｔ（ｉ−ｊ）×Ｉ（ｉ−ｊ）の計算によって、オフ電流を積分演算する（ＳＴ８１）。
【００７３】
そして、変数ｊをインクリメントしつつ（ＳＴ８２）、ステップＳＴ７８〜ＳＴ８１の処理を繰り返す。変数ｊが増加することによって、ｉ−ｊの値が減少するので、ステップＳＴ７８〜ＳＴ８１の処理は、参照テーブルＴＢＬ上を、電流減少方向に移動しつつ、経過時間Ｋｏｆｆ×Δｔ（ｉ−ｊ）と電流値Ｉ（ｉ−ｊ）とを累積させていることに他ならない。したがって、やがて、Ｔｕ＋Ｔｄ≧Ｔとなるか、或いは、Ｉ（ｉ−ｊ）＝０となる。
【００７４】
そして、Ｔｕ＋Ｔｄ≧Ｔか、Ｉ（ｉ−ｊ）＝０の何れかの条件が成立すると、オン電流の積分値Ｓｕとオフ電流の積分値Ｓｄとの総和を求める（ＳＴ８３）。すなわち、Ｓ＝Ｓｕ＋Ｓｄの演算を実行する。また、ステップＳＴ２５０の処理で決定されている平均電流Ｉａｖ（ｎ）を使用して、目標値である電流積分値Ｖを、Ｖ＝Ｉａｖ（ｎ）×（Ｔｕ＋Ｔｄ）として算出する（ＳＴ８３）。なお、（Ｔｕ＋Ｔｄ）は総経過時間である。
【００７５】
そして、ステップＳＴ７４〜ＳＴ８２のシミュレーション処理によって算出した電流積分値Ｓと、上記の目標積分値Ｖとを比較する。そして、Ｓ＜Ｖであれば、変数ｉをインクリメントしつつ、ステップＳＴ７４〜ＳＴ８３の処理を繰り返す。その結果、やがて、適当な制御オン時間に達すると、Ｓｕ＋Ｓｄ≧Ｖの条件が成立する。したがって、その時のオン経過時間Ｔｕとオフ経過時間Ｔｄとを、それぞれ制御オン時間Ｔｏｎ（ｎ）とオフ時間Ｔｃｕｔ（ｎ）として、メモリに記憶して処理を終える（ＳＴ８６）。
【００７６】
以上の通り、この第２実施形態でも参照テーブルＴＢＬを有効に活用するので、動的に変化するコイルのインダクタンス値に対応した最適な制御オン時間を、適切に決定することができる。
【００７７】
以上、本発明の実施形態について説明したが、具体的な記載内容は、特に本発明を限定するものではなく、各種の改変が可能である。
【００７８】
例えば、先の説明では、ＡＤコンバータによる電流計測値ａｄ１の時間遅れＴｓを補正するために、時間遅れＴｓにおける電流増加量をＶａｃ（ｎ−１）／Ｌｏｎ×Ｔｓとしたが、必ずしも、この演算による必要はない。すなわち、図１４（ｂ）に示す通り、電流値ａｄ１に対応する参照テーブルＴＢＬの位置から、時間軸上（つまりΔｔ（ｉ）の欄）を、減少方向にＴｓ／Ｋｏｎだけ移動した位置を検出し、その位置での電流値をもって、コイル充電開始電流Ｉｖ（ｎ−２）としても良い。なお、Ｋｏｎ＝Ｖｒ／Ｖａｃ（ｎ−１）である。
【００７９】
また、前記の各実施形態では、電流の増加幅ΔＩを固定値にし、その電流変化を実現するに必要な時間幅Δｔを可変値としたが（図１（ｃ）参照）、これを逆にしても良いのは勿論である。すなわち、Δｔを固定幅とし、ΔＩ＝ｅ×Δｔ／Ｌを満たすように、ΔＩを可変幅とするのも好適である（図１（ｄ）参照）。このようにすると、例えば、図１５の演算が更に簡易化される。
【００８０】
また、相対比Ｋｏｎ，Ｋｏｆｆを、それぞれ、Ｋｏｎ＝Ｖａｃ／ＶｒやＫｏｆｆ＝ΔＶ／Ｖｒと定義しても良いのは勿論である。
【図面の簡単な説明】
【００８１】
【図１】実施形態に係るデジタルコンバータを示す回路ブロック図とコイルの特性を示す図面である。
【図２】制御周期とコイルの充放電動作との関係を説明するタイムチャートである。
【図３】実施形態に係るデジタルコンバータの動作原理を説明する図面である。
【図４】参照テーブルと変換テーブルとを例示したものである。
【図５】第１実施形態の制御動作を説明する概略フローチャートである。
【図６】各制御サイクルにおける制御動作の一部を説明する制御ブロック図である。
【図７】各制御サイクルにおける制御動作の別の一部を説明する制御ブロック図である。
【図８】制御オン時間を決定するアルゴリズムを説明する制御ブロック図である。
【図９】図５の一部を詳細に説明するフローチャートである。
【図１０】不連続モード時の制御オン時間を決定するアルゴリズムを説明するフローチャートである。
【図１１】連続モード時の制御オン時間を決定するアルゴリズムを説明するフローチャートである。
【図１２】（式１５）の導出過程を説明する図面である。
【図１３】（式１９）の導出過程を説明する図面である。
【図１４】第２実施形態の制御動作を説明する概略フローチャートである。
【図１５】図１４の一部を詳細に説明するフローチャートである。
【図１６】図１４の別の一部を詳細に説明するフローチャートである。
【符号の説明】
【００８２】
Ｌ      コイル
Ｑ      スイッチング素子（ＩＧＢＴ）
４      昇圧チョッパ
２      整流回路（単相全波整流回路）
３      コンピュータ回路（ワンチップマイコン）
１      デジタルコンバータ
Δｔ      時間変化幅
ΔＩ      電流変化幅
Ｖｒ      基準値
Ｋｏｎ    相対比
Ｋｏｆｆ  相対比
【図１】
2009077523.tif 000003
【図２】
2009077523.tif 000004
【図３】
2009077523.tif 000005
【図４】
2009077523.tif 000006
【図５】
2009077523.tif 000007
【図６】
2009077523.tif 000008
【図７】
2009077523.tif 000009
【図８】
2009077523.tif 000010
【図９】
2009077523.tif 000011
【図１０】
2009077523.tif 000012
【図１１】
2009077523.tif 000013
【図１２】
2009077523.tif 000014
【図１３】
2009077523.tif 000015
【図１４】
2009077523.tif 000016
【図１５】
2009077523.tif 000017
【図１６】
2009077523.tif 000018