PTC2512 Apostila 2014a PDF
PTC2512 Apostila 2014a PDF
PTC2512 Apostila 2014a PDF
LABORATÓRIO
de
CONTROLE
Versão 2013a
i
Apresentação
O curso é dividido em três partes contendo um total de nove experiências. A estrutura geral é apresen-
tada na Tabela 1. Cada experiência deve ser realizada em uma aula, após a qual resultados deverão ser apre-
sentados. As primeiras experiências (PARTE I) visam basicamente a familiarização com os equipamentos e
recursos disponíveis no laboratório, especialmente sua peça principal, o servomecanismo didático LJ MS15.
As experiências seguintes (PARTE II) abordam as diferentes metodologias disponíveis para a obtenção de
modelos matemáticos que descrevam o comportamento dinâmico desse servomecanismo. De posse desses
modelos é possível explorar as diferentes possibilidades de Controle do sistema e suas variações, o que é feito
na parte final do curso (PARTE III), que é composta de de uma sequência de projetos de controle com diferen-
tes características.
Todo o curso de laboratório gira basicamente em torno desse servossistema didático, que é apresentado
em detalhe na Experiência 1. Ele consiste de um motor DC, ligado a sensores de posição e velocidades angu-
lares. Caso a tensão de alimentação do motor seja constante, digamos de 3 V, o motor girará a uma velocidade
mais ou menos constante, digamos de 200 rpm, que vai depender da carga mecânica aplicada ao seu eixo (e
que variará, caso a carga varie), e consequentemente a posição angular crescerá indefinidamente. Para um sis-
tema como esse, pode-se desejar controlar sua velocidade, por exemplo fazendo com que o motor gire à velo-
cidade desejada, mesmo que a carga mecânica varie (imagine uma esteira transportando caixas, que devem ser
conduzidas a uma velocidade constante, quer sejam leves ou muito pesadas). Pode-se ainda controlar a posi-
ção angular do eixo, por exemplo fazendo com que o eixo gire até uma posição desejada e permaneça nela
(imagine o braço de robô, que deve ser movido vazio até uma dada posição e que uma vez tendo atingido essa
posição deva agarrar um objeto sem ceder ao seu peso, ou ainda um guindaste, que deva ser erguido até uma
determinada altura). Apesar de se tratar de um equipamento eminentemente didático, em escala de bancada,
uma infinidade de problemas práticos de controle é muito semelhante.
Exp. 1 Familiarização com o equipamento - I Primeira apresentação do laboratório. Nesta experiência
FAMILIARIZAÇÃO
ii
Consiste na apresentação dos equipamentos e um primeiro modelo (fenomenológico) para o
PARTE I programas de computador disponíveis e nas servomecanismo é obtido.
instruções para sua utilização. Como parte das
Exp. 2 Familiarização com o equipamento - II Apresentação dos programas de computador utilizados no
atividades iniciais do curso, um modelo preliminar
laboratório.
para o servomecanismo é obtido.
servomecanismo. Os modelos obtidos nessa parte Exp. 4 Identificação II: Respostas a degrau e modelagem Obtenção de modelos lineares e não-linear (entrada/saída)
do curso serão utilizados para projeto de não-linear no domínio do tempo
controladores e análise de desempenho (via
simulação computacional) na parte final do curso.
Exp. 6 Controle de posição com realimentação auxiliar de Um controlador de posição que visa obter um
velocidade desempenho superior em comparação ao controle
proporcional simples
Exp. 7 Controle de posição com compensador por avanço Uma introdução ao uso de compensadores. O objetivo é
Nesta parte do curso diversas abordagens e de fase analisar o emprego do compensador de avanço para
possibilidades para o controle do servomecanismo controle de posição.
CONTROLE
PARTE III
Exp. 10 Atraso de transporte e controlador de modelo interno Uma introdução à técnica de controladores de modelo
interno, especialmente adequada a sistemas com atraso de
transporte. Para esta experiência um atraso de transporte é
artificialmente introduzido no servomecanismo
A documentação disponível
Este volume contém a documentação básica do curso. Ele é composto de uma Introdução seguida de
uma sequência de nove experimentos. Cada uma dessas experiências trata de um assunto diferente e todas elas
contêm tópicos comuns:
ii) Descrição do problema. Uma ou mais seções, que conforme o caso, apresentam alguns fundamen-
tos teóricos necessários, metodologias de projeto a serem utilizadas, detalhamento de objetivos a
serem alcançados, aspectos técnicos, etc.
iii) Atividades. Uma seqüência de atividades a serem realizadas pelos alunos. Algumas experiências
dividem as atividades em atividades prévias (que devem ser feitas antes da realização da experiên-
cia, usualmente envolvendo preparação para o experimento em si), atividades em aula (implemen-
tações, medidas, etc. a serem realizadas em laboratório), apresentação de resultados (listando
dados e resultados que deverão estar disponíveis para as experiências seguites) e relatório (listando
análises, etc. que devam ser incluídas nos relatórios). Mais do que uma seqüência de meras tarefas,
os itens relacionados servem de guia para a realização dos objetivos gerais das experiências. São
passos a serem seguidos para a obtenção de resultados gerais, e não constituem um fim em si
mesmo. Por exemplo, a primeira experiência contém cinco itens, enumerados de (a) a (e). Toda essa
série de itens possui um único objetivo (além é claro do objetivo colateral de aprender o funciona-
mento dos equipamentos), que é a obtenção de um modelo matemático para o servomecanismo.
Esse modelo será utilizado posteriormente para se fazer projetos de controladores, bem como para
avaliar seu desempenho por meio de simulações. Note que cada item, considerado isoladamente,
tem uma significância mínima.
iv) Bibliografia sugerida. Contém uma lista referências de fácil acesso comentadas, que complemen-
tam os assuntos tratados em cada experiência. São boas fontes para aprofundar o aprendizado e
reciclar o conhecimento obtido em outros cursos, bem como esclarecer eventuais dúvidas.
Os relatórios
Três relatórios deverão ser redigidos ao longo do curso, a saber.
• O Modelo do Servomecanismo,
que consolidará os resultados das Experiências de 1 a 4.
Este relatório deve apresentar os diversos modelos matemáticos obtidos para o servomecanismo e
compará-los. Uma análise crítica deve ser feita dos resultados. Questões tais como qual modelo é
melhor ou mais confiável e quando e porque um ou outro modelo deve ser utilizado devem ser res-
pondidas.
• Controle de Posição
que consolidará resultados das Experiências 5, 6, 7 e 9.
Este relatório deve apresentar as diferentes abordagens utilizadas para o controle de posição do ser-
vomecanismo e discutir suas características, vantagens, desvantagens, etc. Questões tais como qual
é o melhor algoritmo de controle num dado contexto e quando e porque um ou outro algoritmo
deve ser utilizado devem ser respondidas.
• Controle de Velocidade
que consolidará resultados das Experiências 5, 8 e 9.
Similar ao relatório acima, tratando de controle de velocidade.
Os relatórios devem ser breves, concisos e completos, e principalmente: devem ser escritos tendo-se
em mente, do começo ao fim, que um objetivo, enunciado no começo, deva ser atingido ao final. No corpo do
iv
relatório devem constar os passos necessários à obtenção desses resultados. Alguns pontos importantes na
redação dos relatórios são apresentados abaixo:
• Um relatório não é a seqüência de itens apresentada na apostila e nem depende diretamente dela.
Um relatório deve ser um texto completo, com sustentação própria. Os itens da apostila são apenas
guias para a realização das experiências, explicitando o que deve obrigatoriamente ser medido e o
que deve ser comparado com o quê. Os relatórios devem visar objetivos, por exemplo obter um
modelo matemático para o servomecanismo, ou projetar um controlador de posição e compará-lo
com outros equivalentes.
• Repetir num relatório o texto das apostilas é desnecessário. Quando for necessário fazer menção a
qualquer assunto tratado nas apostilas basta referenciá-las (e.g. “veja a equação (x.x) da Exp. Y”)
• Consolide os dados obtidos sempre que possível na forma de gráficos e tabelas e faça figuras para
explicar e exemplificar pontos mais complexos. É extremamente importante referenciar as figuras
no texto, e não simplesmente deixá-las soltas. É também importante fazer títulos e legendas expli-
cativos. Um título como “gráfico de V x T” por exemplo, deixa muita margem a dúvidas. Algo
como “gráfico de V x T para o sistema em malha fechada com controlador X e excitação degrau de
amplitude 3V” é bem melhor.
Entrega de documentos
A Tabela 2 a seguir apresenta a lista de documentos a serem entregues ao professor no decorrer do
curso. Estes documentos podem ser preparação de experimentos (tarefas da seção Atividades prévias de cada
experiência), apresentação de resultados (tarefas da seção apresentação de resultados de cada experiência) e
relatórios (em número de três conforme a tabela).
1 - -
2 - 1 item: modelo Exp.1
3 - 1 item: modelo revisado
4 - 1 item: modelo Exp. 3
5 - - Modelo do Servomecanismo
6 3 itens 2 itens: respostas ao degrau
(posição/velocidade) Exp. 5
7 2 itens 1 item: respostas ao degrau Exp. 6
8 6 itens -
9 - 2 itens:
resposta ao degrau Exp. 7
resposta ao degrau Exp. 8
10 1 item -
Final - - Controle de Posição;
do Controle de Velocidade
curso
Tabela 2: Entrega de documentos
Experiência 1
1.1 Introdução
O objetivo deste experimento é obter um modelo matemático para o servomecanismo existente no
Laboratório de Controle do Departamento de Engenharia de Telecomunicações e Controle da EPUSP, identifi-
cando cada um dos parâmetros relevantes, bem como realizando uma primeira familiarização com alguns dos
equipamentos do Laboratório.
A Figura 1.1 mostra um diagrama do servomecanismo. Trata-se de um equipamento didático para a aplicação
motor CC
Vm n tacogerador
m
n
0V Vout
potenciômetro Vt
p
-5V +5V
Vout
Vp
0V
dos conceitos da Teoria de Controle. Compõe-se de um motor elétrico de corrente contínua controlado pela
armadura e de sensores de posição e velocidade angulares. O eixo do motor e do tacogerador (o sensor de
velocidade) está ligado ao eixo do potenciômetro (o sensor de posição) através de correias dentadas. Cada par
de engrenagens, correspondente a uma correia possui uma constante de redução n = 1 3 .
1-2 Exp1 Familiarização com o equipamento - I
A Figura 1.2 apresenta um diagrama de blocos referente ao sistema da Figura 1.1. Note que o tacôme-
U s = Vm m s p s p s
K 2 1
--------------- n ---
V 1 + sT rad s rad s s rad
Vt s Vp s
Kt Kp
V V
tro possui uma constante de proporcionalidade K t , medida em V rad s e que o potenciômetro também
possui uma constante de proporcionalidade, denotada na figura por K p e expressa em V rad .
O equacionamento da Figura 1.2 é feito em termos de posições e velocidades angulares, mas como a
monitoração do sistema, e consequentemente qualquer realimentação, é feita através dos sensores de veloci-
dade e posição, convém incluir as constantes de proporcionalidade do tacômetro e do potenciômetro.
A Figura 1.3 mostra o painel de operação do servomecanismo. Os bornes na parte superior do painel se
destinam à alimentação do aparelho e conexão da fonte de tensão. O bloco denominado motor drive input se
destina à alimentação da armadura do motor. O bloco abaixo, denominado tachometer output fornece a tensão
gerada pelo tacômetro, e o último bloco potentiometer output dá acesso à tensão no potenciômetro.
Note que para que o servomecanismo opere aproximadamente segundo o modelo da Figura 1.2 é
necessário que o freio eletromagnético seja desativado, o que é feito suspendendo-se a alavanca até a posição
0. No decorrer de todas as experiências, a menos quando mencionado explicitamente o contrário, o freio deve
estar desativado. Além disso, verifique sempre se as chaves motor drive e tachogenerator estão nas posições
corretas. A chave motor drive deve estar na posição V in e a chave tachogenerator deve estar na posição V out .
O mostrador digital localizado na parte inferior central do painel apresenta a velocidade angular do
eixo do potenciômetro medida em rpm.
A Figura 1.4 mostra um diagrama para a ligação da fonte de alimentação ao servomecanismo. Essas
ligações são apenas para se alimentar o aparelho, e ligações adicionais serão necessárias para se controlar o
servomecanismo.
O módulo Lynx AC1160-VA (veja a Figura 1.5) é produzido pela Lynx Tecnologia Eletrônica e possui
16 entradas analógicas que utilizam um conversor A/D de 16 bits operando em uma faixa pré-programada de
10V com impedância de entrada de 100k . Dessas, somente duas são utilizadas, denotadas por INP0 e
INP1. As 2 saídas analógicas têm resolução de 12 bits, operam na faixa de 10V e admitem uma carga
mínima de 2k , portanto muito cuidado deve ser tomado ao se conectar as saídas analógicas para não danifi-
Exp1 Familiarização com o equipamento - I 1-3
0
freio
eletromagnético
alavanca tachogenerator output V out
Vt
0
motor
disco graduado drive
tacômetro
tacho
generator
O módulo se comunica com o computador através de uma conexão Ethernet 10BaseT de 10Mbit/s.
Adicionalmente o módulo possui entradas e saídas digitais e diferentes opções de sincronismo, porém
esses recursos não serão utilizados no curso.
O módulo possui três indicadores luminosos (LEDs) no painel traseiro que apresentam informações
diversas sobre seu funcionamento.
a) ATV (LED verde) sinaliza o estado do módulo (veja a Tabela 1.6 a seguir);
O principal indicador é o LED ATV. A Tabela 1.6 apresenta a codificação do estado do módulo em fun-
1-4 Exp1 Familiarização com o equipamento - I
System Power 90
+5V , 3A +5V , 1A
fonte de
+12V alimentação
-12V
painel do
motor drive input V in servomecanismo
Aceso Módulo ligado, mas não configurado. Imediatamente após ser ligado.
OFF + 1P1 Módulo com configuração válida. Não esperado em situação normal.
OFF + 5P (ou mais) Erro de comunicação ou operação. Não esperado em situação normal.
Pode indicar problemas na conexão
de rede.
Para se facilitar o manuseio do sistema, a conexão com o módulo Lynx AC1160-VA é feita através de
um módulo de conexão, cujo painel frontal é mostrado na Figura 1.7.
Os terminais de referência GND são conectados entre si e devem ser conectados aos terminais 0 do ser-
vomecanismo e da fonte de alimentação, conforme a Figura 1.8.
IMPORTANTE
Jamais ligue os terminais OUT0 ou OUT1 diretamente a um terminal de terra
ou aos terminais GND.
System Power 90
+5V , 3A +5V , 1A
fonte de
+12V alimentação
-12V
painel do
motor drive input V in servomecanismo módulo de
conexão
E
0
GND
Este aplicativo, disponível nos computadores do laboratório, permite o acesso às funções básicas do
módulo Lynx AC1160-VA, isto é, permite ler na tela do computador os valores de tensão em cada um dos
canais de entrada (de modo similar a um multímetro) e escrever valores nos canais de saída do módulo. Seu
uso é bastante simples e dispensa maiores explicações. A tela principal do aplicativo é apresentada na Figura
1.9. Note a semelhança com o painel do módulo de conexão.
O indicador de conexão deve estar em verde para que o aplicativo opere corretamente.
IMPORTANTE
O aplicativo AC1160 Panel não pode ser utilizado ao mesmo tempo que o
Simulink (em modo de comunicação com o sistema de aquisição de dados),
tal como será apresentado na Experiência 2. É necessário fechar o aplicativo
para executar ensaios com o Simulink e vice-versa.
Exp1 Familiarização com o equipamento - I 1-7
1.4 Atividades
O objetivo das atividades a seguir é a obtenção de um modelo matemático preliminar para o servome-
canismo, isto é, identificar cada um dos parâmetros do diagrama da Figura 1.2.
IMPORTANTE: Sempre anote os números de identificação dos equipamentos que você utilizar.
Espera-se que você utilize no decorrer de todo o curso sempre a mesma bancada e os mesmos equipamentos.
Os modelos obtidos nesta e em futuras experiências valem apenas para o equipamento específico utilizado.
a) Faça a conexão da fonte de alimentação ao servomecanismo como na Figura 1.4 e utilize o aplica-
tivo AC1160_PANEL para gerar tensões na faixa de -10 a 10 V. Obviamente é necessário conectar
os terminais do módulo de conexão aos terminais correspondentes do servomecanismo.
d) Com o motor desacoplado (isto é, com o terminal V in desconectado ou alimentado com 0 V), gire
manualmente o eixo do motor e determine a característica V rad , isto é, a constante K p .
IMPORTANTE: NÃO gire o motor pelo disco graduado amarelo, pois isso pode comprometer a
transmissão. Gire sempre pelos discos óticos do eixo do motor.
Vt s
e) Aplicando um degrau ao sistema, obtenha a função de transferência G t u s = -----------
- , isto é,
Us
determine os valores de K e T . Utilize o osciloscópio para coletar a curva.
SUGESTÃO: Se você não lembra como obter uma função de transferência de primeira ordem a
partir da resposta ao degrau do sistema, procure em algum livro básico de controle (a bibliografia
sugerida apresenta abaixo apresenta uma boa lista de livros básicos de controle) e dê uma olhada na
Experiência 4.
O item desta seção deve ser apresentado ao professor para a realização da Exp. 2. em uma única folha
de papel identificada com os nomes dos integrantes de seu grupo.
1.4.3 Relatório
A Seção 2.5 discute a modelagem de diversos sistemas físicos, inclusive motores elétri-
cos.
(FPE86) Franklin, G. F,; Powell, J. D.; Emami-Naeini, A. Feedback Control of Dynamic Systems.
Addison-Wesley, 1st. ed., 1986.
A Seção 2.4 apresenta uma boa discussão sobre modelagem de sistemas eletro-mecâni-
cos (motores e geradores).
(Kuo85) Kuo, B. C. Sistemas de Controle Automático. Prentice-Hall do Brasil, 4a. ed., 1985.
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
(CBS11) Castrucci, P. L.; Bittar, A.; Sales, R. M. Controle Automático. LTC, 1a. ed., 2011.
RPM/2011a
Experiência 2
2.1 Introdução
Esta experiência conclui a etapa de familiarização com os recursos a serem usados nas próximas expe-
riências, a saber:
O Matlab e o Simulink são programas para análise de dados, processamento numérico e simulação de
sistemas dinâmicos. Eles serão usados em conjunto com o módulo Lynx (veja a experiência anterior) para
coleta de dados e eventualmente implementação de controladores.
2.2.1 O Matlab
O Matlab (de MATrix LABoratory) é um programa produzido pela The Mathworks, Inc. (maiores
informações em http://www.mathworks.com), e a grosso modo serve para tratar matrizes e números
complexos da mesma forma que uma calculadora trata números reais. Além disso ele possui recursos de pro-
gramação, agindo como uma linguagem interpretada, semelhante a C ou Pascal, porém voltada para processa-
mento numérico intensivo.
O sistema operacional utilizado no laboratório é o Windows XP, portanto você provavelmente encon-
trará o Matlab em algum lugar dentro da opção “Programas” do menu “Iniciar”. A interface do Matlab é com-
posta basicamente de uma janela de comandos, com um prompt característico (>>). Além dessa janela de
comandos, podem coexistir diversas janelas gráficas, denominadas figures e outras formas auxiliares de inter-
face.
2.2.2 O Simulink
O Simulink, também produzido pela The Mathworks, Inc., é um programa destinado à simulação de
sistemas dinâmicos, integrado ao Matlab. Sua interface com o usuário é totalmente gráfica, baseada na confi-
guração e interconexão de blocos funcionais.
2.3 Atividades
As atividades a seguir têm por objetivo fixar a operação do uso do Matlab e do Simulink, programas
que serão usados no decorrer de todo o curso, tanto como ferramenta para projeto de controladores, como para
simulação de sistemas e análise de dados, e especialmente como ferramenta para implementação de programas
a tempo real.
2-2 Exp2 Familiarização com o equipamento - II
É muito importante que você entenda perfeitamente o funcionamento dos recursos apresentados aqui, e
para isso é fundamental que aos itens a seguir seja dada a devida atenção.
Em todo momento, pressupõe-se que você tenha alguma familiaridade com o Windows XP. Se esse não
é o seu caso, é fortemente recomendado que você estude um pouco da operação de microcomputadores.
a) Crie uma pasta para o seu grupo sob a pasta \HOME (e.g. \HOME\MEUGRUPO) e copie o
conteúdo do diretório \LABCTRL para o seu diretório. NÃO altere o conteúdo do diretório
\LABCTRL em hipótese nenhuma. Outros grupos precisarão também desses arquivos.
b) Siga as instruções do Apêndice A, o tutorial do Matlab. Ao final escreva uma função com a
seguinte sintaxe: [p,z,Mp]=sisdata(sis), onde sis representa uma função de transferên-
cia (segundo o padrão do toolbox de sistemas de controle), p é um vetor contendo os polos do sis-
tema e z, um vetor contendo os zeros. Mp deve conter o valor máximo da resposta do sistema a um
degrau unitário caso o sistema seja estável ou um vetor vazio (um vetor vazio é representado por
[]) caso o sistema seja instável.
OBS. 1: Use o comando step para obter a resposta ao degrau e a função max para obter Mp.
OBS. 2: Se você tiver dúvidas com relação aos conceitos de controle necessários para se escrever
essa função, procure tirá-las lendo algum livro básico de Controle (veja a bibliografia sugerida)
antes da experiência.
d) Crie um diagrama de
simulação, usando os
drivers de comunica-
ção com a placa, que
aplique uma onda qua-
drada de baixa frequ-
ência ao servome-
canismo e que leia os
valores de tensão cor-
respondentes. Os valo-
res da entrada (a onda
quadrada) e as tensões
lidas deverão ser arma-
zenadas em variáveis
do Matlab. Use esses dados para produzir gráficos mostrando a entrada e as saídas do sistema.
Implemente em paralelo um diagrama correspondente à Figura 1.2 da experiência 1, com os valores
obtidos naquela experiência. Tanto os drivers como o modelo deverão receber os mesmos sinais de
entrada, como na figura acima. Compare as saídas obtidas e comente as diferenças.
O item desta seção deve ser apresentado ao professor para a realização da Exp. 3. em uma única folha
de papel identificada com os nomes dos integrantes de seu grupo.
e) Apresente o diagrama da Figura 1.2 com os valores de cada parâmetro identificados e revisados,
tendo em vista o item (d) acima.
2.3.3 Relatório
IMPORTANTE: Você está autorizado a manter os arquivos de seu grupo no disco rígido do microcom-
Exp2 Familiarização com o equipamento - II 2-3
putador da bancada que você utilizar ao longo de todo o curso, porém NÃO há garantia nenhuma de que esses
arquivos estarão no lugar em que você os deixou ou de que eles ainda existirão na próxima vez que você usar
o laboratório, portanto MANTENHA SEMPRE CÓPIAS DE TODOS OS SEUS ARQUIVOS.
(DB98) Dorf, R. C.; Bishop, R. H. Modern Control Systems. Addison-Wesley, 8th. ed., 1998.
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
RPM/2011a
Os drivers de comunicação com o módulo Lynx AC1160-VA foram escritos por Thiago Ragozo Contim.
2-4 Exp2 Familiarização com o equipamento - II
Apêndice A
Tutorial do Matlab
A.1 Introdução
O Matlab (de Matrix Laboratory) é um pacote matemático capaz de tratar matrizes, vetores e outras
estruturas, com números reais ou complexos, da mesma forma que uma calculadora trata com valores escala-
res. Além disso, o Matlab possui recursos de programação estruturada que permitem a implementação de pro-
cedimentos mais complexos, além de visualização gráfica e simulação de sistemas dinâmicos (através do
pacote integrado Simulink).
A janela básica para o uso do Matlab é a janela de comandos, identificada pelo prompt “>>”. A partir
dessa janela é possível acessar todos os recursos do programa.
Este tutorial apresenta apenas os conceitos mais básicos. A consulta à documentação do sistema ou ao
site do fabricante (http://www.mathworks.com), bem como aos diversos livros já publicados sobre o pacote é
indispensável para um aprendizado mais aprofundado.
Este tutorial considera a versão 6.5 e posteriores. Todos os recursos apresentados são suportados em
versões posteriores, mas alguns recursos não estão disponíveis para versões anteriores. .
Ao se digitar
>> a = 2
a =
Este comando cria a variável “a” com o valor 2. Para se criar uma matriz, deve-se colocar os valores
entre colchetes, separados por espaço (para separar colunas em uma mesma linha) ou por “;” (para separar
linhas), assim
produz
A =
1 2 3
3 2 1
5 0 0
Exp2 Familiarização com o equipamento - II 2-5
A variável “A” agora possui o valor matricial acima. Para evitar que o resultado do comando apareça na
tela, basta terminá-lo com um “;”.
>> b = [10;5;3];
cria um vetor coluna, mas não imprime o resultado na janela de comandos. Isso é bastante útil caso o vetor ou
matriz seja muito grande. Um exemplo de como criar vetores muito grandes é apresentado a seguir.
>> t = 0:0.01:10;
Vetores e matrizes podem também ser facilmente criados a partir de outros vetores e matrizes. Por
exemplo,
>> y = sin(t);
cria um vetor “y” contendo o seno dos elementos (supostos em radianos) do vetor “t”. Note que a função
“sin” (seno trigonométrico) de um vetor resulta num novo vetor com o seno de cada elemento do vetor ori-
ginal.
VEJA TAMBÉM
Os comandos “who” e “whos” fornecem uma lista das
variáveis criadas. Variáveis podem ser apagadas com o
comando “clear”.
Os comandos “linspace” e “logspace” são também
bastante úteis para a criação de vetores.
Para saber mais sobre um comando, basta digitar “help
<comando>” ou “doc <comando>”.
O Matlab também trabalha com strings.
>> s = 'abc'
cria uma variável string. O sinal “ ' ” delimita strings.
As variáveis criadas podem ser salvas em um arquivo e
recuperadas posteriormente com o uso dos comandos “save”
e “load”.
Para recuperar comandos já digitados, use as setas para cima e
para baixo do teclado.
Os operadores básicos “+”, “-”, “*”, “^”, etc. operam matricialmente, de modo que
b) somente é possível multiplicar duas variáveis se o número de colunas da primeira for igual ao
número de linhas da segunda;
>> r = [1 2 3] + 10
r =
11 12 13
2-6 Exp2 Familiarização com o equipamento - II
Os operadores “/” e “\” são ligeiramente mais complexos e podem ser entendidos como sendo divisão à
direita e divisão à esquerda.
de modo que
>> x = A\b
fornece
x =
0.6000
0.0500
3.1000
De fato
>> A*x-b
ans =
Note que como não atribuímos o resultado desta operação a nenhuma variável, o Matlab automatica-
mente criou a variável “ans” (de answer).
Há também operadores que operam sobre cada elemento de um vetor ou matriz, por exemplo: “.*”,
“./”, “.^” e boa parte das funções, como “sin”, “cos”, “log”, “sqrt” (raiz quadrada), “exp”, etc.
>>( [1 2 3] ).^2
resulta em
ans =
1 4 9
VEJA TAMBÉM
Algumas funções que operam matricialmente são “det”
(determinante), “inv” (matriz inversa), “sqrtm”, “logm”,
“expm” (versões matriciais das funções já vistas).
Note que “log” é o logaritmo neperiano. O logaritmo base 10
é denotado por “log10”.
Exp2 Familiarização com o equipamento - II 2-7
>> f = sqrt(-2)
fornece
f =
0 + 1.4142i
Para facilitar a entrada de valores complexos, o Matlab fornece duas funções: “i” e “j”, ambas iguais
a – 1 . Assim
>> g = 2 + 3*i
g =
2.0000 + 3.0000i
IMPORTANTE: Caso sejam criadas variáveis “i” ou “j” pelo usuário, as funções originais deixam de
ser acessíveis.
O Matlab utiliza o modelo aritmético dado pelo padrão ANSI/IEEE 754-1985. Uma decorrência impor-
tante disso é a introdução dos conceitos de “infinito” e de “não-número” (para valores indefinidos). O
comando
>> w = 1/0
não produz uma mensagem de erro, apenas um aviso (ou não, conforme a versão do Matlab) e o resultado
“infinito”.
w =
Inf
>> q = 0/0
q =
NaN
>> 1/w + 10
ans =
10
VEJA TAMBÉM
As funções “inf” e “nan” permitem criar diretamente
valores na situação “infinito” ou “não-número”.
É possível acessar diretamente valores de matrizes ou vetores, bem como alterá-los ou eliminar subma-
trizes de uma matriz. A forma básica de se referir a um elemento de uma matriz é colocando os índices (linha
e coluna) entre parênteses, separados por vírgula, ou seja:
>> A(2,3)
coluna 3
12 3
como a matriz “A” é dada por 3 2 1 linha 2
50 0
temos
ans =
Podemos também extrair submatrizes da matriz “A”. Basta colocar vetores nos índices.
1 2 3
ou seja 3 2 1 , resultando em
5 0 0
ans =
2 3
0 0
>> A(:,2)
Exp2 Familiarização com o equipamento - II 2-9
O símbolo “:” nesse caso pode ser entendido como “todos os elementos”, resultando em
ans =
>> A(1:3,2)
Para eliminar uma linha, coluna ou submatriz, podemos proceder da seguinte forma:
>> A(3,:) = []
O símbolo “[]” pode ser lido como “matriz vazia”, tendo como efeito eliminar a terceira linha da matriz,
resultando em
A =
1 2 3
3 2 1
A.3.2 Concatenação
É possível também concatenar matrizes e vetores, de modo que para acrescentar uma nova linha à
matriz “A”, basta o seguinte comando.
A =
1 2 3
3 2 1
10 1 11
>> B = [A A]
resulta em
B =
1 2 3 1 2 3
3 2 1 3 2 1
10 1 11 10 1 11
2-10 Exp2 Familiarização com o equipamento - II
VEJA TAMBÉM
Todos os exemplos deste tutorial usam matrizes
bidimensionais, porém o Matlab também tem capacidade de
tratar matrizes n-dimensionais com comandos específicos.
No caso mais simples em que a matriz se resume a um vetor,
isto é, possui uma única linha ou coluna, podemos referenciá-
lo com um único índice, ou seja
A(1,n) A(n)
A(m,1) A(m)
Um comando extremamente útil para se localizar valores em
um vetor ou matriz é o comando “find”. Vale a pena procurar
saber mais sobre este comando.
A.4 Polinômios
Uma série de comandos e funções do Matlab, particularmente úteis, tratam com polinômios, conforme
veremos a seguir.
equivale a x 4 + 4x 3 + 2x 2 + 20 .
equivale a 5x 3 + 7x 2 .
Para somar ou subtrair polinômios é necessário ajustar as dimensões e então somá-los ou subtraí-los
como vetores comuns.
É necessário concatenar zero ao polinômio “poli2” para que ambos tenham a mesma dimensão, resultando
em
soma =
1 9 9 0 20
que é equivalente a x 4 + 9x 3 + 9x 2 + 20 .
Para realizar o produto de polinômios (ou convolução), basta usar a função “conv”.
prod =
5 27 38 14 100 140 0 0
Exp2 Familiarização com o equipamento - II 2-11
2
equivalente a 5x 7 + 27x 6 + 38x 5 + 14x 4 + 100x 3 + 140x .
>> roots(prod)
ans =
0.7881 + 1.3254i
0.7881 - 1.3254i
-2.7881 + 0.7988i
-2.7881 - 0.7988i
-1.4000
VEJA TAMBÉM
Divisão polinomial pode ser feita com o uso da função
“deconv”.
8
Inicialmente criamos os vetores com os
dados. 6
>> x = [0 1 2 3]; 4
>> y = [3 4 7 12]; 2
>> p3 = polyfit(x,y,3)
p3 =
equivalente a x 2 + 3 . O resultado nos sugere que um polinômio de grau 2 seria suficiente, assim
>> p2 = polyfit(x,y,2)
p2 =
Caso quiséssemos ajustar uma reta aos pontos dados, bastaria usar um polinômio de grau 1.
>> p1 = polyfit(x,y,1)
p1 =
3.0000 2.0000
12
10
8 grau 1
grau 2
2
VEJA TAMBÉM
O comando “polyval” permite calcular um dado polinômio
em pontos escolhidos.
O Matlab também possui recursos de interpolação. Veja as
funções “interp1” e “interp2”.
A.5 Gráficos
O Matlab possui recursos gráficos extremamente sofisticados, porém neste tutorial somente os recursos
mais simples serão explorados.
O comando mais simples para se gerar um gráfico é o comando “plot”. Inicialmente vamos gerar
alguns vetores.
>> t = 0:0.01:10;
>> y = sin(t);
>> z = 0.5*cos(t);
>> w = y.*z;
Exp2 Familiarização com o equipamento - II 2-13
O comando 1
0.8
>> plot(y) 0.6
0.4
traça um gráfico com o vetor “y” na ordenada e os índices do vetor 0.2
-0.4
gráfico do tipo t y . -0.6
-0.8
-1
0 200 400 600 800 1000 1200
0.6
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7 8 9 10
0.6
-0.2
>> legend('curva x','curva z','curva w') -0.4
identifica as curvas com uma legenda. Para mover a caixa de legen- -0.6 curva x
curva z
-0.8
curva w
das para um lugar mais conveniente basta arrastá-la com o mouse. -1
0 1 2 3 4 5 6 7 8 9 10
0.6
0.4
-0.4
0 1 2 3 4 5 6 7 8 9 10
0.6
a seguir produz uma linha azul (blue) continua para a primeira 0.4
curva, uma linha tracejada vermelha (red) para a segunda curva e 0.2
-0.4
-0.6
>> plot(t,y,'b-',t,z,'r--',t,w,'k:') -0.8
curva x
curva z
-1 curva w
0 1 2 3 4 5 6 7 8 9 10
resultando em
0.8
0.4
Rótulo para o eixo y
0.2
-0.2
-0.4
-0.6
curva x
-0.8 curva z
-1 curva w
0 1 2 3 4 5 6 7 8 9 10
Rótulo para o eixo x
VEJA TAMBÉM
Gráficos com escalas logarítmicas podem ser produzidos com
os comandos “semilogx”, “semilogy” e “loglog”.
Para sobrepor gráficos, basta utilizar o comando “hold on”.
Os comandos a seguir farão com que os novos gráficos sejam
traçados sobre os anteriores. “hold off” desativa a função.
Da mesma forma, “grid on” e “grid off” servem para
colocar grades nos gráficos.
Também é possível traçar os pontos sem ligá-los, usando
símbolos como “o” ou “+”.
Novas janelas gráficas podem ser criadas com o comando
“figure”.
Os gráficos podem ser subdivididos com o uso do comando “subplot”. O comando possui a seguinte sin-
Exp2 Familiarização com o equipamento - II 2-15
taxe.
subplot(l,c,n)
Este comando divide a janela em uma matriz de l linhas e c colunas, e ativa o n-ésimo elemento dessa
matriz. Por exemplo:
1 2 1 1 3
1 2 4 5 6
3 4 7 8 9
>> subplot(2,2,1)
0 0.15
>> plot(t,y)
0.1
-0.5
>> subplot(2,2,3)
0.05
-1
0 2 4 6 8 10
>> plot(t,z) 0
Todos os comandos vistos até o momento podem ser executados a partir da interface gráfica através de
formulários e menus. Além disso, tarefas mais complexas, tais como alterar um tipo de linha, sua cor ou espes-
sura podem ser realizados sem a necessidade de se refazer o gráfico. Outros recursos como alterar o tipo ou o
tamanho dos caracteres, etc. também podem ser realizados através desta interface.
VEJA TAMBÉM
O Matlab define a janela gráfica como um objeto, que possui
propriedades que podem ser manipuladas pelo usuário. Não
faz parte do escopo deste tutorial a manipulação de gráficos
neste nível, porém o leitor interessado poderá consultar a
documentação do Matlab a este respeito.
ou
Dentre as principais funções, pode-se citar “impulse”, “step”, “bode”, “rlocus”, entre outras.
Um aspecto importante do toolbox de controle é o objeto “Linear Invariante no Tempo” (LTI). Ele per-
mite armazenar o modelo completo de um sistema linear invariante no tempo, assim como diversas de suas
propriedades, em uma única variável. Além disso, diversas operações envolvendo sistemas podem ser realiza-
das diretamente com objetos LTI. Este é um tópico complexo demais para este tutorial, mas para sistemas des-
critos por funções de transferência (que são a regra neste curso), podemos criar um objeto LTI com o seguinte
comando
onde num e den são o numerador e denominador da função de transferência, descritos no padrão de polinô-
mios, como visto acima. Definido sis, as diversas funções do toolbox podem ser utilizadas, tais como
dentre outras.
cria um sistema sisp com a soma das saídas dos sistemas sis1 e sis2 para uma mesma entrada (isso equi-
vale a implementar sis1 e sis2 em paralelo num diagrama de blocos).
cria um sistema siss com composição em série dos sistemas sis1 e sis2 (isso equivale a implementar
sis1 e sis2 em sequência num diagrama de blocos)..
VEJA TAMBÉM
O toolbox de sistemas de controle é uma ferramenta
extremamente poderosa para projeto e análise de sistemas de
controle como os considerados neste curso. Recomenda-se um
estudo detalhado deste toolbox e de sua documentação.
Os M-files podem ser de dois tipos: functions e scripts. Scripts são simplesmente seqüências de coman-
dos, como acima, dispostos em um arquivo texto com extensão “.m”. Functions são estruturas mais comple-
xas, que apresentam certas características básicas, que são as seguintes: i) Existe passagem de parâmetros
entre o workspace do Matlab (workspace ou espaço de trabalho pode ser entendido a grosso modo como o
conjunto de variáveis que pode ser observado com o comando whos na janela de comandos) e esta é a única
troca de informações. Por exemplo, o comando y=cos(x) passa à função cos um argumento x e recebe
como resposta y. Não há além disso nenhuma troca de informações. ii) O ambiente de cada função é indepen-
dente, isto é, uma função não reconhece variáveis definidas fora dela, e outras funções ou o workspace não
reconhecem variáveis definidas nela. Programadores de Pascal perceberão uma analogia clara entre scripts e
functions do Matlab com procedures e functions de Pascal.
Um exemplo simples de função é o arquivo log10.m, que é uma função escrita para calcular logaritmos
base 10 a partir de logaritmos naturais. O comando
Espera-se que você seja capaz de escrever seus próprios scripts e functions para automatizar tarefas
repetitivas e eventualmente realizar algumas mais complexas. A linguagem de programação do Matlab é
muito semelhante a outras linguagens estruturadas, e se você estiver familiarizado com qualquer uma delas
não terá problemas em fazer programas para o Matlab. Lembre de usar somente o seu diretório para armazenar
programas e dados e de documentar bem os seus programas. É importante que você crie um cabeçalho inicial
de comentários, pois o que o comando help faz nada mais é do que apresentar na tela o conteúdo deste cabe-
çalho. O comando
ou
apresenta basicamente tudo o que é necessário saber para se iniciar em programação Matlab.
Apêndice B
Breve tutorial do Simulink
B.1 Introdução
Este é um tutorial simplificado para o uso da versão 7.1 (R2008a) ou superiores do Simulink em con-
junto com o módulo Lynx AC1160-VA. Ao contrário do Matlab, que é um programa com interface relativa-
mente consolidada, o Simulink tem apresentado grandes variações em sua interface com a evolução das
versões, de modo que a aparência do programa efetivamente utilizado no laboratório pode ser diferente da
apresentada neste tutorial.
>> simulink
É importante ressaltar que o Simulink utiliza algoritmos de passo variável, isto é, o passo de integração
varia entre os valores mínimo e máximo da janela de parâmetros conforme um algoritmo interno de escolha,
relacionado com o valor do parâmetro de tolerância. Via de regra, os valores default desses parâmetros NÃO
serão adequados para o seu sistema (qualquer que seja ele). Portanto verifique sempre se a simulação ocorre
como esperado. Se você tiver problemas com o passo de integração, experimente fazer o passo mínimo igual
ao passo máximo e diminuí-lo aos poucos.
Dos diversos algoritmos de integração, neste curso o preferido é o algoritmo de Euler com passo fixo.
Mais detalhes sobre os algoritmos de integração, suas aplicações específicas e escolha de parâmetros você
encontra no documentação eletrônica do Simulink.
Finalmente, para se iniciar a simulação basta usar a opção SIMULATION>START do menu principal.
2-20 Exp2 Familiarização com o equipamento - II
O módulo Lynx pode ser usado em conjunto com o Simulink por meio de um bloco especial, que se
encontra no modelo sim_template que pode ser acessado diretamente do Matlab (como de resto qualquer
diagrama do Simulink) por meio do seguinte comando:
>> sim_template
O bloco SERVOMECANISMO, que no esquema de controle do laboratório cumpre o papel de planta, pode ser
conectado a outros blocos e permite que se implemente sistemas de controle com o Simulink, bastando que se
utilize os blocos adequados para montar a realimentação e eventuais compensadores. Note que para a configu-
ração deste bloco funcionar corretamente é necessário conectar o terminal INP0 do módulo de conexão ao
tacômetro do servomecanismo, INP1 ao potenciômetro, e qualquer dos terminais OUT0 ou OUT1 ao terminal
da armadura do servomecanismo (assinalado Vin no painel do dispositivo).
Exp2 Familiarização com o equipamento - II 2-21
IMPORTANTE
O bloco SERVOMECANISMO não pode ser utilizado ao mesmo tempo que
o aplicativo AC1160 Panel (vide Experiência 1).
A simulação em tempo real requer que uma série de condições sejam satisfeitas, principalmente as
seguintes:
b) Que o computador seja capaz de efetuar todas as operações necessárias para o cálculo de um passo
da simulação no tempo alocado. De um modo geral, a capacidade de cálculo dos computadores do
laboratório permite que isso seja satisfeito com bastante folga, porém tarefas mais complexas ou
que requeiram acesso ao disco ou ao vídeo podem comprometer a sincronização e devem ser evita-
das. Exemplos típicos são:
Caso o sistema perca a sincronização com o tempo real, uma mensagem de aviso (código R501) é
enviada ao Matlab.
IMPORTANTE
Não arraste o bloco SERVOMECANISMO para outros diagramas. Para criar
um diagrama que use este bloco, salve o diagrama sim_template com
outro nome e use-o. A razão para isso é que a correta operação do diagrama
depende de uma série de configurações incluídas em sim_template.
O diagnóstico do módulo Lynx AC1160-VA deve ser feito inicialmente a partir de seus indicadores
luminosos e de seus estados típicos. Quando ligado, devemos ter a seguinte configuração: ATV aceso; LAN
apagado (ou piscando esporadicamente); LINK aceso. Após o início da simulação devemos ter a seguinte con-
figuração: ATV (OFF+2P); LAN aceso; LINK aceso. Após o término da simulação devemos ter: ATV
(OFF+4P); LAN apagado (ou piscando esporadicamente); LINK aceso.
Qualquer configuração diferente das acima indica problemas no sistema, e deve ser reportada ao res-
ponsável.
Em qualquer situação, se o indicador LINK estiver apagado isso é uma indicação de ausência de cone-
xão entre o computador e o módulo, o que impede o correto funcionamento do sistema.
O sistema de acesso ao módulo emite mensagens de erro de dois tipos básicos: erros de parâmetros,
denotados por PXXX e erros de runtime, denotados por RXXX. Erros de parâmetros interrompem obrigatoria-
mente a execução do programa, ao passo que erros de runtime apenas produzem mensagens de advertência na
tela de comandos do Matlab. Apesar de não interromperem a execução do código, erros de runtime indicam
situações que devem obrigatoriamente ser corrigidas.
Nem todas as possibilidades de uso incorreto das rotinas são contempladas pelos códigos acima, de
modo que configurações não previstas podem gerar erros não listados neste documento.
Há dois módulos funcionais distintos no software, o módulo SRT (Soft Real Time) que controla a sin-
cronização com o tempo real e o módulo DAS (Digital Acquisition System) que controla a comunicação com
o módulo Lynx AC1160-VA.
SRT
DAS
P402 configuração Este erro indica uma falha interna do software ou problema de integração
com o MS-Windows.
A Tabela 2 apresenta os erros de runtime. Estes erros não interrompem a execução do programa, porém
Exp2 Familiarização com o equipamento - II 2-23
indicam problemas que devem ser obrigatoriamente abordados para o seu correto funcionamento.
DAS
R002 configuração
R003 configuração Estes erros indicam falhas internas do software ou problemas de inte-
gração com o MS-Windows. A ocorrência de qualquer destes erros
R004 configuração
impede a correta operação do sistema.
R005 configuração
R006 configuração
R007 configuração Este erro pode indicar uma falha na conexão de rede com o módulo Lynx
AC1160-VA ou falha de hardware no módulo.
R008 configuração
R009 configuração Estes erros indicam falhas de hardware no módulo Lynx AC1160-VA.
R010 configuração
R011 configuração Este erro pode indicar uma falha na conexão de rede com o módulo Lynx
AC1160-VA ou falha de hardware no módulo.
R012 configuração Este erro indica uma falha interna do software ou problema de integração
com o MS-Windows.
R013 configuração Este erro pode indicar uma falha na conexão de rede com o módulo Lynx
AC1160-VA ou falha de hardware no módulo.
R014 configuração Este erro indica uma falha interna do software ou problema de integração
com o MS-Windows
R201 execução Este erro indica uma falha interna do software ou problemas de inte-
gração com o MS-Windows.
R301 finalização Estes erros indicam falhas internas do software ou problemas de inte-
gração com o MS-Windows.
R302 finalização Este erro pode indicar uma falha na conexão de rede com o módulo Lynx
AC1160-VA ou falha de hardware no módulo.
R303 finalização
R304 finalização Estes erros indicam falhas de hardware no módulo Lynx AC1160-VA.
R309 finalização
SRT
Esta seção se encontra em construção. O histórico de utilização do sistema ainda não permite avaliar
com clareza quais são os problemas mais frequentemente encontrados.
a) Algum canal de entrada (INP0, INP1) não coleta nenhum sinal ou coleta sinais estranhos.
Diagnóstico 1: Verifique se o canal de entrada não se encontra desconectado. Canais de entrada des-
conectados podem copiar sinais de outros canais por indução (esta parece ser uma característica do
hardware do módulo Lynx AC1160-VA).
Diagnóstico 2: Verifique o aterramento. O módulo e o sistema conectado a ele (a planta) devem ter
referências comuns.
Experiência 3
3.1 Introdução
Esta experiência trata da obtenção de um modelo matemático para o servomecanismo MS15 por meio
de sua resposta em frequência. Tanto o Matlab como o Simulink serão utilizados para coleta e análise de
dados, e a resposta em frequência será obtida com o uso de algoritmos de otimização.
Y j
G j = ---------------. (3.1)
U j
G j = G s s = j. (3.2)
Comumente a resposta em frequência é expressa por meio de diagramas de Bode1, compostos por dois
gráficos, o primeiro exibindo o módulo de G j (em escala logarítmica ou em dB) contra a frequência angu-
lar , em escala logarítmica, e o segundo exibindo a fase de G j (em escala linear) contra em escala
logarítmica.
Uma vez que se conheça a resposta em frequência do sistema (e um dos objetivos desta experiência é
exatamente obter um gráfico dessa resposta) pode-se obter a sua função de transferência, como se verá a
seguir.
1. Introduzidos por Hendrik W. Bode (1905-1982), dos laboratórios Bell, na década de 30.
3-2 Exp3 Identificação I: Resposta em frequência
x
c
Y j a
M = ------------------ = --- (3.3)
U j c
Y j –1 b
= --------------- = sen --- , (3.4)
U j a
Incluídos entre os arquivos que você deve ter copiado para o seu diretório, estão três arquivos contendo
funções do Matlab, senofit.m (a função principal), senofit_erquad.m e senofit_ic.m (funções
auxiliares). A função senofit serve para ajustar, por meio de um algoritmo de otimização numérica, uma
senóide a uma curva qualquer. O algoritmo age no sentido de obter uma senóide que aproxime uma dada curva
de modo a minimizar a integral quadrática da diferença entre elas. Uma vez que se obtenham aproximações
para os sinais de entrada e saída, basta calcular o quociente entre as amplitudes das senóides para se obter o
módulo da resposta em freqüência e calcular a diferença entre as fases das senóides para se obter a fase da res-
posta em frequência.
Como exemplo, imagine que tenham sido coletados no computador os seguintes dados, referentes à
entrada e à saída de um sistema qualquer (Figura 3.2). A função senofit, aplicada a cada uma das curvas
fornece os seguintes resultados:
2. Em homenagem ao físico francês Jules A. Lissajous (1822-80) que conduziu estudos extensivos
sobre o assunto.
Exp3 Identificação I: Resposta em frequência 3-3
1.5
1 ut
0.5
amplitude
-0.5 yt
-1
0 2 4 6 8 10
tempo [s]
1.5
curvas originais
1
0.5
amplitude
-0.5
aproximações
-1
-1.5
0 2 4 6 8 10
tempo [s]
De (3.5) e (3.6) tem-se que M = 0,4839 1,0492 = 0,4612 (obtido do quociente entre as amplitu-
des da entrada e da saída) e = 1,3854 – 0,0258 = 1,3597 rad (obtido da defasagem entre os sinais de
entrada e saída) são o módulo e a fase da resposta em frequência para = 1,015 rad/s.
Realizando os mesmos cálculos para diferentes valores de obtém-se um conjunto de pontos que per-
mite traçar os gráficos da resposta em frequência.
No Matlab, o comando
exibe as instruções de uso da função. É importante que você verifique o conteúdo dessa função e compreenda
o seu funcionamento.
3-4 Exp3 Identificação I: Resposta em frequência
Algumas observações sobre o funcionamento da função senofit que podem ser úteis: Quanto maior
o número de períodos considerados, maior é o número de pontos de mínimo locais que o problema apresenta,
o que prejudica a obtenção da solução. Procure não coletar um número excessivo de períodos, um mínimo de
um e um máximo de três é o ideal. A convergência é extremamente sensível às condições iniciais do algoritmo
(em particular à fase inicial escolhida e em menor escala à freqüência), portanto escolha-as com muito cui-
dado.
Como consta de qualquer bom livro básico de Controle (veja a bibliografia sugerida), diagramas de
Bode podem ser razoavelmente aproximados por meio de assíntotas. Não cabe discutir aqui como isso é feito
(para tanto consulte algum desses livros), mas você deve ser capaz de, a partir de curvas de módulo e fase,
obter aproximações assintóticas graficamente e associá-las a uma função de transferência.
A identificação das assíntotas é tarefa simples quando as freqüências de canto apresentam-se razoavel-
mente espaçadas (isto é, distantes entre si por uma década ou mais).
1 - pode ser aproximada por meio de assíntotas, a
Por exemplo, a função de transferência G s = ----------
s+1
partir da curva de resposta em freqüência (módulo) da figura abaixo. :
assíntota
10 0
curva real
módulo
assíntota
frequência
de canto
10 -1 -1
10 10 0 10 1
freqüência angular [rad/s]
Figura 3.4 Aproximação de uma função de transferência por meio de assíntotas
Da mesma forma que a função senofit foi utilizada para ajustar uma senóide a uma dada curva, uma
função semelhante pode ser escrita para ajustar o diagrama de Bode de uma função de transferência. Tal fun-
ção não está incluída na documentação desta experiência. Parte do procedimento experimental exige que você
escreva esta função utilizando o Matlab e a implemente em laboratório (veja o item (b)) das atividades).
Exp3 Identificação I: Resposta em frequência 3-5
3.5 Atividades
O objetivo básico destas atividades é obter um modelo matemático para o servomecanismo do labora-
tório a partir de sua resposta em frequência. É extremamente importante que você estude o funcionamento das
funções senofit e senofit_erquad antes de realizar a experiência.
Para minimizar o efeito de não-linearidades e maximizar a relação sinal/ruído, é conveniente que você
use sinais de amplitude tão grande quanto possível (obviamente sem saturar os amplificadores).
OBS. 2: Colete os sinais tanto da entrada como da saída utilizando o Simulink e armazene os dados
em variáveis do Matlab. Utilize a função senofit para obter os pontos de seu gráfico de resposta
em frequência e em caráter opcional confirme se os resultados obtidos são coerentes analisando as
correspondentes figuras de Lissajous. Não se esqueça de que é necessário traçar tanto a curva de
módulo do ganho como também de fase.
OBS. 3: É necessário esperar que o regime permanente senoidal seja atingido antes de se iniciar a
coleta de dados.
DICA 1: Trace o diagrama de Bode da função de transferência obtida na experiência anterior para
ter uma melhor idéia dos pontos a serem levantados. Use o Matlab para traçar a resposta em
frequência à medida que for levantando os pontos. Levantar os pontos e deixar para verificar o
resultado em casa é uma forma quase garantida de insucesso nesta experiência.
b) Escreva uma rotina em Matlab análoga à função senofit para se obter uma função de transferên-
cia a partir da resposta em frequência (o gráfico obtido no item anterior). Por conveniência, o nome
bodefit é sugerido.
DICA: Uma boa condição inicial é a função de transferência obtida e validada nas experiências
anteriores.
SUGESTÃO: A seguinte função pode ser encarada como sendo equivalente à função
senofit_erquad para o problema de se identificar uma função de transferência a partir da res-
posta em frequência. Use-a como modelo (ela se encontra disponível no disco rígido de seu compu-
tador e você possivelmente já deve tê-la copiado para seu diretório).
function f=bodefit_erquad(KKtT,w,G,F)
% BODEFIT_ERQUAD Calcula o erro entre uma curva obtida experimentalmente
% e a resposta em frequência de uma função de transferência da forma
%
% G(s) = KKt / (Ts+1).
%
% Uso: f = bodefit_erquad(KKtT,w,G,F)
% onde: x = [KKt; T]
% w é o vetor de frequências angulares (em rad/s) para as
3-6 Exp3 Identificação I: Resposta em frequência
% RP Marques / 2010a
% gráfico de acompanhamento
subplot(211); semilogx(w,20*log10(GG),’go’,w,20*log10(G),’r’);
tit = sprintf(‘KKt = %g ; T = %g’,KKtT);
title(tit); ylabel(‘ganho [dB]’);
subplot(212); semilogx(w,180/pi*FF,’go’,w,180/pi*F,’r’);
ylabel(‘fase [graus]’); xlabel(‘w [rad/s]’)
drawnow; figure(gcf); % atualiza a tela imediatamente
OBSERVAÇÃO: A função bode do Matlab calcula a fase do sistema em graus, e não radianos.
Note também que o ganho não é calculado em dB.
c) Não é possível levantar a resposta em frequência (pelo menos como definida aqui) tomando como
saída a tensão no potênciometro. Explique o porquê.
O item desta seção deve ser apresentado ao professor para a realização da Exp. 4. em uma única folha
de papel identificada com os nomes dos integrantes de seu grupo.
d) Apresente a resposta em frequência (em módulo e fase) levantada e a função de transferência ajus-
tada.
3.5.3 Relatório
(Kuo85) Kuo, B. C. Sistemas de Controle Automático. Prentice-Hall do Brasil, 4a. ed., 1985.
(CBS11) Castrucci, P. L.; Bittar, A.; Sales, R. M. Controle Automático. LTC, 1a. ed., 2011.
RPM/2011b
Exp3 Identificação I: Resposta em frequência 3-7
Apêndice A
Rotinas utilizadas
A função senofit cumpre basicamente duas tarefas: (i) a obtenção de estimativas iniciais para os
parâmetros da curva senoidal, que é realizada pela função senofit_ic (não incluída aqui) e; (ii) a execução
do procedimento de otimização, que é feito basicamente pela função fminunc (disponível no toolbox de oti-
mização do Matlab). Ambas as tarefas são complexas, e em situações desfavoráveis os resultados obtidos
podem ser absolutamente inadequados.
function [A,w,phi]=senofit(t,y,Ao,wo,phio)
% SENOFIT Ajusta uma funcao senoidal a um sinal dado.
% Os parametros a serem ajustados sao a amplitude, a
% frequência angular e a fase.
% Caso não sejam fornecidos valores iniciais para es-
% ses parâmetros a rotina tenta obtê-los automaticamente.
%
% Uso: [A,w,phi] = senofit( t,y );
% [A,w,phi] = senofit( t,y,Ao,wo,phio );
%
%
% onde: t,y ordenadas e abscissas do sinal coletado.
%
% Ao,wo,phio valores aproximados para amplitude, fase
% e frequência angular. Esses valores são utilizados
% pelo algoritmo de otimização, portanto quanto
% melhores essas aproximações, maiores as chances
% de sucesso da funcao senofit.
%
% A,w,phi valores que minimizam o erro quadratico. Sao
% obtidos com o uso de um algoritmo de otimização,
% implementado na função senofit.
%
% Veja também os arquivos senofit.m, senofit_erquad.m e senofit_ic.m.
% RP Marques / 2011a
if ( nargin == 2 )
% Tenta obter automaticamente Ao, phio, wo
% Importante: Nao se garante sucesso para todos os casos
% O sinal tem que ser no minimo parecido com uma senoide,
% conter pelo menos um período (mas não muitos) e
% apresentar pouca distorsão.
[Ao,wo,phio] = senofit_ic(t,y); % função para obter as c.i.
elseif ( nargin == 5 ),
% Ao, wo, phio fornecidos pelo usuário
else
error('Número de argumentos incorreto.')
end;
% Otimização
Awphio = [ Ao ; wo ; phio ]; % empacota as c.i. em um vetor
% Invoca o algoritmo
% Use help fminunc para mais informações
% Este comando minimiza a função senofit_erquad no argumento Awphi, isto é,
% obtém os valores {A,w,phi} que melhor ajustam a curva y(t).
% CAVEAT: Não há garantia de sucesso.
Awphi = fminunc(@(Awphi) senofit_erquad(Awphi,t,y),Awphio,options);
A função senofit_erquad não é utilizada diretamente pelo usuário, mas é executada a cada passo
do algoritmo de otimização, e seu entendimento também é essencial.
function f=senofit_erquad(Awphi,t,y)
%SENOFIT_ERQUAD Calcula a norma euclidiana do erro entre o sinal
% (possivelmente senoidal)e os valores de uma senóide ajustada.
%
% uso: f = senofit_erquad(Awphi,t,y)
%
% onde:Awphi = [A; w; phi] é um vetor com parâmetros
% para a senóide A*sen(w*t+phi);
%
% t,y representam o sinal coletado (t é o tempo
% e y(t) o sinal);
% f é a norma do erro entre as curvas;
%
% A função também traça um gráfico para avaliação do ajuste.
% RP Marques / 2010a
t=t(:); y=y(:); % convertidose em vetores coluna
4.1 Introdução
Na experiência anterior tratou-se da obtenção de um modelo linear para o servomecanismo MS15 por
meio de sua resposta em frequência. Nesta experiência se fará a obtenção de modelos equivalentes por meio
das respostas a degrau do sistema.
4.2 Modelos
Seja o modelo linear G u s do servomecanismo em malha aberta, representado pela função de trans-
ferência entre a tensão de entrada e a posição angular do potênciometro, com
p s Kn 2
G u s = -------------
- = ---------------------- , (4.1)
Us s 1 + sT
Da mesma forma pode-se definir a função de transferência entre a tensão de entrada e a velocidade
angular do potênciometro,
p s Kn 2
G u s = -------------
- = --------------- . (4.2)
Us 1 + sT
O diagrama abaixo (Figura 4.1) mostra uma realização para estas funções de transferência.
Funções de transferência como as das equações (4.1) e (4.2) podem ser estimadas por meio de sua res-
posta a degrau. As figuras abaixo apresentam curvas típicas dessas respostas a degrau e como suas caracterís-
ticas se relacionam aos parâmetros que se deseja estimar.
Para a função de transferência da equação (4.2), os parâmetros K e T podem ser obtidos a partir da
curva da Figura 4.2 por meio das relações
p
K = ---------
- (4.3)
Un 2
p s p s
1 1
Us Kn 2 --------------- ---
1 + sT s
p
p
0,63 p
tempo
T
p T 0,63 p , (4.4)
A resposta a degrau do sistema da equação (4.1) pode ser vista na Figura 4.3. Note que esta resposta é a
integral da resposta apresentada na Figura 4.2. Quando t , a resposta tende para uma reta dada pela equa-
ção
p t = Kn 2 U t – Kn 2 UT , (4.5)
( U é a amplitude do degrau).
Exp4 Identificação II: Respostas a degrau e modelagem não-linear 4-3
p
–1
tan Kn 2 U
tempo
T
Sempre que superfícies mecânicas escorregam umas sobre as outras há o aparecimento de forças de
atrito, podendo ser classificadas dentre os três tipos abaixo
ii) atrito de Coulomb: composto por uma força constante, sempre se opondo ao movimento relativo
entre as superfícies e;
iii) atrito de destaque (ou atrito de Coulomb de destaque), que é uma força de oposição que só aparece
ao se iniciar o movimento.
T at = B p , (4.6)
p
Assumindo-se que tanto a força de atrito viscoso como a força de atrito de Coulomb sejam significati-
vas, obtém-se a curva característica de torque contra velocidade de regime da Figura 4.4 (referidos, tanto o tor-
que como a velocidade de regime ao eixo do potenciômetro). Neste caso, o torque total do sistema, que se
resume ao torque de atrito seria dado por:
T at = B p + C sgn p , (4.7)
p
4-4 Exp4 Identificação II: Respostas a degrau e mode-
Tp
C tan –1 B
p
–C
onde B e C (torque de atrito de Coulomb) estão indicados na figura e sgn x é a função “sinal algébrico” de
x.
Sem considerar o atrito de Coulomb, o torque no eixo do potenciômetro seria dado por
·· ·
T p t = J p t + B p t . (4.8)
·
·· p t Kn 2
p t + -----------
- = ---------- V m t , (4.9)
T T
·· · ·
T p t = J p t + B p t + C sgn p t . (4.10)
Note que J representa uma associação de momentos de inércia referidos ao eixo do potenciômetro. Tem-se
também que
·
·· p t · Kn 2
- + --- sgn p t = ---------- V m t ,
p t + ----------- (4.11)
T T T
onde é uma constante proporcional a C de (4.7). Esse termo adicional leva ao diagrama de blocos da
Figura 4.5 (compare com o seu equivalente linear na Figura 4.1).
O modelo acima é capaz de descrever o comportamento do sistema com bastante acurácia dentro de
limites de validade bem determinados. Note que o termo que expressa o torque resistente do atrito de Cou-
lomb, sob certas situações, pode ser maior em módulo e de sinal algébrico oposto ao termo que representa o
torque motor aplicado ao sistema, o que levaria à criação de movimento pelo torque de atrito, o que fisica-
mente não faz sentido. Assim, este modelo deve ser utilizado apenas para descrever a velocidade do sistema,
desde que esta não mude de sentido ou seja nula ou muito pequena.
É desejável utilizar este modelo também para descrever a posição do sistema, o que pode ser feito de
maneira limitada, mas com razoável fidelidade ao comportamento real do sistema. Para tanto é necessário eli-
minar as inconsistências físicas do modelo expresso no diagrama da Figura 4.5. Note no diagrama que caso
Exp4 Identificação II: Respostas a degrau e modelagem não-linear 4-5
–
p s p s
- 1 1
Us Kn 2 --------------- ---
+ 1 + sT s
Figura 4.5 Diagrama de blocos do servomecanismo com atrito de Coulomb (a variável de Laplacea “s” aparece
por abuso de notação, já que o sistema resultante é não-linear).
a. Pierre-Simon, Marquês de Laplace (1749-1827). Matemático, astrônomo e físico francês.
2
Kn u t seja menor em módulo que , a velocidade angular p t pode mudar de sentido. Para eliminar
essa situação, basta impor que o termo de atrito não seja maior que o outro termo nas situações em que tal oca-
sionaria reversão do movimento. Fisicamente isso pode ser associado ao fato de que o movimento do servo-
mecanismo é interrompido sempre que a velocidade angular se aproxima de zero e o torque aplicado não é
capaz de vencer o atrito. Nessa situação o movimento somente será retomado quando o torque aplicado for
maior que o atrito de destaque.
Considere um sistema descrito pela equação (4.11). Suponha que para uma entrada u 1 t sua resposta
· ·
seja p1 t = p1 t e que para uma entrada u 2 t a resposta seja p2 t = p2 t . Admita também que
para t t 0 , sgn p1 t = sgn p2 t . Assim, para t t 0 , a diferença
z t = p1 t – p2 t (4.12)
zt Kn 2
z· t + --------- = ---------- u 1 t – u 2 t . (4.13)
T T
Note que o modelo (4.13) é linear, apesar do atrito de Coulomb. Uma situação em que esse modelo é
aplicável pode ser obtida em laboratório. Basta excitar o servomotor inicialmente com um degrau de ampli-
tude U 1 , e quando atingido o regime permanente (i.e. quando a velocidade angular no eixo do potenciômetro
for p1 constante, ou seja quando t = t 0 ), altera-se a entrada adicionando mais um degrau U de modo que
a entrada adquira o valor U 2 = U 1 + U , obtendo-se uma curva como a da Figura 4.6, onde p2 é a veloci-
dade angular resultante em regime estacionário após a aplicação do segundo degrau. Note que z = p – p1 ,
e que tanto z como p representam velocidades angulares no eixo do potenciômetro. Apenas as referências
dos eixos (veja a figura) são diferentes.
z
K = -------------
- (4.14)
2
n U
e
4-6 Exp4 Identificação II: Respostas a degrau e mode-
p z
p2 z
0,63z
p1 0
0
t0 t0 + T tempo
= Kn 2 U 1 – p1 . (4.15)
Note que o valor de K obtido para o modelo não-linear pode diferir daquele obtido anteriormente para
o modelo linear.
4.3 Atividades
a) Obtenha modelos lineares para o sistema (sem considerar o atrito de Coulomb) a partir de suas res-
postas a degrau, tomando como saídas tanto a velocidade como a posição angulares no eixo do
potenciômetro. Obtenha esses modelos de duas maneiras: i) a partir de inspeção visual dos gráficos,
como sugerido pelas figuras 4.2 e 4.3 e; ii) usando um algoritmo de otimização (escreva funções no
Matlab análogas à função senofit e senofit_erquad da Experiência 3 e use as respostas a
degrau no lugar das senóides). Avalie a qualidade dos resultados obtidos quando se considera velo-
cidade ou posição como saíd e discuta eventuais discrepâncias.
b) Obtenha um modelo não-linear para o sistema, como sugerido pela Figura 4.6, utilizando o modelo
do diagrama exp4_template. Obtenha esse modelo por inspeção visual do gráfico.
IMPORTANTE: Esses modelos serão usados futuramente, tanto para projeto de controladores
como em simulações para verificação de desempenho.
Exp4 Identificação II: Respostas a degrau e modelagem não-linear 4-7
4.3.2 Relatório
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
Controle proporcional
5.1 Introdução
A experiência visa a montagem de controladores de posição e velocidade simples do tipo proporcional
para o servomecanismo do laboratório, e posteriormente a comparação dos desempenhos obtidos com os pre-
vistos por um modelo matemático.
Para se controlar a posição angular do servomecanismo, é necessário fechar a malha através do poten-
ciômetro (o sensor de posição), comparando essa medida com um sinal de referência. O erro obtido é então
aplicado à entrada do sistema, resultando na malha de realimentação esquematizada na figura5.1.
u + = Vm MOTOR p
+
- REDUÇÃO
Vp
POTENCIÔMETRO
p s Kn
2
G u s = -------------
- = ---------------------- , (5.1)
Us s 1 + sT
Vp s = Kp p s . (5.2)
Pode-se supor que a tensão de referência u t seja proporcional a uma posição angular de referência
r t , e que guardam entre si a mesma relação que entre V p e p . Daí
U s = Kp r s , (5.3)
5-2 Exp5 Controle proporcional
2
p s KK p n
G s = -------------
- = ---------------------- . (5.4)
r s s 1 + sT
Como fisicamente é muito mais simples tratar com tensões do que com posições angulares, a função de
transferência que será utilizada é a seguinte:
2
Vp s KK p n
G p u s = ------------- = ---------------------- . (5.5)
Us s 1 + sT
+ KK p n
2 Vp s
Us ----------------------
- s 1 + sT
No item anterior discutiu-se apenas um sistema de controle por realimentação unitária. Em um sistema
de controle deste tipo, a entrada da planta é o sinal de erro, formado pela diferença entre a referência e a saída
da planta. Nem sempre esse sinal de erro é por si só capaz de satisfazer aos requisitos exigidos, sendo necessá-
rio o uso de compensadores.
A forma mais simples de se alterar o sinal de erro que alimenta a planta é a utilização de um ganho pro-
porcional, que dá ao sistema de controle a estrutura abaixo:
+ Vm s 2 Vp s
KK p n
Us Kc ----------------------
s 1 + sT
-
2
KK c K p n
G v u s = ----------------------------------------------------
-, (5.6)
2
s 1 + sT + KK c K p n
Exp5 Controle proporcional 5-3
j
–1 T
Figura 5.4 Lugar geométrico das raízes para o sistema da equação (5.6).
A construção de um regulador de velocidade requer que se realimente o sinal de velocidade. Para tanto
utiliza-se o tacômetro como sensor de velocidade e compara-se a tensão de saída deste com o sinal de referên-
cia que se deseja acompanhar. A diferença entre esses sinais é o erro de acompanhamento (Figura 5.5)
u + = Vm MOTOR m
+
- REDUÇÃO
Vt
TACÔMETRO
K -.
G V s = -------------- (5.7)
1 + sT
Vt s = Kt m s . (5.8)
Imaginando que a tensão de referência represente uma velocidade angular tal que:
U s = Kt r s , (5.9)
então pode-se desenhar o diagrama de blocos que representa o controlador de velocidade em malha fechada da
5-4 Exp5 Controle proporcional
Figura 5.6.
Us + K m s
r s Kt ---------------
1 + sT
-
Vt s
Kt
m s
+ KK t
r s --------------
-
1 + sT
-
KK t
G s = ------------------------------
-. (5.10)
1 + KK t + sT
KK t
G V u s = ------------------------------
-. (5.11)
1 + KK t + sT
Da mesma forma que no caso do controlador de posição, esta forma será utilizada aqui pela maior sim-
plicidade na manipulação das tensões em vez das velocidades angulares.
De modo similar ao início da seção 5.2.2, considera-se aqui um controlador proporcional conforme a
Figura 5.8.
Us + Vm s Vt s
Kc KK t
--------------
-
- 1 + sT
Neste controlador, a tensão V m aplicada na entrada do motor é proporcional ao erro entre a tensão de
referência u e a tensão do tacômetro V t . A função de transferência em malha fechada G V u s resulta então:
KK t K c
G V u s = -------------------------------------
-. (5.12)
1 + KK t K c + sT
T
T mf = -------------------------- (5.13)
1 + KK t K c
e que, aumentado-se o ganho do controlador proporcional K c , obtém-se maior rapidez de resposta do sistema
(isto é, um T mf menor).
j
–1 T
5.4 Atividades
b) Registre as respostas do sistema a um degrau de referência com tensão correspondente a uma rota-
ção de 90° no eixo da escala graduada do servo (calcule esse valor a partir do ganho do potenciôme-
tro K p ). Utilize para isso três valores de ganho do controlador proporcional:
b.1) K c = 1 ;
b.2) escolha K c tal que a resposta do sistema resulte superamortecida (anote o valor de K c );
b.3) escolha K c tal que a resposta do sistema resulte sub-amortecida (anote o valor de K c );
c) Compare as respostas obtidas no item (b) com as esperadas teoricamente com base no modelo
obtido em experiências anteriores. Comente os resultados obtidos. Considere o modelo completo,
com atrito de Coulomb incluído.
e.1) K c = 1 ;
e.2) K c = 1,5 ;
e.3) K c = 2,5 .
f) Compare as respostas obtidas no item (e) com aquelas obtidas por simulação dos modelos linear e
não-linear. Comente os resultados obtidos.
g) Registre a resposta a degrau para um dos valores de K c que você utilizou no item (e), mas abaixe a
alavanca do freio eletromagnético após o sistema ter atingido o regime permanente. Comente o
resultado obtido, comparando-o com o correspondente do item (e) e procurando justificá-lo.
OBSERVAÇÃO: A resposta do sistema controlado a perturbações como esta será um dos índices de
qualidade utilizado na comparação entre este e futuros controladores.
O item desta seção deve ser apresentado ao professor para a realização da Exp. 6 em uma única folha
de papel identificada com os nomes dos integrantes de seu grupo.
h) Apresente os gráficos com as respostas ao degrau dos itens (b) e (e) - dois gráficos com três curvas
cada um.
5.4.3 Relatório
Esta experiência deve ser incluída nos relatórios “Controle de Velocidade” e “Controle de Posição”.
(DB98) Dorf, R. C.; Bishop, R. H. Modern Control Systems. Addison-Wesley, 8th. ed., 1998.
(FPE86) Franklin, G. F,; Powell, J. D.; Emami-Naeini, A. Feedback Control of Dynamic Systems.
Addison-Wesley, 1st. ed., 1986.
(Kuo85) Kuo, B. C. Sistemas de Controle Automático. Prentice-Hall do Brasil, 4a. ed., 1985.
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
(CBS11) Castrucci, P. L.; Bittar, A.; Sales, R. M. Controle Automático. LTC, 1a. ed., 2011.
6.1 Introdução
Nesta experiência far-se-á a montagem de um controlador de posição para o servomecanismo utili-
zando realimentação auxiliar de velocidade. O método do Lugar Geométrico das Raízes será utilizado para se
analisar os efeitos desse tipo de realimentação e para se comparar com o controlador proporcional estudado
anteriormente.
Nem sempre é possível atingir um compromisso razoável apenas com uma realimentação de posição,
tornando necessário o uso de outros tipos de ação de controle. Um tipo específico de ação de controle que atua
nesse sentido é a realimentação auxiliar de velocidade, que consiste na realimentação de um sinal proporcio-
nal à velocidade angular do servomecanismo somado a um sinal proporcional à posição, como no diagrama da
Figura 6.1.
+ Vm s m s p s
Us Kc K
--------------- n2
-----
- 1 + sT s
-
Vt s
Kr Kt
Vp s
Kp
Note que foi introduzido um ganho K r multiplicando o sinal V t fornecido pelo tacogerador. Esse
ganho determina o efeito da malha auxiliar de velocidade sobre o controlador. Em particular, observe que se
K r = 0 , então a malha de controle se resume a um controlador proporcional.
6-2 Exp6 Controle de posição com realimentação auxiliar
O diagrama da Figura 6.1 pode ser simplificado, resultando no diagrama da Figura 6.2.
+ Vm s KK p n 2 Vp s
Us Kc ----------------------
s 1 + sT
-
sK r K t
1 + -------------
-
n 2 Kp
k j
k = 0 k = 0
1
– ---
T
k
2
n K
Se entretanto K r 0 , pode-se mostrar que há a introdução de um zero real em s = – -----------p- na função
Kr Kt
de transferência de malha aberta (lembrando que a função de transferência de malha aberta para um sistema
como o da Figura 6.2 é dada pelo produto da função de transferência direta pela função de transferência da
malha de realimentação). Deste modo, dependendo de onde o zero se situar no eixo real, se entre os pólos ou à
esquerda deles, resultam os lugares de raízes da Figura 6.4.
Ao contrário do sistema com realimentação de posição (veja a Figura 6.3), onde, aumentando-se o
ganho de malha, obtém-se pólos de malha fechada cada vez mais afastados do eixo real, o que implica em um
comportamento oscilatório cada vez mais pronunciado para o sistema, o sistema com realimentação auxiliar
de velocidade apresenta em qualquer um dos casos (Figura 6.4) um valor de ganho acima do qual ambos os
pólos de malha fechada serão reais e negativos. E mesmo no segundo caso (na parte inferior da Figura 6.4),
onde há uma faixa de valores de ganho para a qual o sistema apresenta comportamento oscilatório, o coefi-
ciente de amortecimento do sistema se apresenta limitado inferiormente, não havendo o risco, como no caso
em que K r = 0 , de se produzir um coeficiente de amortecimento cada vez menor à medida que se aumenta o
ganho de malha, o que implica em um sobressinal cada vez maior.
Exp6 Controle de posição com realimentação auxiliar de velocidade 6-3
j
k = 0 k k = 0
k
1 2
– --- n K
T – -----------p-
Kr Kt
j
k k = 0 k = 0
k
2
n K 1
– -----------p- – ---
Kr Kt T
6.3 Atividades
Atividades a serem realizadas antes da realização da experiência. Os resultados obtidos nestes ítens
deverão estar disponíveis para uso no laboratório.
Vp s
a) Deduza a fórmula da função de transferência T aux s = ------------- para o sistema em malha
pu Us
fechada conforme a Figura 6.2.
c) Descreva qualitativamente, no que se refere a oscilações, como evolui a forma de resposta a degrau
do sistema em malha fechada à medida que o ganho K c varia de 0 a . Considere as duas situa-
ções da Figura 6.4.
IMPORTANTE: A realização da experiência em tempo hábil requer a realização prévia dos itens
acima.
Este item trata basicamente dos experimentos e das medidas a serem efetuadas. Tenha em mente que
esses dados serão utilizados posteriormente nas atividades do ítem 6.3.4, e que, portanto, os dados devem ser
tomados de forma adequada e com o rigor necessário para que sejam analisados corretamente (por exemplo:
um esboço muito simplificado de resposta a degrau pode não ser adequado para se determinar posteriormente
o coeficiente de amortecimento e a freqüência natural do sistema).
d) Monte o controlador de posição com realimentação auxiliar de velocidade (Figura 6.1) para o ser-
vomecanismo, utilizando-se do computador para fechar a malha.
6-4 Exp6 Controle de posição com realimentação auxiliar
e) Obtenha as respostas a degrau do sistema em malha fechada para diversas combinações de valores
de K r e K c variando entre 0 e 10. Utilize pelo menos 3 valores de K r ( K r = 0 e outros dois valo-
res, um para cada situação da Figura 6.4) e, para cada um desses valores, varie o ganho K c de modo
a percorrer o lugar das raízes. Use preferencialmente os mesmos valores de K c da experiência ante-
rior.
IMPORTANTE: Certifique-se de que não ocorra saturação em nenhuma das situações, especial-
mente para valores altos de K c .
O item desta seção deve ser apresentado ao professor para a realização da Exp. 7 em uma única folha
de papel identificada com os nomes dos integrantes de seu grupo.
f) Apresente os gráficos com as respostas ao degrau do item (e) - um gráfico para cada valor de K r
( K r = 0 não é necessário) contendo cada um deles uma curva para cada valor utilizado de K c .
6.3.4 Relatório
g) Compare as respostas a degrau obtidas com as simulações dos modelos linear e não-linear do sis-
tema. Comente os resultados e explique eventuais discrepâncias.
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
(CBS11) Castrucci, P. L.; Bittar, A.; Sales, R. M. Controle Automático. LTC, 1a. ed., 2011.
Realimentação auxiliar pode ser vista no item 4.6.4, num contexto bastante similar ao
presente.
7.1 Introdução
Esta experiência tem por objetivos o projeto de um compensador por avanço de fase para controlar a
posição angular do servomecanismo do laboratório e posterior análise do desempenho do sistema em malha
fechada.
Um compensador por avanço de fase serve basicamente para aumentar o ganho em altas frequências da
planta em malha aberta, podendo ao mesmo tempo melhorar a sua margem de fase. Uma vez que se feche a
malha, isso tem por efeito uma melhor resposta transitória do sistema, com pouca influência na situação de
regime permanente.
K oc 1 + sT c
G av s = -----------------------------------
-, (7.1)
1 + sT c
com 1 . Caso se tivesse 1 o compensador acima seria denominado compensador por atraso de fase.
Esse segundo tipo de compensação não será discutido aqui.
Associando-se o compensador por avanço de fase em série com a planta (veja a Figura 7.2) obtém-se a
seguinte função de transferência de malha aberta, para realimentação unitária:
2
K oc 1 + sT c KK p n
G av(s)G p u(s) = ------------------------------------ ---------------------- . (7.2)
1 + sT c s 1 + sT
2
K oc KK p n
G av s G p u s = -------------------------
-. (7.3)
s 1 + sT c
7-2 Exp7 Controle de posição com compensador por avan-
G av
- dB
-----------
K oc
20 log
10 log
20 dB/década
0
1
--------- 1 - 1
----- rad/s
T c ------------- Tc
T c
G av
o
–1 90
sen – 1 -------------
+ 1
0
1
--------- 1 - 1-
---- rad/s
T c ------------- Tc
T c
compensador planta
G av(s) G p u(s)
Note que, com esse compensador, a dinâmica de malha aberta passa a ser dada por T c e não mais pelo polo do
motor.
2 2
K oc KK p n n
G av s G p u s = ------------------------- -,
- = ---------------------------- (7.4)
s 1 + sT c s s + 2 n
sendo o coeficiente de amortecimento, e n a frequência natural do sistema. Note que essa é a mesma
estrutura da função de transferência de malha aberta quando se usa apenas um controlador proporcional,
porém com o polo realocado.
s1 2
n 1 –
n
– n
2
s2 –n 1 –
Figura 7.3 Os parâmetros e n e sua relação com os polos de malha fechada do sistema.
4
t s = ---------- (tempo de acomodação para 2%) (7.5)
n
– cos – 1()
t r = ----------------------------
- (tempo de subida - 0 a 100%) (7.6)
2
n 1 –
–
-----------------
-
1 – 2
M p % = 100e (sobressinal) (7.7)
t p = ------------------------- (instante de pico do sobressinal) (7.8)
2
n 1 –
2
r = n 1 – 2 , 0,707 (frequência de ressonância) (7.9)
1
M r = ------------------------ , 0,707
- (pico de ressonância) (7.10)
2
2 1 –
–1 1
= tan 2 ------------------------------------
- 100 (margem de fase em graus) (7.11)
4 + 1 – 2
4 2
A Figura 7.4 apresenta a resposta do sistema em malha fechada a um degrau de amplitude A . Na figura
estão indicados os valores de M p , t p e t s . A resposta em freqüência do sistema em malha fechada pode ser
vista na Figura 7.5. Nessa figura estão indicados n , r , M r e .
As equações (7.5) a (7.11) podem ser usadas para se determinar um par n que satisfaça especifi-
cações de projeto pré-determinadas. Usa-se então (7.4) para se determinar valores de K oc e T c necessários
para se obter esse par.
amplitude
Mp
A
2%
tp tempo
ts
módulo [dB]
Mr
-40 dB/década
r
[rad/s]
fase [rad] n
0
– ---
2
–
[rad/s]
acima gerar um compensador que apresente esse tipo de problema, deve-se estudar o interesse de uma solução
diferente, com outro tipo de compensador (e.g. avanço-atraso, PID).
7.4 Atividades
Atividades a serem realizadas antes da realização da experiência. Os resultados obtidos nestes itens
deverão estar disponíveis para uso no laboratório.
Exp7 Controle de posição com compensador por avanço de fase 7-5
amplitude
AK oc
AK oc
0
Tc tempo
a) Projete um compensador por avanço de fase para o controlador de posição (use a função de transfe-
rência G p u(s) identificada anteriormente). As especificações de desempenho para o sistema em
malha fechada são as seguintes:
t r 0,5 s M p 20 %
IMPORTANTE: A realização da experiência em tempo hábil requer a realização prévia dos itens
acima.
Os itens a seguir devem ser feitos no laboratório. Não se esqueça de que os dados tomados no laborató-
rio serão utilizados posteriormente, e por isso a tomada de dados deve ser feita com o rigor necessário.
d) Caso o sistema não satisfaça às especificações, ajuste o compensador até obter o desempenho dese-
jado e verifique as fontes de discrepâncias.
O item desta seção deve ser apresentado ao professor para a realização da Exp. 9 em uma única folha
de papel identificada com os nomes dos integrantes de seu grupo.
e) Apresente o gráfico com as respostas ao degrau dos itens (c) e (d) - um gráfico com duas curvas.
7.4.4 Relatório
f) Compare as respostas a degrau obtidas nesta experiência com as respostas a degrau do sistema com
o controlador proporcional e com o controlador com realimentação auxiliar de velocidade que
foram obtidas nas experiências anteriores.
7-6 Exp7 Controle de posição com compensador por avan-
A Seção 10.5 apresenta a compensação por avanço no plano “s”. Compensação por
avanço, no domínio da freqüência, é vista na Seção 10.4.
(FPE86) Franklin, G. F,; Powell, J. D.; Emami-Naeini, A. Feedback Control of Dynamic Systems.
Addison-Wesley, 1st. ed., 1986.
Compensadores por avanço são apresentados na Seção 4.5, juntamente com redes
avanço-atraso.
(Kuo85) Kuo, B. C. Sistemas de Controle Automático. Prentice-Hall do Brasil, 4a. ed., 1985.
Compensação por avanço de fase é vista na Seção 8.3. Na Seção 10.2 ela é apresentada
sob um enfoque diferente.
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
A Seção 7.3 trata exclusivamente de compensadores por avanço de fase com diferentes
abordagens.
(CBS11) Castrucci, P. L.; Bittar, A.; Sales, R. M. Controle Automático. LTC, 1a. ed., 2011.
atual. RPM/2011a
Experiência 8
8.1 Introdução
Esta experiência tem por objetivos projetar um compensador PI para um sistema de controle de veloci-
dade, verificar o desempenho do sistema compensado em malha fechada e comparar o desempenho de um
compensador PI com o de um controlador proporcional (Experiência 5) com relação ao erro estacionário.
O funcionamento em regime permanente dos reguladores pode ser consideravelmente melhorado pela
introdução de um integrador na FTMA (Função de Transferência de Malha Aberta), o que leva o ganho de bai-
xas frequências a infinito e o erro de regime estacionário a zero.
1
G c s = K PI 1 + ------- (8.1)
T s I
1 K
G ma s = G c s G V s = K PI 1 + ------- --------------- , (8.2)
T I s 1 + sT
onde K PI e T I são os parâmetros do compensador PI, e K e T são os parâmetros da equação (5.7) (Exp 5).
KK PI K ma
G ma s = G c s G V s = ------------ -,
- = --------- (8.3)
TI s s
O ganho K ma pode ser obtido por uma especificação sobre o transitório como, por exemplo, o tempo
8-2 Exp8 Controle de velocidade com compensador PI
G c dB
-20dB/década
20 log K PI
1 TI
G c rad 1 TI
– 4
– 2
AK PI
2AK PI tan = ------------
-
TI
AK PI
0 TI t
de subida.
8.3 Atividades
Atividades a serem realizadas antes da realização da experiência. Os resultados obtidos nestes itens
deverão estar disponíveis para uso no laboratório.
b) Nas condições do ítem anterior, deduza uma expressão para o valor do ganho do compensador PI
K PI em função do tempo de subida da resposta temporal do sistema em malha fechada para
entradas do tipo degrau.
Exp8 Controle de velocidade com compensador PI 8-3
d) Analise, através do Lugar Geométrico das Raízes, o que acontece com o desempenho do sistema
em malha fechada se o cancelamento do polo do motor for imperfeito.
IMPORTANTE: A realização da experiência em tempo hábil requer a realização prévia dos itens
acima.
g) Levante as respostas a degrau correspondentes aos ganhos do ítem (c) e verifique se os valores pro-
jetados estão coerentes. Justifique eventuais diferenças.
h) Compare as respostas obtidas no ítem anterior com as respostas a degrau obtidas na Experiência 5,
com relação a tempo de subida e erro estacionário.
j) Aplique um degrau como sinal de referência para o controlador de velocidade e aguarde até o sis-
tema atingir o regime permanente. Aplique em seguida o freio eletromagnético e registre a resposta
do sistema. Compare o resultado obtido com o correspondente da Experiência 5 e justifique as dife-
renças observadas.
O item desta seção deve ser apresentado ao professor para a realização da Exp. 9 em uma única folha
de papel identificada com os nomes dos integrantes de seu grupo.
k) Apresente o gráfico com as respostas ao degrau do item (g) - um gráfico com três curvas.
8.3.4 Relatório
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
(CBS11) Castrucci, P. L.; Bittar, A.; Sales, R. M. Controle Automático. LTC, 1a. ed., 2011.
9.1 Objetivos
Esta experiência tem por objetivo o estudo, implementação e sintonia de controladores PID (de Propor-
cional+Integral+Derivativo) aplicados ao servomecanismo do Laboratório
A maioria absoluta dos controladores empregados na Indústria é baseada em algoritmos PID. Eles são
empregados desde a década de 30 em diferentes implementações. Os primeiros eram implementados por meio
de sistemas hidráulicos ou pneumáticos, tendo evoluido depois para eletrônica analógica, sendo hoje imple-
mentados digitalmente por meio de microprocessadores.
Os PIDs aparecem em inúmeros produtos industriais para controle de processos, desde os mais sim-
ples, chamados de single-loops ou multi-loops, equipamentos dedicados em tamanho padrão, que implemen-
tam apenas algoritmos PIDs, capazes de controlar uma ou diversas malhas (como os da Figura 9.1) até os mais
(a) SMAR CD 600 (Brasil) (b) Foxboro 718 (EUA) (c) Yokogawa YS100 (Japão)
Figura 9.1 Alguns controladores industriais de pequeno porte
sofisticados equipamentos, que são programados graficamente (de maneira semelhante ao Simulink, utilizado
no Laboratório) onde os PIDs aparecem como blocos básicos utilizados para compor sistemas de controle que
podem conter centenas de malhas (um equipamento desse tipo é apresentado na Figura 9.2).
Conceitualmente falando, os modernos PIDs não são diferentes de seus ancestrais das décadas de 30 e
40. A evolução se deu principalmente no que se refere a métodos de sintonia (isto é, a escolha dos ganhos do
controlador), e hoje diversos produtos contêm PIDs que se auto-sintonizam, utilizando as mais variadas técni-
cas.
Em um controlador PID, como o do diagrama abaixo (Figura 9.3), a ação de controle é gerada por uma
soma de três termos, isto é
9-2 Exp9 Controladores PID: Abordagem prática
et controlador u t
rt PLANTA yt
PID
u t = uP t + uI t + uD t , (9.1)
uP t = KP e t , (9.2)
KP t KP
u I t = ------- e d , ou no domínio da freqüência U I s = ------- E s e
Ti 0 sT i
(9.3)
de t
u D t = K P T D ------------ ou U D s = K P T D sE s . (9.4)
dt
1 - + sT E s .
U s = K P 1 + ------ (9.5)
sT D
i
3E
erro
2E
0 TI 2T I 3T I tempo
erro
e t + TD
de t
e t + T D ------------
dt
et
t t + TD tempo
k
U s = k + ----i + sk d E s . (9.6)
s
Na parametrização paralela os parâmetros perdem seu significado físico, porém esta parametrização é
mais interessante quando se deseja tratar separadamente as diferentes ações de controle ou para se fazer mani-
pulações algébricas.
Uma ação diferencial como a da equação (9.4) apresenta alguns problemas de implementação.
O primeiro deles se refere à variação do ganho com a freqüência do sinal de entrada. Uma função de
transferência do tipo sT D apresenta ganho tendendo a infinito com o aumento da freqüência, o que é alta-
mente indesejável do ponto de vista de controle, pois sinais espúrios de alta freqüência, como ruídos de
medida, seriam amplificados em escala muito maior que o sinal de erro pertinente ao controle. Além disso é
sabidamente impossível se realizar fisicamente uma implementação desse tipo. Geralmente é feita a seguinte
aproximação
sT D
sT D --------------------------- , (9.7)
1 + sT D N
G j jT D
jT D
------------------------------
1 + jT D N
20 log N
0
1 N
------- -------
TD TD
Figura 9.6 Diagrama de Bode da ação diferencial (apenas as assíntotas foram traçadas)
O outro problema é que usualmente o sinal de referência (ou setpoint) é um sinal constante por trechos
(como os degraus aplicados aos diferentes sistemas implementados no Laboratório), de maneira que o sinal de
erro pode vir a ser descontínuo, o que do ponto de vista da ação diferencial é bastante inconveniente. Uma
maneira simples de se evitar esse problema é aplicar a saída da planta com sinal trocado à parcela diferencial
do controlador, e não o sinal de erro, tendo-se então no lugar de (9.4)
–s TD
U D s = --------------------------- Y s , (9.8)
1 + sT D N
1 –s TD
U s = K P 1 + ------- E s + K P --------------------------- Y s . (9.9)
sT 1 + sT D N
i
Essa situação em que a componente integral do controle cresce cada vez mais com a saída física do
controlador saturada é denominada wind up. O real problema não é o wind up em si, mas a volta do sistema a
uma situação normal após algum tempo em wind up. Caso se altere o setpoint ou se corrija algum problema
que estivesse causando a saturação do atuador, o controlador demorará muito tempo a sair da saturação, pois o
integrador terá nesse momento um valor muito alto, que cairá lentamente de acordo com a constante de tempo
implementada.
Para evitar que esse problema ocorra, basta que o integrador seja congelado quando a saída do contro-
lador atingir o máximo ou mínimo de sua excursão admissível, de modo que não haja acumulação desnecessá-
ria no integrador, impedindo a ocorrência de wind up. A essa estratégia se dá o nome de anti-windup.
de diversas maneiras, tendo em vista a otimização de algum índice de desempenho. Exemplos de índices
comuns de desempenho são o erro de regime estacionário (ou acompanhamento de setpoint), rejeição de per-
turbações, robustez a variações na planta, máximo sobressinal, etc. A obtenção de parâmetros adequados pode
ser feita analiticamente a partir dos modelos do controlador e da planta, por tentativa e erro, por processos ite-
rativos e por utilização direta de regras práticas de sintonia.
Regras práticas de sintonia têm sido desenvolvidas ao longo do tempo com o fim de se caracterizar de
maneira rápida uma dada planta e a partir dessa caracterização se obter uma sintonia para o controlador. Três
regras bastante conhecidas são apresentadas nesta apostila. As duas primeiras usam a resposta a degrau da
planta em malha aberta para caracterizá-la, enquanto que a terceira utiliza propriedades de sua resposta em fre-
qüência.
Considere um sistema estável em malha aberta cuja resposta a degrau tenha o aspecto ilustrado na
Figura 9.7. A partir dos parâmetros identificados e L pode-se obter uma sintonia utilizando-se o método de
y
0,63y
tempo
T
Ziegler-Nichols para resposta a degrau (Tabela 9.1) ou uma variação que permite tentar ajustar o sobressinal
Controlador KP TI TD
P 1
P+I 0,9 3L
Sobressinal 0% 20%
Controlador KP TI TD KP TI TD
P 0,3 0,7
Outro método, também devido a Ziegler e Nichols, se aplica quando a resposta em malha fechada com
controlador proporcional tem caráter oscilatório. Ela pode ser esquematizado da seguinte maneira: Inicial-
mente feche a malha apenas com controle proporcional, isto é, T D = 0 e T I . Aumente o ganho propor-
cional K P até que se atinja o limite de estabilidade, situação em que o sistema passa a oscilar
espontaneamente e praticamente sem amortecimento. O ganho limite K u e o período de oscilação T u levam à
regra de sintonia do método de Ziegler-Nichos para resposta em frequência, apresentado na Tabela 9.3
Controlador KP TI TD
P 0,5K u
P+I+D 0,6K u Tu 2 Tu 8
Seja um relé com histerese, conforme a curva característica esquematizada na 9.8. A saída u do relé
– e
–d
pode assumir os valores d conforme o valor da entrada e e da trajetória (ascendente ou descendente) em que
o sistema se encontra. A histerese do relé é representada pelo parâmetro . Se = 0 o relé não apresenta his-
terese.
Para se aplicar o método do relé, fecha-se a malha utilizando o relé acima como compensador, con-
Exp9 Controladores PID: Abordagem prática 9-7
+ e u y
0 PLANTA
-
forme a Figura 9.9. Caso o arranjo gere uma oscilação sustentada na saída y t do sistema, como a da Figura
9.10, é possível identificar os parâmetros a (amplitude de oscilação) e T u (período de oscilação). Nessas con-
yt
Tu
dições, o sinal u t deve ser uma onda quadrada de amplitude d , mesmo período e fase oposta ao sinal y t .
Para o caso mais simples em que não há histerese (ou em que ela é muito pequena), pode-se mostrar
que para a oscilação sustentada acima, a função descritiva do compensador a relé é dada por
4d
a = ------ , (9.10)
a
derivada grosseiramente da componente fundamental da expansão em série de Fourier de uma onda quadrada.
O que nos sugere o seguinte valor para o ganho limite.
4d
K u = a = ------ . (9.11)
a
Com isso, pode-se utilizar os valores obtidos de K u e T u na Tabela 9.3 para ajustar um compensador
PID. (9.12)
controlador. Além disso, pode-se ajustar o parâmetro d do relé para se obter uma amplitude de entrada ade-
quada a cada planta.
Para o caso em que não se quer ou não se pode adotar histerese nula, pode-se mostrar que a função des-
critiva do compensador a relé é dada por
4d 2
a = ------ 1 – --- – j --- , (9.13)
a a a
Ku = a . (9.14)
A histerese pode ser útil para evitar que ruídos ocasionem o chaveamento indevido do relé, para limitar
a frequência de chaveamento ou para adequar o modelo do relé a dispositivos reais com histerese conhecida.
É importante ter em mente que esses métodos são baseados em aproximações e hipóteses que podem
não se aplicar a todos os tipos de sistema, sendo que as regras apresentadas acima podem eventualmente levar
a resultados bastante pobres ou nem serem passíveis de aplicação. Há casos em que a resposta a degrau de um
dado sistema não apresenta os parâmetros e L bem definidos ou em que se aumentando o ganho do contro-
lador proporcional não ocorra instabilidade ou ainda em que seja possível se atingir o limite de instabilidade,
mas que essa situação seja proibida pela operação normal da planta ou mesmo perigosa. Os métodos de Zie-
gler-Nichols assumem um decaimento do sinal de 1 4 , isto é, o segundo pico da resposta a degrau do sistema
deve apresentar um erro 4 vezes menor que o primeiro, o que para algumas aplicações pode ser uma caracte-
rística indesejável.
Pode ser impossível obter uma sintonia pelo método do relé caso o sistema não apresente comporta-
mento oscilatório, ou mesmo que seja possível, não há garantias de que a sintonia seja adequada ou que o
comportamento esperado seja atingido.
Nas experiências anteriores vimos diversas formas de se sintonizar analiticamente controladores seme-
lhantes a um PID (por exemplo o controle proporcional com realimentação auxiliar de velocidade, semelhante
a um controlador PD, ou o controle por avanço de fase ou o próprio controlador PI da Experiência 8).
Uma das abordagens mais utilizadas na Indústria, tem sido a sintonia por tentativa e erro, e talvez seja
esse o motivo de ser tão comum se encontrar controladores mal sintonizados ou com a ação diferencial desati-
vada. De fato, ajustar três parâmetros por tentativa e erro com conhecimento limitado sobre o comportamento
da planta pode-se tornar uma tarefa bastante difícil e eventualmente demorada.
9.4 Atividades
a) Implemente no Simulink um controlador PID como o da equação (9.9) com o fim de controlar o
servomecanismo.
b) Das regras práticas apresentadas, quais podem ser utilizadas no sistema do laboratório (considere
tanto posição como velocidade como saída do sistema)? Justifique sua escolha.
Exp9 Controladores PID: Abordagem prática 9-9
c) Utilize o método do relé, com histerese nula ou muito pequena, para ajustar os parâmetros do PID
para controlar a posição do servomecanismo nas configurações da Tabela 9.4
i) baixa PI
iii) elevada PI
Apresente as respostas a degrau correspondentes (escolha a amplitude do degrau para evitar satura-
ção do controlador) e comente as diferenças. Seria de se esperar que o ajuste se alterasse com a
mudança da amplitude d ?
d) Tente refinar o ajuste do item anterior por tentativa e erro. Comente os resultados obtidos.
9.4.2 Relatório
Esta experiência deve ser incluída nos relatórios “Controle de Velocidade” e “Controle de Posição”.
(Oga93) Ogata, K. Engenharia de Controle Moderno. Prentice-Hall do Brasil, 2a. ed., 1993.
Sintonia de PID´s é apresentada na Seção 7.6. As ações básicas de controle são apresen-
tadas na Seção 3.2.
(Shi94) Shinskey, F. G. Feedback Controllers for the Process Industries. McGraw-Hill, 1994.
(Ast95) Aström, K.; Hägglund, T. PID Controllers: Theory, Design and Tuning. Instrumentation
Society of America, 2nd ed., 1995.
O método do relé é discutido na Seção 2.6. O livro é todo dedicado a controladores PID.
RPM/2011a
9-10 Exp9 Controladores PID: Abordagem prática
Experiência 10
Atraso de transporte e
controlador de modelo interno
10.1 Introdução
Esta experiência tem por objetivos servir como uma breve e simplificada apresentação a sistemas com
atraso de transporte, introduzir controladores de modelo interno, conhecidos por IMC (do inglês Internal
Model Controllers) e usá-los para realizar o controle da velocidade angular do servomecanismo. O desempe-
nho será comparado com um controlador do tipo PI, como o da Experiência 8, fechando a malha do servome-
canismo com um atraso de transporte.
O atraso de transporte pode ser entendido como a existência de um intervalo de tempo entre
uma atuação sobre um dado sistema e a manifestação de seus efeitos sobre o comportamento deste. Veja a
Figura 10.1 para uma ilustração simples de sistemas com atraso.
Se a duração do atraso for constante ou se ela depender apenas do tempo, o fenômeno é certa-
mente linear, e para o caso de duração constante, o atraso tem uma representação simples e elegante no domí-
nio de Laplace,
– s
s = e , (10.1)
onde é a duração do atraso. A função de transferência acima possui ganho unitário em toda a faixa de frequ-
ências e defasagem aumentando linearmente com a frequência. Tendo essas características em mente, é fácil
entender como a presença de atraso causa complicações ao projeto de controle.
Com a introdução do atraso, a função de transferência do sistema pode ser descrita por
– s KK t
HV u s = e --------------
-, (10.2)
Ts + 1
válvula de
controle
tanque
alimentador
correia transportadora
caçamba
Terra Marte
delay_template. Note que a menos do atraso, o comportamento do sistema é totalmente similar ao obser-
vado anteriormente.
Esta estrutura permite que se trate sem grandes dificuldades efeitos como o atraso de transporte, o que
facilita o projeto de sistemas de controle com bom desempenho, bastando que um modelo fiel do processo seja
disponível, e que alguns requisitos técnicos sejam satisfeitos.
Considere o esquema de controle da Figura 10.2. Para essa estrutura de controle, pode-se mostrar com
relativa facilidade que
Exp10 Atraso de transporte e controlador de modelo interno 10-3
planta
+ Es Us
Rs Gc s Gp s Y s
- compensador
modelo +
-
Ĝ p s
Figura 10.2 Esquema típico do IMC (para sistemas lineares invariantes no tempo)
Y s - G c s G p s
---------- = --------------------------------------------------------------- e (10.3)
R s 1 + G c s G p s – Ĝ p s
E s 1 – G c s Ĝ p s
----------- = --------------------------------------------------------------- . (10.4)
R s 1 + G c s G p s – Ĝ p s
Supondo que o modelo Ĝ p s seja uma descrição quase perfeita da planta G p s ou seja, que
Ĝ p s G p s , podemos simplificar as equações acima obtendo
Ys
----------- G c s G p s e (10.5)
R s
E s
----------- 1 – G c s Ĝ p s . (10.6)
R s
Note que a função de transferência aproximada de malha fechada (10.5) depende da planta G p s e que a fun-
ção de transferência do erro em malha fechada (10.6) depende do modelo Ĝ p s .
Supondo que o objetivo do sistema de controle seja rastrear o sinal de referência R s , seria desejável
–1
que tivéssemos G c s Ĝ p s = 1 ou seja, que G c s = Ĝ p s . Nessa situação a saída da planta Y s seria
uma cópia fiel do sinal de referência e o sistema de controle teria um desempenho perfeito.
A condição de estabilidade do sistema em malha fechada nesse caso é simplesmente que tanto G c s
como G p s sejam estáveis (pense no porquê).
Apesar de desejável, a estratégia acima cria uma série de problemas e conflitos que a tornam pratica-
mente inviável. Para citar alguns: a inversão do modelo somente pode ser feita se Ĝ p s for uma função de
transferência biprópria (em qualquer outra situação a função ou a sua inversa seriam impróprias); Ĝ p s não
pode ter polos ou zeros no semi-plano direito, pois eles seriam cancelados por G c s , o que torna o sistema
em malha fechada instável.
G c s Ĝ p s = G f s , (10.7)
onde G f s é uma função de transferência pré-escolhida para evitar os problemas acima e garantir algum tipo
de desempenho ao sistema. Nesse contexto, o projeto de controle se resume a uma escolha adequada de
G f s , e há diversas técnicas e abordagens para esse fim. Aqui exploraremos apenas uma abordagem muito
10-4 Exp10 Atraso de transporte e controlador de modelo
servomecanismo
+ E s Vm s
Rs Gc s Hs Vt s
- compensador
modelo +
-
Ĥ s
De (10.5) e supondo que o modelo seja perfeito, temos que a função de transferência de malha fechada
é dada por G f s . Definimos então os seguintes requisitos para o controlador.
b) G f s deve ser um filtro passa-baixa. A ideia é imunizar o sistema a ruídos (evitando a amplifica-
ção excessiva de sinais de alta frequência) e minimizar a agressividade do controle, limitando a
banda do sistema em malha fechada, pois sabe-se que bandas excessivamente largas são associadas
a respostas temporais muito rápidas, que para serem atingidas exigem sinais de controle muito rápi-
dos e de amplitude elevada.
c) Erro de regime nulo para entrada degrau, que é um requisito quase sempre desejável.
Como vimos,
–1
G c s = G f s Ĥ s , (10.8)
ou seja
s
e Ts + 1
G c s = G f s ---------------------------- . (10.9)
KK t
Uma proposta imediata, e que atende os requisitos acima é adotar a dinâmica mais simples possível
para a função de transferência de malha fechada, que é aproximada por G f s ,
– s
e
G f s = --------------
-. (10.10)
Ts + 1
Exp10 Atraso de transporte e controlador de modelo interno 10-5
–1
Como Ĥ s possui um avanço de transporte e é imprópria, é necessário cancelar a sua dinâmica, como é
feito ao se adotar G f s como em (10.10). Note que com isso a função de transferência de malha fechada é um
filtro passa-baixa, estável. Para termos erro de regime nulo à entrada degrau, conforme (10.6) e o teorema do
valor final, devemos ter
lim G c s Ĥ s = 1 , (10.11)
s0
1
G c s = --------- . (10.12)
KK t
Uma limitação do compensador dado por (10.12) é que a função de transferência de malha fechada tem
a dinâmica dada aproximadamente por (10.10). Temos um atraso de transporte igual ao da planta em malha
aberta (o que é inevitável), erro de regime ao degrau nulo (o que é bastante desejável), mas a mesma constante
de tempo T da malha aberta (o que pode estar aquém do desejado).
Uma alternativa relativamente simples para melhorar o desempenho, é fazer com que G c s cancele o
polo da planta, substituindo-o por outro mais rápido, ou seja
1 Ts + 1
G c s = --------- ----------------- . (10.13)
KK t T c s + 1
Com isso,
– s
e
G f s = ----------------
-. (10.14)
Tc s + 1
Por fim, cabem algumas advertências sobre esta estratégia de controle. A técnica tende a produzir
compensadores que invertem a planta e visam o cancelamento indiscriminado de polos e zeros, o que é uma
estratégia não recomendável caso estes se situem no semi-plano direito ou possuam caráter muito oscilatório.
Outra característica é que requisitos não realistas para o desempenho do sistema em malha fechada levam a
ganhos excessivos do controle ou bandas muito largas para o sistema em malha fechada, características extre-
mamente indesejáveis do ponto de vista prático. Cabe ao projetista identificar e evitar tais situações.
10.6 Atividades
a) Esboce o diagrama de Bode em malha aberta do modelo linear do servomecanismo com atraso (por
exemplo de 0,3s) em série com um compensador do tipo PI (por exemplo, como na Experiência 8).
Verifique que devido ao atraso as margens de ganho e de fase do sistema são reduzidas.
DICA: Veja no Matlab os comandos margin, bode e a propriedade ioDelay dos objetos de sis-
tema.
e) Reduza o ganho do compensador, caso necessário, até que o nível de oscilação seja aceitável.
f) Implemente um controlador de modelo interno como sugerido na Seção 10.5. Tenha como objetivo
obter um sistema em malha fechada com uma constante de tempo equivalente a 65% da constante
de tempo da malha aberta.
10.6.3 Relatório
(Lev11) Levine, W. (org.). The Control Handbook. CRC Press, 2nd. ed., 2011.
FMP,RPM/2013a