在双轴驱动项目中,当前 PI 环路的饱和远低于最大速度。
在 dual_axis_servo_drive.user.h 中、我们已将基本速度设置为20000RPM、因此基础频率为666.6Hz。

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

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

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.
在双轴驱动项目中,当前 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。


尽管 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 左右,任何想法是什么导致了这个问题?
到目前为止、我仅运行单电机。 如果我同时运行电机 A、电机 B 或电机 A 和 B、则观察到相同的表文。
关于直流母线、我们尝试了以下方法:
我们将直流母线电压从270降低到240V、现在无法达到10000 RPM、转速达到约9500 RPM 的饱和。 如果我们尝试将速度设定点设定为10000 RPM、则在速度饱和时会观察到相同的大电流表文。
"你在担心我吗?" 此电机的反电动势为12.7Vrms/1kRPM ,大约在12000 RPM 时为200V 整流直流。 如果直流母线电压为270V、我们仍然有70V 的裕度、但我们无法达到此速度。