第1の実施の形態.
図1は本実施の形態にかかる記憶装置90の構成を示すブロック図である。記憶装置90は、記憶部91と、入出力インタフェース92と、アドレス指定部93とを備えている。
記憶部91にはデータDinが順次に入力し、記憶部91は第1〜N番目のアドレス#1〜#Nに対応して記憶する。記号#の次の記号はアドレスの順序を示す番号であって、アドレスの値それ自体とは区別する。
具体的には、記憶部91は入出力インタフェース92からアドレス#1〜#Nのうちのいずれかである書き込みアドレスAを入力し、書き込みアドレスAに対応してデータDinを記憶する。書き込みアドレスAは順次更新されるので、順次に入力するデータDinが、書き込みアドレスAに対応して記憶部91に順次に記憶される。
データDinも入出力インタフェース92を介して記憶部91に入力してもよい。
入出力インタフェース92は記憶部91に対して上述のように書き込みアドレスAを出力するほか、読み出しアドレスBをも出力する。更に入出力インタフェース92は、記憶部91において読み出しアドレスBに対応して記憶されていたデータを、データDoutとして出力する。
書き込みアドレスA及び読み出しアドレスBは、アドレス指定部93から入出力インタフェース92へと供給される。アドレス指定部93は書き込みアドレスA及び読み出しアドレスBを、第1タイミングQ1で指定する。
あるいは、書き込みアドレスAに相当するアドレスの番号K(Kは1〜Nの整数:このとき書き込みアドレスAはアドレス#Kとなる)及び読み出しアドレスBに相当するアドレス番号L(Lは1〜Nの整数:このとき読み出しアドレスBはアドレス#Lとなる)を、アドレス指定部93から入出力インタフェース92へと供給する。この場合には、入出力インタフェース92が番号K,Lからそれぞれアドレス#K,#Lを設定する。
図1では簡単のため、アドレス指定部93から入出力インタフェース92へ書き込みアドレスA及び読み出しアドレスBを供給する場合のみを示した。またこれらを指定する第1タイミングQ1によるトリガを、記号Q1で示される入力にて表している。
第1タイミングQ1は第1周期Td毎に発生する。つまり記憶装置90は第1周期Tdで周期的に制御される、と把握することができる。よって以下、当該第1周期Tdを制御周期と称することもある。
記憶装置90は、入力するデータDinを書き込みアドレスAに対応して記憶し、読み出しアドレスBに対応して記憶されていたデータDoutを出力する。ここでデータDin,Doutは記憶装置90へ入力するか記憶装置90から出力されるかの相違によって記号を使い分けているのであって、両者が実質的に異なる必然性はない。
データDinは第2周期Trで周期的に変動する場合がある。例えば「背景技術」で説明したように、補償電流によって、電源に流れる電源電流の高調波成分を低減する場合、当該補償電流とその指令値との誤差は当該電源が負荷に印加する電圧(あるいは電源電流)の周期(以下「電源周期」と称す)と同じ周期で変動する。
よって誤差に基づいて補償電流をフィードバック制御する場合、このフィードバック制御は電源周期で周期的な動作となる。よってデータDinとして当該誤差を採用すれば、第2周期Trとしては電源周期が採用されることになる。また、データDinは制御周期毎に更新されて記憶される。
例えば電源電流の高調波成分を補償電流によって低減する技術において、補償電流とその指令値との誤差に基づいてフィードバック制御するためには、電源周期で周期的な動作をさせるために制御周期でフィードバックを行うことになる。
このような制御方法や制御装置において、記憶装置90を繰り返し制御に採用する場合、記憶装置は少なくも電源周期の長さに亘ってデータDinを記憶する必要がある。
しかも、電源位相と、出力されるデータDoutとは同期していなければならない。よって特許文献1,2のように、電源周期毎に書き込みアドレスをリセットする必要がある。しかし、上述の通り、特許文献2では電源周期毎にリセットされる書き込みアドレスの値は一種類しか設定されていないので、問題が生じていた。
そこで、本実施の形態では書き込みアドレスAが電源周期毎にリセットされる際のアドレスを、二つのアドレスから選択する。以下、電源周期毎に書き込みアドレスAをリセットするタイミングを第2タイミングQ2と称する。
図1では簡単のため、書き込みアドレスAをリセットする第2タイミングQ2によるトリガを、記号Q2で示される入力にて表している。
なお、上記の説明から理解されるように、第2タイミングQ2は第2周期Tr(上述の例では電源周期)毎に発生する。
図2は記憶装置90の動作を示すタイミングチャートである。図2において右向きに時間の経過を示す。第1タイミングQ1及び第2タイミングQ2は、それぞれ黒三角及び白三角で示されている。第1タイミングQ1同士の間隔は第1周期Tdであり、第2タイミングQ2同士の間隔は第2周期Trである。
第2周期Trを第1周期Tdで除して得られる周期比(Tr/Td)が整数でない場合、特許文献2で言及されたように特許文献1の問題点が発生する。本実施の形態では、周期比(Tr/Td)の整数部分を(N−1)に等しい場合を想定する。周期比(Tr/Td)の小数部P(0≦P<1)を導入すると、Tr/Td−P=N−1と表される。
つまり、書き込みアドレスA及び読み出しアドレスBが取り得るアドレスの上限の個数は、周期比(Tr/Td)の整数部分よりも1以上大きく設定される。これは、通常、電源周期の変動が制御周期よりも小さいことに鑑みれば、設定可能な事項である。
図2では周期比(Tr/Td)の整数部分が5である場合を例示しているが、これよりも多くてもよい。周期比(Tr/Td)が大きい方が電源周期に対して細かなフィードバック制御ができることは当然である。
しかし、電源周期の変動を制御周期未満に抑さえ、書き込みアドレスA及び読み出しアドレスBが取り得るアドレスの上限の個数を固定できる観点からは、周期比(Tr/Td)が小さい方が望ましい。
書き込みアドレスAは、第1周期Td毎にアドレス#1〜#Nからこの順に循環的に指定される。また読み出しアドレスBも、第1周期Td毎にアドレス#1〜#Nからこの順に循環的に指定される。
書き込みアドレスAと読み出しアドレスBとは必ずしも一致しない。両者を異ならせることにより、記憶装置90は遅延素子として機能する。データDinが電源周期で周期的に変動するので、記憶装置90はデータDinを実質的に先取りすることができる。これはフィードバック制御において採用される処理の遅延時間を補償する観点で望ましい技術である。
アドレス指定部93による書き込みアドレスAのリセットは、第2のタイミングQ2の直後の第1タイミングQ1(以下「冒頭タイミング」とも称す)において書き込みアドレスAを指定することで実現できる。
図2において第2タイミングQ2と冒頭タイミングとの差が時間差ΔTとして示されている。図2でΔT=0と示された時点では第1タイミングQ1と第2タイミングQ2とが一致しており、この場合は冒頭タイミングも第2タイミングQ2とが一致していると考える。
また、乗数b(0<b<1)を導入し、時間差ΔTと、第1周期Tdのb倍(Td・b)との大小関係も示されている。例えばb=0.5であり、図2では左側に0<ΔT<Td・bと示された時間間隔は、左側にTd・b≦ΔTと示された時間間隔よりも狭い。
本実施の形態では冒頭タイミングで設定される書き込みアドレスAとして、第1番目のアドレス#1と第2番目のアドレス#2とから、時間差ΔTと値Td・bとの大小関係に基づいて、一つを選択する。
時間差ΔTが値Td・b未満であれば、冒頭タイミングにおいて書き込みアドレスAとして第1番目のアドレス#1を指定する。時間差ΔTが値Td・b以上であれば、冒頭タイミングにおいて書き込みアドレスAとして第2番目のアドレス#2を指定する。
即ち、第2タイミングQ2の前後の第1タイミングQ1で設定される書き込みアドレスAのいずれかが実質的に第1番目のアドレス#1となる。
このように書き込みアドレスAを指定することの利点は、乗数bが0.5である場合を例に採れば理解しやすい。第2タイミングQ2に近い方の第1タイミングQ1で設定される書き込みアドレスAが実質的に第1番目のアドレス#1となる。これにより、電源位相に最も適切に対応したデータDoutが出力される。
しかしながら、乗数bが必ずしも0.5でなくても、冒頭タイミングでにリセットされる書き込みアドレスAの値が一種類しか設定されていない場合と比較すれば、電源位相との整合性は改善される。実数を整数へ丸める際に、当該実数の小数部分の閾値を0.5以外にすることに相当するからである。
以上のように、第2周期Trで周期的な動作をさせるために第1周期Tdで制御を行う制御方法や制御装置において、第1周期Td毎に更新したデータDoutが用いられる場合がある。そして本実施の形態にかかる記憶装置90によれば、第2周期Trが第1周期Tdの整数倍でない場合であっても、第2周期Trで周期的な動作をさせるための制御の精度が高まる。
なお、記憶装置90が補間部94をも備えることが望ましい。補間部94は隣接する一対の読み出しアドレスBに対応した一対のデータDoutを、小数部Pに基づいて内挿し、補間値D^を出力する。このようにして得られた補間値D^を用いることにより、電源位相との整合性が更に改善される。
但し、ここで隣接する一対の読み出しアドレスBとは第1番目のアドレス#1と第N番目のアドレス#Nも含む。これは入力するデータDinは第2周期Trで周期的に変動する一方で、上述のようにTr/Td−P=N−1が成立しており、N−1≦Tr/Td<Nが満足され、しかも書き込みアドレスA及び読み出しアドレスBが、第1周期Td毎にアドレス#1〜#Nからこの順に循環的に指定されるからである。
なお、上述のように、書き込みアドレスAと読み出しアドレスBとを異ならせることが望ましい場合がある。かかる場合については補間を行う場合も含め、第3の実施の形態以降において、より具体的に説明する。
第2の実施の形態.
図3は第2の実施の形態におけるアドレス指定部93の構成の一例を示すブロック図である。当該アドレス指定部93は、第1の実施の形態において図1を用いて説明された記憶装置90のアドレス指定部93の一例である。
アドレス指定部93は、タイマ931と、比較器932と、カウンタ933と、読み出しアドレス生成部934とを備える。
タイマ931は第2タイミングQ2によってリセットされ、その直後に第1タイミングQ1が発生するまでの時間が計測される。この計測結果は上述の時間差ΔTに相当するので、タイマ931は時間差生成手段として把握することができる。
比較器932は、時間差ΔTと値Td・bとの大小関係に基づいて冒頭タイミングにおいて指定されるアドレス番号1,2のいずれかを出力する。この動作については第1の実施の形態で説明済みである。つまり比較器932は第2タイミングQ2毎に第2周期Trで書き込みアドレスAをアドレス#1,#2のいずれかにリセットする機能を果たしている。
カウンタ933は入力したアドレス番号1,2のいずれかを一つずつ増加させる。カウンタ933がアドレス番号1を入力した場合には第1タイミングQ1毎にアドレス番号が順次2,3,…N−1,Nと変化する。カウンタ933がアドレス番号2を入力した場合には第1タイミングQ1毎にアドレス番号が順次3,4,…N−1,Nと変化する。
ここでアドレス番号の「増加」とはアドレス#i(iは1〜Nの整数)の番号iの大きさに着目したアドレスの順序を指しており、必ずしもアドレスの値それ自体の増加とは限らない。例えばここでいう「増加」とはアドレス#1,#2,#3,…#N−1,#Nの値同士の大小関係がこの順に増大しなくても、この順序はここでいうアドレス番号の「増加」として把握する。
このようにカウンタ933が動作するので、カウンタ933は第1タイミングQ1毎に第1周期Tdでアドレス#1〜#Nからこの順に循環的に指定される書き込みアドレスAのアドレス番号を出力することになる。
以上のことから、タイマ931と、比較器932と、カウンタ933とは相まって、書き込みアドレスAを指定するアドレス番号Kを設定する、書き込みアドレス設定部として把握することができる。
読み出しアドレス生成部934は、書き込みアドレスAのアドレス番号Kに基づいて、読み出しアドレスBのアドレス番号Lを生成する。例えば読み出しアドレス生成部934は、番号Kに一定数を加えて番号Lを生成することができる。
第1の実施の形態で述べたように、入出力インタフェース92が番号K,Lからそれぞれアドレス#K,#Lを設定する。よって、タイマ931と、比較器932と、カウンタ933とは相まって、実質的に書き込みアドレスAを設定する、書き込みアドレス設定部として把握することができる。
なお、読み出しアドレスBは書き込みアドレスAと一致してもよい。その場合、アドレス指定部93は読み出しアドレス生成部934を省略し、読み出しアドレスBの番号Lとして書き込みアドレスAの番号Kを出力する。
第3の実施の形態.
図4は、読み出しアドレス生成部934の構成の一例を示すブロック図である。
読み出しアドレス生成部934は、除算器9342と、整数化器9343と、加算器9344とを備えている。
除算器9342は先読み時間Taを第1周期Tdで除した値を出力する。ここで先読み時間Taとは、記憶装置90においてデータDinを実質的に先取りする時間である。記憶装置90を遅延時間(Tr−Ta)の遅延素子として把握した場合、データDinが第2周期Trで周期的に変動するので、Tr−(Tr−Ta)=Taだけ実質的にデータDinが先取りされる。
例えば先読み時間Taは第1周期Tdの数倍程度の値を採る。よって、読み出しアドレスBを適切に選定することは、先読み時間Taを採用する場合において特に重要である。
このように記憶装置90を遅延素子(実質的な先取り素子)として機能させる場合、読み出しアドレスBを書き込みアドレスAよりも、先読み時間Taに相当する整数でアドレスの番号を増加させる。書き込みアドレスA及び読み出しアドレスBが、第1周期Td毎にアドレス#1〜#Nからこの順に循環的に指定されるからである。
このアドレスの番号を増加させる整数はほぼ値Ta/Tdに相当するので、除算器9342がまず値Ta/Tdを計算する。
整数化器9343は、値Ta/Tdを整数化し、読み出しアドレスBのアドレスの番号を、書き込みアドレスAのアドレス番号に対して増加させる整数を求める。当該整数化は公知の種々の手法を採用することができる。たとえば値(Ta/Td)と乗数bとの和の整数部の和を、上記整数として出力する。
加算器9344は書き込みアドレスAのアドレス番号Kと、上記整数とを加算して読み出しアドレスBのアドレス番号Lを出力する。
このように読み出しアドレス生成部934が機能するので、記憶装置90は遅延素子として機能し、特にデータDinが第2周期Trで周期的に変動する場合に、近似的に、第2周期Trと遅延時間(Tr−Ta)との差Taだけ進んだデータDoutが得られる。
但し、加算器9344は、読み出しアドレスBがアドレス#1〜#Nからこの順に循環的に指定されることに鑑みて、剰余計算を行うことに留意する。具体的にはアドレス番号Lは、K+round[Ta/Td]の、Nを法とする剰余である。ここで記号round[]は、[]で挟まれた値を整数へ丸めた値を意味する。また当該剰余が0であるときにはアドレス番号はNとなる。
第4の実施の形態.
図5は第4の実施の形態におけるアドレス指定部93の構成を示すブロック図である。本実施の形態では第3の実施の形態とは異なり、書き込みアドレスAのアドレス番号Kと、読み出しアドレスBのアドレス番号Lとを別々に求める。
本実施の形態では、リセット後経過時間T1を導入する。リセット後経過時間T1とは、第2タイミングQ2で書き込みアドレスAがリセットされることに鑑みた名称である。具体的には、第1タイミングQ1がその直前の第2タイミングQ2から経過した時間をリセット後経過時間T1として定義する。
特別な場合として、第1タイミングQ1のうち、冒頭タイミングであるものについてはリセット後経過時間T1は時間差ΔTと一致する。
アドレス指定部93は、タイマ931と、比較器932と、減算器935と、加算器937,938と、除算器9342,936と、整数化器9343とを備えている。
タイマ931と、比較器932とは、第2の実施の形態で説明された動作を行って加算器937へとアドレス番号1,2のいずれかを出力する。
減算器935はリセット後経過時間T1から時間差ΔTを差し引いて出力する。第1タイミングQ1は第1周期Tdで周期的に発生するので、減算器935の出力は第1周期Tdの整数倍となる。
除算器936は減算器935の出力を第1周期Tdで除算して出力する。上述の考察から、当該出力は整数となる。この整数は、冒頭タイミングから、着目する第1タイミングQ1が第1周期Tdの何個分遅延しているかを示している。よって加算器937によって求められる、比較器932の出力と除算器936の出力との和は、書き込みアドレスAのアドレス番号Kを表している。
加算器938は減算器935の出力に先読み時間Taを加算した値(T1−ΔT+Ta)を出力する。これはリセット後経過時間T1に対応する第1タイミングQ1に対応するデータDinよりも先読み時間Taだけ遡る時間を求めるためである。
そして除算器9342は加算器938の出力を第1周期Tdで除算した値(T1−ΔT+Ta)/Tdを出力する。整数化器9343は除算器9342の出力を整数化する。そして比較器932が出力する値1,2のいずれかと整数化器9343の出力との和が、加算器9344によって求められ、当該和となる整数Lは、読み出しアドレスBのアドレス番号として採用できる。
整数化器9343、加算器9344の動作については、第3の実施の形態におけるこれらの動作と同様である。
本実施の形態でも第3の実施の形態と同様に、記憶装置90は遅延素子として機能し、特にデータDinが第2周期Trで周期的に変動する場合に、近似的に、第2周期Trと遅延時間(Tr−Ta)との差Taだけ進んだデータDoutが得られる。
第5の実施の形態.
図6は第5の実施の形態におけるアドレス指定部93の変形を示すブロック図である。図7は補間部94の構成を示すブロック図である。
本実施の形態にかかるアドレス指定部93も、図1に示された記憶装置90が備えるアドレス指定部93として採用することができる。但し、本実施の形態にかかるアドレス指定部93は、読み出しアドレスBに対応するアドレス番号として一対の整数L,M(=L+1)と、1未満の非負の小数部Pとを出力する。
また、本実施の形態では記憶装置90が補間部94をも備えている場合を想定する。
本実施の形態では、第4の実施の形態で示されたアドレス指定部93の整数化器9343を整数/小数分離部9345に置換し、更に加算器9347を備えた構成が説明される。
本実施の形態において、除算器9342は、第4の実施の形態と同様にして値(T1−ΔT+Ta)/Tdを出力する。整数/小数分離部9345は値(T1−ΔT+Ta)/Tdの整数部分を加算器9344に出力する。また整数/小数分離部9345は値(T1−ΔT+Ta)/Tdの小数部分Pをも出力する。加算器9344は第4の実施の形態と同様にして、読み出しアドレスBの第1のアドレス番号Lを出力する。加算器9347はアドレス番号Lに1を加算して読み出しアドレスBの第2のアドレス番号Mを出力する。よって、L≦(T1−ΔT+Ta)/Td<L+1,0≦P<1が成立する。但し、加算器9344,9347のいずれもが、Nを法とする剰余を出力し、当該剰余が0であるときにはアドレス番号はNとなる。よって例えばL=Nであれば、M=1となる。
記憶部91は読み出しアドレス#L,#Mにおいてそれぞれ格納されていたデータDout(#L),Dout(#M)を補間部94に出力する。補間部94は小数部分Pをも入力する(図7の他、図1をも参照)。
補間部94は減算器941と、乗算器942,943と加算器944とを有する。
減算器941は値1から小数部分Pを差し引いて値(1−P)を出力する。乗算器942は値(1−P)とデータDout(#L)との積を出力する。乗算器943は小数部分PとデータDout(#M)との積を出力する。
加算器944は乗算器942,943の出力の和を読み出しデータD^として出力する。読み出しデータD^は、値(T1−ΔT+Ta)/Tdに対応した、データDout(#L),Dout(#M)の補間値である。
よって、リセット後経過時間T1に対応する第1タイミングQ1に対応するデータDinよりも先読み時間Taだけ遡った時点における読み出しデータとして、第3の実施の形態や第4の実施の形態に示された技術よりも適切である。
<アクティブフィルタへの適用の説明>
第1の適用例.
図8は上述の記憶装置90を遅延部31として用いたアクティブフィルタ制御装置の構成を例示するブロック図である。
以下、三相交流が採用される場合について例を取って説明する。但しこの相数は例示であって、相数が三に特定される必要はない。
三相の交流電源1は負荷2へと三相の負荷電流Ioを供給する。並列形アクティブフィルタ6は交流電源1に三相の連系リアクトル4を介して接続される。並列形アクティブフィルタ6は三相の補償電流Icを出力する。
なお、ここでは補償電流Icについて並列形アクティブフィルタ6から交流電源1へ向かう方向を正に採っており、交流電源1から流れる電源電流Isと補償電流Icの和が負荷電流Ioであるとして説明する。
もちろん、補償電流Icの向きを当該実施の形態の説明と逆向きに採っても、それは補償電流Icの極性の符号(正負)が変わるに過ぎない。
並列形アクティブフィルタ6は例えばインバータ61とコンデンサ62とを備える。インバータ61は補償電流Icを入出力することにより、コンデンサ62を直流電圧Vdcに充放電する。
例えばインバータ61は電圧形インバータであり、3つの電流経路がコンデンサ62に対して並列に接続され、各々の電流経路において二つのスイッチング素子が設けられる。
アクティブフィルタ制御装置は、高調波成分抽出部7Aと、差分電流生成部3Aと、電流制御器5と、駆動信号生成回路8とを備える。
高調波成分抽出部7Aは負荷電流Ioの高調波成分から補償電流Icの指令値Ic*を得る。具体的な構成は特許文献3等で公知であるので、その説明は簡単に留める。
高調波成分抽出部7Aは変圧器71、位相検出器72、dq変換器73、ハイパスフィルタ74,75、逆dq変換器76を有する。
変圧器71は交流電源1の三相の交流電圧Vsの一相分を検出し、これを位相検出器72に与える。位相検出器72は検出した位相をdq変換器73及び逆dq変換器76に伝える。
dq変換器73は検出された負荷電流Ioを三相/二相変換してd軸電流、q軸電流を得る。ハイパスフィルタ74,75はd軸電流、q軸電流の低域成分、特に直流成分を除去し、逆dq変換器76に与える。
逆dq変換器76は二相/三相変換を行って補償電流Icの指令値Ic*を生成する。ここで、d軸及びq軸は位相検出器72で検出された位相と同期して回転する回転座標系である。
負荷電流Ioのうち、交流電源1の位相と同期する成分は、d軸電流、q軸電流において直流分として現れる。つまり負荷電流Ioに高調波成分が無ければ、d軸電流、q軸電流はいずれも直流成分のみとなる。よって上記ハイパスフィルタ74,75はd軸電流、q軸電流として現れる、負荷電流Ioの高調波成分のみを出力する。
従って、指令値Ic*は負荷電流Ioの高調波成分を表すことになる。よって補償電流Icが位相のずれなく指令値Ic*と一致すれば、これが負荷電流Ioの高調波成分を負担することになり、電源電流Isには高調波成分が発生しない。
差分電流生成部3Aは、指令値Ic*を後述する所定の時間で先読みした指令値Ic*^と、補償電流Icとの間の偏差Ieを得る。つまり指令値Ic*は、交流電源1の位相と同期する回転座標系(dq座標系)で把握される負荷電流Ioから直流分を除去し、更に座標変換して固定座標系で把握される。そして補償電流Ic、偏差Ieも固定座標系において求められる。
電流制御器5は、差分電流生成部3Aの出力に基づいて三相の電圧指令値V*を生成する処理を行う。電流制御器5は、例えばPI(比例積分)制御を行うことで、上記処理を実現する。
駆動信号生成回路8は、電圧指令値V*に基づいて並列形アクティブフィルタ6を駆動する駆動信号Gを生成する。例えば駆動信号生成回路8は電圧指令値V*とキャリアとを比較した結果に対する論理演算を行って駆動信号Gを生成する。よって電圧指令値V*は駆動信号Gを介して間接的に並列形アクティブフィルタ6を制御する制御信号であると言える。
なお、ローパスフィルタ9は、補償電流Icのリプルを除去する観点から、設けられることが望ましい。ここではローパスフィルタ9は一相分のみを図示しているが、実際には三相分設けられる。
上述のように、電流制御器5はPI制御を行って電圧指令値V*を生成するので遅延時間(以下、この遅延時間を時間taと表す)が生じる。よってもし、偏差Ieを指令値Ic*と補償電流Icとから求めた場合、時間taは補償電流Icと高調波成分とのずれの原因となり、電源電流Isの高調波成分を抑制することに対する阻害要因となる。
しかしながら差分電流生成部3Aにおいて、指令値Ic*を時間taだけ先読みした指令値Ic*^と、補償電流Icとから偏差Ieを求めることにより、上記阻害要因は解消もしくは低減する。
ここで、定常状態において時間taは一定値を採ると考えられる。よって予め測定もしくは推定によって、時間taが見積もられる。
例えば差分電流生成部3Aは、遅延部31と、減算器32とを有している。遅延部31は、電源周期Trから時間taを差し引いた時間で遅延させる処理を行う。従って、時間taを先読み時間Taとして採用することにより、遅延部31として記憶装置90を採用することができる。
図9は遅延部31の構成を例示するブロック図である。遅延部31は3つの記憶装置90を有しており、各々が三相の指令値Ic*の一相分のデータをデータDinとして入力する。また各々が三相の指令値Ic*^の一相分のデータをデータDoutとして出力する。
上述のいずれの実施の形態における記憶装置90も遅延部31において採用することができる。但し、第5の実施の形態にかかる記憶装置90については、補間値D^が指令値Ic*^として出力される。
タイミング設定器301は、位相検出器72によって検出された位相ωtから、第2タイミングQ2を設定する。例えば位相ωtが0となる時点を第2タイミングQ2として設定する。
あるいは電源周期が変動する場合を考慮して、第2タイミングQ2は、位相ωtが一旦0となる時点を検出し、それに対して電源周期の平均値を加算したタイミングを採用することもできる。
第1タイミングQ1は、遅延部31の外部から供給される制御インターバルSintによって設定される。例えば制御インターバルSintはアクティブフィルタ制御装置の動作を制御するタイミングである。
減算器32は、遅延部31が出力する先読みした指令値Ic*^と補償電流Icとの差分として偏差Ieを得る。
図10乃至図12は上述のアクティブフィルタ制御装置の効果を示すグラフである。図10乃至図12において、諸量は一相分のみを示している。負荷2として平衡負荷が採用される場合には負荷電流Ioはその三相分が平衡し、電源電流Is及び補償電流Icもそれぞれの三相分が平衡し、これらの諸量の三相分は互いに位相が120度異なるだけに過ぎないからである。
図10は上段から下に向かうに従って、それぞれ負荷電流Io、補償電流Icの極性を反転した値(−Ic)、電源電流Is、先読みした指令値Ic*^、補償電流Ic、偏差Ieの波形を示す。
図11は上段において交流電圧Vs及びその位相θの波形を、中段において指令値Ic*の波形を、下段において先読みした指令値Ic*^の波形を、それぞれ示す。なお、時間ta(=Ta)及び電源周期(=第2周期)Trも併記している。見かけ上、指令値Ic*よりも時間taだけ指令値Ic*^が進んでいることが視認される。
図12は上段において指令値Ic*及び先読みした指令値Ic*^の波形を、下段において指令値Ic*及び補償電流Icの波形を、それぞれ示す。図12で示された波形は図11で示された波形よりも時間軸が拡大されて示されている。
図12の上段の波形では、図11の中段及び下段から視認される様に、指令値Ic*よりも、先読みした指令値Ic*^の方が進んでいることが視認される。そして図12の下段の波形から、指令値Ic*と補償電流Icとがほぼ一致した波形を呈することが視認される。
図21は図8において遅延部31を省略した構成であり、実質的には図8の構成において先読み時間Taを0にした構成に相当する。図22は当該構成において得られる諸量の波形を図10に対応して示すグラフである。
図10と図22との比較により、指令値Icではなく先読みした指令値Ic*^を用いた制御によって補償電流Icを得ることにより、偏差Ieが減少し、以て電源電流Isの高調波成分が著しく低減することが視認される。
つまり、電流制御器5における演算処理による電源電流Isの高調波成分の抑制について、その阻害が改善されたことが判る。
第2の適用例.
補償電流の指令値を回転座標系において把握する場合にも、第1の適用例と同様にデータを先読みさせて、電流制御器における演算処理による電源電流Isの高調波成分の抑制の阻害を、改善することができる。
図13は記憶装置90を遅延部31d,31qとして用いたアクティブフィルタ制御装置の他の構成を示すブロック図である。
第2の適用例においては、第1の適用例において図8のブロック図で示された構成に対し、高調波成分抽出部7Aを高調波成分抽出部7Bに、差分電流生成部3Aを差分電流生成部3Bに、電流制御器5を相電圧指令生成部10Bに、それぞれ置換し、かつdq変換器11が追加された構成となっている。更に、負荷2はより詳細な構成が例示されている。
第2の適用例での例示では、負荷2はインバータ23と、インバータ23で制御されて冷媒(不図示)を圧縮する圧縮機24とを含む空気調和機である。負荷2は更に、インバータ23へと直流電源を供給するためにコンバータ21及びコンバータ21とインバータ23との間で並列に介挿されるコンデンサ22も含んでいる。
このような負荷2はその負荷変動が小さいので、指令値の位相を実質的に進める精度が高い観点で望ましい。
dq変換器11は補償電流Icをdq変換し、d軸電流Idとq軸電流Iqとを出力する。
高調波成分抽出部7Bは、高調波成分抽出部7Aから逆dq変換器76を省略し、減算器77,電圧制御器78、加算器79を追加した構成となっている。高調波成分抽出部7Bにおける変圧器71、位相検出器72、dq変換器73、ハイパスフィルタ74,75の機能及び相互の接続関係は、高調波成分抽出部7Aのそれと同じである。
減算器77はコンデンサ62が支える直流電圧Vdcとその指令値Vdc*との偏差を求める。電圧制御器78は減算器77から得られた偏差にPI制御を行ってd軸電流の補正値を求める。当該補正値は(d軸電流用の)ハイパスフィルタ74の出力と加算器79によって加算される。これによりd軸電流指令値Id*が加算器79から得られる。
q軸電流指令値Iq*は、q軸電流用のハイパスフィルタ75から得られる。d軸電流指令値Id*及びq軸電流指令値Iq*は、直流電圧Vdcの脈動を考慮した負荷電流Ioの高調波成分を回転座標系において把握したものであると言える。よって、これらは補償電流Icを回転座標系において把握したd軸電流Id、q軸電流Iqに対する指令値として把握できる。
差分電流生成部3Bは遅延部31d,31qと、減算器32d,32qとを有している。
図14及び図15は、それぞれ遅延部31d,31qの構成を例示するブロック図である。図9に示された遅延部31と同様にして、遅延部31d,31qはいずれもタイミング設定器301と記憶装置90とを有している。
遅延部31d,31qにおけるタイミング設定器301は、遅延部31におけるタイミング設定器301と同様に動作する。
但し、遅延部31d,31qには、遅延部31に入力した指令値Ic*に代えて、それぞれd軸電流指令値Id*及びq軸電流指令値Iq*がデータDinとして入力する。また遅延部31から出力した先読みした指令値Ic*に代えて、遅延部31d,31qはそれぞれ、先読みしたd軸電流指令値Id*^及び先読みしたq軸電流指令値Iq*^がデータDoutとして出力される。
減算器32d,32qはいずれも第1の適用例で示された減算器32と同様に、それぞれ偏差Ied,Ieqを出力する。即ち、先読みしたd軸電流指令値Id*^とd軸電流Idとの間の偏差Iedと、先読みしたq軸電流指令値Iq*^とq軸電流Iqとの間の偏差Ieqとが、それぞれ減算器32d,32qから得られる。
相電圧指令生成部10は電流制御器10dd,10qqを有している。電流制御器10dd,10qqはそれぞれ偏差Ied,Ieqに対してPI制御を行うことで、電圧指令値Vid,Viqを出力する。電流制御器10dd,10qqにおけるPI制御によってそれぞれ遅延時間td,tqが発生するとすれば、遅延部31dに用いられた記憶装置90の先読み時間Taに遅延時間tdを採用し、遅延部31qに用いられた記憶装置90の先読み時間Taに遅延時間tqを採用されることで、第1の適用例と同様の効果を得ることができる。
なお、図13ではd軸における電流制御とq軸における電流制御との間でのいわゆる干渉を避けるための構成(以下「非干渉構成」と称す)が採用されて、電圧指令値Vid,Viqが補正される態様が示される。非干渉構成は公知の技術であるので、説明は簡略にするに留める。
具体的には、乗算器10dq,10qd、減算器10d及び加算器10qが追加して設けられる。
乗算器10dqは三相の交流電圧Vsの角周波数ω(=2π/Tr)と連系リアクトルのインダクタンスL’との積ωL’をd軸電流指令値Id*に乗算して加算器10qに与える。
乗算器10qdは角周波数ωとインダクタンスL’との積ωL’をq軸電流指令値Iq*に乗算して減算器10dに与える。
減算器10dは電流制御器10ddから得られた電圧指令値Vidを、乗算器10qdからの出力を差し引くことによって補正する。
加算器10qは電流制御器10qqから得られた電圧指令値Viqを、乗算器10dqからの出力を加えることによって補正する。
なお、乗算器10dq,10qdには、(先読みしていない)d軸電流指令値Id*及びq軸電流指令値Iq*が与えられる。これは乗算器10dq,10qdでの処理には電流制御器10dd,10qqでの処理のような遅延が発生しない観点に基づいている。
但し、定常状態では非干渉構成の影響は小さく、また遅延部31d,31qにおける遅延は定常状態でなければ実質的な先読みに相当しない。よって、かかる観点からは、乗算器10dq,10qdには、先読みしたd軸電流指令値Id*^及び先読みしたq軸電流指令値Iq*^が与えられてもよい。
なお、d軸とq軸の干渉を考慮しない場合、当然ながら、乗算器10dq,10qd、減算器10d及び加算器10qを省略することができる。
第2の適用例では第1の適用例とは異なり、駆動信号生成回路8は、二相の電圧指令値Vid,Viqに基づいて並列形アクティブフィルタ6を駆動する駆動信号Gを生成する。
よって電圧指令値Vid,Viqも三相の電圧指令値V*と同様に、駆動信号Gを介して間接的に並列形アクティブフィルタ6を制御する制御信号であると言える。かかる機能を有する駆動信号生成回路8の構成は周知であるので、ここでの説明は省略する。
図16は第2の適用例にかかるアクティブフィルタ制御装置の効果を示すグラフであり、上段から下方に向かって順に、d軸電流Id、偏差Ied、q軸電流Iq、偏差Ieq、電源電流Isのそれぞれの波形を示している。
d軸電流Idは、電源電流Isが実際には三相であることを反映して、電源電流Isの周期Trの1/6の周期Tr/6で周期的に変動している。そしてd軸電流Idはほぼ正弦波を呈している。同様に、q軸電流Iqも周期Tr/6で周期的に変動している。
偏差Ied,Ieqは小さく、電源電流Isもほぼ正弦波を呈して高調波が抑制されていることがわかる。
このように、第2の適用例でも第1の適用例と同様に、電流制御器10dd,10qqにおける演算処理による電源電流Isの高調波成分の抑制について、その阻害が改善されたことが判る。
第2の適用例では上述のように、補償電流Icが回転座標系においてd軸電流Id及びq軸電流Iqで把握され、偏差Ied,Ieqもこの回転座標系において求められる。交流電源1が三相以上の多相電源であっても、回転座標系は二相として把握できるので、遅延部31d,31qや電流制御器10dd,10qqは二相分で足りる。第1の適用例においては、遅延部31や電流制御器5は、実際には三相分が必要であった。
なお、第2の適用例では特に、d軸電流Id及びq軸電流Iqが、交流電圧Vsの周期Trの1/6で周期的に変動していることが、他の効果を招来する。つまり、回転座標系における指令値Id*、Iq*や、補償電流たるd軸電流Id及びq軸電流Iqの周期は、固定座標系におけるそれら(第1の適用例における指令値Ic*や補償電流Ic)の電源周期Trよりも短い。これは遅延部31d,31qに採用される記憶装置90における記憶部91の記憶容量を小さくできる観点で望ましい。
具体的には例えば、第1の適用例で示された遅延部31において記憶装置90は3個設けられる。よって周期Trの3倍分のメモリ容量が必要となる。
他方、遅延部31dは、d軸電流指令値Id*を周期Tr/6相当分を順次に記憶し、これを所定の遅延量で順次に出力すれば足りる。遅延部31qについても同様である。よって必要なメモリ容量は周期Trの1/3倍分であり、第1の適用例と比較して1/9に低減できる。
第3の適用例.
記憶装置90は、先読み時間Taと電源周期Trとを一致させることにより、いわゆる繰り返し制御に用いることもできる。
図17は記憶装置90を繰り返し制御部33d,33qに用いたアクティブフィルタ制御装置の他の構成を示すブロック図である。
第3の適用例においては、第2の適用例において図13のブロック図で示された構成に対し、差分電流生成部3Bを差分電流生成部3Cに、相電圧指令生成部10Bを相電圧指令生成部10Cに、それぞれ置換した構成が例示されている。
差分電流生成部3Cは、繰り返し制御部33d,33qと、減算器32d,32qとを有している。
第3の適用例では、減算器32dはd軸電流指令値Id*とd軸電流Idとの間の偏差Iedを出力し、減算器32qはq軸電流指令値Iq*とq軸電流Iqとの間の偏差Ieqを出力する。
図18及び図19は、それぞれ繰り返し制御部33d,33qの構成を例示するブロック図である。図9に示された遅延部31と同様にして、繰り返し制御部33d,33qはいずれもタイミング設定器301と記憶装置90とを有する他、更にそれぞれ加算器302d,302qをも有している。
繰り返し制御部33d,33qにおけるタイミング設定器301は、遅延部31におけるタイミング設定器301と同様に動作する。
但し、繰り返し制御部33d,33qには、遅延部31に入力した指令値Ic*に代えて、それぞれ偏差Ied,Ieqが、データDinとして入力する。また遅延部31から出力されていた、先読みした指令値Ic*に代えて、繰り返し制御部33d,33qでは、それぞれ先読みした偏差Iedの積算値及び先読みした偏差Ieqの積算値が、データDoutとして出力される。ここで、データDinは書き込みアドレスA(#K)に格納され、データDoutは読み出しアドレスB(#L)から読み出される。
繰り返し制御部33dにおいて、記憶装置90が書き込みアドレスA(#K)で記憶している値を、偏差Iedで増加させて記憶する。これは記憶装置90において、記憶部91が、アドレス毎に記憶した値を、入力した値で増加させて更新して記憶する機能をも備えることで実現できる。
繰り返し制御部33qにおいても同様にして、記憶部91がアドレス毎に記憶した値を、入力した値で増加させて更新して記憶する加算機能をも備え、記憶装置90が書き込みアドレスA(#K)で記憶している値を、偏差Iedで増加させて記憶する。
相電圧指令生成部10Cは、相電圧指令生成部10Bに対して、加算器101d,101qを追加した構成を有している。
加算器101dは電流制御器10ddの出力と、繰り返し制御部33dの出力との和を出力する。そして減算器10dは加算器101dから乗算器10dqの出力を差し引いて、電圧指令値Vidを出力する。
加算器101qは電流制御器10qqの出力と、繰り返し制御部33qの出力との和を出力する。そして加算器10qは加算器101qに乗算器10qdの出力を加えて電圧指令値Viqを出力する。
図20は第3の適用例におけるアクティブフィルタ制御装置の効果を示すグラフであり、諸量は一相分のみを示している。図10に示されたグラフと同様に、電源電流Isの高調波成分が小さいことが判る。
このように、記憶装置90は繰り返し制御にも適用できる。