ZHCUBZ4 April   2024

 

  1.   1
  2.   说明
  3.   资源
  4.   特性
  5.   应用
  6.   6
  7. 1系统说明
    1. 1.1 术语
    2. 1.2 主要系统规格
  8. 2系统概述
    1. 2.1 方框图
    2. 2.2 主要米6体育平台手机版_好二三四
      1. 2.2.1 AM263x 微控制器
        1. 2.2.1.1 TMDSCNCD263
        2. 2.2.1.2 LP-AM263
  9. 3系统设计原理
    1. 3.1 三相 PMSM 驱动器
      1. 3.1.1 PMSM 的数学模型和 FOC 结构
      2. 3.1.2 PM 同步电机的磁场定向控制
        1. 3.1.2.1 ( a ,   b ) ⇒ ( α , β ) Clarke 变换
        2. 3.1.2.2 α , β ⇒ ( d ,   q ) Park 变换
        3. 3.1.2.3 交流电机 FOC 基本配置方案
        4. 3.1.2.4 转子磁通位置
      3. 3.1.3 PM 同步电机的无传感器控制
        1. 3.1.3.1 具有锁相环的增强型滑模观测器
          1. 3.1.3.1.1 PMSM 的 ESMO 设计
          2. 3.1.3.1.2 使用 PLL 的转子位置和转速估算
      4. 3.1.4 电机驱动器的硬件必要条件
      5. 3.1.5 额外的控制特性
        1. 3.1.5.1 弱磁 (FW) 和每安培最大扭矩 (MTPA) 控制
        2. 3.1.5.2 快速启动
  10. 4硬件、软件、测试要求和测试结果
    1. 4.1 硬件要求
    2. 4.2 软件要求
      1. 4.2.1 导入和配置工程
      2. 4.2.2 工程结构
      3. 4.2.3 实验室软件概述
    3. 4.3 测试设置
      1. 4.3.1 LP-AM263 设置
      2. 4.3.2 BOOSTXL-3PHGANINV 设置
      3. 4.3.3 TMDSCNCD263 设置
      4. 4.3.4 TMDSADAP180TO100 设置
      5. 4.3.5 TMDSHVMTRINSPIN 设置
    4. 4.4 测试结果
      1. 4.4.1 1 级递增构建
        1. 4.4.1.1 构建和加载工程
        2. 4.4.1.2 设置调试环境窗口
        3. 4.4.1.3 运行代码
      2. 4.4.2 2 级递增构建
        1. 4.4.2.1 构建和加载工程
        2. 4.4.2.2 设置调试环境窗口
        3. 4.4.2.3 运行代码
      3. 4.4.3 3 级递增构建
        1. 4.4.3.1 构建和加载工程
        2. 4.4.3.2 设置调试环境窗口
        3. 4.4.3.3 运行代码
      4. 4.4.4 4 级递增构建
        1. 4.4.4.1 构建和加载工程
        2. 4.4.4.2 设置调试环境窗口
        3. 4.4.4.3 运行代码
    5. 4.5 向电机控制项目中添加附加功能
      1. 4.5.1 使用 DATALOG 函数
      2. 4.5.2 使用 PWMDAC 函数
      3. 4.5.3 添加 CAN 功能
      4. 4.5.4 添加 SFRA 功能
        1. 4.5.4.1 操作原理
        2. 4.5.4.2 对象定义
        3. 4.5.4.3 模块接口定义
        4. 4.5.4.4 使用 SFRA
    6. 4.6 构建定制板
      1. 4.6.1 构建新的定制板
        1. 4.6.1.1 硬件设置
        2. 4.6.1.2 将参考代码迁移到定制板
          1. 4.6.1.2.1 设置硬件板参数
          2. 4.6.1.2.2 修改电机控制参数
          3. 4.6.1.2.3 更改引脚分配
          4. 4.6.1.2.4 配置 PWM 模块
          5. 4.6.1.2.5 配置 ADC 模块
          6. 4.6.1.2.6 配置 CMPSS 模块
  11. 5通用米6体育平台手机版_好二三四 (TI) 高压评估模块 (TI HV EVM) 用户安全指南
  12. 6设计和文档支持
    1. 6.1 设计文件
      1. 6.1.1 原理图
      2. 6.1.2 BOM
      3. 6.1.3 PCB 布局建议
        1. 6.1.3.1 布局图
    2. 6.2 工具与软件
    3. 6.3 文档支持
    4. 6.4 支持资源
    5. 6.5 商标
  13. 7作者简介

使用 PWMDAC 函数

PWMDAC 模块使用 ePWM 5A、5B、6A 和 6B 将软件变量转换为 PWM 信号,如图 4-32 所示。仅高压套件 (TMDSHVMTRINSPIN) 支持 PWMDAC 模块,因为该模块具有额外的 PWM 输出,电路板上提供 RC 滤波器。如果将 PWMDAC 模块与不支持 PWMDAC 模块的电机驱动器板一起使用,那么 PWM 信号被路由到 TI LaunchPad 上的备用 PWM,并且用户需要在这些引脚上添加 RC 滤波器来利用 PWMDAC 设计。

TIDM-02018 PWMDAC 模块方框图图 4-32 PWMDAC 模块方框图

PWMDAC 模块可被用于通过外部低通滤波器来查看相关引脚输出上的信号,此信号由变量表示。因此,需要使用外部低通滤波器来查看图 4-33 中所示的实际信号波形。(1 阶)RC 低通滤波器用于滤除嵌入在实际低频信号中的高频分量。要选择 R 和 C 值,时间常数可以用截止频率 (fc) 表示,如以下公式所示。

方程式 48. τ=RC=12πfc
方程式 49. fc=2πRC
TIDM-02018 连接到 PWM 引脚的外部 RC 低频滤波器图 4-33 连接到 PWM 引脚的外部 RC 低频滤波器

要启用 ePWM DAC 功能,必须在工程属性中添加预定义符号 EPWMDAC_MODE,如图 4-2 所示。

以下代码显示了 PWMDAC 对象的声明。此代码位于 sys_main.c 文件中。

#if defined(EPWMDAC_MODE)
#if defined(HVMTRPFC_REV1P1)
__attribute__ ((section("sys_data"))) HAL_PWMDACData_t pwmDACData;
  // HVMTRPFC_REV1P1
#else
#error EPWMDAC is not supported on this kit!
#endif  // !HVMTRPFC_REV1P1
#endif  // EPWMDAC_MODE

以下代码展示了 PWMDAC 对象、句柄和参数的初始化和设置。四个模块输入 ptrData[0]、ptrData[1]、ptrData[2] 和 ptrData[3] 被配置为指向四个变量的地址。PWMDAC 模块输入指向不同的系统变量,这取决于构建级别。此代码位于 sys_main.c 文件中。

// set DAC parameters
pwmDACData.periodMax =
        PWMDAC_getPeriod(halHandle->pwmDACHandle[PWMDAC_NUMBER_1]);

pwmDACData.ptrData[0] = &motorVars_M1.angleFOC_rad;               // PWMDAC1
pwmDACData.ptrData[1] = &motorVars_M1.speedAbs_Hz;                // PWMDAC2
pwmDACData.ptrData[2] = &motorVars_M1.speedAbs_Hz;                // PWMDAC3
pwmDACData.ptrData[3] = &motorVars_M1.adcData.I_A.value[1];       // PWMDAC4

pwmDACData.offset[0] = 0.5f;    // PWMDAC1
pwmDACData.offset[1] = 0.0f;    // PWMDAC2
pwmDACData.offset[1] = 0.0f;    // PWMDAC3
pwmDACData.offset[3] = 0.5f;    // PWMDAC4

pwmDACData.gain[0] = 1.0f / MATH_TWO_PI;                          // PWMDAC1
pwmDACData.gain[1] = 1.0f / USER_MOTOR1_FREQ_MAX_Hz;              // PWMDAC2
pwmDACData.gain[2] = 1.0f / USER_MOTOR1_FREQ_MAX_Hz;              // PWMDAC3
pwmDACData.gain[3] = 2.0f / USER_M1_ADC_FULL_SCALE_CURRENT_A;     // PWMDAC4

以下代码演示了在 motor1ctrlISR() 中断执行期间使用新数据更新 PWM 输出。此代码位于 motor1_drive.c 文件中。

// connect inputs of the PWMDAC module. 
HAL_writePWMDACData(halHandle, &pwmDACData);