电机在各种工业、汽车和商业领域应用广泛。电机由驱动器控制,驱动器通过改变输入功率来控制其转矩、速度和位置。高性能电机驱动器可以提高效率,实现更快速、更精确的控制。高级电机控制系统集控制算法、工业网络和用户接口于一体,因此需要更多处理能力来实时执行所有任务。现代电机控制系统通常利用多芯片架构来实现:数字信号处理器(DSP)执行电机控制算法,FPGA 实现高速I/O 和网络协议,微处理器处理执行控制。
随着片上系统(SoC)的出现,例如集CPU 的灵活性与FPGA 的处理能力于一体的Xilinx® Zynq All Programmable SoC,设计人员终于能够将电机控制功能和其他处理任务纳入单个器件中。控制算法、网络和其他处理密集型任务被分流到可编程逻辑,而管理控制、系统监控与诊断、用户接口以及调试则由处理单元处理。可编程逻辑可以包含多个并行工作的控制内核,以实现多轴机器或多重控制系统。由于在单芯片上实现了完整的控制器,因此硬件设计可以更简单、更可靠、更便宜。
近年来,在MathWorks Simulink等软件建模与仿真工具的推动下,基于模型的设计已发展成为完整的设计流程——从模型创建到实现2。基于模型的设计改变了工程师和科学家的工作方式,把设计任务从实验室和现场转移到桌面。现在,包括工厂和控制器在内的整个系统都可以建模,工程师可以先调整好控制器的行为,再将其部署到现场。这样就能降低受损风险,加速系统集成,减少对设备供货的依赖。一旦完成控制模型,Simulink环境便可将其自动转换为由控制系统运行的C和HDL代码,节省时间并避免人工编程错误。将系统模型链接到快速原型开发环境可进一步降低风险,因为后者允许观察控制器在实际条件下会如何运作。
一个可实现更高电机控制性能的完整开发环境利用Xilinx ZynqSoC实现控制器,MathWorks Simulink用于进行基于模型的设计和自动生成代码,ADI公司的智能驱动器套件用于快速开发驱动系统原型。
Xilinx FPGA与SoC电机控制解决方案
高级电机控制系统必须全面执行控制、通信和用户接口任务,每种任务都有不同的处理带宽要求和实时约束。为了实现这样的控制系统,所选的硬件平台必须鲁棒且可扩展,以便为将来的系统改进和扩张创造条件。Zynq All Programmable SoC集高性能处理系统与可编程逻辑于一体,满足上述要求(如图1 所示)。这种组合可提供出色的并行处理能力、实时性能、快速计算和灵活的连接。该SoC集成了两个Xilinx模数转换器(XADC),用于监控系统或外部模拟传感器。
图1. Xilinx Zynq SoC功能框图
Zynq包括一个双核ARM Cortex-A9处理器、一个NEON协处理器和多个用于加速软件执行的浮点扩展单元。处理系统处理管理控制、运动控制、系统管理、用户接口和远程维护等任务,这些功能非常适合通过软件实现。为了发挥系统的能力,可以采用嵌入式Linux或实时操作系统。可以使用自给自足的处理器,而无需配置可编程逻辑。这样,软件开发人员编写代码与硬件工程师设计FPGA结构可以同时进行。
在可编程逻辑方面,该器件拥有多达444,000个逻辑单元和2200个DSP Slice,可提供巨大的处理带宽。FPGA结构可扩展,因而用户的选择范围很广——从包含28,000个逻辑单元的小型器件到支持最具挑战性的信号处理应用的高端器件。5个AMBA-4 AXI高速互连将可编程逻辑紧密地耦合到处理系统,提供相当于3000以上引脚的有效带宽。可编程逻辑适合执行时间关键的处理密集型任务,如实时工业以太网协议等,而且它支持多个控制内核并行工作,以实现多轴机器或多重控制系统。
基于Xilinx All Programmable SoC的解决方案和平台满足当今复杂控制算法(如磁场定向控制FOC)和复杂调制方案(如Xilinx和Qdesys设计的再生脉冲频率调制器3)所提出的关键时序和性能要求。
利用MathWorks Simulink实现基于模型的设计
Simulink是一种支持多域仿真和基于模型设计的框图环境,非常适合对包括控制算法和工厂模型的系统进行仿真。为了实现精确定位等目的,电机控制算法会调节速度、转矩和其他参数。利用仿真评估控制算法可以有效地确定电机控制设计是否合适,判断其合适后再进行昂贵的硬件测试,从而减少算法开发的时间和成本。图2给出了设计电机控制算法的有效工作流程:
构建精确的控制器和工厂模型,常常是根据电机、驱动电子、传感器和负载的资源库
对系统行为进行仿真以验证控制器的表现是否符合预期
产生C代码和HDL进行实时测试和实施
利用原型硬件测试控制算法
在原型硬件上进行仿真和测试后,如果控制系统证明令人满意,则将控制器部署到最终生产系统上
图2.电机控制算法设计的工作流程
MathWorks 产品包括Control System Toolbox™、SimPowerSystems™和Simscape™,提供工业标准算法和应用程序以对线性控制系统进行系统化分析、设计和调谐,此外还有元件库和分析工具,用于对机械、电气、液压和其他物理领域的各种系统进行建模和仿真。利用这些工具可以创建高保真的工厂和控制器模型,进而验证控制系统的行为和性能,成功之后方移交实际实施。该仿真环境是验证极端功能情形和工作状况的理想场所,确保控制器已为这些状况做好准备,并且其实际操作对设备和工作人员都将是安全的。
一旦控制系统在仿真环境中完成了全面验证,就可以利用嵌入式转码器和HDL转码工具将其转换为C代码和HDL,并部署到原型硬件上进行测试,然后部署到最终生产系统上。此时要指定定点和时序行为等软硬件实施要求。自动生成代码有助于缩短从概念到实际系统实现所需的时间,消除编程错误,确保实际结果与模型相符。图3给出了在Simulink中进行电机控制器建模并将其转移到最终生产系统所需的实际步骤。
图3.从仿真到生产的过程
第一步是在Simulink中对控制器和工厂进行建模和仿真。在这一阶段,控制器算法被划分为在软件中实现的模块和在可编程逻辑中实现的模块。划分和仿真完成后,利用嵌入式转码器和HDL转码器将控制器模型转换为C 代码和HDL。基于Zynq的原型系统验证控制算法的性能,并且帮助进一步调谐控制器模型,然后转移到生产阶段。在生产阶段,将自动生成的C代码和HDL 集成到复杂的生产系统框架中。此工作流程确保控制算法在达到生产阶段之前经过全面验证和测试,使得系统鲁棒性具有高可信度。 |