This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-F28P65X:有关 PI 控制器结构、前馈、快速算法和 universal_motorcontrol_lab 中的过流行为的问题

Guru**** 2837190 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1627053/launchxl-f28p65x-questions-on-pi-controller-structure-feedforward-fast-algorithm-and-overcurrent-behavior-in-universal_motorcontrol_lab

器件型号: LAUNCHXL-F28P65X

TI E2E 团队大家好、

我目前在维也纳科技大学 (TU Wien) 从事学士学位的工作、我正在分析和比较 PMSM 的各种无传感器控制方法。 作为我研究的参考设计、我使用了 TI 硬件上的通用电机控制实验 (MotorControl SDK)。

为了准确地模拟和比较 Simulink 中的性能、我有一些关于库实施的具体技术问题

  1. PI 控制器结构
    实验中使用的两个 PI 控制器(电流和速度控制器)的确切结构(数学形式)是什么?
    我想在 Simulink 中准确复制它们。 我在中看到了控制器以串行形式进行嵌入、但代码中是否应用了任何内部比例因子或单位转换、这就解释了为什么我的计算控制器参数与实验室中使用的参数有很大差异?
    motor_common.c 中的计算结果
    KP_IQ = Lq BWC_rps = 3.4e-4 2pi * 200 = 0.43
    KI_IQ = 0.25 RoverL * currentCtrlPeriod = 0.0011
    KI 参数似乎非常小和缓慢的选举系统  

  2. 阶跃响应测试(电流和速度)
    是否可以在实验室环境中针对电流和速度生成输出阶跃变化(参考阶跃)?
    我想通过将仿真模型的动态响应与实际系统进行比较来验证仿真模型。

  3. Iq 控制中的前馈补偿
    反电动势的 FFWD 实现方式如何?
    在我的仿真中、此电压分量似乎明显大于产生 Iq 电流所需的实际输出电压、尤其是在空载和高速条件下。

  4. 快速算法和专利
    我知道这种无传感器 FAST 方法已获得专利、并未完全披露。
    您能否向我提供相关专利或文档、其中对基本方法和方程进行了更详细的描述?

    我对 FAST 观测器的假设是否正确?
    它是一个闭环状态观测器、可使用电机模型和电流反馈来估算转子位置、在低速时更依赖于模型、而在中高速时更依赖于反电动势(磁通位置估算)
    在接近零的速度下、在估算器变得可靠之前、是否需要开环启动或对齐例程?

  5. 较高直流总线电压下的过流误差
    我已经执行了电机参数识别、并且使用了测量值和其他电机值。
    但是、当我将直流母线电压提高到~30V 以上时、我经常在电机启动期间遇到过流误差(就在电机开始旋转后) 。 似乎、一旦过流错误在启动时发生、它的发生频率会更高。
    不会在低于~30V 时发生此问题。有趣的是、一旦电机运行、我可以在不触发错误的情况下将电压增加至 48V。
    此行为的原因可能是什么、是否有建议的调整来避免此问题?

非常感谢您的支持!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    通用电机控制实验中的控制结构是标准级联 FOC 环路。 速度环路(外部 PI)生成扭矩产生的电流基准。  电流环路 (Id 和 Iq 的内部 PI) 调节 d 轴和 q 轴电流。 电流控制器的输出为 Vd 和 Vq、然后通过逆向 Park / Clarke 变换回来并应用于 PWM 调制器。  对于表面 PMSM、除非启用了弱磁/MTPA、否则 Id_ref 通常设置为 0。  Iq_ref 来自速度 PI 或电流模式下的扭矩/电流命令。

    因此、PI 结构不是单个 PI 块、而是一个外部速度 PI +内部 d/q 电流 PI 控制器、这是 SDK 实验中使用的典型 FOC 架构。 通用电机控制 SDK 文档 还介绍了实验/工程结构和工作流程。

    前馈路径在牵引逆变器参考设计中实现、用于通过补偿已知受控体项来改善动态响应。 这在通用电机控制中不可用、因为在实践中、 稳定的电流环路不需要前馈。

    FAST 是 InstaSPIN 观测器/估算器、用于根据测量的电压/电流和电机参数估算电机状态(例如转子角度,速度和磁通)。 它不能替代 PI 控制器、而是提供 FOC 所需的反馈量。 有关更多详细信息、请参阅其文档。

    对于过流事件、预期行为通常是先进行硬件保护、而不是正常的 PI 环路调节。 在实验框架中、通常通过保护路径 CMPSS 到 ePWM 跳闸区操作来处理此问题。  如果在过流期间出现意外行为、首先必须验证电机参数和控制参数调整。

    此致、

    Masoud

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。

    我知道级联 FOC 环路及其一般结构。 然而、我仍然想应用 Iq_ref 和 SPEED_ref 阶跃、以验证仿真系统。 在中  通用电机控制 SDK 文档 只有 speedRef 可以以线性轨迹更改才能达到 speedRef 值。 我n´t 查找当前模式的文档以及是否有 STEP 函数。   

    关于无传感器运行的 FAST 观测器/估算器的问题是、是否有任何详细的说明(文档或专利)描述了转子角度、磁通和速度的估算方法、最好包括基本的公式。 在 InstaSPIN-FOC 和 InstaSPIN-MOTION n´t 指南中、我无法找到有关如何使用测量的电流和电压值计算转子位置的具体数学论述。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andreas:

    对于阶跃响应测试、您可以在代码中检查/搜索“STEP_RP_EN"预定“预定义符号以供参考。

    默认情况下、SW 处于“DMC_LEVEL_4",“,这、这是闭合速度环路。 您可以将其在“sys_setting.h"中“中切换为“DMC_LEVEL_3"。“。 在“DMC_LEVEL_3"中“中、它处于关闭电流模式、将跟随当前命令。 通用电机控制文档中对此进行了讨论。

    对于 FAST、我们不会在用户文档或专利中提供专有估算器的完整数学推导。 同时、可公开获得的文档支持高层次理解。

    此致、

    Masoud

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Masoud:

    我检查了所有电机和控制器参数、但当电源电压高于 30V 时、转动 motorVars_M1.flagEnableRunAndIdentify = 1 时仍会发生过流错误。 当电机运行时、我可以在没有过流错误的情况下提高电压。 您是否知道哪些参数可能出错?

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    必须在代码中追溯错误。 在这种情况下:

    和:

    您必须在“user_mtr1.h"上“上检查电路板定义的过压。

    此致、

    Masoud