Você está na página 1de 9

UniversidadeEstadualPaulistaFEBDEE

Laboratrio03 ControlSystemToolboxeSimulink
1. Objetivos Aps realizar as atividades propostas neste roteiro, o aluno dever: Manipular funes de transferncia; e Obter a resposta transitria de um sistema de controle no Matlab.

2. Introduo O Matlab tem vrios conjuntos de funes denominados Toolboxes, destinados a anlise e projeto nas mais diversas reas da engenharia. Iremos estudar as funes do Control System Toolbox destinadas anlise e projeto de sistemas de controle.

3. Procedimento

3.1. Polinmio e Funo de Transferncia A funo de transferncia de um sistema de controle uma funo do tipo racional, ou seja, uma funo determinada pelo quociente entre dois polinmios. A entrada no Matlab de uma funo de transferncia realizada na forma de dois polinmios. Os exemplos seguintes mostram como manipular polinmios e criar funes de transferncia no Matlab.

%Exemplo1:CriandoPolinmios %polinmioscompletos % p=5s2+2s5eq=s2+3s+1 %>>p=[525] p= 525 >>q=[131] q= 131

%polinmiosincompletos % p=3s52s3+s+3eq=s3+3s >>p=[302013] p= 302013 >>q=[1030] q= 1030

UniversidadeEstadualPaulistaFEBDEE
%Exemplo2:Determinandoasrazes %razesdopolinmiop=5s2+2s5 >>roots([525]) ans= 1.2198 0.8198 %razesdopolinmiop=2s2+s+10 >>roots([2110]) ans= 0.2500+2.2220i 0.25002.2220i

%Exemplo3:Multiplicandopolinmios %p=s42s3+s+3eq=2s2+s >>conv([42013],[210]) ans= 8022730

%OU >>p=[42013]; >>q=[210]; >>conv(p,q) ans= 8022730

%Exemplo4:Criandopolinmiosapartir %dasrazes %Polinmioderazess1=2es2=3 >>poly([23]) ans= 116 %Resp:s2+s6

%Polinmioderazess1=1+2ies2=12i >>poly([1+2i12i]) ans= 125 %Resp:s2+2s+5

%Exemplo5:Criandofunesde transferncia %G(s)=(2s2+s)/(s42s3+s+3) >>G=tf([110],[12013]) Transferfunction: s^2+s s^42s^3+s+3

%G(s)=1000/(s2+s+2) >>G=tf(100,[112]) Transferfunction: 100 s^2+s+2

UniversidadeEstadualPaulistaFEBDEE

3.2. Reduo de Diagrama de Blocos O control system toolbox disponibiliza funes para associao de blocos.
%Exemplo5:Associandoblocos %G1(s)=s/(s+3) >>G1=tf([10],[13]) Transferfunction: s s+3 %G2(s)=10/(s2+2) >>G2=tf(10,[102]) Transferfunction: 10 s^2+2 %H(s)=10 >>H=tf(10) Transferfunction: 10 %AssociacaoparalelaG=G1+G2 >>G3=parallel(G1,G2) Transferfunction: s^3+12s+30 s^3+3s^2+2s+6 %AssociacaoserieG=G1*G2 >>G3=series(G1,G2) Transferfunction: 10s s^3+3s^2+2s+6 %RealimentaoNegativaT(s)=G/(1+GH) >>T=feedback(G2,H) Transferfunction: 10 s^2+102

3.3. Resposta temporal As respostas de sistemas de controle realimentados so analisadas usualmente aplicandose sinais de excitao de entrada do tipo impulso, degrau ou rampa. O Control System Toolbox fornece comandos para obter a resposta de um sistema a um sinal do tipo impulso ou degrau aplicado a entrada. A resposta de um sistema a um sinal do tipo rampa requer a utilizao de um artifcio matemtico. Este artifcio consiste em dividir a funo de transferncia em malha fechada por s e usar o comando para obter resposta ao degrau para obter a resposta a um sinal de entrada do tipo rampa. O objetivo da diviso por s transformar matematicamente o degrau aplicado (A/s) em uma rampa (A/s2). Reproduza os exemplos seguintes e verifique o uso dos comandos para obteno da resposta de um sistema de controle.

UniversidadeEstadualPaulistaFEBDEE
%Exemplo: %FTdemalhaaberta %G1(s)=10/(s+3) >>G1=tf([10],[13]) Transferfunction: 10 s+3 %FTdemalha fechada >>T1=feedback(G1,1) Transferfunction: 10 s+13 >>impulse(T1) >>step(T1) %Multiplicandopor1/s >>mod=tf([1],[10]) >>mod=tf(1,[10]) Transferfunction: 1 s >>Tmod=T1*mod Transferfunction: 10 s^2+13s >>figure >>step(Tmod)

Impulse Response 10 0.8

Step Response 0.7

Step Response

9 0.7 8 0.6 7 0.5 6 0.4 5 0.4 Amplitude 0.3 4 0.3 3 0.2 2 0.1 1 0.1 0.2 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0 0 Am plitude Am plitude 0.5 0.6

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.1

0.2

0.3

0.4 Time (sec)

0.5

0.6

0.7

0.8

Time (sec)

Time (sec)

Existe outra forma de realizar as mesmas operaes anteriores criando a funo s como ilustra o exemplo seguinte:

%Exemplo: %FTs >>s=tf('s') Transferfunction: s %FTdemalhaaberta >>G1=10/(s+3) Transferfunction: 10 s+3

%FTdemalhafechada >>T1=feedback(G1,1) Transferfunction: 10 s+13 %respostaaodegraueodegrau >>step(T1);holdon;step(tf(1)) %figure %respostaarampaearampa >>step(T1/s);holdon;step(1/s)

UniversidadeEstadualPaulistaFEBDEE

Step Response 1

0.9

0.8

0.7

0.6 Amplitude

0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5 Time (sec)

0.6

0.7

0.8

0.9

Step Response 1.4

1.2

0.8 Amplitude 0.6 0.4 0.2 0 0

0.1

0.2

0.3

0.4

0.5 Time (sec)

0.6

0.7

0.8

0.9

UniversidadeEstadualPaulistaFEBDEE

3.4. Simulink O programa Simulink um programa de simulao de sistemas dinmicos. A interface de programao uma interface grfica na qual o usurio monta o diagrama de blocos que representa o sistema. Clicando sobre os blocos abre-se uma janela de interface na qual os parmetros da funo do bloco podem ser modificados. Para iniciar o programa Simulink basta digitar na janela de comando o nome do programa >>simulink. Aps o comando simulink a janela principal do Simulink denominada Simulink Library Browser aparecer. Esta janela contm os blocos organizados e agrupados por funo em um sistema de diretrios. Iremos utilizar os blocos do diretrio Simulink. Abaixo segue um esquema de pastas indicando as pastas que iremos utilizar. Simulink o Continuous o Math Operations o Sinks o Sources A tabela abaixo mostra os principais blocos que iremos utilizar e as respectivas pastas. Pasta Continuous
1 s Integrator 1 s+1 Transfer Fcn (s-1) s(s+1) Zero-Pole

Bloco

Math Operations

1 Gain

Sources
1 Constant Step Ramp

Sinks
Scope

UniversidadeEstadualPaulistaFEBDEE

Abra uma janela de simulao selecionando no menu da janela Simulink Library Browser a opo FileNewModel. Iremos utilizar como exemplo, o sistema de controle de velocidade de um motor CC. A figura abaixo mostra o diagrama de blocos do Simulink j com os parmetros do sistema de controle de velocidade do motor CC.
100 Step Gain 5000 s+1000 Transfer Fcn 1 s2 +20s Transfer Fcn1 Scope

Primeiramente clicando no bloco na janela Simulink Library Browser e arraste-o para a janela de simulao (untitle). Aps selecionar todos os blocos interconecte-os. Clique em cada bloco e fornea os parmetros de cada bloco de acordo com o sistema de nosso exemplo. Estando o digrama de blocos do sistema pronto a fase seguinte definir os parmetros de simulao. Os parmetros de simulao podem ser acessados pelo menu ConfigurationConfiguration Parameters. De forma mais rpida, voc pode definir o tempo total de simulao e executar a simulao no campo e boto play da barra de ferramentas em destaque na figura abaixo:

Os resultados de simulao obtidos no Simulink podem ser enviados para o Matlab usando diferentes recursos. O bloco Scope permite definir a gerao imediata dos sinais para o Matlab em suas opes como mostra a figura abaixo:

UniversidadeEstadualPaulistaFEBDEE

A varivel y gerada do tipo estrutura ou structure. A o exemplo abaixo mostra como acessar as variveis dentro da varivel y do tipo structure.
%Exemplo: >>tempo=y.time; >>saida=y.signals(1).values; >>resposta=y.signals(1).values; >>referencia=y.signals(2).values; >>plot(tempo,resposta,tempo,referencia)

1.4

1.2

0.8

0.6

0.4

0.2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

A figura seguinte mostra a utilizao do bloco To File cuja funo armazenar o sinal de entrada e o tempo em um arquivo do tipo .mat que pode ser aberto e seus resultados manipulados no Matlab.
100 Step Gain 5000 s+1000 Transfer Fcn 1 s2 +20s Transfer Fcn1 Scope

position_control_out.mat position_control_in.mat To File1 To File

UniversidadeEstadualPaulistaFEBDEE

Configure os blocos To File para armazenar os sinais de entrada e sada com os nomes de in e out, simule, recupere os dados armazenados no Matlab e faa o grfico dos sinais de entrada e de sada.
%Exemplo: >>plot(in(1,:),in(2,:),'b'); >>holdon >>plot(out(1,:),out(2,:),'r');

1.4

1.2

0.8

0.6

0.4

0.2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8