Exercicios resolvidos Dorf
4.2 a)O diagrama de blocos em malha aberta do sistema de controle de velocidade do motor está ilustrado na figura abaixo:
Neste exemplo pediu-se para calcular a resposta a um degrau de perturbação em malha aberta. Para isso foi adotado R(s)=0 e Td(s)=A/s, fazendo com que Ka ,Km e 1/Ra sejam a retroação. O código a seguir mostra a solução do problema. clc; clear all; close all;
%%
%(a)
Ra=1;
Km=10;
J=2;
b=0.5;
Kb=0.1;
num1=[1]; den1=[J,b]; num2=[(Km.*Kb)./Ra]; den2=[1]; %
[num,den]=feedback(num1,den1,num2,den2);
num=-num; printsys(num,den) %
[yo,x,t]=step(num,den);
plot(t,yo) title('Resposta a um Degrau de Perturbação em Malha Aberta') xlabel('tempo[s]') ylabel('velocidade[rad/s]') grid on
%
yo(length(t))
Para uma primeira análise do código, o comando feedback ()calcula a função de transferência do problema com num1 e den1 representando o numerador e denominador respectivamente de G(s) e num2 e den2 representando o numerador e denominador respectivamente da retroação H(s). O comando printsys() imprime na tela a forma final da função de transferência
T(s). Já o comando step() calcula a resposta de T(s) ao degrau. E a expressão yo(length(t))calcula o erro estacionário.
Como resultado obtive:
-1
num/den = --------2 s + 1.5
Erro Estacionário = -0.6650
4.2 b) O diagrama de blocos em malha fechada do sistema de controle de velocidade do motor está ilustrado na figura abaixo:
De maneira análoga ao item ‘a’, adotou-se R(s)=0 para calcular a resposta do sistema a uma perturbação Td(s) degrau . Para isso, o Amplificador ficou em série com o Tacômetro, ambos em paralelo com Kb com o resultado em serie com Km/Ra, fazendo uma retroação com G(s).
O código para o cálculo está exemplificado a seguir:
%%
%(b)
Ka=54;
Kt=1;
num1=[1]; den1=[J,b]; num22=[Ka*Kt]; num3=[Kb]; den3=[1]; num4=[Km/Ra]; den4=[1];
[numa,dena]=parallel(num22,den2,num3,den3);
[numb,denb]=series(numa,dena,num4,den4);