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 ou Raspberry Pi Zero 2 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.
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,
Você fez para o aeolico, funciona para a solar e em vez de usar a zero, usar a plaquinha comum?
Posso usar como base para um projeto integrador do curso técnico ?
Sim.