Matlab/Simulink Aplicado à Circuitos Elétricos Prof a Laurinda Lúcia Nogueira dos Reis www.dee.ufc.br/~laurinda/circuitos1 UNIVERSIDADE FEDERAL DO CEARÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA CIRCUITOS ELÉTRICOS I MATLAB/SIMULINK Aplicado na Solução e Simulação de Circuitos Elétricos
I - Introdução O software de computação numérica e visualização gráfica Matlab pode ser utilizado fundamentalmente sob duas vertentes no estudo da resposta temporal das variáveis de um circuito elétrico: • •
Solução das equações diferenciais de estado que caracterizam o comportamento do circuito; Simulação do circuito elétrico através de um diagrama de blocos construído pelo usuário, sob conhecimento prévio das equações diferenciais do circuito. Cada vertente será tratada num dos itens a seguir.
II - Resolução das equações diferenciais do circuito usando o Toolbox SYMBOLIC A partir da modelagem do sistema descrita por equações diferenciais e das condições iniciais, o Matlab possui o ) para a resolução de equações diferenciais do comando dsolve (correspondente ao toolbox SYMBOLIC (MAPLE) ) para sistema simbolicamente. Será Será verificada aqui através de exemplos, podendo ser visto mais uma descrição mais detalhada no Matlab , digitando-se o help: » help dsolve Considere o circuito RC autônomo representado na figura 1 e o circuito RC não-autônomo dado na figura 2 da tabela 1. Conhecendo-se as equações de estado que caracterizam tais circuitos, as quais são apresentadas ao lado de cada figura. Tabela 1. Circuitos e equações de estado. Circuito
Equação de estado
V
R1
C1
1k
1n
seja v(0)=10 Equação 1. RC autônomo.
0
Figura 1. Circuito RC autônomo.
seja v(0)=10 Equação 2. RC não-autônomo.
Figura 2. Circuito RC não-autônomo. É possível resolver tais equações, bem como visualizar graficamente suas soluções através do Matlab , conforme pode ser visto na tabela 2.
Matlab/Simulink Aplicado à Circuitos Elétricos Prof a Laurinda Lúcia Nogueira dos Reis www.dee.ufc.br/~laurinda/circuitos1
Após a utilização do comando dsolve (que ecoa a solução na tela), cujos argumentos de entrada são a equação diferencial ('Dv+v=0', por exemplo) e a condição inicial ('v(0)=10'), é empregado o comando ezplot, a fim de desenhar um gráfico de tal solução (V), para um intervalo desejado ([0 5]) . Tabela 2. Resolução das equações de estado de circuitos elétricos. Resposta analítica
Visualização Gráfica » ezplot(V,[0 5])
Circuito RC Autônomo (fig. 1)
»V=dsolve('Dv+v=0','v(0)=10') V= 10*exp(-x)
» ezplot(V,[0 5]) Circuito RC não-autônomo (fig. 2)
»V=dsolve('Dv+v=5','v(0)=10') V= 5+5*exp(-x)
Observe que a variável independente padrão do Matlab é "x", em função da qual são dadas as soluções das equações diferenciais. Para os nossos circuitos, tal variável está representando o tempo, cuja representação mais comum é "t". Caso se deseja que a solução seja apresentada em função de "t" basta o declarar como variável independente nas equações diferenciais ou adicionar o termo 't' como último argumento de entrada. Por exemplo, resolva o circuito da figura (2) substituindo a fonte DC por uma fonte senoidal: e(t) = 5*sen(t). Os comandos e as saídas seriam:
Matlab/Simulink Aplicado à Circuitos Elétricos Prof a Laurinda Lúcia Nogueira dos Reis www.dee.ufc.br/~laurinda/circuitos1
» V=dsolve('Dv+v=5*sin(t)','v(0)=10') V= -5/2*cos(t)+5/2*sin(t)+25/2*exp(-t) » ezplot(V,[0 25])
III - Simulação de Circuitos Elétricos com o SIMULINK A simulação de circuitos através do Matlab se dá pela utilização do toolbox simulink ( consta de soluções por equações diferenciais, métodos de transformada tanto contínuo quanto discreto, entre outras funções). Para iniciar, digite » simulink ou click no ícone na barra de ferramentas versão do Matlab):
. Abre então a janela (dependendo da
Cada um dos ícones que aparecem no interior da janela acessa um conjunto de blocos. Particularmente utilizaremos nos exemplos tratados os ícones Contínuos(representa os elementos físicos), Sources (fontes), Sinks (monitoração de sinais), Signals & Systems(funções de entrada-saída) e Math(ganhos, integradores, somadores etc).
Matlab/Simulink Aplicado à Circuitos Elétricos Prof a Laurinda Lúcia Nogueira dos Reis www.dee.ufc.br/~laurinda/circuitos1
Agora vamos construir um diagrama de blocos que represente a equação diferencial do circuito em estudo. Observe como é feito, conforme ilustra a figura 3, para o circuito RC da figura 2.
Figura 3. Representação no Simulink para o circuito da fig. 2. A figura 3 corresponde ao arquivo que deve ser criado para simular o problema de valor inicial expresso pela equação 2 e sua condição inicial. Tal arquivo deve ser inicialmente aberto para escrita a partir da opção New... do menu File da janela Simulink. A partir daí é só montar o esquema adequadamente, procurando os devidos blocos em seus ícones. Para facilitar a montagem do esquema, bastar isolar, na equação diferencial, a derivada de maior ordem e traduzir a expressão matemática obtida para esta (lado direito da equação) para a linguagem de blocos. Alguns pontos deve ser ressaltado: •
O ajuste dos parâmetros de cada bloco é feito a partir de um duplo click com o lado esquerdo do mouse sobre o bloco desejado. Para estabelecermos a condição inicial (v(0)), por exemplo, fazemos isso para o bloco Integrator, aparecendo-nos a seguinte janela para o devido ajuste:
•
Os blocos To Workspace servem para monitorar um ponto desejado do diagrama durante a simulação, permitindo um posterior acesso, a partir do prompt do Matlab , à variável monitorada. Outro aspecto importante de tais blocos é o ajuste do número máximo de pontos monitorados, que comumente é feito único para todos os pontos desejados. • É necessário também estabelecer o método numérico desejado para a simulação da equação diferencial representada pelo esquema, o que é feito a partir da opção Parameters... do menu Simulation da janela Simulink. Um método conveniente para a simulação das equações do tipo estudado é o método de Euler. A janela que abriremos mostra tal escolha, bem como o ajuste de tempo, passo e tolerância da simulação.
Finalmente, é só dar a ordem de simulação, através da opção Start do menu Simulation da janela Simulink. Retornando ao prompt do Matlab , pode-se obter o gráfico do resultado da simulação, usando os rótulos empregados nos blocos Workspace, através do comando, ou utilizar o comando para abrir um osciloscópio Scope. » plot(t,v)
Matlab/Simulink Aplicado à Circuitos Elétricos Prof a Laurinda Lúcia Nogueira dos Reis www.dee.ufc.br/~laurinda/circuitos1
Em termos de Matlab pode-se resolver os circuitos considerando a representação por espaço de estado, ou seja, a representação do circuito em termos matriciais. Como exemplo, considere um circuito RLC da figura abaixo. As equações para este circuito são: R
L + i
V
C
Vo
Ri + L -
i = C
di dt
= −
dV o dt
=
1 L
1 C
V o − R i
i + V
di
dt dV o
+ V o = V
dt
di − 1 i 1 − R dt L L = = X V + 0V 1 dV o 0 C o dt i Y = V o = [0 1] V o
assim você pode criar um arquivo .m no Matlab para resolver este sistema de equação utilizando-se como entrada o impulso, degrau, senoidal, ou outra qualquer, com os comandos impulse, step, lsim, ou seja: % Roteiro para o circuito.m para resolver o circuito RLC e obter a saida Vo. R=10;L=0.1;C=0.2; A(1,1)=-R/L; A(1,2)= -1/L; A(2,1)=1/C; A(2,2)=0; B(1,1)=1; B(2,1)=0; C(1,1)=0; C(1,2)=1; D=0; %Como a é um degrau pode-se usar o comando impulse, step, ou lsim: [y,x]=step(A,B,C,D,1); plot(x), grid plot(y), grid pause t = 0:0.01:25; u = sin(t); [y,x]=lsim(A,B,C,D,u,t); plot(x),grid
Matlab/Simulink Aplicado à Circuitos Elétricos Prof a Laurinda Lúcia Nogueira dos Reis www.dee.ufc.br/~laurinda/circuitos1 Atividade Computacional Utilizando o software Matlab, resolva analiticamente e simule os circuitos elétricos esquematizados a seguir.
i(0)=1A i(0)=1A
v(0)=5V -
Como atividade você pode fazer os mesmos exercícios que estamos utilizando nas práticas, tanto utilizando o Matlab quanto o Simulink. - Escolha exercícios dos livros textos para fazer simulações utilizando o Matlab/Simulink/Symbolic.