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.

Feedback implementation help

Hello,

I am working on a project where I'll be implementing up to three separate controllers in a cascade formation followed by the PWM inverter.

The 3 controllers say Cont1, Cont2, Cont3 are connected such that output of Cont3 goes through a PI to Cont2, output of Cont2 goes to Cont1 and output of Cont1 goes to the PWM inverter. (There is also a reference transformation in between but I don't think that's relevant to my question.) The output of Cont2 is fed back to PI, the output of Cont1 is fed back to the Cont2, and the output of the PI is fed back to Cont3. I realize that is confusing, and I would be happy to provide a block diagram if anyone needs it.

I want to know how do I go about implementing this. What delay considerations should I be aware of that will affect the performance of the motor controller? Also, I do not want to have a dependency issue. I have very little idea as to how to proceed. Any help will be appreciated.

Thanks,

Sandesh

  • Hello Sandesh,


    I don't think I can give a full answer to your question but I will try to help.


    The control structure you describe contains three internal feedback loops. Depending on how Cont1,2,3 are implemented there is indeed the possibility of one or more algebraic loops - i.e. the input to one block being dependent on its own output in the same control cycle. If this does happen you'll need to insert a delay or re-structure the controller to avoid it.


    If you're coding yourself I would recommend making the connections between controller blocks using pointers. That way you can easily reconfigure the connections as you test and bring up the controller. Whatever you do though, it's going to be difficult to test and debug a structure like this because you can't really isolate any of the loops.


    If you haven't already done so, it might be worth looking at some of the newer simulation and auto-code generation tools from companies like Plexim, The Mathworks and VisSim. They will warn when an algebraic loop appears, and can also automatically generate code for the MCU.  

    I'm sorry I can't provide a more specific answer. 


    Best regards,


    Richard