Tarefa 9 - Qualidade da energia elétrica

Prazo de entrega recomendado:

Você deverá analisar a qualidade da energia elétrica. Para isso, precisará exercitar o projeto de algoritmos eficientes.


A energia elétrica fornecida em nossas casas vem na forma de corrente alternada. Isso significa que a voltagem do fio de entrada não é contínua. Ao invés disso, ela é variável e pode ser representada como uma função senoidal no tempo. O tempo entre dois picos de voltagem é chamado de período e o inverso do período é a frequência fundamental da onda. No Brasil, a frequência fundamental é de 60Hz, isto é, a tensão atinge o pico 60 vezes em um segundo.

Onda periódica senoidal.
Fonte: Energia e corrente alternada.

Como a voltagem é variável, medimos a intensidade da energia pelo seu valor eficaz, que é calculado como a raiz do valor quadrático médio (RMS, em inglês). Assim, quando dizemos que a energia em uma cidade é de 127V, estamos falando do valor eficaz da voltagem.

A energia que chega em nossas casa não é uma onda perfeita. Por causa de interferências e de uma série de outros fatores, pode haver a presença de harmônicos. Um harmônico é uma outra onda periódica cuja frequência é um múltiplo da frequência fundamental e que concorre com a onda principal no mesmo fio. O resultado é que a energia que de fato observamos é a soma de vários harmônicos. Veja a figura abaixo.

Sinal periódico de 60Hz distorcido pela presença de harmônicos ímpares.
Fonte: Harmônicos - conceitos.

Normalmente, podemos ignorar a presença dos harmônicos porque eles têm intensidades muito baixas, se comparadas com a intensidade da onda principal. Quando essas intensidades se acumulam, no entanto, os harmônicos podem causar problemas. Assim, uma maneira de medir a qualidade da energia elétrica é calcular a distorção harmônica total (THD, em inglês). Quanto maior o THD, mais distorcido está o sinal.

Para medir a distorção, precisamos do espectro harmônico do sinal, que é uma tabela que relaciona número e intensidade dos harmônicos. O número $h$ de um harmônico é o fator que multiplica a frequência fundamental, assim, se a frequência fundamental é 60Hz, o harmônico de número $h=2$ tem frequência 120Hz. A intensidade é a amplitude efetiva do harmônico medida em RMS, $V_h$. Assim, para medir a distorção total dos harmônicos de número $2$ até $m$, definimos:

$$ \mbox{THD}_m = \frac{\sqrt{\sum_{h = 2}^{m}{V_h}^2}}{V_1}\times{100}\%. $$

Espectro harmônico de um sinal distorcido.
Fonte: Harmônicos - conceitos.

1. Analisando a qualidade da energia

Você foi contratado por uma empresa de energia para ajudar os engenheiros eletricistas analisarem a qualidade da energia. Eles lhe explicaram que as tensões observadas vêm sempre em ordem decrescente de intensidade. Assim, a onda fundamental tem o maior valor de RMS, o harmônico de número $2$ tem valor menor e assim por diante.

Por esse motivo, os engenheiros gostariam de descobrir quais dos harmônicos iniciais são responsáveis pela maior parte da THD, que chamaram de harmônicos críticos. Mais precisamente, se forem medidas todas as intensidades até a do harmônico de número $n$, então queremos descobrir o menor $m$ para o qual $\mbox{THD}_m$ é pelo menos 80% de $\mbox{THD}_n$. Sua primeira tarefa é criar um programa chamado harmonicos_criticos.py que descobre esse número.

Entrada

Os valores de tensão em RMS medidos, começando pela tensão da onda fundamental até a tensão do harmônico de número $n$.

220 20 10 10 4 3 2 2 1

Saída

O valor de THD de todos os harmônicos observados e dos harmônicos críticos.

Número de harmônicos críticos: 2
THD de harmônicos críticos: 10.16 %
THD de todos os harmônicos: 11.45 %

2. Amenizando os impactos

Depois de uma visita de campo a uma rua industrial da cidade, os eletricistas descobriram que grande parte da distorção do sinal vêm de vários motores industriais trifásicos ligados ao sistema elétrico, cada um adicionando um harmônico diferente. O problema é que todos esses motores elétricos estão ligados na mesma linha, então os harmônicos que eles criam se acumulam, piorando bastante a qualidade da energia.

Como forma de mitigar esse problema, os engenheiros propuseram a distribuição dos motores em três grupos, de forma que a distorção em um grupo fique restrita à interferência causada pelos motores naquele grupo. Como já conhecemos a intensidade (em RMS) do harmônico causado por cada motor, para calcular a THD de um grupo, basta calcular a raiz da soma dos quadrados das intensidades no grupo e dividir pelo valor de tensão RMS de alimentação de cada motor que é de 220V.

Por causa da localização dos motores na rua e devido às várias questões logísticas, só é possível criar um grupo de motores que estejam adjacentes na rua. Por exemplo, se os motores forem numerados de $0$ até $4$ em ordem, então é possível criar três grupos $\{0, 1\}, \{2\}, \{3, 4\}$, mas não é possível criar grupos $\{0, 2\}, \{1\}, \{3, 4\}$.

Além disso, para que a divisão dos grupos seja justa e que nenhuma empresa se sinta prejudicada, queremos que, dentre todas a formas de distribuir os motores em três grupos, a THD do grupo com maior distorção seja mínima. Quando houver duas configurações com o mesmo valor de maior THD, então escolhemos aquela que minimiza a segunda maior e assim por diante.

Sua tarefa é criar um programa amenizar_impactos.py para ajudar encontrar a melhor forma de distribuição em três grupos.

Entrada

As intensidades dos harmônicos (em RMS) criados por cada motor.

34 12 67 90

Saída

O conjunto de motores e a distorção em cada grupo.

Exemplo de saída

Grupo A
Motor(es): 0 até 1
THD: 16.39 %

Grupo B
Motor(es): 2
THD: 30.45 %

Grupo C
Motor(es): 3
THD: 40.91 %

Para a entrada acima, é possível distribuir os motores das seguintes maneiras:

1) $A = \{0, 1\}, \quad B = \{2\}, \quad C = \{3\}$ com

$\mbox{THD}_A = \frac{1}{220} \sqrt{34^2 + 12^2}\times 100 = 16.39\%$,

$\mbox{THD}_B = \frac{1}{220} \sqrt{67^2}\times 100 = 30.45\%$,

$\mbox{THD}_C = \frac{1}{220} \sqrt{90^2}\times 100 = 40.91\%$.


2) $A = \{0\}, \quad B = \{1, 2\}, \quad C = \{3\}$ com

$\mbox{THD}_A = \frac{1}{220} \sqrt{34^2}\times 100 = 15.45\%$,

$\mbox{THD}_B = \frac{1}{220} \sqrt{12^2 + 67^2}\times 100 = 30.94\%$,

$\mbox{THD}_C = \frac{1}{220} \sqrt{90^2}\times 100 = 40.91\%$.


3) $A = \{0\}, \quad B = \{1\}, \quad C = \{2, 3\}$ com

$\mbox{THD}_A = \frac{1}{220} \sqrt{34^2}\times 100 = 15.45\%$,

$\mbox{THD}_B = \frac{1}{220} \sqrt{12^2}\times 100 = 5.45\%$,

$\mbox{THD}_C = \frac{1}{220} \sqrt{67^2 + 90^2}\times 100 = 51.00\%$

Das três possibilidades, a melhor opção é a primeira configuração.

Critérios

Nesta tarefa, você deverá usar apenas as estruturas de dados fornecidas por padrão na linguagem Python.

Correção

Esta tarefa será corrigida automaticamente sempre que você realizar um git push. Depois de terminada a tarefa, deve-se utilizar o botão na interface de notas para solicitar a correção de um monitor.