0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用FPGA进行系统的提高电机控制性能

电机控制设计加油站 来源:未知 2019-02-03 11:43 次阅读

电机在各种工业、汽车和商业领域应用广泛。电机由驱动器控制,驱动器通过改变输入功率来控制其转矩、速度和位置。高性能电机驱动器可以提高效率,实现更快速、更精确的控制。高级电机控制系统集控制算法、工业网络和用户接口于一体,因此需要更多处理能力来实时执行所有任务。现代电机控制系统通常利用多芯片架构来实现:数字信号处理器(DSP)执行电机控制算法,FPGA 实现高速I/O 和网络协议,微处理器处理执行控制1。

随着片上系统(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集成到复杂的生产系统框架中。此工作流程确保控制算法在达到生产阶段之前经过全面验证和测试,使得系统鲁棒性具有高可信度。

利用ADI公司智能驱动器套件快速完成原型开发

选择合适的原型开发硬件是设计过程的一个主要步骤。ADI公司的智能驱动器套件支持快速、高效的原型开发。Avnet Zynq-7000All 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码。

图7. 滤波器库

相电流测量也可以由Zynq XADC执行。XADC信号测量链使用常规测量链的完整路径,并在AD7401 Σ-Δ调制器之后增加一个Sallen-Key模拟重构滤波器。该滤波器是在控制板上利用运算放大器AD8646实现,如图8 所示。隔离式Σ-Δ调制器和模拟重构滤波器的组合为实现XADC 输入信号的模拟隔离提供了一种便利、低成本的方法,同时不影响测量质量。

图8. XADC信号测量链

ADI公司智能驱动器套件带有一套Simulink控制器模型、完整的Xilinx Vivado框架和ADI Linux基础设施,便于用户完成电机控制系统设计所需的全部步骤——从仿真开始,经过原型开发,最终在生产系统上实现。

可以利用两个控制器模型(一个六步控制器和一个PMSM磁场定向控制器)来启动设计过程。图9显示了这两个控制器的高级视图。六步控制器实现一个用于BLDC电机的梯形控制器;FOC控制器提供一个FOC内核以便集成到控制系统中。

图9.Simulink控制器模型

工厂和控制器模型在仿真阶段创建,通过完整系统的行为仿真来验证控制器符合预期。控制器模型划分为由C代码和HDL 实现的多个部分,并指定时序、定点实现、采样速率和环路时间等约束条件以确保控制器模型的行为与在硬件实现中一样。图10显示了六步控制器的软件和HDL划分。

图10.控制器的C代码和HDL划分

一旦控制器在仿真中经过全面验证,下一步便是在硬件平台上制作原型。针对ARM内核和可编程逻辑,Zynq SoC引导工作流程从划分为多个子系统的Simulink模型产生C代码和HDL。利用此工作流程,HDL转码器生成针对可编程逻辑的HDL,嵌入式转码器则生成针对ARM的C代码。MathWorks Zynq支持包支持从模型生成由算法C代码组成的ARM可执行文件(与AXI总线接口),并支持从模型生成由HDL代码组成的位流(与可编程逻辑引脚和AXI总线接口)。图11显示了控制器实现及其与ADI智能驱动器硬件的关系。

图11. 原型系统上的控制器实现

一旦将位流和可执行文件加载到硬件中,就可以开始控制器的运行测试。利用Simulink与运行开源Linux OS的嵌入式系统之间的以太网链路执行硬件在环(HIL)测试。轴转速等电机参数可以在Simulink中捕捉,并与仿真结果相比较,确保实际系统实现与模型相符。一旦控制算法测试完毕,便可将控制器转移到生产系统上。

除了智能驱动器套件以外,ADI公司还提供完整的Vivado框架和Linux基础设施以用于原型开发和最终生产。图12显示了支持智能驱动器套件的Zynq基础设施。该高级框图说明了ADI参考设计在Xilinx Zynq SoC上是如何划分的。可编程逻辑实现IP内核,用于与ADC、位置传感器和电机驱动级接口。由HDL转码器生成的HDL代表电机控制算法,集成到ADI公司IP中。所有IP都有低速AXI-Lite接口用于配置和控制,并有高速AXIStreaming接口用于通过DMA通道向软件传输实时数据。高速以太网接口可以利用ARM 处理系统的硬MAC外设或可编程逻辑中的Xilinx以太网IP实现。

ARM Cortex A9 处理系统运行ADI 公司提供的Ubuntu Linux,其中包括:与ADI公司智能驱动器硬件接口所需的Linux IIO驱动,用于监测和控制的IIO Oscilloscope(示波器)用户空间应用程序,支持实时数据采集和通过TCP控制系统的libiio服务器,在远程计算机上运行的客户端,以及整合嵌入式转码器所生成C代码的可选用户应用程序。

图 12. ADI Linux infrastructure.

所有ADI Linux 驱动均基于Linux 工业I/O (IIO)子系统,其现已包括在所有主流Linux内核中。IIO Scope是ADI公司开发的一款开源Linux应用程序,运行在Xilinx Zynq中的双核ARMCortex A9上,能够显示连接到Xilinx Zynq平台的ADI FMC卡所获取的实时数据。这些数据可以在时域中、频域中或以星座图的形式显示。支持以不同的常用文件格式(如逗号分隔值或.mat Matlab文件等)保存所捕获的数据以供进一步分析。IIO Scope提供一个图形用户界面,用于更改或读取ADI FMC卡的配置。

libiio服务器支持实时数据采集、通过TCP控制系统以及运行于远程计算机上的客户端。服务器运行于Linux下的嵌入式目标上,通过TCP管理目标与远程客户端之间的实时数据交换。IIO客户端可以作为系统对象集成到MATLAB和Simulink原生应用程序中。一路HDMI 输出用于在监视器上显示Linux界面,鼠标和键盘可通过USB 2.0端口连接到系统。

ADI 公司为智能驱动器套件提供的Linux软件和HDL基础设施,连同MathWorks和Xilinx提供的工具,非常适合开发电机控制应用原型。它们还包含适用于生产的组件,可将其集成到最终控制系统中,从而减少从概念到生产所需的时间和成本。

结论

本文说明了采用FPGA的现代电机控制系统的要求和趋势,以及为满足这些约束条件和帮助实现更高效、更精确的电机控制解决方案,MathWorks、Xilinx和ADI公司带给市场的工具和系统。通过将MathWorks基于模型的设计和自动生成代码工具与强大的Xilinx Zynq SoC、ADI公司的隔离、功率、信号调理和测量解决方案相结合,电机驱动系统的设计、验证、测试和实现可以比以前更有效率,进而提高电机控制性能并缩短上市时间。ADI公司智能驱动器套件与Avnet Zynq-7000 All Programmable SoC配合使用,为利用MathWorks Simulink设计的电机控制算法提供出色的原型开发环境。该智能驱动器套件带有一组参考设计4,旨在为所有希望评估该系统的人士提供一个起点,并且帮助启动任何新的电机控制项目。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1627

    文章

    21685

    浏览量

    602323
  • 控制器
    +关注

    关注

    112

    文章

    16240

    浏览量

    177599
  • 电机控制
    +关注

    关注

    3530

    文章

    1863

    浏览量

    268468

原文标题:基于FPGA的系统提高电机控制性能

文章出处:【微信号:motorcontrol365,微信公众号:电机控制设计加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGA系统促进提高电机控制性能

    电机在各种工业、汽车和商业领域应用广泛。电机由驱动器控制,驱动器通过改变输入功率来控制其转矩、速度和位置。高性能
    发表于 07-21 15:43 4160次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>系统</b>促进<b class='flag-5'>提高</b><b class='flag-5'>电机</b><b class='flag-5'>控制性能</b>

    电机控制调试时想要精确调试控制性能如何观测变量的波形?

    电机控制调试时想要精确调试控制性能如何观测变量的波形?
    发表于 03-26 07:15

    基于FPGA系统提高电机控制性能

    的设计和自动生成代码工具与强大的Xilinx Zynq SoC、ADI公司的隔离、功率、信号调理和测量解决方案相结合,电机驱动系统的设计、验证、测试和实现可以比以前更有效率,进而提高电机
    发表于 10-10 18:00

    伺服电机控制性能的优点

    伺服电机控制性能的优越性:(1)低频特性好。步进电机易出现低速时低频振动现象。交流伺服电机不会出现此现象运转非常平稳.交流伺服系统具有共振抑
    发表于 10-12 09:54

    基于FPGA系统提高电机控制性能

    。另外,该套件可以利用 ADI 公司的 AD-DYNO1-EBZ 测功器驱动系统进行扩展,后者是一个动态可调 的负载,可用来测试实时电机控制性能。AD-FMCMOTCON1-EBZ
    发表于 10-19 10:43

    基于实时网络如何提高多轴运动控制性能

    的执行必须与同一个时钟同步。第一种同步很好理解,它是网络控制器的固有部分。然而,第二种同步到目前为止一直为人所忽视,如今成为运动控制性能的瓶颈。
    发表于 07-30 07:56

    实时网络怎么提高多轴运动控制性能

    的执行必须与同一个时钟同步。第一种同步很好理解,它是网络控制器的固有部分。然而,第二种同步到目前为止一直为人所忽视,如今成为运动控制性能的瓶颈。
    发表于 08-07 07:49

    基于 FPGA系统提高电机控制性能

    的 AD-DYNO1-EBZ 测功器驱动系统进行扩展,后者是一个动态可调 的负载,可用来测试实时电机控制性能。AD-FMCMOTCON1-EBZ 模块由
    发表于 10-17 09:00

    如何增强工业电机控制性能

    死区时间,改善系统性能。  此外,它还支持对系统命令和错误作出更快速的响应,这同样能增强系统可靠性并提高安全性。鉴于这些优势,基于变压器的隔离式栅极驱动器已成为
    发表于 03-21 18:02

    基于FPGA系统提高电机控制性能

    基于FPGA系统提高电机控制性能
    发表于 01-07 15:00 24次下载

    方波工况下牵引电机参数不准对矢量控制性能的影响

    方波工况下牵引电机参数不准对矢量控制性能的影响_周明磊
    发表于 01-07 17:01 0次下载

    基于FPGA系统提高电机控制性能

    电机广泛用于工业、汽车和商业应用,由驱动器控制,驱动器改变电输入功率以控制扭矩、速度和位置。高性能电机驱动器可以
    的头像 发表于 01-09 15:27 4010次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>系统</b><b class='flag-5'>提高</b><b class='flag-5'>电机</b><b class='flag-5'>控制性能</b>

    什么是编码器,它如何提高逆变器和电机驱动系统性能

    驱动系统提高电机控制性能,从而可以改善要求严苛应用的质量和同步功能。如图1所示,功率级使用了功率逆变器、高性能位置检测以及电流/电压闭环反
    的头像 发表于 08-09 08:09 769次阅读
    什么是编码器,它如何<b class='flag-5'>提高</b>逆变器和<b class='flag-5'>电机</b>驱动<b class='flag-5'>系统</b>的<b class='flag-5'>性能</b>?

    如何权衡阻抗控制性能与稳定性的关系

    阻抗控制性能提升后对稳定性有怎样的影响?如何权衡阻抗控制性能与稳定性的关系? 当阻抗控制性能提升时,往往需要更高的控制增益来实现更快的响应和更小的跟踪误差。 这会导致
    的头像 发表于 11-14 15:26 917次阅读
    如何权衡阻抗<b class='flag-5'>控制性能</b>与稳定性的关系

    传感器最新发展可大幅提高BLDC电机控制性能

    电子发烧友网站提供《传感器最新发展可大幅提高BLDC电机控制性能.pdf》资料免费下载
    发表于 11-23 09:40 0次下载
    传感器最新发展可大幅<b class='flag-5'>提高</b>BLDC<b class='flag-5'>电机</b><b class='flag-5'>控制性能</b>