从系列:验证,验证和测试电池管理系统
奇拉格帕特尔,MathWorks公司
本视频演示了如何使用Simulink的金宝app®,的Simscape™,S金宝appimulink的实时™和的Speedgoat实时系统进行硬件在环(HIL)仿真来验证和测试电池管理系统(BMS)。测试实际BMS所有操作及故障场景是耗时的,你可能会发现很难行使BMS的所有条件。与Simulink和的Simscape系统级建模可以模金宝app拟的BMS的控制算法和电池组模型的行为。从该系统模型,可以产生从控制算法和电池组模型,然后可以分别部署到一个微控制器和一个HIL实时系统中,两个C代码。
当你观看这部影片中,您将学习如何:
[HIL部]
在本节中,我们将采取仔细看看硬件在环电池管理系统的测试。
需要对电池管理系统进行大量的端到端测试,包括所有可能的故障情况,以确保系统的行为符合预期。
这样做型式试验的电池管理系统可以非常耗时。例如,您开始测试收费模式功能之前,必须将电池组放电的充电水平适当的状态。
测试完整的充放电循环为一个典型的电动车辆电池组需要数小时。我们谈论的是天值得测试的时候,我们包括温度不同的操作条件,充电状态等参数。
此外,再生设计问题和故障情况是很困难的,涉及到安全方面的考虑。
虽然这样做实际测试的细胞,实现测试自动化,测试排序和报告生成是非常昂贵的,并且需要大量的资源,尤其是当有牵涉到很多的测试设备。
做一个实际的电池组广泛的测试,需要进行最后的系统集成测试和功能测试。但它没有意义做这类测试的每一个软件修改或设计迭代。
在您的设计迭代中实现高度自信的一种方法是针对模拟电池组测试BMS控制器和电子设备。这种针对模拟工厂模型实时测试真实控制器的方法称为“硬件在环”测试。
在HIL测试中,我们先从电池的工厂模型。这是你可能已经用于桌面模拟测试BMS算法模型。
接下来,我们生成从电池模型和编译的C代码成获取由专用实时目标计算机展开并在实时执行的实时应用。
该目标计算机必须具有所需的外围设备的数值转换成物理信号,诸如电池电压和温度。我们的实时计算机与BMS控制器的连接外围设备进行闭环测试。
通过与可编程的一个替代实际的电池组,我们现在可以更高效,更安全地进行软件和电子终端到终端的测试。
现在,有需要我们照顾,才可以做HIL测试BMS控制器几件事情。
首先,我们需要在由BMS控制器所需的步骤时间运行在实时细胞的大型网络的模型。
对于最常见的电池应用,BMS算法得到的100Hz之间执行至500Hz。所以,在实时在1kHz执行我们的电池工厂模型是绰绰有余HIL测试。如果您的电池组串联的少于50个细胞,达到所需的步骤时间可以简单。
第二个挑战与硬件有关。因为我们想要模拟电池的电行为,我们需要有产生隔离电压的方法,并且能够串联或并联它们,就像实际的电池一样。此外,还需要温度传感器模拟和故障模拟。
要了解我们如何可以在Simulink中解决的第一个挑战,让我们来看一个例子模型。金宝app
在此,我们有16个电池模块,每一个具有串联连接的6个细胞的电池模型,使得它总串联连接的96个细胞。每个电池单元块模式的电和热性能。我们使用受控电流源来充放电的电池组。最后,单个电池的电压,温度,组电流和组电压被测量并发送到BMS控制器。
从桌面仿真到实时测试的第一步是选择合适的固定步长求解器。这通常是一个迭代的过程,我们不会在这个网络研讨会上讨论细节。
相反,我建议您访问这个专用网络研讨会上的主题“使用物理系统的实时仿真的Simscape。”
以下在此网络研讨会中描述的步骤后,我们已经选择了本地-求解器对的Simscape网络,并确定一致性的迭代数量为1。这些解算器的设置产生的1mS的步骤时所需的结果。
我们还注意到,对于某些拓扑,“分区”求解器通过减少模拟的计算成本来提高性能。这有助于为桌面模拟和实时测试实现更快的模拟速率。分区求解器将附加的Simscape网络的整个方程组转化为几个较小的通过非线性函数连接的交换线性方程组。由于计算几个较小方程组的解比计算一个大方程组的解更有效,因此计算成本降低了。金宝搏官方网站
现在,求解器名为“分区”可能会导致一些混乱。只是这样说,很明显,该分区求解不分区模型。分区规划求解不会让你拆就多核处理器的型号和运行。还有其他的方法来实现这一目标。金宝appSimulink的实时自动默认时,它是可以充分利用多核处理器。
接下来,让我们实时执行电池模型。
由于时间关系,我已经通过单击Build按钮构建并将应用程序部署到目标计算机上。在目标对象中,我们可以注意到部署到目标机器上的应用程序的名称、应用程序状态、示例时间和其他有用的调试信息。
让我们开始在目标计算机上执行应用程序。在进行模拟的过程中,我们可以观察感兴趣的信号并调整参数。
这种模拟是只有10秒长。一旦它已经结束了,我们可以检查,如果目标计算机能够在1millisecond期望的采样时间来执行模式。
通过检查目标对象,我们可以在这里看到,没有CPU模型执行期间超载报道,和最大的任务执行时间(TET)是在1毫秒好。这使我们对未来增长模型足够的余量。
当你在模型中加入更多的复杂性和细节,这是非常可能的,你可能不能够仅仅通过选择合适的求解器以达到所需的采样时间。在这种情况下,具体到电池的造型,你有几个选项,你可以考虑一下。
第一个选项是选择的电池块的一个权的变体。在这里,你可以看到,通过选择具有较低保真度的变体,您可以轻松地获得在任务执行时间降低10倍。
另一种选择是选择电池单元的低阶动态。这也有助于减少任务执行时间显著。这个增益性能是通过减少保真到来。
现在,如果你的模型复杂度较低或串联电池单元的数量少于50,这很可能是你没有做任何这种优化,实现小于1毫秒的任务执行时间。
正如我们前面所讨论的,这样做HIL测试BMS申请的第二个重要方面是模拟传感器信号和传感器故障。
为了模拟电池电压,Speedgoat提供了电池模拟卡IO991-06。每个电池仿真卡提供6个独立通道。每个通道可以提供高达7V,这使我们能够模拟不同的细胞化学反应。此外,每个通道可以源高达300毫安和下沉高达100毫安。此外,多个I/O模块可以串联或并联组合,以实现所需的功率级别。
除了电池电压仿真,我们需要温度传感器模拟卡和故障插入卡来完成BMS HIL设置。的Speedgoat提供了温度传感器仿真器卡和故障插入各种选项。
在我们的演示中,我们仅使用IO991模拟电池电压。
现在,让我们来看看BMS HIL测试的现场演示。
我们先从一个测试模型,这使我们能够模拟电池和产生的故障情况。
在这里,在这个测试模型中,我们有具有串联连接的6-细胞小电池包。为了模拟故障,我们增加了一个开关,它允许我们短短两个小区的终端没有任何真实的物理后果和测试控制器的响应。我们使用拨动开关组交互注入故障。
受控电流源块被用于模拟的充电或放电电流与滑块的帮助。为了对细胞进行诊断,我们测量两个电池端子间的电压。
测得的电池电压值输入到IO991块中,IO991块将这些数值转换成与单个电池相关的电隔离电压。
IO991-06卡的输出端子板你在这里的背景下,这使得单元电压的物理测量和通信的信息发送到BMS控制器,在这种情况下是德州仪器控制器板看到被连接到电子设备。
上的电池电压BMS控制器进行诊断,并产生在过压或欠压故障或短路的两个端子之间的情况下的故障状态。在这种情况下,在任何故障,并输出它的数字输出端口上的状态的情况下的LED BMS控制器匝。
我们使用IO133数字输入端口从BMS控制器读取故障状态,以检查控制器逻辑是否按要求执行。
现在,让我们继续连接到目标机器。
截至上执行实时这个模型,我们可以一路改变目前的10安培至检查任何的过压故障或-10安培检查来自控制器的任何欠压故障。
我们没有看到任何的错呢。当我们注入了短路故障,我们可以立即通知LED发光控制器板上也看到我们的灯模型从绿色改变颜色为红色,说明有控制器上的故障。
让我们来看看在仿真数据检查的结果对整个实验。我们可以看到在电池电压由于电流变化的微小变化。而电池电压的一个显著下降,因为我们所触发的故障,并查看故障状态的相应变化。
在本次讲座中,我们演示了如何创建大型系统级模型快速设计和测试BMS算法和工程师来自不同的领域,如电子,软件,并利用Simulink作为通用设计平台的热可以合作。金宝app我们还谈到了不同的方法来实时运行大型电池型号做硬件在环测试。最后,我们演示了如何设立BMS应用HIL测试,以及它如何帮助你获得在电池管理系统的设计更有信心。
您还可以选择从下面的列表中的网站:
选择中国网站(中文或英文)以获得最佳网站表现。其他MathWorks国家站点不适合来自您所在位置的访问。
本网站使用Cookies来改善您的用户体验,个性化的内容和广告,并分析网站流量。通过继续使用本网站,您同意我们使用Cookie。请参阅我们的隐私政策要了解更多关于cookie和如何更改设置。