FPGA缘何是电机控制应用的明智选择?

参考设计

21人已加入

描述

  电子发烧友网讯:你是否知道在一片FPGA中可以开发灵活而且能够更新的电机控制系统?通过仅仅6分钟的视频,电子发烧友网编辑了解到: FPGA是电机控制最佳选择四大理由、实现简单反馈机制来同步两个电机全过程、在可更新电机控制解决方案中使用Qsys集成工具等通用设计工具并观看基于 BeMicro SDK的电机控制套件(BeInMotion)的两个演示。(该视频由Altera的应用工程师Bob Siller为大家讲解)在这里小编跟大家一起分享!

  Bob告诉我们在一片FPGA中开发灵活而且能够更新的电机控制系统。FPGA之所以成为电机控制应用的明智选择,是因为FPGA具有基于处理器的解决方案所无法实现的非常显著的四种优点。


图 Altera的应用工程师Bob Siller

  (1)降低系统总成本:通过在FPGA中集成多种功能,能有效地降低系统总成本;

  (2)缩短产品面市时间:在新方案中通过调整设计并重新使用原有单元,能够缩短产品的面市时间;

  (3)简化设计方法:通过提供直观而且功能强大的设计流程,简化设计方法;

  (4)延长产品生命周期:透过增加特性和功能,FPGA能够延长产品的生命周期。

  接下来,我们将了解BeInMotion电机控制套件(如图01)。它是艾瑞电子提供的最新产品之一。基于流行的BeMicro SDK,该套件含有实用和可以重复使用的参考设计,能帮助用户理解怎样控制DC和步进电机。

Altera  
图 01 BeInMotion电机控制套件

  BeMicro SDK采用Cyclone IV FPGA(如图02),通过其边沿连接器,可以轻易将其插入到BeInMotion电机控制模块中。

Altera
图02 Cyclone IV FPGA

  首先,让我们仔细看一下电机控制模块。该模块采用了两个独立的受控DC电机(图03)、具有简单的光反馈系统(图04)、一块彩色LCD显示屏(图05)、用户可编程开关和通用I/O(图06)、近距离传感器(图07)、具有模拟反馈系统的齿轮步进电机(图08)、具有两个轮子和一个转向轮的基本模块(图09)和一块USB 可充电电池(图010)。

Altera
图03 两个独立的受控DC电机
Altera
图04 简单的光反馈系统

Altera
图05 彩色LCD显示屏
Altera
图06 用户可编程开关和通用I/O
Altera
图07 近距离传感器
Altera
图08 具有模拟反馈系统的齿轮步进电机
Altera
图09 具有两个轮子和一个转向轮的基本模块
Altera
图10 一块USB 可充电电池

  FPGA可用于控制多种类型的电机,或开发一个设计来控制多个DC电机。

  基本结构图(如图011),FPGA中集成了一个嵌入式软核处理器。在这个例子中,Nios II处理器管理反馈和分别移动两个DC电机的控制信号(图012)。电机的反馈系统采用了光分度器(图013),它检测电机的旋转速度。Nios II处理器读取来自分度器的数据,运行算法来同步两个电机的旋转。这调动了模块的运动,同时它读取位于模块前端的近距离传感器。

Altera
图011 基本结构图
Altera
图012 Nios II处理器管理反馈和分别移动两个DC电机的控制信号
Altera
图013 光分度器

  该传感器感应桌子边沿、墙或沿线条行进,让我们从Qsys系统集成工具开始。Qsys是Quartus II设计环境的一部分,其好处是能可以生成互联,而不需要自己编写VHDL代码。还支持开发并重复使用IP组件。(图014)例如模块中的两个DC电机,这提供了灵活的设计环境,大幅度缩短了开发时间。

Altera
图014 Qsys系统集成工具

  这工程已被用于对BeMicro SDK进行编程,可以继续将其插入到BeInMotion电机控制基本单元中并打开它。

  如果选择“Table Edge”这一参数(如图015),在LCD显示屏的菜单中BeInMotion将使用来自近距离传感器的数据以避免掉到桌子下面去。 BeInMotion第一次启动(图016)时,两个电机并没有同步,但我们已在FPGA中使用自校正算法,几个周期后两个电机进入同步,沿着一条直线行动(图017)。在实际应用中,FPGA能够在几个微秒内处理控制环路。它还感应到桌子边沿(图018),向处理器发送信号、改变方向(图019),直到看到另一个桌子的边沿。

Altera
图015 选择“Table Edge”参数
Altera
图016 BeInMotion第一次启动
Altera
图017 沿着一条直线行动
Altera
图018 感应到桌子边沿
Altera
图019 向处理器发送信号、改变方向

  对于防撞墙设计,我们只需要修改传感器的位置_(将如图020所示的位置改为如图021所示的位置即可)(如图020 图021),从菜单中的选择“Wall Detect”参数。模块会一直前进,直到它检测到靠近墙(图022),然后改变方向以避开墙(图023)。再次遇到另一面墙(图024),继续改变方向(图025)。

Altera
图020 修改传感器的位置
Altera
图021防撞墙设计传感器的位置
Altera
图022 检测到靠近墙
Altera
图023 改变方向以避开墙
Altera
图024 再次遇到另一面墙
Altera
图025 继续改变方向

  利用该模块可以很容易实现在BeInMotion套件内提供的各个参考设计,如实现进行加速等其他功能。

  除了上述两个功能外,还有另外一个参考设计:可以利用它让模块沿着一条线行进。该模块还为步进电机提供了参考设计,通过这设计您可控制电机的步幅(全步、半步甚至是微步模式 如图026)。

Altera 
图26 通过调节电机模式可控制电机的步幅

  艾瑞电子BeInMotion电机控制套件是很有趣的方式。通过它可了解FPGA怎样用于开发简单电机控制系统,同时还可了解在FPGA中集成关键功能会有多大灵活性和多强大(图027),可实现非常复杂的电机控制和驱动系统。例如,在一片FPGA硬件中,可以连接任何数字接口、传感器或者编码器,实现滤波器或运行需大量DSP的控制算法。说不定在您的下一个电机控制设计中,就能使用到这种既简单又快速的艾瑞电子BeInMotion电机控制套件。


图027 FPGA中集成关键功能灵活性和强大


点击该图片可看到原视频

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分