运动控制曲线:好、更好和最好

运动控制是通过控制电机及其负载的性能参数,以最佳方式达到预期目标的技能和艺术。在这个简单的句子背后有许多变量:你想控制的是哪一个或哪些参数属性;位置、速度、加速度,还是抖动(jerk,加速度变化)?主要目标是实现准确的位置还是速度?最佳解决方案是否意味着在所要求的精度下能尽快实现目标?过冲情况如何?负载变化如何?功率效率和处理不可避免的故障(如失速)的情况如何?

满足所有这些目标并非易事,这些目标在某种程度上往往是相互冲突的。要做到这一点,在很大程度上取决于电机的运动控制器功能。控制器作为控制系统的“大脑”,执行根据应用目标而设计、调整的算法。这些算法还需要考虑到电机类型,可以是步进、有刷、无刷直流 (BLDC) 或交流电机等。这些算法还必须考虑负载性质(固体、液体、粉末、齿轮、轨道),以及任何联动和反冲。

控制器与电机驱动器一起工作,后者包含如 MOSFET 等功率器件,按照控制器的指令对电机电流进行调制。请注意,控制器和驱动器在存在一些功能重叠,因为有些驱动器具有基本的控制器功能,而有些控制器可以纳入低功耗 MOSFET。

始于好的运动曲线

很明显,需要电机达到规定的位置时只需简单地提供电源,使其加速到可能的最大速度并保持该速度,然后在达到预期的终点位置或速度时停止(图 1)。

图 1:管理电机运动的最简单方法是以最大可能的速度使电机加速,直到达到预期的终点,然后突然停止。(图片来源:Trinamic Motion Control GmbH)

这种方法被称为梯形曲线,是一种使用广泛的有效方法,但在许多应用中这种方法又是不可接受的。例如,在启动和停止之间过渡时,加速度从零增大到最大值所产生的大抖动会液体翻滚摇晃;另外,由于现实中电机及其负载不会立即停止,所以往往会出现不可接受的过冲。

采用更好的运动曲线

标准的改进方法是在启动和运行、运行和停止之间实现温和过渡。这就是所谓的 S 运动曲线(图 2)。

图 2:S 运动曲线为停止和运行阶段之间的速度过渡点以及反向动作增加了圆滑部分。(图片来源:Trinamic Motion Control GmbH)

这个“S”部分应该有多尖锐或多圆,以及在整个曲线中持续多长时间,均取决于应用、负载和系统在许多性能目标和约束条件之间进行权衡时的优先次序。

此外,有一个很好的理由来最小化抖动:高抖动值往往会诱发负载振荡,因为高抖动值会在运动曲线频谱中加入更多的频率,而且可能有一个或多个与系统的自然共振相匹配。现实中,从恼人的噪音到有害且具有破坏性的振动都是由这种振荡造成的。

因此,任何此类振荡虽然与更简单的、同样不受欢迎的过冲不同,但一般都是不可接受的。

追求“最佳”运动曲线

基本的 S 曲线是有效的,但在应用中可能不会提供一种最佳的运动曲线。原因是电机的动态特性、与负载的联动以及负载本身会使最初的简单运动模型变得异常复杂。

受控制的电机类型会进一步增加复杂性。另外,增加反馈传感器的闭环控制方法使得更高精度和更快响应成为可能,但这需要使用更先进的控制方法,如比例积分微分 (PID) 算法。

对于 S 运动曲线和更先进的控制,可以选择在基于专用运动控制的其他整体硬件功能和特性的条件下,使用数字处理能力更强的微处理器以实时的方式执行所需的方程。这些应用优化型处理器可以运行运动控制软件,这类软件通常由处理器供应商提供。

例如, Texas Instruments C2000 系列器件专用于这类应用,包括 F28M35H52C1RFPS。该器件是一款 C28x/ARM Cortex-M3 系列微控制器,采用 32 位双核处理器,运行速度为 100 MHz,具有 512 KB 闪存、2KB RAM 和一系列通信端口。

该处理器只是针对应用而定制的算法解决方案的一部分,因为 Texas Instruments 为基于 C2000 的电机控制提供了两种不同的途径。其数字电机控制 (DMC) 库是一套已创建多年的、广泛的电机控制软件构件,并假定用户将自己开发最佳的控制回路调节方法。该库包括随硬件评估模块提供的基准系统实例,可以作为有经验的电机控制工程师的工作起点。

相比之下,对于在运动控制方面经验有限的设计人员,TI 的 InstaSPIN 电机控制解决方案 既能提供高性能算法,又能简化开发高级解决方案的许多实际难题。该解决方案具有自我调节功能,可能达不到用户优化效果,但对应用来说应该绰绰有余。

其他供应商提供独立的 IC 和完整的 PC 板模块,通常带有相关的电机驱动器;这类驱动器预先通过复杂的运动控制算法进行了充分的编程,而且也允许用户设置关键参数并提供定制运动曲线。Trinamic Motion Control GmbHTMC5041-EVAL 评估板就是一个很好的例子,该评估板针对其用于步进电机管理的 TMC5041-LA-T 双控制器/驱动器(图 3)。

图 3:用于步进电源管理的 TMC5041 双控制器/驱动器,此处所示为位于 TMC5041-EVAL评估板上,包含了复杂的嵌入式运动控制算法和功能,并支持用户对关键运行参数进行编程。(图片来源:Trinamic Motion Control GmbH)

TMC5041包括灵活的斜坡发生器等功能,适用于高级步进电机驱动器的自动目标定位,并能确保无噪音运行的同时具有最高的效率和最佳电机扭矩。在该器件的其他预编程功能中,还包括了适应由加速和减速引起的电机反电动势 (BEMF) 的变化,这可能需要更快的调节速度。这样,用户就可调节和优化相关设置(用 PWM_GRAD 表示),以获得最快的加速和减速斜率(图 4)。

图 4:TMC5041 的复杂性体现在提供用户指定的电流驱动值设置,以确保获得最快的加速和减速,与清晰的性能相称,过冲最小。(图片来源:Trinamic Motion Control GmbH)

总结

有效的运动控制和运动曲线管理需要在位置、速度和加速度之间进行仔细权衡,同时提供准确和清晰的性能。用复杂的运动控制器来设置有关电机的驱动电流和电压的关键参数,可以实现出色的精确度、准确度以及快速响应能力。

可以通过在高性能微处理器中执行算法来执行控制器功能,也可通过嵌入式固件对专用器件进行编程来执行控制器功能,从而允许用户对运行点进行调节和微调,以获得先进的性能。

推荐阅读

1:C2000™ 实时控制微控制器的数字式电机控制方法

https://www.digikey.com/en/articles/digital-motor-control-methodology-for-c2000-real-time-control-microcontrollers

2:通过无传感器矢量控制 BLDC 和 PMS 电机来实现精确运动控制

https://www.digikey.com/en/articles/use-sensorless-vector-control-with-bldc-and-pms-motors

3:使用专用 MCU 简化运动控制设计

https://www.digikey.com/en/articles/use-specialized-mcus-to-simplify-motion-control-design

4:高级运动:控制

https://www.digikey.com/en/articles/control-for-advanced-motion

关于此作者

Image of Bill Schweber

Bill Schweber 是一名电子工程师,撰写了三本关于电子通信系统的教科书,以及数百篇技术文章、意见专栏和产品特性说明。他担任过 EE Times 的多个特定主题网站的技术管理员,以及 EDN 的执行编辑和模拟技术编辑。

在 Analog Devices, Inc.(模拟和混合信号 IC 的领先供应商)工作期间,Bill 从事营销传播(公共关系),对技术公关职能的两个方面均很熟悉,即向媒体展示公司产品、业务事例并发布消息,同时接收此类信息。

担任 Analog 营销传播职位之前,Bill 在该公司颇受推崇的技术期刊担任副主编,并且还在公司的产品营销和应用工程部门工作过。在此之前,Bill 曾在 Instron Corp. 工作,从事材料测试机器控制的实际模拟和电源电路设计及系统集成。

他拥有电气工程硕士学位(马萨诸塞州立大学)和电气工程学士学位(哥伦比亚大学),是注册专业工程师,并持有高级业余无线电许可证。Bill 还规划、撰写并讲授了关于各种工程主题的在线课程,包括 MOSFET 基础知识、ADC 选择和驱动 LED。

More posts by Bill Schweber
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum