您已根据视频源、其它传感器、项目目标和应用细节的输入,确定了机器人手臂的轨迹和位置。 剩下只有一个问题——即将所需的目标位置转换为特定指令,以需要的加速度、速度和减速度驱动手臂的电机,使其在没有过冲和任何电气问题的情况下(如果存在机械故障)顺利到达终点。
将来自系统处理器的低电平数字信号转换为电机本身具体的详细指示,是一个需要多方位考虑的过程。 此外,这些数字信号不具备电机通常所需的高电压和高电流。 因此,在实际电机的指令和控制之间需要一系列的控制和转换级(图 1)。
图 1:完整的电机控制信号路径由数字和处理器功能(1、2、3)以及需要截然不同设计专长的模拟和电源电路(4、5)构成,具有复杂的技术要求。 (使用 Digi-Key Scheme-it 绘制的原理图)
其中的中间级是调用总体任务(“将杯子从 A 移动到 B 并清空内容物”)的用户 I/O(框 1)与实际执行工作的电机(框 6)之间的关键路径。 具体包括:
- 将高级目标转换为一个或多个电机的“向前移动机械臂 2 英寸,顺时针旋转 180 度,然后停止”(框 2)等具体步骤的监控处理器;
- 运动控制算法处理器(框 3)。 该处理器定义了如何根据加速度和加速时段、行进速度、减速度和减速时段以及终点等所需的运动轨迹因素完成每个步骤。 然后确定如何驱动电机线圈,并执行这些细节。 此外,可用一个处理器为多个电机执行此操作,尤其是当它们的动作相互关联时。
- 来自 (3) 的低电平数字信号然后进入 MOSFET/IGBT 驱动器(框 4),它可提供打开/关闭电源开关 MOSFET/IGBT 所需的特定电压和电流。 这些驱动器是轻松的低电平数字信号与棘手的高功率管理功能之间的接口。 这些驱动器必须与 MOSFET/IGBT 所需的电压、电流、压摆率以及开/关时段等独特驱动参数相匹配,并且还要适应 MOSFET/IGBT 可能遇到的开关瞬态、过热、甚至短路等常见问题。
- 然后,电源开关(MOSFET 或 IGBT)以电机所需的电流/电压水平(框 6)控制进入电机线圈的电流(框 5)。 请注意,许多但并非所有应用还需使用电机提供的某类传感器反馈(霍尔效应传感器、编码器、旋转变压器),以告知处理器该电机的实际情形;而有些算法,如磁场定向控制 (FOC),不需要此类反馈,但需要进行额外的计算并可能降低精度。
根据电机和应用的情况,电压可以是个位数、两位数或更高,而电流范围则从几百毫安到几十安及以上。 MOSFET/IGBT 驱动器必须与其 MOSFET/IGBT 相匹配;反之,MOSFET/IGBT 也必须匹配该电机。
有许多不同的电机类型可供使用,包括步进电机、无刷直流电机 (BLDC) 或 A 感应电机,每种电机都具有独特的属性和应用场合。 虽然没有关于电机类型及其最适合应用的绝对指南,但步进电机通常用于需要精确起停动作的较低功率水平;BLDC 电机适用于低/中功率范围,尤其是需要连续旋转(和运动)的场合;而交流感应电机通常成本最低,但精度和可重复性也较低。
该解决方案的分割
尽管图中方框 2 - 5 执行的功能是单独显示的,实际上它们可通过各种方式进行组合,具体取决于系统的功率水平和性能要求。 其可能性包括:
- 监控处理器 (2) 的功能和运动控制算法处理器 (3) 的功能可由一个 CPU 完成。 一般而言,此做法仅在处理器相当强大时才可行,这是因为算法通常很复杂且需要大量的实时计算。
- 运动控制算法处理器 (3) 和 MOSFET/IGBT 驱动器 (4) 可位于一块印刷电路板上。 当目标电机是单一尺寸和类型,而不是一个系列,并且使用的 MOSFET/IGBT 也是单一尺寸时,此做法是极具吸引力的解决方案。 由于运动控制算法处理器可能是高耗散的 IC,且驱动器也是耗散相对较高的装置,因此还需要考虑散热。
- 最后,MOSFET/IGBT 驱动器 (4) 和 MOSFET/IGBT (5) 可位于一个电路板上,作为处理器 (3) 和电机负载 (6) 之间的接口。 这是一种常用配置,因为该组合通常可作为“替代解决方案”,解决高速、低电平数字信号的转换难题、电机接口的现实难题以及任何电机带来的诸多问题等。
由于大多数机器人应用都是多轴,具有多个自由度(通常三到六个),因此部分驱动器板被设计为支持多个电机。 通过这种方式,算法处理器可通过一个接口向电机提供控制方向。
最佳的方法是什么? 正如所有的工程设计决策一样,您需要基于许多因素进行权衡:易用性、设计风险、上市时间、灵活性、适应性、安装和成本以及性能等。 许多用户选择集成式解决方案(模块或印刷电路板),将 MOSFET/IGBT 驱动器与 MOSFET/IGBT 本身组合在一起。 使用此方法可最大程度减小对于大多数设计人员而言最具风险和最具挑战性的因素,确保驱动器兼容其控制的 MOSFET/IGBT 开关元件。
此外,它还可让用户专注于算法及低电平数字电路接口,以及特定应用中不可避免的琐碎细节。 无论是作为模块、印刷电路板还是厂商参考设计,这些驱动器和 MOSFET/IGBT 的组合可谓是设计团队快速推进项目并专注于应用性能的最快方式。
上述组合平台还集成了大多数或者所有电路细节,如短路保护、欠压锁定和过热关断等,这是一个设计精良的电机驱动电路实现安全性和可靠性所需要的。 此外,通过在处理器和电机之间使用不同的中间板,该组合方法还可在使用相同处理器和软件的同时轻松支持一系列不同的电机尺寸。
用户选择范围广泛
用户可使用各种各样的驱动器和 MOSFET/IGBT 配对来处理各种电机类型和需求。 其目的在于简化设计难度,进而让设计团队专注于应用的固件及其不可避免的特性。
我们用一些例子说明其中的要点。 对于中高功率水平的 AC 电机,如家用电器(洗衣机、冰箱、空调、缝纫机),不妨选择 STMicroelectronics 的 SLLIMM™(小型低损耗智能集成模块)元件。
这些集成式电源模块 (IPM) 设计用于三相逆变器,额定值为 8 A/600 V。模块包含了三个用于标准逆变桥配置的 IGBT,由隔离的高压侧和低压侧驱动器进行控制,因此用户不需要提供隔离(隔离不仅涉及到更多的元件和成本,而且需要满足严格的监管要求)。
简化型 SLLIMM 框图(图 2)无法显示装置的实际复杂度。 应用原理图(图 3)则更加清晰,它显示了用户仅需要添加少数低成本的电容器和部分电阻;所有其他必要元件,如软恢复二极管、电平位移器、隔离和保护,都嵌入在模块中,并且对用户透明。
图 2:通过借助 IGBT,将几乎所有的控制较高功率交流感应电机的电路,集成到带有强制电流隔离的封装模块中,STMicroelectronics SLLIMM 将这种高电压难题转换为中等难度的项目。 (图片来源:STMicroelectronics)
图 3:SLLIMM 是低电平微控制器和交流感应电机之间近乎完整的接口,只需要低成本、非关键的无源元件(大多数为电容器、部分为电阻、没有电感器)即可实现最终的安装。 (图片来源:STMicroelectronics)
此模块的输入是标准的 3.3/5 V TTL/CMOS 信号,然而它可根据运行、安全性及监管要求的需要,在这些输入和功率输出之间提供 1500 V 的隔离。 尽管额定功率相当高,但模块尺寸小巧,约 38 mm 长、25 mm 宽,仅 3.5 mm 厚。
对于含多个 BLDC 电机的应用,不妨了解 Cypress Semiconductor 的 CY8CKIT-037 PSoC 4 电机控制评估套件,它可通过在常用 H 桥配置中布置的 MOSFET,处理最多四个电机(图 4)。 这些电机可以是永磁同步电机 (PMSM)、步进电机和无刷直流 (BLDC) 电机。 该套件旨在通过 Arduino 微控制器板进行驱动,并允许用户实现并评估电机控制算法。
图 4:Cypress Semiconductor 的 CY8CKIT-037 PSoC 4 电机控制评估套件包括运动控制项目所需的一切,包括电源、电机、电缆,甚至螺丝刀。 (图片来源:Cypress Semiconductor)
驱动器板(图 5 和图 6)与电机相连;它包含 DC/DC 电源电路、双 H 桥电路、电机电流及总线电压采样与处理电路、保护电路、用户配置电路以及控制器板连接器。
关联的 CY8CKIT-042 控制器板将从 Arduino 板接收信号,执行控制策略的算法,然后生成驱动器板的控制信号,实现对电机的控制。 此外,该套件还支持使用霍尔效应传感器提供的反馈,为控制器更新电机的实际位置(以及速度和加速度),实现密闭的闭环性能。但是,该套件也可与无传感器的 FOC 设计配合使用。
图 5:CY8CKIT-037 驱动器板配有全部连接器(以及方便互联的螺纹端子)、USB 接口、霍尔效应反馈传感器接口以及 Arduino 接口,所有器件均易于连接使用。 (图片来源:Cypress Semiconductor)
图 6:CY8CKIT-037 驱动器板框图显示了其为 Arduino 型微控制器板和电机之间的完整接口提供的诸多功能,包括管理 H 桥电机以及提供位置反馈(如果需要)。 (图片来源:Cypress Semiconductor)
SparkFun 的 Big Easy 驱动器 ROB-12859 是一款用于电机的额定值为每相位 1.4 - 1.7 A、通过适当散热可达到 2 A 的步进电机驱动器板(图 7),支持并推动着采用低功率步进电机的应用趋势。 该驱动器板的核心是 Allegro A4988 步进电机驱动器 IC,它支持全步模式以及 1/2、1/4、1/8 和 1/16 步的微步进控制。
图 7:SparkFun 的 Big Easy 驱动器 ROB-12859 采用 Allegro A4988 IC 作为其核心元件,可对额定电压在 30 V 以内的中/小功率步进电机进行控制。 (图片来源:SparkFun)
关联的微控制器板(如 Arduino)和 Big Easy 驱动器之间的互连十分简单。 它只需要该板提供两个控制信号(一个用于“步进”,一个用于“方向”),并生成启动和步进驱动电机的定时功率信号,这样可最大程度地降低微控制器的处理负载。 它可接受高达 30 V 的最高电机驱动电压,并含有板载 5 V/3.3 V 稳压器,因此仅需一个外部电源。
结论
对于许多设计团队而言,为机器臂或类似应用开发运动/电机控制解决方案的挑战和挫折在于如何实现数字电路和目标电机之间的接口。 而该工作需要不同的设计专长来处理各种功率水平(电流和电压)、模拟问题、布局限制、电路保护功能,实际电机与其 MOSFET/IGBT 之间的兼容性以及 MOSFET/IGBT 与其驱动器之间的兼容性等。
幸运的是,设计人员现在有较大的选择余地,极大简化了这一问题。 设计人员可通过多个来源获得提供基本接口功能以及必要安全和保护元件的、适合不同功率水平和电机类型的模块和印刷电路板。