Gráficos de e

O objetivo neste documento é apresentar uma forma de obter gráficos da ação de controle e do sinal de erro num sistema em malha-fechada, usando o Matlab, sem a necessidade de usar o Simulink.

Deduzindo

Observando o sistema realimentado unitário abaixo:

blocos_sistema_generico.png

Notamos que:

então:

ou organizando melhor, notamos que:

note que: .

Perceba que quando usamos o comando step(FTMF) no Malab, o mesmo está realizando:

A função step multiplica a transfer function passada como argumento de entrada pela transformada de Laplace da função Degrau, realiza a transformada inversa de Laplace, calcula as primeiras amostras (valores) do resultado desta inversa e "plota" o resultado destes cálculos na forma de um gráfico.

Normalmente quando fechamos uma malha tradicional de controle, como o mostrado na primeira figura acima, realizamos algo como:

e para obter o gráfico da resposta do sistema em malha-fechada, realizamos no Matlab:

este comando termina por realizar:

Então, podemos adapatar a forma como trabalha a função step para gerar o gráfico de ou .

Anteriormente deduzimos:

Então note que a parte da expressão transformamos em argumento de entrada para a função step() e conseguimos obter o gráfico de :

e assim, para obter o gráfico de quando o sistema em malha fechada é submetido à uma entrada degrau, fazendo no Matlab, algo como:

Exemplo: suponha o sesguinte sistema:

No Matlab:

Que gerou o seguinte RL e resposta ao degrau:

RL_G7.pngstep_G7_Kp.png
(a) RL para (b) Resposta ao degrau,

Para se obter também o gráfico de fazemos então:

Calculamos:

O que nos permite vizualizar as amplitudes desenvolvidas pela ação de controle :

G7_Kp_acao_controle.png

Porém a função step só trabalha com polinômios de entrada causais.

Por exemplo, observe o que acontece se projetamos um PD e queremos observar as amplitudes desenvolvidas por este controlador:

Exemplo: observando ação de controle desenvolvida por um PD.

Neste exemplo, vamos incorporar um PD à planta já adotada anteriormente
Obs.: Não estará sendo mostrado aqui, como o PD foi obtido.

A equação do PD é:

Tentado obter o gráfico de gerado pelo PD:

Neste caso, o Matlab não finalizou a funçã step() por considerar a função transferência passada como argumento de de entrada, como um sistema não causal.

De fato, analizando a equação de aux notamos que o grau do numerador é superior ao grau do denominador:

ôô

Como contornar este problema?

Neste caso, lembrando que queremos:

Falta multiplicar a expressão anterior aux pela transformada de Laplace do Degrau:

Calculando a nova expressão, teremos:

Se à expressão aux2 aplicarmos uma entrada impulso, realizarmos a transformada inversa de Laplace da mesma e plotamos os resultado para o período inicial de tempo, teremos obtido nosso objetivo que é o gráfico de :

Notamos que a função impulse() do Matlab fornece justamente a resposta temporal ao impulso da função transferência passada como argumento de entrada para a mesma.

Então para ober o gráfico de para o nosso PD, terminamos de fazer agora:

Note que desta vez a função aux2 é causal.

O gráfico de para o PD fica então:

G7_u_C_PD.png

Podemos opcionalmente, mesclar num mesmo gráfico, a resposta temporal do sistema, com o gráfico de anterior, usando a função plotyy do Matlab.

Mas para usar esta função temos que criar os vetores usados como dados de entrada para a função plotyy():

O que gera o gráfico:

G7_PD_plotyy.png

Mas talvez, mostrar os gráficos de e de maneira isolada seja melhor para mostrar pontos importantes em cada um deles:

step_G7_PD.pngG7_u_C_PD.png
(a) Resposta ao degrau, (b) Resposta ao degrau,

Gráfico de

O gráfico de pode ser obtido usando uma estratégia semelhante à adotada para plotar o gráfico de .

Neste caso, analisando o diagrama em blocos abaixo e extraíndo equações, teremos:

blocos_sistema_generico.png

e no Matlab, realizamos então:

testando:

O que gera o gráfico:

erro_PD_G7.png


Fim
Fernando Passold, em 11/06/2020