模拟大规模电动车充电行为(Matlab实现)
目录
1 模拟大规模充电汽车充电行为
电动汽车EV(Electric Vehicle)具有清洁环保、高效节能的优点,不仅能缓解化石能源危机,而且能够有效地减少温室气体的排放。2015年10月,国务院发布加快EV充电基础设施建设的指导意见,指出到2020年充电基础设施能满足500万辆EV充电需求,预计未来几年我国EV的保有量将大幅增长。然而,规模化EV的无序充电会加大电网负荷的峰谷差,并对电力系统的规划、配电网的电能质量和经济运行以及稳定性带来显著的影响,反之.对EV的充电行为进行有序优化控制,充分发挥EV作为分布式储能元件的优势,能够实现削峰填谷、平抑可再生能源出力波动的功能,并为电网提供调峰、调频等辅助服务。
下图为大规模EV分散接入配电网的场景示意图。EV的管理框架分为配电网代理商、本地代理商和EV 3个层次。配电网代理商分布在高中压HVIMV(High VoltageMedium Voltage)变电层中,负责配电网的安全稳定控制以及EV的有序协调控制;本地代理商分布在中低压MVLV(Mediuim VoltageLow Voltage)变电层中,负责区域EV充电负荷的管控。充电站连接在配电变压器下,配电变压器下除了EV负荷EVL(EV Load)外,还有常规的居民负荷RL(Residential Load)。
EV进入充电站后,充电智能终端可以获取电池的总容量、荷电状态SoC(State Of Charge)等信息,并通过以太网或专用无线网络提交给本地代理商;用户设置取车时刻以及充电预期荷电状态,充电结束后按实际充电电量向本地代理商支付费用。本地代理商将EV的状态信息和电量需求信息汇集后上传给配电网代理商。配电网代理商采取分时段实时滚动优化的控制策略,当有新的EV接入电网时,更新EV的充电需求信息,执行优化,控制算法,并将充电计划分区下达给各个本地代理商,由本地代理商执行对管控区域内EV的充电控制。
2 Matlab部分代码实现
% m_w_load: 一天中电网各时段负荷平均值,periods_per_day X mean_load
% m_w_charged: 一天中EV各时段充电平均值,periods_per_day X mean_charge
% m_real_trv:一天中EV各时段出行次数平均值,periods_per_day X mean_real_travel
% m_plan_trv:一天中EV各时段计划出行次数平均值,periods_per_day X mean_plan_travel
function [Y, Rmp, Rsc, Rt] = CalIndices(m_w_load, m_w_charged, ...
m_real_trv, m_plan_trv, is_print)
global TOU_EPrice
% W1 + W2 + W3 = 1.0
% W1 * 0.275 = W2 * 0.440 = W3 * 0.975 = Si
%
% Mi = [0.275 0.440 0.975]
% Wi = [0.5455 0.3409 0.1538]
% Si = [0.15 0.15 0.15]
% 指标统计范围 及 权重系数
RAGmp = [0.05 0.25]; RAGsave=[0.15 0.75]; RAGtrip=[0.95 1.0];
Wi = [0.4 0.3 0.3];
% 谷峰比 = 充电谷值/充电峰值
% nWValley = min(m_w_load);
% nWPeak = max(m_w_load);
% Rpv = nWValley / nWPeak;
% 均峰比 = 充电均值/充电峰值
nWMeanLoad = mean(m_w_load);
nWPeakLoad = max(m_w_load);
Rmp = nWMeanLoad / nWPeakLoad;
% 用户节省电费率 = 1 - 实际电费/最高电费
nRealCost = sum(m_w_charged .* TOU_EPrice.day_prices);
nMaxCost = sum(m_w_charged .* max(TOU_EPrice.day_prices));
Rsc = 1 - nRealCost / nMaxCost;
% 顺利出行率 = 实际里程/计划里程
nRealTrv = sum(m_real_trv);
nPlanTrv = sum(m_plan_trv);
Rt = nRealTrv / nPlanTrv;
% Rmp = 0.218;
% Rsc = 0.193;
% Rt = 0.972;
% 综合指标:均峰比,节能率,出行率
Y = Wi(1) * (Rmp - min(RAGmp)) / (max(RAGmp) - min(RAGmp)) + ...
Wi(2) * (Rsc - min(RAGsave)) / (max(RAGsave) - min(RAGsave)) + ...
Wi(3) * (Rt - min(RAGtrip)) / (max(RAGtrip) - min(RAGtrip));
if isnan(Y)
Y = 0.0;
end
% 输出结果
if is_print
fprintf('----电网负荷:峰值= %d 瓦;均值= %d 瓦;均峰比= %f----\n', nWPeakLoad, nWMeanLoad, Rmp);
fprintf('----居民用电费用:实际电费= %f 元;最高电费= %d 元;节省率= %f----\n', nRealCost, nMaxCost, Rsc);
fprintf('----顺利出行情况:实际出行里程= %f 公里;计划出行里程= %d 公里;出行率= %f----\n', nRealTrv, nPlanTrv, Rt);
fprintf('----综合指标:Y= %f----\n', Y);
end
end
% m_w_load: 一天中电网各时段负荷平均值,periods_per_day X mean_load
% m_w_charged: 一天中EV各时段充电平均值,periods_per_day X mean_charge
% m_real_trv:一天中EV各时段出行次数平均值,periods_per_day X mean_real_travel
% m_plan_trv:一天中EV各时段计划出行次数平均值,periods_per_day X mean_plan_travel
function [Y, Rmp, Rsc, Rt] = CalIndices(m_w_load, m_w_charged, ...
m_real_trv, m_plan_trv, is_print)
global TOU_EPrice
% W1 + W2 + W3 = 1.0
% W1 * 0.275 = W2 * 0.440 = W3 * 0.975 = Si
%
% Mi = [0.275 0.440 0.975]
% Wi = [0.5455 0.3409 0.1538]
% Si = [0.15 0.15 0.15]
% 指标统计范围 及 权重系数
RAGmp = [0.05 0.25]; RAGsave=[0.15 0.75]; RAGtrip=[0.95 1.0];
Wi = [0.4 0.3 0.3];
% 谷峰比 = 充电谷值/充电峰值
% nWValley = min(m_w_load);
% nWPeak = max(m_w_load);
% Rpv = nWValley / nWPeak;
% 均峰比 = 充电均值/充电峰值
nWMeanLoad = mean(m_w_load);
nWPeakLoad = max(m_w_load);
Rmp = nWMeanLoad / nWPeakLoad;
% 用户节省电费率 = 1 - 实际电费/最高电费
nRealCost = sum(m_w_charged .* TOU_EPrice.day_prices);
nMaxCost = sum(m_w_charged .* max(TOU_EPrice.day_prices));
Rsc = 1 - nRealCost / nMaxCost;
% 顺利出行率 = 实际里程/计划里程
nRealTrv = sum(m_real_trv);
nPlanTrv = sum(m_plan_trv);
Rt = nRealTrv / nPlanTrv;
% Rmp = 0.218;
% Rsc = 0.193;
% Rt = 0.972;
% 综合指标:均峰比,节能率,出行率
Y = Wi(1) * (Rmp - min(RAGmp)) / (max(RAGmp) - min(RAGmp)) + ...
Wi(2) * (Rsc - min(RAGsave)) / (max(RAGsave) - min(RAGsave)) + ...
Wi(3) * (Rt - min(RAGtrip)) / (max(RAGtrip) - min(RAGtrip));
if isnan(Y)
Y = 0.0;
end
% 输出结果
if is_print
fprintf('----电网负荷:峰值= %d 瓦;均值= %d 瓦;均峰比= %f----\n', nWPeakLoad, nWMeanLoad, Rmp);
fprintf('----居民用电费用:实际电费= %f 元;最高电费= %d 元;节省率= %f----\n', nRealCost, nMaxCost, Rsc);
fprintf('----顺利出行情况:实际出行里程= %f 公里;计划出行里程= %d 公里;出行率= %f----\n', nRealTrv, nPlanTrv, Rt);
fprintf('----综合指标:Y= %f----\n', Y);
end
end
电动汽车EV(Electric Vehicle)具有清洁环保、高效节能的优点,不仅能缓解化石能源危机,而且能够有效地减少温室气体的排放。2015年10月,国务院发布加快EV充电基础设施建设的指导意见,指出到2020年充电基础设施能满足500万辆EV充电需求,预计未来几年我国EV的保有量将大幅增长。然而,规模化EV的无序充电会加大电网负荷的峰谷差,并对电力系统的规划、配电网的电能质量和经济运行以及稳定性带来显著的影响,反之.对EV的充电行为进行有序优化控制,充分发挥EV作为分布式储能元件的优势,能够实现削峰填谷、平抑可再生能源出力波动的功能,并为电网提供调峰、调频等辅助服务。
下图为大规模EV分散接入配电网的场景示意图。EV的管理框架分为配电网代理商、本地代理商和EV 3个层次。配电网代理商分布在高中压HVIMV(High VoltageMedium Voltage)变电层中,负责配电网的安全稳定控制以及EV的有序协调控制;本地代理商分布在中低压MVLV(Mediuim VoltageLow Voltage)变电层中,负责区域EV充电负荷的管控。充电站连接在配电变压器下,配电变压器下除了EV负荷EVL(EV Load)外,还有常规的居民负荷RL(Residential Load)。
3 Matlab代码实现
相关文章
- Matlab中dec2bin函数使用
- Matlab中freqz函数使用
- 分别对比SVD和GMD非码本的预编码以及DFT和TxAA码本预编码的MIMO系统matlab误码率仿真
- 数字调制系统的误码率matlab仿真,对比ASK,FSK和MDPSK
- 基于matlab的精馏塔作业模拟仿真
- 基于模糊规则的金属腐蚀类型判决算法matlab仿真
- 基于kalman滤波的磨损预测算法matlab仿真
- 飞机器减震器的matlab建模和仿真模拟
- 基于MATLAB的多进制LDPC译码算法的仿真
- 用Matlab模拟一个缓冲区大小为10的随机排队系统
- 利用MATLAB软件对板进行结构分析
- MATLAB在经济类线性代数中的应用
- 用MATLAB一直画直线竟然得到了简单的禅绕画,论一直画直线的人有多无聊
- 一个自带简易数据集的模拟线性分类器matlab代码——实验训练
- MatLab GUI Change Size 改变界面大小