BOIA ELETRÔNICA P/ ACIONAMENTO DE MOTOBOMBA ( SEM FIO – RF 433MHZ) – C/ PIC 12F675 (REF269)

Uma opção para economizar fiação…

Esta montagem propõem um protótipo de uma boia eletrônica para caixa d’água em sistemas que necessitem bombeamento da água por meio de uma motobomba elétrica. O sistema está dividido em 2 partes: um transmissor montado junto a caixa d’água e um receptor montado junto a motobomba. Nos testes usei par de tx/rx na frequência de 433MHZ. Poderá ser usado outras frequências se desejar. Veja primeiro o esquema do transmissor:

boia_remota_tx

Para obter a informação do nível da água na caixa foi usado um sensor feito a partir de fios submersos na caixa d’água, mas com alturas diferentes. O PIC usa o conversor analógico/digital interno (pino 3) para detectar os níveis de tensão gerados pelos eletrodos. Caso queira uma montagem mais durável, recomenda-se o uso de fios ou tirantes de aço inox.
No esquema mostra 3 leds para indicar na própria boia o nível enviado para o receptor. Mas estes podem ser omitidos visando economia de energia, especialmente se for usado bateria para alimentar o circuito.
No programa C do TX podemos optar qual nível queremos que a motobomba comece a operar: no nível mínimo ou pela metade. Basta comentar ou descomentar no programa, a opção de usuário abaixo e recompilar usando o CCS C Compiler:

#define LIGA_MEIA_CX //descomente quando desejar que a bomba ligue com meia caixa

Ao ligar a alimentação, a boia envia um frame com informação do nível da caixa e se deve ligar ou não a motobomba. Depois, a cada minuto ocorrerá uma nova transmissão. Isto visa economizar energia especialmente se for usado bateria para alimentar a boia. Este tempo pode ser alterado no programa, na opção de usuário abaixo e necessita depois recompilar:

#define TEMPO_ENTRE_TX 26 // tempo entre transmissão (2.304ms * 26 ~= 1 minuto)

Este intervalo de tempo é gerado pela contagem dos estouros do timer ‘WatchDog’. Em vez de gerar um ‘reset’ este timer é usado somente para ‘acordar’ o PIC do modo ‘sleep’. Ele foi programado para estourar a cada 2,3 milissegundos. Para um minuto, necessitaremos um valor de 26 estouros.
Usando um pouco de matemática chegamos ao tempo entre transmissões como sendo: 26 * 2,3 ms =~ 60000 milissegundos ou 60 segundos, que é o mesmo que dizer 1 minuto.
Note que este tempo não é muito preciso, pois o oscilador independente do WatchDog é muito sensível a variações de temperatura e de tensão. Mas para esta função atende bem a necessidade.
Para evitar que uma interferência atrapalhe a transmissão, são enviados 4 vezes seguidos os mesmos dados da boia, em redundância. Este número de vezes pode ser alterado no programa, na opção de usuário abaixo e necessita depois recompilar:

#define N_TX 4 //número de vezes que transmite uma informação sucessivamente

É importante que seja dito que o valor do Serial Number do programa do TX seja exatamente igual ao do RX. Do contrário não haverá comunicação entre eles. Este serial pode ser encontrado no programa C como mostra abaixo:

//serial number (use o mesmo no receptor)
#define serial_A 0x23 //de 00 a ff
#define serial_B 0x47 // de 00 a ff
#define serial_C 0x03 //somente de 0 a f

Caso queira alterar, faça tanto no programa do transmissor (TX) como no receptor (RX). Ambos os programas devem ser recompilados para obter os arquivos hex para os PIC’s do TX e do RX.

O protocolo escolhido é similar ao usado pelo Ht6p mas enviando 32 bits. O último byte enviado contém o ‘check sum’ para identificar algum erro gerado por interferências. Ele contém a somatória dos bytes anteriores.
Veja agora o esquema abaixo para o receptor:

boia_remota_rx

Para monitorar o nível d’água temos os 3 leds que indicam: vazia, meia, cheia. Um led ligado na saída que aciona o relé da motobomba indica se a mesma está ligada ou desligada. Temos ainda um outro led e um buzzer de 5 volts, que indicam uma falha na boia. Quando não ocorre uma transmissão correta dentro de um tempo determinado, então ocorrerá este alarme de falha. Opcionalmente, poderá também indicar que a motobomba está ligada por muito tempo, maior do que o programado.
Estas opções podem ser ajustadas no programa do receptor, conforme porção de código abaixo:

//escolha do usuário
#define ALARME_TEMPO_MAX_MOTOR_LIGADO //descomente p/ ligar alarme por tempo máximo do motor ligado
#define LIMITE_MAX_BOMBA_LIGADA 120 * HUM_MINUTO //define o tempo c/ motobomba ligada p/ o alerta sonoro (em minutos)
#define ALARME_FALHA_TX //descomente para ligar alarme por falha de transmissão do tx
#define LIMITE_TIME_OUT 5 * HUM_MINUTO //tempo máximo sem receber qualquer transmissão (falha)

Caso ocorra o alarme, determine a causa e depois de corrigir o problema, desligue a alimentação do receptor através do interruptor junto a fonte para ‘resetar’ o alarme.
Os contatos do relé poderão acionar um ‘contator’ de maior potência ligado a motobomba. Isto é especialmente importante quando se usa motobomba trifásicas.
A alimentação poderá ser feita usando fonte de 12 volts, convencional ou chaveada. Se for usado um relé de 5 volts, no lugar do de 12 volts, então poderá usar uma fonte de carregador de celular de 5 volts.

Obs. Esta montagem é experimental, sendo de caráter didático, montada apenas em placa experimental (do tipo “Breadboard”), sujeita a “bugs” ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.

Segue pasta zipada com os arquivos da montagem:

BOIA_REMOTA_RF

Manuais:
PIC 12F675

Curiosidades:
Mestres medievais da mecânica
O “gênio esquecido” da Grã-Bretanha
O que revela a visão do invisível?
Quando as substâncias químicas causam doenças
Cuidado com o envenenamento por chumbo!
O que é estresse pós-traumático?

Outros assuntos:
Jesus morreu numa cruz?
Como chegar a um acordo
Como controlar a ansiedade?
10 Perguntas Que os Jovens Se Fazem e as Melhores Respostas
A Vida — Teve um Criador?
Peça um estudo bíblico gratuito

Vídeos:
Como enfrentar o bullying sem partir para a briga
Quem é o Autor da Bíblia?
Será que é amor ou paixão?
Tenha mais paciência
Fale a verdade
Eu me cansei das religiões

Até o próximo artigo!

2 thoughts on “BOIA ELETRÔNICA P/ ACIONAMENTO DE MOTOBOMBA ( SEM FIO – RF 433MHZ) – C/ PIC 12F675 (REF269)

  1. Olá Claudio!
    Há alguns anos montei esse circuito:
    http://blog.larios.tecnologia.ws/iBlog/archives/4758/
    Funcionou muito bem, mas apareceu um problema. Quando gravo o segundo controle, ele apaga o primeiro, resumindo só é possível gravar um único controle. Uso chaveirinhos com o CI PT2262 original, eu vi que você testou apenas com um emulador, por isso achei que haveria diferenças.
    Depois testei essa outra montagem:
    http://blog.larios.tecnologia.ws/iBlog/archives/4841/
    Essa não teve problemas ao adicionar vários controles, mas os canais não funcionam corretamente. Quando aperta um botão, aciona dois leds ao mesmo tempo e dependendo do tempo que o botão fica apertado as coisas mudam, mas não funciona da maneira correta.
    Essa montagem com vários CIs diferentes funcionou muito bem com o HT6P20B, mas com o PT2262 não deu muito certo.

    1. Olá Renato.23!
      Obrigado por retornar sobre o que você encontrou de problema nas montagens. Assim que tiver um tempinho, irei montar no protoboard e farei testes.
      Confirmando os problemas, e tendo sucesso nas correções, então irei postar arquivos atualizados nos respectivos artigos.
      Cláudio

Comments are closed.

Back To Top