Xcell出版物
  杂志
    嵌入式杂志
   
  给Xcell投稿
  在Xcell杂志做广告
  免费订阅
   
  联系我们

    

主页 : Xcell出版物 : 杂志 : 嵌入式杂志 : 文章
推动电机驱动技术进入新的发展水平



作者:Geir Kjosavik,Xilinx公司嵌入式处理营销经理
geir.kjosavik@xilinx.com (9/1/05)


将FPGA上的嵌入式处理器和Xilinx的电机驱动元件组合使用时,其应用潜力是无限的。
文章的英文版PDF链接
文章英文版PDF 425 KB


电机的应用无处不在。 我家中有334个电机,这个数目还在增长。 例如,如果我购买一个新电脑,还会增加很多电机。 两个或三个电机驱动不同的冷却电扇。 DVD/ROM驱动和DVD烧录器各自包括4个电机:碟控制、轴驱动、拾波器驱动和激光聚焦伺服系统。 硬驱动有两个电机,尽管不包括软驱,但是,通用外设如强制反馈操作杆、打印机和扫描仪需要的电机会更多。

家庭之外,火车、起重机和电车包括输出达100到几千马力的电机。 固定应用也包括大电机。 工业压缩机、泵和电扇只是一些实例。

不同的应用也需要不同类型的电机。 一个小型步进电机可以用令人难以置信的精度,定位一个喷墨打印机头;不过,要驱动一个城市的供水泵,则需要一个庞大的三相AC感应电机。

几乎对于每个电机来说,一个电机驱动电路控制其速度和力矩。 像电机本身就存在不同一样,控制打印头电机的电路和控制水泵电机的电路,也有很大不同。 一个50美元的8位微控制器可以驱动一个步进电机,现行驱动电路包括一些表贴安装金属-氧化物半导体场效应管(MOSFET)。

在水泵电机上,将电机与功率级连接的粗铜柱,表明电流很大。 功率级基于很大的绝缘栅双极晶体管(IGBT),通过电机的三相绕组变换电流的方向。

认真计算所需功耗
计算得到的、有效控制泵电机所需的马力,像电机一样,使人印象深刻-至少对电气工程师是如此。 在电机驱动的核心位置,是高性能、工作繁忙的CPU。 CPU的任务之一,是产生120°的异相正弦波,使交流感应电机工作。 它在高频下改变驱动电流的占空比,感应负载看到的波形是平滑的正弦波。 这是脉宽调制(PWM)。

正弦波被功率级放大很多倍,使电机旋转。 CPU通过分别改变正弦波的频率和幅度来控制电机的速度和力矩。 不过,正如汽车中那样,使加速器保持在固定位置,并不能保证在恒定速度下旅行。 这就是一些聪明的工程师发明巡航控制的原因,同等聪明的工程师发明了电机控制。

进行一些计算
简单地讲,CPU这样控制电机的速度和力矩:

  1. 读取速度和力矩值。
  2. 与需要的设置进行比较。
  3. 计算增量或减量。
  4. 使用步骤3中的值,调节速度和力矩。
  5. 从步骤1开始重复。
计算步骤3中的调整量的最通用的方法是PID(比例积分和微分)。 PID包括一系列计算,将需要的值和当前运算之间的差异作为输入,并找到与这些差异成比例的合适的调整值。小差异进行小调整,如果电机确实脱离正常状态,就进行大调整。 您不能对整个差异值进行简单的加或减,因为电机需要几个控制循环反复,才能对输入的变化做出反应。 这种方法会导致不稳定性,有很大的摆幅。

通过将来自电机驱动轴上的光或磁编码器的信号进行解码,电机驱动可以测量电机的速度。 一种称为正交编码器 (QEI)的状态机,将这些信号解码。 在PWM周期内的某些点测量相电流,就可以获得力矩。

然后,您可以将其它参数送入控制算法,如电压和电流波形配置。 如果您使用后者,对它进行复杂的计算,使用名称类似“星际旅行”的通量矢量控制算法,不需要光-机械或磁接口,您就可以很准确地预测电机的行为。 在控制小电机时,由于轴编码器占用太大的空间、而去掉轴编码器的成本比增量CPU算法高,所以上述算法很有用。

大多数工业电机驱动也与某些类型的网络连接,因此,当您将运行TCP/IP或DeviceNET堆栈需要的计算能力置于其他事情之上时,性能要求可以达到几百MIPS-如果您使用蛮力解决您的嵌入式计算需要的话。 这种方法就像高射炮打蚊子,我们需要更好的方法来满足性能要求。

无刷
通常认为AC感应电机是广泛使用的工业电机类型。 高性能应用中的另一种通用电机是无刷DC电机(BLDC),也称为永磁AC电机。 它建立在DC电机基础上,但使用交流工作,因此容易使人困惑。 BLDC电机不需要正弦波,但是,电机驱动必须知道其任何时间的准确旋转位置,因此,需要与AC感应电机不同的位置编码/解码机制。 控制电流和电压时,仍使用PWM。

使用我们介绍的方法进行设计
由于没有PWM就不能组建高性能的电机驱动,所以很多嵌入式处理器和微控制器具有内置的PWM。 这些PWM是芯片销售商的营销和设计部门长期探讨的结果。 它是用户需求一方和晶片尺寸估计、设计时间、可测试性一方之间的一场战争。 相应的设计是在一般用户需求和受成本、上市时间限制的生产之间的妥协。

关于PWM
PWM具有不同的特性和设置:变化的分辨率和速度、沿校准与中心校准、死区时间的产生和对称输出。 大多数片上模块提供这些参数的软件配置,但是,现成的模块常常不能满足您的特定需要。 即使模块能够满足需要,您的竞争对手也可以得到其中的技术。 使用标准模块,常常需要限制功率级和控制软件的采用。

巧妙的电机驱动设计要求软件、功率级和PWM完美地协调工作。 换言之,在设计这三者时,您需要完全的自由,片上PWM是不适合的。

利用FPGA解决问题
定制PWM =定制逻辑= FPGA。 使用FPGA,您还可以定制QEI接口、ADC接口、安全电路和定时器阵列,所有的设计都按照您的希望进行。

下一步:嵌入式集成
传统的高性能AC感应电机驱动包括一个FPGA和一个嵌入式处理器,如图1所示。 这个配置运行良好,只是控制环路两次横穿两个元件之间的总线。 由于这个总线常常和其他系统功能共享,性能不确定、很容易变成环路响应时间的不必要瓶颈。

Xilinx®嵌入式技术使您可以将嵌入式处理器用到FPGA上。 这种方法的优势包括较少的元件、较小的尺寸、较少的供应商。 它也提高了性能,缩短了设计时间。

协处理器接口
您选择32位MicroBlaze™软核处理器或硬编码的PowerPC™ 405处理器,都可以。 通过FPGA结构中专门与片上外设接口的电路,它们可以提供一些独特的优势。 图2 是一些设计实例,其中所有的控制环路数据,都通过专用的、决定性的、不与其他任何资源共享的链接,传送到CPU或从CPU送出。

消除设计瓶颈就像剥洋葱皮一样。 您解决了一个障碍,下一个会立即出现。 现在,已经有效地清除了一个重要的硬件管道,您应该不会惊讶于您的软件的改进潜力。 图3 是与Xilinx嵌入式开发套件(EDK)捆绑销售的软件分析仪。 在识别消耗资源的函数时,这个功能非常有用。 电机控制软件也起重要作用。

智能与蛮力
我已经提到使用蛮力设计嵌入式系统的方法。 具有协处理接口的FPGA处理器结束了通过原始MIPS解决任何性能挑战的方法。 仔细设计的硬件/软件组合,可以将CPU的性能要求降低几个数量级。

驱动中的典型软件瓶颈是浮点算数功能、DSP功能和PID功能。 作为设计者,您应该在硬件和软件模块之间规定最优组合。 FPGA为您提供了完全的自由,可以以您希望的方式,在硬件和软件之间进行平衡。

新型调试
传统的将嵌入式处理器插入FPGA的设计方法,对调试来说是非常麻烦的。 两种不同的调试工具探测两种不同的芯片,两者之间相互作用的可见性大大受限。 使用Xilinx ChipScope™ Pro分析仪,您可以用前所未有的方式,调试软件和硬件之间的相互作用。 当PWM中的基本计数器达到0x3FF时,您可以设置调试器进行触发,并观察在该点附近50 µs的窗口内,执行了哪些代码行,而无需停止运行。 或者,设置调试器在正弦表的每个相位X过零点处触发,并观察下一个5 ms内得到的PWM波形。

由于系统内任何事件链都具有完全的可见性,您可以在最短的时间内跟踪最捉摸不定的错误。

可以使用电机控制元件
Xilinx越来越认识到您是驱动设计专家这一事实,我们提供一些位和片断,让您对在FPGA上使用嵌入式处理能做什么事情,有些了解。

我们的参考设计“Spinning Wheels”,包括一个BLCD和一个AC感应电机驱动的完整实现方法。 解决方案的IP作为VHDL源代码,可以公开获得:

  • BLDC驱动单元
  • 霍尔效应BLCD解码器
  • AC感应驱动单元
  • QEI
这个解决方案与参考设计一起发售,参考设计包括MicroBlaze和C代码实例的集成、辅导资料、应用指南、和仿真测试平台(可以在您没有功率级或不是一直都能有电机时使用)。

研究一下这些块,试着感觉一下什么是可能的。 一旦您把它们组合起来,请随意使用FPU和CAN2.0B接口、或者组成完美的驱动所需要的元件,进行设计。

结论
电机控制设计是一项困难的工作。 对更智能、更快、功效更高的设计的需要,向软件和硬件工程师提出了更高的要求。 通过采用具有片上嵌入式处理器的FPGA,您可以随意实现创造性的设计理念,以超越您的竞争对手。 利用PWM设计中的完全灵活性和控制函数中对硬件/软件分离的控制,设计可能性是无限的。

带图形的、可打印PDF英文版文章。 PDF标识 (9/1/05) 425 KB

 
职位招聘 本地活动及在线座谈 本地新闻稿 投资者关系 反馈 法律声明 网站地图
© 1994-2008 Xilinx, Inc. All Rights Reserved.