SimScape热模块学习笔记

SimScape热模块学习笔记


前言

近期着手做关于BMS相关的工作,准备使用Simulink建模方式完成BMS算法,传统的BMS算法大多基于电流积分+OCV查表修正的方法,现在比较新的方式是建立电池的等效电路模型,使用实验方法获取电池动态实验数据,通过Simulink参数估算工具得到等效电路的各个参数,然后使用实验的校验数据对参数进行校验,获得较好的电池模型参数。 Simulink提供了Battery模型(Electrical/Source/Battery(Table-Based)),可以选择最多5阶的RC网络。在学习其电池模型资料时,对于模型中的SimScape热相关模块没搞明白怎么用,度娘上也没有很好的文章可供学习,仔细阅读了Simulink的帮助文件,有了点心得,特做以记录。

本文主要通过Mathworks提供的房屋加热模型示例进行学习,文章的pdf资料,可在这里下载
https://download.csdn.net/download/sonicss/15935022


Mathworks公司提供了2阶RC网络等效电路模型的示例,是初学BMS建模的比较好的学习范例。

图1 Simulink提供的2阶RC网络等效电路模型
注1:MATLAB网址:https://www.mathworks.com/help/physmod/simscape/ug/lithium-battery-cell-two-rc-branch-equivalent-circuit.html
注2:打开该网页后,点击右上角的View MATLAB Command,复制该命令后直接在MATLAB里输入运行即可打开该模型(ssc_lithium_cell_2RC)

双击在这里插入图片描述Controlled Temperature Source模型,点击Help,查看帮助,这是一个通过S脚来控制温度输出的模块,A为输入,B为输出。在帮助文档的下方,看到一个模型实例,是房屋加热系统Heating House System,借助该实例,可以对SimScape进行进一步学习。

图2 Simulink提供的房屋加热系统模型
注1:MATLAB网址:https://www.mathworks.com/help/physmod/simscape/ug/house-heating-system.html?s_tid=srchtitle
注2:打开该网页后,点击右上角的View MATLAB Command,复制该命令后直接在MATLAB里输入运行即可打开该模型(ssc_house_heating_system)

该模型主要由3部分组成,分别是自动调温器(Thermostat),加热器(Heater),房屋热学模型(House Thermal Network)

自动调温器:受Heater Switch开关控制,使用MATLAB语言编写,在使能状态下,室温低于最小阈值,打开调温器进行加热,高于最大阈值,关闭调温器。

加热器:使用Simulink搭建,通过房屋温度,加热器出风口,出风口流量计算出加热器输出的热量。
图3 加热器模型
加热器出风口温度与房间温度之差,通过HeatGain进行运算得到出风口每秒热量,由传递函数变换后输出。
此处拉式变换传递函数为
1 0.5 s + 1 \frac{1}{0.5s+ 1} 0.5s+11
其对应时域函数为
2 e − 2 t 2e^{-2t} 2e2t
注:此处不清楚传递函数如何确定,有清楚的还请多多指教

房屋热学模型:房屋模型由房屋内的空气、屋顶、墙壁、窗户以及外部大气进行热学建模。
图4 房屋热学模型
从左到右依次为:
1:Thermal Mass Air(房屋内的空气热量):(房屋内的空气质量x空气比热容),空气的质量由室内体积x空气密度得到
2:Air-Roof/Wall/Window Convection(空气对屋顶、墙壁和窗户的热对流)
热对流模块
热传输公式:
Q = k ⋅ A ⋅ ( T A − T B ) Q=k·A·(TA-TB) Q=kA(TATB)
k:对流换热系数
A:面积
TA-TB:温差
3:Half Roof/Wall/Window-Air Conduction(一半厚度的屋顶、墙壁和窗户热传导)
热传导模块
热传输公式:
Q = k ⋅ A D ⋅ ( T A − T B ) Q = k·\frac{A}{D}·(TA-TB) Q=kDA(TATB)
k:导热系数
A:面积
D:厚度
TA-TB:温差
4:Thermal Mass Roof/Wall/Window:屋顶、墙壁和窗户的热量
5:Half Roof/Wall/Window-Air Conduction(一半厚度的屋顶、墙壁和窗户热传导)同3
6:Controlled Temperature Source(房屋外大气的温度)

每一个模块,都可以通过查询其帮助文档查看具体公式,我对该模型的理解为:室内的空气,具有一定的热量,该热量通过屋顶、墙壁和窗户与屋外的大气进行热交换

热交换过程就是
1:屋内空气的热量与屋顶、墙壁和窗户通过对流形式进行热交换
2:屋顶、墙壁和窗户内部的热传导和热量存储
3:屋顶、墙壁和窗户与外界大气通过对流形式进行热交换

模型考虑了屋顶、墙壁和窗户本身具有热量存储的能力,所以加了Thermal Mass模型,热交换分为对流和热传导两种形式,其中对流的换热系数与风速是有很大关系的,在模型中取值都不大,参考了百度百科:
https://baike.baidu.com/item/%E5%AF%B9%E6%B5%81%E6%8D%A2%E7%83%AD%E7%B3%BB%E6%95%B0/1001540

对流换热系数的大致量级(单位:W/(m2*K)) [1] :
空气自然对流 5 ~ 25
气体强制对流 20 ~ 300 【原文是20-100,查询了很多资料应该是20-300】
水的自然对流 200 ~1000
水的强制对流 1000 ~ 15000
油类的强制对流 50 ~ 1500
水蒸气的冷凝 5000 ~ 15000
有机蒸汽的冷凝 500 ~ 2000
水的沸腾 2500 ~ 25000

运行该模型,查看示波器的波形
图5 房屋热模型运行结果
注1:紫色曲线:室内温度
黄色曲线:环境温度

在室内温度低于18度时,加热器开始加热,房屋温度升温,到达23度时加热器关闭,屋内热量与外界环境进行热交换,屋内温度逐渐降低,当室内温度低于18度时又进行加热,如此往复。
这里可以看到紫色的波形,其宽度是不一样的,若环境温度较低,其宽度较窄,说明屋内热量散失较快,室内温度下降较快。在室外温度较高时(曲线处于波峰),室内热量散失很小,温度下降很慢。

以下是该模型的初始化代码,各个参数都在该初始化代码中进行赋值(在模型属性->CallBacks->InitFcn里查看)

% Simscape Demo "House Heating System"
max_temp = 23; % Maximum temperature
min_temp = 18; % Minimum temperature
% Walls
% House length = 30 m
lenHouse = 30;
% House width = 10 m
widHouse = 10;
% House height = 4 m
htHouse = 4;
wallArea = 2*lenHouse*htHouse + 2*widHouse*htHouse;
LWall = .2;
wallVolume = wallArea * LWall;
wallDensity = 1920; % kg/m^3
wallMass = wallVolume * wallDensity;
c_wall = 835; % J/kg/K
kWall = 0.038; % Thermal conductivity [W/m/K]
% -------------------------------
% Windows
% Number of windows = 6
numWindows = 6;
% Height of windows = 1 m
htWindows = 1;
% Width of windows = 1 m
widWindows = 1;
windowArea = numWindows*htWindows*widWindows;
LWindow = .01;
windowVolume = windowArea * LWindow;
windowDensity = 2700; % kg/m^3
windowMass = windowVolume * windowDensity;
c_window = 840; % J/kg/K
kWindow = 0.78; % Thermal conductivity [W/m/K]
% -------------------------------
% Roof
% Roof pitch = 40 deg
pitRoof = 40/180/pi;
roofArea = 2*(1/cos(pitRoof/2))*widHouse*lenHouse + tan(pitRoof)*widHouse;
LRoof = 0.2;
roofVolume = roofArea * LRoof;
roofDensity = 32; % Glass fiber
roofMass = roofVolume * roofDensity;
kRoof = 0.038; % Thermal conductivity [W/m/K]
c_roof = 835; % J/kg/K
% -------------------------------
% Convective heat gransfer coefficients (W/M^2/K)
h_A_W = 24; % Air-wall
h_W_Atm = 34; % Wall-atmosphere
h_A_Wnd = 25; % Air-window
h_Wnd_Atm = 32; % Window-atmosphere
h_A_R = 12; % Air-roof
h_R_Atm = 38; % Roof-atmosphere
% -------------------------------
%Air
% Density of air at sea level = 1.2250 kg/m^3
densAir = 1.2250;
% Air mass inside the house
M_air = (lenHouse*widHouse*htHouse+tan(pitRoof)*widHouse*lenHouse)*densAir;
c_air = 1005.4; % cp of air at 273 K [J/(kg*K]
% -------------------------------
% Heater
% The air exiting the heater has a constant temperature which is a heater
% property. THeater = 50 deg C
THeater = 50;
HeaterAirFlow = 1; % Heater air flow rate [kg/s]
% -------------------------------
% Cost of electricity
% Assume the cost of electricity is $0.09 per kilowatt/hour
% Assume all electric energy is transformed to heat energy
% 1 kW-hr = 3.6e6 J
% cost = $0.09 per 3.6e6 J
cost = 0.09/3.6e6;
% -------------------------------
% Initial internal temperatures
TinIC = 20; % deg C

学习完该模型,回过头来再看电池的热模型,就比较容易理解了 ![图6 电池模型](https://img-blog.csdnimg.cn/20210320110049411.png) 环境温度经过可控温度源和热对流模块与电池模型相连 热对流模块的参数分别是cell_area和h_conv cell_area为电池表面积 h_conv为空气中的换热系数,这里取值为5,即认为无风条件

电池模型中Thermal中有2个参数
cell_mass为电池质量
cell_Cp_heat为电池比热容
图7 电池模型运行结果

运行该模型,可以看到电池温度随着电池充电、放电时升高,静置时电池热量与外界环境进行热交换而温度逐渐下降。

随笔:老刀
Email:sos_lxb@sina.com
2021-03-19 杭州

Simscape弹簧模块是一种用于建模和仿真弹簧系统的工具。在物理建模中,弹簧是常见的元件,用于模拟弹性力和变形。Simscape弹簧模块允许用户通过定义弹簧的初始状态、刚度和阻尼等参数,快速创建和配置弹簧模型Simscape弹簧模块的使用非常简便,只需简单地将该模块拖拽至系统中,即可创建一个弹簧元件。通过弹簧的连接接口,可以方便地将其与其他模块进行连接,如质量、摩擦力、其他弹簧等。此外,可以根据具体需求调整弹簧的参数。例如,可以设置刚度参数来调整弹簧的硬度,或设置阻尼参数来模拟阻尼效果。 Simscape弹簧模块不仅可以模拟线性弹簧系统,还可以处理非线性弹簧系统。对于非线性弹簧模型,可以通过定义弹簧的非线性特性,如硬度随变形程度变化、阻尼随速度变化等,来更准确地模拟真实的弹簧系统。 使用Simscape弹簧模块,可以进行各种类型的仿真实验,如弹簧的振动、变形和能量传递等。通过对弹簧模块和其他元件的组合使用,可以构建复杂的物理系统模型,并进行多种场景的仿真测试。 总之,Simscape弹簧模块是一种功能强大、易于使用的工具,能够帮助用户快速建立弹簧系统模型,并进行准确的仿真分析。无论是学习机械工程原理,还是进行工程设计和优化,Simscape弹簧模块都是一个非常有用的工具。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值