太陽光パネルとリチウムバッテリーを組み合わせた離網システムの充電モデルについて説明します。このモデルは直流電圧を安定化し、最大電力点追跡(MPPT)アルゴリズムとBoostコンバータを活用しています。
太陽光パネルの出力特性は温度や照度の変化に影響されやすく、出力電力が不安定です。このため、擾動観察法を用いたMPPTアルゴリズムを採用しています。以下は擾動観察法を実装した例です:
// MPPT制御(擾動観察法)
float mppt_control(float V_panel, float I_panel) {
static float prev_power = 0.0;
static float target_voltage = 36.0; // 初期値
float current_power = V_panel * I_panel;
float perturb = current_power > prev_power ? 0.6 : -0.6;
target_voltage += perturb;
prev_power = current_power;
return constrain(target_voltage, 30.0, 45.0); // 安全範囲制限
}
この制御はARM Cortex-Mプロセッサで動作し、擾動量(0.6V)とサンプリング間隔(200ms)が太陽光パネルのIV特性を考慮して決定されています。800W級の太陽光パネルでは、この設定で97%以上の追跡効率を実現しています。
Boostコンバータは電圧安定化の核です。PWM Duty比は外側の電圧ループによって制御されます。以下はBoost回路の設計パラメータです:
% Boostコンバータ設計パラメータ
Vin_min = 30; % 最小入力電圧
Vout = 48; % 目標出力電圧
f_sw = 20e3; % スイッチング周波数
% 電流リップルを15%以下に制限
L = (Vin_min^2 * (Vout - Vin_min)) / (0.3 * Vout * f_sw * 150);
L = L * 1.35; % 30%の余裕を考慮
% 電圧リップルを5%以下に制限
C = 150 / (8 * 0.05 * f_sw * Vout);
C = C * 1.4; % 30%の余裕を考慮
この計算に基づき、200μHの理論値に加え30%の余裕をもたせた270μHのインダクターと3300μFの理論値に加え30%の余裕をもたせた4700μFのコンデンサを採用しています。
バッテリーサイドでは電圧ループと電流ループの双ループ制御を採用しています。以下は制御アルゴリズムの例です:
// 電流ループ制御(PI制御)
float current_loop(float I_ref, float I_bat) {
static float integral = 0.0;
const float Kp = 0.7;
const float Ki = 0.04;
float error = I_ref - I_bat;
integral += error * 0.001; // 積分間隔1ms
integral = constrain(integral, -8.0, 8.0); // 積分飽和防止
return Kp * error + Ki * integral;
}
// 電圧ループ制御(PI制御)
float voltage_loop(float V_bat) {
static float integral_v = 0.0;
const float V_ref = 48.0;
const float Kp_v = 2.3;
const float Ki_v = 0.15;
float error_v = V_ref - V_bat;
integral_v += error_v * 0.001;
integral_v = constrain(integral_v, -4.0, 4.0);
return Kp_v * error_v + Ki_v * integral_v; // 電流ループの目標値として使用
}
制御特性の調整ポイントとして、電圧ループの積分ゲイン(Ki_v)を電流ループの積分ゲイン(Ki)よりも小さく設定することでループ間の相互干渉を抑制しています。
システムの安定性は実測データで確認しています:
- 電子ロード突負試験:5Aから15Aへの突然変化時、電圧最低47.2V、300msでの安定化
- 充電/放電切替時:電圧変動ピーク0.7V以下
これらの性能を実現するため、DC-DCコンバータのプリシンクロ制御を採用しています。切替前に出力電圧を47Vに微調整し、安定した状態でのモード切替を可能にしています。