MATERIAL MA TERIAL SUP SUPLEME LEMENT NTAR AR PARA ACOMPANHAR ACOMPANHAR Sexta Edição
Engenharia de Sistemas de Controle
Norman S. Nise California State Polytechnic University, Pomona
Tradução e Revisão Técnica
Jackson Paul Matsuura Professor do Departamento de Sistemas e Controle do Instituto Tecnológico de Aeronáutica — ITA.
MATERIAL MA TERIAL SUP SUPLEME LEMENT NTAR AR PARA ACOMPANHAR ACOMPANHAR Sexta Edição
Engenharia de Sistemas de Controle
Norman S. Nise California State Polytechnic University, Pomona
Tradução e Revisão Técnica
Jackson Paul Matsuura Professor do Departamento de Sistemas e Controle do Instituto Tecnológico de Aeronáutica — ITA.
Este Material Suplementar contém os Apêndices E, F, G, H, I, J, K, L e M que podem ser usados como apoio para o livro Engenharia de Sistemas de Controle, Sexta Edição, 2012. Este material é de uso exclusivo de professores e estudantes que adquiriram o livro.
Material Suplementar Apêndices E, F, G, H, I, J, K, L e M traduzidos do material original: CONTROL SYSTEMS ENGINEERING, SIXTH EDITION Copyright © 2011, 2006, 2003, 1996 by John Wiley & Sons, Inc. All Rights Reserved. This translation published under license. ISBN: 978-0470-54756-4 Obra publicada pela LTC Editora:
ENGENHARIA DE SISTEMAS DE CONTROLE, SEXTA EDIÇÃO, 2012 Direitos exclusivos para a língua portuguesa Copyright ” 2012 by LTC — Livros Técnicos e Científcos Editora Ltda.
Uma editora integrante do GEN | Grupo Editorial Nacional Capa: ”Jim Stroup, Virginia Tech. Editoração Eletrônica:
Sumário
APÊNDICE E 1 APÊNDICE F 14 APÊNDICE G 24 APÊNDICE APÊND ICE H 31 APÊNDICE I 40 APÊNDICE J 43 APÊNDICE K 46 APÊNDICE L 48 APÊNDICE M 52
Apêndice E: Tutorial da Ferramenta de Interface Gráfica de Usuário (GUI) do MATLAB E.1 Introdução Os leitores que estão estudando o MATLAB podem explorar os recursos do visualizador LTI Viewer des-
te programa, o visualizador LTI Viewer Viewer do Simulink e a ferramenta de projeto SISO. SISO é um acrônimo para single-input single-output (sistemas (sistemas com uma única entrada e uma única saída). Antes de prosseguir o leitor deve ter estudado o Apêndice B, o Tutorial do MATLAB, incluindo a Seção B.1, que é aplicável a este apêndice. A versão 7.9 (R2009b) do MATLAB, MATLAB, a versão 8 da Toolbox Toolbox de Sistemas de Controle do MATLAB, a versão 7.4 do Simulink e a versão 3 do Projeto de Controle do Simulink são necessárias para que se possa utilizar as ferramentas descritas neste apêndice. Os arquivos M apresentados neste apêndice estão disponíveis em um endereço de Internet. Consulte o manual de instalação do MATLAB MATLAB para conhecer os requisitos mínimos de hardware necessários à sua plataforma para instalação.
E.2 O Visualizador LTI Viewer: Descrição O visualizador LTI representa um modo conveniente de se obter e visualizar os gráficos de resposta no domínio do tempo e no domínio da frequência das funções de transferência LTI, permitindo a obtenção de valores a partir desses gráficos. Em particular, alguns dos gráficos que o visualizador LTI pode gerar são as respostas ao degrau e ao impulso, os diagramas de Bode, de Nyquist, de Nichols e os diagramas de polos e zeros. Além disso, os valores dos pontos críticos desses gráficos podem ser apresentados com um clique do mouse. A Tabela E.1 mostra os pontos críticos disponíveis para cada diagrama ou gráfico.
E.3 Utilização do Visualizador LTI Viewer Nesta seção são fornecidas as etapas a serem seguidas para o uso do visualizador LTI LTI na construção dos gráficos
das respostas nos domínios do tempo e da frequência. Se você tiver algum problema, a ajuda está disponível na barra de menus da janela do visualizador LTI e na Barra de Status na região inferior da janela do visualizador LTI. A ajuda também está disponível a partir do menu de Ajuda na janela do MATLAB. MATLAB. Selecione a opção Full Family Product Help, em seguida Control System Toolbox e, então, Tool and Viewer Viewer Reference. A sequência a seguir resume as etapas a serem seguidas para se obter os gráficos com o visualizador LTI.
1. Acesse o visualizador LTI O visualizador LTI, mostrado na Figura E.1, pode ser acessado digitando d e comandos comand os do MATLAB ou executando este comando em um arquivo M. ltiview na janela de
Viewer do MATLAB MATLAB TABELA E.1 Pontos críticos disponíveis para cada gráfico do LTI Viewer
Valor de pico: tempo de pico ou frequência Degrau Impulso Bode Nyquist Nichols Polos e zeros
Tempo de Tempo assentamento de subida
•
•
•
•
•
Valor de regime estacionário
Margens de ganho/ Valor dos fase; frequências dos polos e dos zeros dB/180° zeros
•
•
•
•
•
•
•
•
1
2
Apêndice E
2. Crie funções de transferência LTI Crie as funções de transferência para as quais você deseja obter as respostas. As funções de transferência podem ser geradas em um arquivo M ou através da Janela de Comandos
3. 4.
5. 6.
7.
do MATLAB. Execute o arquivo M ou os comandos na Janela de Comandos do MATLAB para colocar a função de transferência no espaço de trabalho ( workspace) do MATLAB. Todos os objetos LTI no espaço de trabalho do MATLAB podem ser exportados para o visualizador LTI. Selecione as funções de transferência LTI para o visualizador LTI Escolha a opção Import ... sob o menu File na janela do LTI Viewer e selecione todos os objetos LTI cujas respostas você deseja exibir no visualizador LTI durante a seção corrente. Selecione os objetos LTI para o próximo gráfico de respostas Clique com o botão direito do mouse na área do gráfico do visualizador LTI para obter um menu instantâneo, conforme indicado na Figura E.1. Sob a opção Systems, selecione ou desative os objetos cujos gráficos você deseja ou não mostrar no visualizador LTI. Podem ser selecionadas diversas funções de transferência LTI. Selecione o tipo de gráfico Clique no botão direito do mouse em qualquer lugar da área do gráfico do visualizador LTI para obter um menu conforme indicado na Figura E.1. Sob a opção Plot Type, selecione o tipo de gráfico ou diagrama que você deseja exibir no visualizador LTI. Selecione as características Clique no botão direito do mouse em qualquer lugar da área do gráfico do visualizador LTI para mostrar um menu conforme indicado na Figura E.1. Sob a opção Characteristics, selecione as características do gráfico ou diagrama que você deseja que sejam exibidas. Podem ser selecionadas diversas características. Para cada característica escolhida, um ponto será colocado sobre o gráfico no local apropriado. Interaja com o Gráfico ou Diagrama:
Zoom in Selecione o ícone Zoom In (com o sinal +) na barra de ferramentas. Mantenha o botão do mouse apertado e escorregue o sinal do mouse sobre a área que você deseja ampliar. Libere o botão do mouse. Você também pode clicar com o mouse. Cada clique amplia o conteúdo da tela. Zoom out Selecione o ícone Zoom Out (com o sinal –) na barra de ferramentas. Clique sobre o gráfico. Cada clique propicia um maior alcance da vista. Grade Selecione a opção Grid no menu instantâneo com o botão direito do mouse para ativar ou desativar a grade. O botão direito do mouse não opera caso esteja selecionada alguma opção de zoom na barra de ferramentas. Normalize Selecione a opção Normalize com o botão direito do mouse no menu instantâneo para normalizar todas as curvas que aparecem na vista. Vista plena Selecione a opção Full View com o botão direito do mouse no menu instantâneo para retornar à vista plena do gráfico após a operação de zoom. Características Leia os valores das características posicionando o mouse sobre o ponto desejado do gráfico. Propriedades Selecione a opção Properties com o botão direito do mouse no menu instantâneo para alterar a aparência do gráfico. Você pode alterar o título, os títulos dos eixos, os limites dos eixos x e y, a dimensão, o estilo e a cor das fontes, e as definições das características das respostas. Coordenadas e curva Mantenha o mouse Menu instantâneo ao clicar com o sobre qualquer ponto de uma curva e clique botão direito do mouse sobre o gráfico no botão esquerdo para ler a identificação e as coordenadas do sistema. Inserção de Textos e Gráficos Sob a aba File, selecione a opção Print to Figure. A barra de ferramentas dessa figura possui ferramentas adicionais para a inserção de textos, setas e linhas. Recursos adicionais de edição de gráficos O menu sob a aba Edit do LTI Viewer e as figuras criadas pela seleção da opção Print to Figure oferecem uma grande variedade de controles sobre a apresentação de FIGURA E.1 Visualizador LTI mostrando o menu instantâneo aberto ao se clicar um gráfico. com o botão da direita do mouse sobre o gráfico.
Tutorial da Ferramenta de Interface Gráfica de Usuário (GUI) do MATLAB
E.4 Exemplos de Utilização do LTI Viewer Esta seção apresenta cinco exemplos de utilização do visualizador LTI Viewer extraídos dos Capítulos 4, 10 e 13. Os exemplos apresentam os arquivos M juntamente com as janelas resultantes do LTI Viewer.
Exemplo E.1 Respostas ao degrau Este exemplo, extraído do Exemplo 4.8 do texto, mostra a utilização do LTI Viewer para a apresentação simultânea de três respostas ao degrau, bem como os correspondentes tempo de pico, tempo de assentamento, tempo de subida e valores de regime estacionário. São seguidas as etapas listadas na Seção E.3. Acesse o LTI Viewer e crie os objetos LTI Siga as Etapas (1) e (2) da Seção E.3 para acessar o LTI Viewer e gerar as funções de transferência LTI. A Figura E.2(a) mostra o arquivo M utilizado para gerar as três funções de transferência. Selecione as funções de transferência cujas respostas devam ser visualizadas Depois de executar o arquivo M, siga as Etapas (3) e (4) da Seção E.3 e selecione T1, T2 e T3. Selecione o tipo de gráfico Siga a Etapa (5) da Seção E.3 e selecione Step. Selecione as Características Siga a Etapa (6) da Seção E.3 e selecione Peak Response (Valor de Pico da Resposta), Settling Time (Tempo de Assentamento), Rise Time (Tempo de Subida) e Stead State (Regime Estacionário). Interaja com o gráfico Siga a Etapa (7) da Seção E.3 e interaja com o gráfico. Em particular, leia o valor de pico e o tempo de pico da resposta ao degrau do sistema T3. A Figura E.2( b) mostra a janela do LTI Viewer com as respostas e o valor de pico da amplitude, o sobrevalor percentual e o tempo de pico do sistema T3. 'Exemplo E.1' 'LTI Viewer para o Exemplo 4.8 do Capítulo 4' 'Resposta ao degrau' 'T1(s)' T1=tf(24.542,[1 4 24.542])
'T2(s)' T2=tf(245.42,conv([1 10],[1 4 24.542]))
'T3(s)' T3=tf(73.626,conv([1 3],[1 4 24.542])) ltiview
%Exibe título. %Exibe título. %Exibe título. %Exibe título. %Cria T1. %Exibe título. %Cria T2. %Exibe título. %Cria T3. %Ativa o LTI Viewer.
(a)
(b)
FIGURA E.2 Visualizador LTI Viewer utilizado para exibir a resposta ao degrau: a. Arquivo M; b. apresentação do LTI Viewer.
3
4
Apêndice E
Exemplo E.2 Diagrama de Nyquist e margens de ganho/fase Este exemplo, extraído do Exemplo 10.8 do texto, mostra a utilização do LTI Viewer para o traçado do Diagrama de Nyquist e a determinação da margem de ganho, da margem de fase, da frequência referente a zero dB e da frequência referente a 180°. Para criar este gráfico siga as Etapas de (1) a (4) da Seção E.3 utilizando o arquivo M mostrado na Figura E.3( a). Em seguida utilize o menu acionado com o botão direito do mouse e selecione Nyquist sob a opção Plot Type. Para obter as margens de ganho e de fase, bem como a frequência de margem de ganho e a frequência de margem de fase, utilize o menu acionado com o botão direito do mouse e selecione All Stability margins sob a opção Characteristics. A Figura E.3( b) mostra a janela resultante do LTI Viewer. A margem de ganho e a frequência de 180° do sistema são exibidas juntamente com a margem de fase e a frequência de zero dB.
'Exemplo E.2' %Exibe título. 'LTI Viewer para o Exemplo 10.8 do Capítulo 10' %Exibe título. 'Diagrama de Nyquist' %Exibe título. nung=6; %Cria o numerador de G(s). deng=conv([1 2],[1 2 2]); %Cria o denominador de G(s). 'G(s)' %Exibe título. G=tf(nung,deng) %Cria e exibe G(s). ltiview %Ativa o LTI Viewer
(a)
(b)
FIGURA E.3 Visualizador LTI Viewer utilizado no traçado do diagrama de Nyquist: a. Arquivo M; b. apresentação do LTI Viewer.
Tutorial da Ferramenta de Interface Gráfica de Usuário (GUI) do MATLAB
Exemplo E.3 Diagramas de Bode e margens de ganho e de fase Este exemplo, extraído do Exemplo 10.10 do texto, mostra a utilização do visualizador LTI Viewer no traçado de um diagrama de Bode e na determinação da margem de ganho, da margem de fase, da frequência referente a zero dB e da frequência referente a 180°. Para criar este diagrama siga as Etapas de (1) a (4) da Seção E.3 utilizando o arquivo M mostrado na Figura E.4( a). Em seguida, utilize o menu obtido clicando o botão direito do mouse e selecione Bode sob a opção Plot Type. Para determinar as margens de ganho e de fase, bem como as frequências de margem de ganho e de margem de fase, acione All Stability margins no menu instantâneo com o botão direito do mouse selecionando a opção Characteristics. Utilize o menu acionado com o botão direito do mouse e selecione Grid. A Figura E.4(b) mostra a janela resultante do LTI Viewer. A margem de fase e a frequência de 0 dB do sistema são exibidas juntamente com a frequência de margem de ganho e a frequência de 180°. Como o Exemplo 10.10 utilizou aproximações assintóticas para determinar as características, como margem de ganho e
margem de fase, haverá alguma discrepância entre as características obtidas utilizando o LTI Viewer, o qual utiliza a resposta em frequência exata, e os resultados do Exemplo 10.10.
'Exemplo E.3' %Exibe título. 'LTI Viewer para o Exemplo 10.10 do Capítulo 10' %Exibe título. 'Diagrama de Bode' %Exibe título. nung=200; %Cria o numerador de G(s). deng=poly([–2 –4 –5]); %Cria o denominador de G(s). 'G(s)' %Exibe título. G=tf(nung,deng) %Cria e exibe G(s). ltiview %Ativa o LTI Viewer
(a)
(b)
FIGURA E.4 Visualizador LTI Viewer utilizado no traçado do diagrama de Bode: a. Arquivo M; b. apresentação do LTI Viewer.
5
6
Apêndice E
Exemplo E.4 Diagramas de Nichols e margens de ganho e de fase Este exemplo, que reproduz a Figura 10.47 apresentada no texto, mostra a utilização do LTI Viewer no traçado de um diagrama de Nichols e na determinação da margem de ganho, da margem de fase, da frequência referente a zero dB e da frequência referente a 180°. Para criar este diagrama siga as Etapas de (1) a (4) da Seção E.3 utilizando o arquivo M mostrado na Figura E.5(a). Em seguida, utilize o menu obtido clicando o botão direito do mouse e selecione Nichols sob a opção Plot Type. Para determinar as margens de ganho e de fase, bem como as frequências de margem de ganho e de margem de fase, acione All Stability margins no menu instantâneo com o botão direito do mouse selecionando a opção Characteristics. Utilize o menu acionado com o botão direito do mouse e selecione Grid. Finalmente, selecione Zoom In na barra de ferramentas e arraste o mouse sobre uma região do diagrama de Nichols para criar a vista ampliada mostrada na Figura E.5( b). A Figura E.5(b) também mostra os pontos para os quais as margens de ganho e de fase e as frequências podem ser lidas.
'Exemplo E.4' %Exibe título. 'LTI Viewer para a Figura 10.47 do Capítulo 10' %Exibe título. 'Carta de Nichols' %Exibe título. nung=1; %Cria o numerador de G(s). deng=poly([0 –1 –2]); %Cria o denominador de G(s). 'G(s)' %Exibe título. G=tf(nung,deng) %Cria e exibe G(s). ltiview %Ativa o LTI Viewer
(a)
(b)
FIGURA E.5 Visualizador LTI Viewer utilizado no traçado do diagrama de Nichols: a. Arquivo M; b. apresentação do LTI Viewer.
Tutorial da Ferramenta de Interface Gráfica de Usuário (GUI) do MATLAB
7
Exemplo E.5 Resposta ao degrau de sistemas digitais Este exemplo mostra a utilização do LTI Viewer na geração das respostas ao degrau de sistemas digitais. Para gerar esses gráficos siga as Etapas de (1) a (4) da Seção E.3 utilizando o arquivo M mostrado na Figura E.6(a). Em seguida, utilize o menu obtido clicando o botão direito do mouse e selecione Step sob a opção Plot Type. A Figura E.6(b) mostra a janela LTI
Viewer com a resposta ao degrau.
'Exemplo E.5' 'LTI Viewer para do Capítulo 13' 'Resposta ao degrau de um sistema digital' 'G(z)' G=tf([1 –0.214],[1 –0.607],0.5)
'T(z)' T=G/(1+G)
ltiview
%Exibe título. %Exibe título. %Exibe título. %Exibe título. %Cria uma função de transferência amostrada. %Exibe título. %Calcula a função de transferência amostrada %para um sistema amostrado em malha fechada com %realimentação unitária. %Ativa o LTI Viewer.
(a)
(b)
FIGURA E.6 Visualizador LTI Viewer utilizado na geração da resposta ao degrau de um sistema digital: a. Arquivo M; b. apresentação do LTI Viewer.
E.5 O Simulink e o Visualizador LTI Viewer Os leitores que utilizam o Simulink podem usar o visualizador LTI Viewer para obter as respostas e suas características diretamente através dos modelos Simulink. Todos os gráficos e características de resposta disponíveis para o leitor no LTI Viewer utilizando funções de transferência geradas no MATLAB e colocadas na área de trabalho do MATLAB estarão disponíveis através do modelo Simulink. Quaisquer blocos não lineares presentes
no modelo Simulink são linearizados pelo Visualizador LTI Viewer do Simulink antes da apresentação de uma curva de resposta solicitada. Você será capaz de:
1. Estabelecer um ponto de seu modelo Simulink onde o sinal de entrada será aplicado. 2. Estabelecer pontos de saída de seu modelo Simulink onde as respostas devam ser obtidas. 3. Especificar condições de operação, tais como condições iniciais e valores de entrada.
8
Apêndice E
E.6 Utilização do Visualizador LTI Viewer com o Simulink Nesta seção são apresentadas as etapas a serem seguidas na utilização do visualizador LTI Viewer com o Simulink. A barra do menu da janela do MATLAB disponibiliza uma aba de auxílio. Sob a aba Help selecione Full Product Help. Quando a tela de auxílio for exibida, selecione Simulink Control Design sob a opção Contents . O auxílio também está disponível a partir da aba Help na barra de menu da janela Control and
Estimation Tools Manager. A partir do Help selecione Simulink Control Design Help. A relação a seguir resume as etapas a serem atendidas para se utilizar o LTI Viewer com o Simulink. O sistema do Exemplo C.3 é utilizado como ilustração. 1. Acesse um Modelo Simulink. Inicie com a janela do modelo Simulink mostrada na Figura E.7. 2. Defina a entrada e a saída do modelo a ser analisado. Clique no ponto onde a entrada deve ser aplicada. Clique no botão direito do mouse com este sobre o Somador ponto selecionado e escolha Linearization Point e, na sequência, Input Point Ganho Osciloscópio Saturação Degrau Motor, carga no submenu. Em seguida, clique sobre o ±5 volts 10 volt & sistema de ponto para visualizar a saída. Clique no transmissão botão direito do mouse com este sobre o ponto selecionado e escolha Linearization Point e, na sequência, Output (apDsec6) Exemplo C.3: Simulação de um sistema com realimentação Point no submenu. Os pontos de entradotado de uma não linearidade da e de saída são mostrados no modelo Simulink da Figura E.7. 3. Linearize o modelo. Sob o menu Tools, selecione Control Design seguido por Linear Analysis... Em resposta, o MATLAB abre a janela Control and Estimation Tools Manager, Figura E.8. 4. Especifique as condições de operação. Qualquer bloco não linear presente FIGURA E.7 Janela do modelo Simulink mostrando Input Point e Output Point. no modelo Simulink deve ser linearizado em relação a um ponto de equilíbrio. O ajuste automático para os pontos de equilíbrio refere-se aos valores iniciais utilizados no modelo Simulink. Normalmente esses valores são iguais a zero, a menos que sejam alterados no modelo Simulink. Assim, ao se concordar com as condições iniciais preestabelecidas como default passa-se imediatamente à Etapa 5. Entretanto, caso precise alterar as condições iniciais selecione Default Operating Point no painel externo do lado esquerdo da janela Control and Estimation Tools Manager e modifique o valor desejado. Consulte a aba Help para mais detalhes. 5. Ative o visualizador LTI Viewer. Certifique-se de que a opção Linearization Task esteja selecionada no painel externo do lado esquerdo da janela Control and Estimation Tools Manager . Selecione Plot linear analysis result in a step response e clique Linearized Model no botão da janela. Em resposta, o LTI Viewer exibirá a resposta ao degrau, Figura E.9. FIGURA E.8 Janela Control and Estimation Tools Manager. apDsec6/Somador
apDsec6/ Motor, carga & sistema de transmissão
Tutorial da Ferramenta de Interface Gráfica de Usuário (GUI) do MATLAB
FIGURA E.9 Resposta do Visualizador LTI Viewer com Simulink após a seleção da opção Linearize Model a partir da janela Control and Estimation Tools Manager.
E.7 A Ferramenta de Projeto SISO: Descrição A ferramenta de projeto SISO é uma forma conveniente e intuitiva de se obter, observar e interagir com o lugar geométrico das raízes e com os diagramas de Bode de um sistema. Essa ferramenta também possui a opção de uso de um diagrama de Nichols, que pode ser selecionado sob o menu View. Depois de a ferra-
menta gerar esses gráficos você pode fazer o seguinte com o lugar geométrico das raízes: (1) arrastar os polos em malha fechada ao longo do lugar geométrico e ler o ganho, a fração de amortecimento, a frequência natural e a localização do polo; (2) observar alterações intermediárias nos diagramas de Bode e (3) observar mudanças imediatas na resposta em malha fechada do sistema através da janela LTI Viewer for SISO Design Tool. Você pode inserir polos, zeros e compensadores, os quais podem ser alterados interativamente para se verificar os efeitos imediatos no lugar geométrico das raízes, nos diagramas de Bode e na resposta no domínio do tempo. Você pode fazer o seguinte com os diagramas de Bode: (1) realizar uma alteração de ganho movendo a curva de magnitude de Bode para cima e para baixo e lendo o ganho, a margem de ganho, a frequência de margem de ganho, a margem de fase, a frequência de margem de fase e se a malha é estável ou não; (2) observar as alterações imediatas no lugar geométrico das raízes e (3) observar as mudanças imediatas na resposta em malha fechada do sistema através da janela LTI Viewer for SISO Design Tool . Você pode inserir pólos, zeros e compensadores, os quais podem ser alterados interativamente para se verificar os efeitos imediatos nos diagramas de Bode, no lugar geométrico das raízes e na resposta no domínio do tempo. Finalmente, você pode inserir no lugar geométrico das raízes ou no diagrama de Bode restrições de projeto, as quais serão exibidas no gráfico correspondente.
E.8 Utilização da Ferramenta de Projeto SISO Nesta seção são apresentadas as etapas a serem seguidas para se utilizar a Ferramenta de Projeto SISO. Se você tiver alguma dúvida consulte o auxílio (help) selecionando SISO Design Tool Help sob a janela SISO Design for SISO Design Task no menu Help. O auxílio por contexto sensitivo também está disponível. Selecione o ícone de contexto sensitivo (a seta e o ponto de interrogação) na janela SISO Design for SISO
Design Task, mova-o até o item na janela SISO Design for SISO Design Task sobre o qual você tem alguma dúvida, e clique. A explicação aparecerá na janela Help. O Help também está disponível na Barra de Status (Status Bar) na região inferior da janela SISO Design Tool . Finalmente, setas de orientação de telas estão disponíveis nos botões da barra de ferramentas. Deixe o ponteiro do mouse em repouso sobre o botão
9
10
Apêndice E
FIGURA E.10 Janela SISO Design for SISO Design Task.
por alguns segundos para ver a explicação. A lista a seguir resume as tarefas a serem utilizadas com a Ferramenta de Projeto SISO.
1. Acesso do SISO Design Tool A janela SISO Design for SISO Design Task mostrada na Figura E.10 pode ser acessada digitando sisotool na Janela de Comandos do MATLAB ou executando este comando em um arquivo M. 2. Criação de funções de transferência LTI Crie funções de transferência LTI de sistemas em malha aberta para as quais você deseja analisar as características em malha fechada ou projetar compensadores. As funções de transferência podem ser criadas em um arquivo M ou na Janela de Comandos do MATLAB. Execute o arquivo M ou os comandos na Janela de Comandos do MATLAB para colocar as funções de transferência na área de trabalho do MATLAB. Todos os objetos LTI presentes na área de trabalho podem ser exportados para a Ferramenta de Projeto SISO. Para exemplificar, executa-se um arquivo M e gera-se o objeto LTI para a função G(s) = (s + 8)/[(s + 3)(s + 6)(s + 10)]. 3. Criação do modelo em malha fechada para a Ferramenta de Projeto SISO Escolha Import... sob o menu File na janela SISO Design for SISO Design Task para exibir a janela System Data mostrada na Figura E.11(a). Digite a função de transferência LTI na coluna Data. De modo alternativo, clique no botão Browse... e selecione a função que você deseja analisar na janela Model Import resultante mostrada na Figura E.11( b). Clique Import na janela Model Import. Clique OK na janela System Data. 4. Interaja com a Ferramenta de Projeto SISO Depois de fechar a janela System Data, a janela SISO Design for SISO Design Task apresentará o lugar geométrico das raízes e os diagramas de Bode para o sistema, conforme mostrado na Figura E.12. Você pode agora adicionar a janela à sua área de trabalho ( desktop), de onde você pode verificar imediatamente as respostas em malha fechada conforme você realiza mudanças no lugar geométrico das raízes ou no diagrama de Bode. Sob o menu Analysis, selecione a resposta desejada a ser aberta na janela LTI Viewer for SISO Design Task. Certifique-se de clicar no botão direito do mouse sobre a área do LTI Viewer for SISO Design Task e escolha a opção Systems para exibir a resposta do sistema que você deseja. Veja as seções de Tarefas anteriores deste apêndice para informações sobre o LTI Viewer . Alteração do Ganho Você pode alterar o ganho da malha de três formas distintas. (1) Prender e arrastar um polo em malha fechada (quadrados vermelhos) sobre o lugar geométrico das raízes. Quando a seta do cursor mudar para uma mão, mantenha pressionado o botão esquerdo do mouse e arraste o polo em malha fechada
Tutorial da Ferramenta de Interface Gráfica de Usuário (GUI) do MATLAB
ao longo do lugar geométrico das raízes. Você perceberá mudanças imediatas no diagrama de Bode e na resposta em malha fechada na janela LTI Viewer for SISO Design Task . O valor do ganho será exibido na barra de status (Status Bar) na região inferior da janela SISO Design for SISO Design Task. (2) O ganho de malha também pode ser alterado posicionando o cursor sobre o diagrama de Bode de magnitude quando ele se alterar para uma mão. Mantenha pressionado o botão esquerdo do mouse e arraste a curva de magnitude de Bode para cima ou para baixo. Você perceberá mudanças imediatas no lugar geométrico das raízes e na resposta em malha fechada. (3) Finalmente, o ganho também pode ser alterado escolhendo-se a opção Designs na barra de menu do
SISO Design for SISO Design Task e selecionando-se a opção Edit Compensator... Quando a janela Control and Estimation Tools Manager for exibida, digite o ganho desejado na seção Compensator 5. Observe que
(a)
(b)
FIGURA E.11 a. Janela System Data; b. Janela Model Import.
FIGURA E.12 Janela SISO Design for SISO Design Task.
11
12
Apêndice E
ao alterar o ganho você pode ler as margens de ganho e de fase e as frequências de margem de ganho e de fase na região inferior dos diagramas de Bode de magnitude e de fase. Na região inferior do diagrama de Bode de magnitude também é dito se o sistema em malha fechada é ou não estável. Grade Você pode ativar e desativar grades ao lugar geométrico das raízes e ao diagrama de Bode clicando no botão direito do mouse sobre as respectivas janelas e ativando ou desativando a opção Grid. As grades do lugar geométrico das raízes são referentes à fração de amortecimento e à frequência natural. Zoom Veja as instruções para o zoom na Seção E.3, Utilização do Visualizador LTI Viewer. Restrições de projeto Você pode adicionar contornos de projeto em seus gráficos. Por exemplo, se você deseja um tempo de assentamento inferior a 2 s, uma barra cinza imediatamente à direita de –2 indicará o limite para aquela região do lugar geométrico das raízes além da qual o tempo de assentamento não atenderá o requisito. Essa restrição pode ser selecionada clicando no botão direito do mouse, com este sobre o respectivo gráfico, e selecionando a opção Design Requirements. Indique se você deseja implementar uma Nova ( New...) restrição ou deseja editar ( Edit...) uma restrição existente. As restrições também podem ser editadas sobre os gráficos. Posicione o cursor no contorno da restrição. Quando ele retornar com uma seta com quatro orientações você pode arrastar o contorno para uma nova posição. Os valores das restrições são exibidos na Barra de Status na região inferior dos gráficos. Propriedades Clicando no botão direito do mouse quando este está sobre a janela de um gráfico e selecionando a opção Properties... a janela Property Editor será exibida. A partir dessa janela você pode controlar algumas propriedades do gráfico, como títulos e limites dos eixos. Existem outras opções disponíveis. Por exemplo, você pode alterar a grade da fração de amortecimento para mostrar o sobrevalor percentual clicando no botão direito do mouse na janela do lugar geométrico das raízes e selecionando Properties... Mais uma vez a janela Property Editor será exibida. Clique em Options e selecione Display damping values as % peak overshoot (Exibição da fração de amortecimento como um percentual do sobrevalor). Você pode explorar outras opções disponíveis para o lugar geométrico das raízes e para os diagramas de Bode. Inserção de polos, zeros e compensadores
Polos e zeros podem ser adicionados a partir da barra de tarefas
da janela SISO Design Tool mostrada na Figura E.13. Utilize a barra de tarefas SISO Design for SISO Design
Task e selecione o compensador desejado. Seu cursor mostra o compensador que foi selecionado. Aponte a
seta do cursor para o ponto sobre o lugar geométrico das raízes ou sobre o diagrama de Bode onde você deseja adicionar o compensador e clique. O compensador é mostrado na janela Control and Estimation Tools Manager sob a opção Compensator Editor. O efeito da adição do compensador é imediatamente percebida no lugar geométrico das raízes, nos diagramas de Bode e na janela LTI Viewer for SISO Design Task . Você pode alterar o modo pelo qual o compensador é representado utilizando a opção SISO TOOL Preferences... sob o menu Edit. Selecione Options e escolha o formato do compensador desejado. Edição de compensadores
Os valores do polo e do zero dos compensadores podem ser editados de
várias maneiras. (1) Coloque o cursor sobre um zero ou um polo do compensador no lugar geométrico das raízes ou no diagrama de Bode. Quando o cursor mudar para uma mão, mantenha o botão esquerdo do mouse pressionado e arraste o polo ou o zero selecionado para sua nova posição. (2) Escolha a opção Designs seguida de Edit Compensator... na barra de menu da janela SISO Design for SISO Task. Em resposta o MATLAB produzirá o Control and Estimation Tools Manager . Sob a aba Compensator Editor você
pode digitar uma outra localização para os zeros e os polos do compensador. (3) Os polos e zeros podem ser eliminados utilizando a borracha da barra de ferramentas apresentada na Figura E.13. Selecione a borracha com o mouse e clique sobre o polo ou zero que você deseja eliminar. O efeito da edição do compensador é imediatamente percebido no lugar geométrico das raízes, no diagrama de Bode e na janela LTI Viewer for SISO Design Task. Outras opções e janelas Existem outras opções e janelas disponíveis que podem ser importantes para a fase de projeto. Você deve explorar outros itens do menu não discutidos nesta seção.
FIGURA E.13 Janela SISO Design for SISO Design Task.
Tutorial da Ferramenta de Interface Gráfica de Usuário (GUI) do MATLAB
Resumo Este apêndice descreveu três ferramentas de interface gráfica para usuário (GUI) do MATLAB: o visualizador LTI Viewer, o visualizador LTI Viewer do Simulink e a Ferramenta de Projeto SISO. Descreveu-se como utilizar o LTI Viewer do MATLAB para se obter os gráficos de respostas nos domínios do tempo e da frequência, bem como os pontos críticos desses gráficos, para funções de transferência presentes na área de trabalho do MATLAB. Foram apresentados diversos exemplos abordando respostas ao degrau de
sistemas contínuos e amostrados, diagramas de Nyquist, diagramas de Bode e cartas de Nichols. Além disso, várias preferências que não foram descritas estão disponíveis na opção Edit no menu do LTI Viewer. Com esse menu, escolha Plot Configurations... para selecionar uma disposição de respostas. A opção Line Styles... permite alterar a ordem das cores, dos marcadores e do estilo das linhas. O leitor interessado
pode consultar as referências da Toolbox de Sistemas de Controle listadas na Bibliografia deste apêndice para mais detalhes sobre as opções não cobertas neste apêndice, bem como instruções adicionais sobre o visualizador LTI Viewer. O LTI Viewer do Simulink estende a aplicação do LTI Viewer aos diagramas do Simulink. Os modelos em Simulink são linearizados antes da apresentação das curvas de resposta através do LTI Viewer do Simulink. Você pode posicionar os pontos de entrada e de saída em qualquer local apropriado no diagrama Simulink.
Você pode realizar alterações no diagrama Simulink e, simultaneamente, exibir a resposta de cada modelo no LTI Viewer do Simulink. A Ferramenta de Projeto SISO representa uma forma conveniente e intuitiva de se obter, visualizar e interagir com o lugar geométrico das raízes, o diagrama de Bode e o diagrama de Nichols de um sistema. Você pode mover os polos em malha fechada ao longo do lugar geométrico das raízes e ler imediatamente os valores do ganho, a localização dos polos em malha fechada e as características de desempenho. Além disso, você pode verificar as mudanças na resposta em frequência em malha fechada, bem como a resposta em malha fechada se você abrir o ambiente LTI Viewer for SISO Design Task. O ganho também pode ser ajustado através dos
diagramas de resposta em frequência em malha aberta, e o efeito pode ser percebido imediatamente no lugar geométrico das raízes e nas respostas em malha fechada. Finalmente, você pode inserir compensadores e verificar imediatamente seus efeitos no lugar geométrico das raízes, nos diagramas de resposta em frequência do sistema em malha aberta e nas respostas em malha fechada. Concluindo, deve ser ressaltado que os resultados obtidos a partir da ferramenta GUI podem ser diferentes daqueles obtidos pelas análises ao longo dos capítulos. Por exemplo, a ferramenta GUI utiliza diagramas de
resposta em frequência não assintóticos na obtenção dos resultados, enquanto no processo de análise e projeto foram utilizados diagramas de Bode assintóticos. Outro exemplo é o tempo de assentamento. No Capítulo 4
aproximou-se o tempo de assentamento, de modo que ele foi medido no pico da resposta. Com a ferramenta GUI o tempo de assentamento real é utilizado, isto é, o tempo em que a curva pela primeira vez entra e permanece na faixa de 2%.
Bibliografia The MathWorks. Control System Toolbox TM & Getting Started Guide. The MathWorks, Natick, MA, 2000–2009. The MathWorks. MATLAB®7 Getting Started Guide. The MathWorks, Natick, MA, 1984–2009. The MathWorks. Simulink ®7 User’s Guide. The MathWorks, Natick, MA, 1990–2009. The MathWorks. Simulink ® Control DesignTM 3 Getting Started Guide. The MathWorks, Natick, MA, 2004–2010.
13
Apêndice F: Tutorial da Toolbox de Matemática Simbólica do MATLAB
F.1 Introdução Os leitores que estiverem estudando o programa MATLAB podem explorar os recursos adicionais da Toolbox de Matemática Simbólica do MATLAB. Antes de prosseguir o leitor deve estudar o Apêndice B, Tutorial do Programa MATLAB, incluindo a Seção B.1, que é aplicável a este apêndice. Para se acrescentar o processamento matemático simbólico aos arquivos M, são necessárias a Versão 5.3 da Toolbox de Matemática Simbólica do MATLAB, a Versão 7.9 (R 2009b) do MATLAB e a Versão 8.4 da Toolbox de Sistemas de Controle. Os arquivos M apresentados neste apêndice estão disponibilizados na Internet. Os comandos de matemática simbólica são utilizados nos arquivos M do MATLAB juntamente com os comandos padronizados do MATLAB. O único requisito adicional consiste em declarar as variáveis simbólicas antes de utilizá-las com o comando syms x1 x2 ..., em que xi são variáveis simbólicas. Alguns dos recursos adicionais que a Toolbox de Matemática Simbólica fornece para análise e projeto de sistemas de controle incluem:
1. As funções e equações podem ser introduzidas na forma simbólica. Isto é, podem ser utilizados caracteres alfanuméricos e numéricos nos arquivos M. Por exemplo, você pode digitar B = xˆ2+3*x+7, em vez de B = [1 3 7] . Você poderia ainda entrar com B = a*xˆ2+b*x+c e obter seus fatores como
2. As expressões simbólicas podem ser manipuladas algebricamente e simplificadas. 3. As funções de transferência podem ser digitadas de forma similar à sua escrita, tornando os arquivos M mais legíveis. Por exemplo, o comando G = (s+1)*(s+2)/[(sˆ2+3*s+10)*(s+4)] pode substituir os seguintes três comandos, numg = poly([-1 -2]), deng = conv([1 3 10],[1 4]) e G = tf(numg, deng) . 4. As transformadas de Laplace e z, bem como suas inversas, podem ser digitadas e calculadas na forma simbólica. 5. As funções podem ser exibidas na forma “impressão elegante” para maior clareza na Janela de comandos do MATLAB e na saída impressa. Essas são apenas algumas das vantagens de se utilizar a Toolbox de Matemática Simbólica. Este apêndice irá explorar outras. O leitor é encorajado a não parar de investigar essas vantagens ao final do Apêndice F, uma vez que existem muitos recursos além dos que aqui são apresentados. A bibliografia ao final deste apêndice
fornece algumas referências para investigações adicionais. O formato dos exemplos apresentados neste apêndice é idêntico ao utilizado no Apêndice B. Os programas que utilizam a linguagem simbólica adotam a designação: capítuloprograma simbólico, como, por exemplo, ch2ps3. Assim, esses programas podem ser diferenciados daqueles do Apêndice B pelo
14
uso de “ps” (programa simbólico) antes do número do programa, em vez de “p” (programa), ou seja, ch2 p3. Os exemplos da Toolbox de Matemática Simbólica são incluídos nos Capítulos 2, 3, 4, 6 e 13. Mesmo assim, o leitor deve aplicar o que aprendeu em outros capítulos.
Tutorial da Toolbox de Matemática Simbólica do MATLAB
F.2 Exemplos de Utilização da Toolbox de Matemática Simbólica Capítulo 2: Modelagem no Domínio da Frequência A capacidade de cálculo do MATLAB é consideravelmente ampliada com o uso da Toolbox de Matemática Simbólica. Neste exemplo demonstra-se sua capacidade calculando a transformada de Laplace inversa de F (s). O início de qualquer cálculo simbólico requer a definição dos objetos simbólicos. Por exemplo, a variável da transformada de Laplace, s, ou a variável tempo, t , devem ser definidas como objeto
simbólico. Esta definição é executada utilizando o comando syms . Assim, syms s define s como objeto simbólico; syms t define t como objeto simbólico; e syms s t define ambas as variáveis, s e t, como objetos simbólicos. É necessário definir apenas os objetos que serão utilizados como entrada no programa. As variáveis geradas pelo programa não precisam ser definidas. Portanto, para se obter a transformada de Laplace inversa precisa-se definir apenas s como um objeto simbólico, uma vez que t será um resultado dos cálculos. Uma vez definido o objeto pode-se digitar F como função de s como seria normalmente escrita. Não devem ser utilizados vetores para representar o numerador e o denominador. As transformadas de Lapla-
ce ou as funções do tempo também podem ser exibidas na Janela de Comandos do MATLAB (MATLAB Command Window) como normalmente seriam escritas. Esta forma é denominada impressão elegante. O comando é pretty(F) , onde F é a função que se deseja imprimir na forma elegante. No código a seguir pode-se verificar a diferença entre a saída normal e a saída elegante se você executar o código sem os pontos e vírgulas nos passos onde as funções, F ou f, são definidas. Se F tiver sido definida como F (s), será possível obter a transformada de Laplace inversa utilizando o comando ilaplace(F) . No exemplo a seguir as transformadas de Laplace inversas são obtidas das funções no domínio da frequência utilizadas nos Casos 2 e 3 da Seção 2.2 do texto. '(ch2ps1)' syms s 'Transformada de Laplace inversa' F=2/[(s+1)*(s+2)ˆ2]; 'F(s) para o Caso 2' pretty F f=ilaplace(F); 'f(t) para o Caso 2' pretty(f) F=3/[s*(sˆ2+2*s+5)]; 'F(s) para o Caso 3' pretty(F) f=ilaplace(F); 'f(t) para o Caso 3' pretty(f)
% % % % % % % % % % % % % % % % % % % % %
Exibe o título. Constrói objeto simbólico para a variável de Laplace 's'. Exibe o título. Define F(s) do exemplo do Caso 2. Exibe o título. Apresenta F(s) na forma elegante. Obtém a transformada de Laplace inversa. Exibe o título. Apresenta f(t) para o Caso 2 na forma elegante. Define F(s) do exemplo do Caso 3. Exibe o título. Apresenta F(s) para o Caso 3 na forma elegante. Obtém a transformada de Laplace inversa. Exibe o título. Apresenta f(t) para o Caso 3 na forma elegante.
pause
ch2ps2 Neste exemplo são determinadas as transformadas de Laplace de funções no domínio do tempo utilizando o comando
, onde é uma função no domínio do tempo, ( ). Como exemplo, são utilizadas
as funções no domínio do tempo resultantes dos cálculos nos Casos 2 e 3 da Seção 2.2 no texto, e se trabalha no sentido inverso para obter suas transformadas de Laplace. Será visto que o comando laplace(f) fornece F (s) em frações parciais. Além da impressão elegante, discutida no exemplo anterior, a Toolbox de Matemática Simbólica é dotada de outros comandos que podem alterar a aparência da legibilidade e da forma do resultado a ser apresentado. Alguns desses comandos são: collect(F) – reúne termos de F com coeficientes comuns; – expande o produto de fatores de ;
– fatora ;
– obtém a forma mais
simples de F com o menor número de termos; simplify(F) – simplifica F; vpa(expressão, casas decimais) – estabelecendo a aritmética de precisão variável (variable precision arithmetic), este comando converte termos simbólicos fracionários em termos com um número especificado de casas decimais. Por exemplo,
a fração simbólica 3/16 seria convertida em 0,1875 se o argumento casas decimais fosse 4. No exemplo a
15
16
Apêndice F
seguir, a transformada de Laplace é determinada a partir de uma função do tempo. O resultado é mostrado sob a forma de frações parciais. Para combinar as frações parciais é utilizado o comando simplify(F), onde F é a transformada de Laplace de f (t ) obtida através do comando laplace(f). Finalmente, F = vpa(F,3) é utilizado para converter as frações simbólicas em decimais no resultado a ser exibido. '(ch2ps2)' syms t
% Exibe o título. % Constrói o objeto simbólico % para a variável 't'. 'Transformada de Laplace' % Exibe o título. 'f(t) para o Caso 2' % Exibe o título. F=2*exp(-t)-2*t*exp(-2*t)-2*exp(-2*t); % Define f(t) do exemplo do Caso 2. pretty(f) % Apresenta f(t) do Caso 2 % na forma elegante. 'F(s) para o Caso 2' % Exibe o título. F=laplace(f); % Obtém a transformada de Laplace. pretty(F) % Forma elegante das frações parciais % de F(s) para o Caso 2. F=simplify(F); % Combina as frações parciais. pretty(F) % Forma elegante das frações parciais % combinadas. 'f(t) para o Caso 3' % Exibe o título. f=3/5-3/5*exp(-t)*[cos(2*t)+(1/2)*sin(2*t)]; % Define f(t) do exemplo do Caso 3. pretty (f) % Apresenta f(t) do Caso 3 na forma % elegante. 'F(s) para o Caso 3 – Frações simbólicas' % Exibe o título. F=laplace(f); % Obtém a transformada de Laplace. pretty(F) % Forma elegante das frações parciais % de F(s) para o Caso 3. 'F(s) para o Caso 3 – Representação decimal' % Exibe o título. F=vpa(F, 3); % Converte F(s) expressa em frações % numéricas simbólicas para % representação decimal % com três casas decimais. ptetty (F) % Forma elegante da representação % decimal. 'F(s) para o Caso 3 – Simplificada' % Exibe o título. F=simplify(F); % Combina as frações parciais. pretty(F) % Forma elegante das frações parciais % combinadas. pause
ch2ps3 A Toolbox de Matemática Simbólica do MATLAB pode ser utilizada, conforme mostrado a seguir, para simplificar a entrada de funções de transferência complicadas: inicialmente, entre com a função de transferência G(s) = por meio de comandos de matemática simbólica. Em seguida, converta G(s) em um objeto função de transferência LTI. Esta conversão é realizada em duas etapas. A primeira utiliza
o comando [numg,deng] = numden(G) para extrair o numerador e o denominador simbólicos de G. A segunda etapa converte, separadamente, o numerador e o denominador em vetores utilizando o comando
, onde é um polinômio simbólico. A última etapa consiste em formar um objeto função
de transferência LTI utilizando a representação vetorial do numerador e do denominador da função de transferência. Como exemplo, forma-se o objeto LTI G(s) = [54(s + 27)(s3 + 52s2 + 37 s + 73)] / [s(s4 + 872s3 + 437s2 + 89 s + 65)(s2 + 79 s + 36)] utilizando a Toolbox de Matemática Simbólica do MATLAB para simplificar e tornar a expressão mais legível. '(ch2ps3)' syms s
% Exibe o título. % Constrói objeto simbólico para % a variável de frequência 's'. G=54*(s+27)*(sˆ3+52*sˆ2+37*s+73) . . . /(s*(sˆ4+872*sˆ3+437*sˆ2+89*s+65)*(sˆ2+79*s+36));
Tutorial da Toolbox de Matemática Simbólica do MATLAB
'G(s) na forma simbólica' pretty(G) [numg,deng]=numden(G); numg=sym2poly(numg); deng=sym2poly(deng); 'G(s) LTI na Forma Polinomial' Gtf=tf(numg, deng) 'G(s) LTI na Forma Fatorada' Gzpk=zpk(Gtf) pause
% % % % % % % % % % % % % % %
Forma G(s) simbólica. Exibe o título. Apresenta G(s) simbólica na forma elegante. Extrai o numerador e o denominador simbólicos. Forma o vetor para o numerador de G(s). Forma o vetor para o denominador de G(s). Exibe o título. Forma e exibe o objeto LTI para G(s) na forma polinomial. Exibe o título. Converte G(s) para a forma fatorada.
ch2ps4 (Exemplo 2.10) A Toolbox de Matemática Simbólica pode ser utilizada na simplificação da solução das equações simultâneas empregando a Regra de Cramer. Um sistema de equações simultâneas pode ser representado na forma matricial por Ax = B, onde A é a matriz formada pelos coeficientes das incógnitas das equações simultâneas, x é um vetor contendo as incógnitas e B é um vetor contendo as entradas. A regra de Cramer estabelece que x k, o k-ésimo elemento do vetor solução, x, é obtido através de x k = det(Ak)/det(A), onde Ak é a matriz formada pela substituição da k-ésima coluna da matriz A pelo vetor de entradas, B. No texto, det( A) é designado por “delta”. No MATLAB as matrizes são escritas com um espaço ou uma vírgula separando os elementos no interior de cada linha. A linha seguinte é indicada por um ponto e vírgula ou por um retorno de carro. A matriz, como um todo, é delimitada por um par de colchetes. Aplicando os conceitos estabelecidos anteriormente à solução do Exemplo 2.10, tem-se: A = [(R1+L*s) -L*s; -L*s (L*s+R2+(1/(c*s)))] e Ak = [(R1+L*s) V;-L*s 0] . A função det(matriz) calcula o determinante do argumento matriz (uma matriz quadrada). Determina-se agora a função de transferência, G(s) = I 2(s)/ V( s), solicitada no Exemplo 2.10. O comando simple(S), onde S é uma função simbólica, é introduzido na solução. Este comando simplifica a solução encurtando o tamanho da expressão S. O uso de simple(I2) reduz a solução combinando os termos de mesma potência da variável de Laplace, s. '(ch2ps4) Exemplo 2.10' Syms s R1 R2 L c V
% Exibe o título. % Constrói objetos simbólicos para % a variável de frequência 's' e % 'R1', 'R2', 'L', 'c' e 'v'. % Nota: utiliza a letra minúscula % 'c' na declaração de % um capacitor. A2=[(R1+L*s) V;-L*s 0] % Forma Ak = A2. A=[(R1+L*s) -L*s;-L*s (L*s+R2+(1/(c*s)))] % Forma A. I2=det(A2)/det(A); % Utiliza a regra de Cramer para % calcular I2(s). I2=simple(I2); % Reduz a complexidade de I2(s). G=I2/V; % Forma a função de transferência % G(s) = I2(s)/V(s). 'G(s)' % Exibe o título. pretty(G) % Apresenta G(s) na forma elegante. pause
Capítulo 3: Modelagem no Domínio do Tempo
ch3ps1 (Exemplo 3.6) A Toolbox de Matemática Simbólica pode ser utilizada para efetuar operações com matrizes. O código para realizar essas operações é intuitivo e fácil de ler. As operações são: adição (+), subtração (–), inversão (^–1) e potenciação (^n) de matrizes. Essas operações são ilustradas resolvendo-se o Exemplo 3.6 do texto através do uso direto da Eq. (3.73). '(ch3ps1) Exemplo 3.6' syms s
% Exibe o título. % Constrói objeto simbólico para % a variável de frequência 's'.
17
18
Apêndice F
A=[0 1 0;0 0 1;-1 -2 -3]; B=[10;0;0]; C=[1 0 0]; D=0; I=[1 0 0;0 1 0;0 0 1]; 'T(s)' T=C*((s*I-A)ˆ-1)*B+D; pretty(T)
% % % % % % % % %
Cria a matriz A. Cria o vetor B. Cria o vetor C. Cria D. Cria a matriz identidade. Exibe o título. Obtém a função de transferência. Forma elegante da função de transferência.
pause
Capítulo 4: Resposta no Domínio do Tempo
ch4ps1 (Exemplo 4.11) Tendo em vista o recurso de efetuar operações com matrizes, a Toolbox de Matemática Simbólica se presta à solução da transformada de Laplace das equações de estado. Além disso, o comando permite obter os autovalores de uma matriz quadrada,
, os quais são os elementos da
diagonal da matriz diagonal, D. Este comando é utilizado na solução do Exemplo 4.11. '(ch4ps1) Exemplo 4.11' syms s 'a' A=[0 1 0;0 0 1;-24 -26 -9]; B=[0;0;1]; X0=[1;0;2]; U=1/(s+1); I=[1 0 0;0 1 0;0 0 1]; X=((s*I-A)ˆ-1)*(X0+B*U); x1=ilaplace(X(1)); x2=ilaplace(X(2)); x3=ilaplace(X(3)); y=x1+x2; y=vpa(y,3); 'y(t)' pretty(y) 'b' [V,D]=eig(A); 'Autovalores na diagonal' D pause
% % % % % % % % % % % % % % % % % % % % % % % %
Exibe o título. Constrói objeto simbólico para a variável de frequência 's'. Exibe o título. Cria a matriz A. Cria o vetor B. Cria o vetor com as condições iniciais, X(0). Cria U(s). Cria a matriz identidade. Obtém a transformada de Laplace do vetor de estado. Calcula X1(t). Calcula X2(t). Calcula X3(t). Calcula a saída y(t). Converte frações em decimais. Exibe o título. Forma elegante de y(t). Exibe o título. Obtém os autovalores, que são os elementos da diagonal de D. Exibe o título. Exibe D.
ch4ps2 (Exemplos 4.12/4.13) Neste exemplo a Toolbox de Matemática Simbólica é utilizada para resolver as equações de estado no domínio do tempo. Os recursos da Toolbox de Matemática Simbólica são explorados na realização da operação de integração. Inicialmente calcula-se a matriz de transição de estados através da
transformada de Laplace inversa de (s I – A)–1. Em seguida, a integral de convolução é utilizada para se obter a solução. A integração é efetuada utilizando o comando int(S,v,a,b) , onde S é a função a ser integrada, v é a variável de integração e a e b são, respectivamente, os limites inferior e superior de integração. O uso desse comando é ilustrado na solução do Exemplo 4.12 do texto. A matriz de transição de estados é obtida pelo método apresentado no Exemplo 4.13 no texto. '(ch4ps2) Exemplo 4.12/4.13' Syms s t tau 'a' A=[0 1;-8 -6] B=[0;1] X0=[1;0]
% % % % % % % % %
Exibe o título. Constrói objetos simbólicos para a variável de frequência 's', 't' 't' e 'tau'. Exibe o título. Cria a matriz A. Cria o vetor B. Cria o vetor com as condições iniciais X(0).
Tutorial da Toolbox de Matemática Simbólica do MATLAB
U=1 I=[1 0;0 1]; 'E=(s*I-A)ˆ-1' E=((s*I-A)ˆ-1) Fi11=ilaplace(E(1,1)); Fi12=ilaplace(E(1,2)); Fi21=ilaplace(E(2,1)); Fi22=ilaplace(E(2,2)); 'Fi(t)' Fi=[Fi11 Fi12;Fi21 Fi22]; pretty(Fi) Fitmtau=subs(Fi, t,t-tau); 'Fi (t-tau)' pretty (Fitmtau)
% % % % % % % % % % % % % % % % % % %
Cria u(t). Cria a matriz identidade. Exibe o título. Obtém a transformada de Laplace da matriz de transição de estado, (sI – A)ˆ-1. Obtém a transformada de Laplace inversa de cada elemento de (sI – A)ˆ-1 para obter a matriz de transição de estados. Exibe o título. Forma a matriz de transição de estados, Fi(t). Apresenta a matriz de transição de estados, Fi(t), na forma elegante. Forma Fi(t – tau). Exibe o título. Apresenta Fi(t – tau) na forma elegante.
% % % % %
Calcula x(t). Reúne termos semelhantes. Simplifica x(t). Exibe o título. Apresenta x(t) na forma elegante.
X=Fi*X0+int(Fitmtau*B*1, tau,0,t); X=simple(x); X=simplify(x); 'x(t)' pretty(x) pause
Capítulo 6: Estabilidade A Toolbox de Matemática Simbólica pode ser utilizada para calcular os valores da tabela
de Routh de modo satisfatório. Este recurso é particularmente útil nos casos de tabelas mais complicadas, nas quais são empregados objetos simbólicos, como a letra grega épsilon. Neste exemplo, cada linha da tabela de Routh é representada por um vetor. As expressões para os elementos das linhas subsequentes são escritas utilizando as equações fornecidas na Tabela 6.2 do texto. O comando MATLAB det(M) é utilizado para obter o determinante da matriz quadrada, M, conforme mostrado para cada um dos elementos nas linhas da Tabela 6.2. Além disso, testa-se o primeiro elemento da linha anterior para verificar se ele é igual a zero. Se for, substitui-se este valor por épsilon, e, no cálculo da linha seguinte. Esta lógica é executada através da estrutura de comandos IF/ELSE/END do MATLAB, conforme ilustrado no código a seguir. Mostra-se agora a elaboração de uma tabela de Routh utilizando a Toolbox de Matemática Simbólica em
um problema que requer o método épsilon para completar a tabela. O programa mostrado a seguir gera a tabela de Routh relativa ao Exemplo 6.2 do texto. Além disso, para tornar os resultados mais claros as linhas são simplificadas e “embelezadas” depois de formar a tabela. ATENÇÃO: em geral os resultados deste programa não são válidos se uma linha inteira tender para zero quando e tender para zero, como em [e 0 0 0] . Este caso deve ser manipulado de modo diferente, conforme discutido na subseção “LINHA COMPLETA DE ZEROS” da Seção 6.3 do texto. '(ch6ps1) Exemplo 6.2' % Exibe o título. % -det([si() si(); sj() sj()])/sj() % Gabarito a ser utilizado em cada célula. syms e % Constrói objeto simbólico % para épsilon. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% s5=[1 3 5 0 0]; % Cria a linha sˆ5 da tabela de Routh. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% s4=[2 6 3 0 0]; % Cria a linha sˆ4 da tabela de Routh. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if -det([s5(1) s5(2);s4(1) s4(2)])/s4(1)==0 s3=[e. . . -det([s5(1) s5(3);s4(1) s4(3)])/s4(1) 0 0]; % Cria a linha sˆ3 da tabela de Routh % se o primeiro elemento for igual % a zero. else
19
20
Apêndice F
s3=[-det([s5(1) s5(2);s4(1) s4(2)])/s4(1). . . -det([s5(1) s5(3);s4(1) s4(3)])/s4(1) 0 0]; % Cria a linha sˆ3 da tabela de Routh % se o primeiro elemento não for igual % a zero. end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if -det([s4(1) s4(2);s3(1) s3(2)])/s3(1)==0 s2=[e . . . -det([s4(1) s4(3);s3(1) s3(3)])/s3(1) 0 0]; % Cria a linha sˆ2 da tabela de Routh % se o primeiro elemento for igual % a zero. else s2=[-det([s4(1) s4(2);s3(1) s3(2)])/s3(1) . . . -det([s4(1) s4(3);s3(1) s3(3)])/s3(1) 0 0]; % Cria a linha sˆ2 da tabela de Routh % se o primeiro elemento não for igual % a zero. end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if -det([s3(1) s3(2);s2(1) s2(2)])/s2(1)==0 s1=[e . . . -det([s3(1) s3(3);s2(1) s2(3)])/s2(1) 0 0]; % Cria a linha sˆ1 da tabela de Routh % se o primeiro elemento for igual % a zero. else s1=[-det([s3(1) s3(2);s2(1) s2(2)])/s2(1) . . . -det([s3(1) s3(3);s2(1) s2(3)])/s2(1) 0 0]; % Cria a linha sˆ1 da tabela de Routh % se o primeiro elemento não for igual % a zero. end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% s0=[-det([s2(1) s2(2);s1(1) s1(2)])/s1(1) . . . -det([s2(1) s2(3);s1(1) s1(3)])/s1(1) 0 0]; % Cria a linha sˆ0 da tabela de Routh. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 's5' % Exibe o título. s5=sym (s5); % Converte s5 para um objeto simbólico. s5=simplify(s5); % Simplifica os termos da linha sˆ5. pretty(s5) % Forma elegante da linha sˆ5. 's4' % Exibe o título. s4=sym(s4); % Converte s4 para um objeto simbólico. s3=simplify(s4); % Simplifica os termos da linha sˆ4. pretty(s4) % Forma elegante da linha sˆ4. 's3' % Exibe o título. s3=sym(s3); % Converte s3 para um objeto simbólico. s3=simplify(s3); % Simplifica os termos da linha sˆ3. pretty(s3) % Forma elegante da linha sˆ3. 's2' % Exibe o título. s2=sym(s2); % Converte s2 para um objeto simbólico. s2=simplify(s2); % Simplifica os termos da linha sˆ2. pretty(s2) % Forma elegante da linha sˆ2. 's1' % Exibe o título. s1=sym(s1); % Converte s1 para um objeto simbólico. s1=simplify(s1); % Simplifica os termos da linha sˆ1. pretty(s1) % Forma elegante da linha sˆ1. 's0' % Exibe o título. s0=sym(s0); % Converte s0 para um objeto simbólico. s0=simplify(s0); % Simplifica os termos da linha sˆ0.
Tutorial da Toolbox de Matemática Simbólica do MATLAB
pretty(s0) pause
% Forma elegante da linha sˆ0.
ch6ps2 (Exemplo 6.9) A Toolbox de Matemática Simbólica pode ser utilizada para calcular, de modo satisfatório, os valores em uma tabela de Routh que contém um ganho variável, K . A técnica é semelhante à do exemplo anterior, ch6ps1, exceto pela utilização de K, em vez de e, como objeto simbólico. Ilustra-se agora a solução do Exemplo 6.9 do texto utilizando o MATLAB e a Toolbox de Matemática Simbólica do MATLAB. '(ch6ps2) Exemplo 6.9' % Exibe o título. % -det([si() si();sj() sj()])/sj() % Gabarito a ser utilizado em cada célula. syms K % Constrói objeto simbólico % para o ganho, K. s3=[1 77 0 0]; % Cria a linha sˆ3 da tabela de Routh. s2=[1 77 0 0]; % Cria a linha sˆ2 da tabela de Routh. s1=[-det([s3(1) s3(2);s2(1) s2(2)])/s2(1) . . . -det([s3(1) s3(3);s2(1) s2(3)])/s2(1) 0 0]; % Cria a linha sˆ1 da tabela de Routh. s0=[-det([s2(1) s2(2);s1(1) s1(2)])/s1(1) . . . -det([s2(1) s2(3);s1(1) s1(3)])/s1(1) 0 0]; % Cria a linha sˆ0 da tabela de Routh. 's3' % Exibe o título. s3=sym(s3); % Converte s3 para um objeto simbólico. s3=simplify(s3); % Simplifica os termos da linha sˆ3. pretty(s3) % Forma elegante da linha sˆ3. 's2' % Exibe o título. s2=sym(s2); % Converte s2 para um objeto simbólico. s2=simplify(s2); % Simplifica os termos da linha sˆ2. pretty(s2) % Forma elegante da linha sˆ2. 's1' % Exibe o título. s1=sym(s1); % Converte s1 para um objeto simbólico. s1=simplify(s1); % Simplifica os termos da linha sˆ1. pretty(s1) % Forma elegante da linha sˆ1. 's0' % Exibe o título. s0=sym(s0); % Converte s0 para um objeto simbólico. s0=simplify(s0); % Simplifica os termos da linha sˆ0. pretty(s0) % Forma elegante da linha sˆ0. pause
Capítulo 13: Sistema de Controle Digital
ch13ps1 (Exemplo 13.1) A Toolbox de Matemática Simbólica e o comando ztrans(f) podem ser utilizados para se obter a transformada z de uma função, f, no domínio do tempo, representada como f (nT ). O MATLAB admite como default que a variável independente de amostragem no tempo é n e que a variável independente da transformada é . Caso você queira utilizar em vez de , isto é, (
), faça uso do comando
.
Este comando do MATLAB se sobrepõe ao default admitindo que a variável independente de amostragem no tempo seja k . Resolve-se agora o Exemplo 13.1 utilizando a Toolbox de Matemática Simbólica. '(ch13ps1) Exemplo 13.1' syms n T 'f(nT)' f=n*T; pretty(f) 'F(z)' F=ztrans(f); pretty(F) pause
% % % % % % % % %
Exibe o título. Constrói objetos simbólicos para 'n' e 'T'. Exibe o título. Define f(nT). Forma elegante de f(nT). Exibe o título. Obtém a transformada z, F(z). Forma elegante de F(z).
ch13ps2 (Exemplo 13.2) A Toolbox de Matemática Simbólica e o comando iztrans(F) podem ser utilizados para se obter a função amostrada no tempo representada por f (nT ) dada sua transformada z, F ( z). Se você deseja que a função retorne como f (kT ), então mude o default do MATLAB relativo à variável independente de
21
Tutorial da Toolbox de Matemática Simbólica do MATLAB
iztrans(F,k) laplace(x) numden(G) pretty(x) simple(x) simplify(x) subs(S,old,new) sym(v) syms x y z sym2poly(P) vpa(x,D) ztrans(f)
Obtém a transformada z inversa. Determina f (kT ) dada F ( z). Sem o campo opcional, k , determina f (nT ). Obtém a transformada de Laplace de x (t ). Extrai o numerador e o denominador simbólicos de G(s). Forma elegante de x . Obtém a forma mais simples do objeto simbólico x . Simplifica x . Substitui o objeto simbólico S velho pelo novo. Converte v em um objeto simbólico. Declara x , y e z como objetos simbólicos. Converte o polinômio simbólico, P, em um vetor. Utiliza precisão aritmética variável. Converte os valores simbólicos fracionários em valores numéricos com D casas decimais. Obtém a transformada z de f (nT ).
Bibliografia The MathWorks. Control System Toolbox TM 8 Getting Started Guide. The MathWorks, Natick, MA, 2000–2009. The MathWorks. MATLAB® 7 Getting Started Guide. The MathWorks, Natick, MA, 1984–2009. The MathWorks. Symbolic Math Toolbox TM 5 User’s Guide. The MathWorks, Natick, MA, 1993–2010.
23
Apêndice G: Matrizes, Determinantes e Sistemas de Equações
G.1 Definições e Notações de Matrizes Matriz
Uma matriz m n é uma sequência de elementos colocada na forma retangular ou quadrada com m linhas e n colunas. Um exemplo de matriz é mostrado na Eq. (G.1).
(G.1)
Para cada subscrito, aij, i é a linha e j é a coluna. Se m = n, a matriz é chamada de matriz quadrada.
Vetor
Se uma matriz possuir apenas uma linha, ela será chamada de vetor linha. Segue um exemplo de vetor linha.
(G.2)
Se uma matriz possuir apenas uma coluna, ela será chamada de vetor coluna. Segue um exemplo de vetor coluna.
(G.3)
Matriz Particionada
Uma matriz pode ser particionada em matrizes ou vetores componentes. Por exemplo, seja a matriz
(G.4)
em que
Matriz Nula
Uma matriz que possui todos os elementos iguais a zero é chamada de matriz nula; isto é, aij = 0 para todo i e j. Segue um exemplo de matriz nula. 24
(G.5)
Matrizes, Determinantes e Sistemas de Equações
Matriz Diagonal
Uma matriz quadrada com todos os elementos fora da diagonal iguais a zero é chamada de matriz diagonal; isto é, aij = 0 para i j. Segue um exemplo de matriz diagonal.
(G.6)
Matriz Identidade
Uma matriz diagonal com todos os elementos da diagonal iguais à unidade é chamada de matriz identidade e é representada por I; isto é, aij = 1 para i = j e aij = 0 para i j. Segue um exemplo de matriz identidade.
(G.7)
Matriz Simétrica
Uma matriz quadrada para a qual aij = a ji é chamada de matriz simétrica. Segue um exemplo de matriz simétrica.
(G.8)
Matriz Transposta
A transposta da matriz A, representada por AT , é formada pela troca das linhas pelas colunas de A. Assim, se A é uma matriz m n com elementos aij, a transposta será uma matriz n m com elementos a ji. Segue um exemplo. Dada a matriz
(G.9)
então
(G.10)
Determinante de uma Matriz Quadrada
O determinante de uma matriz quadrada é representado por det A, ou
O determinante de uma matriz 2
(G.11)
2, (G.12)
é calculado como
(G.13)
25
26
Apêndice G
Determinante Menor Complementar
O determinante menor complementar, M ij, do elemento aij do determinante da matriz A é o determinante formado pela remoção da i-ésima linha e da j-ésima coluna do det A. Como exemplo, considere o seguinte determinante:
(G.14)
O determinante menor M 32 é o determinante formado pela remoção da terceira linha e da segunda coluna de
det A. Assim,
(G.15)
Cofator de um Elemento
O cofator , C ij, do elemento aij de det A é definido como
(G.16)
Por exemplo, dado o determinante da Eq. (G.14)
(G.17)
Cálculo do Determinante de uma Matriz Quadrada O determinante de uma matriz quadrada pode ser calculado pela expansão dos menores complementares ao
longo de qualquer linha ou coluna. Expandindo ao longo de qualquer linha, obtém-se
(G.18)
em que n é o número de colunas de A; j é a j-ésima linha selecionada para a expansão dos menores e C ik é o cofator de aik . A expansão ao longo de qualquer coluna fornece
(G.19)
em que m é o número de linhas de A; j é a j-ésima coluna selecionada para a expansão dos menores e C kh é o co fator de akj. Por exemplo, se
(G.20)
então a expansão pelos menores da terceira coluna resulta em
(G.21)
Expandindo-se pelos menores da segunda linha, obtém-se
(G.22)
Matriz Singular
Uma matriz é singular se seu determinante for igual a zero.
Matriz Não Singular
Uma matriz é não singular se seu determinante não for igual a zero.
Adjunta de uma Matriz
A adjunta de uma matriz quadrada, A, expressa como adj A, é a matriz formada pela transposta da matriz A após todos os seus elementos serem substituídos por seus cofatores. Portanto,
Matrizes, Determinantes e Sistemas de Equações
(G.23)
Por exemplo, considere a seguinte matriz:
(G.24)
Assim,
(G.25)
Posto de uma Matriz
O posto de uma matriz, A, é igual ao número de linhas ou colunas linearmente independentes. O posto pode ser obtido pela determinação da submatriz quadrada de ordem mais alta que seja não singular. Por exemplo,
considere o seguinte:
(G.26)
O determinante de A é igual a 0. Uma vez que o determinante é nulo, a matriz 3 se a submatriz
3 é singular. Escolhendo-
(G.27)
cujo determinante vale 27, conclui-se que A possui posto 2.
G.2 Operações com Matrizes Adição
A soma de duas matrizes, escrita como A + B = C, é definida por aij + bij = cij. Por exemplo,
(G.28)
Subtração
A subtração entre duas matrizes, escrita como A – B = C, é definida por aij – bij = cij. Por exemplo,
(G.29)
Multiplicação O produto de duas matrizes, escrito como AB = C, é definido por
Por exemplo, se (G.30)
então
(G.31)
27
28
Apêndice G
Note que a multiplicação somente poderá ser definida se o número de colunas de A for igual ao número de linhas de B.
Multiplicação por uma Constante
O produto de uma matriz por uma constate é igual à multiplicação de todos os elementos da matriz pela constante. Por exemplo, se
(G.32)
então
(G.33)
Inversa
Uma matriz quadrada, A, de n
n possui uma
inversa, representada por A–1, que é definida por
(G.34)
em que I é uma matriz identidade de n
n. A inversa de A é determinada por
(G.35)
Por exemplo, seja determinar a inversa da matriz A apresentada na Eq. (G.24). A matriz adjunta foi calculada na Eq. (G.25). O determinante de A é
(G.36)
Portanto,
(G.37)
G.3 Identidades de Matrizes e de Determinantes A seguir são apresentadas identidades que se aplicam a matrizes e determinantes.
Identidades de Matrizes Lei Comutativa
(G.38)
(G.39)
Lei Associativa
(G.40)
(G.41)
Transposta da Soma
(G.42)
Transposta do Produto
(G.43)
Matrizes, Determinantes e Sistemas de Equações
Identidades de Determinantes
Multiplicação de uma Única Linha ou de uma Única Coluna de uma Matriz, A, por uma Constante Se uma única linha ou uma única coluna de uma matriz A for multiplicada por uma constante k , formando ~ a matriz A, então,
(G.44)
Multiplicação de Todos os Elementos de uma Matriz
, A, por uma Constante
(G.45)
Transposta
(G.46)
Determinante do Produto de Matrizes Quadradas
(G.47)
(G.48)
G.4 Sistemas de Equações Representação
Admita o seguinte sistema de n equações lineares:
(G.49)
Este sistema de equações pode ser representado na forma vetorial-matricial como
(G.50)
em que
Por exemplo, o seguinte sistema de equações
(G.51a) (G.51b)
pode ser representado na forma vetorial-matricial como Ax = B, isto é,
(G.52)
Solução por Intermédio da Matriz Inversa
Se A é uma matriz não singular, pode-se pré-multiplicar a Eq. (G.50) por A–1 e obter a solução x. Assim,
(G.53)
Por exemplo, pré-multiplicando ambos os lados da Eq. (G.52) por A–1, em que
(G.54)
29
30
Apêndice G
determina-se x = A–1B, conforme mostrado a seguir:
(G.55)
Solução por Intermédio da Regra de Cramer
A Eq. (G.53) permite resolver o sistema de equações para todas as incógnitas, x i, quando i = 1 até n. Caso se tenha interesse em uma única incógnita, x k , então a regra de Cramer pode ser utilizada. Dada a Eq. (G.50), a regra de Cramer estabelece que
(G.56)
em que Ak é uma matriz formada substituindo-se a k -ésima coluna de A por B. Por exemplo, seja a solução da Eq. (G.52). Utilizando a Eq. (G.56) com
obtém-se
(G.57)
e
Bibliografia Dorf, R. C. Matrix Algebra—A Programmed Introduction. Wiley, Nova York, 1969. Kreyszig, E. Advanced Engineering Mathematics. 4 a edição. Wiley, Nova York, 1979. Wylie, C. R., Jr. Advanced Engineering Mathematics. 5 a edição. McGraw-Hill, Nova York, 1982.
(G.58)
Apêndice H: Auxílio Computacional em Sistemas de Controle
H.1 Resposta ao Degrau de um Sistema Representado no Espaço de Estados Nesta seção discute-se como obter a resposta ao degrau de sistemas representados no espaço de estados. Iniciase discutindo como as equações de estado podem ser utilizadas para programar um computador digital e evoluir para um programa computacional que possa ser usado para realizar as simulações das respostas ao degrau.
Utilização das Equações de Estado nas Simulações por Computador
Uma das vantagens das equações de estado é a possibilidade de se utilizar essa representação para simular os sistemas de controle em computadores digitais. Esta seção é dedicada à demonstração desse conceito. Considere o sistema representado no espaço de estados pelas Eqs. (H.1).
(H.1a)
(H.1b)
(H.1c)
Este sistema é representado na forma de variáveis de fase e possui uma entrada em degrau unitário, ( ). Desejase formular uma solução para a saída do sistema, y(t ), integrando-se numericamente as equações diferenciais em um computador digital. Será utilizado um método denominado aproximação de Euler , no qual a área a ser
integrada é aproximada por um retângulo. A solução obtida pelo computador é representada por um gráfico do sinal no domínio do tempo real, em vez da expressão na forma fechada que seria obtida por meio da transformada de Laplace. Escrevendo as equações de estado explicitamente, tem-se
(H.2a)
(H.2b)
Ao se aproximar dx por x e dt por t , e multiplicando-se toda a equação por t , obtém-se
(H.3a)
(H.3b)
Pode-se dizer que o valor no próximo intervalo para ambas as variáveis de estado é aproximadamente o valor corrente acrescido das respectivas variações. Assim,
(H.4a)
(H.4b) 31
32
Apêndice H
Finalmente, pela equação de saída (G.1b), y(t ) no próximo intervalo de tempo, y(t + t ), será
(H.5)
Verifica-se agora como este algoritmo será operado em um computador digital. Pelo enunciado do problema, x 1 e x 2 começam em t = 0 com os valores 1 e –2, respectivamente. Admitindo-se um intervalo de tempo t de 0,1 s1, as variações em x 1 e x 2 de 0 até 0,1 s são obtidas pelas Eqs. (H.3) como
(H.6a)
(H.6b)
das quais as variáveis de estado em t = 0,1 s são obtidas pelas Eqs. (H.4), ou seja,
(H.7a)
(H.7b)
Finalmente, a saída em t = 0,1 s é calculada pela Eq. (H.5) como
(H.8)
Os valores das variáveis de estado em t = 0,1 s são utilizados no cálculo dos valores das variáveis de estado e da saída no próximo intervalo de tempo, t = 0,2 s. Mais uma vez, as variações em x 1 e x 2 são
(H.9a) (H.9b)
das quais as variáveis de estado em t = 0,2 s são obtidas como
(H.10a)
(H.10b)
Finalmente, a saída em t = 0,2 s é calculada como
(H.11)
Os resultados são resumidos na Figura H.1. Continuando de forma semelhante até t = t f , o tempo máximo desejado, pode-se obter a resposta para o intervalo 0 t t f .
FIGURA H.1 Variáveis de estado e de saída do sistema representado pelas Eqs. H.1. O intervalo de tempo t deve ser selecionado bem pequeno e, inicialmente, pelo menos uma ordem de grandeza inferior às constantes de tempo do sistema. Para se determinar empiricamente quão pequeno deve ser o valor de , este valor pode ser reduzido sucessivamente após 1
cada resposta ser calculada pelo computador até que a diferença entre a resposta corrente e a resposta imediatamente anterior seja desprezível. Caso t seja muito grande, aparecerão erros nos resultados devidos à representação imprecisa da área sob a curva da variável de estado. Se t for muito pequeno, erros de arredondamento serão acumulados durante o processo de simulação, devido aos numerosos cálculos.
34
Apêndice H
Lista-se agora a sub-rotina, que será chamada CalcEspEstados ' ************** Variáveis de Entrada ************** 'Embora as sequências a seguir sejam dimensionadas para um 'sistema de centésima ordem, apenas uma parte das sequências, 'definida pela variável sis_ordem, é utilizada. Public X(100) As Single 'Entrada do vetor X. Public A(100, 100) As Single 'Entrada da matriz A. Public B(100) As Single 'Entrada da matriz B. Public C(100) As Single 'Entrada do vetor C. Public IMPR_Int 'Entrada do intervalo de impressão 'gráfica. Public sis_ordem 'Entrada da ordem do sistema. Public DELTAT 'Entrada do intervalo de tempo. Public MAXTEMPO 'Entrada do tempo total de execução. '********************* Variáveis de Saída ********************** Public DELTAX (1000) As Single 'Sequência mantendo o tempo de 'cada ponto calculado. Public Y (1000) As Single 'Sequência mantendo o valor 'de resposta da saída para 'cada ponto calculado. '**************** Sub-rotina CalcEspEstados ****************** Public Sub CalcEspEstados () On Error GoTo erro '******** Armazena valores iniciais para representação gráfica ******** Let cx = 0 For i = 1 To sis_ordem cx = cx + C(i-1) * X(i - 1) Next i Y(0) = cx ' ************** Início da malha de representação gráfica ************* For K = 1 To CInt(MAXTEMPO / IMPR_Int) Step 1 'Índice do intervalo de impressão gráfica ' *********************** Início da malha de iterações **************** For n = 1 To CInt(PRNT_Int / DELTAT) Step 1 'Índice do intervalo de iteração For i = 1 To sis_ordem Let ax = 0 For j = 1 To sis_ordem ax = ax + A(i - 1, j - 1) * X(j - 1) Next j DELTAX(i - 1) = (ax+B(i - 1)) * DELTAT 'Calcula delta X1 Next i For i = 1 To sis_ordem X(i - 1) = X(i - 1) + DELTAX(i - 1) 'Calcula o próximo x Next i Let cx = 0 For i = 1 To sis_ordem cx = cx + C(i - 1) * X(i - 1) Next i Next n ' ******************** Término da malha de iterações ****************** Y(K) = cx Next K ' *************** Término da malha de representação gráfica *********** Exit Sub erro: mensagem = "Erro de Sistema:" + Err.Description MsgBox (mensagem) On Error GoTo 0 End Sub
Auxílio Computacional em Sistemas de Controle
FIGURA H.3 Programa de resposta ao degrau: interface gráfica de usuário (GUI) para entrada de dados.
FIGURA H.4 Programa de resposta ao degrau: janela de saída.
Como exemplo, os dados de entrada e os resultados do código mostrado anteriormente são obtidos por meio de uma interface gráfica de usuário (GUI) desenvolvida no Visual Basic 6 e produzidos pela aplicação específica junto dessa pasta. A Figura H.3 mostra a interface GUI para os dados de entrada utilizando o sistema das Eqs. H.1 como exemplo. A Figura H.4 mostra a janela de saída do exemplo.
H.2 Lugar Geométrico das Raízes e Resposta no Domínio da Frequência Nesta seção será desenvolvido um programa de computador que possa ser utilizado como alternativa ao
MATLAB para pesquisar por pontos no lugar geométrico das raízes e obter os resultados da resposta no domínio da frequência para a magnitude e a fase. O código foi desenvolvido utilizando a Versão 6 do Visual Basic® e convertido para uma aplicação específica que pode ser executada em um PC. A aplicação resultante, recomendada para os leitores que não têm acesso ao MATLAB, pode ser obtida na pasta do Apêndice H disponível em www.ltceditora.com.br. Para executar o programa de instalação (setup), abra a pasta intitulada Lugar Geométrico das Raízes, disponível na pasta do Apêndice H, e clique duas vezes sobre o ícone setup.
35
36
Apêndice H
FIGURA H.5 Fluxograma do programa do lugar geométrico das raízes e da resposta em frequência.
Para orientar a execução do programa veja o arquivo README disponível na pasta Lugar Geométrico das Raízes. O programa também pode ser adaptado para calculadoras manuais. Resume-se agora a operação do programa de resposta ao degrau. Inicialmente, são enumerados os requisitos do programa, quais sejam:
1. O usuário entrará com o número de polos e zeros do sistema em malha aberta. 2. O usuário entrará com os valores dos polos e zeros do sistema em malha aberta. 3. O usuário selecionará o tipo de coordenadas, polar ou cartesiana, para o ponto de teste. 4. O usuário entrará com as coordenadas do ponto de teste. 5. O usuário iniciará os cálculos. 6. O programa exibirá o ângulo e a magnitude da função de transferência em malha aberta no ponto de teste, bem como o ganho. 7. O usuário pode alterar os polos e os zeros em malha aberta e o ponto de teste antes de iniciar outro cálculo. A Figura H.5 mostra um fluxograma simplificado do programa.
O Código de Programação
Apresenta-se agora um exemplo de implementação do fluxograma da Figura H.5. A rotina pode ser executada independentemente, como parte de um Módulo do Visual Basic, ou convertida para uma outra linguagem de programação, ou ainda para outras máquinas, como as calculadoras manuais. A rotina pode receber os valores das variáveis de entrada por meio da interface GUI do Visual Basic, conforme apresentado no exemplo de execução a seguir, ou através de outro programa escrito de modo a transmitir a este código as variáveis de entrada. O mesmo se aplica às variáveis de saída. No exemplo executado a seguir as variáveis de saída são passadas à interface GUI do Visual Basic para serem exibidas, porém poderiam ser passadas através de outros programas.
Auxílio Computacional em Sistemas de Controle
Lista-se agora a sub-rotina, que será chamada CalcLugarRaiz ' *********************** Variáveis de Entrada *********************** Public Polar 'Verdadeiro ou Falso. Determina se o ponto 'de teste deve ser interpretado em coordenadas 'polares '(Polar = True) ou coordenadas cartesianas '(Polar = False). Public testAVal Public testBVal Public NumPolosVal Public NumZerosVal
'Coordenada x do ponto de teste (Polar = False) 'ou magnitude do ponto de teste (Polar = True). 'Coordenada y do ponto de teste (Polar = False) 'ou ângulo do ponto de teste (Polar = True). 'Número de polos no sistema (0 a 10). 'Número de zeros no sistema (0 a 10).
'As variáveis a seguir possuem espaço suficiente para 10 polos, 'porém somente os pontos fornecidos, expressos pela variável NumPolosVal, 'são armazenados na sequência partindo do elemento de ordem zero. Public RLPoloRe(10) 'Armazena a parte real de cada polo em malha 'aberta. Public RLPoloI(10) 'Armazena a parte imaginária de cada polo em 'malha aberta. 'As variáveis a seguir possuem espaço suficiente para 10 zeros, 'porém somente os pontos fornecidos expressos pela variável NumZerosVal, 'são armazenados na sequência partindo do elemento de ordem zero. Public RLZeroRe(10) Public RLZeroIm(10)
'Armazena a parte real de cada zero em malha 'aberta. 'Armazena a parte imaginária de cada zero em 'malha aberta.
' ********************** Variáveis de Saída *********************** Public RLKval 'Retorna com o ganho referente ao ponto de teste 'fornecido. Public RLMagVal 'Retorna com a magnitude referente ao ponto de 'teste fornecido. Public RLAnguloVal 'Retorna com o ângulo em graus referente ao 'ponto de teste fornecido. Public Erro
'Se esta variável for verdadeira (True), 'ocorreu um erro durante os cálculos e os 'resultados de saída devem ser descartados.
' ********************* Sub-rotina CalcLugarRaiz ******************** Const pi = 3.14159265358979 Public Sub CalcLugarRaiz () Dim deltaX As Single Dim deltaY As Single Erro = False RecGain = 1 angulo = 0 If Polar = True Then 'Converte as coordenadas do ponto de teste, de 'polares para cartesianas. testReVal = testAVal * Cos(testBVal * pi / 180) testImVal = testAVal * Sin(testBVal * pi / 180) Else 'Estando o ponto de teste em coordenadas 'cartesianas, utilize os dados conforme fornecidos. testReVal = testAVal testImVal = testBVal End If
37
38
Apêndice H
For K = 0 To NumPolosVal - 1 ReVal = RLPoloRe(K) ImVal = RLPoloI(K) deltaX = testReVal - ReVal deltaY = testImVal - ImVal If Abs(deltaX) < 0.0000000001 And_ Abs(deltaY) < 0.0000000001 Then MsgBox ("ERRO: O ponto de teste é idêntico a um " & _ "pólo em malha aberta. Entre com um novo ponto de teste.") Erro = 1 GoTo sailugarraiz Else RecGain = RecGain * CartToMag (deltaX, deltaY) angulo = angulo - CartToAngle (deltaX, deltaY) End If Next K For K = 0 To NumZerosVal - 1 ReVal = RLZeroRe(K) ImVal = RLZeroIm(K) deltaX = testReVal - ReVal deltaY = testImVal - ImVal If Abs(deltaX) < 0.0000000001 And_ Abs(deltaY) < 0.0000000001 Then MsgBox ("ERRO: O ponto de teste é idêntico a um " & _ "zero em malha aberta. Entre com um novo ponto de teste.") Erro = 1 GoTo sailugarraiz Else RecGain = RecGain / CartToMag(deltaX, deltaY) angulo = angulo + CartToAngle(deltaX, deltaY) End If Next K angulo = angulo * 180 / pi angulo = (angulo / 360 - Fix(angulo / 360)) * 360 sailugarraiz: If Erro < > 1 Then RLKval = RecGain RLMagVal = 1 / RecGain RLAnguloVal = angulo End If End Sub ' ********************* Função CartToMag ************************ Public Function CartToMag(X As Single, Y As Single) As Single CartToMag = Sqr(Abs(X ^ 2 + Y ^ 2) ) End Function ' ********************** Função CartToAngle ********************* Public Function CartToAngle(deltaX, deltaY) As Single If deltaX = 0 Then angle = pi / 2 _ Else angulo = Atn(Abs(deltaY) / Abs(deltaX)) If deltaY >= 0 And deltaX >= 0 Then angulo = angulo If deltaY >= 0 And deltaX < 0 Then angulo = (pi - angulo) If deltaY < 0 And deltaX <= 0 Then angulo = -(pi - angulo) If deltaY < 0 And deltaX > 0 Then angulo = -angulo CartToAngle = angulo End Function
Auxílio Computacional em Sistemas de Controle Os dados de entrada e os resultados do código mostrado anteriormente são obtidos por meio de uma in-
terface gráfica de usuário (GUI) desenvolvida no Visual Basic 6 e produzidos pela aplicação inclusa na pasta Apêndice H. A Figura H.6 mostra a interface GUI dos dados de entrada e dos resultados utilizando a função e o ponto de teste –2 + j3 como exemplo.
FIGURA H.6 Programa do lugar geométrico das raízes: interface gráfica de usuário (GUI) de entrada de dados e de resultados.
39
Apêndice I: Desenvolvimento de um Diagrama Esquemático para um Motor CC O objetivo deste apêndice é obter um diagrama esquemático para um motor CC controlado pela armadura, incluindo as relações entre os parâmetros. 1 Este diagrama esquemático pode então ser utilizado na obtenção da relação entre a tensão de entrada e o deslocamento angular de saída do eixo do motor. Inicia-se descrevendo o comportamento de uma corrente elétrica em presença de um campo magnético. Com
base na Figura I.1, um condutor de comprimento l, sendo percorrido por uma corrente elétrica, i, na presença de um campo magnético de intensidade B, é submetido a uma força, F , igual a
(I.1) Este princípio pode ser utilizado para construir um motor, uma vez que a força produzida pode ser usada
para girar uma parte móvel chamada rotor . Basicamente, o condutor fixado no rotor gera um campo magnético com ímãs e permite que a força atue girando o rotor. Na Figura I.2( a) é mostrado o condutor enrolado longitudinalmente em torno de um rotor cilíndrico, chamado armadura. O núcleo é feito de ferro doce, o qual conduz facilmente as linhas de fluxo magnético. Os ímãs são usinados para que na superfície do rotor as linhas do fluxo magnético sejam perpendiculares. A força produzida é tangente ao rotor e faz com que a armadura gire. Cada lado do enrolamento é submetido a uma força cujo valor pode ser obtido pela Eq. (I.1). Assim, a força total, F , que atua tangencialmente ao rotor é
(I.2)
em que ia é a corrente através do condutor da armadura. Se o raio da armadura for r , então o torque produzido, T m, será em que
(I.3) = 2
é chamada de
, e é a
. Para produzir um valor maior de torque pode-se aumentar a intensidade do campo magnético, B, ou, de forma equivalente, K t , enrolando uma bobina ao redor dos ímãs permanentes, conforme mostrado na Figura I.2( b). Existe um problema com o motor da Figura I.2( a). Quando o trecho do condutor mostrado próximo ao ponto ultrapassa o ponto a força continuará orientada para baixo e a armadura começará a girar no sentido oposto. Para corrigir essa situação é necessário inverter o sentido da corrente, ia, quando este trecho alcançar o ponto A. Outra inversão é necessária novamente no ponto A . A Figura I.2( b) mostra como se pode inverter a corrente no condutor a cada meia volta para manter a armadura girando no mesmo sentido de rotação. Utilizando anéis coletores , aos quais estão fixadas as extremidades do condutor, e escovas fixas apoiadas sobre o anel coletor, e fechando-se o circuito para que circule a corrente, ia, esta se inverte a cada meia-volta. Esse arranjo de anéis coletores e escovas é chamado de comutador .
FIGURA I.1 Condutor percorrido por corrente no interior de um campo magnético. Este apêndice resume as deduções discutidas em detalhes nas referências listadas na Bibliografia.
1
40
Desenvolvimento de um Diagrama Esquemático para um Motor CC
41
FIGURA I.2 a. Condutor percorrido por corrente em um rotor; b. condutor percorrido por corrente em um rotor com comutação e espiras adicionadas aos ímãs permanentes para aumentar a intensidade do campo magnético.
Até agora foi visto que uma força é aplicada ao condutor enrolado em torno da armadura. Explora-se agora a possibilidade de uma tensão ser também induzida nos terminais desse condutor. O conhecimento dessa tensão ajudará a estabelecer um modelo do motor sob a forma de circuito. De acordo com a lei de Faraday, se uma espira de material condutor, como a que é enrolada ao redor da armadura, for colocada sob o efeito de um campo magnético variável será induzida uma tensão expressa por
(I.4)
em que vb(t ) é a tensão induzida e é o fluxo que atravessa a espira. Admitindo que a densidade do fluxo, B, seja constante em qualquer ponto ao longo da superfície semicilíndrica envolvida pela espira e utilizando = BA, em que A é a área da superfície semicilíndrica, a tensão induzida em uma única espira será
(I.5)
Para determinar a área da superfície semicilíndrica envolvida pela espira examina-se a Figura I.3, que é uma vista de trás da armadura mostrando as extremidades dos condutores e as linhas de fluxo magnético. A área A1, através da qual o fluxo passa no sentido do centro para a superfície, é o produto da circunferência pelo comprimento do cilindro, ou seja,
(I.6)
A área A2, através da qual o fluxo passa no sentido da superfície para o centro, é
(I.7)
Assim,
(I.8)
FIGURA I.3 Densidade de fluxo magnético passando através de uma espira da armadura.
42
Apêndice I
FIGURA I.4 Diagrama em forma de circuito de um motor CC.
Para um motor essa tensão induzida, vb(t ), é chamada de força contraeletromotriz, ou fcem. A constante K b = 2 Blr é chamada de constante de fcem. Note que em um sistema de unidades consistentes K t = K b. Finalmente, é possível aumentar o valor do torque produzido enrolando-se um certo número de espiras na armadura. Essa operação é chamada de enrolamento de armadura. A fcem de retorno também será aumentada, porque essas espiras podem ser vistas como associadas em um circuito série no qual as tensões das espiras se somam. Em resumo, se um condutor através do qual circula uma corrente, ( ), cortar as linhas de fluxo de um campo magnético será produzido um torque T m(t ) = K t ia(t ). Além disso, com base na lei de Faraday o condutor apresentará uma tensão induzida chamada de força contraeletromotriz. Essa tensão é expressa por vb(t ) = K b (t ).
Com base nas relações desenvolvidas pode-se criar um modelo de circuito para o motor, como o mostrado na Figura I.4. O enrolamento da armadura é representado como tendo uma resistência, Ra, e, por ser enrolado ao redor da armadura, apresentando também uma indutância, La. A fcem é mostrada como vb(t ) nos terminais do rotor. O campo constante é criado por um eletroímã. O torque produzido no eixo, T m(t ), e o deslocamento angular de saída, m(t ), são mostrados na saída do rotor.
Bibliografia Chapman, S. J. Electric Machinery Fundamentals, 2a edição. McGraw-Hill, Nova York, 1991. Chiasson, J. The Physics of a DC Motor for Control Courses, Notes. University of Pittsburgh, PA, 1993. Matsch, L. W. Electromagnetic and Electromechanical Machines. Harper & Row, Nova York, 1977.
Apêndice J: Dedução da Solução das Equações de Estado no Domínio do Tempo J.1 Desenvolvimento Em vez de utilizar a transformação de Laplace, pode-se resolver as equações diretamente no domínio do tempo utilizando um método muito parecido com a solução clássica de equações diferenciais. Também neste caso a solução total consiste em duas partes distintas, a resposta forçada e a resposta natural. Inicialmente admite-se uma equação de estado homogênea da forma
(J.1)
Como se deseja obter x, admite-se uma solução em série conforme foi feito com as equações diferenciais escalares elementares. Assim,
(J.2)
Substituindo a Eq. (J.2) na Eq. (J.1), obtém-se
(J.3)
Igualando-se os coeficientes, tem-se
(J.4a)
(J.4b)
(J.4c)
(J.4d)
A substituição desses valores na Eq. (J.2) fornece
(J.5)
Porém, pela Eq. (J.2) 1
Neste desenvolvimento considera-se o tempo inicial,
(J.6)1 t 0,
como igual a 0. Em situações mais gerais,
t 0
0. Após a conclusão deste de-
senvolvimento, o leitor interessado pode consultar o Apêndice K disponível no site da LTC Editora www.ltceditora.com.br para a solução mais geral em termos do tempo inicial t 0 0.
43
44
Apêndice J
Portanto,
(J.7)
Seja
(J.8)
em que eAt é simplesmente uma notação para a matriz formada pelo lado direito da Eq. (J.8). Esta definição é utilizada porque o lado direito da Eq. (J.8) se parece com uma expansão em série de potência de eat , ou seja,
(J.9)
Utilizando a Eq. (J.7), tem-se
(j.10)
O termo eAt recebe um nome especial; ele é chamado matriz de transição de estados2, uma vez que realiza uma transformação de x(0), obtendo x(t ) a partir do estado inicial x(0) para o estado x(t ) para qualquer t . O símbolo, (t ), é utilizado para representar eAt . Assim,
(J.11)
e
(J.12)
Existem algumas propriedades de Eq. (J.12),
(t ) que serão utilizadas posteriormente para se obter x(t ) no texto. Pela
(J.13)
Portanto, a primeira propriedade de
(t ) é
(J.14)
em que I é a matriz identidade. Derivando-se a Eq. (J.12) e substituindo o resultado na Eq. (J.1), tem-se
(J.15)
que, em t = 0, fornece
(J.16)
Assim, a segunda propriedade de
(t ) é uma consequência da Eq. (J.16), qual seja,
(J.17) Em resumo, a solução de um sistema homogêneo, ou não forçado, é
(J.18)
em que
(J.19)
e
(J.20) Resolve-se agora o problema forçado ou não homogêneo. Seja a equação de estado forçada
(J.21)
A matriz de transição de estados, aqui apresentada, refere-se ao tempo inicial t 0 = 0. A dedução apresentada no Apêndice K no site da LTC Editora www.ltceditora.com.br para t 0 0, fornece x(t ) = eA(t – t 0)x(t 0). 2
Dedução da Solução das Equações de Estado no Domínio do Tempo
arrumando os termos e multiplicando ambos os lados da equação por e–At , tem-se
(J.22)
Lembrando que o lado esquerdo é igual à derivada do produto e–At x(t ), obtém-se
(J.23)
A integração de ambos os lados fornece
(J.24)
uma vez que o termo e–At calculado em t = 0 é a matriz identidade (pela Eq. (J.8)). Resolvendo para x(t ) na Eq. (J.24), obtém-se
(J.25) em que (t ) = eAt por definição.
Bibliografia Timothy, L. K., e Bona, B. E. State Space Analysis: An Introduction. McGraw-Hill, Nova York, 1968.
45
Apêndice K: Solução das Equações de Estado para 0 0
Na Seção 4.11 a matriz de transição de estados foi utilizada para realizar a transformação que permite determinar x(t ), a partir de seu valor em um tempo inicial, t 0 = 0, para um tempo qualquer t 0, conforme estabelecido na Eq. (4.109). O que aconteceria se se quisesse determinar x(t ) a partir de seu valor em um tempo inicial, t 0 0, para um tempo qualquer t t 0; a Eq. (4.109) e a matriz de transição de estados seriam modificadas? Para responder a esta pergunta é necessário converter a Eq. (4.109) a uma forma que mostre t 0 0 como o estado inicial, em vez de t 0 = 0 (Kuo, 1991). Utilizando a Eq. (4.109) obtém-se que x(t ) em t 0 pode ser expresso como Resolvendo para x(0) pré-multiplicando ambos os lados da Eq. (K.1) por
(K.1) (t 0) e arrumando o resultado, tem-se
–1
(K.2)
A substituição da Eq. (K.2) na Eq. (4.109) fornece
(K.3)
Como (t )= eAt e (–t ) = e–At , (t ) (–t ) = I. Assim,
(K.4)
Portanto,
(K.5)
A substituição da Eq. (K.5) na Eq. (K.3) fornece
(K.6)
Porém,
(K.7)
Substituindo a Eq. (K.7) na Eq. (K.6), tem-se
(K.8)
Finalmente, a combinação das duas integrais fornece
46
(K.9)
A Eq. (K.9) é mais geral do que a Eq. (4.109), uma vez que ela permite que x(t ) seja determinado utilizando seu valor em um tempo inicial distinto de t 0 = 0. Pode-se verificar que a matriz de transição de estados, (t – t 0), possui uma forma mais geral do que a matriz (t ) anteriormente descrita. Em particular, a matriz de transição de estados é também uma função do tempo inicial. Conclui-se esta seção deduzindo uma importante propriedade da matriz (t – t 0).
Solução das Equações de Estado para t 0 0
Utilizando a Eq. (K.4), a inversa de
(t – t 0) pode ser expressa como
(K.10)
Pela Eq. (K.7), tem-se também que
(K.11)
a qual estabelece que a transformação de t 0 para t 2 é igual ao produto da transformação de t 0 para t 1 pela transformação de t 1 para t 2.
Bibliografia Kuo, B. Automatic Control Systems, 6a edição. Prentice-Hall, Englewood Cliffs, NJ, 1991.
47
Apêndice L: Dedução das Transformações de Similaridade
L.1 Introdução Na Seção 5.7 do texto constatou-se que os sistemas podem ser representados por diferentes variáveis de estado, mesmo quando a função de transferência que relaciona a saída à entrada permaneça a mesma. As diversas formas das equações de estado foram obtidas pela manipulação da função de transferência construindo-se um diagrama de fluxo de sinal e, em seguida escrevendo-se as equações de estado a partir desse diagrama de fluxo de sinal. Esses sistemas são denominados sistemas similares. Embora suas representações no espaço de estados sejam diferentes, os sistemas similares possuem a mesma função de transferência e, portanto, os mesmos polos ou autovalores. A questão agora é sobre a possibilidade de se poder realizar transformações entre sistemas similares de um conjunto de equações de estado para outro sem utilizar funções de transferência e diagramas de fluxo de sinal. Neste apêndice será deduzida essa transformação.
L.2 Expressão de Qualquer Vetor em Termos de Vetores-base Inicia-se a discussão revendo a representação de grandezas vetoriais no espaço. No Capítulo 3 foi mostrado
que as variáveis de estado formam os eixos da representação no espaço de estados. Utilizando um sistema de segunda ordem como exemplo, a Figura L.1 mostra dois conjuntos de eixos, x 1 x 2 e z1 z2. Assim, um vetor de estado, x, no espaço de estados pode ser escrito tanto em termos das variáveis de estado ou eixos, x 1 e x 2, quanto, se ele for designado por z, pelas variáveis de estado ou eixos, z1 e z2. Em outras palavras, o mesmo vetor é expresso em termos de diferentes variáveis de estado. Com base nessa discussão começa-se a perceber que a transformação de um conjunto de equações de estado em outro pode 1
ser simplesmente a transformação de um conjunto de eixos em outro
conjunto de eixos. Analisa-se agora um pouco mais essa possibilidade esclarecendo-se, inicialmente, as formas pelas quais os vetores podem ser representados no espaço. Os vetores unitários, Ux1 e Ux2, que são colineares com os eixos x 1 e x 2, são dois vetores linearmente independentes denominados vetores-base para o espaço x 1 x 2. Qualquer vetor desse espaço pode ser escrito de duas maneiras. Primeiro, ele pode ser escrito como uma combinação linear
FIGURA L.1 Transformações em espaço de estados.
dos vetores-base. Essa combinação linear implica uma soma apropriada dos vetores-base para formar o vetor. Segundo, qualquer vetor pode ser escrito em termos de suas componentes ao longo dos eixos. Resumindo essas duas formas de escrita de um vetor, tem-se (L.1)
Analogamente, o mesmo vetor, que será chamado agora de z, pode ser escrito em termos dos vetores-base no espaço z1 z2,
Para clareza dos conceitos, esses eixos são mostrados ortogonais entre si (ângulo de 90° entre si). Em geral os eixos precisam apenas ser independentes, e não necessariamente a 90° entre si. A independência linear elimina a possibilidade de eixos colineares. 1
48
(L.2)
Dedução das Transformações de Similaridade
49
L.3 Transformações de Vetores Qual é a relação entre as componentes de x e de z nas Eqs. (L.1) e (L.2)? Em outras palavras, como realizar a transformação do vetor x no vetor z e vice-versa? Para começar, deve-se lembrar que os vetores unitários Uz1 e Uz2, que são colineares com z1 e z2 e são vetores-base do espaço z1 z2, também podem ser escritos em termos dos vetores-base do espaço x 1 x 2. Portanto,
(L.3a)
(L.3b)
A substituição das Eqs. (L.3) na Eq. (L.2), lembrando que os vetores z e x são os mesmos, fornece x em termos das componentes de z, isto é,
(L.4)
o que é equivalente a
(L.5)
e
(L.6)
Pode-se imaginar a Eq. (L.5) como uma transformação que toma o vetor z no plano z1 z2 e o transforma em x no plano x 1 x 2. Portanto, como P pode ser determinado, é possível realizar a transformação entre as representações nos dois espaços de estados.
L.4 Obtenção da Matriz de Transformação, P A matriz de transformação, P, pode ser obtida a partir das Eqs. (L.3). Como são conhecidas todas as grandezas vetoriais naquelas equações, pode-se resolver o sistema para os termos pij. Observe que as colunas da matriz P são as coordenadas dos vetores-base do espaço z1 z2 expressas como combinação linear dos vetores-base do espaço x 1 x 2, conforme mostrado nas Eqs. (L.3). Assim, a primeira coluna de P é Uz1 e a segunda coluna é Uz2. Particionando P, obtém-se
(L.7) Analisa-se agora um exemplo de transformação de um vetor de um espaço para outro.
Exemplo L.1 Transformação de um vetor para uma nova base PROBLEMA: Transforme o vetor
(L.8)
expresso por meio de seus vetores-base,
(L.9)
em um vetor representado no sistema definido por
(L.10)
SOLUÇÃO: Utilizando a Eq. (L.2) como orientação, o vetor z pode ser escrito em termos dos vetores-base, Uzi.
(L.11)
50
Apêndice L
Substituindo o valor de cada Uzi dado na Eq. (L.10) como componentes dos vetores-base, Uxi, a Eq. (L.11) é transformada para as componentes de x,
(L.12)
que pode ser escrita como
(L.13)
Conforme previsto, as colunas de P são constituídas pelos vetores-base do espaço z1 z2 (Eq. (L.10)). Assim,
(L.14)
Em resumo, o vetor x = [1 2 2]T no espaço x 1 x 2 é transformado no vetor z = [2,83 0 1]T do espaço z1 z2. Os vetores x e z representam um único vetor expresso em sistemas de coordenadas distintas.
Uma vez que se sabe como transformar um vetor de estado em bases distintas, verifica-se agora como transformar a representação em espaço de estados entre essas bases distintas.
L.5 Transformação das Equações de Estado Foi visto que o mesmo vetor de estado pode ser expresso em termos de diferentes vetores-base. Esta conversão considera a seleção de diferentes conjuntos de variáveis de estado para representar a mesma função de transferência de um sistema. Converte-se agora uma representação em espaço de estados com vetor de estado x em uma representação em espa-
ço de estados com um vetor de estado z. Considere a representação em espaço de estados mostrada na Eq. (L.15),
(L.15a)
(L.15b)
Seja x = Pz pela Eq. (L.5). Assim,
(L.16a)
(L.16b)
Pré-multiplicando a equação de estado por P–1, tem-se
(L.17a)
(L.17b)
As Eqs. (L.17) constituem uma representação alternativa de um sistema na forma de espaço de estados. A matriz de sistema transformada é P–1AP, a matriz de acoplamento das entradas é P–1B, a matriz de entradas é CP e a matriz de realimentação permanece D. Será mostrado agora que a função de transferência, T (s) = Y (s)/ U( s), que relaciona a saída do sistema à sua entrada para o sistema representado pelas Eqs. (L.17), será a mesma do sistema das Eqs. (L.15) se y e u forem os escalares, y(t ) e u(t ). Pela Eq. (3.73), a função de transferência do sistema das Eqs. (L.15) é
(L.18)
A função de transferência do sistema das Eqs. (L.17) pode ser obtida pela substituição de suas matrizes de saída, de sistema, de entradas e de realimentação equivalentes na Eq. (L.18). Portanto, a função de transferência do sistema das Eqs. (L.17) é
(L.19)
Dedução das Transformações de Similaridade
Fazendo uso sucessivo do teorema da matriz inversa, (MN)–1 = N–1M–1, obtém-se
(L.20)
Como (sI – P–1AP)P–1 = (sP–1 – P–1A), tem-se
(L.21)
que é idêntica à Eq. (L.18). Uma vez que a função de transferência é a mesma, os polos e zeros do sistema permanecem os mesmos durante a transformação. Pode-se agora mostrar mais formalmente que os autovalores não se alteram durante a transformação de similaridade. A equação característica do sistema antes da transformação é obtida por det( sI – A) = 0. Depois da transformação, a equação característica é det( sI – P–1AP) = 0. Porém, I = P–1P. Portanto, a equação característica após a transformação pode ser escrita como
(L.22)
Uma vez que o determinante do produto de matrizes é igual ao produto dos determinantes, (L.23) Porém,
(L.24)
Portanto,
(L.25)
A Eq. (L.25) mostra que os autovalores não se alteram ao se realizar a transformação. Neste apêndice foi mostrado que um vetor x no sistema de base x 1 x 2 pode ser expresso como um vetor z no sistema de base z1 z2 utilizando
(L.26)
De modo análogo, a operação inversa é
(L.27)
Foi mostrado que a matriz de transformação, P, consiste em colunas constituídas pelas coordenadas dos vetoresbase do espaço z1 z2 expressas como combinação linear dos vetores-base do espaço x 1 x 2, ou seja,
(L.28)
Com os resultados anteriores, as equações de estado podem ser transformadas das variáveis de estado x para as variáveis de estado z utilizando
(L.29a)
(L.29b)
Finalmente, constata-se que os autovalores do sistema x são os mesmos do sistema z. Portanto, a função de
transferência calculada com base em qualquer dos sistemas será a mesma.
Bibliografia Timothy, L., e Bona, B., State Space Analysis: An Introduction, McGraw-Hill, Nova York, 1968.
51
Apêndice M: Regras do Lugar Geométrico das Raízes: Dedução
M.1 Dedução do Comportamento do Lugar Geométrico das Raízes no Infinito (kuo, 1987) Seja a função de transferência de um sistema em malha aberta representado por:
(M.1)
ou
(M.2)
Realizando-se a divisão indicada no denominador, obtém-se
(M.3)
Para que exista um polo da função de transferência em malha fechada deve-se atender à condição
(M.4)
Admitindo os altos valores de s que ocorrem quando o lugar geométrico se move para infinito, a Eq. (M.3) se torna
(M.5)
Colocando-se em evidência o termo sn, a Eq. (M.5) fica
(M.6)
Calculando-se a raiz de ordem n de ambos os lados desta equação, tem-se
(M.7)
Sendo o termo
(M.8)
expandido por uma série infinita onde apenas os dois primeiros termos são significativos, 1 obtém-se
(M.9)
A distribuição do fator s do lado esquerdo da equação fornece
Esta é uma boa aproximação, uma vez que s é aproximadamente infinito para a região aplicável a essa dedução.
1
52
(M.10)
Regras do Lugar Geométrico das Raízes: Dedução
Fazendo-se, agora, s = + j e
em que
(M.11)
a Eq. (M.10) fica
(M.12)
em que k = 0, 1, 2, 3, ... Igualando as partes reais e imaginárias de ambos os lados da equação, obtém-se
(M.13a)
(M.13b)
Dividindo as duas equações para eliminar K 1/ n , obtém-se
(M.14)
Finalmente, explicitando , tem-se
(M.15)
A forma dessa equação é a de uma linha reta,
(M.16)
onde a inclinação da reta, M , é
(M.17)
Assim, o ângulo da reta em radianos em relação à região positiva do eixo real é
(M.18)
e o valor de interseção com o eixo é
(M.19)
Pela teoria das equações, 2
(M.20a)
(M.20b)
A Eq. (M.1) também fornece n =
número de polos finitos – número de zeros finitos = #polos finitos – #zeros finitos
(M.21)
Examinando a Eq. (M.16), conclui-se que o lugar geométrico das raízes tende a uma linha reta quando o lugar das raízes tende a infinito. Além disso, essa linha reta intercepta o eixo em
(M.22)
que é obtido substituindo as Eqs. (M.20). Os resultados aqui discutidos são agora resumidos: O lugar geométrico das raízes tende a linhas retas como assíntotas quando o lugar tende a infinito. Além disso, a equação das assíntotas é obtida pela interseção com o eixo real e pelo ângulo da reta em relação ao eixo real, conforme expresso a seguir:
(M.23)
Dado um polinômio de ordem n da forma sn + an–1sn–1 + ..., o coeficiente, an–1 é igual ao valor negativo da soma das raízes do polinômio.
2
53