(57)【特許請求の範囲】
【請求項１】
実質的に同一のコイル及びスイッチング素子を直列接続したＮ個の回路を並列接続して構成された昇圧チョッパと、前記各コイルに入力電流を供給する整流回路と、前記各スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路とを備えて構成されたデジタルコンバータであって、
前記コイルへの入力電流が制御サイクル中に途切れない連続モードか、制御サイクルの途中で途絶える不連続モードかを判定しつつ、その判定結果に基づいて異なるアルゴリズムで前記ＰＷＭ制御を実行する一方、
前記各スイッチング素子は、順次、位相が３６０／Ｎ度ずれて駆動され、
連続モードか不連続モードかの判定は、今回の制御サイクルにおける、前記コイルの充電開始電流、前記昇圧チョッパへの交流入力電圧、及び前記昇圧チョッパの直流出力電圧の各計測値と、今回の制御サイクルにおけるＰＭＷ波の制御時間と、前記コイルのインダクタンス値とに基づいて決定されるようになっていることを特徴とするデジタルコンバータ。
【請求項２】
前記各スイッチング素子のＯＦＦ動作時に充電される単一のコンデンサから、前記昇圧チョッパの直流出力電圧が得られるよう構成された請求項１に記載のデジタルコンバータ。
【請求項３】
前記ＰＷＭ制御における各スイッチング素子の制御オン時間Ｔｏｎは、角度換算でＴｏｎ＜３６０／Ｎに制限されている請求項１又は２に記載のデジタルコンバータ。
【請求項４】
前記コンピュータ回路は、アナログ入力信号をデジタル変換するＡＤ変換部と、各種レジスタへの設定データに基づいて任意のパルス幅のパルス波を自動的に出力可能なタイマ部とを有するワンチップマイコンである請求項１〜３の何れかに記載のデジタルコンバータ。
【請求項５】
前記ＡＤ変換部は、前記タイマ部からの指令に基づいて、一群のアナログ入力信号をデジタル変換するよう構成されている請求項４に記載のデジタルコンバータ。
【請求項６】
請求項１〜５のいずれかの動作を実現するデジタルコンバータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、昇圧チョッパを用いたデジタルコンバータに関し、特に、高価な回路素子を使用することなく、高効率で低損失のＰＷＭ制御が実現できる装置及びその制御方法に関するものである。
【背景技術】
【０００２】
出願人は先に、高価なコイルを使用しなくても精密なＰＷＭ制御が実現できる装置について提案している（特許文献１）。
【特許文献１】特願２００４−２６８１３５
【０００３】
この特許文献１に記載の発明は、コイル及びスイッチング素子を備えた昇圧チョッパと、コイルに入力電流を供給する整流回路と、スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路とを有するデジタルコンバータにおいて、コイルへの入力電流が制御サイクル中に途切れない連続モードか、制御サイクルの途中で途絶える不連続モードかを判定しつつ、その判定結果に基づいて異なるアルゴリズムでＰＷＭ制御を行うようにしている。
【０００４】
この発明によれば、簡易な構成でありながら、入力電流の広い範囲で精密なＰＷＭ制御が可能となる。また、全てをソフトウェア制御で実現できるため、ハードウェア制御の場合のような力率改善回路を省略でき、また一般のコイルも使用できるので低コストで装置全体を小型化できるという利点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、電源の大電流化に伴い、スイッチング素子の熱損失も増加し、その発熱が問題となっている。また、上記の発明は、殆ど全てをソフトウェアで処理する関係からＰＷＭ制御のキャリア周波数を極端に上げることはできず、入力電流に重畳するリップル分も問題である。
【０００６】
本発明は、上記の課題に鑑みてなされたものであって、高価な回路素子を使用することなく、高効率で低損失のデジタルコンバータ及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明に係るデジタルコンバータは、実質的に同一のコイル及びスイッチング素子を直列接続したＮ個の回路を並列接続して構成された昇圧チョッパと、前記各コイルに入力電流を供給する整流回路と、前記各スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路とを備えて構成されたデジタルコンバータであって、前記コイルへの入力電流が制御サイクル中に途切れない連続モードか、制御サイクルの途中で途絶える不連続モードかを判定しつつ、その判定結果に基づいて異なるアルゴリズムで前記ＰＷＭ制御を実行する一方、前記各スイッチング素子は、順次、位相が３６０／Ｎ度ずれて駆動され、連続モードか不連続モードかの判定は、今回の制御サイクルにおける、前記コイルの充電開始電流、前記昇圧チョッパへの交流入力電圧、及び前記昇圧チョッパの直流出力電圧の各計測値と、今回の制御サイクルにおけるＰＭＷ波の制御時間と、前記コイルのインダクタンス値とに基づいて決定されるようになっている。
【０００８】
本発明は、好ましくは、前記各スイッチング素子のＯＦＦ動作時に充電される単一のコンデンサから、前記昇圧チョッパの直流出力電圧が得られるよう構成されている。本発明で、連続モードか不連続モードかの判定は、毎回の制御サイクルで行っても良いし、複数回の制御サイクルに一回行ったのでも良い。何れにしても、連続モードか不連続モードかの判定は、今回の制御サイクルにおける、コイル充電開始電流Ｉｖ（ｎ−２）、昇圧チョッパへの交流入力電圧Ｖａｃ（ｎ−１）、及び昇圧チョッパの直流出力電圧Ｖｄｃ（ｎ−１）の各計測値と、今回の制御サイクルにおけるＰＭＷ波の制御時間Ｔｏｎ（ｎ−１）とコイルのインダクタンス値とに基づいて決定される。
【０００９】
ＰＭＷ波の制御時間は、実施例では、制御オン時間Ｔｏｎ（ｎ−１）を意味しているが、特に限定されるものではなく、スイッチング素子のＯＦＦ時間をＰＷＭ制御する場合であれば、制御オフ時間がこれに該当する。また、コイルのインダクタンス値は、コイル電流の計測値に対応して補正されるのが好ましい。
【００１０】
また、本発明は、好ましくは、連続モードか不連続モードかの判定結果に対応する演算式を用いて、ＰＭＷ波の制御時間Ｔｏｎ（ｎ）を決定すべきである。更に好ましくは、次回の制御サイクルにおけるＰＭＷ波の制御時間Ｔｏｎ（ｎ）は、次回の制御サイクルにおける、コイル平均電流の予測値Ｉａｖ（ｎ）を演算要素にして決定される。ここで、コイル平均電流の予測値Ｉａｖ（ｎ）は、前記交流入力電圧の予測値Ｖａｃ（ｎ）と積算パラメータβとの積算で決定され、前記積算パラメータβは、直流出力電圧Ｖｄｃの目標値Ｖｏとの偏差ＶｅｒｒによるＰＩ(Proportional-Integral)制御で決定されるのが好ましい。
【００１１】
並列接続される回路の個数Ｎは、特に限定されないが、各スイッチング素子の重複ＯＮ動作を回避する趣旨から、制御オン時間Ｔｏｎは、角度に換算してＴｏｎ＜３６０／Ｎに制限するのが好ましい。この意味から、上記の個数Ｎは、１＜Ｎ≦３であるのが好適である。
【００１２】
また、本発明のコンピュータ回路は、アナログ入力信号をデジタル変換するＡＤ変換部と、各種レジスタへの設定データに基づいて任意のパルス幅のパルス波を自動的に出力可能なタイマ部とを有するワンチップマイコンであるのが好ましい。前記ＡＤ変換部は、前記タイマ部からの指令に基づいて、一群のアナログ入力信号をデジタル変換する構成、言い換えると、ＣＰＵからの指令を経ることなく動作する構成を採るのが好ましい。更に好ましくは、前記ＡＤ変換部は、必要なデジタル変換処理が終われば、その旨をＣＰＵに通知する構成を採るべきである。
【００１３】
また、本発明は、請求項１〜５に記載の各技術的要素を具備するデジタルコンバータの制御方法である。
【発明の効果】
【００１４】
以上説明した本発明によれば、高価な回路素子を使用することなく、高効率で低損失のデジタルコンバータを実現できる。
【発明を実施するための最良の形態】
【００１５】
以下、実施例に基づいて本発明を更に詳細に説明する。図１は、ソフトウェア制御によるデジタルコンバータ１を示す回路構成図であり、モータ制御システムの一部として組み込まれている。このデジタルコンバータ１では、単相交流電圧（例えば２００Ｖ）が全波整流回路２で整流されて脈流となった後、ワンチップマイコン３によってＰＷＭ(Pulse Width Modulation)制御がされる昇圧チョッパ４によって所定の直流電圧Ｖｄｃ（例えば３５０Ｖ）に変換される。そして、三相モータＭは、ワンチップマイコン３に制御されるインバータ回路５によって駆動される。
【００１６】
全波整流回路２の（＋）出力端子とアースラインとの間には、リップル抑制用のコンデンサＣｉｎが接続され、全波整流回路２の（−）出力端子とアースラインとの間には、昇圧チョッパ４の電流検出用のシャント抵抗ｒが接続されている。
【００１７】
この実施例では、３個の昇圧チョッパ４ａ〜４ｃが並列接続されて構成されており、各昇圧チョッパ４ａ〜４ｃは、１２０度ずつ位相が遅れてＯＮ動作するよう制御されている。すなわち、昇圧チョッパ４は、位相の異なる３種類のＰＷＭ波（ＰＷＭ１〜ＰＷＭ３）でＯＮ動作するスイッチング素子Ｑ１〜Ｑ３と、各スイッチング素子Ｑ１〜Ｑ３に対応するコイルＬ１〜Ｌ３及びダイオードＤ１〜Ｄ３と、各ダイオードＤ１〜Ｄ３の導電時に充電される単一の平滑コンデンサＣとを中心に構成されている。
【００１８】
スイッチング素子Ｑ１〜Ｑ３として、この実施例では、絶縁ゲート型バイポーラトランジスタＩＧＢＴ(Insulated Gate Bipolar Transistor)を使用しているが全て同一素子である。この点は、コイルＬ１〜Ｌ３及びダイオードＤ１〜Ｄ３についても同様であり、各コイルＬ１〜Ｌ３及びダイオードＤ１〜Ｄ３とも同一素子である。
【００１９】
図示の通り、各コイルＬ１〜Ｌ３とスイッチング素子Ｑ１〜Ｑ３とは直列接続され、各コイルＬ１〜Ｌ３には、共通して全波整流回路２の脈流出力（Ｖａｃ）が供給されている。また、各スイッチング素子Ｑ１〜Ｑ３のゲート端子には、位相の異なる三種類のＰＷＭ波（ＰＷＭ１〜ＰＷＭ３）が供給され、各コレクタ端子は、ダイオードＤ１〜Ｄ３のアノード端子に接続されている。そして、各スイッチング素子Ｑ１〜Ｑ３のエミッタ端子は、アースラインに接続され、各ダイオードＤ１〜Ｄ３のカソード端子は、共通して平滑コンデンサＣに接続され、平滑コンデンサＣの他端はアースラインに接続されている。
【００２０】
実施例の昇圧チョッパ４は、上記の通り構成されているので、何れかのスイッチング素子ＱｉがＯＮ動作すると、脈流入力電圧Ｖａｃが、スイッチング素子Ｑｉと、これに直列接続されたコイルＬｉとで短絡されることになり、コイルＬｉに充電電流が流れることになる。本実施例の場合、各スイッチング素子Ｑ１〜Ｑ３は、１２０度位相が遅れてＯＮ動作するので、各コイルＬｉには、１２０度位相の遅れた充電電流が流れることになる（図１７参照）。
【００２１】
そして、何れかのコイルＬｉに充電電流が流れている状態で、コイルＬｉに対応するスイッチング素子ＱｉがＯＮ状態からＯＦＦ状態に変わると、対応するダイオードＤｉがＯＮ状態となって、コイルＬｉの放電電流が、コイルＬｉ→ダイオードＤｉ→平滑コンデンサＣの経路で流れ、平滑コンデンサＣは充電される。この動作は、１２０度位相が遅れつつ各コイルＬ１〜Ｌ３において実行されるので、平滑コンデンサＣからは、平滑された直流電圧Ｖｄｃが得られることになる。
【００２２】
全波整流回路２の（−）出力端子に接続されたシャント抵抗ｒからは、各昇圧チョッパ４の動作電流が検出されるが、この実施例では、Ａ／Ｄコンバータ（ＡＤ１，ＡＤ４）の動作タイミングを規定することで、スイッチング素子Ｑ１のＯＮ動作時の電流のみを検出するようにしている（図７（ａ）（ｃ）参照）。言い換えると、本実施例では、シャント抵抗ｒを通して、第一コイルＬ１の充電電流を検出している。
【００２３】
図示の通り、ワンチップマイコン３には、信号入力部ＩＮ１〜ＩＮ３を通して、それぞれ第一コイルＬ１の充電電流Ｉと、入力交流電圧Ｖａｃと、出力直流電圧Ｖｄｃとが入力されており、内蔵されたＡ／ＤコンバータＡＤ１〜ＡＤ４によって、それぞれ入力信号がデジタル変換されている。なお、Ａ／ＤコンバータＡＤ１とＡ／ＤコンバータＡＤ４は、第一コイルＬ１の充電電流Ｉを異なるタイミングで取得している。
【００２４】
信号入力部ＩＮ１は、シャント抵抗ｒの両端電圧を受けるＯＰアンプ回路で構成されており、シャント抵抗ｒと合わせて、電流検出センサとして機能している。また、信号入力部ＩＮ２及び信号入力部ＩＮ３は、抵抗分圧回路とＯＰアンプ増幅回路とで構成されている。
【００２５】
このような信号入力部ＩＮ１〜ＩＮ３及びＡ／ＤコンバータＡＤ１〜ＡＤ４を通して取得されたデータは、ワンチップマイコン３によって演算処理されＰＷＭ信号のＯＮ時間（以下、制御オン時間という）が算出される。そして、ワンチップマイコン３から出力されたＰＷＭ信号（ＰＷＭ１〜ＰＷＭ３）は、各バッファ回路ＤＲを通してスイッチング素子Ｑ１〜Ｑ３のゲート端子に供給される。また、ワンチップマイコン３は、信号入力部ＩＮ４と信号出力部ＯＵＴ２を介してインバータ回路５に接続されて、三相モータＭをインバータ制御している。
【００２６】
以下、ワンチップマイコン３の具体的な制御動作を説明するに先立って、第１の昇圧チョッパ４ａに関して、その制御原理から説明する。図２は、ワンチップマイコン３から出力される第１のＰＷＭ波（ＰＷＭ１）と、第1の昇圧チョッパ４ａのコイルＬ１に流れる電流の関係を図示したタイムチャートである。以下、第1の昇圧チョッパ４ａに関して説明するが、コイルＬ１〜Ｌ３のインダクタンス値は全て同一であり、他の昇圧チョッパ４ｂ、４ｃの回路動作も同じである。
【００２７】
図示の通り、コイルＬ１にはコイル充電電流とコイル放電電流による三角波が流れるが、コイルＬ１に蓄えられたエネルギーが十分であって連続的に電流が流れる連続モード（図２（ａ）参照）と、エネルギーが不十分であるため、電流が途中で途切れる不連続モード（図２（ｂ）参照）とがある。
【００２８】
本実施例では、何れの動作モードにあるかに応じて、異なるＰＷＭ制御を行っているので、先ず、動作モードを判定する判定式を説明する。図２のタイムチャートにおいて、今現在が、制御サイクル（ｎ−１）であるとする。そして、この制御サイクル（ｎ−１）中の計測値に基づいて、次の制御サイクル（ｎ）における制御オン時間Ｔｏｎ（ｎ）を決定することを考える。なお、交流入力電圧の周波数は５０Ｈｚ又は６０Ｈｚであるが、十分迅速に制御するため、本実施例では、制御周期Ｔを４５．６μＳにしている。
【００２９】
以下、コイルＬ１のインダクタンス値をＬとして、回路方程式を説明する。コイル充電時（スイッチング素子ＯＮ）における回路方程式は、Ｖａｃ（ｎ−１）＝Ｌ×｛Ｉｐ（ｎ−１）−Ｉｖ（ｎ−２）｝／Ｔｏｎ（ｎ−１）・・・（式１）となる。ここで、Ｉｖ（ｎ−２）はコイル充電開始電流、Ｉｐ（ｎ−１）はコイル充電ピーク電流、Ｔｏｎ（ｎ−１）は制御オン時間であり、それぞれ制御サイクル（ｎ−１）における値である。また、Ｖａｃ（ｎ−１）は制御サイクル（ｎ−１）における入力電圧であるが、電源周波数に対して、制御周期Ｔ（＝４５．６μＳ）が十分短いのでＶａｃ（ｎ−１）を一定値とみなすことができる。
【００３０】
一方、コイル放電時（スイッチング素子ＯＦＦ）における回路方程式は、Ｖｄｃ（ｎ−１）−Ｖａｃ（ｎ−１）＝Ｌ×｛Ｉｐ（ｎ−１）−Ｉｖ（ｎ−１）｝／Ｔｏｆｆ（ｎ−１）・・・（式２）となる。ここで、Ｖｄｃ（ｎ−１）はコンデンサＣの両端電圧、Ｉｖ（ｎ−１）は今回の制御サイクル終了時のコイル電流（次回の制御サイクルのコイル充電開始電流）、Ｔｏｆｆ（ｎ−１）はＯＦＦ時間であり、それぞれ制御サイクル（ｎ−１）における値である。
【００３１】
（式１）及び（式２）からＩｐ（ｎ−１）を消去してＩｖ（ｎ−１）について解くと、Ｉｖ（ｎ−１）＝Ｉｖ（ｎ−２）＋Ｔ／Ｌ×［｛Ｖａｃ（ｎ−１）−Ｖｄｃ（ｎ−１）｝＋Ｔｏｎ（ｎ−１）×Ｖｄｃ（ｎ−１）］・・・（式３）となる。なお、制御周期Ｔは、Ｔ＝Ｔｏｎ（ｎ−１）＋Ｔｏｆｆ（ｎ−１）である。
【００３２】
上記の（式３）において、Ｉｖ（ｎ−１）＞０であれば連続モード、Ｉｖ（ｎ−１）＝０であれば不連続モードとなる。但し、（式３）は、今回の制御サイクル（ｎ−１）におけるコイル充電開始電流Ｉｖ（ｎ−２）を用いて、次回の制御サイクル（ｎ）におけるコイル充電開始電流Ｉｖ（ｎ−１）を求めているので、充電開始電流Ｉｖ（ｎ−２）が正確でないと、連続モードか不連続モードかの判定が狂うことになる。すなわち、Ｉｖ（ｎ−２）を一つ手前の制御サイクルにおける制御オン時間（Ｔｏｎ（ｎ−２））などに基づく予測演算によって決定したのでは、（式３）の演算によって誤差が累積されることになり、制御の指示値自体が目標から外れて発散してしまうおそれがある。そこで、この実施例では、制御サイクルごとに、コイル充電開始時の入力電流ＡＤ１を計測するようにしている。
【００３３】
但し、制御サイクル開始時から入力電流の取得時までに不可避的に時間遅れＴｓが生じるので（図８（ｃ）参照）、この時間遅れＴｓを考慮して計測値ＡＤ１を補正してコイル充電開始電流Ｉｖ（ｎ−２）としている。今、制御サイクル（ｎ−１）のＴｓのタイミングにおける電流計測値をＡＤ１とすると、コイル充電電流の傾斜（Δｉ／Δｔ）は、Ｌ×Δｉ／Δｔ＝ｅの関係からΔｉ／Δｔ＝ｅ／Ｌである。ここで、ｅは電圧、ｉは電流、ｔは時間である。
【００３４】
したがって、時間遅れＴｓにおける電流増加量は、Ｖａｃ（ｎ−１）／Ｌ×Ｔｓと算出することができ、この値を用いると、Ｉｖ（ｎ−２）＝ＡＤ１−Ｖａｃ（ｎ−１）／Ｌ×Ｔｓ・・・（式４）となる。そして、この（式４）を（式３）に代入すると、Ｉｖ（ｎ−１）＝ＡＤ１−［Ｖａｃ（ｎ−１）×Ｔｓ＋Ｔ×｛Ｖｄｃ（ｎ−１）−Ｖａｃ（ｎ−１）｝−Ｔｏｎ（ｎ−１）×Ｖｄｃ（ｎ−１）］／Ｌ・・・（式５）となり、今回の制御サイクル（ｎ−１）の最終タイミング（＝次回の制御サイクルの開始タイミング）における入力電流値Ｉｖ（ｎ−１）を、今回の制御サイクル（ｎ−１）の開始タイミングにおける入力電流の計測値ＡＤ１に基づいて正確に決定することができる。
【００３５】
そして、このようにして求めた次回制御サイクルのコイル充電開始電流Ｉｖ（ｎ−１）が正か否かに応じて、連続モードか不連続モードかを正確に判定でき、それに応じた最適な制御が可能となる。すなわち、今回の制御サイクル（ｎ−１）における、交流入力電圧Ｖａｃ（ｎ−１）、直流出力電圧Ｖｄｃ（ｎ−１）、及び入力電流ＡＤ１の各計測値と、前回の制御サイクルで決定された制御オン時間Ｔｏｎ（ｎ−１）とに基づいて、連続モード用の制御をすべきか、不連続モード用の制御をすべきかを確定できる。なお、以上の（式１）〜（式５）の算出手順については、図１１〜図１２に補充説明をしている。
【００３６】
ところで、直流出力電圧Ｖｄｃ（ｎ−１）は、必ずしも、制御サイクル毎に更新される必要はないので、本実施例では、１ｍＳ毎に値が更新されるＶｄｃ（ｉ）を使用している（図９のステップＳＴ３０参照）。したがって、本実施例の判別式は、正確には、Ｉｖ（ｎ−１）＝ＡＤ１−［Ｖａｃ（ｎ−１）×Ｔｓ＋Ｔ×｛Ｖｄｃ（ｉ）−Ｖａｃ（ｎ−１）｝−Ｔｏｎ（ｎ−１）×Ｖｄｃ（ｉ）］／Ｌ・・・（式５’）となる。
【００３７】
更にまた、直流出力電圧として、図９のステップＳＴ３８の処理で算出される過去０．５秒間の平均値Ｖｄｃを使用しても良い。この場合には、Ｉｖ（ｎ−１）＝ＡＤ１−［Ｖａｃ（ｎ−１）×Ｔｓ＋Ｔ×｛Ｖｄｃ−Ｖａｃ（ｎ−１）｝−Ｔｏｎ（ｎ−１）×Ｖｄｃ］／Ｌ・・・（式５’’）の判別式が採用される。
【００３８】
＜不連続モード＞
続いて、各制御サイクル中のコイル平均電流Ｉａｖに基づいて、制御オン時間Ｔｏｎ（ｎ）を算出する方法について説明する。先ず、不連続モードにおける制御オン時間Ｔｏｎ（ｎ）を算出する（図２（ｂ）参照）。
【００３９】
コイル充電時における回路方程式は、Ｖａｃ（ｎ）＝Ｌ×｛Ｉｐ（ｎ）−Ｉｖ（ｎ−１）｝／Ｔｏｎ（ｎ）となるが、不連続モードゆえに、Ｉｖ（ｎ−１）＝０であり、結局、Ｖａｃ（ｎ）＝Ｌ×Ｉｐ（ｎ）／Ｔｏｎ（ｎ）・・・（式６）となる。ここで、Ｖａｃ（ｎ）は交流入力電圧、Ｉｐ（ｎ）はコイル充電ピーク時の電流値、Ｉｖ（ｎ−１）はコイル充電開始時の電流値、Ｔｏｎ（ｎ）は制御オン時間である。
【００４０】
一方、コイル放電時における回路方程式は、Ｖｄｃ（ｎ）−Ｖａｃ（ｎ）＝Ｌ／Ｔｃｕｔ（ｎ）×｛Ｉｐ（ｎ）−Ｉｖ（ｎ）｝となる。なお、Ｔｃｕｔ（ｎ）は、コイル充電ピーク状態の電流値Ｉｐ（ｎ）が、放電されてゼロになるまでの時間である（図２（ｂ）参照）。ここでは不連続モードの回路方程式を問題にしているので、Ｉｖ（ｎ）＝０となり、Ｖｄｃ（ｎ）−Ｖａｃ（ｎ）＝Ｌ／Ｔｃｕｔ（ｎ）×Ｉｐ（ｎ）・・・（式７）となる。また、この制御サイクルにおける入力電流の平均値Ｉａｖ（ｎ）は、Ｉａｖ（ｎ）＝｛Ｉｐ（ｎ）×Ｔｏｎ（ｎ）＋Ｉｐ（ｎ）×Ｔｃｕｔ（ｎ）｝／（２×Ｔ）・・・（式８）となる。
【００４１】
そして、これら（式６）〜（式８）をＴｏｎ（ｎ）について解くと、Ｔｏｎ（ｎ）×Ｔｏｎ（ｎ）＝｛２×Ｔ×Ｌ×Ｉａｖ（ｎ）×（Ｖｄｃ（ｎ）−Ｖａｃ（ｎ））｝／｛Ｖａｃ（ｎ）×Ｖｄｃ（ｎ）｝・・・(式９）と算出される。なお、（式９）の算出過程は、図１３〜図１４に示した。
【００４２】
＜連続モード＞
続いて、連続モードにおける制御オン時間Ｔｏｎ（ｎ）を算出する（図２（ａ）参照）。コイル充電時における回路方程式は、Ｖａｃ（ｎ）＝Ｌ×｛Ｉｐ（ｎ）−Ｉｖ（ｎ−１）｝／Ｔｏｎ（ｎ）・・・（式１０）となる。一方、コイル放電時における回路方程式は、Ｖｄｃ（ｎ）−Ｖａｃ（ｎ）＝Ｌ／Ｔｏｆｆ（ｎ）×｛Ｉｐ（ｎ）−Ｉｖ（ｎ）｝・・・（式１１）となる。ここで、Ｔｏｆｆ（ｎ）＝Ｔ−Ｔｏｎ（ｎ）であり、コイル放電開始から次回の制御サイクルにおけるコイル充電開始までの時間である。
【００４３】
そして、この制御サイクルにおける平均電流Ｉａｖ（ｎ）は、Ｉａｖ（ｎ）＝［｛Ｉｐ（ｎ）＋Ｉｖ（ｎ−１）｝×Ｔｏｎ（ｎ）＋｛Ｉｐ（ｎ）＋Ｉｖ（ｎ）｝×Ｔｏｆｆ（ｎ）］／｛２×Ｔ｝・・・（式１２）となる。ここで、Ｉｐ（ｎ），Ｉｖ（ｎ）を消去しつつ（式１０）〜（式１２）をＴｏｆｆ（ｎ）について解くと、Ｔｏｆｆ（ｎ）×Ｔｏｆｆ（ｎ）＝［２×Ｔ×Ｌ×｛Ｉｖ（ｎ−１）−Ｉａｖ（ｎ）｝／Ｖｄｃ（ｎ）］＋Ｔ×Ｔ×Ｖａｃ（ｎ）／Ｖｄｃ（ｎ）・・・（式１３）となるので、結局、Ｔｏｎ（ｎ）は、Ｔｏｎ＝Ｔ−Ｔｏｆｆ（ｎ）・・・（式１４）と算出される。なお、（式１４）その他の算出過程は、図１５〜図１６に補充説明している。
【００４４】
本実施例では、不連続モードか連続モードかに応じて、（式９）か又は（式１４）を用いて制御オン時間Ｔｏｎ（ｎ）を算出するが、その演算には、次回の制御サイクル（ｎ）における、交流入力電圧Ｖａｃ（ｎ）、直流出力電圧Ｖｄｃ（ｎ）、及び平均入力電流Ｉａｖ（ｎ）の予測パラメータが必要となる。
【００４５】
交流入力電圧Ｖａｃ（ｎ）については、今回の交流入力電圧の計測値Ｖａｃ（ｎ−１）と、前回の交流入力電圧の計測値Ｖａｃ（ｎ−２）に基づいて予測することとし、具体的には、今回の計測値Ｖａｃ（ｎ−１）に、制御サイクル（ｎ−２）と制御サイクル（ｎ−１）計測値の差分を加算して以下の通りとする。Ｖａｃ（ｎ）＝２×Ｖａｃ（ｎ−１）−Ｖａｃ（ｎ−２）・・・（式１５）
一方、直流出力電圧Ｖｄｃ（ｎ）については、直流電圧についての過去の計測値の平均値Ｖｄｃを採用する。平均値Ｖｄｃの算出法は適宜に決定されるが、この実施例では０．５秒毎に実行される平均化処理によって過去０．５秒間の計測値を平均化して、直流出力電圧Ｖｄｃとしている（図９のステップＳＴ３８参照）。この直流出力電圧Ｖｄｃは、メモリの適当なワークエリアに格納されており、このワークエリアの値Ｖｄｃが０．５秒毎に更新されるようになっている。
【００４６】
したがって、この場合には、不連続モードで、Ｔｏｎ（ｎ）×Ｔｏｎ（ｎ）＝｛２×Ｔ×Ｌ×Ｉａｖ（ｎ）×（Ｖｄｃ−Ｖａｃ（ｎ））｝／｛Ｖａｃ（ｎ）×Ｖｄｃ｝・・・(式９’）となり、一方、連続モードでは、Ｔｏｆｆ（ｎ）×Ｔｏｆｆ（ｎ）＝［２×Ｔ×Ｌ×｛Ｉｖ（ｎ−１）−Ｉａｖ（ｎ）｝／Ｖｄｃ］＋Ｔ×Ｔ×Ｖａｃ（ｎ）／Ｖｄｃ・・・（式１３’）、Ｔｏｎ＝Ｔ−Ｔｏｆｆ（ｎ）・・・（式１４’）となる。
【００４７】
但し、０．５秒間の平均値Ｖｄｃを使用するのに変えて、Ａ／ＤコンバータＡＤ３の出力値ＡＤ３を１ｍＳ毎に取得したＶｄｃ（ｉ）の値を使用しても良い。この場合には、不連続モードで、Ｔｏｎ（ｎ）×Ｔｏｎ（ｎ）＝｛２×Ｔ×Ｌ×Ｉａｖ（ｎ）×（Ｖｄｃ（ｉ）−Ｖａｃ（ｎ））｝／｛Ｖａｃ（ｎ）×Ｖｄｃ（ｉ）｝・・・(式９’’）となり、一方、連続モードでは、Ｔｏｆｆ（ｎ）×Ｔｏｆｆ（ｎ）＝［２×Ｔ×Ｌ×｛Ｉｖ（ｎ−１）−Ｉａｖ（ｎ）｝／Ｖｄｃ（ｉ）］＋Ｔ×Ｔ×Ｖａｃ（ｎ）／Ｖｄｃ（ｉ）・・・（式１３’’）、Ｔｏｎ＝Ｔ−Ｔｏｆｆ（ｎ）・・・（式１４’’）となる。なお、図３では、便宜上、Ｖｄｃ（ｉ）を使用する場合を実線で示し、直流出力電圧Ｖｄｃを使用する場合を破線で示している。
【００４８】
また、平均入力電流Ｉａｖ（ｎ）の予測値は、交流入力電圧Ｖａｃ（ｎ）の予測値との関係からＩａｖ（ｎ）＝β×Ｖａｃ（ｎ）とする。ここでゲインβは、直流出力電圧の基準値（目標値）Ｖｏと、上記の平均化された直流出力電圧Ｖｄｃとを比較しながら、その差ＶｅｒｒがゼロになるようにＰＩ制御によって調整する。
【００４９】
すなわち、Ｖｅｒｒ＝Ｖｏ−Ｖｄｃ・・・（式１６）であり、Ｖｏ＝Ｖａｃ（ｐｋ）＋α・・・（式１７）である。ここで、直流出力電圧の基準値Ｖｏは、交流入力電圧（脈流）の波高値Ｖａｃ（ｐｋ）に、コイルＬによる昇圧量αを加算したものに設定する。このように設定することによって、入力電圧値に応じた効率の高い変換が可能となる。また、コイルＬによる昇圧量を小さくできるので、大型化しない適当なサイズで安価で軽量のコイルを選択することが可能となる。なお、コイルＬのインダクタンス最適値は、一般に、Ｌ＝Ｖａｃ×Ｖａｃ×（Ｖｄｃ−Ｖａｃ）／｛γ×Ｐａｃ×Ｖｄｃ／Ｔ｝の設計式に基づいて決定されるが、本実施例では、入力電圧値Ｖａｃに対応して出力電圧値Ｖｄｃを設定するので、コイルのインダクタンス値がほぼ最適値を常に維持する。なお、上記の設計式において、γは入力電流のリプル含有率、Ｔは制御周期、Ｐａｃは最大入力電力、Ｖａｃは入力電圧の瞬時値である。
【００５０】
図３は、上記した制御動作を説明する制御ブロック図である。図示の通り、連続モードか不連続モードかを各制御サイクル毎に判定し、不連続モードであれば（式９’／式９’’）を使用し、連続モードであれば（式１４’／式１４’’）を使用して制御オン時間Ｔｏｎを算出する。そして、算出された制御オン時間Ｔｏｎに等しいパルス幅を有するＰＷＭ波によって、第１の昇圧チョッパ４ａのスイッチング素子Ｑ１をＯＮ動作させる。その他の昇圧チョッパ４ｂ，４ｃについても同様であり、位相が１２０度ずつ遅れたＰＷＭ波によってスイッチング素子Ｑ２，Ｑ３をＯＮ動作させる。
【００５１】
以上、図２と図３に基づいて、ＰＷＭ制御の制御原理を説明したので、次に、図３の制御動作を実現するワンチップマイコン３について具体的に説明する。
【００５２】
図４は、ワンチップマイコン３の内部構成図を例示したものであり、ここでは、シングルチップＲＩＳＣマイコンＳＨ７０４６（株ルネサステクノロジー）を使用している。このワンチップマイコン３は、ＣＰＵコア３０と、クロック発生部３１と、ＡＤ変換部３２と、マルチファンクションタイマパルスユニット（ＭＴＵ）３３とを内蔵している。この実施例のクロック発生部３１は、５０ＭＨｚのシステムクロックを発振しており、システムクロックを二分周した２５ＭＨｚの周辺クロックＰΦがＭＴＵ３３に供給されている。そして、この周辺クロックＰΦは、その後分周されることなく、そのまま計数クロック（周波数２５ＭＨｚ）としてＭＴＵ３３のカウンタに供給される。
【００５３】
図５は、ＡＤ変換部３２の内部構成を概略的に図示したものである。このＡＤ変換部３２は、８チャネルのアナログ入力端子ＡＮ８〜ＡＮ１５を有しており、入力されたアナログ信号は、逐次比較方式によりＡＤ変換され、ＡＤ変換後のデジタルデータ（分解能１０ビット）は、データレジスタＡＤＤＲ８〜ＡＤＤＲ１５に格納される。
【００５４】
この実施例では、昇圧チョッパ４の動作状態を示す各アナログ信号は、信号入力部ＩＮ１〜ＩＮ３を経由して、上記したＡＤ変換部３２に供給されており、ＡＤ変換部３２は、実質的に、４チャネルのＡ／ＤコンバータＡＤ１〜ＡＤ４として機能している。４チャネルのＡ／ＤコンバータＡＤ１〜ＡＤ４は、連続スキャンモードで動作するよう設定されており、ＭＴＵ３３からＡＤ変換開始トリガ（図５参照）を受けると、Ａ／ＤコンバータＡＤ１〜ＡＤ４がその順番にＡＤ変換動作を実行するようになっている。
【００５５】
そして、すべてのＡＤ変換動作が完了すると、ＣＰＵコア３０に対して、割込み信号（ＡＤＩ割込み）を出力するよう設定されている。したがって、ＣＰＵコア３０は、ＡＤＩ割込みに起因する割込み処理プログラムにおいて、ＡＤ変換された入力データに基づく演算処理を行い、前述した制御オン時間Ｔｏｎを算出することになる。
【００５６】
図６は、ＭＴＵ（マルチファンクションタイマパルスユニット）３３の内部構成を図示したものである。このＭＴＵ３３は、５チャネル(channel_0〜channel_4)の１６ビットタイマにより構成されており、各種のレジスタへの設定データに基づいて、任意のパルス幅のＰＷＭ波を出力できるようになっている。
【００５７】
本実施例の場合、ＭＴＵ３３の各設定は、以下の通りである。
＜ＡＤ変換部３２に関連する設定＞
ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチによりＡＤ変換開始トリガを発生させる。なお、このＡＤ変換開始トリガによって、ワンチップマイコン３のＡＤ変換部３２がＡＤ変換の動作を開始するのは、前述した通りである。
＜ＣＰＵコア３０への割込み要求の設定＞
ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチによりＣＰＵコアに割込み要求信号を発生させる。この割込み要求信号に応じて、ＣＰＵコア３０は、ＴＧＲＡ＿０〜ＴＧＲＡ＿２（チャネル０〜２のジェネラルレジスタＡ）、及びＴＧＲＢ＿０〜ＴＧＲＢ＿２（チャネル０〜２のジェネラルレジスタＢ）に設定値を書込む。この設定値は、ＭＴＵ３３から出力される３相のＰＷＭ波の立ち上がりタイミング、及び立下りタイミングを規定する数値である。
＜ＭＴＵ３３の動作に関する設定＞
［設定（１）］  チャネル０〜４のうち、チャネル０〜２を「同期動作」に設定する。そして、チャネル０のカウンタクリア要因を「ＴＧＲＡ＿０（チャネル０のジェネラルレジスタＡ）のコンペアマッチ」に設定し、チャネル１，２のカウンタクリア要因を「同期クリア」に設定する。したがって、チャネル０〜２のタイマカウンタＴＣＮＴ＿０〜ＴＣＮＴ＿２は、ＴＧＲＡ＿０のコンペアマッチ時に同期してクリアされる。
［設定（２）］  チャネル０〜２を「ＰＷＭモード１」に設定する。ＰＷＭモード１では、ＴＧＲＡ（ジェネラルレジスタＡ）とＴＧＲＢ（ジェネラルレジスタＢ）とをペアで使用することになり、ＴＩＯＣＡ端子（ＭＴＵ３３のＰＷＭ出力端子）からＴＧＲＡとＴＧＲＢのコンペアマッチによるＰＷＭ波が出力される。
［設定（３）］  ＴＧＲＡ＿０〜ＴＧＲＡ＿２（チャネル０〜２のジェネラルレジスタＡ）、及び、ＴＧＲＢ＿０〜ＴＧＲＢ＿２（チャネル０〜２のジェネラルレジスタＢ）に、ＴＧＲＡ＿０のコンペアマッチによる割込み要求に応じて、ＣＰＵコア３０が設定値を書き込む。具体的には、ＴＧＲＡ＿０〜ＴＧＲＡ＿２（チャネル０〜２のジェネラルレジスタＡ）には、１１４０、３８０、７６０を書込み、ＴＧＲＢ＿０〜ＴＧＲＢ＿２（チャネル０〜２のジェネラルレジスタＢ）には、Ｔｏｎ、３８０＋Ｔｏｎ、７６０＋Ｔｏｎを書込む。なお、Ｔｏｎは、制御サイクル毎に算出される制御オン時間である。
［設定（４）］  ＴＩＯＣＡ端子（ＭＴＵ３３のＰＷＭ出力端子）の出力レベルは、ＴＧＲＡ（ジェネラルレジスタＡ）のコンペアマッチ時と、ＴＧＲＢ（ジェネラルレジスタＢ）のコンペアマッチ時に変化する。そして、ＴＩＯＣＡ＿０〜ＴＩＯＣＡ＿２の各出力は、各チャネルのＴＩＯＲ（タイマＩＯコントロールレジスタ）への初期設定により、ＴＧＲＡ＿０〜ＴＧＲＡ＿２のコンペアマッチでＨレベルに立ち上がり、ＴＧＲＢ＿０〜ＴＧＲＢ＿２のコンペアマッチでＬレベルに立下るよう設定する。
［設定（５）］  タイマカウンタＴＣＮＴの計数クロックは、周辺クロックＰΦと同じ２５ＭＨｚ（周期４０ｎＳ）とする。
【００５８】
ＭＴＵ３３は、上記のように設定されて動作する。図７（ａ）は、ＭＴＵ３３の動作に関連して、各チャネル０〜２のタイマカウンタＴＣＮＴ(TCNT_0〜TCNT_2)と、各ジェネラルレジスタ(TGRA_0〜TGRA_2,TGRB_0〜TGRB_2)との関係、及び、各ＴＩＯＣＡ端子(TIOCA_0〜TIOCA_2)から出力されるＰＷＭ波を図示したものである。
【００５９】
先に説明した通り、本実施例では、固定値１１４０に設定されたＴＧＲＡ＿０のコンペアマッチ時に、チャネル０〜２のタイマカウンタＴＣＮＴ＿０〜ＴＣＮＴ＿２が同期してクリアされる。そのため、各タイマカウンタＴＣＮＴは、０〜１１３９を循環する１１４０進カウンタとして機能する。一方、タイマカウンタＴＣＮＴの計数クロックは、２５ＭＨｚ（周期４０ｎＳ）であるから、タイマカウンタは、４５．６μＳ（＝１１４０×４０ｎＳ）を一周期（制御周期Ｔ）として循環動作することになり、ＰＷＭ制御のキャリア周波数は約２２ＫＨｚとなる。
【００６０】
チャネル０〜チャネル２のＴＧＲＡ（ジェネラルレジスタＡ）には、チャネル０のＴＧＲＡ（ＴＧＲＡ＿０）のコンペアマッチ時（つまり各タイマカウンタＴＣＮＴの同期クリア時）に生じる割込みにより、ＣＰＵコア３０によって、それぞれ１１４０、３８０、７６０が書込まれる。同様に、チャネル０〜チャネル２のＴＧＲＢ（ジェネラルレジスタＢ）には、チャネル０のＴＧＲＡ（ＴＧＲＡ＿０）のコンペアマッチ時に生じる割込みにより、それぞれＴｏｎ、３８０＋Ｔｏｎ、７６０＋Ｔｏｎが書込まれる。
【００６１】
以上の設定のため、タイマカウンタＴＣＮＴがクリアされるのに合わせて、ＴＩＯＣＡ＿０（チャネル０のＴＩＯＣＡ端子）はＨレベルに立ち上がる。その後、チャネル０のタイマカウンタＴＣＮＴ＿０が進行して、ＴＧＲＢ＿０（チャネル０のジェネラルレジスタＢ）の値であるＴｏｎに一致すると、ＴＩＯＣＡ＿０はＬレベルに立下がる。
【００６２】
チャネル１やチャネル２についても同様であり、ＴＩＯＣＡ＿１（チャネル１のＴＩＯＣＡ端子）は、タイマカウンタＴＣＮＴ＿１＝３８０のタイミングで、ＴＧＲＡ＿１のコンペアマッチにより、Ｈレベルに立ち上がり、タイマカウンタＴＣＮＴ＿１＝３８０＋Ｔｏｎのタイミングで、ＴＧＲＢ＿１のコンペアマッチにより、Ｌレベルに立下がる。また、ＴＩＯＣＡ＿２（チャネル２のＴＩＯＣＡ端子）は、タイマカウンタＴＣＮＴ＿２＝７６０のタイミングで、ＴＧＲＡ＿２のコンペアマッチによりＨレベルに立ち上がり、タイマカウンタＴＣＮＴ＿２＝７６０＋Ｔｏｎのタイミングで、ＴＧＲＢ＿２のコンペアマッチによりＬレベルに立下がる。
【００６３】
したがって、各チャネルの出力端子であるＴＩＯＣＡ＿０〜ＴＩＯＣＡ＿２から、パルス幅ＴｏｎのＰＷＭ波が１２０度ずつ遅れた位相で出力されることになり（図７（ａ）参照）、スイッチング素子Ｑ１〜Ｑ３は、位相のずれた三相のＰＷＭ波に基づいてＯＮ動作することになる。
【００６４】
図７（ｂ）は、ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチに基づくＣＰＵコア３０の割込み処理を図示したものである。先に説明した通り、各制御周期の最初のタイミングで（ＴＧＲＡ＿０のコンペアマッチ時）、ＣＰＵコア３０は、ＭＴＵ３３のＴＧＲＡ＿０〜ＴＧＲＡ＿２（ジェネラルレジスタＡ）及びＴＧＲＢ＿０〜ＴＧＲＢ＿２（ジェネラルレジスタＢ）に、パルス幅が制御オン時間Ｔｏｎとなる設定値を書込む。なお、この制御オン時間Ｔｏｎは、一つ手前の制御サイクルにおいて算出された値である。
【００６５】
図７（ｃ）は、ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチによるＡＤ変換開始トリガに関して図示したものである。図示の通り、各制御周期の最初のタイミングで（ＴＧＲＡ＿０のコンペアマッチ時）、ＡＤ変換開始トリガがＭＴＵ３３からＡＤ変換部３２に供給され、これに呼応して、Ａ／ＤコンバータＡＤ１〜ＡＤ４が連続スキャンモードで動作して、この順番にＡＤ変換動作を実行する。そして、Ａ／ＤコンバータＡＤ４がＡＤ変換を終了すると、ＣＰＵコア３０に対して、ＡＤ変換終了割込み信号を出力する。
【００６６】
以上の通り、ＭＴＵ３３は、ＣＰＵコア３０及びＡＤ変換部３２と協働して、位相が１２０度ずつ異なる３つのＰＷＭ波を、約５０μＳの制御周期Ｔで出力する。図８〜図９は、図３の制御動作を実現するワンチップマイコン３の処理内容を示すフローチャートである。図３に示す制御処理は、４５．６μＳ毎に繰り返されるＭＴＵ３３によるＰＷＭ波の出力動作（図７（ａ）、図８（ａ）参照）と、１ｍＳ毎に起動されるタイマ割込みＴＭ＿ＩＮＴ（図９）と、ＡＤ変換動作が完了すると起動されるＡＤ変換終了割込みＡＤ＿ＩＮＴ（図８（ｂ））とを中心に構成されている。
【００６７】
以下、図８（ａ）に基づいて、ＭＴＵ３３の動作内容を確認する。タイマカウンタＴＣＮＴは、４５．６μＳ（＝計数クロックの１１４０個分）毎に同期してクリアされる。このクリア時にＣＰＵコア３０に割込みがかかり、ＣＰＵコア３０は、ＴＧＲＡ＿０〜ＴＲＧＡ＿２及びＴＧＲＢ＿０〜ＴＲＧＢ＿２への書込み処理によって各ＰＷＭ波の立下りタイミングを規定する（図７（ｂ）参照）。また、タイマカウンタＴＣＮＴのクリア時に、ＡＤ変換部３３に対してＡＤ変換開始トリガが供給される（図７（ｃ）参照）。その他、タイマカウンタＴＣＮＴのクリア後に、三種類のＰＷＭ波が再生成される点も前述した通りである。
【００６８】
その後、連続スキャンモードで動作するＡ／ＤコンバータＡＤ１〜ＡＤ４のＡＤ変換処理を完了すると、ＣＰＵコア３０に、ＡＤ変換終了割込みがかかる。なお、図８（ｃ）に示すように、制御サイクルが開始されてから最初のＡＤ変換が開始されるまでに時間遅れＴｓがあり、また、１番目のＡＤ変換開始から４番目のＡＤ変換開始までに遅延時間Ｔｄがある。
【００６９】
＜ＡＤ変換終了割込みＡＤ＿ＩＮＴ＞
全てのＡ／ＤコンバータについてＡＤ変換動作が終了すると、図８（ｂ）に示す割込み処理ＡＤ＿ＩＮＴによって制御演算が実行される。先ず、Ａ／ＤコンバータＡＤ１，ＡＤ４の出力値ＡＤ１，ＡＤ４（コイルＬへの入力電流）を取得する（ＳＴ１０）。次に、平均演算（ＡＤ１＋ＡＤ４）／２によって、制御サイクル（ｎ−１）における入力電流の平均値Ｉａｖ（ｎ−１）を算出する（ＳＴ１１）。なお、図８（ｃ）に示すように、入力電流値は、サンプリング点によって変化するので、入力電流の平均値（平均電流）としての精度は高くないが、この平均値Ｉａｖ（ｎ−１）は、次に説明するインダクタンス値の補正に使用するだけであるから、特に問題は生じない。
【００７０】
入力電流の平均値Ｉａｖ（ｎ−１）が求まれば、回路に実装されているコイルＬ１のインダクタンス値を電流値Ｉａｖ（ｎ−１）に基づいて特定する。コイルＬ１は、図１０に示すように、そこに流れる直流重畳電流（平均電流）に応じて、そのインダクタンス値が変化する場合が多い。そこで、この実施例では、回路に実装されているコイルＬ１の特性を予めメモリに格納しておき、入力電流の平均値Ｉａｖ（ｎ−１）に応じたインダクタンス値を、各演算式で使用するようにしている。
【００７１】
そのため、大型で高価なコイルを使用しなくても高精度の制御が可能となる。なお、制御精度を更に高めるためには、平均演算（ＡＤ１＋ＡＤ４）／２によって求まった電流値Ｉａｖ（ｎ−１）を、その制御サイクル（ｎ−１）における制御オン時間Ｔｏｎ（ｎ−１）に応じて補正しても良い（図３参照）。すなわち、２つのサンプリング点ＡＤ１，ＡＤ４が、コイル充電電流ＡＤ１とコイル放電電流ＡＤ４に分かれる場合もあれば、制御オン時間Ｔｏｎ（ｎ−１）が長いために、共にコイル充電電流となる場合もあるので（図８（ｃ）参照）、この点を踏まえて平均電流を補正すれば、より精密な制御を実現できる。
【００７２】
続いて、Ａ／ＤコンバータＡＤ２の出力値ＡＤ２（交流入力電圧Ｖａｃ（ｎ−１））を取得する（ＳＴ１３）。そして、電圧予測式Ｖａｃ（ｎ）＝２×Ｖａｃ（ｎ−１）−Ｖａｃ（ｎ−２）に基づいてＶａｃ（ｎ）を算出する（ＳＴ１４）。次に、Ａ／ＤコンバータＡＤ３の出力値ＡＤ３（直流出力電圧Ｖｄｃ（ｎ−１））を取得する（ＳＴ１５）。
【００７３】
続いて、Ｉａｖ（ｎ）＝β×Ｖａｃ（ｎ）の計算によって、入力電流指令値Ｉａｖ（ｎ）を算出する（ＳＴ１６）。なお。必要な積算パラメータβの値は、図９に示すタイマ割込み処理ＴＭ＿ＩＮＴにおいて１ｍＳ毎に更新されて適宜なワークエリアに格納されている。
【００７４】
次に、Ａ／ＤコンバータＡＤ１からの取得値ＡＤ１と、ステップＳＴ１２の処理で補正されたコイルのインダクタンス値Ｌと、ステップＳＴ１３の処理で取得された交流入力電圧値Ｖａｃ（ｎ−１）と、この制御サイクルにおける制御オン時間Ｔｏｎ（ｎ−１）と、直流出力電圧値Ｖｄｃ（ｉ）とに基づいて、（式５’）の判別式に基づいて、コイル充電開始電流Ｉｖ（ｎ−１）を算出する（ＳＴ１７）。そして、コイル充電開始電流Ｉｖ（ｎ−１）の値（正か否か）に応じて、連続モードとして制御すべきか不連続モードとして制御すべきかを決定する（ＳＴ１７）。なお、（式５’）に代えて（式５’’）の判別式を用いても良いのは、前述の通りである。
【００７５】
ここでＩｖ（ｎ−１）≦０であって不連続モードであった場合には、Ｉｖ（ｎ−１）＝０に設定すると共に（ＳＴ１９）、（式９’）または（式９’’）の演算式に基づいて制御オン時間Ｔｏｎ（ｎ）を算出する（ＳＴ２０）。一方、Ｉｖ（ｎ−１）＞であって連続モードであった場合には、（式１４’）（式１４’’）の演算式に基づいて制御オン時間Ｔｏｎ（ｎ）を算出する（ＳＴ２１）。
【００７６】
そして、算出された制御オン時間Ｔｏｎ（ｎ）について、それが制御上限値と制御下限値を超えていないことを条件に、次回の制御サイクル（ｎ）の制御オン時間としてＰＷＭ用バッファ領域にＴｏｎ（ｎ）の値を設定する（ＳＴ２２，２３）。このようにしてＰＷＭ用バッファに書込まれたＴｏｎ（ｎ）は、次の制御サイクル開始時の割込み時に使用され、ＭＴＵ３３のＴＧＲＢ＿０〜ＴＧＲＢ＿２（チャネル０〜２のジェネラルレジスタＢ）に、Ｔｏｎ，３８０＋Ｔｏｎ，７６０＋Ｔｏｎが書込まれる。
【００７７】
但し、算出された制御オン時間Ｔｏｎ（ｎ）が、上限値か下限値を超えている場合には、ＰＷＭ用バッファに、それぞれ制御上限値又は制御下限値を設定する。上限値は、制御周期Ｔに対してＴ／３であり、この場合にはＴ／３未満の値である制御上限値を使用する。このような制限を設けるのは、もしＴｏｎ≧Ｔ／３の状態で動作させると、複数の昇圧チョッパが重複して動作することになり、発熱の抑制など本発明の目的が阻害されるからである。
【００７８】
＜タイマ割込みＴＭ＿ＩＮＴ＞
続いて、上記したＡＤ変換終了割込みＡＤ＿ＩＮＴとは独立して、１ｍＳ毎に開始されるタイマ割込みＴＭ＿ＩＮＴについて図９のフローチャートに基づいて説明する。
【００７９】
タイマ割込みＴＭ＿ＩＮＴでは、先ず、Ａ／ＤコンバータＡＤ３の出力であるＶｄｃ（ｉ）を取得する（ＳＴ３０）。なお、Ａ／ＤコンバータＡＤ３は４５．６μＳ毎にＡＤ変換動作を実行するが、タイマ割込みＩＮＴ１では、ＡＤ変換された出力直流電圧を１ｍＳ毎に取得することになる。以下、取得した直流電圧をＶｄｃ（ｉ）と表現する。
【００８０】
次に、ＳＵＭ←ＳＵＭ＋Ｖｄｃ（ｉ）の演算を実行して、取得した出力直流電圧Ｖｄｃ（ｉ）の値をワークエリアの平均算出バッファＳＵＭに加算する（ＳＴ３１）。また、Ａ／ＤコンバータＡＤ２の出力である交流入力電圧Ｖａｃ（ｉ）を取得して（ＳＴ３２）、交流入力電圧Ｖａｃ（ｉ）と、メモリに保存されている波高最大値Ｖａｃ（ｐｋ）とを対比する（ＳＴ３３）。
【００８１】
そして、Ｖａｃ（ｉ）＞Ｖａｃ（ｐｋ）であれば、Ｖａｃ（ｐｋ）←Ｖａｃ（ｉ）の演算によって、メモリに記憶されている波高最大値Ｖａｃ（ｐｋ）の値を更新する（ＳＴ３４）。このようにして交流入力電圧の波高値Ｖａｃ（ｐｋ）を求めた後、カウンタＣＴをデクリメント処理（−１）し（ＳＴ３５）、カウンタ値ＣＴがゼロか否かを判定する（ＳＴ３６）。
【００８２】
ここで、カウンタ値ＣＴがＣＴ＝０となると、平均算出バッファＳＵＭの値を１／５００倍することで、出力直流電圧Ｖｄｃ（ｉ）の平均値を求める（ＳＴ３７）。そして、この平均値によって直流出力電圧Ｖｄｃを特定する（ＳＴ３８）。
【００８３】
このようにして直流出力電圧Ｖｄｃが求めれば、平均算出バッファＳＵＭとカウンタＣＴの値を初期設定し（ＳＴ３９）、Ｖｏ←Ｖａｃ（ｐｋ）＋αの演算によって出力直流電圧の基準値（目標値）Ｖｏを算出する（ＳＴ４０）。αは、入力交流電圧の波高値Ｖａｃ（ｐｋ）と比較した場合の、コイルＬにおける昇圧分である。そして、出力基準電圧Ｖｏと、計測値から得られる出力平均電圧Ｖｄｃとの差を算出する（ＳＴ４１）。具体的には、Ｖｅｒｒ（ｉ）←Ｖｏ−Ｖｄｃの演算を行う。
【００８４】
以上の結果に基づき、ＰＩ制御による指令値βを算出してタイマ割込み処理ＩＮＴ１を終える（ＳＴ４２）。ここで、指令値βの算出は、β＝Ｖｅｒｒ（ｉ）×Ｋｐ＋｛Ｖｅｒｒ（ｉ）×Ｋｉ＋Ｖｅｒｒ（ｉ−１）’×Ｋｉ｝の演算式によるが、Ｖｅｒｒ（ｉ−１）’×Ｋｉは、前回（ｉ−１）の積分制御値であって、Ｖｅｒｒ（ｉ−１）’×Ｋｉ＝Ｖｅｒｒ（ｉ−１）×Ｋｉ＋Ｖｅｒｒ（ｉ−２）’×Ｋｉとして算出されていた値である。
【００８５】
なお、以上説明したＡＤ変換終了割込み（図８（ｂ））の内容は、制御ブロック図３に「ＩＮＴ１」と記載している。また、ＡＤ変換部３３の動作には「Ａ／Ｄ」と記載し、ＭＴＵ３３の動作には「ＭＴＵ」と記載している。
【００８６】
以上の通り、実施例に係るデジタルコンバータ１では、３つの昇圧チョッパ４ａ〜４ｃが並列接続され、各スイッチング素子Ｑ１〜Ｑ３が、順次、遅れてＯＮ動作するので、スイッチング素子を分散して実装することによって発熱を効果的に分散することが可能となる。また、これらに関連して、各スイッチング素子の電流容量スペックを落すこともできる。
【００８７】
また、入力電流のリップルが低減されるので、入力側のコンデンサＣｉｎを小型化することもできる。図１６は、この関係を図示したものであり、各コイルＬ１〜Ｌ３の電流ＩＬ１〜ＩＬ３と、これらの総和である整流回路２の出力電流ＩＡＬＬとの関係を示している。
【００８８】
また、各コイルＬ１〜Ｌ３のインダクタンス値を低減することもできる。すなわち、昇圧チョッパが単一である場合より、昇圧チョッパが並列動作する分だけ、Ｖｄｃ（ｎ）やＩａｖ（ｎ）が相対的に大きくなるので、例えば、（式９）や（式１４）よりインダクタンス値Ｌを小さくすることができる。
【００８９】
その他、ハードウェア制御回路が存在せず、全てをソフトウェア制御で実現できるため、力率改善回路などを省略でき、低コストで小型化が可能となる。また一般のコイルを使用して、そのインダクタンス値をリアルタイムに補正して演算式に反映させるので、低コストでありながら高精度の制御が可能となる。更に、本実施例では、瞬時応答による制御を行っているので負荷変動に対してもリニアに対応できる。また、（式９）、（式１４）に示すように、フィードフォワードによる制御が主体となるので目標値に対する発散を抑制でき制御遅れも少ない。
【図面の簡単な説明】
【００９０】
【図１】実施例に係るデジタルコンバータを示す回路ブロック図である。
【図２】制御周期とコイルの充放電動作との関係を説明するタイムチャートである。
【図３】実施例に係るデジタルコンバータの制御動作を説明する制御ブロック図である。
【図４】ワンチップマイコンの内部構成を示すブロック図である。
【図５】ＡＤ変換部の内部構成を示すブロック図である。
【図６】ＭＴＵの内部構成を示すブロック図である。
【図７】ＭＴＵの動作を説明するタイムチャートである。
【図８】ＭＴＵとＡＤ変換割込みの動作内容を示すフローチャートである。
【図９】タイマ割込みの動作内容を示すフローチャートである。
【図１０】コイルのインダクタンス値と平均電流との関係を示す特性図である。
【図１１】（式５）の導出過程を説明する図面である。
【図１２】（式５）の導出過程を説明する図面である。
【図１３】（式９）の導出過程を説明する図面である。
【図１４】（式９）の導出過程を説明する図面である。
【図１５】（式１４）の導出過程を説明する図面である。
【図１６】（式１４）の導出過程を説明する図面である。
【図１７】リップルの低減を説明する図面である。
【符号の説明】
【００９１】
Ｌ１〜Ｌ３    コイル
Ｑ１〜Ｑ３    スイッチング素子
１            デジタルコンバータ
２            整流回路
３            コンピュータ回路（ワンチップマイコン）
４ａ〜４ｃ    昇圧チョッパ
【図１】
0004565451.tif 000002
【図２】
0004565451.tif 000003
【図３】
0004565451.tif 000004
【図４】
0004565451.tif 000005
【図５】
0004565451.tif 000006
【図６】
0004565451.tif 000007
【図７】
0004565451.tif 000008
【図９】
0004565451.tif 000009
【図１１】
0004565451.tif 000010
【図１２】
0004565451.tif 000011
【図１３】
0004565451.tif 000012
【図１４】
0004565451.tif 000013
【図１５】
0004565451.tif 000014
【図１６】
0004565451.tif 000015
【図１７】
0004565451.tif 000016
【図８】
0004565451.tif 000017
【図１０】
0004565451.tif 000018