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.

[参考译文] TMS320F28027F:此电机来自哪里?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/593632/tms320f28027f-where-does-this-motor-whine-come-from

器件型号:TMS320F28027F

因此、我的定制控制器板工作得相当好、在电机 ID 结果和运行性能方面、它的性能都是稳定的。 我在电流控制模式下运行控制器、当启用 enableSys 和 Run_Identify 两个标志或 PWM 输出处于活动状态时、无论命令的扭矩如何、电机都会发出很大的呜呜声。 现在、我一直在考虑在命令的 Iq 电流较低时禁用 PWM 输出的方法、但这会在再次启用输出时产生一些不稳定的行为。

所以问题的关键是。 是什么导致了这种呜呜声? PWM 频率为25kHz、我没有看到会影响这一点的任何其他变量。 那么、它从代码中的什么来源? 下面、我附加了一个来自从电机录制的声音片段的 FFT 图和实际电机 whine 的音频样本、并在末尾禁用了 Run_Identify 标志以听到差异。

在2500、6000、6600、8500和18500 Hz 频率下存在较大的振幅尖峰。

e2e.ti.com/.../motorWhine.mp3

在0命令 Iq 电流下进行电机音频录制、并在末尾禁用 Run_Identify 标志

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有任何相电流波形用于这种外观? 您可能需要首先针对不同 KP&Ki 的不同工作条件调整 PI 调节器参数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将测试电流 PI 控制器的 Kp 和 Ki 增益的变化。 不过有一个问题。

    使用的区别是什么:

    CTRL_getKp (ctrlHandle、CTRL_Type_PID_ID);

    PID_getKp (obj->pidHandle_ID);

    这两种方法都获得 PID 控制器的比例系数(在本例中、d 轴为比例系数)、但它们的用例是什么? 它是基于系统的控制从何处执行、例如从 RAM 还是从 ROM 执行?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我尝试调节电流 PI 控制器的 Ki 和 Kp 增益、大多数噪声与 Kp 增益非常直接相关。 KP 的起始值为~0.04、这是音频样本的记录值、但当我将其降至~0.01时、它会安静得多。
    这是否可能意味着系统中存在一些噪声、即使在 IqRef_A = 0时、也会调整 PWM 值以尝试将基准电流保持在零?
    电流调节也是这种情况的一个很可能的因素、因为电路板的最大 ADC_Current 为165安培、这会导致分辨率降低、并且会在测试电流较低的情况下增加相对噪声系数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PID_getKp (obj->pidHandle_ID)和 CTRL_getKp (ctrlHandle、CTRL_Type_PID_ID)将获得相同的 Kp。 控制代码将调用 PID_setKp (obj->pidHandle_ID、KP_ID)、以将 ctrlHandle 的 Kp 设置为 pidHandle_ID。 它是 ROM 中的 InstaSPIN-FOC 代码。

    很难将 Iq 稳定地保持为零、PWM 占空比将得到很大的调整、因为刻度误差不是实际值、并且存在一些噪声、如果 Kp 或 Ki 为高电平、则会更明显。 在这种情况下、您可以使用较小的 Kp 和 Ki、或提高小电流的电流采样分辨率。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Yanming"] PID_getKp (obj->pidHandle_ID)和 CTRL_getKp (ctrlHandle、CTRL_Type_PID_ID)将获得相同的 Kp。

    我测试了这个、否则它们是相同的、但有一些缩放、PID_getKp 比 CTRL_getKp 返回的值高2.5倍。 正常?

    我还决定测试 PID_getUi 和 CTRL_getUi、并且在仅调试时、PID_getUi 返回一个随时间变化的值。 CTRL_getUi 由于某种原因返回了一个静态值。 原因是什么?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果 ctrlState 和 estState 都处于联机状态、则将 ctrlHandle 的 Kp 设置为 pidHandle_ID 的 Kp。

    CTRL_getUi 未在 InstaSPIN 项目中使用、最好使用 PID_getUi。