Tutorial Matlab: Resposta da Função de Transferência (Nível Intermediário)

Olá pessoal,

aqui estamos de volta, para dar continuidade ao nosso mini-curso de controle no Matlab. No tutorial anterior, Tutorial Matlab: Função de Transferência, aprendemos como montar a nossa função de transferência (FT) no Matlab. Agora que já sabemos como montá-la, faremos uma análise das respostas do nosso motor DC quando aplicamos certos tipos de sinais (tensões) nos seus terminais.

Há três tipos de sinais muito utilizados por nós, projetistas de sistemas de controle, para analisarmos a resposta de nosso sistema dinâmico, seja ele qual for. São eles:

  • Impulso;
  • Degrau;
  • Rampa;

O primeiro sinal que iremos aplicar no motor é um sinal do tipo impulso. Para isso, tenha a sua FT devidamente montada no Matlab. Digite o seguinte código no Command Window:

impulse(M)

Esse processo pode levar vários minutos, dependendo da configuração de seu PC. Portanto, não se assuste, espere. O seu PC não irá travar. Como resultado, o Matlab irá gerar a seguinte figura:

Agora, vem a vez da interpretação do gráfico. Afinal, você tem de entender o aconteceu com o seu motor quando você aplicou a ele um sinal do tipo impulso. Inicialmente, o eixo do seu motor encontrava-se em repouso, portanto, no posição ângulular (0°). Após estimular os terminais do motor com um sinal impulso, ou seja, com um sinal cujo período tende a zero (é como se você aplicasse uma tensão aos terminais do motor e rapidamente retirasse as mãos, desconectando os fios), a posição angular do eixo mudou para aproximadamente 22°. Isso é, o eixo do motor “girou” e deslocou-se em 20° com relação a sua posição inicial. Tudo isso em aproximadamente 1o milissegundos (10 ms). Vale lembrar que, após o estímulo, o eixo do motor permanece na posição 20°.

O próximo sinal a estimular a nossa planta, ou seja, o nosso motor, é um sinal do tipo step. Este sinal, unitário, caracteriza-se por uma constante de valor 1 que, fisicamente, representa uma tensão de 1V aos terminais do motor. Para isso, digite o seguinte comando:

step(M)

A seguinte figura surgirá:

A interpretação física correta para o gráfico gerado sugere que, passados 1500 segundos, o eixo do seu motor “girou” cerca de 35.000°. Como a relação é aparentemente linear, segundo o gráfico, se você utilizar a ferramenta ZOOM (+) que a figura oferece e aumentar na região próxima a zero, terá o seguinte cenário:

Como se pode observar, em 60 segundos o eixo do seu motor “girou” cerca de 1250°. Se pensarmos que foi aplicado um sinal constante de 1V em um motor que normalmente demanda 12V para funcionar adequadamente e que tem uma relação de redução de 30:1, a resposta está bastante coerente.

________________________________________________________________

Observação importante: Na prática a resposta do seu motor muto provavelmente não irá responder dessa maneira. Em experimentos observa-se que, um motor dessa natureza, alimentado com uma tensão de 1V sequer sairia da inercia. Isso caracteriza uma  planta REAL. Nossa análise se limita a uma planta IDEAL.

________________________________________________________________

O ultimo sinal a estimular a sua FT é a rampa. Não há comando nativo no Matlab para estimular a FT diretamente com uma rampa. Teremos que efetuar um “truque” matemático para que a rampa seja produzida.

Ora, se nós temos o comando step no Matlab, o que aconteceria se nós integrassemos um sinal tipo step (uma constante) no tempo? Não teríamos, por acaso, uma curva do tipo y=nx ? Ou seja, uma rampa? Sim, teremos. Portanto, aplicaremos um sinal step na FT do motor, porém integrando-se o próprio sinal step.

E qual será a transformada de Laplace para um sinal tipo constante, ou seja, um step? A Transformada de Laplace de um sinal step (degrau) é 1/s. Logo, se multiplicarmos o operador integrador de Laplace 1/s a nossa FT aumentaremos, na realidade, a ordem do polinômio presente no denominador da FT, e já estaremos integrando o próprio sinal de estímulo. Vejam:

Percebam que a ordem do denominador subiu em uma unidade. Entretanto, o integrador já está aplicado a planta. O próximo passo consiste na aplicação de um sinal step através do próprio comando “step”. Antes, porém, devemos rearranjar o denominador da FT.

Agora que entendemos como gerar uma rampa lançando-se mão de um “truque” matemático, vamos à sua implementação. No Command Window, digite:

deniminador2 = [0.0017     1   0   0]

Repare que, para subir o polinomio em uma ordem, basta adicionar um zero à direita dentro dos elementos do vetor. Isso fará com que o Matlab, automaticamente, reconheça o novo polinômio com uma ordem acima. Isso resultará no seguinte código no prompt:

denominador2 =

0.0017    1.0000         0         0

Note que, numericamente fica visível que a ordem do polinômio no denominador de fato subiu.

Agora digite:

M = tf(numerador,denominador2)

A nova FT irá surgir:

Transfer function:
21.04
—————-
0.0017 s^3 + s^2

Agora, basta aplicar o comando step na FT:

step(M)

Será gerada a seguinte figura:

Note que, em se tratando de um sinal rampa, ou seja, da forma y=A*x, a resposta também é coerente. À medida que a amplitude do sinal cresce, ou seja, em função de sua derivada, a resposta do motor também se altera.

E, assim, chegamos ao término deste tutorial. Estou a dispisição para discutirmos e sanarmos dúvidas.

Espero que tenham entendido e gostado!

Um abraço a todos e até o próximo tutorial! 


Sobre Eng. Rafael Coronel Bueno Sampaio, PhD.

Projeto & Pesquisa de Sistemas Mecatrônicos e Robótica Móvel
Esse post foi publicado em Controle, Função de Transferência, Matlab, Motor DC, Teoria de Controle e marcado , , , , , , , . Guardar link permanente.

5 respostas para Tutorial Matlab: Resposta da Função de Transferência (Nível Intermediário)

  1. brenda carvalho disse:

    Caro Prof. boa tarde, gosta de ajuda quanto a implementação de controlador num sistema de nível, mas estou enfrentando alguns problemas no código. Agradeço a compreensão
    Att. Brenda

  2. Excelente explicação . Estou com uma duvida , se eu quiser usar 5V ou 15V na entrada basta apenas multiplicar essas tensões no numerador da FT? Obrigado.

  3. Excelente explicação. Apenas uma dúvida : se eu quiser a tensão de entrada com 15V , com resposta em step , basta eu multiplicar 15 pelo numerador da minha FT?
    Obrigado.

Deixe um comentário