Postagens mais visitadas

No-Break / Inversor Senoidal Caseiro com Arduino - Parte 1 Introdução

  O primeiro de tudo é entender a teoria básica dos inversores de voltagem e como esse blog tem uma finalidade mais didática vamos bem do inicio.

  Um inversor de voltagem é um equipamento que permite obter na saída uma tensão Alternada a partir de uma fonte de corrente continua (geralmente baterias, painéis solares, retificadores,etc.), isso nos permite utilizar equipamentos AC a partir de fontes DC.

  Como exemplos de aplicações temos fontes ininterruptas de energia, No-Breaks, sistemas de energia solar, dá até para ligar equipamentos trifásicos em redes monofásicas com o inversor correto.

  Bem resumidamente podemos dividir nosso inversor em 3 partes: um Circuito de Controle, um Circuito de Driver e uma Coluna de Potencia.

  O circuito controle é responsável por gerenciar todo o funcionamento do inversor, monitorando os sinais e gerando a onda que sera conformada na saída do inversor.

  O Driver pega esses sinais e os prepara para serem aplicados ao gate dos transistores que compõe a nossa Coluna de Potência.

  O Driver e a Coluna de Potência no geral são simples, mas sua complexidade cresce conforme a potência do inversor Aumenta!  Para brincar de maneira segura é interessante ficar próximo dos 1Kva de potencia, o que é perfeito, dado que a maioria dos inversores baratos vendidos no mercado (aquelas porcaria chinesas de onda quadrada! 🤢🤢🤢 ) tem cerca de metade dessa potência.

  Uma pessoa esperta já deve ter sacado que se a coluna e o Driver não são tão complicados o mais difícil deve ser conformar a onda senoidal, e sim, essa é a maior parte do trabalho.

  Basicamente precisamos pegar uma onda senoidal e transforma-la uma série de pulsos de ligado/desligado, quem acompanhou meus post's sobre Mosfets e IGBT's deve lembrar que o ideal é sempre trabalhar nas zonas de corte e saturação, evitando ao máximo as zonas transitórias, para assim obter maior rendimento.

  Existem vários modos de se fazer isso, o modo mais Root's com circuitos analógicos é excelente para entendermos o conceito do SPWM.

  Basicamente o que vamos fazer é uma amostragem da onda Senoidal, de maneira que na saída do sistema iremos obter uma onda de frequência muito maior (a onda portadora), porem equivalente a onda que estamos modulando.  Um jeito eficiente de se fazer isso analogicamente é injetar a nossa onda Senoidal em um comparador junto com uma onda triangular!

 


 A frequência da onda triangular será a nossa frequência de amostragem, e na saída teremos uma onda com a frequência da portadora que terá o sinal de +VCC sempre que a senoide for maior que a triangular e de GND sempre que for menor, esse sinal é o que sera enviado ao gate dos nossos transistores através do Driver. 

  Quem não dormiu na aula de Processamento Digital de Sinais na faculdade deve lembrar que sempre que modulamos uma onda  devemos nos atentar para a frequência da onda portadora, que deve ser no minimo o dobro da frequência da onda modulada (Teorema de Nyquist)!

  Isso por que como a onda vai passar por um processo de amostragem, entre um ponto de amostragem e outro nos simplesmente perdemos toda a informação que ali reside, então quanto maior a frequência de amostragem menos informação nós perdemos e mais fiel sera a reprodução da onda amostrada na saída do sistema.

  Como estamos trabalhando com um microcontrolador, podemos fazer um modelo matemático desse sistema, se o seu microcontrolador for potente o suficiente é possível realizar os cálculos em tempo real, mas eu recomendo usar lookup tables para determinar qual sera o Duty Cycle em cada ciclo do sinal de PWM.

  Modelar uma senoide matematicamente não é difícil, vou arredondar os valores para facilitar o entendimento.  Vamos começar pela formula da Senoide que é:


  F(x) = A . sen( x )


  Onde A é a amplitude máxima da onda.   Como estamos trabalhando com um sistema amostrado, precisamos calcular quantos pontos de amostragem teremos por cada ciclo da onda amostrada, podemos fazer isso dividindo o período da onda modulada pelo período da onda portadora.

  A onda modulada sera nossa senoide de 60Hz, e a frequência da onda portadora sera de 30Khz, sabendo que o período é o inverso da frequência teremos:

  

  (1/60) / (1/30000) = 30000/60  = 500


  Isso significa que teremos 500 pontos de amostragem para cada ciclo da onda modulada!  Temos 360º em um circulo, mas como os valores são espelhados só precisamos calcular metade do circulo, isso quer dizer que teremos 250 pontos de amostragem por semi-ciclo, juntando isso com a formula da Senoide ja podemos calculara nossa lookup Table!

  Como temos 250 pontos de amostragem por semi-ciclo significa que teremos um ponto de amostragem a cada 0,72º ( 180/250 ). então calculamos um ponto, incrementamos X em 0,72 e calculamos o próximo, vamos fazer isso até que X atinja os 180º que marcam o semi-ciclo completo. 

  Só lembrando que talvez seja precisamos converter o valor de X de graus para radianos, depende da biblioteca matemática que você esteja usando, a lib padrão math.h do C/C++ por exemplo aceita valores apenas em Radianos.


 "A" sera o valor máximo de saída do PWM do microcontrolador (255 no caso do Arduino Uno), sendo que 0 = 0% do Duty Cycle e 255 = 100% do Duty Cycle.


  Eu fiz um programinha em JavaScript pra calcular isso:


Frequencia da portadora Hz

Frequencia da Modulada Hz

Modulo PWM


  Pra comprovar que o nosso calculo deu certo basta pegar esses valores e plotar em um gráfico, se deu tudo certo é possível ver o semiciclo perfeito de uma onda senoidal!



No eixo X desse gráfico temos os 250 pontos de amostragem por semiciclo, e no eixo Y temos o valor de saída que sera aplicado ao Módulo de PWM para cada ponto de amostragem.
  Sendo que cada ponto de amostragem representa um ciclo da onda portadora (30Khz), ou seja, um intervalo de tempo de 33 micro Segundos com Duty Cycle =  Y.

  No próximo post vamos falar mais sobre algumas topologias de inversores e vamos definir qual delas vamos usar. 

  Espero que tenham gostado... Duvidas, criticas ou sugestões usem o campo dos comentários ou o nosso servidor do Discord (link na Toolbar a direita).

2 comentários:

  1. Olá. Beleza o seu blog. Estou estudando a construção de um inversor brasileiro, barato e com assistência técnica aqui no Brasil. Estarei te acompanhando. Grande abraço e continue a divulgação.

    ResponderExcluir
    Respostas
    1. Ola amigo, fico feliz que tenha gostado do post, interessante seu projeto... Qual seria o intuito dele?

      Excluir