Author 
Message 
Steve Minshull science forum beginner
Joined: 13 Jun 2005
Posts: 6

Posted: Wed Apr 05, 2006 9:28 am Post subject:
Control Loop Stability and Sampling



Hi
I have a motor drive modelled in simulink making use of Space Vector PWM
and I'm having a few problems with stability. I have a PI current
controller on the front end and I'm trying to tune the PI Values to get
a stable response....at the moment I get a ripple on the current (and
hence torque) waveform.
I've done a block analysis (in terms of continous 's' domain) and the
result is a second order response. THis lets me choose an wn
(bandwidth) and zeta(damping factor)...I chose wn=1000Hz and zeta=0.707
which gives P=2 I=5000. My first thoughts were "eeek the integral gain
is huge" but trying to manually tune P&I has not give me a better response.
I'm currently working out my control action each PWM cycle. I get the
feeling this is the wrong thing to do? but slowing the control down e.g
working out the control every other PWM period increases the current and
torque ripple. So I'm confused as to what the link is between choice of
Bandwidth with PI values and Choice of bandwidth from the controler
sampling frequency.
Presumably my system bandwidth....whatever it is needs to be
significantly less than the PWM frequency for stable operation? Do I
need to perform a discrete analysis of the system?
Thanks in advance for your help....once I get this controller stable I
can get to hardware and have some fun
Steve Minshull 

Back to top 


RRogers science forum beginner
Joined: 09 Jun 2005
Posts: 10

Posted: Thu Apr 06, 2006 1:06 pm Post subject:
Re: Control Loop Stability and Sampling



Is it possible for you to post the diagram somewhere it can be seen? I
have done PWM modeling in Scilab/Scicos and your problem doesn't
correspond to what I remember.
RayRogers 

Back to top 


Tim Wescott science forum Guru Wannabe
Joined: 03 May 2005
Posts: 292

Posted: Fri Apr 07, 2006 5:30 am Post subject:
Re: Control Loop Stability and Sampling



Steve Minshull wrote:
Quote:  Hi
I have a motor drive modelled in simulink making use of Space Vector PWM
and I'm having a few problems with stability. I have a PI current
controller on the front end and I'm trying to tune the PI Values to get
a stable response....at the moment I get a ripple on the current (and
hence torque) waveform.
I've done a block analysis (in terms of continous 's' domain) and the
result is a second order response. THis lets me choose an wn
(bandwidth) and zeta(damping factor)...I chose wn=1000Hz and zeta=0.707
which gives P=2 I=5000. My first thoughts were "eeek the integral gain
is huge" but trying to manually tune P&I has not give me a better response.

Yes, that does sound wrong. I'm thinking though that you're missing
some dimensions. Simulink wants you to use integrators that are scaled
by sampling rate, which means that the integrator gain should have
dimensions of 1/sec  if this is the case then the integrator gain
number is not so bad, but you should be using the units.
Are these the numbers that you're using in your sampled time system, or
are they the numbers that you get from a continuoustime analysis, or what?
What are the components that are generating the second order response?
Are we talking about a series L with shunt C to suppress ripple from the
PWM? If so, why aren't you talking about using a differentiator?
What's your circuit topology?
What's your PWM (and hence sampling) frequency?
Quote: 
I'm currently working out my control action each PWM cycle. I get the
feeling this is the wrong thing to do?

It would only be 'wrong' in the sense that you may be making extravagant
use of processor resources, and you'll need to pay attention to
integrator depth.
Quote:  but slowing the control down e.g
working out the control every other PWM period increases the current and
torque ripple. So I'm confused as to what the link is between choice of
Bandwidth with PI values and Choice of bandwidth from the controler
sampling frequency.

Huh? I'm not sure what method you're working from, here. Usually you
should choose the controller sampling frequency from your desired
bandwidth (the rule of thumb is to sample at 10x or more); in extremis
you can pull back your bandwidth to match a limited sampling rate, however.
Ultimately your bandwidth will be limited by the plant, no matter what
you're doing with sampling rate.
Quote: 
Presumably my system bandwidth....whatever it is needs to be
significantly less than the PWM frequency for stable operation?

Yes, this is the 10x I was talking about.
Quote:  Do I need to perform a discrete analysis of the system?

You can get by without it, but I heartily recommend that you get a
discrete model of the plant and design to that.
Quote: 
Thanks in advance for your help....once I get this controller stable I
can get to hardware and have some fun
Steve Minshull


Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Posting from Google? See http://cfaj.freeshell.org/google/ 

Back to top 


Steve Minshull science forum beginner
Joined: 13 Jun 2005
Posts: 6

Posted: Fri Apr 07, 2006 10:24 am Post subject:
Re: Control Loop Stability and Sampling



Tim Wescott wrote:
Quote:  Steve Minshull wrote:
Hi
I have a motor drive modelled in simulink making use of Space Vector
PWM and I'm having a few problems with stability. I have a PI current
controller on the front end and I'm trying to tune the PI Values to
get a stable response....at the moment I get a ripple on the current
(and hence torque) waveform.
I've done a block analysis (in terms of continous 's' domain) and the
result is a second order response. THis lets me choose an wn
(bandwidth) and zeta(damping factor)...I chose wn=1000Hz and
zeta=0.707 which gives P=2 I=5000. My first thoughts were "eeek the
integral gain is huge" but trying to manually tune P&I has not give me
a better response.
Yes, that does sound wrong. I'm thinking though that you're missing
some dimensions. Simulink wants you to use integrators that are scaled
by sampling rate, which means that the integrator gain should have
dimensions of 1/sec  if this is the case then the integrator gain
number is not so bad, but you should be using the units.
Are these the numbers that you're using in your sampled time system, or
are they the numbers that you get from a continuoustime analysis, or what?
What are the components that are generating the second order response?
Are we talking about a series L with shunt C to suppress ripple from the
PWM? If so, why aren't you talking about using a differentiator?
What's your circuit topology?
What's your PWM (and hence sampling) frequency?
I'm currently working out my control action each PWM cycle. I get the
feeling this is the wrong thing to do?
It would only be 'wrong' in the sense that you may be making extravagant
use of processor resources, and you'll need to pay attention to
integrator depth.
but slowing the control down e.g working out the control every other
PWM period increases the current and torque ripple. So I'm confused
as to what the link is between choice of Bandwidth with PI values and
Choice of bandwidth from the controler sampling frequency.
Huh? I'm not sure what method you're working from, here. Usually you
should choose the controller sampling frequency from your desired
bandwidth (the rule of thumb is to sample at 10x or more); in extremis
you can pull back your bandwidth to match a limited sampling rate, however.
Ultimately your bandwidth will be limited by the plant, no matter what
you're doing with sampling rate.
Presumably my system bandwidth....whatever it is needs to be
significantly less than the PWM frequency for stable operation?
Yes, this is the 10x I was talking about.
Do I need to perform a discrete analysis of the system?
You can get by without it, but I heartily recommend that you get a
discrete model of the plant and design to that.
Thanks in advance for your help....once I get this controller stable I
can get to hardware and have some fun
Steve Minshull
Hi Tim....Thanks for thinking about this one. I'll try to explain a 
little more.
THe model is presently in continous time but Space Vector PWM doesn't
really exist in continous domain. It works by sampling a DQ voltage
demand and working out a switching vector and dwelling times. My model
effectively calculates a new vector each PWM Time. So my PWM frequency
is 20kHz and effectively my Space Vector Control is also working at
20kHz. THe PI part of the control operates in continous time. i.e the
transfer function is kp+(ki/s). Ultimately I'm going to a DSP and so
the PI will be discrete therefore I think I should probably go to a
fully discrete model too.
THe components are indeed a series L and a shunt C (Bruhless ac motor
Phase) so I'll have a go at adding differential and see what happens.
Just had a thought....Maybe my problem is the mixed continous/discrete
controller....the continous integral part will ramp up/down during PWM
period when it cannot effect the output.
When I use an "ideal" converter (sinousoidal voltage source) The system
behaves well. It is when I model the converter at a power electronics
level (ideal switches) i get problems with the torque ripple.
I'm going to try cross posting this to comp.dsp
Steve Minshull 

Back to top 


Tim Wescott science forum Guru Wannabe
Joined: 03 May 2005
Posts: 292

Posted: Fri Apr 07, 2006 4:45 pm Post subject:
Re: Control Loop Stability and Sampling



Steve Minshull wrote:
Quote:  Tim Wescott wrote:
Steve Minshull wrote:
 snip  
Quote: 
Hi Tim....Thanks for thinking about this one. I'll try to explain a
little more.
THe model is presently in continous time but Space Vector PWM doesn't
really exist in continous domain. It works by sampling a DQ voltage
demand and working out a switching vector and dwelling times. My model
effectively calculates a new vector each PWM Time. So my PWM frequency
is 20kHz and effectively my Space Vector Control is also working at
20kHz. THe PI part of the control operates in continous time. i.e the
transfer function is kp+(ki/s). Ultimately I'm going to a DSP and so
the PI will be discrete therefore I think I should probably go to a
fully discrete model too.
THe components are indeed a series L and a shunt C (Bruhless ac motor
Phase) so I'll have a go at adding differential and see what happens.
Just had a thought....Maybe my problem is the mixed continous/discrete
controller....the continous integral part will ramp up/down during PWM
period when it cannot effect the output.
When I use an "ideal" converter (sinousoidal voltage source) The system
behaves well. It is when I model the converter at a power electronics
level (ideal switches) i get problems with the torque ripple.
I'm going to try cross posting this to comp.dsp
Steve Minshull

A question:
What loop are you closing here? At that bandwidth I would hope it's the
current, to set the torque.
A comment:
If it worked at the 'ideal' converter stage, but not when you changed
both the controller and the drive stage, perhaps you should back out of
half of your changes and just use a sampledtime controller with an
'ideal' sinusoidal drive. Even something as wheezy as putting a
sampleandhold block between the output of your controller and your
sine wave drive should be enough to either validate your sampledtime
controller or find your problem.
If it works with a sampled controller and a perfect drive, then you can
reduce your question to asking why the PWM control doesn't work like the
ideal drive.

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Posting from Google? See http://cfaj.freeshell.org/google/ 

Back to top 


Google


Back to top 



The time now is Mon Sep 24, 2018 1:46 am  All times are GMT

