パワーコンディショナの製作実験


はじめに

太陽光発電が本格普及、パネルも安い。オクなんかでも100W級のパネルが数千円程度で入手できたりする。
近い将来、太陽電池の発電コストが既存の電源を凌駕し、一気に普及が進むことになるだろう。
自然エネルギーの増加により需要サイドのスマート化も必須になってくる。
これら将来の技術トレンドを見越し、技術的興味の一環として、小規模系統連携可能なパワコンを自作してみよう。

パワコンとは

基本的には、太陽電池のDC出力を商用電源のACへと変換するDC-ACインバータで、以下のような独特の機能をもっている。
・太陽電池出力を最大限利用するためのMPPT(Maximum Power Point Tracker = 最大電力点追従)制御。
・系統と同期運転を行うための機能(位相、周波数の同期、潮流制御)
・系統保護のための機能(過電圧、周波数異常等による停止)

自作に当たっては技術的興味のほか安全に作れることが必要なので、次のような基本的要件を設定する。

・最大電力200W程度。 (小規模、実験用)
・トランス絶縁方式 (安全確保、商用より絶縁。DC回路の低圧化、低圧部品は種類豊富)
・広範な技術的興味に対応できること(要するに遊べること、これまでにやっていな領域であること)
・秋月+αで調達できる部品でできること etc...

システム構成(案)

少しずつ実験・改良していくために、機能をユニット化したモジュール構成で進めることにする。
上記のブロックはほぼ一対一で基板化する。以下、各ユニットの簡単な説明。

★MAIN CONTROL UNIT

主制御モジュール。以下のような機能を受け持ちます。
・インバータ駆動波形生成、系統同期回路
・周波数カウンタ
・MPPT制御
・その他Webインタフェースなど。将来的には状況をツイートすることも考えられる。

秋月のFPGA評価ボード(Spartan6-LX9 Microboard)に、ソフトコアCPUを入れ、uClinuxを搭載したものです。
(OS搭載作業はこちら。)
インバータ用の波形生成などはカスタムIP(Intellectual Property <> Internet Protocol)として実装しています。
ネット接続したかったので、ネットワークOS搭載は外せないポイントでした。

★DC MEAS UNIT / AC MEAS UNIT

電圧、電流、電力の計測モジュール。
ハード的にはDCもACも全く同じものです。ソフトがちょっと違います。(平均処理か、実効値処理かの違い)
計測結果はI2Cバスでメインユニットから読み出します。

★SYNC DET UNIT

商用交流を波形生成し、同期信号とします。
これをもとに、メインユニットで周波数を調べ、商用と同期したインバータ信号を作ります。

★DC FILTER UNIT / AC FILTER UNIT

コイルとコンデンサ。

開発進捗


★とりあえず開発中のシステム
 100円均一のA4ケースに入れています。

★MAIN UNIT
 FPGAのIOは3.3Vなのですが、外部IOはレベコンを経由して5Vに統一しています。
 I2Cレベコン(PCA9306)、8ビットレベコン(FXMA108)とも、双方向かつ方向制御が不要で非常に便利。
 このような石をかましておくと、外部からおかしな電圧を入れても、FPGAが守られる可能性がぐーんと高くなります。
 実際、オシロのGNDみの虫をコネクタにかましたらショートしてFXMA108を壊しましたがFPGAは助かりました。
 FXMA108は壊れやすいのかもしれません。

 秋月のI2CバスRTCモジュール(RTC-8564NB)を搭載。ドライバ作ってhwclockで時刻セットできるようになりました。

 元々のI2Cドライバにバグが多く、そのためドライバのデバッグが必要で結構めんどう。
 だいぶ良くなりました。両計測ユニットの読み出し、RTCによる時刻セットも出来ています。(^o^)

 Spartan6ボード+レベコン付きキャリーボード+uClinux環境は結構いいかも。
 FPGA+uClinuxですごく色々なことができそう。専用基板化して頒布しようかなぁ...。
 uCなので、IOへの直アクセスができます。ドライバレスでもOK。デバッグ時これは便利です。
 サブプロ化への予感...。

  現在のFPGA使用スライス 1405 / 1430 (98%) Area optimizeで合成していますがギリギリです。

★DC/AC MEAS UNIT
 AC計測はRMS(実効値)応答としています。
 実効値演算はRMSの通り Sqrt( Mean( x(t) ^2) ) という式をPICで演算しています。
 電圧、電流のほか、電力avg( v(t) x i(t) )も演算します。
 電力を瞬時値の平均とするのは、有効電力を計算するためです。
 スカラ化された電圧、電流の積は皮相電力です。

★INVERTER UNIT
 秋月の安いパワーMOS(PJP75N75)、5個350円を使用。
 75V、75A、Ron=11msと優秀なのに、安価です。
 ドライバは光絶縁を兼ねてTLP351を採用。これまた秋月。ちょっと高くて1個100円。

★進捗
 MEAS UNIT, INVERTER UNIT, SYNC UNITはプリント基板化。
 メインユニット ==> ほぼ完成
 AC計測ユニット ==> 完成 (処理負荷の都合、ルート演算をI2C通信側CPUへ移設)
 DC計測ユニット ==> 完成
 同期検出ユニット ==> 完成
 インバータユニット ==> 動作確認 ==> 修正。完成
 ここまでの動作に気をよくして、トランス特注(12/04/30)。(0-10-12V 10A 2回路)。5Aは市販品ありましたが10A 2回路はありません。特注。
 並列にして18V系、直列で36V系に対応します。12Vタップはトランスを将来別の用途で使うための予備。

納品された特注トランス。早かった。(5/2)

 系統連携予備実験失敗。パワーMOS破損しインバータ故障。(12/05/02)
 商用が逆流すると昇圧コンバータ状態になります。それでDC側が高圧になって素子故障したと推定。
 PWMゲイン小、つまり出力設定が小さいと逆流方向になります。また、逆流時の昇圧比が大きくなります。
 小ゲイン→安全と早とちり。設計安全ゲインの導出のほか、ハード的にはDC側に過電圧保護クランプが必要そうだなあ。
 なにぶん、出力回路を電源に接続する!!というのがパワーコンディショナだ。危険性は大きい。

 系統連携成功。(12/05/10)
 位相のずれが大きいと発散する。どんな場合でも発散せず、安定点へもっていくための方策が必要。
 現時点では怖くてその場を離れられない。発散すると大電流が流れます。そのため、小トランス使用。
 1A定格でも8Aくらい流れてトランスが唸るので、すぐ切ります。大トランスはまだ怖くて使用できない。おそらく瞬間的に100Aくらい流れて怖いことが起きます。
 急いで引っこ抜いたプラグで感電。まだ自動停止しないため、プラグ側に100Vが出ています。
 感電は数年ぶりです。

実験

★40Wランプ負荷、単独運転試験
 

煌煌と光る成功の証、なんちゃって。ランプはいかにも動作していることがわかって良い。

ACフィルタのコイルが若干発熱。Power MOS は特にヒートシンクなしですがほとんど発熱せず。Power MOS優秀。
現在、ハイサイドとローサイド切り替えのデッドタイム320ns(12.5MHzを4クロック)です。多すぎるとボディダイオードに流れて発熱。小さいとショートスルーして発熱します。現物を見てもうちょっと追い込めるとは思います。

トランス1次、2次(1次が青CHです)

インバータ回路とFPGA設計を改良したところ、ほぼきれいな正弦波になりました。このくらいなら全く問題ないと思います。
トランス容量不足のため、電圧降下しています。
入力10Vタップ、出力110Vタップ。 それでも 入力11Vに対して、出力76Vです。
低圧側1Aものなので、10VAに対して40W負荷ですからこんなものでしょう。長時間つけているとトランスが焼損してしまいます。
1次にはPWMキャリアの12KHzがかなり乗っていますが、トランスでそこそこフィルタリングされていますね。
ACフィルタは仮です。200uH×2個、2.2uF×2個。
このフィルタの設計はよくわかっていません。AC側のインピーダンスをどう考えればいいんでしょうか。

★外部同期運転試験

商用交流に同期するのを模擬し、 最近買った安価なFGを使って外部同期をかけてみる。
同期はハードだけで実行していますが、周波数の設定にはソフトが介在してます。

CH1 が外部同期信号、 CH2はフィルタ後のAC出力


 50Hz 0deg フィルタの遅延によって5deg位の遅れがある。
 355degシフトさせて、次の波に合わせ込むというねらい。


 60Hz 0 deg
 外部同期信号の周波数を変えると、追従してくる...おもしろい。


 50Hz 90deg
 外部同期に対して、任意の位相偏差設定が可能

★系統連携試験

CH1:AC電圧 CH2:AC電流 M:AC電力(CH1xCH2) CH4:DC電流 CH3:片側のハイサイド駆動信号
AC電力のマイナスはラインへの逆潮流(電力をコンセント側へ送っている)を意味します。

商用との位相差をほぼ0度に設定したもの、電流位相は30度くらい遅れる。
ライン側に16VA(13W)を送り込んでいる。

若干位相を補正。ほぼ力率1と言っていいだろう。
位相補正量は負荷側の虚数成分により変化するはずだ。
商用のPCSでは、力率1となる基準波形(つまりは電圧波形)を目標として、電流フィードバックをかけているようだ。
現時点でそのようなフィードバックはかけていないので、オープンループで調整しなくてはならない。
さらに、電流フィードバックすると負荷状態によらず過電流にならないという大きな利点もある。
そのためには、FPGAにADコンバータを作り込む必要がある。FPGAリソース的に苦しいと思われる。
レベルアップ項目として考えよう。