# Problem with acceleration feedback controller in simulink

I am having a problem and I hope someone here could help.
I am building an active vibration supression system for a cantilever
beam using acceleration feedback control. I am modelling the cantilever beam with a second order differential equation as follows:
2 d q(t) dq(t) ---- + 2*(xip)*(wp) ---- + (wp^2)*q(t) = -G*a1*(wc^2)*n(t)+f(t) 2 dt dt
I am modeling the compensator as a second order differential equation as follows:
2 2 d n(t) dn(t) d n(t) ---- + 2*(xic)*(wc) ---- + (wc^2)*n(t) = a2* --- 2 2 dt dt dt
where
q(t) : Single degree of freedom of the free end of the beam in the transverse direction.
n(t) : Single degree of freedom for the compensator
xip : damping ratio of the beam (plant)
xic : damping ratio of the compensator (plant)
wp : Natural frequency of the beam
wc : frequency of the compensator (set at the same as the plant so it can operate at cross over)
G : Gain of the controller applied to the feedback signal
a1 : Influence coefficient of the compensator
a2 : Influence coefficient of the sensor
f(t) : External applied harmonic load at the free end of the beam in the transverse direction
The compensator is a moment inducing actuator that is installed on top of the beam a the beam root (maximum curvature). The compensators natural frequency is set to be the same as the plants (crossover). The applied load is set at the same frequency as the first natural frequency of the beam (gives maximum displacement). The damping ratio for the compensator is calculated as
(xic) = 0.5*sqrt(a1*a2*G)
The design parameter for this system is the gain G.
Both second order differential equations are converted to state space for implementation into Simulink.
The system works as follows:
For each time interval The acceleration is measured in the same direction as the applied load and is passed on to the compensator equation. WIth this acceleration the value of n(t) is calculated. THis n(t) values is multiplied by the gain equation of -G*a1*(wc^2). This is the control force of the actuator. This control force offsets what the applied force does to the system and thus reduces the vibration magnitude.
This has worked great in our lab with an actual beam and when we modelled it in ABAQUS software.
I am now setting up a Simulink model (Matlab 6.5) to model the response of the beam if the natural frequency of the plant is slightly different than the compensator. In Simulink I have a very simple model. The harmonic force first inputs to a summing block (the other input being from the fedback loop). Only the plant is in the forward loop. After the plant starts the feedback loop where we have the compenator block then the gain block. THis is fedd to the summing block as I mentioned before.
In the model when I compare open loop to closed loop it works as designed and the vibration at the free end of the beam is reduced by a wole order of magnitude. I then copy the closed loop system and I call the plant the True Plant. THe original plant I call the model plant. I increase the natural frequency of the true plant by 3%. The true plant model is no longer opertaing at cross over (I have included the Matlab code with the actual values below). WHen these models are run you would expect the True plant vibratin reduction to be less than the Plant Model as the effectivity of the compensator has been reduced.
This is not what is happening. The vibration reduction in the True Plant model is better than the Plant Model. This physically can't happen.
In fact the further we diverge the True Plant's natural frequency (either higher or lower) the more the vibration is reduced.
I have shown this model to my other colleagues and they cannot explain this. I would appreciatte any help anyone can provide. Thank you.
Patrick Roberts
clear all close all clc
omegam = 2*pi*29.823; %Natural frequency of the model in rad/sec zetam = 0.015; %model damping of 1.5% omegatp = 2*pi*31; %Natural frequency of the true plant in rad/sec zetatp = 0.015; %True plant damping of 1.5% a1 = 2.1755e-3; %Influence coefficient of the actuator a2 = 15.27; %Influence coefficient of the sensor omegac = omegam; %Controer natural frequency gamma = 2.5; %Gain of the controller zetac = 1/2*sqrt(a1*a2*gamma); %Controller damping
%Model state space values Am = [0 1;-omegam^2 -2*zetam*omegam]; Bm = [0;1]; Cm = [-omegam^2 -2*zetam*omegam]; Dm = 1;
%True plant state space values Atp = [0 1;-omegatp^2 -2*zetatp*omegatp]; Btp = [0;1]; Ctp = [-omegatp^2 -2*zetatp*omegatp]; Dtp = 1;
%Controller state space values Ac = [0 1;-omegac^2 -2*zetac*omegac]; Bc = [0;a2]; Cc = [1 0]; Dc = 0;
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
One correction: The equation for the compensator should be
2 2 d n(t) dn(t) d q(t) ---- + 2*(xic)*(wc) ---- + (wc2)*n(t) = a2* --- 2 2 dt dt dt
Patrick Roberts wrote:

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
I'm not quite clear on your terminology. You have a real system and one or more simulator models. Which system is more effective, the real world or one of the simulators?
Walter.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
THe true plant would typically be an experimental system. Basically we need to see the kind of error we will get in the response when the an experimental system has slightly different natural frequencies than the model. We would expect the response to be worse than the model as the crossover frequency is set to the models frequency. However, that's not what Simulink is showing which doesn't make sense physically.
Walter Driedger wrote:

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
The reason I ask is because real systems often exhibit 'better' characteristics that simulations. Whatever they do is real and not an artefact of the simulation. In particular, they tend to be more stable.
Walter

or
or