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