ZHCUBU7 March   2024 MSPM0G3507

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2硬件设置
    1. 2.1  EVM 硬件设置
      1. 2.1.1 EVM 硬件支持
    2. 2.2  IPD 使用的引脚配置
    3. 2.3  PWM 输出的引脚配置
    4. 2.4  ADC 电流的引脚配置
    5. 2.5  ADC 电压的引脚配置
    6. 2.6  有关故障的引脚配置
    7. 2.7  GPIO 输出功能的引脚配置
    8. 2.8  SPI 通信的引脚配置
    9. 2.9  UART 通信的引脚配置
    10. 2.10 评估板的外部连接
  6. 3软件设置
    1. 3.1 软件支持
  7. 4GUI 设置
  8. 5寄存器映射
    1. 5.1 用户控制寄存器(基址 = 0x202000C8h)
    2. 5.2 用户输入寄存器(基址 = 0x20200000h)
  9. 6基本调优
    1. 6.1 系统配置参数
      1. 6.1.1 从 GUI 配置系统参数
      2. 6.1.2 以毫欧 (mΩ) 为单位的电机电阻
      3. 6.1.3 以微亨 (μH) 为单位的电机电感
      4. 6.1.4 电机 BEMF 常数
      5. 6.1.5 基极电压 (V)
      6. 6.1.6 基极电流 (A)
      7. 6.1.7 最大电机频率 (Hz)
    2. 6.2 基本电机旋转的控制配置
      1. 6.2.1 基本电机启动
        1. 6.2.1.1 禁用 ISD
        2. 6.2.1.2 电机启动选项 - 对齐
        3. 6.2.1.3 电机开环斜坡
        4. 6.2.1.4 电机开环调试
      2. 6.2.2 用于在闭环中旋转电机的控制器配置
        1. 6.2.2.1 针对闭环速度控制的 PI 控制器调优
        2. 6.2.2.2 测试是否成功启动至闭环
    3. 6.3 故障处理
      1. 6.3.1 异常 BEMF 故障 [ABN_BEMF]
      2. 6.3.2 监控电源电压波动以防止电压越界故障
      3. 6.3.3 无电机故障 [NO_MTR]
  10. 7高级调优
    1. 7.1 控制配置调优
      1. 7.1.1 对电机进行初始速度检测,以实现可靠的电机重新同步
      2. 7.1.2 检测反向旋转的单向电机驱动
      3. 7.1.3 在启动期间防止转子回旋
      4. 7.1.4 逐渐和平稳启动动作
      5. 7.1.5 缩短启动时间
      6. 7.1.6 快速停止电机
      7. 7.1.7 在电机停止期间防止电源电压过冲。
      8. 7.1.8 保护电源
    2. 7.2 硬件配置
      1. 7.2.1 方向配置
      2. 7.2.2 制动配置
      3. 7.2.3 实时变量跟踪
  11. 8修订历史记录

用户控制寄存器(基址 = 0x202000C8h)

用户控制寄存器是一组用户可配置参数,用于实时控制电机。可以在应用程序代码中使用指针变量 pUserCtrlRegs 修改这些寄存器组。

表 5-1 用户控制寄存器
偏移 缩写 寄存器名称 部分
0h SPEED_CTRL 速度控制寄存器 节 5.1.1
4h ALGO_DEBUG_CTRL1 算法调试控制 1 寄存器 节 5.1.2
8h ALGO_DEBUG_CTRL2 算法调试控制 2 寄存器 节 5.1.3

复杂的位访问类型经过编码可适应小的表格单元格,如下所示。

表 5-2 寄存器配置访问类型代码
访问类型 代码 说明
读取类型
R R 读取
写入类型
W W 写入
复位或默认值
-n 复位后的值或默认值

5.1.1 速度控制寄存器(偏移 = 0h)[复位 = 00000000h]

用以控制电机速度的寄存器

表 5-3 SPEED_CTRL 寄存器字段说明
字段 类型 复位 说明
31 - 15 RESERVED R 0h 保留
14-0 SPEED_CTRL W 0h

目标电机转速/扭矩值

速度百分比或扭矩命令 × 32768。

5.1.2 算法调试控制 1 寄存器(偏移 = 4h)[复位 = 00000000h]

用以控制算法调试函数的寄存器

表 5-4 算法调试控制 1 寄存器字段说明
字段 类型 复位 说明
31 CLEAR_FAULT W 0h 用以清除设置控制器和栅极驱动器故障的位。位会自动复位。

1h = 清除故障命令。

30-22 FORCED_ALIGN_ANGLE W 0h

在强制对齐状态 ( FORCE_ALIGN_EN = 1) 期间使用的 9 位值(以 ° 为单位)。应用的角度 (°) = FORCED_ALIGN_ANGLE % 360°

21-16 RESERVED R 0h
15 CLOSED_LOOP_DIS W 0h

用于禁用闭环

0h = 启用闭环

1h = 禁用闭环,在开环中进行电机换向

14 FORCE_ALIGN_EN W 0h

强制对齐状态使能

0h = 禁用强制对齐状态,如果将 MTR_STARTUP 选择为对齐或双对齐,器件会退出对齐状态

1h = 启用强制对齐状态,如果将 MTR_STARTUP 选择为对齐或双对齐,器件会保持对齐状态

13

FORCE_SLOW_FIRST_C

YCLE_EN

W 0h

强制慢速首循环使能

0h = 禁用强制慢速首循环状态,如果将 MTR_STARTUP 选择为慢速首循环,器件会退出慢速首循环状态

1h = 启用强制慢速首循环状态,如果将 MTR_STARTUP 选择为慢速首循环,器件会保持慢速首循环状态

12 FORCE_IPD_EN W 0h

强制 IPD 使能

0h = 禁用强制 IPD 状态,如果将 MTR_STARTUP 选择为 IPD,器件会退出 IPD 状态

1h = 启用强制 IPD 状态,如果将 MTR_STARTUP 选择为 IPD,器件会保持 IPD 状态

11 FORCE_ISD_EN W 0h

强制 ISD 使能

0h = 禁用强制 ISD 状态,如果设置了 ISD_EN,器件会退出 ISD 状态

1h = 启用强制 ISD 状态,如果设置了 ISD_EN,器件会保持 ISD 状态

10 FORCE_ALIGN_ANGLE_SRC_SEL W 0h 强制对齐角度状态源选择

0h = 由 ALIGN_ANGLE 定义的强制对齐角度

1h = 由 FORCED_ALIGN_ANGLE 定义的强制对齐角度

9-0 FORCE_IQ_REF_SPEED_LOOP_DIS W 0h 在禁用速度环路时设置 Iq_ref。如果 SPEED_LOOP_DIS = 1b,则使用 IQ_REF_SPEED_LOOP_DIS 设置 Iq_ref,如果 FORCE_IQ_REF_SPEED_LOOP_DIS < 500 -(FORCE_IQ_REF_SPEED_LOOP_DIS - 512) / 500 × 10,则 Iq_ref = (FORCE_IQ_REF_SPEED_LOOP_DIS / 500) × 10,如果 FORCE_IQ_REF_SPEED_LOOP_DIS > 512,则有效值为 0 至 500 以及 512 至 1000

5.1.3 算法调试控制 2 寄存器(偏移 = 8h)[复位 = 00000000h]

用以控制算法调试函数的寄存器

表 5-5 算法调试控制 2 寄存器字段说明
字段 类型 复位 说明
31 - 28 RESERVED R 0h 保留
27 STATUS_UPDATE_ENABLE W 0h 此位会启用用户状态变量的实时持续更新。
26 CURRENT_LOOP_DIS W 0h 用于控制 FORCE_VD_CURRENT_LOOP_DIS 和 FORCE_VQ_CURRENT_LOOP_DIS。如果 CURRENT_LOOP_DIS = 1b,则电流环路和速度环路被禁用

0h = 启用电流环路

1h = 禁用电流环路

25-16 FORCE_VD_CURRENT_LOOP_DIS W 0h 在禁用电流环路和速度环路时设置 Vd_ref。如果 CURRENT_LOOP_DIS = 1b,则使用 FORCE_VD_CURRENT_LOOP_DIS 控制 Vd,如果 FORCE_VD_CURRENT_LOOP_DIS < 500 -(FORCE_VD_CURRENT_LOOP_DIS - 512) / 500,则 Vd_ref = (FORCE_VD_CURRENT_LOOP_DIS/500),如果 FORCE_VD_CURRENT_LOOP_DIS > 512,则有效值为:0 至 500 以及 512 至 1000
15-6 FORCE_VQ_CURRENT_LOOP_DIS W 0h 在禁用电流环路速度环路时设置 Vq_ref。如果 CURRENT_LOOP_DIS = 1b,则使用 FORCE_VQ_CURRENT_LOOP_DIS 控制 Vq,如果 FORCE_VQ_CURRENT_LOOP_DIS < 500 -(FORCE_VQ_CURRENT_LOOP_DIS - 512) / 500,则 Vq_ref = (FORCE_VQ_CURRENT_LOOP_DIS / 500),如果 FORCE_VQ_CURRENT_LOOP_DIS > 512,则有效值为:0 至 500 以及 512 至 1000
5-0 RESERVED R 0h 保留