ZHCUBM2 December   2023

 

  1.   1
  2.   说明
  3.   资源
  4.   特性
  5.   应用
  6.   6
  7. 1系统说明
    1. 1.1 术语
    2. 1.2 关键系统规格
  8. 2系统概述
    1. 2.1 方框图
    2. 2.2 设计注意事项
    3. 2.3 重点产品
      1. 2.3.1 TMS320F2800137
      2. 2.3.2 MSPM0G1507
      3. 2.3.3 TMP6131
      4. 2.3.4 UCC28881
      5. 2.3.5 TPS54202
      6. 2.3.6 TLV9062
      7. 2.3.7 TLV74033
    4. 2.4 系统设计原理
      1. 2.4.1 硬件设计
        1. 2.4.1.1 模块化设计
        2. 2.4.1.2 高压降压辅助电源
        3. 2.4.1.3 直流链路电压检测
        4. 2.4.1.4 电机相电压检测
        5. 2.4.1.5 电机相电流检测
        6. 2.4.1.6 外部过流保护
        7. 2.4.1.7 TMS320F2800F137 的内部过流保护
      2. 2.4.2 三相 PMSM 驱动器
        1. 2.4.2.1 PM 同步电机的场定向控制
          1. 2.4.2.1.1 空间矢量定义和投影
            1. 2.4.2.1.1.1 ( a ,   b ) ⇒ ( α , β ) Clarke 变换
            2. 2.4.2.1.1.2 α , β ⇒ ( d ,   q ) Park 变换
          2. 2.4.2.1.2 交流电机 FOC 基本配置方案
          3. 2.4.2.1.3 转子磁通位置
        2. 2.4.2.2 PM 同步电机的无传感器控制
          1. 2.4.2.2.1 具有锁相环的增强型滑模观测器
            1. 2.4.2.2.1.1 IPMSM 的数学模型和 FOC 结构
            2. 2.4.2.2.1.2 IPMSM 的 ESMO 设计
            3. 2.4.2.2.1.3 使用 PLL 的转子位置和转速估算
        3. 2.4.2.3 弱磁 (FW) 和每安培最大扭矩 (MTPA) 控制
        4. 2.4.2.4 电机驱动器的硬件必要条件
          1. 2.4.2.4.1 电机电流反馈
            1. 2.4.2.4.1.1 三分流器电流检测
            2. 2.4.2.4.1.2 单分流器电流检测
          2. 2.4.2.4.2 电机电压反馈
  9. 3硬件、软件、测试要求和测试结果
    1. 3.1 入门硬件
      1. 3.1.1 硬件板概述
      2. 3.1.2 测试条件
      3. 3.1.3 电路板验证所需的测试设备
    2. 3.2 入门 GUI
      1. 3.2.1 测试设置
      2. 3.2.2 GUI 软件概述
      3. 3.2.3 设置串行端口
      4. 3.2.4 电机识别
      5. 3.2.5 旋转电机
      6. 3.2.6 电机故障状态
      7. 3.2.7 调整控制参数
      8. 3.2.8 虚拟示波器
    3. 3.3 C2000 固件入门
      1. 3.3.1 下载并安装电路板测试所需的软件
      2. 3.3.2 在 CCS 内打开工程
      3. 3.3.3 工程结构
      4. 3.3.4 测试步骤
        1. 3.3.4.1 构建级别 1:CPU 和电路板设置
          1. 3.3.4.1.1 启动 CCS 并打开工程
          2. 3.3.4.1.2 构建和加载工程
          3. 3.3.4.1.3 设置调试环境窗口
          4. 3.3.4.1.4 运行代码
        2. 3.3.4.2 构建级别 2:带 ADC 反馈的开环检查
          1. 3.3.4.2.1 启动 CCS 并打开工程
          2. 3.3.4.2.2 构建和加载工程
          3. 3.3.4.2.3 设置调试环境窗口
          4. 3.3.4.2.4 运行代码
        3. 3.3.4.3 构建级别 3:闭合电流环路检查
          1. 3.3.4.3.1 启动 CCS 并打开工程
          2. 3.3.4.3.2 构建和加载工程
          3. 3.3.4.3.3 设置调试环境窗口
          4. 3.3.4.3.4 运行代码
        4. 3.3.4.4 版本级别 4:完整电机驱动控制
          1. 3.3.4.4.1 启动 CCS 并打开工程
          2. 3.3.4.4.2 构建和加载工程
          3. 3.3.4.4.3 设置调试环境窗口
          4. 3.3.4.4.4 运行代码
          5. 3.3.4.4.5 调整电机驱动 FOC 参数
          6. 3.3.4.4.6 调整弱磁和 MTPA 控制参数
          7. 3.3.4.4.7 调整电流检测参数
    4. 3.4 测试结果
      1. 3.4.1 负载和热力测试
      2. 3.4.2 通过外部比较器进行过流保护
      3. 3.4.3 通过内部 CMPSS 进行过流保护
    5. 3.5 将固件迁移至新的硬件板
      1. 3.5.1 配置 PWM、CMPSS 和 ADC 模块
      2. 3.5.2 设置硬件板参数
      3. 3.5.3 配置故障保护参数
      4. 3.5.4 设置电机电气参数
    6. 3.6 MSPM0 固件入门
  10. 4设计和文档支持
    1. 4.1 设计文件
      1. 4.1.1 原理图
      2. 4.1.2 物料清单
      3. 4.1.3 PCB 布局建议
      4. 4.1.4 Altium 工程
      5. 4.1.5 Gerber 文件
    2. 4.2 软件文件
    3. 4.3 文档支持
    4. 4.4 支持资源
    5. 4.5 商标
  11. 5作者简介
运行代码

要运行代码,请完成以下步骤:

  1. 将交流电源输出设置为 0V (50/60Hz),打开交流电源,将输入电压从 0V 缓慢增加至 220V 交流。
  2. 必须在头文件 (user_mtr1.h) 中记录所需的电机参数,如以下示例代码所示。如果用户不太了解电机参数,那么在参考设计中实现了 FAST 估算器的情况下,可以使用电机识别来获得电机参数。
    #define USER_MOTOR1_Rs_Ohm                  (2.68207002f)
    #define USER_MOTOR1_Ls_d_H                  (0.00926135667f)
    #define USER_MOTOR1_Ls_q_H                  (0.00926135667f)
    #define USER_MOTOR1_RATED_FLUX_VpHz         (0.381890297f)
  3. userParams_M1.flag_bypassMotorId 值更改为“false”以启用电机识别,如以下电机示例代码所示。
    // true->enable identification, false->disable identification
        userParams[MTR_1].flag_bypassMotorId = false;
  4. 根据电动的规格在 user_mtr1.h 中设置正确的识别变量值。
     #define USER_MOTOR1_RES_EST_CURRENT_A       (1.0f)      // A - 10~30% of rated current of the motor
    #define USER_MOTOR1_IND_EST_CURRENT_A       (-1.0f)     // A - 10~30% of rated current of the motor, just enough to enable rotation
    #define USER_MOTOR1_MAX_CURRENT_A           (6.5f)      // A - 30~150% of rated current of the motor
    #define USER_MOTOR1_FLUX_EXC_FREQ_Hz        (40.0f)     // Hz - 10~30% of rated frequency of the motor
  5. 重新构建工程并将代码加载到控制器中,通过点击 GUID-20210205-CA0I-MBHJ-Q1VP-G5KSK6MTBX5D-low.svg 按钮来运行工程,或点击 Debug 选项卡中的 RunResume。经过固定的时长后,systemVars.flagEnableSystem 需要设置为“1”,这意味着偏移校准已完成并且浪涌电源继电器已开启。电机故障标志 motorVars_M1.faultMtrUse.all 需要等于“0”,否则请按照节 3.3.4.1中所述检查电流和电压检测电路。
  6. Expressions 窗口中将变量 motorVars_M1.flagEnableRunAndIdentify 设置为“1”(如图 3-36 所示),此时可以执行电机识别,整个过程需要大约 150s。motorVars_M1.flagEnableRunAndIdentify 等于“0”后,就表明已识别了电机参数。使用 user_mtr1.h 中新定义的电机参数记录监视窗口值,如下所示:
    • USER_MOTOR1_Rs = motorVars_M1.Rs_Ohm 的值
    • USER_MOTOR1_Ls_d = motorVars_M1.Ls_d_H 的值
    • USER_MOTOR1_Ls_q = motorVars_M1.Ls_q_H 的值
    • USER_MOTOR_RATED_FLUX = motorVars_M1.flux_VpHz 的值
  7. 成功识别电机参数后,将 userParams_M1.flag_bypassMotorId 设置为“true”,重新构建工程并将代码加载到控制器中。
    • 再次将变量 motorVars_M1.flagEnableRunAndIdentify 设为“1”以开始运行电机。
    • 将变量 motorVars_M1.speedRef_Hz 设置为不同的值,并观察电机转轴转速的变化情况。
    • 要更改加速度,请为变量 motorVars_M1.accelerationMax_HzpsmotorVars_M1.accelerationMax_Hzps 输入不同的加速度值。
  8. 现在可以在将 motorVars_M1.flagEnableRunAndIdentify 设置为“0”之前停止控制器,并终止调试连接。通过首先点击工具栏上的 Halt 按钮 GUID-20210410-CA0I-9RHS-JH6R-HGGSQQK0HGJ6-low.svg 或点击 TargetHalt 来完全停止控制器。最后,通过点击 GUID-20210205-CA0I-NRZW-VPNN-F3WWKQZJLPHF-low.svg 或点击 RunReset 来重置控制器。
  9. 通过点击 Terminate Debug SessionGUID-20210205-CA0I-W5NW-T57Q-LSMG9XLRGNTV-low.svg 或点击 RunTerminate 来关闭 CCS 调试会话。
GUID-20231110-SS0I-CLDJ-QBB0-XF3HWBRHLCRW-low.png图 3-36 版本级别 4:运行时的“Expressions”窗口
GUID-20231110-SS0I-2QZS-G8L4-SWKN36TFPVHR-low.png图 3-37 版本级别 4:电机的转子角度、相电流