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 算法有两个 PI 控制器,分别用于 Id 和 Iq,以实现磁通和扭矩的独立控制。Kp 和 Ki 系数对于两个 PI 控制器而言是相同的,可在根据表 7-5 进行配置。电流控制环路的输出用于生成要施加到电机的电压信号 Vd 和 Vq。电流环路的输出被钳制到电源电压 VM。首先执行 Id 电流 PI 环路,然后检查 Id 电流 PI 环路 Vd 的输出是否饱和。当电流环路的输出饱和时,积分被禁用以防止积分饱和。

表 7-5 电流环路 PI 参数
变量说明
pUserInputRegs->systemParams.currLoopKp用户为闭环扭矩控制设置的比例增益(浮点型)
pUserInputRegs->systemParams.currLoopKi用户为闭环扭矩控制设置的积分增益(浮点型)

FOC 应用支持根据电机参数(电阻和电感)自动计算电流环路 PI 参数。默认情况下,在算法中,电流环路带宽设置为 FOC 环路频率的 0.03 倍。例如,如果用户将 FOC 环路设置为 10kHz,则默认电流环路带宽为 300Hz。

表 7-5 中所述的变量设置为 0 即可启用 PI 参数自动计算。然后,用户可以根据表 7-6 获得计算出的 PI 参数。

表 7-6 自动计算出的电流环路 PI 参数
变量说明
pUserStatusRegs->currentPI.Kp

只读。电流环路的比例/积分增益。

该值从以下变量传递:pUserInputRegs->systemParams.currLoopKp / currLoopKp(如果其中一个具有非零值)。

如果 pUserInputRegs->systemParams. currLoopKp / currLoopKp 均为零,则该值由 FOC 算法生成。
pUserStatusRegs->currentPI.Ki

获得表 7-6 中所示的自动计算出的 PI 参数后,用户可以将计算出的参数值设置为 PI 参数的初始值,如表 7-5 所示。然后,用户可以根据实际控制性能进行手动参数调优。

注:

由于电机转速和电流基于 PU 值,因此用户在 pUserInputRegs 中设置的电流环路 PI 参数与 PI 控制器计算中使用的实际 PI 参数之间存在比例因子关系。