I have a Matlab simulation which implements vector control with an LC filter

The simulation comprises a voltage source inverter feeding an LC filter model whose output is passed to an induction motor dynamic model

I am trying to implement active damping as detailed here http://vbn.aau.dk/ws/files/73019790/EPSH1_730_appendix_report.pdf

http://vbn.aau.dk/ws/files/71774890/EPSH1_730_paper.pdf Which shows the transfer function block

Active DampingTransfer function

My problem is the report is very vague, it doesnt explain a lot and I am struggling to understand what I am supposed to do

The authors don't go into much detail such as transforms, given there is a PI controller then that tells me that Vref should be a Dc quantity hence I need to transform into the e-frame which is fine

My problems are multiple there is a top heavy transfer function which simulink cant handle and it looks like the Vout is calculated where as in the report they mention measuring the output voltage again I believe this needs to be transformed to the eframe

My simulink model measures output voltage and load currents and the angle is calculated with an encoder and slip equation Vector Controller

I am at a loss as to how I implement this system

Do I measure the filter output voltages and transform to e frame and subtract from the Vref? which is the output voltage from the VC?

How do I get simulink to work with a transfer function that has an higher order numerator than denominator?

Any help/guidance would be most appreciated


Active damping, for the T LCL filter in your example, can be simplified like this:

  1. either get the voltage at the junction (between the inductors), differentiate it, multiply it by a damping constant (sqrt(2) is an optimal [?, not sure] choice), then subtract it from your reference value, or

  2. get the current through the capacitor, multiply it by the inverse of the damping constant, then subtract it from your reference value.

The reference values are in whatever frame you're working on. If you did the Clarke, the Park, or whatever transform you concoct up. I made a simple example once, here's a screenshot:

virtual damping

It's for a single phase, only, but you can see this would have been a Clarke transform. The yellow blocks are, from left to right, the PID (PI) controller, the 3-level PWM controller, the bridge. The virtual damping is modelled with both voltage and current, but only one of them is active, set by one of the parameters, so only consider either the lower branch (voltage+diff), or the upper branch (current), not both. The whole ordeal could have been more tiier, particularly the PID values, but, as I said, this is an example, only. I hope it helps.

  • \$\begingroup\$ Thanks for this, I am a bit tied up at the minute so please allow me a few days to digest this answer and I will come back with what I ended up doing. I left this question and did it a different way and it is working but I am keen to improve it!. Thanks \$\endgroup\$ – Jamie Lamb Sep 11 '17 at 18:36
  • \$\begingroup\$ If you want, there's an extension to active damping for any number of poles (any order of the output LC filter). It's called leapfrog, belongs to one analogspiceman (don't know the name), and you can find details in the LTspice Yahoo Group (adventures with analog folder, IIRC). There is a need for registration, though, to avoid spammers. \$\endgroup\$ – a concerned citizen Sep 12 '17 at 6:01

The criteria for a phase lead compensation is in the Bode Plot measured by gain and phase margin in any control system. Normally it is a phase lead-lag feedback to optimize phase or gain margin then reduce jitter. The criteria depends on your tradeoffs between your specified overshoot and jitter requirements. There are many books on this subject and in some cases, non-linear feedback may be necessary.

Although I don't see why you say you have a higher order or more s terms on numerator.

  • \$\begingroup\$ I am confused why you mention phase lead compensation, I am simply trying to implement the system shown by the transfer function block. I say I have a higher order numerator than denominator because thats whats shown its the (sLf+Rl)/Rd*VDC which Vout feeds into. Simulink tells me I cant do that \$\endgroup\$ – Jamie Lamb Nov 17 '16 at 14:29
  • \$\begingroup\$ I'm not sure what Simulink is doing but the RL+sLf is a phase lead negative feedback term. InPLL's this this done after the integrating phase detector with an R1C+R2 filter. I don't see the relationship between your block diagram and transfer function. How did you model each block? \$\endgroup\$ – Tony Stewart EE75 Nov 17 '16 at 15:09
  • \$\begingroup\$ Did you try to contact the authors? They have the models on CD. Erik Bloch Nielsen Jesper Moos Mathias B Pedersen \$\endgroup\$ – Tony Stewart EE75 Nov 17 '16 at 15:16
  • \$\begingroup\$ Jesper can be easily reached at dekamotors \$\endgroup\$ – Tony Stewart EE75 Nov 17 '16 at 15:30
  • \$\begingroup\$ I can derive the transfer function quite easily and it makes sense. Its when I come to implement that these issues arise. I havent ever had to do anything as complicated as this with feedback control my experience so far has been with pretty simple systems where its clear what needs to be done. I havent contacted the authors that is my next step if no one here can answer me. I cant find jespers email anywhere I even consulted the oracle! thanks for your input here \$\endgroup\$ – Jamie Lamb Nov 17 '16 at 15:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.