A energia limpa e renovável, ou seja, geração de energia (elétrica ou calor) mediante fontes de energia provenientes da natureza (como luz solar, vento, fluxo d’água, movimento de marés, etc.) não produzindo poluentes como sub-produto, é uma das principais alternativas referentes ao futuro da geração de energia. Isso é interessante para todo mundo, afinal teremos nossa demanda de energia atendida e com menores danos à natureza. Apesar disso parecer realidade em um futuro distante, sabia que você já pode gerar um pouco de energia elétrica a partir do vento e monitorar esta energia elétrica gerada pela Internet, de qualquer lugar do mundo? É justamente disso que este post se trata: geração de energia monitorada pela Internet, utilizando uma turbina eólica para geração da energia e uma Raspberry Pi Zero W para monitorar o a geração de energia e disponibilizar estas informações por Internet.
Material necessário
Para fazer o projeto de geração de energia monitora pela internet, você precisará de:
- Raspberry Pi Zero W (com cartão micro-SD com Raspbian instalado, com acesso à internet e barra de pinos soldada)
- Mini Turbina Eólica
- Fonte chaveada micro-USB 5V/2A
- Sensor de Corrente DC INA219 I2C
- Protoboard de 400 pontos
- Jumpers macho-fêmea
OBS: Para saber como instalar o Raspbian na sua placa, basta acessar o post Primeiros passos com Raspberry Pi e Linux.
Geração de energia monitorada pela Internet: Turbina eólica
Antes de mais nada, recomendo fortemente a leitura do post “Como fazer um anemômetro monitorado por Internet“, onde é explicado, dentre outras coisas, o funcionamento da mini turbina eólica e o porque ela gera energia elétrica.
Em resumo, a geração de energia elétrica com uma turbina eólica pode ser vista na figura 1/ gif animado abaixo.

Na figura 1, nota-se claramente que, ao passo que as pás da turbina eólica giram (mediante incidência de vento), o LED ligado aos terminais da turbina eólica brilha. Isso significa que a turbina eólica converte energia mecânica (proveniente do movimento das pás, provocado pelo vento) em energia elétrica, sendo portanto uma fonte de energia a partir do vento. No caso de se aproveitar o próprio vento de um ambiente/local para geração de energia elétrica, pode-se dizer que houve geração de energia elétrica de forma limpa, ou seja, sem sub-produtos nocivos à natureza. Ainda, pelo fato do vento ser “renovável” (afinal, a natureza se encarrega de produzir vento/brisa), pode-se dizer que foi utilizada energia renovável. Muito ecologicamente correto, não?
Medição da energia elétrica gerada com a turbina eólica
Agora que vimos que a geração de energia elétrica a partir do vento em uma mini turbina eólica é possível, o próximo passo é fazer medições da mesma. Dessa forma, conseguiremos determinar quanto de energia eólica somos capazes de gerar e, além disso, o que podemos alimentar com a mesma. Para isso, utilizaremos o sensor de Corrente DC INA219 I2C. Este módulo torna possível medir:
- Tensão elétrica gerada
- Corrente elétrica consumida por uma carga
- Potência consumida pela carga
Para mais detalhes do INA219, recomendo a leitura do post Medindo corrente e tensão com o módulo INA219. Com estas informações, é possível ainda contabilizar quanto foi a energia elétrica total consumida pela carga (e, consequentemente, gerada pela turbina), através da fórmula da figura 2.

Onde:
- Potencia: potência medida pelo INA219, em Watts
- Delta tempo (delta TempoConsumoEnergia): quantidade de tempo, em horas, em que houve consumo de potência pela carga
No caso, se medirmos de um em um segundo, teremos que a energia consumida (e por consequência, gerada) é igual a potência consumida medida no período. Contabilizando esta energia ao longo do tempo, significa dizer o quanto de energia elétrica limpa foi consumida!
Bibliotecas necessárias
A biblioteca necessária para utilizar o INA219 na Raspberry PI Zero W pode ser instalada com os comando abaixo:
sudo pip install pi-ina219
Além disso, para utilizar o MQTT (protocolo pelo qual irão ser enviadas as informações de energia consumida, tensão gerada e corrente consumida), é preciso utilizar a biblioteca Paho MQTT para Python. Para instalá-la, utilize os comandos abaixo:
git clone https://github.com/eclipse/paho.mqtt.python cd paho.mqtt.python python setup.py install
Geração de energia monitorada pela Internet: Circuito esquemático
O circuito esquemático do projeto pode ser visto abaixo.

Com o circuito montado, o último passo é enviar o código-fonte para a sua placa.
Código-fonte
O código-fonte do projeto está abaixo. Salve-o como energia_eolica.py na sua Raspberry PI Zero W.
Observe que as informações são enviadas todas juntas de forma mais textual / verbosa no tópico MQTTEnergiaLimpaVerbose e também de forma individualizada em outros quatro tópicos: MQTTTensaoGerada (tensão elétrica gerada), MQTTCorrenteConsumida (corrente elétrica consumida pela carga, MQTTPotenciaConsumida (potência elétrica consumida pela carga) e MQTTEnergiaConsumida (energia elétrica consumida). Estes quatro tópicos para envios individuais dos valores foram criados para permitir integração com dashboards MQTT, como por exemplo o MQTT DASH.
from ina219 import INA219 from ina219 import DeviceRangeError import paho.mqtt.client as mqtt import sys import time #definicoes: Broker = "iot.eclipse.org" PortaBroker = 1883 KeepAliveBroker = 5 #segundos TopicoPublishVerbose = "MQTTEnergiaLimpaVerbose" #Troque o nome do topico por algo "unico" e diferente dos outros topicos deste programa! TopicoPublishTensao = "MQTTTensaoGerada" #Troque o nome do topico por algo "unico" e diferente dos outros topicos deste programa! TopicoPublishCorrente = "MQTTCorrenteConsumida" #Troque o nome do topico por algo "unico" e diferente dos outros topicos deste programa! TopicoPublishPotencia = "MQTTPotenciaConsumida" #Troque o nome do topico por algo "unico" e diferente dos outros topicos deste programa! TopicoPublishEnergia = "MQTTEnergiaConsumida" #Troque o nome do topico por algo "unico" e diferente dos outros topicos deste programa! #definicoes do INA219 SHUNT_OHMS = 0.1 energia = 0 #Callback - conexao ao broker realizada def on_connect(client, userdata, flags, rc): print("[STATUS] Conectado ao Broker. Resultado de conexao: "+str(rc)) #faz subscribe automatico no topico client.subscribe(TopicoSubscribe) return #programa principal: print("[STATUS] Inicializando MQTT...") #inicializa e conecta MQTT: client = mqtt.Client() client.on_connect = on_connect client.connect(Broker, PortaBroker, KeepAliveBroker) #incializa INA219 ina = INA219(SHUNT_OHMS) ina.configure() msg_counter = 0 while (True): try: tensao = ina.voltage() #V if (tensao < 0): tensao=0 corrente = ina.current()/1000 #A if (corrente < 0): corrente = 0 potencia = ina.power()/1000 #W if (potencia <0): potencia = 0 energia = energia + potencia #energia consumida em 1 segundo str_verbose = "%d Tensao: %.2f V, Corrente: %.4f A, Potencia: %.4f W, Energia consumida: %.4f Wh" % (msg_counter, tensao, corrente, potencia, energia) str_tensao = "%.2f V" % tensao str_corrente = "%.4f A" % corrente str_potencia = "%.4f W" % potencia str_energia = "%.4f Wh" % energia print str_verbose #faz o envio por MQTT client.publish(TopicoPublishVerbose,str_verbose) client.publish(TopicoPublishTensao,str_tensao) client.publish(TopicoPublishCorrente,str_corrente) client.publish(TopicoPublishPotencia,str_potencia) client.publish(TopicoPublishEnergia,str_energia) msg_counter = msg_counter + 1 client.loop() #aguarda 1 segundo ate as proximas medicoes time.sleep(1) except KeyboardInterrupt: sys.exit(0) except DeviceRangeError as e: print "Erro na medicao: " print e
Para rodar o projeto, utilize o comando abaixo:
sudo python energia_eolica.py
Agora basta utilizar um cliente MQTT de sua escolha e monitorar as medições! Um exemplo de cliente MQTT é o MQTTLens, mostrado no tópico “Teste do broker MQTT com Raspberry Pi” do artigo “Broker MQTT com Raspberry PI Zero W”
Um exemplo de dashboard MQTT utilizando o MQTT DASH pode ser visto na figura 4.

Gostou deste post sobre geração de energia limpa monitorada pela Internet? Deixe seu comentário logo abaixo.
Posso usar como base para um projeto integrador do curso técnico ?
Sim.
Você fez para o aeolico, funciona para a solar e em vez de usar a zero, usar a plaquinha comum?
Pedro , gostei.
Como fazer o controle de velocidade de uma mini turbina eólica, tipo, 3 kW de potência, para evitar disparo em altas rotações sem controle- vendavais; controle o fluxo de água em turbinas hidráulicas, que abrem e fecham as pás diretrizes através de atuadores e mantem a rotação constante da turbina e do motor; neste caso seria uma frenagem após determinada rotação, se não arrebenta toda estrutura.
Cid,