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作者简介

添加 CAN 功能

可以将 CAN 功能添加到实验工程中,为用户提供用于发送启动/停止命令并获取运行状态反馈的通信总线。要利用此功能,请在工程构建属性中启用预定义符号 CMD_CAN,如图 4-2 中所示。PCAN-View 用于简单地监控、发送和记录 CAN 数据流量。可以在 motor_common.h 文件中定义不同类型的命令消息。在本工程中,发送器指定了一个启动命令并定义了目标速度值。接收器随后会收到包含目标速度的邮件。

请注意,根据您使用的是套件中的 LaunchPad 还是 EVM,需要进行一些引脚多路复用设置。这些配置是使用 mcanEnableTransceivertca6416ConfigOutput 函数实现的,如以下代码所述:

#if defined(AM263_CC)
void tca6416ConfigOutput(uint16_t port, uint16_t pin, uint16_t level);
#endif // AM263_CC

#if defined(CMD_CAN)
#if defined(AM263_LP)

void mcanEnableTransceiver(void)
{
    uint32_t    gpioBaseAddr, pinNum;

    gpioBaseAddr = (uint32_t)AddrTranslateP_getLocalAddr(MCAN_ENABLE_BASE_ADDR);
    pinNum       = MCAN_ENABLE_PIN;

    GPIO_setDirMode(gpioBaseAddr, pinNum, GPIO_DIRECTION_OUTPUT);

    GPIO_pinWriteLow(gpioBaseAddr, pinNum);
}
#endif // AM263_LP

#if defined(AM263_CC)
/* ========================================================================== */
/*                           Macros & Typedefs                                */
/* ========================================================================== */

/* Input status register */
#define TCA6416_REG_INPUT0              ((UInt8) 0x00U)
#define TCA6416_REG_INPUT1              ((UInt8) 0x01U)

/* Output register to change state of output BIT set to 1, output set HIGH */
#define TCA6416_REG_OUTPUT0             ((uint8_t) 0x02U)
#define TCA6416_REG_OUTPUT1             ((uint8_t) 0x03U)

/* Configuration register. BIT = '1' sets port to input, BIT = '0' sets
 * port to output */
#define TCA6416_REG_CONFIG0             ((uint8_t) 0x06U)
#define TCA6416_REG_CONFIG1             ((uint8_t) 0x07U)

/* ========================================================================== */
/*                          Function Declarations                             */
/* ========================================================================== */
static void SetupI2CTransfer(I2C_Handle handle,  uint32_t targetAddr,
                      uint8_t *writeData, uint32_t numWriteBytes,
                      uint8_t *readData,  uint32_t numReadBytes);

void mcanEnableTransceiver(void)
{
    I2C_Handle      i2cHandle;
    uint8_t         dataToSlave[4];

    i2cHandle = gI2cHandle[CONFIG_I2C0];
    dataToSlave[0] = TCA6416_REG_CONFIG0;
    dataToSlave[1] = 0x0U;
    SetupI2CTransfer(i2cHandle, 0x20, &dataToSlave[0], 1, &dataToSlave[1], 1);
    /* set the P00 to 0 make them output ports. */
    dataToSlave[1] &= ~(0x1U);
    SetupI2CTransfer(i2cHandle, 0x20, &dataToSlave[0], 2, NULL, 0);

    /* Get the port values. */
    dataToSlave[0] = TCA6416_REG_INPUT0;
    dataToSlave[1] = 0x0U;
    SetupI2CTransfer(i2cHandle, 0x20, &dataToSlave[0], 1, &dataToSlave[1], 1);

    /* Set P10 and P11 to 0.
     */
    dataToSlave[0] = TCA6416_REG_OUTPUT0;
    dataToSlave[1] &= ~(0x1);
    SetupI2CTransfer(i2cHandle, 0x20, &dataToSlave[0], 2, NULL, 0);
}

static void SetupI2CTransfer(I2C_Handle handle,  uint32_t targetAddr,
                      uint8_t *writeData, uint32_t numWriteBytes,
                      uint8_t *readData,  uint32_t numReadBytes)
{
    int32_t status;
    I2C_Transaction i2cTransaction;

    /* Enable Transceiver */
    I2C_Transaction_init(&i2cTransaction);
    i2cTransaction.targetAddress = targetAddr;
    i2cTransaction.writeBuf = (uint8_t *)&writeData[0];
    i2cTransaction.writeCount = numWriteBytes;
    i2cTransaction.readBuf = (uint8_t *)&readData[0];
    i2cTransaction.readCount = numReadBytes;
    status = I2C_transfer(handle, &i2cTransaction);
    DebugP_assert(SystemP_SUCCESS == status);
}

#endif // AM263_CC
#endif // CMD_CAN

启动“PCAN-View”后,将 CAN 适配器设置为图 4-34

TIDM-02018 PCAN-View 设置图 4-34 PCAN-View 设置

双击启动 CAN 数据传输,如图 4-35 所示。

TIDM-02018 CAN 数据传输开始图 4-35 CAN 数据传输开始

图 4-36 所示,为 motorVars_M1.flagEnableRunAndIdentify 配置的值为 1,motorVars_M1.speedRef_Hz 设为 40Hz。然后,该速度值通过 CAN 通信传回接收器。

TIDM-02018 CAN 命令:表达式窗口中的变量图 4-36 CAN 命令:表达式窗口中的变量