Avançar para o conteúdo principal

RMS: A raiz quadrada da média do quadrado

Quem estudou electricidade, cedo aprendeu a diferença entre valores máximos, valores médios e valores eficazes de um sinal, por norma sinusoidal. Aprendeu também a decorar a relação entre valor máximo e valor eficaz de uma onda, também e só sinusoidal.
Mas se usarmos outra forma de onda, essas relações já não são válidas. Se usarmos uma rectificação de meia onda, qual é o valor médio da tensão obtida? e o valor eficaz? e se for uma rectificação de onda completa? ou uma onda dente de serra? Bem, podemos consultar livros ou mesmo procurar na Internet e temos o problema resolvido. Decoramos durante uns tempos e mais tarde voltamos a esquecer.
O meu objectivo com estas linhas é tentar abordar o assunto de forma a facilitar o entendimento sobre a obtenção dos valores médios e eficazes de um sinal periódico, seja ele qual for, sinusoidal ou não.

Valor máximo

O valor máximo é fácil de entender. É simplesmente o valor máximo que o sinal atinge durante um ciclo ou período T.

Valor médio

Penso que todos nós estamos habituados a fazer médias, desde o tempo da escola. 15 a português, 19 a matemática e 14 a inglês dá uma média de (15+19+14)/3=16. 
Da mesma forma, o valor médio de um sinal é a média dos valores que o sinal toma ao longo de um período T. Para obter essa média de valores, divide-se o período T em fatias o mais pequenas possível, mede-se o valor que o sinal toma em cada uma dessas fatias, somam-se todos os valores obtidos e no final divide-se pelo número de fatias.

Sinais Rectangulares:


Fig.1 sinal rectangular
Na figura 1 temos um sinal rectangular com um "duty cycle" de 20% e 10V quando activo e -10 quando em repouso. O tempo em repouso corresponde a 80% de T. A pergunta é: qual o valor médio? ora bem, se dividirmos o sinal em 100 fatias e medirmos o valor em cada uma delas ficamos com 20 fatias a medir 10V e 80 a medir -10. somamos tudo e ficamos com 20*10 + 80*-10=-600. Dividimos pelo número total de fatias e ficamos com o valor médio: -600/100=Vmed=-6V. Neste caso podemos até fazer Vmed = 0.2*10 + 0.8*-10 = -6V. No entanto vamos preferir a técnica das fatias por uma questão de universalidade de aplicação. Sem querer assustar ninguém, apresento na figura 2 a forma de abordar o tema nas publicações de engenharia:
Fig.2 
Como estamos a lidar com uma onda rectangular, o que interessa é a relação entre o tempo on e o tempo off e os respectivos valores tomados em cada um dos estados. Usando a fórmula da Fig. 2, e só para exemplificar, assumimos T=1 e dizemos que até 0,2T temos 10V e entre 0,2T e T temos -10V. Podemos fazê-lo de 2 maneiras conforme mostra a figura 3 
Fig. 3
No primeiro caso usamos uma função por ramos e no segundo integramos separadamente cada uma das partes do sinal (on de 0 a 0.2T e off de 0.2T a T). Se tem uma calculadora que resolva integrais e se sentir á vontade com este processo, é um dos mais rápidos. Caso contrário pode usar a técnica das fatias conforme já foi apresentado.

Sinais triangulares

Todos os tipos de sinais periódicos, sejam de que tipo forem, utilizam a mesma técnica de cálculo do valor médio: dividir T em fatias finas, medir o valor em cada fatia de T, somar todos os valores medidos e dividir pelo numero de fatias. Podemos automatizar o processo de cálculo, usando calculadoras, folhas de cálculo, ou até simples programas  em C ou qualquer outra linguagem.
vou exemplificar o uso de uma folha de cálculo,  para obter o valor médio de um sinal triangular, dividindo-o em 400 fatias:
  • Colocamos numa coluna números inteiros entre 1 e 400. Representa as fatias.
  • Dividimos o sinal em 4 partes 
    1. sobe entre a fatia 1 e 100, atingindo o valor máximo de 1;
    2. desce entre a fatia 101 e 200 até 0; 
    3. desce entre a fatia 201 e 300 até -1;
    4. sobe entre a fatia 301 e 400 até 1.
  • Noutra coluna vamos colocar o valor atribuído à onda triangular. Como queremos que o sinal varie entre 0 e 1 na primeira parte do sinal, o incremento por fatia será de 1/100 uma vez que cada parte do sinal tem 100 fatias. Vamos começar colocando 1/100 na primeira célula, correspondente á fatia 1, digamos B1.
  • Na célula imediatamente abaixo, em B2, coloque a fórmula =B1+1/100. Como vamos querer um valor crescente entre 0 e 1, entre as fatias 1 e 100, incrementamos 1/100 avos em cada fatia. Copie esta fórmula até à posição relativa à fatia 100. Deve nessa posição relativa à fatia 100 obter o valor 1.
  • Na célula abaixo, em B101, coloque a fórmula =B100-1/100. Vamos agora querer um valor decrescente entre 1 e -1, entre as fatias 101 e 300. Copie a fórmula até á posição relativa á fatia 300. 
  • Na posição relativa á fatia 301 coloque a fórmula =B300+1/100. Copie até à posição relativa à fatia 400.
  • Numa posição à sua escolha, formate a célula de forma a obter números com 3 casas decimais e  introduza a fórmula que nos dá a média dos valores entre B1 e B400. A fórmula será =MÉDIA(B1:B400) Obterá então o valor médio que neste caso será zero, porque as alternâncias positiva e negativa são simétricas. Poderá também somar os valores entre B1 e B400 e dividir o resultado por 400 que é neste caso o numero de fatias. É importante que formate a célula do resultado com 3 decimais pois se não o fizer poderá obter números muito pequenos, próximos mas diferentes de zero, devido ao facto de não analisarmos todos os pontos da onda que sendo de variação contínua não se limita a 400 valores por ciclo. Isto dá origem a um pequeno erro. que será tanto menor quanto maior for o número de fatias.
Usando a calculadora talvez seja mais rápido se encontrarmos uma função que descreva a onda triangular. Eu usei a seguinte função por ramos  ilustrada na fig.4

Fig. 4
Fiz o gráfico da função, para ter certeza que correspondia ao pretendido. O gráfico obtido está ilustrado na Fig. 5  

Fig. 5
Agora que tenho a certeza que a função descreve o sinal pretendido, vamos aplicar a fórmula que nos dá a média:


Fig.6 
Conforme mostrado no canto superior direito da Fig.6, o resultado é zero, conforme era expectável.

Sinais sinusoidais e afins

Os sinais sinusoidais e derivados (rectificação de meia onda e onda completa) são oriundos da função seno que todos bem conhecemos. O valor médio da função seno é zero, pois existe uma alternância positiva e outra negativa de onde resulta um valor médio igual a zero. Se quisermos comprovar, podemos fazer os cálculos conforme mostra a figura 7

Fig. 7
No topo da Fig. 7, vemos o resultado do cálculo do valor médio de 1 período inteiro da função seno (360º).
No meio da mesma figura, calculamos o valor médio de uma rectificação de meia onda. Só consideramos os valores na alternância positiva (0-180º) porque na segunda alternância são iguais a zero. Temos no entanto de dividir o total por 360 fatias, pois os zeros contam para a média. Obtemos 1/pi ~= 0.318 Vmax.
Se os integrais o assustam podemos fazer o cálculo com outras ferramentas desde que entendamos o conceito que está por detrás do valor médio de um sinal. Vamos por exemplo calcular o mesmo valor médio através de um pequeno programa para o Arduino. Neste caso usamos 400 fatias.

// Valor médio de um sinal rectificado de 1/2 onda
// Soma os valores de todos os senos dos primeiros 180 graus ou meio período
// Divide pelo numero de fatias em que cortamos o período 
// Obtemos assim o valor médio no período T

#define fatias 400 //Numero de fatias
#define pi 3.1415927 //O Arduino não conhece o valor de pi. Temos de o ensinar :)

float valormedio = 0; //Inicialização de variáveis
float vtotal = 0;

void setup() {
Serial.begin(9600); // inicializa porto serie
for (float i = 0; i <= pi; i = i + pi / (fatias/2)) { //O arduino trabalha em radianos. 
vtotal = vtotal + sin(i); //vamos somando o valor dos senos de 0 a 180º ou pi radianos
}
valormedio = vtotal / (fatias); 
Serial.println(valormedio, 3);
}
void loop() {
}

Obtivemos novamente o valor de 0.318 Vmax, o que confirma os primeiros cálculos.

Na parte inferior da figura 7, calculamos o valor médio de um sinal rectificado em onda completa. Como sabemos, na onda completa a frequência duplica e consequentemente o período T passa a metade. Vamos portanto adaptar o cálculo, dizendo que basta analisar meia alternância (0-180º) e calcular o valor médio dessa alternância. Obtemos 2/pi que é o dobro do valor médio obtido com a rectificação de meia onda. 2/pi é igual a 0.637 Vmax.
Voltando ao método de cálculo usando um programa para Arduino:

// Valor médio de um sinal rectificado de onda completa
// Soma os valores de todos os senos dos primeiros 180 graus
// Divide pelo numero de fatias em que cortamos o período. De notar que o período do sinal rectificado corresponde a meio período do sinal de entrada
// Obtemos assim o valor médio no período T
#define fatias 400 //Numero de fatias
#define pi 3.1415927 //O Arduino não conhece o valor de pi. Temos de o ensinar :)
float valormedio = 0; //Inicialização de variáveis
float vtotal = 0;
void setup() {
Serial.begin(9600); // inicializa porto serie
for (float i = 0; i <= pi; i = i + pi / (fatias)) { //O arduino trabalha em radianos.
vtotal = vtotal + sin(i); //vamos somando o valor dos senos de 0 a 180º ou pi radianos
}
valormedio = vtotal / (fatias);
Serial.println(valormedio, 3);
}
void loop() {}



Obtivemos o mesmo resultado. 0.637 * VMax que é igual a 2/pi * Vmax.

Valor eficaz

Ao observar o gráfico de uma corrente alternada sinusoidal, verificamos que ela varia constantemente a um ritmo sinusoidal repetindo-se a cada ciclo. Toma vários valores entre -Imax e +Imax, passando duas vezes por zero em cada ciclo. Cada ciclo ou período tem uma alternância positiva e outra negativa, iguais mas de sinal contrário. Para além do valor máximo, mínimo e médio existe um outro valor muito importante que se chama o valor eficaz. O valor eficaz da corrente alternada é o valor que produz o mesmo efeito calorifico que uma corrente contínua, numa mesma resistência. O efeito calorifico acontece tanto na alternância positiva como negativa, mas como temos uma variação constante entre valores máximos e mínimos precisamos saber qual é o valor que produz o mesmo efeito calorífico na resistência que uma corrente contínua. Por exemplo: se tivermos uma corrente alternada com um Imax de 10A, provoca na resistência um efeito calorifico igual a uma corrente continua de quantos amperes? Esta questão coloca-se tanto num sinal sinusoidal como em outro qualquer. 
O valor eficaz ou RMS (Root Mean Square), é por definição a raiz quadrada da média do quadrado de um sinal. Vamos então ver como calcular esse valor, qualquer que seja o sinal em análise. No caso de uma onda sinusoidal, todos decoramos que o Valor eficaz é igual a raiz de 2 sobre 2 ou 0,707 * Imax. Vamos ver como se calcula. Dizem os livros que o valor eficaz é:

Quer isto dizer que para calcular o valor eficaz:
  • Elevamos ao quadrado os valores da função que descreve o sinal;
  • Calculamos a média do quadrado dos valores obtidos em cada fatia;
  • Calculamos a raiz quadrada da média do quadrado dos valores.
Vamos então aos cálculos:


Confirma-se que o valor eficaz de uma sinusóide é raiz de dois sobre dois * Imax ou Vmax, consoante estejamos a falar de uma corrente ou de uma tensão.
Como já praticámos o cálculo das médias, vou-me focar no cálculo dos valores eficazes. Voltamos agora à figura 1 para exemplificar o calculo do valor eficaz. Usamos a mesma fórmula que quando calculamos as médias, mas desta vez elevamos os valores ao quadrado:



Como podemos ver, o valor eficaz é de 10V como consta na figura.

No caso da onda triangular:




Pegamos na fórmula usada na média, elevamos os valores da função ao quadrado, Calculamos a média do quadrado da função e seguidamente calculamos a raiz quadrada para obter o valor RMS de 0.577 * Imax ou Imax/raiz de 3.

Vamos seguidamente exemplificar o cálculo de um valor eficaz, por exemplo da sinusóide, usando o ambiente de desenvolvimento do Arduino:

// Valor eficaz de uma sinusoide
// Soma os valores de todos os quadrados dos senos dos 360 graus
// Divide pelo numero de fatias em que cortamos o período.
// Calcula a raiz quadrada da média dos quadrados do seno (RMS)
// Obtemos assim o valor eficaz no período T

#define fatias 400 //Numero de fatias
#define pi 3.1415927 //O Arduino não conhece o valor de pi. Temos de o ensinar :)
float vmedio = 0; //Inicialização de variáveis
float vtotal = 0;
float veficaz = 0;

void setup() {
Serial.begin(9600); // inicializa porto serie
for (float i = 0; i <= 2*pi; i = i + (2*pi) / (fatias)) { //O arduino trabalha em radianos.
vtotal = vtotal + sin(i)*sin(i); //vamos somando o valor dos quadrados dos senos de 0 a 360º
}

vmedio = vtotal / (fatias);
veficaz = sqrt(vmedio);
Serial.println(veficaz,3);
}

void loop() {}



Obtemos 0,707 que é equivalente a raiz de dois sobre dois.

Percebendo o princípio de cálculo, podem-se usar as mais diversas ferramentas como folhas de cálculo ou outras que estejam ao dispor.
Vou terminar com dois programas exemplo para o cálculo de ondas quadradas e triangulares:

Valor eficaz de ondas quadradas:

Vamos usar o sinal da figura 1, pois já sabemos os resultados e podemos assim verificar se o programa faz os cálculos correctamente.

// Valor eficaz de uma onda quadrada
// Soma os valores de todos os quadrados dos valores obtidos em cada fatia
// Divide pelo numero de fatias em que cortamos o período. Ficamos com a média dos quadrados
// Calcula a raiz quadrada da média dos quadrados
// Obtemos assim o valor eficaz no período T

float fatias = 400; //fatias, embora seja um numero inteiro, deve-se declarar float para coerencia de tipos nas operações
float valor = 0; //Valor instantaneo do sinal
float vmedio = 0; //Inicialização de variáveis
float vtotal = 0;
float veficaz = 0;
float dutycycle = 0.2; //Definir aqui o duty cycle (Ton/Toff)
float vhi = 10.0; //Definir aqui o valor alto em volts
float vlow = -10.0; //Definir aqui o valor baixo em volts

void setup() {
for (float i = 0; i <= 1; i = i + 1 / fatias) { // fatiamos o periodo T em n fatias
if (i < dutycycle) {
valor = vhi;
}
else {
valor = vlow;
}
vtotal = vtotal + valor * valor; //vamos somando o valor dos quadrados
}
vmedio = vtotal / (fatias);
veficaz = sqrt(vmedio);
Serial.begin(9600); // inicializa porto serie
Serial.print( "Valor Eficaz: ");
Serial.print(veficaz, 1);
Serial.println( " V");
}
void loop() {
}


Obtemos o mesmo resultado que anteriormente, o que significa que o programa está a calcular bem o valor eficaz.

Valor eficaz de ondas triangulares:

Vamos agora fazer um programa para calcular o valor eficaz de uma onda triangular. Podemos usar a onda triangular da fig 5 com um Vmax de 1V. Já efectuamos o cálculo do valor eficaz com outro método e obtivemos um valor eficaz de 0.577 Vmax ou Vmax sobre raiz de 3. Vamos ver se obtemos o mesmo resultado agora. O princípio de cálculo é o mesmo. Dividimos o sinal nas suas partes constituintes, em que na primeira parte sobe de 0 a 1, na segunda desce de 1 a -1 e na última sobe de -1 até zero.

// Valor eficaz de uma onda Triangular
// Soma os valores de todos os quadrados dos valores obtidos em cada fatia
// Divide pelo numero de fatias em que cortamos o período.
// Calcula a raiz quadrada da média dos quadrados
// Obtemos assim o valor eficaz no período T

float fatias = 400; //numero de fatias. Embora seja um numero inteiro, deve-se declarar float para coerência de tipos nas operações aritméticas
float valor = 0; //Valor instantâneo do sinal
float vmedio = 0; //Inicialização de variáveis
float vtotal = 0;
float veficaz = 0;

void setup() {
Serial.begin(9600); // inicializa porto serie
for (int i = 0; i < fatias; i ++) { // fatiamos o período T em n fatias
if (i <= (fatias / 4)) { //primeiro quarto do periodo
valor = valor + 1 / (fatias / 4); //Sobe de zero a 1 em 1 / 4 do período
}
else if (i > (fatias * 3 / 4)) { //ultimo quarto do período. (3/4 do período ate ao fim)

valor = valor + 1 / (fatias / 4); //Sobe de - 1 a 0 no ultimo quarto do período
}
else {
valor = valor - 1 / (fatias / 4); // periodo entre 1/4 e 3/4 é sempre a descer
}
vtotal = vtotal + valor * valor; //vamos somando o valor dos quadrados
}
vmedio = vtotal / (fatias);
veficaz = sqrt(vmedio);
Serial.print( "Valor Eficaz: ");
Serial.print(veficaz, 3);
Serial.println( " Vmax");
}

void loop() {
}


Obtivemos o mesmo resultado que na calculadora. 0,577 Vmax que é equivalente a Vmax * 1/ raiz de 3

O objectivo principal destes exercícios é melhorar a compreensão dos valores médios e eficazes de uma qualquer onda, através dos vários meios e formas possíveis. Ao entender o conceito é fácil fazer os cálculos.

Espero que tenham gostado.

Até breve,
Luís Sousa

Comentários

Mensagens populares deste blogue

Sentido real e sentido convencional da corrente elétrica

O sentido real da corrente eléctrica, também chamado de sentido electrónico, é igual ao sentido dos electrões, que se deslocam do pólo negativo para o pólo positivo do gerador. Antes de se conhecer o sentido real da corrente eléctrica, já se havia convencionado que a corrente circulava do pólo positivo para o pólo negativo. Para não invalidar tudo o que já havia sido escrito sobre a matéria, resolveu-se manter o sentido anteriormente convencionado, chamando-o de sentido convencional da corrente eléctrica.

Resistência de um condutor - variação com a temperatura

Consideremos um condutor de resistividade ρ e resistência R. Para variações relativamente pequenas da temperatura (por exemplo, variações de 10º C), a lei de variação da resistividade e da resistência com a temperatura são, respectivamente: Em que: θ →  Temperatura mais alta θ0 →Temperatura mais baixa ρ →  Resistividade à temperatura mais alta (θ) ρ0 →Resistividade à temperatura mais baixa (θ0) R →  Resistência à temperatura mais alta (θ) R0 →Resistência à temperatura mais baixa (θ0) α→   Coeficiente de temperatura As unidades, no SI, de R e ρ já são conhecidas; a de θ e θ0 é o grau celsius e a de α é o inverso do grau celsius ( º C)^-1 . As expressões que caracterizam as leis de variação de resistividade com a temperatura e de resistência com a temperatura são idênticas, uma vez que a resistência de um condutor é proporcional à sua resistividade  Há substâncias para as quais α é positivo, ou seja a resistividade...

Transístores Bipolares BJT - Exercício - ponto de funcionamento DC em repouso

O desafio de hoje é ca lcular o VCE do  transístor, no circuito mostrado na fig.1. O Beta do transístor é 200 e o VBE de 0.7V. O VCC é de 12V conforme mostrado no esquema da figura 1 e o transístor está a funcionar na zona activa directa (não está ao corte nem à saturação). Fig.1 - Circuito a analisar Vamos então ver como chegar ao valor de VCE. Sabemos que VCE=VC-VE. No entanto para conhecer os valores de VC e VE temos de calcular as quedas de tensão em R1 e R4, o que só é possível se conhecermos IC e IE. IC e IE dependem de IB e do Beta do transístor que neste caso é 200. IC=Beta * IB e IE=(Beta+1) * IB. Como temos o Beta, falta-nos então conhecer o valor de IB para poder determinar o valor de IE e IC, que por sua vez nos permitem calcular as tensões no colector e emissor do transístor. Fig.2 Cálculo da tensão de Thevenin Vth Para calcular o IB, vamo-nos socorrer do teorema de Thévenin , que simplifica muito o circuito. Começamos por abrir o ci...