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.

TMDSSOLARUINVKIT: Understanding the DDSRFPLL and Frequency Limits

Part Number: TMDSSOLARUINVKIT


Hi Manish,

I've got the reference simulations working that are detailed in the sprabt4a.pdf and I've even managed to get breadboard setup running and tracking phases etc.

I've been looking to increase the 'grid frequency' range by a factor of 10 or more with the idea of adapting the code to monitor some small motors etc.

I've adjusted the LPF cutoff to maintain the 1/sqrt(2) (or lower) and adjusted the PI Gains B0 and B1 using the spll_coeff_compute.xlsx as a guide. After quite a few iterations and adjustments, It seems that I hit a maximum grid frequency of around 500Hz before I can no longer get the PLL to lock. 

I've tried to see if switching frequency in the matlab model has an impact by simply scaling it up by a factor of 10 from 10kHz and that doesn't seem to help much.

The picture below shows the error plot at 500Hz, a settling time of 0.025 seconds (B0 = 268.4, B1 = 264.8), LPF coeffs K1 = 0.0715 K2 = -0.8571, Fs= 10kHz

It's clear the PLL doesn't settle within the 25ms so I suspect even at 500Hz it's barely stable.

Do you have any comments or suggestions on the upper frequency limit of the algorithm?

Also for an application where I want to accurately monitor the motor phases, the motors can vary quite a bit in operating frequency so I suspect there's a maximum usable frequency range for the algorithm?

Thanks,

James

  • James,

    Definitely an interesting application to use the SPLL module. I am glad that you are able to observe the algroithm work correctly at grid frequency and which is what it was designed for. I don't have any specific suggestion or advise as to why it is not working fine at 500Hz. Unfortunately that is a use case we did not consider.

    I will recommend

    1. Trying to use SRF PLL, i know this may not be the one you eventually want to use as this does not work well in case of imbalance., but it is a much better understood module with less complexity and will serve as a good data point to where the issue might be.

    2. Try to reach out to the author of the paper i referred in that app note if they have analyzed it from a freq limit of lock perspective

    I have also added some one from motor control team to comment if we have some similar capability.

    Just at a high level, you are interested in identifying the im-balance in the current ? +ve and -ve sequences and hence the reason to use DDSRF?
  • James,

    After probing in the team, there seems to be no solution that we have, asides from above my best suggestion will be to do literature survey and see if some one has attempted something similar or close.

    All the best with your project,

    regards
    Manish