0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于simulink搭建安时积分模型

CHANBAEK 来源:熊猫硬件 作者:熊猫硬件 2023-03-10 14:44 次阅读

安时积分法是电池电量计量最基础的方法,今天我们用simulink建模的方式做一个安时积分模型,从而更好地理解安时积分的思想也掌握建模的基础操。

新建文件

打开MATLAB启动simulink新建一个模型文件

poYBAGQK0K-AVb3KAADecILFC0Q247.png

定义变量

和手写代码一样,先定义几个后面要用到的变量,在simulink建模时新建变量用Data Store Memory模块。双击填入要定义的变量名,然后在signal attributes赋初值

pYYBAGQK0MCAXF04AAHkSKVWWEc651.png

pYYBAGQK0NOAQJTYAALSw0rVDxM887.png

如此方法新建四个变量current(电流)初值1000mA、tatol_cap(总容量)初值2Ah、now_cap(当前容量)初值3600、soc(电量);

poYBAGQK0N6AdwRVAABDGyzTFog933.png

当鼠标放置在Data Store Memory模块上时左右两边会出来两个箭头,按住鼠标拖动左边的箭头可以出来Data Store Write也就是写变量给变量写入一个值,拖动右边的箭头可以出来Data Store Read即读出变量的值;

pYYBAGQK0OyAMgGNAACmTQRCqEA906.png

搭建模型

先把current的单位换算成mA用到了gain模块除以1000,时间单位为1累计的电流和当前容量加和用到的add模块再将新值赋给now_cap

poYBAGQK0P6AZIn7AABP_fwin78481.png

对总容量进行单位转换将Ah乘以3600分别用到常数模块和乘法运算模块这样上半部分和下半部分的单位都是As

poYBAGQK0QyAP71vAADYmCFOJ68228.png

最后用当前容量除以总容量就得出了SOC,添加几个显示模块便于验证结果

pYYBAGQK0RuAQeLaAADUgjrMWRM506.png

验证结果

点击设置仿真,由于处理器不是连续系统,处理速度和频率有关因此要设置为定步长,stop time设为1 步长为0.1也就是计算10次

poYBAGQK0SqAQx-RAAJTEpPub0U902.png

运行结果显示当前SOC为50.15%,当前容量是3610由于now_cap的初值3600As也是1Ah加上1A电流对时间10次积分的结果整好是3610,当然改变仿真步长或者时长仿真结果也会发生变化。

poYBAGQK0TiAQ0wrAAE23esHysU570.png

生成代码

进一步设置仿真生成代码,选择tlc文件也是就你要将模型翻译成那种语言

pYYBAGQK0UyAQK-SAAPkSMRHdYs046.png

勾选生成报告,点击生成代码

pYYBAGQK0XGANy4cAAKIPtoP9iE200.png

生成代码的报告

pYYBAGQK0YKAEKb-AAOf8jCVQwE177.png

可以看到生成的代码和我们手动写的代码一样

poYBAGQK0ZqAV89aAARyjCQmExw180.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    175

    文章

    2922

    浏览量

    228440
  • Simulink
    +关注

    关注

    22

    文章

    513

    浏览量

    61564
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47685
  • 电池
    +关注

    关注

    82

    文章

    9811

    浏览量

    123524
  • 安时积分
    +关注

    关注

    0

    文章

    2

    浏览量

    1125
收藏 人收藏

    评论

    相关推荐

    使用LabView SIT工具包链接Simulink模型的方法

    前的模型。在LabView下新建VI,根据你的Simulink模型搭建前面板。搭建好后点工具→→SIT connection manager
    发表于 04-10 14:31

    光伏并网逆变器并联控制的simulink模型搭建

    最近在做逆变器并联控制的仿真,搭建simulink模型都不对,不知坛里有没有朋友做过这个,给我个模型参考参考,谢谢了。
    发表于 04-18 15:11

    如何去搭建Matlab/Simulink

    下针对 TIDSP 的代码......实验八 基于 MATLAB/Simulink 的太阳能电池特性仿真模型初步 NO:20200422 为了搭建模型,首先需要了解太阳能电池的电荷
    发表于 07-07 06:18

    利用Matlab的simulink搭建模型生成C代码

    一、整体思路利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。本文以流水灯建立模型和简单
    发表于 08-04 06:08

    利用Matlab的simulink搭建模型生成C代码

    一、整体思路利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。本文以流水灯建立模型和简单
    发表于 08-10 07:49

    Simulink模型生成代码

    Simulink模型搭建3.2 代码生成配置3.3 STM32工程搭建3.4 STM32的main.c文件修改3.4.
    发表于 08-11 07:56

    利用MATLAB的simulink建立仿真模型

    利用MATLAB的simulink建立仿真模型,与stm32cubemx搭建数据链,通过simulink搭建
    发表于 08-17 07:11

    THS系统的车辆平台Simulink模型搭建

    比增程控制要复杂的多,这一块后面再讲;车辆平台部分需要简单修改下,增加一个变速箱(THS)的模型。今天,我们从THS系统的车辆平台Simulink模型搭建开始。THS系统结构丰田从19
    发表于 08-27 07:59

    永磁同步电机simulink模型搭建

    永磁同步电机simulink模型搭建1、总搭建模型2、各搭建模块2.1永磁电机模块一共六个输出,分别是转速,位置(角度),转矩,三相电流。2
    发表于 08-27 06:26

    如何借助Simulink搭建一个简单的仿真模型

    如何借助Simulink搭建一个简单的仿真模型
    发表于 10-13 06:32

    如何搭建simulink模型

    如何搭建simulink模型?EPS系统的工作原理是什么?
    发表于 10-20 07:44

    二相混合式步进电机simulink仿真模型怎么搭建

    二相混合式步进电机simulink仿真模型怎么搭建
    发表于 10-28 07:53

    simulink搭建逆变器仿真模型

    逆变器仿真。 在simulink搭建了逆变器仿真模型,采用电压电流双闭环控制,采用LC滤波器,输出电压完美的跟随给定,且THD仅1%。 整个仿真全部离散化,采用离散解析器,控制与采样环节全部自己手工
    发表于 02-28 15:32 4次下载
    在<b class='flag-5'>simulink</b>中<b class='flag-5'>搭建</b>逆变器仿真<b class='flag-5'>模型</b>

    simulink搭建的摩擦模型

    永磁同步电机simulink模型搭建 1、总搭建模型2、各搭建模块2.1永磁电机模块 一共六个输出,分别是转速,位置(角度),转矩,三相电流
    发表于 03-14 09:33 0次下载
    <b class='flag-5'>simulink</b><b class='flag-5'>搭建</b>的摩擦<b class='flag-5'>模型</b>

    如何在Simulink搭建电池模型

    随着特斯拉即将在国内建厂,相信新能源汽车在国内越来越火爆,而电池对于新能源汽车而言,是一个极其重要的部件。今天就来聊一聊,如何在Simulink搭建电池模型
    的头像 发表于 06-28 10:48 1760次阅读
    如何在<b class='flag-5'>Simulink</b>中<b class='flag-5'>搭建</b>电池<b class='flag-5'>模型</b>?