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.

[参考译文] TMS320F28379D:双轴驱动电流环路 PI 限制可实现的最大速度

Guru**** 2563570 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1275202/tms320f28379d-dual-axis-drive-current-loop-pi-limiting-maximum-achievable-speed

器件型号:TMS320F28379D

在双轴驱动项目中,当前 PI 环路的饱和远低于最大速度。

在 dual_axis_servo_drive.user.h 中、我们已将基本速度设置为20000RPM、因此基础频率为666.6Hz。

但在电机运行期间、Iq PI 环路的输出值已经为0.91、最大饱和值为0.95。 当我们达到 PI 的饱和极限时、整个系统变得不稳定。

有没有任何方法可以减少电流环路输出、以便我们可以获得更高的速度?

这些是我的 FCL 参数:

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

    你好、

    很抱歉耽误你的时间。 我看到您之前已经和目前不在办公室的 Yanming 进行过很多 E2E 讨论。 我会在他不在的时候尝试和帮助。

    当前是否正在运行构建级别#3 (电流环路)或#4 (速度环路)? 您是否正在使用定制硬件、以及 您的电机额定速度是否超过您列出的20000RPM? 您知道是否已达到逆变器的电流输出(即检查相电流反馈或使用探头)?

     如果您需要超过电机的额定速度、则可以考虑实施弱磁控制、但代价是扭矩会减小。

    此致!

    凯文

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

    尊敬的 Kavin:

    我当前正在运行速度环路。(BUILD_LEVEL4)。

    这是我们自己的定制硬件、我们联系了电机制造商、他们确认测试的电机高达16000 RPM 并具有270V 直流母线。

    此电机的反电动势为12.7Vrms/1000RPM、所以我没有看到反电动势的任何限制?

     如果您需要超过电机的额定速度,但代价是扭矩降低,则可以考虑实施弱磁控制。

    我看,所以基本上添加 Id 电流,以便速度提升到同步速度以上?在我们的情况下,扭矩损失是不可接受的,因为我们预期可变负载运行时.(外部正扭矩和负扭矩)。

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

    你好、

    很抱歉,我花了一些时间与您联系。  

    您是否已检查您的 PWM 占空比是否接近当前配置的100%? 当占空比接近0%或100%时、需要考虑 PWM 死区。 也可从软件工程的注释中查看以下信息:

    // Note that the vectorial sum of d-q PI outputs should be less than 1.0 which
    // refers to maximum duty cycle for SVGEN. Another duty cycle limiting factor
    // is current sense through shunt resistors which depends on hardware/software
    // implementation. Depending on the application requirements 3,2 or a single
    // shunt resistor can be used for current waveform reconstruction. The higher
    // number of shunt resistors allow the higher duty cycle operation and better
    // dc bus utilization. The users should adjust the PI saturation levels
    // carefully during open loop tests (i.e pi_id.Umax, pi_iq.Umax and Umins) as
    // in project manuals. Violation of this procedure yields distorted  current
    // waveforms and unstable closed loop operations that may damage the inverter.

    此致!

    凯文

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

    尊敬的 Kavin:

    我的  pi_iq.Umax 和 Umins 与最大调制指数相同。

        pMotor->ptrFCL->pi_iq.Umax = 1.0 * pMotor->maxModIndex;
        pMotor->ptrFCL->pi_iq.Umin = -1.0 * pMotor->maxModIndex;

    因此、对于20KHz 的开关频率、最大调制指数为0.96。

    正如你可以看到在我的前一篇文章的图像, pi_iq.out 已经达到0.91接近12500 RPM ,如果速度轻微增加至约13000 RPM 整个系统变得不稳定,我们得到一个系统故障。

    您能否进一步解释这一点:

    Another duty cycle limiting factor
    // is current sense through shunt resistors which depends on hardware/software
    // implementation. Depending on the application requirements 3,2 or a single
    // shunt resistor can be used for current waveform reconstruction. The higher
    // number of shunt resistors allow the higher duty cycle operation and better
    // dc bus utilization

    我认为不存在占空比限制、因为 pi_iq.out 能够达到其边界值。

    外部电流检测应用的实现方式如下:

    我们将一个500uOhm 分流器连接到 Δ-Σ ADC (AMC1303)、然后对数字位流进行滤波并转换为模拟值、并将其提供给 MCU 的内部 ADC。

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

    对此有何帮助?

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

     如果 PWM 使用立即更新模式、则需要根据 FOC 执行时间和 ADC 采样时间将 maxModIndex 设置为一个正确的值。  

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

    尽管 FOC 执行时间已经固定了吗?它与 FCL 执行时间是否相同? 如果没有、我们如何找到具体的执行时间?

    //
    // FCL Computation time predetermined from library
    // tests on F2837xD
    //
    #define M1_FCL_COMPUTATION_TIME  (1.00)  //in uS

    我看到 M1_FCL_COMPUTATION_TIME 用于计算最大调制指数:

    pMotor->maxModIndex = (M1_TPWM_CARRIER -
                    (2 * M1_FCL_COMPUTATION_TIME)) / M1_TPWM_CARRIER;

    在我们的情况下 MaxModIndex 已经0.96、您是否相信我们会尝试进一步增加它?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    虽然 FOC 执行时间已固定,但它是否与 FCL 执行时间相同? 如果不是,如何找到具体的执行时间?

    如果您在 FCL 中添加任何代码或根据电流传感器更改 ADC 配置、时间将会有所不同。

    在我们的例子中 MaxModIndex 已经是0.96,你相信我们会进一步增加吗?

    可以。 减小该值以便尝试。

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

    我检查了 FCL 时间,它的载体在1.5到1.7微秒之间,检查"motorVars[0].fclLatencyInMicroSec"

    我将 M1_FCL_COMPUTATION_TIME 更改为1.7us 并尝试、结果相同。

    我曾经提到过、在12000RPM 时、电机相电流非常小、但如果我将其增加到大约13000 RPM、则中的电流会快速增加、并且出现过流故障。

    相电流仍是正弦电流、但在13000 RPM 时幅度急剧增加。 是否知道为什么会发生这种情况、尤其是在空载且电机以12000 RPM 的转速完美运行的情况下?

    另外一点,如果我在相反方向尝试相同的方法,我得到相同的结果,但这次我无法达到-12000 RPM ,我得到的相电流不受控制的增加仅在10000 RPM 左右,任何想法是什么导致了这个问题?

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

    电机是什么极对? 以及您使用的 PWM 频率是多少? 是否有任何测得的电流波形用于显示该问题?

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

    极数为4 (2极对)

    PWM 开关频率为20KHz

    我已经连接了两相电流的电流波形:

    没有连接负载、请注意、在10000 RPM 时、电流非常小、但当我将速度增加至大约12000 RPM 时、电流将增加、并达到我的硬件限制(过流)

    C1 (直流母线)、C2 (直流输入电流)、C3 (U 相电流)、C4 (V 相电流)

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

    如果您只运行单个电机、会发生什么情况? 是否可以使用 DAC 或 PWMDAC 来监控转子角度?

    您可以尝试提高直流母线电压吗、看看会发生什么情况?

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

    到目前为止、我仅运行单电机。 如果我同时运行电机 A、电机 B 或电机 A 和 B、则观察到相同的表文。

    关于直流母线、我们尝试了以下方法:

    我们将直流母线电压从270降低到240V、现在无法达到10000 RPM、转速达到约9500 RPM 的饱和。 如果我们尝试将速度设定点设定为10000 RPM、则在速度饱和时会观察到相同的大电流表文。

    "你在担心我吗?" 此电机的反电动势为12.7Vrms/1kRPM ,大约在12000 RPM 时为200V 整流直流。 如果直流母线电压为270V、我们仍然有70V 的裕度、但我们无法达到此速度。

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

    您可以尝试增加总线电压、看看如果可能会发生什么情况吗?

    12.7VRMS/1kRPM 是 RMS 电压值。 您需要使用峰值电压来检查直流母线电压是否足够。

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

    您好、Yanming、今天我们试图将直流母线电压增加到300V、现在最大速度确实从10000 RPM 增加到大约11500 RPM。

    你提到我们需要为反电动势的峰值,通过这样做在10000 RPM ,我们得到最大电压(12.7 * sqrt (2)* 10),大约180V。 仍然有很大的裕量、但仍然无法在270V 直流电压下达到更高的速度。

    还有其他需要检查的东西?

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

    您应该将 RMS 值转换为峰值以计算最大运行速度。 计算速度仅用于无负载运行电机、实际最大速度将远低于 计算速度、因为输出转矩也需要输出电压。