Issue with DTC of PMSM at 40kHz PWM Frequency

3 次查看(过去 30 天)
I are currently using "Direct Torque Control of PMSM Using Quadrature Encoder or Sensorless Flux Observer" example for high-speed PMSM motor control. The system works perfectly at 20kHz, but when I increase the PWM frequency to 40kHz, I encounter an issue with the reference speed in the host model.
For example, when I set the reference speed to 500 RPM, the host model incorrectly shows 6500 RPM. It appears that the instructed or reference speed is getting corrupted during transmission or processing. I've attempted various solutions, including adjusting the baud rate, hardware interrupts, and hardware initialization settings, but the issue persists.

回答(1 个)

MULI
MULI 2024-9-11
Hi MD,
I understand that in "Direct Torque Control of PMSM Using Quadrature Encoder or Sensorless Flux Observer" example you are facing an issue when the PWM frequency is changed.
It has occurred due to the following reasons:
  • At 40kHz, the sample time for the PWM interrupt task is reduced to 25 microseconds.
  • The Serial communication and if any additional monitoring algorithms are integrated into the PWM interrupt task. The combined execution time likely exceeds the available 25 microseconds
  • This leads to data corruption during transmission, resulting in incorrect reference speed readings.
To resolve this issue you can follow these steps:
  • Move serial transmission out of the PWM interrupt task into a separate subsystem with lower frequency.
  • Keep PWM control logic as the highest priority to ensure real-time performance.
  • Handle non-critical tasks like serial communication separately.
By following these steps, you can resolve the reference speed issue and enhance the system's reliability and performance.

类别

Help CenterFile Exchange 中查找有关 C2000 Microcontroller Blockset 的更多信息

标签

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by