ZHDU069 March   2026 MSPM0G1507 , MSPM0G1519 , MSPM0G3507 , MSPM0G3519

 

  1.   1
  2.   摘要
  3.   商标
  4. 1 简介
  5. 2 电机控制理论
    1. 2.1 BLDC 电机基础知识
    2. 2.2 数学模型和 FOC 结构
    3. 2.3 无传感器场定向控制
      1. 2.3.1 FOC 基础知识
      2. 2.3.2 增强型滑模观测器
      3. 2.3.3 有限差分 BEMF 估算器
      4. 2.3.4 转子位置和转速估算
  6. 3 MSP FOC 系统
    1. 3.1 设计资源
    2. 3.2 FOC 特性概述
    3. 3.3 FOC 基准
  7. 4 MSP FOC 硬件
    1. 4.1 PWM 引脚配置
    2. 4.2 ADC 引脚配置
      1. 4.2.1 直流总线电压
      2. 4.2.2 电机相电压
      3. 4.2.3 电机相电流
        1. 4.2.3.1 单分流器电流检测
        2. 4.2.3.2 双或三分流器电流检测
        3. 4.2.3.3 采用同步采样的三分流器电流检测
    3. 4.3 故障引脚配置
    4. 4.4 霍尔 GPIO 引脚配置
    5. 4.5 GPIO 引脚配置
    6. 4.6 SPI 引脚配置
    7. 4.7 UART 引脚配置
    8. 4.8 评估板的外部连接
  8. 5 MSP FOC 软件
    1. 5.1 工程结构
    2. 5.2 软件概述
      1. 5.2.1 应用层
        1. 5.2.1.1 FOC 库
        2. 5.2.1.2 电机控制应用
        3. 5.2.1.3 主应用程序
      2. 5.2.2 HAL 层
        1. 5.2.2.1 栅极驱动器接口
        2. 5.2.2.2 电流检测电路
        3. 5.2.2.3 硬件接口
        4. 5.2.2.4 通信接口
      3. 5.2.3 MSPM0 Driverlib 层
    3. 5.3 寄存器映射(无传感器 FOC)
      1. 5.3.1 用户控制寄存器(基址 = 0x20200400h)
        1. 5.3.1.1 速度控制寄存器(偏移 = 0h)[复位 = 00000000h]
        2. 5.3.1.2 算法调试控制 1 寄存器(偏移 = 4h)[复位 = 00000000h]
        3. 5.3.1.3 算法调试控制 2 寄存器(偏移 = 8h)[复位 = 00000000h]
        4. 5.3.1.4 算法调试控制 3 寄存器(偏移 = Ch)[复位 = 00000000h]
        5. 5.3.1.5 DAC 配置寄存器(偏移 = 10h)[复位 = 00000000h]
      2. 5.3.2 用户输入寄存器(基址 = 0x20200000h)
        1. 5.3.2.1  SYSTEM_PARAMETERS(偏移 = 0h)
        2. 5.3.2.2  MOTOR_STARTUP1 寄存器(偏移 = 3Ch)[复位 = 00000000h]
        3. 5.3.2.3  MOTOR_STARTUP2 寄存器(偏移 = 40h)[复位 = 00000000h]
        4. 5.3.2.4  CLOSED_LOOP1 寄存器(偏移 = 44h)[复位 = 00000000h]
        5. 5.3.2.5  CLOSED_LOOP2 寄存器(偏移 = 48h)[复位 = 00000000h]
        6. 5.3.2.6  FIELD_CTRL 寄存器(偏移 = 4Ch)[复位 = 00000000h]
        7. 5.3.2.7  FAULT_CONFIG1 寄存器(偏移 = 50h)[复位 = 00000000h]
        8. 5.3.2.8  FAULT_CONFIG2 寄存器(偏移 = 54h)[复位 = 00000000h]
        9. 5.3.2.9  MISC_ALGO 寄存器(偏移 = 58h)[复位 = 00000000h]
        10. 5.3.2.10 PIN_CONFIG 寄存器(偏移 = 5Ch)[复位 = 00000000h]
        11. 5.3.2.11 PERI_CONFIG 寄存器(偏移 = 60h)[复位 = 00000000h]
      3. 5.3.3 用户状态寄存器(基址 = 0x20200430h)
  9. 6 快速入门指南
    1. 6.1 CCS IDE
      1. 6.1.1 工程设置
      2. 6.1.2 工程调试
    2. 6.2 GUI
  10. 7 电机调优指南
    1. 7.1 硬件板参数
      1. 7.1.1 基极电压 (V)
      2. 7.1.2 基极电流 (A)
    2. 7.2 电机参数
      1. 7.2.1 电机相电阻 (mΩ)
      2. 7.2.2 电机相电感 (μH)
      3. 7.2.3 IPMSM 电机的凸极
      4. 7.2.4 电机极点对
      5. 7.2.5 电机 BEMF 常数 (mV/Hz)
      6. 7.2.6 最大电机频率 (Hz)
      7. 7.2.7 最大电机功率 (W)
    3. 7.3 控制环路参数
      1. 7.3.1 速度/功率环路
      2. 7.3.2 电流环路
    4. 7.4 霍尔角度表
      1. 7.4.1 霍尔校准
      2. 7.4.2 寄存器表
    5. 7.5 旋转电机 (LVBLDC)
    6. 7.6 旋转带霍尔传感器的电机
    7. 7.7 调优电机 (LVBLDC)
      1. 7.7.1 基本调优
        1. 7.7.1.1  启动模式
          1. 7.7.1.1.1 对齐模式
            1. 7.7.1.1.1.1 电流环路中的强制对齐模式
            2. 7.7.1.1.1.2 PWM 环路中的强制对齐模式
          2. 7.7.1.1.2 双对齐模式
          3. 7.7.1.1.3 初始位置检测 (IPD) 模式
            1. 7.7.1.1.3.1 高分辨率 IPD
          4. 7.7.1.1.4 慢速首循环 (SFC) 模式
        2. 7.7.1.2  开环模式
          1. 7.7.1.2.1 自动转换
          2. 7.7.1.2.2 强制开环模式
        3. 7.7.1.3  从开环转换到闭环
        4. 7.7.1.4  闭环模式
          1. 7.7.1.4.1 调优控制参数
          2. 7.7.1.4.2 调优 PI 参数
        5. 7.7.1.5  停止模式
          1. 7.7.1.5.1 滑行(高阻态)模式
          2. 7.7.1.5.2 主动降速模式
          3. 7.7.1.5.3 制动模式
            1. 7.7.1.5.3.1 低侧制动
            2. 7.7.1.5.3.2 对齐制动
        6. 7.7.1.6  故障处理
          1. 7.7.1.6.1 MOTOR_STALL
            1. 7.7.1.6.1.1 ABN_SPEED_FAULT
            2. 7.7.1.6.1.2 ABN_BEMF_FAULT
            3. 7.7.1.6.1.3 NO_MOTOR_FAULT
          2. 7.7.1.6.2 VOLTAGE_OUT_OF_BOUNDS
          3. 7.7.1.6.3 LOAD_STALL
          4. 7.7.1.6.4 HARDWARE_OVER_CURRENT
          5. 7.7.1.6.5 HV_DIE
        7. 7.7.1.7  电机旋转方向
        8. 7.7.1.8  PWM 配置
          1. 7.7.1.8.1 PWM 频率
          2. 7.7.1.8.2 PWM 死区时间
        9. 7.7.1.9  FOC 环路频率
        10. 7.7.1.10 用于基本调优的硬代码
      2. 7.7.2 高级调优
        1. 7.7.2.1 控制模式设置
          1. 7.7.2.1.1 闭环速度控制模式
          2. 7.7.2.1.2 闭环功率控制模式
          3. 7.7.2.1.3 闭环扭矩控制模式
          4. 7.7.2.1.4 开环电压控制模式
            1. 7.7.2.1.4.1 超前角控制
        2. 7.7.2.2 每安培最大扭矩 (MTPA) 控制
        3. 7.7.2.3 弱磁控制 (FWC)
        4. 7.7.2.4 死区时间补偿
        5. 7.7.2.5 PWM 生成模式
        6. 7.7.2.6 过调制模式
        7. 7.7.2.7 初始速度检测 (ISD) 模式
          1. 7.7.2.7.1 电机重新同步
          2. 7.7.2.7.2 反向驱动
          3. 7.7.2.7.3 快速 ISD
        8. 7.7.2.8 防电压浪涌
    8. 7.8 覆盖用户输入寄存器表
  11. 8 硬件迁移指南
    1. 8.1 硬件层概述
    2. 8.2 栅极驱动器模块
      1. 8.2.1 选择参考工程
      2. 8.2.2 修改预定义符号
      3. 8.2.3 添加自定义源文件
        1. 8.2.3.1 栅极驱动器通信文件夹
        2. 8.2.3.2 HAL 层文件
      4. 8.2.4 添加自定义通信接口
      5. 8.2.5 覆盖默认宏定义
        1. 8.2.5.1 main.h 文件
          1. 8.2.5.1.1 电流检测路径中的延迟分量
        2. 8.2.5.2 gateDriver.h 文件
    3. 8.3 MCU 外设配置
      1. 8.3.1 PWM 模块
        1. 8.3.1.1 用于 PWM 输出的不同引脚
        2. 8.3.1.2 用于 PWM 故障输入的不同引脚
        3. 8.3.1.3 与 PWM 输出通道的不同映射
      2. 8.3.2 ADC 模块
        1. 8.3.2.1 电流检测类型
        2. 8.3.2.2 电流检测方法
          1. 8.3.2.2.1 三分流器配置
          2. 8.3.2.2.2 采用同步采样的三分流器配置
          3. 8.3.2.2.3 双分流器配置
          4. 8.3.2.2.4 单分流器配置
        3. 8.3.2.3 CSA 偏移比例因子
        4. 8.3.2.4 通道映射
          1. 8.3.2.4.1 相电流通道
            1. 8.3.2.4.1.1 三分流器配置
            2. 8.3.2.4.1.2 双分流器配置
            3. 8.3.2.4.1.3 单分流器配置
          2. 8.3.2.4.2 总线电压通道
          3. 8.3.2.4.3 相电压通道
        5. 8.3.2.5 触发模式
          1. 8.3.2.5.1 三或双分流器配置
          2. 8.3.2.5.2 单分流器配置
      3. 8.3.3 GPIO 引脚
      4. 8.3.4 HALL 模块
      5. 8.3.5 UART 模块
      6. 8.3.6 DAC12 模块
      7. 8.3.7 IPD 模块(捕获计时器)
    4. 8.4 自定义板验证
  12. 9 常见问题解答 (FAQ)
    1. 9.1 MSPM0 无法连接
    2. 9.2 以硬编码形式启动电机
    3. 9.3 减少 1 个用于同步采样的 ADC 引脚
    4. 9.4 调优实时控制参数
    5. 9.5 跟踪实时变量
      1. 9.5.1 DAC12 输出
      2. 9.5.2 J-Scope 工具
  13. 10总结
  14. 11参考资料
  15. 12修订历史记录

FOC 基础知识

为了实现更好的动态性能,需要采用更加复杂的控制方案来控制 PM 电机。借助微控制器提供的数学处理能力,我们可以实施先进的控制策略,这些策略使用数学变换将永磁电机中的扭矩生成和磁化功能解耦。这种解耦的扭矩和磁化控制通常称为转子磁通定向控制,或简称为磁场定向控制 (FOC)。

在直流 (DC) 电机中,定子和转子的励磁是独立控制的,产生的扭矩和磁通可以独立调整,如图 2-5 所示。磁场激励强度(例如,磁场激励电流的振幅)决定了磁通的大小。通过转子绕组的电流确定了扭矩是如何生成。转子上的换向器在扭矩产生过程中发挥着有趣的作用。换向器与电刷接触,这个机械构造旨在将电路切换至机械对齐的绕组以产生最大的扭矩。这样的安排意味着,电机的扭矩产生在任何时候都非常接近于最佳情况。这里的关键点是,通过管理绕组以保持转子绕组产生的磁通与定子磁场垂直。

为了实现更好的动态性能,需要采用更加复杂的控制方案来控制 PM 电机。借助微控制器提供的数学处理能力,我们可以实施先进的控制策略,这些策略使用数学变换将永磁电机中的扭矩生成和磁化功能解耦。这种解耦的扭矩和磁化控制通常称为转子磁通定向控制,或简称为磁场定向控制 (FOC)。

 在直流电机模型中磁通和扭矩是独立控制的图 2-5 在直流电机模型中磁通和扭矩是独立控制的

同步和异步电机上的 FOC(也称为矢量控制)旨在分别控制扭矩产生分量和磁化通量分量。利用 FOC 控制,我们能够解耦定子电流的扭矩分量和磁化通量分量。借助于磁化的去耦合控制,定子磁通的扭矩生成分量现在可以被看成是独立扭矩控制。为了去耦合扭矩和磁通,有必要采用几个数学变换,而这是最能体现微控制器价值的地方。微控制器提供的处理能力可非常快速地执行使这些数学变换。反过来,这意味着控制电机的整个算法可以高速率执行,从而实现了更高的动态性能。除了去耦合,现在一个电机的动态模型被用于很多数量的计算,例如转子磁通角和转子速度。这意味着,它们的影响被计算在内,并且总体控制质量更佳。

根据电磁定律,同步电机中产生的扭矩等于两个现有磁场的矢量叉积,如方程式 6 所示。

方程式 6. τem=B→stator×B→rotor

该表达式表明,如果定子和转子磁场正交,则扭矩最大,这意味着我们需要将负载保持在 90 度。如果我们能够始终确保满足这一条件,并且能够正确地对磁通进行定向,将减少扭矩纹波并确保实现更好的动态响应。然而,您需要了解转子的位置:这可以通过位置传感器(诸如递增编码器)实现。对于无法接近转子的低成本应用,采用不同的转子位置观察器策略可无需使用位置传感器。

简而言之,目标是使转子和定子磁通保持正交:例如,目标是将定子磁通与转子磁通的 q 轴对齐,从而与转子磁通正交。为了实现这个目的,控制与转子磁通正交的定子电流分量以产生命令规定的扭矩,并且直接分量被设定为零。定子电流的直接分量可用在某些磁场减弱的情况下,这有抗拒转子磁通的作用,并且减少反电动势,从而实现更高速的运行。

磁场定向控制包括控制由矢量表示的定子电流。该控制基于将三相时间和速度相关系统变换为两坐标(d 和 q 坐标)时不变系统的投影。这些设计导致一个与 DC 机器控制结构相似的结构。磁场定向控制 (FOC) 电机需要两个常数作为输入基准:扭矩分量(与 q 坐标对齐)和磁通分量(与 d 坐标对齐)。由于磁场定向控制只是基于这些投影,因此控制结构将处理瞬时电量。这使得在每次的工作运转过程中(稳定状态和瞬态)均可实现准确控制,并且与受限带宽数学模型无关。因此,FOC 通过以下方式解决了传统方案存在的问题:

  • 轻松达到恒定基准(定子电流的扭矩分量和磁通分量)
  • 轻松应用直接扭矩控制,这是因为在 (d, q) 坐标系中,扭矩的表达式定义如方程式 7 所示。
    方程式 7. τem∝ψR×isq

通过将转子磁通 (ψR) 的振幅保持在一个固定值,扭矩和扭矩分量 (iSq) 之间存在线性关系。然后我们可以通过控制定子电流矢量的扭矩分量来控制扭矩。

空间矢量定义和投影

交流电机的三相电压、电流和磁通可根据复数空间矢量进行分析。对于电流,空间矢量可定义如下。假设 ia、ib、ic 是定子相中的瞬时电流,则复定子电流矢量的定义如方程式 8 所示。

方程式 8. i¯s=ia+αib+α2ic

其中 α=ej23π 和 α2=ej43π 表示空间运算符。

图 2-6 展示了定子电流复空间矢量。

 定子电流空间矢量及其以 (a,b,c) 坐标系表示的分量图 2-6 定子电流空间矢量及其以 (a,b,c) 坐标系表示的分量

其中 (a,b,c) 是三相系统轴。这个电流空间矢量对三相正弦系统进行了描述,但仍需变换为一个两坐标非时变系统。这个变换可拆分为两个步骤:

  • (a, b)⇒(α,β)(Clarke 变换),输出一个两坐标时变系统
  • α,β⇒(d, q)(Park 变换),输出一个两坐标时不变系统

(a, b)⇒(α,β) Clarke 变换

可以使用另外一个仅包含两相 (α, β) 正交轴的坐标系来表示该空间矢量。假设 a 轴和 α 轴方向相同,我们可以得到下面图 2-7 所示的矢量图。

 静止坐标系中的定子电流空间矢量图 2-7 静止坐标系中的定子电流空间矢量

将三相系统修改为 (α, β) 二维正交系统的投影如方程式 9 所示。

方程式 9. isα=iaisβ=13ia+23ib

两相 (α, β) 电流仍取决于时间和速度。

α,β⇒(d, q) Park 变换

这是 FOC 内最重要的变换。事实上,该投影在 (d, q) 旋转坐标系中修改了一个两相正交系统 (α, β)。如果我们考虑 d 轴与转子磁通对齐,那么图 2-8 显示了来自该二维坐标系的电流矢量的关系。

 d,q 旋转坐标系中的定子电流空间矢量图 2-8 d,q 旋转坐标系中的定子电流空间矢量

电流矢量的磁通和扭矩分量由方程式 10 决定。

方程式 10. isd=isαcosθ+isβsinθisq=-isαsinθ+isβcosθ

其中 θ 是转子磁通位置

这些分量取决于电流矢量 (α, β) 分量和转子磁通位置;如果我们知道正确的转子磁通位置,那么,通过该投影,d,q 分量就变成一个常量。现在,两个相位电流变换为直流数量(非时变)。此时扭矩控制变得更容易,其中恒定的 isd(磁通分量)和 isq(扭矩分量)电流分量单独受到控制。

交流电机 FOC 基本配置方案

图 2-9 总结了使用 FOC 进行扭矩控制的基本配置方案:

 交流电机 FOC 基本配置方案图 2-9 交流电机 FOC 基本配置方案

测量了两个电机相电流。这些测量值馈入 Clarke 变换模块。这个模块的输出为 isα 和 isβ。电流的这两个分量是 Park 变换的输入,该变换给出了 d,q 旋转坐标系中的电流。isd 和 isq 分量与基准 isdref(磁通基准分量)和 isqref(扭矩基准分量)进行比较。在这一点上,这个控制结构显示了一个有意思的优势:它可被用来控制同步或感应机器,采用的方法就是简单地改变磁通基准并获得转子磁通位置。与在同步永磁电机中一样,转子磁通是固定的,并由磁体确定;所以无需产生转子磁通。因此,当控制一个 PMSM 时,isdref 应被设定为 0。由于交流感应电机需要生成转子磁通才能运行,因此磁通基准一定不能为零。这很方便地解决了经典 控制结构的一个主要缺陷:异步驱动至同步驱动的可移植性。当我们使用转速 FOC 时,扭矩命令 isqref 可以是转速调节器的输出。电流调节器的输出是 Vsdref 和 Vsqref;它们进行 Park 逆变换。

这个模块的输出是 Vsαref 和 Vsβref,它们是 (α, β) 静止正交坐标系中定子矢量电压的分量。这些是空间矢量脉宽调制 (PWM) 的输入。这个块的输出是驱动此反相器的信号。请注意,Park 和 Park 逆变换均需要转子磁通位置。这个转子磁通位置的获得由交流机器的类型(同步或异步机器)而定。

转子磁通位置

转子磁通位置的相关知识是 FOC 的核心。事实上,如果该变量存在误差,则转子磁通与 d 轴不对齐,并且定子电流的磁通和扭矩分量 isd 和 isq 不正确。图 2-10 展示了 (a, b, c)、(α, β) 和 (d, q) 坐标系,以及转子磁通的正确位置和以同步速度随 d,q 坐标旋转的定子电流和定子电压空间矢量。

 (d, q) 旋转坐标系中的电流、电压和转子磁通空间矢量图 2-10 (d, q) 旋转坐标系中的电流、电压和转子磁通空间矢量

如果我们考虑同步或异步电机,转子磁通位置的测量是不同的:

  • 在同步电机中,转子转速等于转子磁通转速。然后 θ(转子磁通位置)由位置传感器或转子速度的积分直接计算。
  • 在异步电机中,转子转速不等于转子磁通转速(存在转差速度),因此需要使用特定的方法来计算 θ。基本方法是使用一个电流模型,该模型需要 d, q 坐标系中的电机模型的两个公式。

理论上,利用适用于 PMSM 驱动的磁场定向控制,可以使用磁通实现对电机扭矩的单独控制,这与直流电机的运行类似。换句话说,转矩和磁通互相之间去耦合。从静止坐标系到同步旋转坐标系间的变量变换需要知道转子位置信息。由于这种变换(所谓的 Park 变换),q 轴电流将控制扭矩,而 d 轴电流被强制设置为零。因此,该系统的关键模块是使用增强型滑模观测器 (eSMO) 或 FAST 估算器来估算转子位置。

图 2-11 展示了本文档中 PMSM 电机的无传感器 FOC(使用 eSMO 并具有弱磁控制 (FWC) 和每安培最大扭矩 (MTPA) 功能)的整体方框图。

 使用 eSMO 并具有 FWC 和 MTPA 功能的 PMSM 的无传感器 FOC图 2-11 使用 eSMO 并具有 FWC 和 MTPA 功能的 PMSM 的无传感器 FOC