ZHDU069 March   2026 MSPM0G1507 , MSPM0G1519 , MSPM0G3507 , MSPM0G3519

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
  5. 电机控制理论
    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. MSP FOC 系统
    1. 3.1 设计资源
    2. 3.2 FOC 特性概述
    3. 3.3 FOC 基准
  7. 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. 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. 快速入门指南
    1. 6.1 CCS IDE
      1. 6.1.1 工程设置
      2. 6.1.2 工程调试
    2. 6.2 GUI
  10. 电机调优指南
    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. 硬件迁移指南
    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. 常见问题解答 (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 工程以匹配您的硬件配置后,请按照以下步骤验证软件功能。

ADC 中断验证

ADC 中断是 FOC 应用的关键任务,负责读取电机相电流并执行 FOC 算法。用户可以在 FOC_ADC_ISR() 中设置一个断点(或 GPIO 切换),以验证 ADC 中断触发频率是否与预期 FOC 环路频率一致。

在空闲状态下,ADC 存储器索引寄存器会定期更新转换结果,以反映硬件电路的基线状态。这些值可在电机运行之前提供适当的参考读数。例如,向 ADC 相电流输入通道施加 1.65V 电压,会得到一个大约为 2,047 的 ADC 存储器索引寄存器值。

如果未触发 ADC 中断,请检查以下配置:

  • 如果使用 ADC1 中断,则添加 FOC_ISR_ADC1 宏

  • 验证是否为 ADC 转换设置了合适的 PWM/计时器触发事件

  • 验证是否为 ADC 模块设置了合适的 ADC 中断触发事件

如果在意外的频率下发生 ADC 中断,请检查以下配置:

  • 验证是否为每个 ADC 存储器索引设置了合适的 ADC 触发模式

  • 验证是否为 ADC 模块设置了合适的 ADC 中断触发事件

  • 无传感器/通用 FOC 支持最大 10kHz 的 ADC 中断,而带传感器 FOC 支持最大 16kHz 的 ADC 中断

如果 ADC 转换值异常,请检查以下配置:

  • 验证电机的 A/B/C 相电流输入信号(到 ADC 通道)是否正确

  • 验证是否为 ADC 转换设置了合适的 PWM/计时器触发事件

PWM 输出与相电流输入映射

FOC 应用使用 U/V/W 分别表示电机的 A/B/C 相。尽管对维持默认关系没有限制,但用户必须确保 PWM 输出与相电流输入之间正确对齐。

例如,如果硬件电路分配了:

  • FOC_PWMA0_U_IDX -> 电机 B 相

  • FOC_PWMA0_V_IDX -> 电机 A 相

那么您必须相应地配置电机相电流:

  • 电机 B 相 ADC 输入通道 -> ADCx_CURRENT_U_CH

  • 电机 A 相 ADC 输入通道 -> ADCx_CURRENT_V_CH

这样可以确保 PWM 与电流之间的关系保持一致。如果处理有误,则在运行 FOC 应用时,电流闭环功能将会失败。

栅极驱动器输出验证

按照以下步骤验证栅极驱动器输出:

  • 断开电机

  • 使用示波器观测三相 PWM 输出

  • 将 FOC 应用配置为使用 PWM 环路在强制对齐模式下运行(节 7.7.1.1.1.2

  • 将 FORCE_VQ_CURRENT_LOOP_DIS 或 FORCE_VQ_CURRENT_LOOP_DIS 设置为非零值

  • 将 speedInput 设置为非零值以启动 FOC 状态机

  • 验证三相 PWM 输出是否遵循 SVPWM 模式(图 7-19

  • 验证三个 PWM 输出是否遵循与电机相位对应的定义序列

电流检测电路验证

按照以下步骤验证电机相电流检测电路:

  • 连接电机

  • 配置直流电压源输出并将电流限制设置为适当的值,通常低于电机的额定电流规格

  • 使用电流探针监测一个电机相电流,使用电压探针监测 ADC 输入通道上的此电机相电流信号

  • 将 FOC 应用配置为使用电流环路在强制对齐模式下运行(节 7.7.1.1.1.1

  • 设置适当的对齐时间和对齐电流参数

  • 将 speedInput 设置为非零值以启动 FOC 状态机

  • 验证电机相电流是否遵循对齐模式(图 7-17

  • 验证电机相电流幅度是否与对齐模式参数匹配

如果对齐电流验证失败,请检查以下配置:

电流控制环路验证

按照以下步骤验证电流控制环路:

  • 验证电流检测电路是否正常工作

  • 使用电流探针监测一个电机相电流,使用电压探针监测 ADC 输入通道上的此电机相电流信号

  • 将 FOC 应用配置为在强制开环中运行(节 7.7.1.2.2

  • 设置适当的对齐模式参数(通常对于空载电机,将对齐电流设置为 0h)

  • 设置适当的开环电流和加速率参数(通常对于空载电机,将开环电流设置为 0h)

  • 将切换阈值设置为电机额定速度的 20-30%

  • 配置电流控制环路参数,建议从自动计算的参数开始(节 7.3.2

  • 将 speedInput 设置为非零值以启动 FOC 状态机

  • 验证电机相电流是否遵循开环模式(图 7-21)且是干净的正弦波

  • 验证电机相电流幅度和频率是否与开环参数匹配

如果开环验证失败,请检查以下配置:

  • 检查 ADC 输入通道(按比例缩放后)的电机相电流信号是否与电流探针信号匹配

  • 检查电流环路 PI 参数(请参阅节 7.3.2

  • 请参阅跟踪实时变量,监测 ADC 原始数据并验证原始 ADC 数据是否与正弦波形匹配。

注:

通过这些步骤验证硬件功能后,请参阅调优 LVBLDC 电机,开始使用所有可用特性进行全面的电机调优。