ZHCAAA0A February   2016  – May 2021 TMS320F28075 , TMS320F28075-Q1 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S

 

  1.   商标
  2. 引言
  3. 永磁电机
  4. 同步电机运行
  5. 磁场定向控制 (FOC)
    1. 4.1 引言
    2. 4.2 FOC 主要原理
    3. 4.3 技术背景
    4. 4.4 空间矢量定义和设计
    5. 4.5 (a,b,c) → (α,β) 设计(Clarke 变换)
    6. 4.6 (α,β) → (d,q) 设计(Park 转换)
  6. FOC 的基本系统配置
    1. 5.1 转子磁通位置
  7. 32 位 C2000 控制器在数字电机控制 (DMC)方面 的优势
  8. TI 文献和数字电机控制 (DMC) 库
    1. 7.1 一个典型的 DMC 宏定义
    2. 7.2 系统概述
  9. 硬件配置 (IDDK)
    1. 8.1 运行 HVPM_Sensored 项目的软件设置指令
  10. 递增系统构建
    1. 9.1  1 级 - 递增构建
    2. 9.2  1A 级 - SVGEN_MACRO 测试
    3. 9.3  1B 级 - 测试 DAC
    4. 9.4  1C 级 - PWM_MACRO 和逆变器测试
    5. 9.5  1D 级 - 调整旋转变压器环路参数
    6. 9.6  2 级 - 递增构建
    7. 9.7  2A 阶段 - 在软件中设置过流限制
    8. 9.8  2B 级 - 测试 Clarke 模块
    9. 9.9  2C 级 - 调整 PI 限值
    10. 9.10 2D 级 - 各种电流感应方法
    11. 9.11 2E 级 - 位置编码器反馈/SPEED_FR 测试
      1. 9.11.1 使用 QEP
      2. 9.11.2 使用旋转变压器
      3. 9.11.3 使用 EnDat 编码器:
      4. 9.11.4 使用 BiSS-C 编码器:
    12. 9.12 3 级 - 递增构建
    13. 9.13 4 级 - 递增构建
    14. 9.14 5 级 - 递增构建
  11. 10参考文献
  12. 11修订历史记录

5 级 - 递增构建

图 9-17 所示为在 BUILDLEVEL 5 中构建的系统的方框图。

GUID-9FDD6004-24BC-418E-8FAA-DDCECB78DB05-low.gif图 9-17 5 级 - 递增系统构建方框图

5 级将验证位置 PI 模块和位置环路。

本节将利用 QEP 或旋转变压器验证位置 PI 模块和位置环路。为了使该环路正常工作,必须成功完成 Topic Link Label9.13。当电机接到命令后运行时,其将进行初始校准,电角度和 QEP 角度值将设为零。如果使用了旋转变压器或绝对编码器(EnDat 或 Biss-C),则会识别其电角度为零度时的初始位置以实现运行时间校正。确保稳定对齐后,转子开始进入 FOC。

  1. 打开 HVPM_Sensored-Settings.h 并通过将 BUILDLEVEL 设定为 LEVEL5 (#define BUILDLEVEL LEVEL5) 来选择 5 级递增构建选项。
  2. 右键点击项目名称,然后点击 Rebuild Project。
  3. 一旦此构建完成,点击 debug 按钮,复位 CPU,重新启动,启用实时模式并运行。
  4. 在观察窗口中将“EnableFlag”设为 1。在观察窗口中看到 “IsrTicker”变量递增,以确认中断正常运转。
  5. 在“Expressions”窗口中将“RunMotor”设置为 1。设置此标志,通过由“refPosGen()”模块设定的预定义运动曲线和位置设置来运行电机。

refPosGen() 模块主要通过一组在数组“posArray”中定义的值来循环参考位置。这些值表示相对于初始对齐位置的转数。一旦达到数组中定义的某个位置值,电机会暂停一会儿,然后再转向数组中的下一个位置。因此,这些数组值可称为停驻位置。在从一个停驻位置过渡到下一个停驻位置期间,过渡速率(或速度)由“posSlewRate”设置。从第一个值重新开始之前在“posArray”中通过的位置数由“ptrMax”决定。因此,请向“Expressions”窗口中添加变量“posArray”、“ptrMax”和“posSlewRate”。

关键步骤可解释如下:

  1. 实时编译、载入和运行程序。
  2. 向“Expressions”窗口中添加变量“pi_pos”、“posArray”、“ptrMax”和“posSlewRate”。
  3. 逐渐增加自耦变压器上的电压以获得适当的直流总线电压。
  4. 设置 RunMotor = 1 以运行电机。电机应在旋转以跟随命令的位置。如果电机不能正常旋转,请参阅(1)。
  5. 可将“posArray”中的停驻位置更改为不同的值,以确定电机是否按照设置的转数旋转。
  6. 也可更改停驻位置数量“ptrMax”以设置旋转模式
  7. 可通过使用“posSlewRate”来更改位置压摆率。它表示每个采样瞬间的角度(以 pu 为单位)。
  8. 为获得满意的响应,可重新调整速度和位置 PI 控制器的比例和积分增益。建议先调整速度环路,然后再调整位置环路。
  9. 根据构建 1 末尾所述,减小总线电压、使控制器退出实时模式并复位,以使系统安全停止。现在,电机将会停止。

图 9-18 中绘制了参考位置和反馈位置。可以看出,它们保持一致,滞后可忽略不计,这一点归功于软件。如果没有正确选择位置环路控制器的 Kp、Ki 增益,则可能导致反馈振荡或响应滞后。

GUID-1181D74A-0BAB-4322-86AF-77A0929DDF4D-low.gif
  1. 如果电机响应不稳定,则电机轴和编码器的旋转方向可能相反。交换与电机任何两相的连接,然后重复进行测试。
  2. 此处实现的位置控制基于初始对齐的电气位置 (= 0)。如果电机有多个极对,这种对齐方式会使轴处于不同的机械位置,具体取决于转子的预启动机械位置。如果需要机械位置具有可重复性或一致性,则应使用 QEP Index 脉冲来设置一个参考点。这一任务可以用作练习。
  3. 利用绝对编码器(例如旋转变压器、EnDat 或 Biss-C),以上情况将不是问题,因为它们可提供每个位置的独特角度值
图 9-18 参考位置到伺服和反馈位置的示波器图