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