segunda-feira, 12 de novembro de 2018

Implementado um Painel Solar - Simplificado - Parte 1

Prezados amigos essa semana chegou o meu primeiro painel solar que pretendo instalar na minha casa nos próximos meses. Hoje pretendo comentar o que me levou a comprar de fato um painel solar.

Bom nesses últimos meses a conta de luz tem aumentado substancialmente. Quem acompanhou varias concessionares de energia pela metade de 2018 tiveram seus ajustes deferidos pela ANEEL. e pasmem, no Rio de de mais de 20%!

Contas de luz de clientes da Enel, no RJ, terão alta média de 21,04%

Hoje muito se tem falado sobre a implementação de painéis solares e geradores eólicos. Quando eu era mais novo isso ainda era um sonho distante mas hoje as empresas tentam vender isso como uma realidade plausível.

Penso assim fiz uma pesquisa na Internet afim de avaliar as possibilidades de instalação de um sistema solar na minha casa. Ainda fiquei mais animado com o financiamento do BNDES para pessoas físicas instalarem painéis solares em casa.

BNDES muda regra e pessoas físicas podem investir em energia solar

Parece bem animador neh? Pois é bom de mais para ser verdade. A instalação em si do sistema através do fundo, procurei em alguns bancos (Santander, Itaú e Banco do Brasil). No Santander consegui um resposta melhor sobre o fundo mas exigia um projeto completo por uma pessoa credenciada que seria submetido a avaliação pelo banco para financiamiento da implementação do sistema solar. Bom eu talvez conseguisse fazer esse projeto.
Além disso para um sistema On-Grid seria necessário entrar em contato com a Enel - concessionária local - sobre a implementação a qual também fez varias exigências além é claro de ser super difícil encontrar a pessoa responsável por esse departamento se é que podemos chamar assim.
A solução que optei foi pela solução parcial.

Dados do Sistema

Na minha casa tem um consumo de 150 kmh/mês isso é bem pouco e mostra o desinteresse tanto dos bancos como da distribuidora em permitir a instalação de um sistema On-Grid de geração.

Entres as cargas tenho um chuveiro elétrico, uma bomba e dois aparelhos de ar condicionado. Isso totaliza uma potência instala de 10 kW.

Analisando bem o consumo consegui dividir assim o consumo mensal.

10 % - Ar Condicionado
20 % - Chuveiro
15% - Iluminação
20 % - Geladeira 
30 % - Iluminação Externa e Sistema de Vigilância e Internet. 

Como eu tenho uma iluminação externa que fica ligada a noite toda junto com um sistema de câmeras de vigilância e mais alguns aparelhos isso tudo soma uma conta de 30% do meu consumo, cerca de 50 kwh/mês.

Todos esses dispositivos podem ser alimentados a partir de uma alimentação em 12 Vcc de uma bateria o que é muito interessante porque não precisaria passar corrente alternada.

Preços

Antes de chegar a conclusão acima procurei antes os preços dos sistemas:
Conjunto On-Grid para atender 150 kwh - ~ 4 painéis de 280W - R$ 4.500,00
Conjunto Off-Grid para atender 150 kwh/mês - ~ 5 painéis de 275W + baterias - R$ 10.900,00

Para atender as cargas de 12V, 50kwh/mês, seria necessário apenas um painel uma bateria e um inversor. Isso saí por apenas R$ 611,00. Foi exatamente isso que comprei, um painel de 150Wp, um controlador de carga e uma bateria.




A medida que for instalando o sistema e tendo resultados compartilharei aqui no blog. Abraços.

domingo, 23 de setembro de 2018

Sistema de Irrigação Doméstica Utilizando Netduino - Parte 3

Continuando o projeto do sistema de irrigação para o jardim chegamos na fase de realizar alguns testes para definir a estratégia de configuração da lógica, especialmente no que se trata da lógica liga a iluminação do sol.



Os horários mais propícios para irrigação são: ao final do dia e no inicio da manhã quando o sol ainda não está tão quente. No Rio de Janeiro não é diferente, irrigar as plantas ao sol do meio dia pode ser um grande erro e acabar por acabar com a minha horta e todo o meu jardim.

Pensando assim é fundamental determinar algumas situações:

1. Determinar o melhor horário para realizar a irrigação;
2. Determinar se é necessário realizar a irrigação;
3. Por quanto tempo realizar a irrigação;

Peguei muitas dicas sobre a horta no site: http://comofazerumahorta.com.br/irrigacao/

Essas três perguntas devem ser respondidas em um código implementado, seguindo vou detalhar cada uma e as experiências que fiz para determinar o processo lógico de controle.



Determinado o horário de irrigação

O horário de irrigação é composto por duas variáveis: sol + calor, o primeiro passo é determinar o sol, exatamente o momento em que o sol se põe, para isso utilizaremos um sensor LDR, este sensor eu conectei com um divisor resistivo e estudei o comportamento da exposição do sensor ao sol durante alguns dias amostrando em 30 segundos e salvando no cartão microSD

A análise não é muito complexa, note que as variações são grandes e regulares, devido a Lua é possível que nos ciclos de 20 em 20 dias o valor minimo e máximo tenham variações, Os parâmetros são 0,25 pu e 0,75 pu. em uma janela de 1 a 2 horas deve ter uma variação estável de um inicial superior a 0,75 pu para um valor válido menor que 0,25 em uma sequência estável de queda contínua.


Determinando o momento exato da troca de que se considera dia e de quando se estabelece a noite podemos montar um schmitt trigger completo. Como esse é um código reaproveitável resolvi fazer um biblioteca com uma lógica em C# específica para tratar os sensores analógicos como um comparador de banda schmitt trigger.

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;


namespace Customization.Analog
{

    public class SchmittTrigger
    {
        public Microsoft.SPOT.Hardware.AnalogInput _AnalogInputPin;

        public double _OnValue;
        public double _OffValue;
        public int CycleOn;
        public int CycleOff;

        public int CountOn;
        public int CountOff;

        public SchmittTrigger(Microsoft.SPOT.Hardware.AnalogInput AnalogInputPin, double OnValue, int TimeOn, double OffValue, int TimeOff, int InterruptTime = 1)
        {
            _AnalogInputPin = AnalogInputPin;
            
            _OnValue = OnValue;
            _OffValue = OffValue;

            CycleOn = TimeOn / InterruptTime;
            CycleOff = TimeOff / InterruptTime;


        }

        public void ProcessAnalogSignal(object o)
        {
           double value = _AnalogInputPin.Read();

           if (value >= _OnValue)
           {
               CountOn++;
               CountOff = 0;
           }
           else if (value <= _OffValue)
           {
               CountOff++;
               CountOn = 0;
           }
           else
           {
               CountOn = 0;
               CountOff = 0;
           }

           if (CountOn > CycleOn)
           {
               On = true;
               Off = false;

               CountOn--;
               return;
           }

           if (CountOff > CycleOff)
           {
               Off = true;
               On = false;

               CountOff--;
               return;
           }

           On = false;
           Off = false;
        }
        public bool On = false;

        public bool Off = false;  
    }
}

Notadamente a classe é bem simples, na declaração associasse o canal A/D, os patamares de ativação e desativação e os ciclos de ativação e desativação.

Para função funcionar corretamente periodicamente  deve-se chamar a função ProcessAnalogSignal(). Essa função faz a leitura do A/D e a contagem dos ciclos para resumir a ativação e a desativação do sinal.

O que é interessante é que através dessa função é possível sintetizar toda a complexidade de um sinal analógico em um sinal digital que identifica se há luz ou não.

myGardenLdr = new Customization.Analog.SchmittTriggerInv(AnalogLDR, 0.7, 6, 0.2, 6);

Então, para ler o sensor LDR fiz uma função invertida em que o valor é lido em p.u. do valor absoluto do A/D. Se maior que 0.7 durante 6 ciclos é considerado "Ligado", o sensor está iluminado e é dia, o valor permanece assim até que o sensor atinga um valor inferior a 0.2 durante 6 cilos onde se concluí que é noite.

Estabelecido o processo de leitura do sensor trata-se do método de irrigação.

Método de Irrigação

O método pelo qual vai ser realizada a ativação da saída é o modos operante do sistema de irrigação. Pelos estudos e pelas experiências o melhor efeito é quando a irrigação é feita pelo menos uma vez por dia e no inicio da manhã. A irrigação no fim da tarde e a noite não tem um efeito desejado principalmente porque as plantas passam por um período de stress hídrico durante o dia e a noite, onde não é feita fotossíntese, a planta recebe água o que favorece a proliferação de pulgões, cochonilhas e fungos no geral. 

Por esse motivo a marcação de dia é tão importante, o objetivo principal é irrigar pela manhã com um volume de água suficiente para infiltrar até as raízes das plantas sem causar encharcamento do solo.  Fiz muitas experiências de tempo de irrigação e cheguei a conclusão que 20 minutos é suficiente para os meus vasos de plantas.

Depois de algumas semanas de teste observei que pela metade da tarde, devido ao sol intenso  o solo acabava sendo seco e isso prejudicava muito o desenvolvimento das plantas. 

Estudo mais afundo o tema, concluí que o ideal é que ocorra regas constantes principalmente nos dias com exposição mais intensa ao sol. nestes casos pequenas regas que mantenham o solo superficialmente úmido preservando a temperatura da terra nos vasos. No geral, o ideal é que a planta tenha exposição plena ao sol na sua fase de maturação e que tenha água em quantidade tal que a terra sempre fique levemente úmida.

Por outro lado, nos dias em que ocorre chuva a chuva pode estar associada ao clima mais frio mas não diretamente ligada a exposição ao sol.

Solução

A solução para conseguir ter resultados mais satisfatórios foi incluir um sensor de temperatura nessa mesma filosofia do LDR com um schmitt trigger. Então, incluí um PT100 dentro da própria caixa do sensor.

Tive que observar algumas semanas de operação para verificar a que nível chegavam as temperaturas num dia quente em um dia frio a fim de estabelecer um critério de ativação de dois modos de irrigação ao longo do dia.

A ideia é que para um dia normal ocorra irrigação de duas em duas horas após a inicialização do sistema, irrigação de 20 minutos, ocorra irrigações de 7 minutos afim de manter o solo úmido.

Para fazer essas ativações baseadas em tempo resolvi criar algumas funções de contagem de tempo em ciclos chamas de TON - Time do go On e TP - Time Pulse. Com essas funções fica bem mais fácil na lógica final de ativação.

--------------------------------------------------------------------------------------------------------------------
CÓDIGO COMPLETO - Download