这个例子展示了如何识别超级电容的参数。这个例子并没有从真实的超级电容器中收集电压和电流波形,而是通过使用已知的参数值运行一个超级电容器的模拟来产生电压和电流波形。然后给出了应用参数识别方法[1]对波形进行识别的实例。
为了评估该方法的准确性,本例将识别的参数与已知的参数值进行比较。该示例还展示了如何使用Simulink®Design Optimization™提供的参数估计工具进一步优化参数值。金宝app
要确定一个实际的超级电容的参数,您可以:
从超级电容器收集电压和电流波形。
使用[1]中描述的波形数据和方法识别参数值。
为了识别模型超级电容的参数,下面这个例子:
产生电压和电流波形通过模拟一个模型,它配置使用已知的超级电容参数值。
识别超级电容参数值使用产生的波形数据和在[1]中描述的方法。
使用确定的超级电容参数值配置和模拟超级电容。
为了了解这种方法在真正的超级电容器上是如何工作的,通过比较来评估识别方法的准确性:
使用已知参数值生成的数据和使用确定的参数值生成的数据。
已知参数值和识别参数值。
如果精度不够,您可以使用Simulink Design Optimization中的参数估计工具来改进它。金宝app使用确定的参数值作为优化的起始值。
通过配置和模拟超级电容的固定电阻、固定电容和电压依赖电容增益参数的已知值的模型,生成电压和电流波形。模拟输入电流,配置超级电容的物理特性和自放电电阻使用现实值。
观察超级电容器在三个不同阶段的行为:
恒流充电
费用再分配从直接的分支到延迟的分支
费用再分配从直接和延迟的分支机构到长期的分支机构
%开放模式modelName =“ee_supercapacitor_identification”;open_system (modelName);set_param (find_system (“ee_supercapacitor_identification”,“FindAll”,“上”,“类型”,“注释”,“标签”,“ModelFeatures”),“翻译”,“关闭”)%使用已知参数配置超级电容。%%超级电容块电池特性参数Kv = 190;%电压相关电容增益R = [2.5e-3 0.9 5.2];%固定电阻,[R1 R2 R3]C = [270 100 220];%固定电容,[C1 C2 C3]%存储已知参数值的副本,以便最终进行比较%使用[1]中描述的方法确定的参数值。Kv_known = Kv;R_known = R;C_known = C;%通过配置Step块指定输入电流。%步进块参数stepTime = [40 1900 1917];%的时间步initialValue = [28 0 0];%初始值finalValue = [0 -25 25];%终值%指定超级电容的物理特性。%%超级电容块电池特性和配置参数R_discharge = 9 e3;%自放电电阻N_series = 1;%系列单元数N_parallel = 1;%并行单元格数%模拟持续时间stopTime = 2100;%模拟和存储电压和电流波形数据sim (modelName);t = simlog_ee_supercapacitor_identification.Sensing_current.It.i.series.time;我= simlog_ee_supercapacitor_identification.Sensing_current.It.i.series.values;v = simlog_ee_supercapacitor_identification.Sensing_voltage.V.V.series.values;
利用仿真得到的波形数据,应用[1]中所描述的方法。
在识别的第一阶段,一个完全放电的超级电容器以恒定电流充电。该方法假设直接分支存储所有初始费用,因为分支的时间常数相对较小。
通过测量电荷特性,计算出直接支路参数。一旦充电电流达到稳态、测量和使用
地点:
时间是参数识别事件吗,
端电压为,
充电电流为,
为直接支路的固定电阻,
一旦电压从约、测量和和使用
地点:
时间是参数识别事件吗,
端电压为,
为直接支路的固定电容,
一旦电压达到额定电压,测量和,并关闭充电电流。后,一旦充电电流达到稳态值测量和和使用
地点:
时间是参数识别事件吗,
端电压为,
时间是参数识别事件吗,
端电压为,
为电压相关电容系数,
% n = 1t1 = 20 e - 3;i1 = interp1 (t,我,t1);v1 = interp1 (t, v, t1);国际扶轮= v1 / i1;%提取interp1可以用来查找时间值的充电数据比电压值%[v3, v_max_idx] = max(v);[v_charge, v_charge_idx] = unique(v(1:v_max_idx));t_charge = t (v_charge_idx);% n = 2delta_v = 50 e - 3;v1 + v2 = delta_v;t2 = interp1 (v_charge, t_charge v2);i2 = interp1 (t,我,t2);Ci0 = i2 * (t2-t1) / delta_v;% n = 3t3 = t (v_max_idx);% n = 4delta_t = 20 e - 3;t4 = t3 + delta_t;v4 = interp1 (t, v, t4);Qtotal = i1 * (t4-t1);Cq = Qtotal / v4;Ci1 = (2 / v4) * (Cq-Ci0);
在识别的第二阶段,电荷从直接的分支重新分配到延迟的分支。
通过测量电荷保持特性计算出延迟支路参数。
一旦电压从约、测量和和使用
地点:
时间是参数识别事件吗,
端电压为,
为计算总直接电容时的电压,
总直接电容在,
为延迟支路电阻,
等待300秒,测量和和使用
地点:
时间是参数识别事件吗,
端电压为,
是供给超级电容器的总电荷,
为延迟支路电容,
% n = 5v5 = v4-delta_v;discharge_idx =找到(我< -20 1“第一”);t_discharge = t (v_max_idx: discharge_idx);v_discharge = v (v_max_idx: discharge_idx);t5 = interp1 (v_discharge、t_discharge v5);delta_t = t5-t4;Vci = v4 - (delta_v / 2);Cdiff = Ci0 + Ci1 * Vci;(Rd = (v4) - delta_v / 2) * delta_t / (Cdiff * delta_v);% n = 6TypicallyRdTimesCd = 100;t6 = t5 + 3* typallyrdtimescd;v6 = interp1 (t, v, t6);Cd = (Qtotal / v6) - (Ci0 + ((Ci1/2) * v6));
在识别的第三阶段,也是最后阶段,费用从当前和延迟的部门重新分配到长期部门。
长期支路参数是通过测量电荷保持特性来计算的。
一旦电压从约、测量和和使用
地点:
时间是参数识别事件吗,
端电压为,
为长期分支电阻,
从开始充放电过程开始30分钟后,测量和和使用
地点:
时间是参数识别事件吗,
端电压为,
为长期支路电容,
% n = 7v7 = v6-delta_v;t7 = interp1 (v_discharge、t_discharge v7);delta_t = t7-t6;Vci = v6——(delta_v / 2);Cdiff = Ci0 + Ci1 * Vci;Rl = (v6 (delta_v / 2)) * delta_t / (Cdiff * delta_v);% Rl值大% n = 8t8 = 30 * 60;v8 = interp1 (t, v, t8);Cl = (Qtotal / v8) - (Ci0 + (v8 * Ci1/2)) cd;% Cl值太大
在MATLAB®表格中整理每个参数识别事件的时间和电压数据:
DataTable =表((1:8)”,...[t1 t2 t3 t4 t5 t6 t7 t8]',...[v1 v2 v3 v4 v5 v6 v7 v8]',...“VariableNames”, {“事件”,“时间”,“电压”})% #好< NOPTS >
DataTable = 8x3 table Event Time Voltage _____ _______ ________ 1 0.02 0.071799 2 0.51803 0.1218 3 40 2.2717 4 400.02 2.2019 5 56.675 2.1519 6 356.67 1.8473 7 499.28 1.7973 8 1800 1.5865
使用确定的超级电容参数配置和仿真模型。然后,为了评估识别参数值的准确性,将输出的波形与使用已知参数的仿真生成的数据进行比较。
%创建超级电容块参数使用识别的值和%创建副本以方便参考。Kv = Ci1;R = [Ri Rd Rl];C = [Ci0 Cd Cl];Kv_identified = Kv;R_identified = R;C_identified = C;%模拟模型并存储电压和电流波形。sim (modelName);t_ = simlog_ee_supercapacitor_identification.Sensing_current.It.i.series.time识别;v_ = simlog_ee_supercapacitor_identification.Sensing_voltage.V.V.series.values;用已知参数绘制模拟生成的数据%与由模拟生成的数据相同的轴%的参数。图;情节(t v, DataTable.Time DataTable.Voltage,“o”, t_,识别v_);网格(“上”);传奇(已知的参数仿真的,...“参数识别的测量”,...确定参数模拟的);
先决条件:
金宝appSimulink设计优化许可
如果跟踪的相似程度不足以满足需求,那么确定的参数值可以作为Simulink设计优化中的参数估计工具的初始参数值。金宝app
spetool(“ee_supercapacitor_spesession”);
方法创建的参数轨迹平方误差总和成本函数和非线性最小二乘优化方法。
openfig (“ee_supercapacitor_speresults”);
Zubieta L.和R. Bonert。电力电子应用的双层电容器特性。IEEE Transactions on Industry Applications, Vol. 36, No. 1, 2000, pp. 199-205。