(58)【調査した分野】(Int.Cl.,DB名)
電力源からの給電を受けて交流出力を生成し、並列時に閉じて前記交流出力を商用電源系統および負荷に供給し、解列時に開いて前記商用電源系統および前記負荷への供給を遮断する開閉手段と、
サイクル毎に取得した系統電圧の周波数を所定数記憶するとともに、この記憶された周波数の最も古い方から所定サイクル分の周波数を平均して算出した平均サブ周波数を所定時間毎に取込み、この所定時間毎の平均サブ周波数を平均して算出した平均周波数を記憶する記憶手段と、
所定時間毎に極性が変化する能動信号を付与して前記系統電圧に周波数変化を付与し、
前記系統電圧の周波数と前記平均周波数の差が所定値以上に変化した際に、所定時間だけ周波数変化の増加または減少を固定して系統電圧の周波数の増加または減少を監視し、検出周波数変化が所定範囲を超えた状態が継続した場合に単独運転中であると判定する判定手段と、
単独運転であるとの前記判定手段の判定結果に応じて前記開閉手段を開き、前記並列から前記解列に制御する制御手段と、
を備えることを特徴とする分散型電源装置。
電力源からの給電を受けて交流出力を生成し、並列時に閉じて前記交流出力を商用電源系統および負荷に供給し、解列時に開いて前記商用電源系統および前記負荷への供給を遮断する開閉手段を備える分散型電源装置の制御プログラムであって、前記分散型電源装置に搭載されるコンピュータに、
サイクル毎に取得した系統電圧の周波数を記憶手段に所定数記憶するとともに、この記憶された周波数の最も古い方から所定サイクル分の周波数を平均して算出した平均サブ周波数を所定時間毎に取込み、この所定時間毎の平均サブ周波数を平均して算出した平均周波数を前記記憶手段に記憶する機能と、
所定時間毎に極性が変化する能動信号を付与して前記系統電圧に周波数変化を付与する機能と、
前記系統電圧の周波数と前記平均周波数の差が所定値以上に変化した際に、所定時間だけ周波数変化の増加または減少を固定して系統電圧の周波数の増加または減少を監視する機能と、
検出周波数変化が所定範囲を超えた状態が継続した場合に単独運転中であると判定する機能と、
を前記コンピュータで実現することを特徴とする分散型電源装置の制御プログラム。
電力源からの給電を受けて交流出力を生成し、並列時には閉じて前記交流出力を商用電源系統および負荷に供給し、解列時には開いて前記商用電源系統および前記負荷への供給を遮断する工程と、
サイクル毎に取得した系統電圧の周波数を記憶手段に所定数記憶するとともに、この記憶された周波数の最も古い方から所定サイクル分の周波数を平均して算出した平均サブ周波数を所定時間毎に取込み、この所定時間毎の平均サブ周波数を平均して算出した平均周波数を前記記憶手段に記憶する工程と、
所定時間毎に極性が変化する能動信号を付与して前記系統電圧に周波数変化を付与し、前記系統電圧の周波数と前記平均周波数の差が所定値以上に変化した際に、所定時間だけ周波数変化の増加または減少を固定して系統電圧の周波数の増加または減少を監視し、検出周波数変化が所定範囲を超えた状態が継続した場合に単独運転中であると判定する工程と、
単独運転であるとの判定結果に応じて前記並列から前記解列に制御する工程と、
を備えることを特徴とする分散型電源装置の制御方法。
【発明を実施するための形態】
【0015】
図1は、本発明の実施の形態に係る分散型電源システムを示している。
図1に示す構成は一例であり、斯かる構成に本発明が限定されるものではない。
【0016】
この分散型電源システムは本発明の分散型電源装置の一例であって、分散型電源装置の出力を負荷に供給し、または負荷および商用電源に供給可能に構成されている。
【0017】
分散型電源装置2の入力側には電力源4が接続され、出力側には負荷6が接続されているとともに、遮断機8を介して商用電源系統10が接続されている。
【0018】
電力源4はコージェネレーションシステムの発電機、太陽光発電システムの太陽電池など、電力を発生する設備である。この実施の形態では直流電源を想定しているが、直流電源、交流電源のいずれであってもよい。
【0019】
負荷6はたとえば、住宅内の交流負荷である。つまり、負荷6には分散型電源装置2を介して電力源4からの電力と、商用電源系統10からの電力の供給が可能であり、系統連系運転による給電が可能である。遮断機8は負荷6から商用電源系統10を切断し、負荷6に対する商用電源系統10からの給電の遮断に用いられる。
【0020】
分散型電源装置2の入力部には整流器12が設置され、入力電圧を整流する。この整流器12の出力はインバータ部の入力段にある昇圧回路14に加えられ、所定の直流電圧に昇圧される。この電圧を昇圧電圧と称する。この昇圧電圧はFETブリッジ回路16に加えられて電圧波形を整え、フィルタ18でノイズ成分が除去された後、開閉器20を介して分散型電源装置2の交流出力となる。この交流出力は、負荷6に供給される。
【0021】
この分散型電源装置2には、昇圧回路14、FETブリッジ回路16および開閉器20を制御する制御手段として制御部22が設置されている。この制御部22には制御情報として既述の昇圧電圧、フィルタ18の出力側から出力電流、開閉器20の出力側から系統電圧が取り込まれている。
【0022】
この制御部22はコンピュータによって構成され、プロセッサ24、IOポート26、AD変換器28、ROM(Read-Only Memory)30、EEPROM32、RAM(Random-Access Memory)34、クロック発振器36および警報器37を備えている。
【0023】
プロセッサ24は、ROM30に格納されているプログラムを実行し、クロック信号を計数するタイマをも構成する。このプログラムにはOS(Operating System)、ファームウェアプログラム、アプリケーションプログラムなどのプログラムが含まれる。このプログラムの実行により、単独運転か否かの検出処理、その検出に基づく制御が含まれる。
【0024】
IOポート26は、各種情報の入出力手段であって、この実施の形態では、昇圧回路14に対する昇圧制御情報、FETブリッジ回路16のFETのスイッチング情報、開閉器20の開閉情報が出力される。昇圧回路14の昇圧制御情報には、出力電圧の昇圧方向の制御情報、現在値の減圧方向の制御情報の双方が含まれる。FETブリッジ回路16のFETのスイッチング情報は、FETブリッジ回路16を構成しているFETを導通または遮断状態に制御するパルスである。開閉器20の開閉情報は、開閉器20を開または閉に制御する情報であり、開状態に制御された際に、分散型電源装置2が負荷6または商用電源系統10から切り離され、つまり、解列となる。
【0025】
AD変換器28はアナログ・デジタル変換を行ない、アナログ情報である昇圧電圧、出力電流または系統電圧をデジタル値に変換する。
【0026】
ROM30、EEPROM32およびRAM34は記憶手段の一例である。ROM30には既述のプログラムが格納され、EEPROM32は不揮発性記憶手段の一例であり、設定値や補正値などの保持に用いられる。RAM34は、ワークエリアを構成するとともに、周波数や制御データなどの一時保存に用いられる。
【0027】
クロック発振器36は系統制御のクロック信号を発生し、このクロック信号はプロセッサ24に加えられており、系統の動作タイミングや所定時間の計時に用いられる。警報器37は単独運転時を告知する告知手段の一例である。
【0028】
プロセッサ24には、分散型電源装置2の外部に設置されている給湯システム38の給湯制御部40が接続されている。給湯システム38は、電力源4で生じた排熱を熱源にし、熱媒や上水の加熱を行う。この制御手段である給湯制御部40はコンピュータシステムで構成され、既述のプロセッサ24の動作と連系関係が構築されている。
【0030】
図2は電力源4の一例を示している。この電力源4は、駆動源にエンジン42を備え、このエンジン42によって発電機44が駆動される。エンジン42は燃料にたとえば、ガスが用いられ、その燃焼によって排気や排熱を生じる。エンジン42の排気経路46には排気の熱を熱媒に熱交換する排気熱交換機48が備えられ、排熱回収経路50には排熱回収熱交換機52および余剰電力ヒータ54が設置されている。排熱回収熱交換機52は、エンジン42の冷媒に吸収させた熱を熱媒に熱交換する。余剰電力ヒータ54は、分散型電源装置2から余剰電力の供給を受け、熱媒を加熱する。
【0032】
図3は制御部22で実現される機能の一例を示している。既述のとおり、制御部22はコンピュータで構成されているので、このコンピュータの実行により周波数検出手段56、出力周波数決定手段58、出力電流制御手段60、周期タイマ62および単独運転検出部64が構成される。
【0033】
周波数検出手段56は、既述のAD変換器28およびプロセッサ24により構成され、系統電圧の周波数を検出する。検出した周波数は出力周波数決定手段58に加えられる。出力周波数決定手段58は、プロセッサ24およびクロック発振器36で構成され、単独運転検出部64からの能動信号を受け、出力電流に付与すべき周波数を決定し、決定した周波数を出力電流制御手段60に加える。
【0034】
出力電流制御手段60はAD変換器28およびプロセッサ24で構成され、系統電圧、出力電流および出力周波数により、周波数を重畳した制御信号をFETブリッジ回路16に加える。
【0035】
周期タイマ62はプロセッサ24およびクロック発振器36で構成され、一定周期を表す周期信号を発生する。この周期信号は単独運転検出部64に加えられる。
【0036】
この単独運転検出部64はプロセッサ24、RAM34で構成され、系統電圧から検出された周波数により単独運転であるか否かを検出し、その検出に応じた制御情報を発生する。このため、この単独運転検出部64には単独運転判定手段66および能動信号決定手段68を備えている。
【0037】
単独運転判定手段66は、検出周波数により単独運転であるか否かの判定を行ない、単独運転であれば、開閉器20を開く制御信号を開閉器20に出力する。この単独運転判定手段66の判定結果は能動信号決定手段68に加えられ、単独運転でなければ、能動信号決定手段68が並列運転時に能動信号を出力し、出力周波数決定手段58に出力する。
【0038】
〔FETブリッジ回路16、フィルタ18および開閉器20〕
【0039】
図4は既述のインバータ部を示している。
図4に示す構成は一例であり、斯かる構成に本発明が限定されるものではない。
【0040】
FETブリッジ回路16はFET70、72、74、76で構成され、FET70、74で直列回路、FET72、76で直列回路が構成されている。FET70、76のゲートの共通化、FET74、72のゲートの共通化により、制御部22からスイッチング制御信号が加えられ、直流入力から交流出力として1相出力が生成され、フィルタ18に加えられる。
【0041】
フィルタ18はチョークコイル78、80およびコンデンサ82で構成され、不要成分が取り除かれる。このフィルタ18の出力部には電流検出部84が設置され、この電流検出部84から分散型電源装置2の出力電流が検出される。
【0042】
開閉器20は開閉手段の一例として電磁開閉器で構成され、各相毎に接点86、88が設置されている。各接点86、88を開閉する手段として電磁ソレノイド90が備えられている。この電磁ソレノイド90に対する励磁電流は制御部22により供給され、制御される。
【0043】
開閉器20の商用電源系統側には系統電圧を検出するための電圧検出部92が設置されている。この電圧検出部92には、商用電源系統10が停電している場合、分散型電源装置2の出力電圧が検出される。
【0044】
開閉器20にはフィルタを構成するコンデンサ94、96を介して負荷6および商用電源系統10が接続されている。コンデンサ94、96は中点接続され、その中点は商用電源系統10側に接続されている。この場合、商用電源系統10側は、単相三線式の交流である。これにより、分散型電源装置2の出力は負荷6に供給される。
【0046】
図5は出力電流の周波数シフト動作を示している。
図5において、(A)は系統電圧の周波数を正方向にシフトした場合、(B)は系統電圧の周波数を負方向にシフトした場合を示している。
【0047】
図5の(A)および(B)において、Vは系統電圧の波形を示す。現在の周波数fに能動信号量(周波数)fe=0.1〔Hz〕を加算(f+0.1)すると、破線で示す出力電流Iの波形は能動信号量fe=0.1〔Hz〕分だけ、周期が短くなる。つまり、出力電流Iの周波数が正方向にシフトし、f=50〔Hz〕の場合、f+0.1=50.1〔Hz〕である。
【0048】
また、現在周波数fに能動信号量(周波数)fe=0.1〔Hz〕を減算(f−0.1)すると、破線で示す出力電流Iの波形は能動信号量fe=0.1〔Hz〕分だけ、周期が長くなる。つまり、出力電流Iの周波数が負方向にシフトし、f=50〔Hz〕の場合、f−0.1=49.9〔Hz〕である。
【0049】
このような周波数シフトは、系統電圧または出力電流のゼロクロス点のレベルから検出することができる。
【0051】
図6はゼロクロスポイントの検出を示している。位相シフトした波形M(VまたはI)について、サンプリングされた波形の極性とそのレベル変化を検出すれば、ゼロクロスポイントPを知ることができる。また、ゼロクロスポイントP間の時間T(波形の周期)はサンプリング周波数を基準にクロック信号をカウントすることにより求めることができる。この時間Tにより、現在周波数fを検出できる。
【0052】
〔周波数検出カウンタおよび平均周波数算出〕
【0053】
RAM34には
図7に示すように、配列A、配列Bおよび配列C(
図17)が構成され、配列Bは能動信号方向と同一方向に変化した回数を数える手段として周波数正方向発散カウンタ98は同一方向に変化しなかった回数を数える手段として周波数負方向発散カウンタ100とを備えている。
【0055】
周波数シフトおよびその検出は、出力電流目標値に能動信号周波数としてたとえば、周波数±0.1〔Hz〕の周波数バイアスを付加し、商用電源系統10の停電時に現れる周波数変化を検出する。この周波数変化の多寡により、解列か否かを判断する。この周波数シフトおよびその検出について
図8、
図9、
図10、
図11、
図12、
図13、
図14および
図15を参照する。
【0056】
図8は基準周波数=50〔Hz〕の場合の周波数シフトの一例を示している。この実施の形態では加算する能動信号周波数としてたとえば、0.1〔Hz〕を設定している。
図8の(A)は横軸に経過時間t、縦軸に周波数を設定することにより現在周波数fおよび目標出力周波数foutを示し、
図8の(B)はサンプリングタイミングを示している。
【0057】
この実施の形態では、サンプリングタイミングを100〔msec〕に設定するとともに、周波数シフトタイミングをサンプリングタイミングの3倍の時間300〔msec〕に設定している。
【0058】
この例では、現在周波数fを一定と仮定し、この現在周波数fに能動信号周波数0.1〔Hz〕を加算し、または減算して目標出力周波数foutとしている。つまり、目標出力周波数foutは、300〔msec〕毎に0.1〔Hz〕の加算期間t
1 と減算期間t
2 とが交互に到来し、現在周波数fに対し、加算期間t
1 ではfout=f+0.1=50.1〔Hz〕となり、減算期間t2ではfout=f−0.1=49.9〔Hz〕が得られている。
【0059】
図9の(A)は現在周波数の周波数変化および能動信号周波数の固定の一例を示し、
図9の(B)はサンプリングタイミングを示している。この例では、能動信号の周波数が上昇方向にある加算期間t1において、現在周波数が増加傾向を示している。この現在周波数が一定の周波数閾値として0.05〔Hz〕以上上昇した場合、その時点から一定時間の固定時間t
fix を設定する。この実施の形態では固定時間t
fix =1.2〔秒〕とし、この固定時間t
fix で能動信号の上昇方向を固定し、現在周波数の増加傾向を監視する。
図9の(A)において、f
ave は平均周波数を示している。そして、固定時間t
fix の経過後、能動信号周波数の減算期間t2に移行している。
【0060】
図10の(A)は他の現在周波数の周波数変化および能動信号周波数の固定の一例を示し、
図10の(B)はサンプリングタイミングを示している。この例では、能動信号の周波数が減少方向にある減算期間t2において、現在周波数が増加傾向を示している。この現在周波数が既述の周波数閾値として0.05〔Hz〕以上が上昇した場合、その時点から一定時間の固定時間t
fix を設定する。この実施の形態では固定時間t
fix =1.2〔秒〕とし、この固定時間t
fix で能動信号の増加方向を固定し、現在周波数の増加傾向を監視する。
図10の(A)において、f
ave は平均周波数を示している。そして、固定時間t
fix の経過後、能動信号周波数の減算期間t2に移行している。
【0061】
図11の(A)は現在周波数および目標出力周波数の周波数変化の一例を示し、
図11の(B)はサンプリングタイミングを示している。この例では、現在周波数に合わせて目標出力周波数が変化することを示している。
【0062】
図12の(A)は現在周波数および目標出力周波数の周波数変化、
図12の(B)はサンプリングタイミング、
図12の(C)は周波数正方向発散カウンタ98の計数値の増加を示している。
【0063】
この例では、周波数の増加期間から目標出力周波数および現在周波数が増加しており、その周波数が既述の0.05〔Hz〕以上上昇した時点から周波数の上昇を固定している。
【0064】
この場合、周波数正方向発散カウンタ98は、
図12の(C)に示すように、サンプリングタイミングを計数タイミングとしてクロック信号を計数する。この計数値が所定値としてたとえば、6に到達したとき、単独運転であると判定し、警報器37に単独運転であることを表すアラームを発生させる。
【0065】
図13の(A)は現在周波数および目標出力周波数の周波数変化、
図13の(B)はサンプリングタイミング、
図13の(C)は周波数正方向発散カウンタ98の計数値の増加、
図13の(D)は周波数負方向発散カウンタ100の計数値を示している。
【0066】
この例では、周波数の増加期間から目標出力周波数および現在周波数が増加しており、その周波数が既述の0.05〔Hz〕以上上昇した時点から周波数の上昇を固定している。
【0067】
周波数上昇の固定期間において、現在周波数および目標出力周波数の増加を停止している区間が生じ、この区間を超えた時点から現在周波数と目標出力周波数との周波数変移は0.2〔Hz〕となっている。この場合、周波数負方向発散カウンタ100の計数値は、周波数正方向発散カウンタ98の計数値1〜3の区間で0となり、周波数正方向発散カウンタ98の計数値4〜6の区間で1となる。
【0068】
この場合、周波数正方向発散カウンタ98は、
図13の(C)に示すように、サンプリングタイミングを計数タイミングとしてクロック信号を計数するので、この計数値が所定値としてたとえば、6に到達したとき、単独運転であると判定し、警報器37に単独運転であることを表すアラームを発生させる。
【0069】
同様に、
図14の(A)および
図15の(A)は現在周波数および目標出力周波数の周波数変化、
図14の(B)および
図15の(B)はサンプリングタイミング、
図14の(C)および
図15の(C)は周波数正方向発散カウンタ98の計数値の増加、
図14の(D)および
図15の(D)は周波数負方向発散カウンタ100の計数値を示している。
【0070】
図14の例では、周波数の上昇固定期間内で、周波数が一定または増加を示し、上昇後、減少に転じている。この場合、周波数低下固定の状態に移行しても、周波数正方向発散カウンタ98は、
図14の(C)に示すように、サンプリングタイミングを計数タイミングとしてクロック信号を計数するので、この計数値が所定値としてたとえば、6に到達したとき、単独運転であると判定し、警報器37に単独運転であることを表すアラームを発生させる。
【0071】
これに対し、
図15の例では、周波数の上昇固定期間を経過すると、周波数低下状態の固定期間に移行している。300〔msec〕前の周波数と比べ、差が0.05〔Hz〕未満なので、正方向発散カウンタが“−1”されて“4”になる。このため、単独運転とは判断されず、警報器37による単独運転を表すアラームの発生はない。この場合、周波数負方向発散カウンタ100の計数値は、周波数正方向発散カウンタ98の計数値1〜3の区間で0となり、周波数正方向発散カウンタ98の計数値4、5、4の区間で1、2、3にインクリメントしている。
【0072】
そして、
図16はこれらの処理手順を示している。この処理手順では、現在周波数fに対し、±0.1〔Hz〕の周波数変化(能動信号)を与え、目標出力周波数foutを決定する(S11:
図8、
図11)。能動信号は300〔msec〕毎に方向を切り替える(S12:
図8)。100〔msec〕毎に現在周波数と平均周波数をサンプリングする(S13:
図8)。
【0073】
現在周波数と平均周波数とを比較し、周波数差が0.05〔Hz〕以上であれば、周波数が発散するように能動信号を周波数上昇方向に1.2〔秒〕間固定する(S14:
図9、
図10)。同様に、現在周波数と平均周波数とを比較し、周波数差が0.05〔Hz〕以下であれば、周波数が発散するように能動信号を周波数低下方向に1.2〔秒〕間固定する(S15)
【0074】
1.2〔秒〕経過後、300〔msec〕毎に方向を切り替える(S16:
図9、
図10)。上昇方向固定中、現在周波数が100〔msec〕前の値よりも上昇していれば、周波数正方向発散カウンタ98の計数値を+1する(S17:
図12)。上昇方向固定中、現在周波数が100〔msec〕前の値よりも上昇していなければ、周波数負方向発散カウンタ98を+1する(S17:
図13)。また、低下方向固定中、現在周波数が100〔msec〕前の値よりも上昇していれば、周波数正方向発散カウンタ98の計数値を+1する(S18:
図12)。低下方向固定中、現在周波数が100〔msec〕前の値よりも上昇していなければ、周波数負方向発散カウンタ100を+1する(S18:
図13)。
【0075】
周波数正方向発散カウンタ98の計数値が“6”にカウントされたら、単独運転能動検出アラームとする(S19:
図12)。
【0076】
周波数負方向発散カウンタ100の計数値が“1”にカウントされたら、能動信号を±0.2〔Hz〕に増加し、周波数正方向発散カウンタ98を+1する(S20:
図13)。
【0077】
周波数負方向発散カウンタ100の計数値が“2”または“4”にカウントされたら、固定方向を逆転させ、周波数正方向発散カウンタ98を+1する(S21:
図14)。周波数正方向発散カウンタ98と周波数負方向発散カウンタ100は固定時間1.2〔秒〕経過後に0にリセットする(S22)。
【0078】
周波数正方向発散カウンタ98の計数値が“5”以上に到達すれば、現在周波数fと300〔msec〕前の周波数との差が0.05〔Hz〕未満ならば、周波数正方向発散カウンタ98を−1にする(S23:
図15)。
【0080】
図17は既述の配列Bおよび配列Cを用いた平均周波数の算出例を示している。
図17において、各記号は、
f
n : 現在周波数f
f
n -1 : 1サイクル前の周波数f
f
n -2 : 2サイクル前の周波数f
・
・
・
f
n -79 : 79サイクル前の周波数f
f
ave ’
m : f
n -79 〜f
n -70 の平均値
f
ave ’
m-1 : 200〔msec〕前の平均値f
ave ’
f
ave ’
m-2 : 400〔msec〕前の平均値f
ave ’
である。
【0081】
配列Bおよび配列Cは既述の通り、RAM34に設定され、配列Bには記憶番号No.1〜No.80の80個の記憶欄が設定されている。各記憶欄には記憶値f
n が格納される。
【0082】
この記憶値f
n から10個の記憶値f
n-79〜f
n-70が抽出され、平均値f
ave ’が算出される。この平均サブ周波数f
ave ’を200〔msec〕毎に取り込む。取り込んだ平均サブ周波数f
ave ’は配列Cに格納される。この平均サブ周波数f
ave ’は、f
n -79 〜f
n -70 の平均値、200〔msec〕前の平均値f
ave ’、400〔msec〕前の平均値f
ave ’の3つである。
【0083】
そこで、配列Cには記憶番号No.1〜No.3の3個の記憶欄が設定されており、3個の平均サブ周波数f
ave ’
m-2 、f
ave ’
m-1 、f
ave ’
m が格納される。これら3個の記憶値から平均周波数f
ave が算出される。この平均周波数f
ave の算出に配列Bに示すように、所定数の記憶値としてたとえば、80個の記憶値を用いているので、周波数の変化に一定値以上の遅延を持たせることができ、短時間での変動誤差や、単独運転の検出誤差を回避できる。
【0084】
この平均周波数f
ave の検出の処理手順について
図18を参照する。
図18は周波数検出の処理手順を示している。
【0085】
この周波数検出の処理手順は本発明の制御プログラムおよび制御方法の一例であって、この処理手順において、処理に用いられる各データは次のとおりである。
【0086】
t: アップクロスからの経過時間
T: 系統電圧1サイクル時間
A: 1サイクル時間保持用配列(12個分まで)
T
ave : 1サイクル時間平均値
T
max : 配列Aに記憶されている値の最大値
T
min : 配列Aに記憶されている値の最小値
T
sum : 配列Aに記憶されている値の合計値
f: 現在周波数
B: 現在周波数保持用配列(80個分まで)
f
ave ’: 配列Bに記憶されている値のうち1〜10番目に古い値の平均値
f
ave : 平均周波数
C:f
ave ’ 保持用配列(3個分まで)
【0087】
この処理手順では、周波数検出に当たって、系統電圧値を取得する(S31)。この系統電圧値の取得では経過時間のカウント(t←t+1)を行い(S32)、このカウントは現在時刻を表すカウント値をインクリメントする。
【0088】
アップクロスを検出したか否かを判断する(S33)。アップクロスであれば(S33のYES)、1サイクル時間の確定を行う(S34)。このステップではT←t 経過時間のリセットt←0を行う。
【0089】
系統電圧1サイクル時間Tを記憶手段の配列Aに記憶する(ステップS35)。この記憶処理にはデータ更新を行い、つまり、最も古いデータを破棄し、過去12個分まで保持する処理を行う。
【0090】
配列Aに記憶されている12個分のデータから1サイクル時間の平均値T
ave を求める(S36)。この平均値T
ave は最大値および最小値を除いた残りの10個の時間データの平均である。この平均値T
ave は、
T
ave =(T
Sum −T
max −T
min )÷10 ・・・(1)
より求める。
【0091】
この平均値T
ave を用いて現在の系統周波数を算出する(S37)。現在の系統周波数fは、平均値T
ave の逆数であり、
f=1/T
ave ・・・(2)
から求められる。
【0092】
現在周波数fを配列Bに記憶する(S38)。この記憶処理にはデータ更新を行ない、つまり、最も古いデータを破棄し、過去80個分まで保持する。
【0093】
配列Bに記憶されている80個分のうち、最も古い方から10個のデータについての平均値f
ave ’を求める(S39)。この平均値f
ave ’は、1番古いデータから10番目に古いデータまでの平均である。
【0094】
さらに、平均値f
ave が算出周期であるか否かを判断する(S40)。平均値f
ave が算出周期であれば(S40のYES)、この平均値f
ave ’を配列Cに記憶する(S41)。この記憶処理では最も古いデータを破棄し、過去3個分まで保持する。
【0095】
そして、配列Cに記憶されている3個のデータから平均値f
ave を決定する(S42)。この場合、配列Cにあるデータから最大値と最小値を除いて残った1つのデータをf
ave に決定し、ステップS31にリターンする。
【0096】
ステップS40において、平均値f
ave が算出周期でなければ(S40のNO)、ステップS31にリターンし、系統電圧値を取得し、上記の処理手順を実行する。
【0098】
図19は、基本動作の処理手順を示している。この処理手順は本発明の制御プログラムおよび制御方法の一例であって、この処理手順では、電源投入の後、イニシャライズを行ない(S101)、動作指示の有無を監視する(S102)。動作指示があれば(S102のYES)、動作指示が発電であるか否かを判断する(S103)。動作指示が発電であれば(S103のYES)、現在の状態が発電および並列中であるかを判断する(S104)。
【0099】
発電および並列中でなければ(S104のNO)、再連系待機時間が経過しているか否かを判断し(S105)、再連系待機時間が経過していれば(S105のYES)、発電および並列を開始し(S106)、ステップS102に戻る。
【0100】
ステップS102において、動作指示がなければ(S102のNO)、現在の状態が発電および並列中であるかを判断する(S107)。発電および並列中であれば(S107のYES)、発電および並列を継続し(S108)、ステップS102に戻る。
【0101】
ステップS107において、発電および並列中でなければ(S107のNO)、解列中であるから、その解列を継続し(S109)、ステップS102に戻る。
【0102】
また、ステップS103において、動作指示が発電でなければ(S103のNO)、その動作指示に対する処理を実行し(S110)、ステップS102に戻る。
【0104】
図20、
図21および
図22は、周波数シフトの処理手順を示している。この処理手順は、
図8〜15におけるサンプリングタイミング(例えば100〔ms〕毎)に実行される。
図20、
図21および
図22中のA、Bはフローチャート間の連結子を示している。
【0105】
この処理手順では、解列中であるか否かを判断し(S111)、解列中であれば(S111のYES)、周波数正方向発散カウンタ98、周波数負方向発散カウンタ100のそれぞれをリセット(a←0、b←0)するとともに、能動信号方向固定フラグをOFFとし、能動信号量feを0.1〔Hz〕に戻し(S112)、この処理を終了する。能動信号方向固定フラグのOFFは、一定周期で能動信号方向を切り替えることを意味している。
【0106】
解列中でなければ(S111のNO)、現在周波数fを検出し(S113)、能動信号方向固定フラグがONであるか否かを判断する(S114)。この場合、能動信号方向固定フラグのONは、一定周期で能動信号方向を切り替えないことを意味している。この能動信号固定フラグがONであれば(S114のYES)、現在周波数fが能動信号方向に変化した否かを判断する(S115)。
【0107】
現在周波数fが能動信号方向に変化した場合には(S115のYES)、a←a+1にインクリメントし(S116)、aが所定値たとえば、5以上であるか否かを判断する(S117)。
【0108】
aが所定値たとえば、5以上であれば(S117のYES)、現在周波数fが一定値以上発散したか否かを判断する(S118)。現在周波数fが一定値以上発散していれば(S118のYES)、a=6であるか否かを判断する(S119)。現在周波数fが一定値以上発散していなければ(S118のNO)、周波数正方向発散カウンタ98のカウント値aをa←a−1にディクリメントする(S120)。
【0109】
周波数正方向発散カウンタ98のカウント値aが“5”以上でない(S117のNO)、またはa←a−1にディクリメントの後(S120)、またはa≠6(S119のNO)の何れかであれば、能動信号として+feまたは−feを記憶し、この処理を終了する。また、a=6(S119のYES)であれば、解列とし(S122)、この処理を終了する。
【0110】
能動信号固定フラグがONでなければ(S114のNO)、現在周波数fから平均周波数f
ave を減算した値が所定周波数範囲±0.05〔Hz〕以上か否かを判断する(S123)。f−f
ave が±0.05〔Hz〕以上であれば(S123のYES)、以下の処理を行う(S124)。この場合、周波数変動が+0.05〔Hz〕以上であれば能動信号方向を上昇方向にし、周波数変動が−0.05〔Hz〕以下であれば能動信号方向を低下方向にする。また、能動信号方向固定フラグをONとし、一定時間の計測をスタートする。
【0111】
周波数正方向発散カウンタ98のカウント値aをa←(a+1)にインクリメントし(S125)、能動信号として+feまたは−feを記憶し(S126)、この処理を終了する。
【0112】
f−f
ave が±0.05〔Hz〕以上でなければ(S123のNO)、能動信号方向切替周期であるか否かを判断する(S127)。能動信号方向切替周期であれば(S127のYES)、能動信号方向が上昇方向か否かを判断する(S128)。能動信号方向が上昇方向であれば(S128のYES)、能動信号方向を低下方向にし(S129)、能動信号方向が上昇方向でなければ(S128のNO)、能動信号方向を上昇方向にする(S130)。
【0113】
また、能動信号方向切替周期でなければ(S127のNO)、既述したように能動信号として+feまたは−feを記憶し、(S131)、この処理を終了する。
【0114】
系統周波数fが能動信号方向に変化していなければ(S115のNO)、周波数負方向発散カウンタ100のカウント値bをb←b+1にインクリメントし、能動信号量feを0.2〔Hz〕にする(S132)。
【0115】
周波数負方向発散カウンタ100のカウント値bがb=1であるか否かを判断し(S133)、b=1でなければ(S133のNO)、bがb=2またはb=4のいずれかであるか否かを判断する(S134)。
【0116】
bがb=2またはb=4のいずれかであれば(S134のYES)、能動信号方向が上昇方向か否かを判断する(S135)。能動信号方向が上昇方向であれば(S135のYES)、能動信号方向を低下方向にし(S136)、能動信号方向が上昇方向でなければ(S135のNO)、能動信号方向を上昇方向にする(S137)。
【0117】
a←a+1にインクリメントし(S138)、aが所定値たとえば、5以上であるか否かを判断する(S139)。S133において、b=1(S133のYES)の場合も同様である。
【0118】
aが所定値としてたとえば、5以上であれば(S139のYES)、現在周波数fが一定値以上発散したか否かを判断する(S140)。現在周波数fが一定値以上発散していれば(S140のYES)、a=6であるか否かを判断する(S141)。現在周波数fが一定値以上発散していなければ(S140のNO)、周波数正方向発散カウンタ98のカウント値aをa←a−1にディクリメントする(S142)。
【0119】
周波数正方向発散カウンタ98のカウント値aが5以上でない(S139のNO)、またはa←a−1にディクリメントの後(S142)、またはa≠6(S141のNO)の何れかであれば、能動信号として+feまたは−feを記憶し(S143)、この処理を終了する。また、a=6(S141のYES)であれば、解列とし(S144)、この処理を終了する。
【0120】
bがb=2またはb=4のいずれでもない場合(S134のNO)、一定時間の経過を判断し(S145)、一定時間が経過すれば(S145のYES)、能動信号方向固定フラグをOFFとし、能動信号量feを0.1〔Hz〕に戻す(S146)。この処理の後または一定時間が経過していなければ(S145のNO)、既述のように能動信号として+feまたは−feを記憶し(S147)、この処理を終了する。
【0122】
図23は周期処理の他の実施の形態を示している。この処理手順では1〔msec〕を単位とする周期処理を行う。
【0123】
この処理手順では、ゼロクロス検出フラグがONしているか否かを判定し(S201)、ゼロクロス検出フラグがONであれば(S201のYES)、ゼロクロス検出フラグクリアとし(S202)、100〔μsec〕の割り込み回数を配列Aに保存する(S203)。割込み回数×100〔μsec〕により、系統電圧1サイクル時間Tを求めることができる。
【0124】
過去12回分の周波数検出のうち、最大値、最小値をカットした残りの10回分の100〔μsec〕の割り込み回数の合計値を算出する(S204)。この割込み回数合計値は、1サイクル時間平均値T
ave に相当する。割り込み回数の合計値より現在周波数を算出する(S205)。そして、割り込み回数の合計値より位相加算量を算出し(S206)、この処理を終了する。
【0125】
ステップS201において、ゼロクロス検出フラグがONでなければ、この処理を終了する。
【0126】
また、
図24は周期処理の他の実施の形態を示している。この処理手順では100〔μsec〕を単位とする周期処理を行う。
【0127】
この処理手順では、100〔μsec〕割り込み回数を+1する(S211)。これはアップクロスからの経過時間をカウントしていることに相当する。現在位相更新処理を行う(S212)。この現在位相更新処理では、(1)位相加算量を加え、(2)
図20〜22の周波数処理により決められた能動信号を加える。
【0128】
そして、系統電圧値を取得し(S213)、ダウンクロス検出済みか否かを判定する(S214)。ダウンクロスが検出済みであれば(S214のYES)、系統電圧が4回連続でプラス値であるか否かを判定する(S215)。
【0129】
系統電圧が4回連続でプラス値であれば(S215のYES)、ダウンクロス検出未にし(S216)、ゼロクロス検出フラグをONにする(S217)。100〔μsec〕割り込み回数をRAM34のバッファに保存し(S218)、100〔μsec〕割り込み回数を0クリアにし(S219)、位相をリセットし(S220)、この処理を終了する。
【0130】
また、ステップS214において、ダウンクロスが検出済みでなければ(S214のNO)、系統電圧が4回連続でマイナス値であるか否かを判定する(S221)。系統電圧が4回連続でマイナス値であれば(S221のYES)、ダウンクロス検出済みにし(S222)、この処理を終了する。
【0131】
ステップS215において、系統電圧が4回連続でプラス値でなければ(S215のNO)、また、ステップS221において、系統電圧が4回連続でマイナス値でなければ(S221のNO)、この処理を終了する。
【0132】
このような処理手順を用いても、上記実施の形態と同様の分散型電源装置、その制御プログラムおよびその制御方法の処理を行うことができる。
【0134】
(1) 上記実施の形態では周波数変動を求めるためのデータ構造の一例として配列を示したが、周波数変動を求めるデータ構造は配列以外であってもよい。
【0135】
(2) 配列A、配列Bおよび配列CはRAM34に格納しているが、電源遮断時、最終データをRAM34からEEPROM32に格納し、スタート時にEEPROM32にあるデータを初期値として用いてもよい。
【0136】
以上説明したように、本発明の最も好ましい実施の形態等について説明したが、本発明は、上記記載に限定されるものではなく、特許請求の範囲に記載され、又は明細書に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。