简介
电机在各种工业、汽车和商业领域应用广泛。电机由驱动器控制,驱动器通过改变输入功率来控制其转矩、速度和位置。高性能电机驱动器可以提高效率,实现更快速、更精确的控制。高级电机控制系统集控制算法、工业网络和用户接口于一体,因此需要更多处理能力来实时执行所有任务。现代电机控制系统通常利用多芯片架构来实现:数字信号处理器(DSP)执行电机控制算法,FPGA 实现高速 I/O 和网络协议,微处理器处理执行控制1。
随着片上系统(SoC)的出现,例如集 CPU 的灵活性与 FPGA 的处 理能力于一体的 Xilinx® Zynq All Programmable SoC,设计人员终于能够将电机控制功能和其他处理任务纳入单个器件中。控制算法、网络和其他处理密集型任务被分流到可编程逻辑,而管理控制、系统监控与诊断、用户接口以及调试则由处理单元处理。可编程逻辑可以包含多个并行工作的控制内核,以实现多轴机器或多重控制系统。由于在单芯片上实现了完整的控制器,因此硬件设计可以更简单、更可靠、更便宜。
近年来,在 MathWorks®Simulink®等软件建模与仿真工具的推动下,基于模型的设计已发展成为完整的设计流程——从模型创建到实现2 。基于模型的设计 改变了工程师和科学家的工作方式,把设计任务从实验室和现场转移到桌面。现在,包括工厂和控制器在内的整个系统都可以建模,工程师可以先调整好控制器的行为,再将其部署到现场。这样就能降低受损风险,加速系统集成,减少对设备供货的依赖。一旦完成控制模型,Simulink 环境便可将其自动转换为由控制系统运行的 C 和 HDL 代码,节省时间并避免人工编程错误。将系统模型链接到快速原型开发环境可进一步降低风险,因为后者允许观察控制器在实际条件下会如何运作。
一个可实现更高电机控制性能的完整开发环境利用 Xilinx Zynq SoC 实现控制器,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 集 成到复杂的生产系统框架中。此工作流程确保控制算法在达到 生产阶段之前经过全面验证和测试,使得系统鲁棒性具有高可 信度。
利用 ADI 公司智能驱动器套件快速完成原型开发
选择合适的原型开发硬件是设计过程的一个主要步骤。ADI 公司 的智能驱动器套件支持快速、高效的原型开发。AvnetZynq-7000 All Programmable SoC/Analog Devices智能驱动器套件将 Zynq- 7000 All Programmable SoC ARM 双核 Cortex-A9 + 28 nm 可编程 逻辑与 ADI 公司最新一代高精度数据转换器和数字隔离相 结合,可实现高性能电机控制和双通道千兆以太网工业网络连 接。该套件带有 Avnet ZedBoard 7020 基板和 ADI 公司的 AD-FMCMOTCON1-EBZ 模块,构成一个完整的驱动系统,能够 高效控制多种类型的电机。另外,该套件可以利用 ADI 公司的 AD-DYNO1-EBZ 测功器驱动系统,进行扩展,后者是一个动态可调 的负载,可用来测试实时电机控制性能。AD-FMCMOTCON1-EBZ 模块由控制器和驱动板组成,如图 4 所示。
图 4. AD-FMCMOTCON1-EBZ 功能框图
控制板是一个混合信号 FPGA 夹层卡 (FMC),可利用低引脚数 (LPC) 或高引脚数 (HPC) FMC 连接器连接到任何 Xilinx FPGA 或 SoC 平台。它具有以下特性:
利用隔离式 ADC 测量电流和电压
隔离式 Xilinx XADC 接口
完全隔离的数字控制和反馈信号
霍尔、差分霍尔、编码器和旋变器接口
2个千兆以太网物理层,支持 EtherCAT、ProfiNET、Ethernet/IP或 Powerlink 等高速工业通信协议
FMC 信号电压自适应接口,支持在所有 FMC 电压电平上无缝工作
隔离是任何电机控制系统的一个关键方面,其目的是保护控制器 和用户。控制板上模拟和数字信号的完全隔离,确保 FPGA 平台 永远不受电机驱动侧可能产生的危险电压影响。
驱动板包含驱动电机以及电流电压检测与保护电路所需的全部电源电子。该板具有以下特性:
以最大 18 A 电流驱动 12 V 至 48 V 范围的 BLDC(无刷直流)/PMSM(永磁同步电机)/有刷直流/步进电机
动态制动功能和集成式过流与反向电压保护
利用隔离式 ADC 测量相电流;可编程增益放大器使电流测量输入范围达到最大
向控制板提供直流总线电压、相电流和总电流反馈信号
集成 BEMF 过零检测,用于实现 PMSM 或 BLDC 电机的无传感器控制
测功器是一个动态可调的负载,可用于测试实时电机控制性 能,由两台 BLDC 电机通过刚性连接直接耦合而成。其中一台 BLDC 电机用作负载,由测功器的嵌入式控制系统控制,而另 一台由 ADI 公司的智能驱动器套件驱动,如图 5 所示。该系统 配有一个用户界面,用于显示有关负载电流和速度的信息,并 支持设置不同的负载曲线。要实现外部控制,可利用 Analog Discovery USB 示波器捕捉负载信号;要从 MATLAB®直接控 制,可使用 MathWorks Instrument Control Toolbox™。
图 5. 测功器驱动系统
电机电流和电压测量的质量对电机控制系统的性能有很大影响。 通过利用高性能模拟信号调理器件和 ADC,ADI 公司智能驱动 器套件提供精密电流和电压测量。测量路径分为控制器和驱动板 两部分,如图 6 所示。
图 6. 相电流信号链 相电流通过测量分流电阻上的电压来检测。取决于 ADC 是否靠 近分流电阻,有两条可能的测量路径可以获得最高测量精度。如 果 ADC 靠近分流电阻,则信号路径非常短,不易受到噪声耦合 影响。分流电阻上的小差分电压由隔离式Σ-Δ调制器AD7401直接测量,而无需其他接口和信号调理电路。如果 ADC 远离分流 电阻,则信号路径很长,容易受到噪声耦合影响,尤其是电源开 关噪声和电机的噪声耦合。必须采取特别措施确保 ADC 与分流 电阻之间的 PCB 走线和信号调理电路受到适当的屏蔽。分流电 阻上的小差分电压被驱动板上的差动放大器AD8207放大,后者 置于分流电阻附近以避免噪声耦合。信号从±125 mV 满量程输 入范围放大至±2.5 V 范围,以最大程度地降低耦合噪声的影 响。放大后的信号又经过一个采用可编程增益仪表放大器(PGIA)AD8251的放大级,以确保 ADC 始终接收到经过适当缩放以适应 输入范围的输入信号。放大后的模拟信号经过连接器进入控制 板。连接器会屏蔽每个模拟信号,以降低噪声耦合影响。来自驱 动板的模拟信号利用运算放大器ADA4084-2重新转换到AD7401输入范围。
电流和电压反馈信号链中的最重要器件是二阶隔离式Σ-Δ调制 器 AD7401A。这款高性能 ADC 具有 16 位分辨率(无失码)、 13.3有效位数(ENOB)和 83 dB SNR。2线数字接口包括一个 20 MHz 时钟输入和一个 1 位数字位流输出。ADC 输出利用 sinc3 数字滤 波器重构。数据手册中提供了一个针对 16 位输出和 78 kHz 采样 速率的滤波器模型和 HDL 实现方案。输出分辨率和采样速率可 通过改变滤波器模型和抽取来控制。78 kHz 采样速率对许多应用 可能是足够的,但某些情况需要更高的速率。这些情况下,可利 用图 7 所示的滤波器库来将系统采样速率提至最高 10 MSPS (真 16 位数据)。滤波器库包含 n 个 sinc3滤波器,其采样时钟 延迟 T(即 sinc3滤波器传播时间除以 n)的倍数。数据选择器以 周期T输出 ADC 码。
了解更多请观看原文:基于FPGA的系统提高电机控制性能
Q&A:
1.简述电机控制算法的有效工作流程
2.简述控制板和驱动板的特性
3.简述电流和电压测量分别对电机控制系统的影响
(答题在此贴下方回复即可)
时间:8月1日——8月31日
奖励:将从答对问题的网友中抽取3位获得20元京东券(都回答对的取前三个网友)
|