电机仿真是现代机电工程研究领域中的重要环节,始于20世纪后半叶,为工程师提供了一种研究、设计和优化各种电机系统的新方式。时至今日,从传统的电动机到现代的电动汽车动力系统,电机仿真技术在电机设计、性能分析和控制策略开发领域发挥着关键作用。
电机仿真广泛应用于各种领域,包括但不限于:
传统电机设计:用于模拟不同类型电机的性能,包括感应电机、同步电机、直流电机等,帮助工程师选择适当的电机类型,尺寸和工作参数,以满足特定的应用需求。
电机控制策略:用于开发并优化电机的速度、位置和转矩控制等控制策略,在自动化系统、机器人领域起着至关重要的作用。
电动汽车和混合动力系统:随着电动汽车的普及,电机仿真在电动汽车电机系统的设计和优化中发挥了关键作用,可以帮助工程师评估电机效率、电池管理系统和整个动力传动系统。
磁场建模:提供用于磁场性能分析的详细磁场模型,帮助工程师了解磁场分布、铁损耗和铜损耗。
故障分析:用于模拟电机在不同故障条件下的性能,如短路、断路、绝缘故障等,有助于提前预测潜在故障,并制定维修策略。
在实际应用中,为了满足电机领域越来越复杂和跨学科跨领域的系统需求,往往需要工程师与研究人员在虚拟环境中模拟与评估电机系统的性能,所涉及的软件工具通常需要整合各种领域的建模和仿真技术,因此采用协同仿真的方式实现复杂电机的数字孪生迫在眉睫。
本文中的协同仿真案例所涉及的工具有:国产自主可控的天目全数字实时仿真软件SkyEye、多领域分布式协同仿真平台DigiThread及Simulink(MATLAB软件最重要的组件之一)。本案例使用SkyEye对电机控制芯片进行建模仿真,使用Simulink对电路系统进行建模仿真,当电机控制算法模型与电路系统模型产生交互关系时,采用DigiThread来搭建跨领域的协同仿真模型,有助于工程师更便捷地监视仿真过程中的参数值变化,更高效地执行复杂的协同仿真任务。
从电机控制算法模型、电路系统模型以及模型协同工作三部分进行分析,本案例架构如下图所示:
具体实现步骤如下:
Step1:通过SkyEye仿真SPC系列芯片以及外设,并运行FOC(Field-Oriented Control)矢量控制算法将输出值发布到DigiThread的SimDDS模块;
Step2:Simulink模型通过订阅SimDDS模块获取SkyEye输出值,并通过位操作提取其中的6路PWM(Pulse Width Modulation wave)信号用于驱动电机,以实现对电机的精确控制;
Step3:Simulink模型运行后,将U、V、W相电流等真实电机参数以上文相同的数据发布形式通过DigiThread实时反馈到SkyEye;
Step4:SkyEye通过返回的真实电机参数更新输出值,实现全流程闭环。
作为本电机系统案例中的核心仿真模型,SPC仿真芯片主要由CPU及外设组成。芯片的仿真工作可全部通过SkyEye来完成。
SkyEye仿真的SPC某芯片如下图所示:
SPC芯片作为永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)的控制端,主要负责控制和调节电机的运行参数,如速度、转矩等。该控制端主要实现以下功能:
1. 电机控制:控制电机的转速、转矩、位置等参数,以满足不同的应用需求。
2. 运动控制:控制电机的加速度、减速度、停止等运动过程,以实现精确的运动控制。
3. 故障保护:监测电机的运行状态,及时发现并处理故障,保护电机的安全运行。
SPC仿真芯片中的ADC(模数转换器)和PWM(脉冲宽度调制)是两个最重要的外设模块,用于FOC矢量控制算法的闭环运行。ADC用于采集电机反馈信号,PWM用于生成控制电机相电流的PWM信号,两者协同工作,实现对PMSM的精确控制。
电机电路系统模型是本电机系统案例中的被控端,通过MATLAB/Simulink搭建。该模型用于控制PMSM系统,采用先进的控制算法——FOC矢量控制,通过将电机的空间矢量分解为磁场定向轴和转矩轴,实现对PMSM的精确控制。FOC会根据所需的速度和转矩,计算出电机所需的电流大小和相位,并使用PID控制器等技术进行电流调整。
由于FOC算法使用两组互补的PWM信号,每组包含3个信号,分别对应电机的A、B、C相,这样就形成了6路PWM信号,具体占空比与相位可根据FOC算法计算得出。实际场景中的SPC芯片输出的是一个uint32,为提升输入输出效率,本案例通过位操作提取该uint32中的6路PWM以及1路故障标志信号,并输入至电机电路系统模型。电机电路系统模型运行后输出真实的电机参数并返回给SkyEye SPC仿真芯片,形成闭环。
具体流程如下图所示:
多领域分布式协同仿真平台DigiThread为不同仿真软件提供了统一规范的模型生成环境,方便集成不同领域的仿真模型并将各仿真软件模型集成显示与管理,可实现SkyEye SPC仿真芯片模型与Simulink电机电路系统模型之间的通信。各个模型作为单独的仿真节点,通过仿真接口连接,使用分布式仿真软总线SimDDS交互数据,根据仿真引擎同步时钟推进且保持相对独立(对应的仿真时间各自独立,从而便于系统中仿真节点动态加入与退出,增加了仿真系统的鲁棒性)。
下图为本案例在DigiThread中进行端子版可视化建模工作时的界面。DigiThread为模型之间的发布订阅关系提供了两种不同的建模方式,一种是直接端对端的连线方式,另一种为本案例所展示的端子版方式。在模型复杂且端口较多时,端子版方式具有更简洁直观、没有杂乱连线分布的优势。
如图所示,左侧为SkyEye SPC仿真芯片模型,右侧为Simulink电机电路系统模型,两种不同颜色的端子分别对应着两组不同的订阅关系。DataOut作为SkyEye的输出端口,连接着Simulink模型的DataIn输入端口。同理,其余6个SkyEye的输入端口分别连接着Simulink模型的6个输出端口。
对复杂电机进行协同仿真是契合当下可持续发展战略目标的方法,能够通过实际制造之前的快速评估设计来节省传统电机实验和测试所需的时间与成本,使工程师轻松尝试不同设计和参数,找到满足性能、效率和成本要求的最佳解决方案。