PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS ENGENHARIA DE CONTROLE & AUTOMAÇÃO DISCIPLINA: FÍSICA III Prof.

ª: VÂNIA AGUIAR

TRABALHO DE FÍSICA III

JUNHO, 2009 BELO HORIZONTE – MG

2

ÍNDICE

1.INTRODUÇÃO 2.OBJETIVO 3.MODELAGEM FÍSICA 3.1. CIRCUITOS RLC – AMORTECIMENTO 3.2. CIRCUITO RLC – RESSONÂNCIA 4.MÉTODOS DE SIMULAÇÃO 4.1.MATLAB 4.2.SIMULINK 4.3.MÉTODO DE EULER 4.4.MÉTODO DE RUNGE-KUTTA 1. CONCLUSÃO 2. REFÊNCIAS BIBLIOGRÁFICAS

03 04 05 06 10 11 12 14 18 22 26 27

3

1. INTRODUÇÃO

Na natureza são inúmeros os fenômenos que envolvem oscilações. O circuito RLC (R designa uma resistência, L uma indutância e C um condensador) é o circuito elétrico oscilante por excelência. A sua simplicidade permite controlar facilmente os parâmetros que caracterizam o seu funcionamento, o que o torna ainda um excelente candidato para a simulação de outros sistemas oscilantes (por exemplo mecânicos, em que o controle de cada parâmetros do sistema pode ser mais difícil). É extensivamente utilizado como elemento de filtragem em diferentes circuitos eletrônicos. Vamos, então, analisar mais em detalhe este circuito. O circuito RLC é chamado de circuito de segunda ordem visto que qualquer tensão ou corrente nele pode ser descrita por uma equação diferencial de segunda ordem. O modelo escolhido foi um Circuito Resistivo Indutivo Capacitivo (RLC) em série alimentado por uma fonte de tensão de corrente contínua. Um circuito RLC em série é percorrido por uma corrente sinusoidal de freqüência variável. Estuda-se a intensidade da corrente que percorre o circuito, bem como a tensão aos seus terminais, em função da freqüência. Para a elaboração do projeto utilizou-se para tal um circuito elétrico ideal e a partir desse circuito e de algumas leis, principalmente a lei de Kirchoff, foram retiradas as equações matemáticas para que assim possa ser analisado.

Circuito RLC série

4

2. OBJETIVO

O objetivo principal do trabalho é desenvolver programas para simular o comportamento dinâmico de sistemas físicos, apresentar o comportamento da corrente e da tensão no capacitor, analisar o sistema sob o aspecto do amortecimento e verificar se o sistema pode apresentar ressonância.

5

3. MODELAGEM FÍSICA

Circuito RLC série

O circuito RLC série está representado na Fig. acima. Esse circuito é constituído de uma fonte independente de tensão (V), um resistor (R), um indutor (L) e um capacitor (C). Tendo em conta a Lei das Malhas, ou seja, a segunda lei de Kirchoff estabelece que a soma das quedas e ganhos de potencial em circuito elétrico é igual a zero, sendo assim, podemos dizer que:

Como sabemos que:

Pode-se escrever a equação diferencial para o circuito. Sendo assim, obtêm:

A partir desta equação podemos começar a analise do circuito RLC.

6

3.1

CIRCUITO RLC – AMORTECIMENTO Observe que para resistência nula o circuito é oscilante indefinidamente. A introdução de fatores resistivos eletricamente torna o sistema amortecido devido às perdas de energia, que em geral são transformadas em calor. A função da bateria é carregar o capacitor após ele ter sido totalmente descarregado. Colocando a entrada (fonte de tensão) em zero, obtém-se:

0
Com as condições iniciais para a corrente do indutor, IL(0), e a tensão do capacitor VC(0). De modo a resolver a equação propriamente, as condições iniciais necessárias são I(0) e I'(0). Sendo assim, analisando o circuito RLC, pode-se verificar que I(0)=0 [A] e que para encontrar o valor de I’(0) é preciso utilizar a Lei da Tensão de Kirchoff. Obtêm:

Agora se tem uma equação diferencial de segunda ordem homogênea com duas condições iniciais. i’’ + R i’ + 1 i(t) = 0 L LC Convertendo a forma da equação para a equação característica: r2+ R r + 1 = 0 L LC Resolvendo a equação característica pelo Teorema de Báscara, é possível achar os valores das raízes da equação diferencial. Através destes valores, pode-se

7 chegar a três conclusões: o sistema pode ser superamortecido, criticamente amortecido ou subamortecido. 3.1.1 CIRCUITO RLC – SISTEMA SUPER AMORTECIDO

Neste caso, as soluções do polinômio característico são dois números reais, isto é chamado de "sobrecarga". Sendo assim, a soluções da equação diferencial será:

Onde A e B são constantes que serão obtidas através da substituição das condições iniciais. Gráfico Corrente X Tempo:

- Raízes reais e negativas Respostas do circuito RLC série com superamortecido

8

3.1.2

CIRCUITO RLC – SISTEMA CRITICAMENTE AMORTECIDO

Neste caso, as soluções do polinômio característico são dois números reais e iguais, isto é chamado de "carga crítica". Sendo assim, a soluções da equação diferencial será:

I(t) = (A + Bt) er.t
Onde A e B são constantes que serão obtidas através da substituição das condições iniciais. Gráfico Corrente X Tempo:

Circuito RLC série com Amortecimento Crítico

9

3.1.3. CIRCUITO RLC – SISTEMA SUBAMORTECIDO Neste caso, as soluções do polinômio característico são dois números complexos, isto é chamado de “subcarga” e resulta em oscilações no circuito. Sendo assim, a soluções da equação diferencial será:

Onde A é a parte real e B a parte complexa da raiz da equação característica, e C e D são constantes que serão obtidas através da substituição das condições iniciais.

10

3.2 CIRCUITO RLC – RESSONÂNCIA

Circuito RLC série com fonte de tensão alternada

Estudaremos o comportamento de um sistema formado pelos três elementos dispostos em série e conectados a um gerador de corrente alternada de amplitude V0 e freqüência angular w. V=V0 sen(w t) Nos circuitos RLC, com fontes alternadas, podem ocorrer o fenômeno denominado ressonância. Isto ocorrerá sempre que a freqüência angular da fonte externa for igual freqüência natural do circuito:

Como conseqüência, a amplitude de corrente io terá seu valor máximo quando a freqüência angular da fonte assumir o valor acima.

11

4. MÉTODOS DE SIMULAÇÃO Foram utilizados dois métodos para a simulação da equação que foi retirada do circuito: o método gráfico e o método numérico. A solução numérica foi resolvida pelos métodos de Runge-Kutta (de 4° ordem) e de Euler, através da linguagem C++ (o C++ é uma linguagem de programação de alto nível e de uso geral) e a solução gráfica foi resolvida utilizando os programas Matlab e Simulink. Na execução do programa, com relação à parte numérica o usuário visualizará o tempo de carga, descarga e a carga armazenada inicialmente no capacitor de seu circuito, a voltagem no instante de tempo que foi dado utilizando as soluções numéricas de Euler, Runge-Kutta. O usuário também poderá ver qual será o valor da corrente no tempo que foi escolhido. Observa-se que para saber a dimensão do erro dos métodos, é melhor escolhermos a solução numérica, pois esta fica mais visível.

VARIÁVEIS DE ENTRADA: • Fonte de tensão (Volts) • Resistores (KOhms) • Indutor (Henry) • Capacitor (Milifarady)

VARIÉVEIS DE SAÍDA: • Fonte de tensão (Volts) • Corrente elétrica (ampère) • Tempo (segundos)

12

4.1 MATLAB
MATLAB é um software interativo de alta performance voltado para o cálculo numérico. O MATLAB integra análise numérica e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente. Neste programa foi escrito o código do programa, e executado para a análise gráfica e numérica do circuito elétrico. Para a execução do programa foi considerado como entradas os valores da fonte de tensão, da resistência, do capacitor, que foram substituídos na equação diferencial obtida através da análise do circuito, e o instante de tempo que será analisado.  Condições iniciais: • Resistor = 80(Ohms) • Indutor = 2(Henry) • Capacitor =0.004 (Farady) • Tempo de simulação = 1 (Segundos)

13

4.1.1

CÓDIGO DO MATLAB PARA ANÁLISE GRÁFICA:

 Código no MATLAB

 Gráfico

14

4.2 SIMULINK
Simulink é uma ferramenta para modelamento, simulação e análise de sistemas dinâmicos. Sua interface primária é uma ferramenta de diagramação gráfica por blocos e bibliotecas customizáveis de blocos. Assim que definir um modelo e montá-lo, pode-se simular e analisar os resultados que esse dará sobre o sistema, após a simulação. Desenvolveu-se um sistema de blocos que representa o circuito estudado. Os blocos foram interligados para que pudessem representar o sistema dinâmico, ou seja, o circuito Resistivo Indutivo Capacitivo (RLC). Ao simular essa montagem, obtém-se um gráfico que representa a variação da tensão em função do tempo. Com a equação abaixo, tem como representar no Simulink a simulação do capacitor descarregando em função do tempo, lembrando que ela é feita na representação no “domínio de Laplace”. Utilizou-se como entrada: • Rampa • Degrau • Senóide  Condições iniciais: • • • • • Fonte de Tensão = 120 (Volts) Resistor = 80 (Ohms) Indutor = 2 (Henry) Capacitor = 0.004 (Farady) Tempo de simulação = 10 (Segundos)

15

4.2.1 RAMPA

• Diagrama de bloco:

• Gráfico V[volts] x t[segundo]

16

4.2.2 DEGRAU

• Diagrama de bloco:

• Gráfico V[volts] x t[segundo]

4.2.3 SENÓIDE

17

• Diagrama de bloco:

• Gráfico V[volts] x t[segundo]

18

4.3 MÉTODO DE EULER
O método de Euler, também conhecido como método da reta secante, é um dos métodos mais antigos que se conhece para a solução de equações diferenciais ordinárias. Problemas práticos não devem ser resolvidos por esse método. A equação abaixo é conhecida como fórmula de Euler.

A solução de uma equação diferencial pelo método de Euler é realizada pelo uso recursivo da equação acima usando as condições de contorno x0 e y0. O erro no método de Euler é da ordem de (h2 ). A solução numérica é encontrada com a avaliação das equações:

O Método de Euler segue o Método de Taylor, mas se limita à primeira derivada, ignorando da segunda derivada em diante. Pelo método de Euler, integrar numericamente uma equação diferencial significa obter uma lista de valores das variáveis dessa equação para diferentes valores de tempo a partir das condições iniciais. Conhecendo-se as condições iniciais pode-se obter, para um pequeno intervalo de tempo, o valor seguinte desta lista a partir da derivada temporal.

19 4.3.1 CÓDIGO DE EULER EM C++

#include <stdlib.h> /* biblioteca de funções */ #include <stdio.h> #include <math.h> #include <iostream.h> double f(double x, double y, double z) /* a função f(x,y,z)=dy/dx */ { return z; } double g(double x, double y, double z, double R, double L, double C, double v) /* a função g(x,y,z)=dz/dx */ { return ((v/L)-(R/L)*z-(1/(C*L))*y); } int main(int arc, char* argv[]) { double R,L,C; double v; cout<<"DIGITE O VALOR DO RESISTOR: "; cin>>R; cout<<"\nDIGITE O VALOR DO INDUTOR: "; cin>>L; cout<<"\nDIGITE O VALOR DO CAPACITOR: "; cin>>C; double xn, xn1, xmax; /* declaração de xn, xn+1 e val máximo de x na simulação */ double yn, yn1; /* declaração de yn e yn+1 */ double zn, zn1; /* declaração de zn e zn+1 */ double h; /* passo */ double x0,y0,z0; /* valores iniciais de x, y e z */ int n,k; /* número de iterações */ int flag; if (flag==1) { cout<<"\nQual a amplitude da senoide? "; cin>>k; } else if (flag==2) { cout<<"\nDigite valor de k: "; cin>>k; } else

20 { v=0; } cout<<"\nXo= "; cin>>x0; cout<<"\nXf= "; cin>>xmax; y0 = 0.0; cout<<"\nDERIVADA DE y0= "; cin>>z0; cout<<"\nPASSO= "; cin>>h; cout<<"\nDIGITE: 1)senoide 2)rampa 3)degrau "; cin>>flag; n = 0; /* inicializa as variáveis com os valores iniciais*/ xn = x0; yn = y0; zn = z0; while(xn<xmax) { printf("%i %f %f \n",n,xn,yn);

xn1 = xn + h; /* realiza uma iteração do método de Runge-Kutta */ yn1 = yn + h * f(xn,yn,zn); zn1 = zn + h * g(xn,yn,zn,R,L,C,v); n = n + 1; /* atualiza as variáveis para a próxima iteração */ xn = xn1; yn = yn1; zn = zn1; }/* while */ system ("PAUSE");/* termina a execução do programa */ return 0; }

21 4.3.2 TABELA  Condições iniciais: • • • • • Fonte de Tensão = 120 (Volts) Resistor = 80 (Ohms) Indutor = 2 (Henry) Capacitor = 0.004 (Farady) Tempo de simulação = 10 (Segundos)

22

4.4 MÉTODO DE RUNGE-KUTTA
Em análise numérica, o Método de Runge–Kutta forma uma família importante de métodos iterativos implícitos e explícitos para a resolução numérica (aproximação) de soluções de equações diferenciais ordinárias. Seja um problema de valor inicial (PVI) especificado como segue:

Então o método Runge-Kutta de 4ª Ordem (RK4) para este problema é dado pelas seguintes equações:

Onde yn + 1 é a aproximação por RK4 de y(tn + 1), e

Então, o próximo valor (yn+1) é determinado pelo valor atual (yn) somado com o produto do tamanho do intervalo (h) e uma inclinação estimada. O Método de Runge-Kutta, ou Euler Melhorado, leva em conta a variação da primeira derivada e, com isso, melhora a previsão que faz dos valores da função y(x).

23

4.4.1 CÓDIGO DE RUNGE KUTTA EM C++

#include<iostream.h> #include <stdlib.h> /* biblioteca de funções */ #include <stdio.h> #include <math.h> double f(double x, double y, double z) /* a função f(x,y,z)=dy/dx */ { return z; } double g(double x, double y, double z, double r, double l, double c, double v) /* a função g(x,y,z)=dz/dx */ { return ((v/l)-(r/l)*z-(1/(c*l))*y); } int main(int arc, char* argv[]) { double r,l,c; int flag; double k; double v; cout<<"Digite R: "; cin>>r; cout<<"\nDigite L: "; cin>>l; cout<<"\nDigite C: "; cin>>c; cout<<"\ndigite: 1)senoide 2)rampa 3)degrau: "; cin>>flag; if (flag==1) { cout<<"\nQual a amplitude da senoide? "; cin>>k; } else if (flag==2) { cout<<"\nDigite valor de k: "; cin>>k; } else { v=0; } double xn, xn1, xmax; /* declaração de xn, xn+1 e val máximo de x na simulação */ double yn, yn1; /* declaração de yn e yn+1 */

24 double zn, zn1; /* declaração de zn e zn+1 */ double h; /* passo */ double x0,y0,z0; /* valores iniciais de x, y e z */ double k1, k2, k3, k4; /* variáveis auxiliares do método de Runge-Kutta */ double l1, l2, l3, l4; /* variáveis auxiliares do método de Runge-Kutta */ int n; /* número de iterações */ cout<<"\nDigite x0: "; cin>>x0; cout<<"\nDigite xf: "; cin>>xmax; y0 = 0.0; cout<<"\nDigite derivada de y0: "; cin>>z0; cout<<"\nDigite o passo: "; cin>>h; n = 0; /* inicializa as variáveis com os valores iniciais*/ xn = x0; yn = y0; zn = z0; while(xn<xmax) { if (flag==1) v=k*377*cos(377*n); else if(flag==2) v=k; else v=0; printf("%i %f %f \n",n,xn,yn); /* escreve os valores das variáveis */ k1 = h*f(xn, yn, zn); /* realiza uma iteração do método Runge-Kutta */ l1 = h*g(xn, yn, zn, r, l, c, v); k2 = h*f(xn+(1/2)*h, yn+(1/2)*k1, zn+(1/2)*l1); l2 = h*g(xn+(1/2)*h, yn+(1/2)*k1, zn+(1/2)*l1, r, l, c, v); k3 = h*f(xn+(1/2)*h, yn+(1/2)*k2, zn+(1/2)*l2); l3 = h*g(xn+(1/2)*h, yn+(1/2)*k2, zn+(1/2)*l2, r, l, c, v); k4 = h*f(xn+h, yn+k3, zn+l3); l4 = h*g(xn+h, yn+k3, zn+l3, r, l, c, v); xn1 = xn + h; yn1 = yn + (1/6.0)*(k1 + 2*k2 + 2*k3 + k4); zn1 = zn + (1/6.0)*(l1 + 2*l2 + 2*l3 + l4); n = n + 1; /* atualiza as variáveis para a próxima iteração */ xn = xn1; yn = yn1; zn = zn1; }/* while */ system("pause"); return 0; /* termina a execução do programa */ }

25

4.4.2 TABELA  Condições iniciais: • Fonte de Tensão = Degrau • Resistor = 80 (Ohms) • Indutor = 2 (Henry) • Capacitor = 0.004 (Farady) • Tempo de simulação = 10 (Segundos)

26

5. CONCLUSÃO Conclui-se que o Método de Euler é menos eficiente em relação ao Método de Runge-Kutta, pois se limita à primeira derivada, ignorando da segunda derivada em diante, sendo assim a margem de erro é maior. Já o Método de Runge-Kutta leva em conta a variação da primeira derivada, permitindo dessa forma, uma previsão mais eficaz do valor de v(t). O Simulink é um programa destinado à simulação de sistemas dinâmicos. Ele opera em conjunto com o Matlab, mas ao contrário dele, a sua interface com o usuário é totalmente gráfica, feita a partir da interconexão de blocos. Concluímos também que a função senoidal é uma das mais importantes para a teoria de circuitos e por várias razões foi escolhida para ser utilizada na maioria das aplicações elétricas.

27

6. REFERÊNCIAS BIBLIOGRÁFICAS

 SITES: http://pt.wikipedia.org/wiki/Circuito_RLC http://porthos.ist.utl.pt/ http://www.arauto.uminho.pt http://pt.wikipedia.org/wiki/Método_de_Runge-Kutta http://www.dee.ufc.br/~laurinda/circuitos1/EXP08_Mat_Simulink.pdf

    

28