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.

phase drifting problem when two VSIs in parallel connection controlling by DSPs

Other Parts Discussed in Thread: TMS320F28069

Hi,

I have two VSI in parallel connection, they share the dc-link. Each of them is controlled by a TMS320F28069 control card. I haven't implemented the PWM synchronization. I have three-phase RL load to each VSI. When I measure the A-phase curents for both VSI outputs, the strange thing is that, their phase shift is always changing. Since I dont have PWM synchronization, for sure there should be phase shift between them.  But as I understand, the phase shift between them should be fixed. In my case, if I fix one A-phase current in the osciliscope, the other one is drifting.

Is someone having the same experience? What I did in the algorithm is only an open loop. I'm using SVPWM, Ud and Uq are fixed value. Switching frequency is 10 kHz, fundamental frequency is 50 Hz.

Thank you in advance for your kind help.

  • Hello,

    I think the root cause which explains what you are seeing is that SYSCLK is not exactly the same in both chips. Whether you use the internal oscillator or an external crystal you should expect some amount of tolerance on each chip (and the tolerance will likely be different on each).

    Furthermore, because the two systems are not synchronized they will continue to drift.


    Thank you,
    Brett

  • Hi Brett,

    Thank you for your help. Good to know this! Can I ask you one more question? In my case, if I want to do PWM synchronization, what is your suggestion?

    As I know, EPWMxSYNCO and EPWMxSYNCI can be used for synchronizing the two EPWM in two DSPs. Is this method influenced by that drifting problem?

    What is the most common way to synchronize PWM in different DSPs?

    Thanks again.

    Best Regards,

    Lebing

  • Hi Lebing,

    The PWMSYNCO and PWMSYNCI signal (a few GPIO pins can be configured to be these signals) are the best ways to synchronize two chips' PWMs.

    With this scheme SYSCLK tolerance still has some impact, but it is usually not important enough to the system. To the system as long as the issues caused by tolerance can be bounded, things are generally okay.

    Let's take the case where chip2 synchs to chip1. Chip1 will output a pulse on PWMSYNCO when PWM1's timer reaches 0 (note that the event choice is configurable). Chip2 will receive this signal and once the input is qualified Chip2's PWM will synch to Chip1's synch pulse. This means that Chip1 and Chip2's PWMs will each start at zero within ~one clock cycle (the ~1 cycle is to account for qualification). Assuming that SYSCLK is different on each chip due to tolerance, within a PWM period the difference between SYSCLKs will slowly accumulate. For example in the case where both chips trigger an ADC-SOC to occur when each chip's relevant PWM timer reaches 500, several SYSCLK cycles of delay may be seen between the two chips' ADC-SOC events. However, once PWM1's timer on chip1 reaches 0 again, chip2's PWM1 will again resynch and the accumulated error will reset at 0. Note that the worst case amount of cycles seen between two chips' ADC-SOCs could be reduced as more and more precise clock sources are used to generate each chip's SYSCLK.

    Hopefully the above makes sense and helps you.


    Thank you,
    Brett
  • Thank you so much for your explanation!!

    Best Regards,
    Lebing