Mestrado Integrado em Engenharia da Energia e do Ambiente
Licenciatura em Meteorologia, Oceanografia e Geofísica
Licenciatura em Engenharia Geoespacial
DEGGE-FCUL
Departamento de Engenharia Geográfica, Geofísica e Energia
Faculdade de Ciências da Universidade de Lisboa
Um circuito RLC em série contém uma resistência (R), um condensador (C) e um indutor ou bobina (L):
Uma das características importantes destes circuitos é que, quando ligados a fontes de tensão alterna, a resistência total do circuito à passagem da corrente depende da frequência da tensão aplicada. Esta característica faz com que os circuitos RLC sejam úteis como filtros: utilizando diferentes combinações de resistência, condensador e bobina podemos deixar passar apenas corrente de baixa frequência, de alta frequência, ou numa banda de frequências de interesse.
Os componentes dos circuitos RLC que lhe dão o carácter de filtro são a bobina e o condensador. A resistência destes dois componentes à passagem da corrente depende da frequência. Conforme a tensão aplicada tiver maior ou menor frequência, eles deixarão passar mais ou menos corrente.
Neste caso, em que a resistência dos componentes à passagem da corrente depende da frequência da tensão aplicada, falamos de forma genérica em impedâncias (Z). A lei de Ohm $(V=RI)$ pode ser generalizada para traduzir a relação entre tensão (V) e corrente (I) nestes casos:
$$V=ZI$$A bobina e o condensador geram também um desfasamento (de $\pm \pi$/2) entre a corrente que por eles passa e a tensão medida nas suas extremidades. Na bobina, a tensão está avançada em relação à corrente, enquanto que no condensador se verifica o contrário.
As impedâncias dos três componentes do circuito RLC escrevem-se nas seguintes formas complexas:
$$Z_R=R$$$$Z_L= i \omega L $$$$Z_C= -\frac{i}{\omega C}$$Onde R designa a resistência (Ohm), L a indutância (Henry) e C a capacitância (Farad). Neste formato, as impedâncias contêm toda a informação sobre como a resistência depende da frequência ($\omega$) e sobre o desfasamento gerado entre corrente e tensão ($i$ ou $-i$).
Todos os componentes dos circuitos RLC têm um comportamento linear quando sujeitos a corrente alterna. Assim sendo, no caso de uma tensão aplicada sinusoidal:
$$V=V_0 \cos(\omega t)$$A corrente no circuito RLC será também sinusoisal, com uma amplitude genérica $I_0$ e um desfasamento genérico $\phi$:
$$I=I_0 \cos(\omega t + \phi)$$Na forma complexa, podemos escrever de forma equivalente:
$$V=V_0 \cos(\omega t) = Re(V_0 e^{i \omega t})$$$$I = I_0 \cos(\omega t + \phi) = Re(I_0 e^{i (\omega t + \phi)})$$A resposta do circuito a uma tensão sinusoidal é calculada tendo em conta a lei das malhas de Kirchoff, que se pode generalizar para as impedâncias:
$$V = V_R + V_L + V_C $$Podemos então calcular qual a corrente que passa no circuito em função dos seus componentes e da tensão aplicada:
$$V = ZI $$$$V = \left[ Z_R + Z_L + Z_C \right] I $$$$V_0 e^{i \omega t} = \left[R + i \omega L -\frac{i}{\omega C}\right] I_0 e^{i (\omega t + \phi)} $$$$V_0 = \left[R + i \omega L -\frac{i}{\omega C}\right] I_0 e^{i \phi} $$$$\frac{V_0}{R + i \omega L -\frac{i}{\omega C}} = I_0 e^{i \phi} $$O código seguinte mostra um exemplo de aplicação desta fórmula para calcular a amplitude e fase da corrente num circuito RLC em função da frequência.
%matplotlib inline
from __future__ import print_function # Facilita a função print: print("Hello")
import numpy as np # Importar NumPy - funções numéricas
import matplotlib.pyplot as plt # Importar MatplotLib - gráficos
from numpy import pi as pi
plt.rcParams['figure.figsize'] = 8, 8
#%% Circuito RLC
# Cálculo da relação Tensão-Corrente (amplitude e fase)
# Parâmetros:
R=1000. # Resistência, ohm
L=1.0e-2 # Impedância da bobina, H
C=1.0e-6 # Capacidade do condensador, F
V0=1.0 # Amplitude do potencial aplicado, V
#%% Cálculo:
omega = 2*pi* np.arange(10., 1.e6, 10.) # Vector de frequências angulares
Z = R - 1j/(omega*C) + 1j*omega*L ; # Impedância do circuito
I=V0/Z # Corrente no circuito
I0=np.abs(I) # Amplitude da corrente para cada frequência
phi=np.angle(I) # Diferença de fase entre tensão e corrente para cada frequência
# Gráficos:
plt.subplot(2,1,1)
plt.semilogx(omega,I0)
plt.title('Circuito RLC')
plt.ylabel('Amplitude (I0)')
plt.autoscale(enable=True, axis='x', tight=True)
plt.grid()
plt.subplot(2,1,2)
plt.semilogx(omega,phi/pi)
plt.xlabel('Frequencia Angular (omega)')
plt.ylabel('Fase (phi/pi)')
plt.autoscale(enable=True, axis='x', tight=True)
plt.grid()
Mostra qual a função de transferência (resposta em aplitude e em fase) de três circuitos RLC com $L=[0.1L_0, L_0, 10L_0]$. Considera que $C=C_0$, $R=R_0$ e $V=V_0$, em que $L_0$, $C_0$, $R_0$ e $V_0$ têm os valores utilizados no exemplo acima. Faz a sobreposição das três curvas no mesmo gráfico, utilizando cores diferentes.
# Parâmetros:
R0=1000. # Resistência, ohm
L0=1.0e-2 # Impedância da Bobine, H
C0=1.0e-6 # Capacidade do condensador, F
V0=1.0 # Amplitude do potencial aplicado, V
L1 = np.array([0.1*L0, L0, 10*L0])
R=R0
C=C0
omega = 2*pi* np.arange(10., 1.e6, 10.) # Vector de frequências angulares
cor=['r', 'g', 'b']
lab = ['L = '+ str(x) + ' H' for x in list(L1) ]
plt.close
for i in range(len(L1)):
L=L1[i]
Z = R - 1j/(omega*C) + 1j*omega*L ; # Impedância do circuito
I=V0/Z # Corrente no circuito
phi=np.angle(I) # Diferença de fase
I0=np.abs(I) # Amplitude da corrente
# Gráficos:
plt.subplot(2,1,1)
plt.semilogx(omega,I0, cor[i], label=lab[i])
plt.subplot(2,1,2)
plt.semilogx(omega,phi/pi, cor[i], label=lab[i])
plt.subplot(2,1,1)
plt.title('Circuito RLC')
plt.ylabel('Amplitude (I0)')
plt.legend(); plt.grid()
plt.autoscale(enable=True, axis='x', tight=True)
plt.subplot(2,1,2)
plt.xlabel('Frequencia Angular (omega)')
plt.ylabel('Fase (phi/pi)')
plt.legend(); plt.grid()
plt.autoscale(enable=True, axis='x', tight=True)
Utiliza os parâmetros para um circuito RLC dados no exemplo e considera que a tensão imposta pelo gerador é:
(a) um coseno com frequência angular $10^4 s^{-1}$ e fase inicial nula;
(b) um coseno com frequência angular $5 \times 10^4 s^{-1}$ e fase inicial nula;
(c) um coseno com frequência angular $5 \times 10^5 s^{-1}$ e fase inicial nula;
(d) soma das três sinusoides anteriores
Para cada caso, calcula a tensão na resistência em função do tempo, e sobrepõe a tensão na resistência à tensão imposta pelo gerador. Representa sempre o sinal com dois ciclos completos do sinal mais lento.
Sugestão: Começa por definir um vector que descreve variação da tensão no tempo. Tempo em conta a impedância do circuito, calcula a corrente no circuito a partir da tensão imposta. Depois, aplica a lei de Ohm na resistência para calcular a tensão na resistência. Atenção: a tensões medidas serão apenas a parte real dos valores complexos calculados.
plt.close()
# Parâmetros:
L=L0 # Impedância da bobina
omega = np.array([1e4,5e4,5e5]) # 3 frequências angulares (omega)
T = 2*pi/omega # 3 períodos (T)
Z = R - 1j/(omega*C) + 1j*omega*L ; # Impedância do circuito para cada frequência
# Loop para cada frequência/período
for i in range(len(T)):
t = np.arange(0, 2*T[i], T[i]/100) # Tempos entre 0 e 2T
V = V0 * np.exp(1j * omega[i] * t) # Tensão no gerador a cada momento
I = V/Z[i]; # Corrente no circuito a cada momento
plt.subplot(3,1,i+1)
plt.plot(t,np.real(V), label='V')
VR = R*I # Tensão na Resistência
plt.plot(t, np.real(VR), '--r', label='VR')
plt.title('cos(' + str(omega[i]) +'t)')
plt.grid()
plt.legend()
plt.ylabel('Voltagem ou Tensao (V)')
plt.tight_layout()
plt.xlabel('Tempo (s)')
#%% Soma dos 3 sinosoides
plt.close()
plt.rcParams['figure.figsize'] = 15, 8
t = np.arange(0, 2.*max(T), min(T)/100.)
V=0
VR=0
# Loop para cada sinusóide
for i in range(len(T)):
V1 = V0 * np.exp(1j * omega[i] * t) # Tensão no gerador a cada momento, para cada sinusoide
V=V+V1 # Tensão total no gerador a cada momento (soma das sinusoides)
I = V1/Z[i]; # Corrente no circuito a cada momento, correspondente a cada sinusoide
VR = VR + R*I # Soma das tensões na resistência geradas por cada sinusoide
plt.plot(t, np.real(V)) # tensão de input
plt.plot(t, np.real(VR), 'r') # tensão nos terminais da resistência
plt.grid()
plt.ylabel('Voltagem ou Tensao (V)')
plt.xlabel('Tempo (s)')
Avalia visualmente o desfasamento e a atenuação dos sinais.
O circuito atenua e produz um atraso no sinal. O efeito é mais significativo para frequências angulares mais elevadas.
Discute o comportamento do circuito como filtro.
O circuito RLC pode ser utilizado como filtro. Neste caso, verificamos que o circuito deixa passar o sinal mais efectivamente numas frequências do que noutras. O comportamento obtido é o esperado tendo em contra a resposta do circuito descrita no exemplo (relacionar os gráficos de resposta com as voltagens de input/output obtidas para cada frequência).