View
1.283
Download
2
Category
Preview:
Citation preview
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISENGENHARIA DE CONTROLE & AUTOMAÇÃO
DISCIPLINA: FÍSICA III Prof.ª: VÂNIA AGUIAR
TRABALHO DE FÍSICA III
JUNHO, 2009BELO HORIZONTE – MG
ÍNDICE
2
1.INTRODUÇÃO 03
2.OBJETIVO 04
3.MODELAGEM FÍSICA 05
3.1. CIRCUITOS RLC – AMORTECIMENTO 06 3.2. CIRCUITO RLC – RESSONÂNCIA 10
4.MÉTODOS DE SIMULAÇÃO 11
4.1.MATLAB 12
4.2.SIMULINK 14
4.3.MÉTODO DE EULER 18
4.4.MÉTODO DE RUNGE-KUTTA 22
1. CONCLUSÃO 26
2. REFÊNCIAS BIBLIOGRÁFICAS 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
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.
Circuito RLC série
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:
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
chegar a três conclusões: o sistema pode ser superamortecido, criticamente
amortecido ou subamortecido.
0
7
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]
4.2.2 DEGRAU
16
Diagrama de bloco:
Gráfico V[volts] x t[segundo]
4.2.3 SENÓIDE
Diagrama de bloco:
17
Gráfico V[volts] x t[segundo]
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.
18
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.
4.3.1 CÓDIGO DE EULER EM C++
#include <stdlib.h> /* biblioteca de funções */ #include <stdio.h>
19
#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 { v=0; }
cout<<"\nXo= ";cin>>x0;
20
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; }
4.3.2 TABELA
Condições iniciais:
21
• Fonte de Tensão = 120 (Volts)
• Resistor = 80 (Ohms)
• Indutor = 2 (Henry)
• Capacitor = 0.004 (Farady)
• Tempo de simulação = 10 (Segundos)
4.4 MÉTODO DE RUNGE-KUTTA
22
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).
4.4.1 CÓDIGO DE RUNGE KUTTA EM C++
23
#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 */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 */
24
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 dasvariá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 */}
4.4.2 TABELA
25
Condições iniciais:
• Fonte de Tensão = Degrau
• Resistor = 80 (Ohms)
• Indutor = 2 (Henry)
• Capacitor = 0.004 (Farady)
• Tempo de simulação = 10 (Segundos)
5. CONCLUSÃO
26
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
Recommended