电机控制器HIL测试系统:实现高效、安全的硬件在环验证

2023-09-22 10:15:14

图片

电机控制器作为电动机系统的关键组成部分,其应用前景广泛,涵盖新能源汽车、工业自动化、航空航天、能源、医疗器械等领域。随着对环保、自动化和智能化的需求增加,电机控制器将在这些领域中扮演关键角色,为实现可持续发展和智能化生产提供强有力支持。同时,随着技术的不断进步,电机控制器的性能将得到进一步提升,为各行业提供更高效、可靠的解决方案。

 应用背景   

电机控制器的研发涉及到高电压、大电流等关键要素,同时对控制算法的精准性和稳定性要求极高。因此,直接在实际电机台架上进行实验存在诸多风险:

安全风险:电机控制器测试过程涉及高电压、大电流,一旦出现失控或故障,可能导致设备损坏、人身伤害甚至事故。

成本高昂:实际台架实验需要大量的硬件设备和实验场地,成本高昂,同时修复因实验过程中出现的问题也会增加额外开支。

实验精度难保证:实际环境下受到多种外部因素影响,如温度、湿度等,实验结果的准确性和可靠性难以保证。

调试周期长:在实际台架上进行实验,需要反复调试和优化控制算法,周期相对较长,影响了研发进度。

无法模拟极端情况:某些极端情况(如电网故障、过载等)难以在实际台架上模拟,而这些情况对控制器的性能评估非常重要。

无法满足多型号测试需求:由于电机的种类、转矩-速度范围、功率等级和工作场景多样,传统的单一电机测试台架已无法满足多种电机控制器型号的测试要求。

因此,为弥补台架测试的不足,推荐在进行电机控制器的台架测试之前,优先进行硬件在环(HIL)仿真测试。电机控制器HIL测试是一种安全高效的测试方法,通过将实际电机控制器与仿真环境结合,不仅降低了成本和风险,也提升了测试覆盖率和效率。同时,支持多样化的测试需求,为电机控制器的性能和稳定性评估提供了可靠的解决方案,对研发过程方案介绍    

系统基于智能装备仿真测试一体化平台Links-Xil,包括Links-RT实时仿真软件、Links-Box实时仿真机、故障注入单元和FPGA板卡。实时仿真机选用多核高性能版本,匹配自研 FPGA板卡,保证仿真设备运行的稳定可靠。电机驱动电路(逆变器)、电机模型及其传感器模型运行在FPGA芯片上,实现亚微秒级的仿真步长。系统开放模型开发环境,实现模型自定义创建、模型参数在线调整。

图片

开发环境友好:平台基于 MATLAB/Simulink开发,完全开源,白盒交付,方便用户二次修改。

实时性强:基于FPGA和多核高性能实时仿真机可为控制器的开发、测试、优化提供一个高度现实且安全的仿真环境。

多场景覆盖:系统允许模拟多种工况和异常情况,覆盖更广泛的测试场景,验证控制器在各种情况下的稳定性和鲁棒性。

参数优化:系统开放模型开发环境,可以实现模型自定义创建,实时修改参数并观察控制器的响应,帮助开发人员找到最佳参数配置,提高控制器性能。

闭环开发:支持将HIL仿真和台架测试结合,形成开发闭环,确保控制器在仿真和实际环境中的一致性和稳定性。

演示示例    

本测试DEMO基于使用simscape建立simulink数学仿真模型,硬件平台采用了灵思创奇便携式仿真机Links-CUBE Ⅰ,其核心部件采用 Xilinx 公司的 ZYNC 芯片,在单一封装下集成 FPGA 和双核 CPU。二者通过内部高速 AXI 总线进行通讯,极大限度地降低 CPU 对外设的访问时间和数据延时时间。CUBE 提供 8 通道模拟量采集、8 通道模拟量输出、32 通道双向数字量接口、2 通道增量式编码器采集和 8 通道差分数字量输出资源,能够灵活应用于硬件在环仿真测试(HIL)或控制器快速原型(RCP)的设计,系统结构图如下所示:

图片

将上述模型进行拆分,单独拿出simscape建立的逆变器模型。

图片

将仿真模型中的 PMSM电机数学模型单独拆分拿出,并输入电机参数。

图片

PMSM电机输入输出参数如下

系统输入:三相电压

系统输出:ABC三相电流、转速、扭矩、位置

图片

将逆变器与PMSM电机模型连接,模型如下图所示,PWM子系统中为PWM发生逻辑。

图片

将上述系统配置好对应的硬件输出模块,主要包括模拟量输出(模拟电流输出)和数字量输出(模拟编码器输出),并运行在FPGA中,FPGA主要资源如下:

逻辑单元 Logic Cells:85K

查找表 LUTs: 53,200

触发器(flip-flops): 106,400

乘法器 18x25MACCs:220

Block RAM:4.9 Mb

硬件配置如下

图片

搭建控制器模型并增加外设接口,主要外设接口为模拟量采集(采集相电流)编码器采集(采集电机编码器数据)

图片

把上述控制器模型运行在RCP仿真机中,并进行物理连接

图片

物理连接框图如下

图片

仿真管理工具如下:

图片

控制器周期500us(CPU),对象模型周期2us(FPGA),实时仿真结果(电流曲线)

图片

CUBE仿真机无缝兼容Simulink数字仿真,且IO接口和算力能够满足电机控制器HIL和RCP需求。

更多推荐

Linux 常用命令练习二 实验二

PART1以root账号登录:suroot查看CentOS根目录下有哪些内容:cd/ls-a进入/tmp目录,创建一个名为example的目录,并进入该目录。cdtmpmkdirexamplecdexample显示当前所在目录:pwd在当前目录下,建立权限为741的目录test:mkdirtestchmod741tes

Spring实例化源码解析之ConfigurationClassParser(三)

前言上一章我们分析了ConfigurationClassPostProcessor的postProcessBeanDefinitionRegistry方法的源码逻辑,其中核心逻辑dowhile中调用parser.parse(candidates)方法,解析candidates中的候选配置类。然后本章我们主要分析Conf

为什么伦敦金获得连续盈利这么难

相信在伦敦金市场中投资的投资者都有这个感受,我们很容易在市场中获取力量利润,但是要长期的在市场中稳定的盈利,持续不断地获利,这对很多投资者来说都有点难,可以这么说,稳定盈利是普通投资者一个阶段性的目标,也是投资者是否成熟的标志,那么,我们如何才能达到伦敦金投资稳定盈利呢?下面我们就来讨论一下。我们在伦敦金入场交易之前,

微服务下怎么做权限管理

微服务下怎么做权限管理应用拆分微服务后,一个不可避免的问题就是权限问题。拆分后的各个微服务如何处理权限,怎么处理才能保证满足业务的需求,怎么处理才能保持架构的简单及可维护?今天的文章,让我们来深入微服务架构下的权限处理问题,看看这个没有最佳实践的领域,如何能够针对业务需求来设计的较为优雅。先来理解几个名词关于权限,可能

CSV 与 Excel(.xls)-有什么区别?

CSV和Excel的区别CSV和Excel都是常用的电子表格文件格式,但它们之间有一些区别。下面是CSV和Excel的具体区别:区别一:文件格式CSV是一种纯文本文件格式,它使用逗号分隔不同的数据字段。Excel是一种二进制文件格式,它使用二进制编码来存储数据。区别二:功能Excel是一款功能强大的电子表格软件,它提供

YashanDB混合存储揭秘:行式存储如何为高效TP业务保驾护航(下)

上一篇文章https://mp.weixin.qq.com/s/mQLzi2PSZxqwwACSsq49ng为大家讲述了行式存储中事务并发控制的关键设计和优化。YashanDB采用了In-placeUpdate的块级MVCC,能极大提高事务并发处理能力。本篇文章,我们将会详解插入性能优化和宽行存储的设计。插入性能优化Y

git详细教程

git详细教程区域划分单分支操作gitlog语法常用的参数及其详解gitlog结果gitrefloggitdiff常用的参数及其详解gitreset常用的参数及其详解gitcheckoutgitrm常用的参数及其详解gitremote常用的参数及其详解多分支切换代码融合gitswitch常用的参数及其详解gitbran

如何使用Java语言判断出geek是字符串参数类型,888是整数参数类型,[hello,world]是数组参数类型,2.5是双精度浮点数类型?

如何使用Java语言判断出geek是字符串参数类型,888是整数参数类型,[hello,world]是数组参数类型,2.5是双精度浮点数类型?Java是一种静态类型的编程语言,这意味着我们需要在编译时为变量指定具体的类型。但是,你可以使用instanceof关键字来检查某个对象是否属于某个特定类。以下是一个示例,用于检

Confidential Compute Architecture - Arm构架的TEE新模式

1简介如今,云计算在分布式计算资源按需使用方面起着重要的作用。许多公司,如亚马逊、谷歌或微软都提供云服务,但使用这些服务需要信任服务提供商。这意味着一方面依赖提供商对抗攻击者,但另一方面也要信任提供商本身。恶意的提供商可能最终滥用其客户的敏感数据。使用可信执行环境(TEE)可以帮助增加对提供商的信任。在传输过程中,通常

C++——string的模拟实现+详细讲解

文章目录迭代器构造函数拷贝构造函数赋值运算符重载函数析构函数获取字符串函数获取字符串的字符个数访问类对象中的成员实现对类对象中成员的访问和操作实现对类对象中的成员的常量访问字符串容量调整字符串大小调整尾部插入字符尾部插入字符串重载函数符+=字符串尾部添加字符字符串尾部添加字符串指定位置插入字符指定位置插入字符串删除指定

【数据结构】二叉树链式结构的实现(三)

目录一,二叉树的链式结构二,二叉链的接口实现1,二叉链的创建2,接口函数3,动态创立新结点4,创建二叉树5,前序遍历6,中序遍历7,后序遍历三,结点个数以及高度等1,接口函数2,结点个数3,叶子结点个数4,二叉树高度5,二叉树第k层结点个数6,二叉树查找值为x的结点一,二叉树的链式结构二叉树的链式存储结构是指,用链表来

热文推荐