ZHCUBZ5A September   2021  – April 2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2电机控制理论
    1. 2.1 PMSM 的数学模型和 FOC 结构
    2. 2.2 PM 同步电机的磁场定向控制
    3. 2.3 PM 同步电机的无传感器控制
      1. 2.3.1 具有锁相环的增强型滑模观测器
        1. 2.3.1.1 PMSM 的 ESMO 设计
        2. 2.3.1.2 使用 PLL 的转子位置和转速估算
    4. 2.4 电机驱动器的硬件必要条件
      1. 2.4.1 电机相电压反馈
    5. 2.5 额外的控制特性
      1. 2.5.1 弱磁 (FW) 和每安培最大扭矩 (MTPA) 控制
      2. 2.5.2 快速启动
  6. 3在 TI 硬件套件上运行通用实验
    1. 3.1 受支持的 TI 电机评估套件
    2. 3.2 硬件电路板设置
      1. 3.2.1  LAUNCHXL-F280025C 设置
      2. 3.2.2  LAUNCHXL-F280039C 设置
      3. 3.2.3  LAUNCHXL-F2800137 设置
      4. 3.2.4  TMDSCNCD280025C 设置
      5. 3.2.5  TMDSCNCD280039C 设置
      6. 3.2.6  TMDSCNCD2800137 设置
      7. 3.2.7  TMDSADAP180TO100 设置
      8. 3.2.8  DRV8329AEVM 设置
      9. 3.2.9  BOOSTXL-DRV8323RH 设置
      10. 3.2.10 BOOSTXL-DRV8323RS 设置
      11. 3.2.11 DRV8353RS-EVM 设置
      12. 3.2.12 BOOSTXL-3PHGANINV 设置
      13. 3.2.13 DRV8316REVM 设置
      14. 3.2.14 TMDSHVMTRINSPIN 设置
      15.      34
      16.      35
    3. 3.3 实验软件实现
      1. 3.3.1 导入和配置工程
      2.      38
      3.      39
      4. 3.3.2 实验工程结构
      5. 3.3.3 实验软件概述
    4. 3.4 监控反馈或控制变量
      1. 3.4.1 使用 DATALOG 函数
      2. 3.4.2 使用 PWMDAC 函数
      3. 3.4.3 使用外部 DAC 板
    5. 3.5 使用不同的构建级别循序渐进地运行工程
      1. 3.5.1 级别 1 增量构建
        1. 3.5.1.1 构建和加载工程
        2. 3.5.1.2 设置调试环境窗口
        3. 3.5.1.3 运行代码
      2. 3.5.2 级别 2 增量构建
        1. 3.5.2.1 构建和加载工程
        2. 3.5.2.2 设置调试环境窗口
        3. 3.5.2.3 运行代码
      3. 3.5.3 级别 3 增量构建
        1. 3.5.3.1 构建和加载工程
        2. 3.5.3.2 设置调试环境窗口
        3. 3.5.3.3 运行代码
      4. 3.5.4 级别 4 增量构建
        1. 3.5.4.1 构建和加载工程
        2. 3.5.4.2 设置调试环境窗口
        3. 3.5.4.3 运行代码
  7. 4构建定制板
    1. 4.1 构建新的定制板
      1. 4.1.1 硬件设置
      2. 4.1.2 将参考代码迁移到定制电路板
        1. 4.1.2.1 设置硬件板参数
        2. 4.1.2.2 修改电机控制参数
        3. 4.1.2.3 更改引脚分配
        4. 4.1.2.4 配置 PWM 模块
        5. 4.1.2.5 配置 ADC 模块
        6. 4.1.2.6 配置 CMPSS 模块
        7. 4.1.2.7 配置故障保护函数
      3. 4.1.3 向电机控制工程中添加附加功能
        1. 4.1.3.1 添加按钮功能
        2. 4.1.3.2 添加电位器读取功能
        3. 4.1.3.3 添加 CAN 功能
    2. 4.2 支持新的 BLDC 电机驱动器板
    3. 4.3 将参考代码移植到新的 C2000 MCU
  8.   A 附录 A. 电机控制参数
  9.   参考资料
  10.   修订历史记录

实验软件概述

图 3-22 展示了固件的工程软件流程图,其中包括一个用于实时电机控制的 ISR、一个主循环用于在后台循环中更新电机控制参数。ISR 将由 ADC 转换结束 (EOC) 触发。

 工程软件流程图图 3-22 工程软件流程图

为了简化系统开发和设计,将该软件组织为四个增量构建,这使得学习和熟悉电路板和软件变得更加容易。这个方法对也适用于调试和测试电路板。

表 3-5 列出了要在该实验工程中使用的框架模块。

表 3-5 在实验工程中使用电机控制模块
模块名称说明算法
ANGLE_GEN_run用于开环运行的斜坡角度发生器eSMO、ENC、HALL
CLARKE_run针对电流或电压的 Clarke 变换FAST、eSMO、ENC、HALL
collectRMSData、calculateRMSData收集采样值以计算相电流和电压的 RMS 值FAST、eSMO、ENC、HALL
DAC128S_writeData使用 SPI 将软件变量转换并发送到外部 DAC所有算法
DATALOGIF_update将实时值存储到中,以便使用图形工具显示所有算法
ENC_run根据编码器计算转子角度ENC
ESMO_run增强滑模观测器 (eSMO) 以实现无传感器 FOCeSMO
EST_run适用于无传感器 FOC 的 FAST 估算器FAST
EST_runTraj用于电机识别的电流和速度轨迹发生器FAST
EST_setupTrajState用于电机识别的电流和速度轨迹发生器设置FAST
HAL_readADCData以浮点格式返回 ADC 转换值所有算法
HAL_writePWMDACData将软件变量转换为 PWM 信号所有算法
HAL_writePWMData用于电机的 PWM 驱动所有算法
HALL_run根据霍尔传感器计算转子角度和速度HALL
IPARK_runPark 逆变换FAST、eSMO、ENC、HALL
PARK_runPark 变换FAST、eSMO、ENC、HALL
PI_run针对电流和速度的 PI 稳压器所有算法
SPDCALC_run基于来自编码器信号的角度进行速度测量ENC
SPDFR_run基于来自观测器的角度测量速度eSMO
SVGEN_run具有正交控制的空间矢量 PWMFAST、eSMO、ENC、HALL
TRAJ_run用于设置速度基准的轨迹所有算法
VS_FREQ_run生成具有 v/f 曲线的矢量电压FAST、eSMO、ENC、HALL

表 3-6 总结了在每个增量系统构建中测试的模块。

表 3-6 每个增量构建使用的电机控制模块
软件模块DMC_LEVEL_1DMC_LEVEL_2DMC_LEVEL_3DMC_LEVEL_4
50% PWM 占空比,验证 ADC 失调电压校准、PWM 输出和相移开环控制,用于验证电机电流和电压检测信号闭合电流环路,用于验证电流

在电路板上检测和使用 PID 控制器进行电流控制

采用估算器/观测器的闭环运行使用 FAST 估算器识别电机参数
HAL_readADCData√√1
HAL_writePWMData√√
ANGLE_GEN_run√√√(eSMO、ENC、HALL)*
VS_FREQ_run√√
CLARKE_run(电流)
CLARKE_run(电压)√ (FAST)* 2√ (FAST)*√ (FAST)*
TRAJ_run√√√√
EST_run√(FAST)*√ (FAST)*√√ (FAST)*√√ (FAST)*
EST_setupTrajState√√ (FAST)*
EST_runTraj√√ (FAST)*
ESMO_run√(eSMO)*√(eSMO)*√√ (eSMO)*
SPDFR_run√(eSMO)*√(eSMO)*√√ (eSMO)*
ENC_run√(ENC)*√(ENC)*√√(ENC)*
SPDCALC_run√(ENC)*√(ENC)*√√(ENC)*
HALL_run√(HALL)*√(HALL)*√√(HALL)*
PARK_run
PI_run (Id)√√
PI_run (Iq)√√
PI_run(速度)√√
IPARK_run√√
SVGEN_run√√
HAL_writePWMDACData√** 3√**√**√**
DATALOGIF_update
DAC128S_writeData√**√**√**√**
  1. √ 表示使用此模块。√√ 表示此模块正在测试中。
  2. √(FAST)* 表示此模块仅供 FAST 使用。√ (eSMO)* 表示此模块仅供 eSMO 使用。√ (ENC)* 表示此模块仅供 ENC 使用。√ (HALL)* 表示此模块仅供 HALL 使用。
  3. √** 表示此模块受某些硬件套件的支持,如表 3-1 所示。

通用实验工程可以单独使用其中一种 FOC 算法进行电机控制,或同时使用两种 FOC 算法,如表 3-7 所示。如果在实验工程中实现了两种算法,则可以快速平滑地切换正在使用的估算器。

表 3-7 支持实验工程中的估算器算法
FAST(MOTOR1_FAST)eSMO (MOTOR1_ESMO)ENCODER (MOTOR1_ENC)HALL (MOTOR1_HALL)ISBLDC
(MOTOR1_ISBLDC)
FAST1
eSMO
编码器
HALL
ISBLDC

  1. √ 意味着这两种算法可以在工程中同时使用。✕ 意味着这两种算法不能在工程中同时使用。