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.

Normalization of adc values in fixed point digital PID control



Hello All

I am new to digital PID control implementation, though not to embedded development.

I am trying to implement fixed point (double loop of volt and current) PID control of half bridge sine inverter using piccolo 28035.

For this implementation, I take two adc signals, 1. Output voltage and 2. Inductor current.

In the outer loop, the (sine ref - output volt) is computed to get error and in the inner loop, voltage pi output is used as reference and inductor current is subtracted.

But there is a step of normalization in which these adc values are typically multiplied by different constants (the process of normalization) and sine ref is also built to suit the same. The details of this step is missing even in TI's UPS ref design SPRA589a.pdf

Can some digital PI expert explain the process of normalization and show an implementation with an example? Or pointers to the resource will be OK. This will be very useful for beginners like me.

Thanks.

Sayee


  • Sayee,

    The app note you mentioned above is old, and uses  24x core, however the concepts  discussed related to the theory are still valid, the packaging of software has changed drastically since then.

    The existing control frameworks for C2000 devices, specifically for Digital Power Control (DC-DC) and Digital Motor Control (DC-AC). The Digital Power Framework use assembly because of the frequency of control loops involved whereas the motor control is C based. Both, however use a reference-feedback normalization approach.

    To explain this method let;s consider a buck power stage as below,

     

    Now in case of two loop control, the use of the internal compensator is to adjust the reference according to what is mandated by the outer loop. So you only have to do this scaling for reference for the outer loop (voltage loop in your system).

    Hope this helps,

    Regards

    Manish Bhardwaj