使用带集成微控制器的驱动器 IC 快速实现电机控制设计                         
作者:Jacob Beningo        

在诸如汽车、机器人、工业控制和飞行器这类应用中,电机的使用呈现稳步增加的态势。然而,传统上的电机电子设备往往具有重量沉、体积大、效率低等特点,还因涉及高驱动电压而难以使用。随着设计人员面临的电子设备需求与日俱增,包括降低 BOM 成本、提高效率、减小封装以及提高灵活性和加快上市速度等,提升电子设备的集成度和易用性势在必行。
本文将介绍 STMicroelectronics 推出的 STSPIN32F32F060x 系列产品——具有内置微控制器的系统级封装 (SiP) 三相电机控制器;并展示如何使用它们来应对上述设计、成本和上市时间方面的市场挑战。

如何驱动三相电机

要想成功驱动三相电机,必须在设计中内置几个硬件块:

  • 一个微控制器
  • 一个电机驱动 IC
  • 高压 MOSFET 或 IGBT(执行实际开关操作)
在传统的电机控制器设计中,开发人员往往将印刷电路板的一个部分专门用于以上所有三个硬件块。通常,微控制器将脉冲宽度调制 (PWM) 信号发送到电机驱动 IC,以驱动 MOSFET;电机驱动 IC 会仔细监控这些信号以及在电机控制器输出端产生的输出电流和电压。微控制器通常还会通过 I2C 或 SPI 总线与电机驱动 IC 通信,以启用自定义特性和功能,或者也可能使用六个左右的离散 GPIO 信号来控制电桥的行为。
在当今的开发周期中,外部桥驱动器 IC 面临的挑战在于,它们增加了额外的成本和复杂性,而且占用了宝贵的印刷电路板空间,更不用说微控制器上的输入和输出 (I/O) 信号还可能用于其他用途。在这方面,一种新型集成式微控制器和桥电路能够简化电机控制应用,同时降低 BOM 成本并最大程度地减小印刷电路板的表面积。

使用 STSPIN32F060x
STMicroelectronics 的 STSPIN32F060x SiP 系列元器件便是这类电路的代表之作,其中内嵌了一个带有 600 伏三半桥栅极驱动器的 STM32F031x6x7 Arm® Cortex®-M0 微控制器(图 1)。每个半桥可用于驱动无刷直流 (BLDC) 电机每个相上的 MOSFET 或 IGBT。
图 1:STM32F060x 集成了一个带有 600 伏三半桥栅极驱动器的 STM32F031 Arm Cortex-M0,以节省成本、印刷电路板空间和封装引脚。(图片来源:STMicroelectronics)
该系列提供了一些非常有趣的特性和保护措施。例如,其中的零件包括:

  • 具有高级智能关机 (smartSD) 功能的比较器,可确保快速有效地防止过载和过流
  • 集成式高压自举二极管
  • 防跨导保护
  • 空载时间保护
  • UVLO 保护
内置的微控制器以 48 兆赫 (MHz) 的速度运行,并包含 32 KB 闪存和 4 KB RAM,非常适合实现磁场定向控制 (FOC)。
STM32F060x 系列当前包括两个零件:STSPIN32F0601 和 STSPIN32F0602。两者之间的主要区别在于,0601 可以支持高达 0.35 安培 (A) 的栅极驱动电流,而 0602 可以支持高达 1.0 A 的栅极驱动电流。
请注意,在 IC 内部,STM32F031 微控制器通过封装内的多条 GPIO 线连接至栅极驱动器。GPIO PA11 可用于启用栅极驱动器,GPIO PB12 可用于检测电桥是否存在故障。GPIO PA8 – PA10 可用于栅极驱动器的高压侧输入,而 GPIO PB13 – 15 则用于栅极驱动器的低压侧输入。这样,开发人员就不必使用外部 GPIO 引脚来控制栅极驱动器,同时无需在印刷电路板上对单独的 IC 布设走线。通过集成这两个组件,不仅简化了硬件和设计复杂性,还能显著降低 BOM 成本。

利用 EVSPIN32F0601S1 开发板加速开发
为 STSPIN32F060x 提供支持的是一块 EVSPIN32F0601S1 开发板,这是一个完整的三相逆变器入门套件,其中包括所有必要的电子设备,通过使用 STSPIN32F0601 控制器即可启动和运行 BLDC 电机(图 2)。EVSPIN32F0601S1 分为五个主要部分:

  • STSPIN32F0601
  • 可拆卸的 STLINK 调试器
  • 反馈网络
  • 功率级
  • 电源
图 2:EVSPIN32F0601S1 开发板提供了所有必要的电子设备,通过使用 STSPIN32F0601 控制器即可启动和运行 BLDC 电机。(图片来源:STMicroelectronics)
如果需要,开发人员可以从开发板上移除 PCB STLINK 调试器,这样便能缩小板尺寸,使其可在原型和概念验证 (PoC) 外壳中使用。不过,开发人员仍可连接外部 STLINK-V3SET(图 3),只要将其连接到开发板上的 SWD 针座即可。
图 3:STLINK-V3SET 调试器是一个外部调试器,可用于对使用 STM32 微控制器编写的应用程序进行编程和调试。(图片来源:STMicroelectronics)
开发板还包括一个反馈网络,可用于需要传感器提供电压和电流反馈的电机控制算法。在许多现代设计中,可以移除这些反馈网络并使用 FOC 算法。这是一种无传感器的电机控制算法,可进一步降低 BOM 成本和缩小最终印刷电路板的尺寸。
功率级为开发人员提供了高压侧和低压侧 MOSFET 或 IGBT,可用于开关不同电机绕组上的电压。该电路板设计的有趣之处在于,尺寸适用于 DPAK 或 PowerFlat 封装,因而允许开发人员对其进行修改,以选择使用自己的 MOSFET 或 IGBT。
最后,电源可以提供 50 伏至 280 伏的 DC/AC 输入。此外,板载的反激式变压器还能产生 +15 和 +3.3 伏电压,以供应用使用。
为了试验开发板,需要连接一个 BLDC,例如 Trinamic Motion Control GmbH 的 QBL4208-41-04-006(图 4)。BLDC 电机的每个相通过相应的输出螺纹端子连接到 EVSPIN32F0601S1。
图 4:QBL4208-41-04-006 BLDC 电机的运行速度为 4000 RPM,可与 EVSPIN32F0601S1 开发板一起用于开发广泛的应用。(图片来源:Trinamic Motion Control GmbH)
尽管 EVSPIN32F0601S1 开发板具有驱动 BLDC 电机所需的全部硬件,但三相电机还需要软件。要成功驱动电机,开发人员可以利用 STMicroelectronics 的 X-CUBE-MCSDK 电机控制软件开发套件。该库可与 ST32CubeIDE 和 ST32CubeMx 等软件包一起使用,轻松配置电机控制解决方案。

使用软件驱动 BLDC 电机
X-CUBE-MCSDK 软件包内含两个高级应用程序:MotorControl Workbench 和 Motor Profiler。Motor Control Workbench 允许开发人员创建电机控制项目来轻松运行电机。若要驱动电机,可以使用各种电机算法,包括 FOC 以及各种反馈拓扑,例如:

  • 一个分流电阻器
  • 三个分流电阻器
  • 两个隔离的电流传感器
Motor Profiler 允许开发人员输入自己的常规电机参数,然后对电机进行完整的分析。该项分析将提供算法(例如 FOC)成功驱动电机所需的常规电机参数。
在 Motor Control Workbench 中创建项目非常简单。开发人员需要打开 Motor Control Workbench 并选择新项目。然后,他们可以输入自己的参数,如图 5 所示:

  • 应用类型
  • 将要控制的电机数量
  • 其控制和电源配置
  • 电机参数,例如极数、速度、电压和标称电流
图 5:Motor Control Workbench 项目配置允许开发人员为硬件自定义项目设置。(图片来源:Beningo Embedded Group)
选择项目信息后,开发人员可以单击 OK(确定),然后进入 Motor Control Workbench(图 6)。在工作台中,开发人员可以自定义应用行为。可配置的内容包括:

  • 固件设置,如启动配置文件、驱动设置和感应选项
  • 数字 I/O 设置,如编码器接口、霍尔传感器、串行通信以及启动和停止按钮
  • 数模转换器 (DAC) 功能
  • 模拟输入和保护设置,用于配置针对相电流、总线电压、温度和 PFC 级的反馈。
图 6:Motor Control Workbench 使开发人员能够自定义固件,调整 MCU 和时钟频率以及数字 I/O、DAC 和模拟输入保护。(图片来源:Beningo Embedded Group)
开发人员甚至可以通过点击复选框来启用和禁用设置,例如:

  • 总线电压检测
  • 温度感测
  • 具有过流保护的电流检测
  • 速度感测
开发人员甚至不需要查看任何 API 或代码行,便可完整配置电机控制应用。

总结
开发人员和电机控制系统设计人员面临越来越大的压力,他们必须让电子设备的成本更低、效率更高和封装更小。如上所示,在三相 BLDC 电机控制器应用中使用 STSPIN32F060x SiP,不仅降低了 BOM 成本,还减小了印刷电路板空间,降低了系统复杂性。该产品还附带高效的生态系统,包括开发板和软件,旨在支持开发人员快速轻松地启动并运行电机控制应用。