Projeto de Controladores usando Root Locus

2a-parte da aula de 28/05/2026. A primeira parte da aula pode ser obtida aqui. Arquivo de dados da aula: planta.mat (28/05/2026).

Continuando a aula de 28/05/2026 - 1a-parte🎵.

Projeto de PID

Iremos usar a mesma abordagem usada por NISE para o projeto do PID:

NISE, Norman S., Control System Engineering, John Wiley & Sons, Inc., 6th ed. 2011. 8a-ed

  1. Primeiramente projetamos um PD;
  2. Segundo: completamos o PID, acrescentado a ação PI.

Nesta abordagem, primeiro é definido a posição do zero do PD usando contribuição angular e depois são acrescentados o zero do PI e seu pólo na origem (integrador):

PID resumo

NISE criou o script ch9p2.m para automatizar o projeto de um controlador PID, no seu Example 9.5.

Example 9.5: Dado o sistema da Figura 9.31, projete um controlador PID de forma que o sistema possa operar com um tempo de pico que seja dois terços do tempo do sistema não compensado, com um sobressinal de 20% e com erro de estado estacionário zero para uma entrada em degrau.

Fig_9_31

Inspirado neste código foi organizado um novo script para auxiliar no projeto de PID usando esta abordagem de NISE no qual:

  1. Primeiro se define o ganho do controlador Proporcional usando Root Locus, em função do overshoot máximo tolerado. Isto é necessário para descobrir o tempo de pico associado com este controlador;
  2. Em seguinda um novo valor de tempo de pico é calculado correspondendo à new_tp=tp×23.
  3. Em função do overshoot e do novo tp, são determinados a posição correspondente para os pólos desejados de MF.
  4. Usando contribuição angular em função dos pólos de MF desejados, é determinada a localização do zero do PD.
  5. O usuário usa o RL da planta + PD para definir o ganho do PD.
  6. A rotina segue perguntando ao usuário a posição desejada para o zero do PI.
  7. Um novo RL correspondendo à planta + PID é mostrado para ajuste do ganho geral do PID.
  8. A resposta degrau em MF para os controladores é mostrada.

Este novo script foi chamado de: example_9_5.m (Obs.: seu código foi revisado em 01/06/2026).

Verificando (usando comando what) se o script example_9_5.m está presente na pasta atual de trabalho:

Projetando o PID para nossa planta do estudo de caso, usando o script originalmente desenvolvido por NISE:

Necessitados editar o script original para informar a nossa planta e não a planta do example 9.5 de NISE:

Necessitamos alterar as linhas destacadas abaixo (e somente estas):

Executando o script (note que este script fecha todas as janelas gráficas atuais e limpa as variáveis do Matlab; processa com cautela salvando dados antes se necessário):

Neste ponto temos a primeira figura, mostrando o RL para o Controlador Proporcional, onde se faz necessário selecionar o ponto do ganho para atingir o %OS desejado, no caso 15%:

PID_Fig1.png

Continuando...

Neste ponto da execução do script é gerada o segundo gráfico:

PID_Fig2.png

Continuando com o script, o mesmo realiza os cálculos de contribuição angular associados com o projeto do PD e cálculos necessários para determinação do zero do PD:

Neste ponto da execução é gerada a terceira janela gráfica mostrando o resultado das contribuições angulares:

PID_Fig3.png

O script continua com:

Neste ponto temos a quarta janela gráfica mostrando o RL do PD para ajuste de seu ganho:

PID_Fig4.png

O script continua com:

E temos uma quinta janela gráfica mostrando a resposta em MF da planta para o PD recém definido:

PID_Fig5.png

O script continua processando agora a introdução do PI, requisitando a posição desejada para o zero do PI:

E temos a sexta janela gráfica mostrando o RL da planta + controlador PID com definição do seu ganho genérico:

PID_fig_6.png

O script finaliza com:

E temos a sétima e ultima janela gráfica gerada pelo script mostrando a resposta final obtida:

PID_Fig7.png

Observação: Um PID ainda mais rápido pode ser obtido ajustando a posição do zero do PI para s=2:

CPID(s)=0.79042(s+11.54)(s+2)s

Sua resposta ao degrau unitário rende:

conforme mostrado na figura abaixo:

PID_Fig7_mais_rapido.png


Encerrando esta seção de trabalho:


Fernando Passold, em 01/06/2026