ATB Technologies使用TI的C2000 MCU的代码生成将电动机控制器开发时间减少50%

挑战

开发控制软件以最大限度地提高永磁同步电机的效率和性能

解决方案

使用基于模型设计的MathWorks工具对目标处理器上的控制系统进行建模、模拟和实现

结果

  • 开发时间减半
  • 设计评论简化了
  • 目标验证和部署加速

“MathWorks工具使我们能够在多个开发阶段验证我们设计的质量,并在短时间内生产高质量的组件。”

Markus Schertler,ATB Technologies
ATB Technologies永磁同步电动机。

当ATB技术的工程师正在开发一种用于燃料电池车的高性能压缩机时,它们必须提供严格的客户要求。压缩机的电动驱动电机必须提供高扭矩,快速加速度,最大速度为20,000 rpm。为了满足这些要求,它们选择了无刷永磁同步电机(PMSM)的设计。

为了最大限度地提高PMSM的性能和效率,工程师使用了MathWorks工具进行了基于模型的设计,以开发复杂的控制算法,该算法包含三相矢量控制,面向现场控制(Foc)和现场弱化技术。该团队逐步采用了基于模型的设计 - 在该项目中添加了生产代码生成,以便已经采用了建模和模拟设计的早期验证的过程。

“在过去的项目上,我们模拟并验证了我们在手中编码实施之前的Simulink设计,”ATB Tech万博1manbetxnologies的开发工程师Markus Schertler说。“在转换到自动代码生成后,质量和模块化更好,迭代更快,所以我们可以从第一个原型迅速移动到最终系列。”

挑战

提供完整的压缩机单元所需的ATB技术,包括电机控制软件,电子设备,电机和其他机械部件。为了最大限度地提高系统的动态,能量密度和效率,这些组件必须完美地一起工作。

这个项目太复杂了,无法在团队的标准手工编码控制软件的时间表内完成。“手工编码需要花费大量时间,而且总是存在漏洞。手工编码也使我们很难向客户证明我们正在满足他们的要求,包括符合某些MISRA C标准,”ATB技术公司的开发工程师Georg Staffler说。

ATB Technologies需要一个开发环境来支持早期的控制策略验证,为其选择的目标处理器家族生成代码,以及在整个项目中快速的设计迭代。

解决方案

ATB Technologies使用基于模型设计的MathWorks工具在TI C2000™微控制器单元(MCU)上设计、模拟、验证和部署控制系统软件。

使用Simu万博1manbetxlink.®,该团队开发了一种驱动器的植物模型,包括在实验室中测量的物理参数。使用Simu万博1manbetxlink和StateFlow®,他们开发了控制器的初始模型。然后,它们在Simulink中运行了控制器和工厂模型的闭环模拟,以评估控制策略的可行性。万博1manbetx

当他们改进控制器模型时,团队设计了具有信号处理工具箱™的降噪滤波器,并使用固定点设计器检查可疑的固定点操作

在通过桌面仿真验证模型后,ATB Technologies使用了Embedded Coder®从模型生成代码并将其部署到TI C2000 MCU。它们还生成了用于车载外围设备的设备驱动程序和具有嵌入式编码器的调度程序。

在Embedded Coder中使用RTDX通道,团队使用Simulink测试工具验证代码在MCU上运行。万博1manbetx该团队使用RTDX记录信号,然后在MATLAB中进行频谱分析®调整过滤器和补充设计文档。

由于控制器在实际电机可用之前设计,因此使用具有类似电子器件的可比较电动机进行初始测试。后来试验掺入了生产电子,并在生产电机和电子设备上进行了最终测试。在每次迭代中,团队在Simulink中精致设计并使用嵌入式编码器重新生成代码。万博1manbetx

ATB Technologies按时向客户交付了压缩机电机,目前该电机已经生产出来,并嵌入到目前在路上行驶的燃料电池汽车中。

结果

  • 开发时间减半.Schertler说:“考虑到处理器家族中的迁移,自动生成代码使我们完成压缩器项目的速度比使用基于模型的设计但使用手工编码的类似项目快两倍。”代码生成导致了更少的错误,更好的质量和更快的迭代,并且它支持模块化方法,促进了模型在项目之间的重用。

  • 设计评论简化了.“通过我们在Simulink和State万博1manbetxFlow中的模型,我们可以向我们的汽车客户证明我们的设计符合他们的要求,”Schertler Notes。“该模型还使内部设计评论更高效,因为它们比代码更直观。”

  • 目标验证和部署加速.“嵌入式编码器使我们能够轻松验证我们的实时实现。例如,我们可以看到一个单独的过滤器工作,并检查我们使用的参数是否正确。我们还使用Embedded Coder生成设备驱动程序和调度程序,然后将代码下载到目标程序,从而节省了大量时间。”