Toolbox de Sistemas de Controle MATLAB

Documentos relacionados
UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

2.17 Matlab em Sistemas de Controle

INSTITUTO POLITÉCNICO DE TOMAR. Matlab Tutorials. Principais Funções do Matlab

Sistemas a Tempo Discreto - Projeto

Modelagem no Domínio do Tempo. Carlos Alexandre Mello. Carlos Alexandre Mello 1

Comandos e Funções do MATLAB

Modelagem no Domínio da Frequência. Carlos Alexandre Mello. Carlos Alexandre Mello 1

Departamento de Engenharia Química e de Petróleo UFF. Disciplina: TEQ102- CONTROLE DE PROCESSOS. Diagrama de Bode. Outros Processos de Separação

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

Transformada z. ADL 25 Cap 13. A Transformada z Inversa

5 Transformadas de Laplace

Aula 2P - Comandos básicos do Matlab aplicados a PDS

Universidade Gama Filho Campus Piedade Departamento de Engenharia de Controle e Automação

Informática no Ensino da Matemática

Análise de Circuitos Elétricos III

EXERCÍCIOS RESOLVIDOS

Estabilidade. Carlos Alexandre Mello. Carlos Alexandre Mello 1

Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

ANÁLISE LINEAR DE SISTEMAS

Prova 2 - Sistemas de Controle Projetos

CENTRO UNIVERSITÁRIO DA FEI MR Simulação de Processos em Eng. de Materiais. Aula 5. Matlab

2 - Modelos em Controlo por Computador

Controle de Conversores Estáticos Retroação de estados: Projeto por alocação de pólos. Prof. Cassiano Rech

Resumo. Sinais e Sistemas Transformada de Laplace. Resposta ao Sinal Exponencial. Transformada de Laplace

11/07/2012. Professor Leonardo Gonsioroski FUNDAÇÃO EDSON QUEIROZ UNIVERSIDADE DE FORTALEZA DEPARTAMENTO DE ENGENHARIA ELÉTRICA.

Introdução ao Matlab. 1 Algumas regras e comandos do Matlab. 3 de março de Docente Responsável : Prof. Dr. Antônio C. Roque

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Controle de Sistemas. O Método do Lugar das Raízes. Renato Dourado Maia. Universidade Estadual de Montes Claros. Engenharia de Sistemas

Sessão Prática: Simulação e Controle com LabVIEW

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Tutorial de Matlab Francesco Franco

SISTEMAS DE CONTROLO. Objectivos Pedagógicos

Função. Definição formal: Considere dois conjuntos: o conjunto X com elementos x e o conjunto Y com elementos y. Isto é:

Controle por Computador Parte II. 22 de novembro de 2011

Sistemas de Controle Digital

Desempenho de Sistemas de Controle Realimentados

Controle I. Análise de resposta transitória Sistemas de primeira ordem

O AMPLIFICADOR LOCK-IN

Sistemas de Controle I (Servomecanismo) Carlos Alexandre Mello. Carlos Alexandre Mello cabm@cin.ufpe.br 1

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Vestibular1 A melhor ajuda ao vestibulando na Internet Acesse Agora! Cinemática escalar

Só Matemática O seu portal matemático FUNÇÕES

Para além das funções (comandos) pré-definidas no matlab, o utilizador pode também criar as suas próprias funções

Hoje estou elétrico!

UNIVERSIDADE FEDERAL DO AMAPÁ NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO. Manual de Avaliação de Desempenho Cadastro

Sistema de excitação

Root Locus (Método do Lugar das Raízes)

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.

Processamento Digital de Sinais Aula 05 Professor Marcio Eisencraft fevereiro 2012

APOSTILA DE EXCEL 2007

NÍVEL BÁSICO CAPÍTULO III

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Conversores D/A e A/D

REAL LACOS: CONTROLE DIGITAL EM TEMPO REAL

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Sistemas a Tempo Discreto

15- Botão Trocar instrumento

2. Representação Numérica

Apresentação MATLAB Simulink & Toolboxes

Estabilidade no Domínio da Freqüência

O AMPLIFICADOR LOCK-IN

Resposta Transitória de Circuitos com Elementos Armazenadores de Energia

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Estudos Iniciais do Sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas temporais.

Manual de digitação de contas Portal AFPERGS

[a11 a12 a1n 4. SISTEMAS LINEARES 4.1. CONCEITO. Um sistema de equações lineares é um conjunto de equações do tipo

Dadas a base e a altura de um triangulo, determinar sua área.

Prof. Dr. Iron Macêdo Dantas

RELATÓRIO FINAL: PROJETO DESAFIO CONTROLE DE POSIÇÃO DE UMA VÁLVULA

Algoritmos e Programação Estruturada

1) Como acessar a aplicação

Vetores, Matrizes e Gráficos

MICROSOFT EXCEL AVANÇADO

FUNÇÕES POLINOMIAIS DO SEGUNDO GRAU MEDIADOS PELO SOFTWARE GEOGEBRA NA PERSPECTIVA DOS REGISTROS DE REPRESENTAÇÃO SEMIÓTICA

DIODOS. Professor João Luiz Cesarino Ferreira

Conforme explicado em 2.4.3, o sinal de voz x(n) às vezes é alterado com a adição de ruído r(n), resultando num sinal corrompido y(n).

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Probabilidade e Estatística I Antonio Roque Aula 8. Introdução ao Excel

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04037 Sistemas de Controle Digitais

CorelDRAW UM PROGRAMA DE DESIGN

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

COMO CRIAR SUA PRÓPRIA FUNÇÃO UTILIZANDO PROGRAMAÇÃO VBA - EXCEL

Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com

Lista de Exercícios. Vetores

Laboratórios 9, 10 e 11: Projeto de Controladores pelo Lugar das Raízes DAS5317 Sistemas de Controle

A. MANUAL DO MÓDULO ATFAR DO ECGLAB

Sistemas e Sinais (LEE & LETI)

Objetivos. Apresentar as superfícies regradas e superfícies de revolução. Analisar as propriedades que caracterizam as superfícies regradas e

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Planilhas Eletrônicas

Guião do Trabalho Laboratorial Nº 3 Análise do Comportamento de uma Suspensão de Automóvel

5. Diagramas de blocos

para outro) 23 ÍNDICE ERP 1- Cadastro de Produtos (Implantação no Almoxarifado) 04

CÁLCULO DE ZEROS DE FUNÇÕES REAIS

Universidade Federal de Itajubá 02/09/2015 APRESENTAÇÃO APRESENTAÇÃO. Caminhonetes. Dados de entrada

Transcrição:

Toolbox de Sistemas de Controle MATLAB Control System Toolbox Grupo PET Engenharia Elétrica UFMS

Campo Grande MS Junho - 2003 2

Índice Índice 3 1. Introdução 4 2. Representação dos Sistemas 5 2.1. Representação dos Sistemas Contínuos no Tempo 5 2.1.1. Função de Transferência 5 2.1.2. Equações de Estado 5 2.1.3. Pólos, Zeros e Ganho 6 2.1.4. Conversões 6 2.2. Representação dos Sistemas Discretos 8 3. Análise da Resposta Transitória de Sistemas Contínuos no Tempo 10 3.1. Resposta ao Degrau 10 3.2. Resposta ao Impulso 12 3.3. Resposta a Rampa 12 4. Análise da Resposta Transitória de Sistemas Discretos no Tempo 13 4.1. Geração das Funções de Entrada 13 4.1.1. Entrada Tipo Delta de Kronecker 13 4.1.2. Entrada Tipo Degrau 13 4.1.3. Entrada Tipo Rampa 13 4.1.4. Entrada Tipo Aceleração 13 4.2. Filtros Digitais 14 4.3. Resposta ao Delta de Kronecker 14 4.4. Resposta ao Degrau 14 4.5. Resposta a Rampa 14 5. Análise pelos pólos e zeros 15 5.1. Gráfico do Lugar das Raízes (Root Lócus) 15 5.2. Mapa Pólo-Zero 15 6. Resposta em Freqüência 16 3

1. Introdução O objetivo deste trabalho é ensinar a utilizar o MATLAB, voltado para a aplicação em engenharia de controle, de uma maneira rápida e eficiente. Contudo ele pressupõe que você já saiba alguns conceitos básicos de MATLAB e que já tenha conhecimentos de controle. O enfoque é no toolbox de Sistemas de Controle, mas muitas outras funções além das funções deste toolbox podem ser utilizadas para o estudo de engenharia de controle. Apenas uma parte das funções do toolbox serão tratadas aqui pois a variedade é grande e a apostila poderia perder a objetividade. Para ver as funções que estão contidas neste toolbox, digite no MATLAB: >> help control A fim de melhorar a didática desta apostila, todos os comando que são digitados no MATLAB foram emoldurados como no caso acima. Para se aprofundar no assunto, consulte o livro: - Solução de Problemas de Engenharia de Controle com MATLAB, Katsuhiko Ogata, Ed. PHB 4

2. Representação dos Sistemas 2.1. Representação dos Sistemas Contínuos no Tempo 2.1.1. Função de Transferência Considere a Função de Transferência: s + 3 H(s) = 3 s 3s + 2 Para representa-la no MATLAB escrevemos o numerador e o denominador separados na forma padrão de polinômios para o MATLAB como se segue: >> num = [1 3]; den = [1 0-3 2]; Para facilitar utilizamos a função tf para atribuir a função a uma única variável. >> sys = tf(num,den) Transfer function: s + 3 ------------- s^3-3 s + 2 2.1.2. Equações de Estado Para definirmos as equações de estado abaixo x = Ax + Bu y = Cx + Du Precisamos apenas das variáveis A, B, C e D. Por exemplo: >> A = [0, 3, -2; 1, 0, 0; 0, 1, 0]; B = [1; 0; 0]; >> C = [0, 1, 3]; D = [0]; Para atribuir o sistema a uma única variável utilizamos a função ss. >> sys = ss(a,b,c,d) a = x1 x2 x3 x1 0 3-2 x2 1 0 0 x3 0 1 0 b = u1 x1 1 x2 0 x3 0 c = x1 x2 x3 y1 0 1 3 d = u1 y1 0 Continuous-time model. 5

2.1.3. Pólos, Zeros e Ganho Podemos definir um sistema também definindo os seus pólos, seus zeros e o ganho utilizando a função zpk. Por exemplo o mesmo sistema acima que tem zeros: -3 (raiz do numerador), pólos: -2, 1 e 1(raízes do denominador) de ganho: 1. >> sys = zpk(roots(num), roots(den), 1) Zero/pole/gain: (s+3) ------------- (s+2) (s-1)^2 2.1.4. Conversões Basicamente temos as seguintes funções: - tf2ss Converte funções de transferência para equações de estado. - ss2tf Converte equações de estado para funções de transferência. - ss2zp Converte equações de estado para pólos e zeros. - zp2ss Converte pólos e zeros para equações de estado. - tf2zp Converte funções de transferência para pólos e zeros. - zp2tf Converte pólos e zeros para funções de transferência. Exemplos: Vamos utilizar o mesmo sistema anterior: tf2ss >> [A, B, C, D] = tf2ss(num,den) A = 0 3-2 1 0 0 0 1 0 B = 1 0 0 C = 0 1 3 D = 0 ss2tf >> [num, den] = ss2tf(a,b,c,d) num = 0-0.0000 1.0000 3.0000 den = 1.0000 0.0000-3.0000 2.0000 6

ss2zp >> [z, p, k] = ss2zp(a, B, C, D) z = -3.0000 p = -2.0000 1.0000 1.0000 k = 1.0000 zp2ss >> [A, B, C, D] = zp2ss(z, p, k) A = 1.0000 0 0 4.0000-1.0000 1.4142 0 1.4142 0 B = 1 1 0 C = 0 0 0.7071 D = 0 >> % Este resultados são aparentemente diferente, mas representam o mesmo >> % sistema. >> % Podemos comprovar retornando à função de transferência. >> >> [num, den] = ss2tf(a, B, C, D) num = 0-0.0000 1.0000 3.0000 den = 1 0-3 2 tf2zp >> [z, p, k] = tf2zp(num, den) z = -3 p = -2.0000 1.0000 1.0000 k = 7

1 zp2tf >> [num, den] = zp2tf(z, p, k) num = 0 0 1 3 den = 1.0000 0.0000-3.0000 2.0000 2.2. Representação dos Sistemas Discretos Podemos utilizar as seguinte funções: - c2d Converte sistemas contínuos em sistemas discretos. - d2c Converte sistemas discretos em sistemas contínuos. - d2d Altera o tempo de amostragem de um sistema discreto. - filt Gera o sistema discreto a partir do numerador, do denominador e do tempo de amostragem. c2d A sintaxe desta função é; [sistema_discreto] = c2d(sistema_contínuo, tempo_de_amostragem, método) método pode ser: 'zoh', 'foh', 'tustin', 'prewarp', 'matched'. >> [sysd] = c2d(sys,1) % O tempo de amostragem é 1. Transfer function: 1.19 z^2 + 2.707 z - 0.06761 ----------------------------- z^3-5.572 z^2 + 8.125 z - 1 Sampling time: 1 d2c >> sysc = d2c(sysd) Transfer function: -8.877e-015 s^2 + s + 3 ------------------------------ s^3-2.442e-015 s^2-3 s + 2 >> %Note que -8.877e-015 e 2.442e-015 são aproximadamente 0. d2d >> sysd2 = d2d(sysd,2) Transfer function: 10.53 z^2 + 47.49 z + 2.09 ---------------------------- z^3-14.8 z^2 + 54.87 z - 1 8

Sampling time: 2 9

3. Análise da Resposta Transitória de Sistemas Contínuos no Tempo 3.1. Resposta ao Degrau Para verificarmos a resposta transitória ao degrau de um sistema utilizamos a função step. Nessa função podemos entrar com os sistemas criados pelas funções tf, zpk ou ss. Podemos também entrar direto com o numerador e o denominador da função de transferência ou direto com os termos das equações de estado. Exemplo: Considere o sistema >> num = [0 0 1]; >> den = [1 0.5 1]; A resposta ao degrau será: >> step(num,den) podemos inserir outro gráfico na mesma janela. >> hold %Congela o gráfico Current plot held >> num = [0 0 1]; >> den = [1 0.5 4]; >> step(num,den) >> hold Current plot released 10

Caso seja necessária a construção de gráficos diferentes podemos requisitar o retorno da função step. Nesse caso o gráfico não aparece, sendo necessário a utilização de outra função de plotagem (plot, bar, stairs...). >> num = 1; den = [1 0.5 1]; %O mesmo sistema do exemplo anterior >> [y,t] = step(tf(num,den)); >> plot(t,y,'r--'); %Gráfico vermelho tracejado. 11

3.2. Resposta ao Impulso Para verificarmos a resposta transitória ao impulso de um sistema utilizamos a função impulse. Nessa função, assim como na função step, podemos entrar com os sistemas criados pelas funções tf, zpk ou ss. Podemos também entrar direto com o numerador e o denominador da função de transferência ou direto com os termos das equações de estado. Utilizando o mesmo exemplo anterior: >> num = 1; den = [1 0.5 1]; %O mesmo sistema do exemplo anterior >> impulse(num,den); Assim como na resposta ao degrau pode-se obter os valores ao invés do gráfico. 3.3. Resposta a Rampa Para obter a resposta a rampa multiplicamos o sistema por 1/s e utilizamos a reposta ao degrau. Assim para o mesmo o sistema anterior fazemos: >> num = 1; den = [1 0.5 1 0]; % mesmo sistema multiplicado por 1/s >> t = 0:0.1:10; >> y = step(num, den, t); >> plot(t,y,t,t) 12

4. Análise da Resposta Transitória de Sistemas Discretos no Tempo Para se obter as respostas de sistemas discretos, pode-se utilizar as mesmas funções impulse e step inserindo na entrada o sistema e não o numerador e o denominador. Ex: step(sistema), e não step(num, den). Para entrar com o numerador e o denominador deve-se utilizar a função filter e gerar as funções entrada. 4.1. Geração das Funções de Entrada 4.1.1. Entrada Tipo Delta de Kronecker Esta entrada equivale ao impulso unitário para sistemas contínuos no tempo. Ela é definida pela expressão: u(0) = 1 u(k) = 0, para k = 1, 2, 3, 4,... Para construirmos no MATLAB com k até 60, por exemplo, fazemos: >> u = [1 zeros(1,60)]; 4.1.2. Entrada Tipo Degrau Esta entrada é definida pela expressão: u(k) = 1, para k = 0, 1, 2, 3, 4,... Para construirmos no MATLAB com k até 60, por exemplo, fazemos: >> u = [1 ones(1,60)]; 4.1.3. Entrada Tipo Rampa Esta entrada é definida pela expressão: u(k) = kt, para k = 0, 1, 2, 3, 4,... (T = período amostrado em segundo) Para construirmos no MATLAB com k até 60, por exemplo, fazemos: >> k = 0:60; u = 0.2.*k; 4.1.4. Entrada Tipo Aceleração Esta entrada é definida pela expressão: u(k) = ½ (kt) 2, para k = 0, 1, 2, 3, 4,... Para construirmos no MATLAB com k até 60, por exemplo, fazemos: >> k = 0:60; u = [0.5.*(0.2.*k).^2]; 13

4.2. Filtros Digitais Seja um filtro digital cuja função de transferência discreta é Y(z) b(z) = X(z) a(z) onde b(z) é o polinômio do numerador em z, e a(z) é o polinômio do denominador, também em z. Os comandos y = filter(b,a,x) ou y = filter(num,den,x) submetem os dados do vetor x ao filtro cujas características estão descritas pelos vetores a e b (den e num respectivamente), criando os dados filtrados y. Obs.: A função filter pertence ao Signal Processing Toolbox e não ao Control System Toolbox, mas pode ser utilizada aqui, pois equivale a transformada z inversa. 4.3. Resposta ao Delta de Kronecker Consideremos o seguinte sistema de controle discreto no tempo: 1 2 Y(z) 0,4673z 0,3393z 0,4673z 0,3393 = = 1 2 2 X(z) 1 1,5327z + 0,6607z z 1,5327z + 0,6607 Para encontra no MATLAB a respota y(k) ao Delta de Kronecker fazemos: >> num = [0.4673 0.3393]; >> den = [1 1.5327 0.6607]; >> x = [1 zeros(1,40)] % Criação do Delta de Kronecker >> y = filter(num, den, x); 4.4. Resposta ao Degrau >> num = [0.4673 0.3393]; >> den = [1 1.5327 0.6607]; >> x = ones(1,40); % Criação do degrau >> y = filter(num, den, x); 4.5. Resposta a Rampa >> num = [0.4673 0.3393]; >> den = [1 1.5327 0.6607]; >> x = 0.5.*(0:20); % Criação da rampa >> y = filter(num, den, x); 14

5. Análise pelos pólos e zeros Uma ferramenta interessante para análise de sistemas é o rltool, que consiste em uma interface gráfica que permite ao usuário fazer um chek-up completo de um sistema de forma bastante interativa. Essa ferramenta não será explicada neste material, mas isto não impede o leitor a dar uma olhadinha. 5.1. Gráfico do Lugar das Raízes (Root Lócus) Para construir o gráfico do lugar das raízes utilizamos a função rlocus. Supondo que temos um sistema Os comandos são: >> num = [1 0 1]; >> den = [1 2 0]; >> rlocus(num,den); >> grid G(s) = K(s 2 1) s(s ++ 2) 5.2. Mapa Pólo-Zero >> num = [1 0 1]; >> den = [1 2 0]; >> pzmap(num,den); % Desenha o mapa pólo-zero. >> grid 15

6. Resposta em Freqüência Como exemplo valor considerar o sistema: num = [0 1 5]; den = [1 0.5 1]; >> sistema = tf(num,den) Transfer function: s + 5 --------------- s^2 + 0.5 s + 1 As funções e os seus resultados são: Tipo Comando Resultado Diagrama de Bode >> bode(sistema); Valor Singulares (Equivale a resposta em amplitude do diagrama de bode) >> sigma(sistema); Diagrama de Nyquist >> nyquist(sistema); 16

Gráfico de Nichols >> nichols(sistema); Mostra o diagrama de Bode, mas indicando as margens de ganho e de fase. >> margin(sistema); 17