Boa galera!
Recentemente inicie um projeto para controlar um gerador de eletricidade a gasolina.
Desenvolvi dois sensores de tensão com 4n33.
Um sensor para a Rede e outro para o gerador (este outro auxilia na hora que a energia da rede esta fora como parametro).
Estou utilizando um Atmega328p-pu standalone. (muito bom e barato).
E para comunicação fiz uma plaquinha com MAX232. (ficou joinha)
Claro, tambem usei um conversor serial/USB.
Para tratar o sinal dos sensores por que é analogico e oscila muito, utilizei a biblioteca Tensao.h para ler o sinal dos sensores nas portas A0 e A1.
E uma placa de 8 reles com leds sinalizadores para os testes.
Segue fotos:
Componentes na proto:
Codigo neste link:http://pastebin.com/8fnezmLm
Ultimo Codigo neste link: http://pastebin.com/Rj67MEx6 (ainda com dificuldade no contador de tempo).
Se mais alguem tiver experiencia com este assunto e puder contribuir fico agradecido.
O que mais estou me batendo é em relação ao código que na parte onde verifica o sinal se tem energia ou não ele não pode ficar acionando em falso no caso de a energia eletrica apenas piscar.
Vou seguir com os testes e conforme concluir posto mais.
Abaixo a biblioteca Tensao.h para arduino.
Um video explicando parte do funcionamento. (ainda em testes)
Falou galera!!!
Tags:
Olá Cleber...parabens, isso é bem legal.
Você falou que o sensor não pode ficar em falso.
Isso que dizer que quando a energia pisca (falta por uns segundos) ele não pode acionar certo?
Quanto tempo vc considera uma piscada? Digamos que 3 segundos.
Que tal se: Quando a energia faltar ele da um deley de 3 ou 4 segundos e lê o sensor de novo, se ainda estiver sem energia ele segue com a sequencia...do contrario não faz nada.
Outra coisa seria: Você usou um capacitor eletrolítico no sensor? Eu montei um e usei um capacitor porque a leitura mudava muito...ai estabilizou.
Se colocar um capacitor maior...ele vai "demorar" mais para dar o sinal de falta de energia...talvez seja o suficiente para não perceber esses segundos.
boa sorte.
Boa tarde Sergio.
Isso mesmo, vou tentar com o capacitor gostei da ideia.
Tem um capacitor de 100uf por 16v, será que um de 470uf x 50V resolve?
vou testar.
obrigado.
Conforme evoluir vou postando.
Abrss
Oi Cleber, aumenta para um de 1000uf x 16v, acho que foi esse que usei. O CI que usei foi o 4n25, não vi o datasheet mas acho que não muda muito.
Mas acho que com o código que segue não precisa mexer no capacitor.
Mexi no seu código também, não sei se dava para adicionar no link que vc enviou, mas criei outro...
Nele comentei algumas linhas, adicionei um if para se maior ou menor que 300 ele define uma variável como 0 ou 1, acho mais fácil de trabalhar, bate o olho no código e sabe se tem energia ou não...sou lento para ver se é maior que 300 tem e menor falta...rsrs
Mas também adicionei mais um if abaixo do if ((millis()-contador)>10000); linha 73.
A ideia é que quando faltar energia a linha do contador pule a linha 73 e siga o código e só teste esse if após 10 segundos de falta de energia...se ainda faltar energia ai sim ele liga o gerador, desligue a rede e tudo mais.
Haa...mexi também no contador.
Testa ai e vê se dá certo...
outra coisa, comentei a biblioteca tensao.h, pelo que entendi ela é para dizer o valor da tenção e como para vc só interessa se tem energia ou não ela é desnecessária.
abraços...
Boa tarde Sergio!
Primeiramente obrigado pela ajuda.
Realmente a biblioteca não é necessária (ainda estou aprendendo a programar rsrs).
Achei que ela que tratava o sinal para o arduino entender....
Teste o seu codigo mas ainda não segura o acionamento pelo tempo determinado.
e após a repetição do proximo evento ele desconsidera ou seja é como se o millis não existisse.
Abraço.
Vou postar um video para ver se entendemos.
Obrigado.
Oi Cleber,
fiz e não testei em um arduino, vou gravar no arduino e rodar..
com certeza fiz alguma caga#$%!...rs
abraços.
Sergio coloquei um video.
Abraço
Oi Cleber, boa noite.
voce pode disponibilizar tb o arquivo Tensao.h, para que possamos rodar o código e tentar
identificar o problema.
Rui
Cleber, tem um erro de digitação na ,linha 60 ?
if (millis()-contador
Rui
Sim Rui é que na hora que o Cesar pedio pra disponibilizar eu estava mexendo ali naquela linha.
grato.
modifiquei uma parte do codigo veja se funciona e caso sim modifique as outras partes conforme sua nessecidade
Boa tarde José.
Já tentei dessa forma não da certo.
quando ele chega ali fica piscando o rele.
grato.
disponibilizei a biblioteca tensao.h
abraco
Como você pretende fazer a comutação entre as fontes de energia?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por