BOIA ELETRÔNICA PARA CAIXAS D’AGUA – C/ PIC 12F675 (REF223)

1

Uma solução alternativa para problemas com boias elétricas …

Em algumas instalações hidráulicas se torna necessário transferir um volume de água de um reservatório para outro, como ocorre na maioria dos prédios residenciais. Muitos reclamam da durabilidade de algumas boias elétricas. Tais reparos também encarecem o custo pago pelos condôminos.
Pensando em uma solução diferenciada usando microcontroladores PIC, e aproveitando algumas sugestões de colaboradores deste blog, surgiu o esquema abaixo:

Inicialmente, foi pensado em se usar os sensores formando uma malha resistiva direto no pino 3 do PIC. Aparentemente funcionava, mas notou-se que ocorria instabilidade devido a variação da resistência ôhmica da água (quantidade de cloro e sais minerais), a distância dos eletrodos sensores do eletrodo positivo e a área do eletrodo. Isto tenderia a criar mau funcionamento em determinadas circunstâncias.
Então, foi optado por usar transistores BC548 apenas como chaveadores (ligado/desligado), enquanto que os níveis seriam dados por uma malha com resistores.
Nesta configuração, mesmo que a resistência da água possa variar um pouco, não afetará o funcionamento. Também, garante níveis fixos de comutação no próprio programa ao invés de ter que fazer um ‘aprendizado’ de cada sensor.
O conversor analógico/digital interno lê a tensão no pino 3 e compara com valores que correspondem aos níveis desejados. Para indicar os níveis da caixa d’água, temos 3 leds que se acendem conforme o nível d’água em relação aos sensores. São três valores detectados: cheia, meia e vazia.
Quando a água ficar abaixo do sensor inferior, então ligará a saída para acionar a bomba de água. A medida que o nível gradativamente aumenta pela operação da bomba, quando alcançar o sensor superior provocará o desligamento da bomba de água.
A lógica de verificação usado para acender os leds produz uma certa “histerese”. Por ex. Somente quando a água tocar o sensor superior é que acenderá o led “cheia”. No entanto, ele se apagará e acenderá o led “meia” somente quando a água ficar abaixo do sensor intermediário.
A construção dos sensores não é crítica. Pode se usado fios de cobre rígido (4mm quadrados de área, pois não ficam entortando fácil). Estes 4 fios podem ser mantidos juntos com fitas plásticas Hellerman. O fio ligado ao positivo deverá ser retirado a capa plástica. Os outros será retirado apenas 5 mm de capa das pontas. Você deverá decidir que altura deverá trabalhar cada sensor, mas em geral, o inferior deverá ficar a cerca de 5 a 10 cm do fundo, o intermediário na posição que corresponde a metade da altura da caixa e o superior, por volta de 5 a 10 cm antes de chegar no “ladrão” da caixa. Feito os ajustes na altura dos sensores, fixe bem na caixa para não mudar de posição com o movimento da água.
Atenção: Como os sensores ficam direto na água, a fonte de alimentação de 5 volts deve ser bem isolada da rede. Nunca use “FAST” (fonte sem transformador) para esta aplicação! Os capacitores na base dos transistores são para impedir acionamento pelo ruído elétrico da rede de 60 Hz. Não devem ser retirados, pois causará mau funcionamento especialmente se a distância da montagem em relação aos sensores for maior que um metro.
Obs. Esta montagem é experimental, sendo de caráter mais didático, montada apenas em placa experimental (do tipo “Breadboard”), sujeita a bug’s 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_CX_DAGUA_FILES

Em 04/07/2016, foi postada esta nova versão com uma saída de alarme. Se a bomba operar por mais de 20 minutos, acionará um buzzer ou uma sirene para alerta.

BOIA_ALERTA_FILES

Em 07/07/2016, foi postada esta outra versão com saída de alarme, mas que aciona se o nível de agua ficar por mais de 20 minutos em nível mínimo, o que indicaria um problema no sistema da bomba:

BOIA_ALERTA_V2_FILES

Em 12/06/2017, foi postada esta nova versão, com um sensor no cano de saída, visando identificar mau funcionamento da bomba (ou falta de água). Se a bomba for acionada e não chegar água no sensor colocado no cano de enchimento da caixa d’água, então desliga a bomba para evitar que seja danificada. A cada 30 minutos faz nova tentativa. Veja pasta para esta montagem abaixo:

boia_sensor_cano_v3

Manuais:
PIC 12F675

Curiosidades:
Como adestrar seu cão
A arte de preparar um expresso
Tecnoestresse
O prego está com os dias contados!
Beber e pedalar não dá certo
Papel feito da bananeira
O poder de cura do mel

Outros assuntos:

Como gostar do seu trabalho
Como fazer seu segundo casamento dar certo
Recuperar a confiança no casamento
Como ensinar seu filho a usar a internet com segurança
Como controlar as birras
Preparar os adolescentes para a vida adulta
Coleção de Vídeos Educativos
Histórias Bíblicas Ilustradas

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!

1

26 comments

  1. 0

    Boa tarde Claudio, mas se tratando de poços artesianos são bombas submersas e são trifásicas, e o maior problema que ocorrem são mesmo a queima da bomba, e como é um motel o consumo de água e alto e descobre o sensor em pouco tempo e soa o alarme no sistema que fiz. So que nesse caso eu coloquei mais dois sensores abaixo do nível minimo para não ficar acionando toda hora.Mas da pra fazer com cmos o temporizador também, apenas vai mais componentes!! Obrigado assim mesmo! Forte abraço e muito obrigado pela disposição em ajudar os leigos como eu!
    Sérgio

    1. 0

      Olá Sergio!
      Realmente, cada aplicação exige uma solução diferente. Mas, postei a versão de 07/07/2016 com esta opção que sugeriu.
      Cláudio

  2. 0

    Bom dia Claudio, acho que sou eu que não estou sabendo me expressar, mas vou tentar de novo. Para a bomba entrar em ação não é necessário que o sensor de “vazia” esteja descoberto pela água? Então, se esse sensor permanecer por digamos o tempo máximo de 20 minutos sem contato, acionasse o alarme indicando que a bomba não ligou. Quanto o caso que você mencionou de o consumo for pouco e o alarme for tardio, é só ajustar o sensor de nível inferior para altura suficiente de água, para ter tempo de reparar a bomba e voltar a funcionar sem esgotar totalmente a água da caixa! Eu fiz algo parecido com componentes discretos cmos à muito tempo com barras de aço inoxidável para controlar uma caixa d’agua de um motel e ajustei o sensor para isso! só que tive que colocar outro sensor para detectar o não funcionamento da bomba e soar o alarme. Nessa sua proposta vi que seria bem mais simples do que o sistema rudimentar apesar de robusto que fiz, jã são 8 anos em funcionamento. Não sei se consegui me expressar.
    Sérgio

    1. 0

      Olá Sergio!
      Entendi.
      Vamos supor que a bomba começou a funcionar. O nível subiu até quase o limite de desligamento. Neste momento, por uma fatalidade, quebrou o arrastador entre a bomba e o motor elétrico que a impulsiona. A bomba para, mas o motor continua funcionando. Enquanto a água não descobrir o eletrodo de vazio, continuará funcionando. Pode passar muitas horas ou mesmo dias, dependendo do consumo. Quando finalmente esgotar a água e descobrir o eletrodo de vazio, então irá contar 20 minutos e acionar o alarme.
      Na ideia proposta verificamos o tempo máximo para encher a caixa, ou seja, o tempo que o motor ficará ligado, independente da altura da caixa. Se passar desse tempo, alguma coisa está errada.
      Cláudio

  3. 0

    Boa noite Claudio, vi que fez alteração que sugeri, mas não ficou ao contrario? ainda não testei, mas parece que o alarme vai soar depois de 20 minutos de funcionamento da bomba. A ideia que eu tinha proposto era que quando chegasse ao nível mínimo( nível vazia) entrasse um temporizador no qual se o sensor não fosse coberto pela água indicaria que houve falha na bomba ela não ligou e tocaria um alarme! chamando a atenção para verificar o ocorrido, pois não estaria enchendo a caixa. Mas se a caixa começasse a encher então o temporizador seria interrompido e tudo ficaria normal.Não se se me expressei corretamente!
    Sérgio

    1. 0

      Olá Sergio!
      A ideia publicada tem que ver com o tempo máximo permitido para a bomba. Se a bomba ficar ligada por muito tempo indicaria que algo está errado. O tempo pode ser aumentado. Na sua ideia haveria alarme somente se a caixa ficasse em vazio. Mas se der pane quando estiver com metade ou mais da metade? Talvez diga, que quando o nível descer irá atingir o mínimo e tocar o alarme. Mas se o consumo for pouco e demorar um dia ou mais para baixar? O alarme será dado um tanto tardio ao meu ver. Será que estou entendendo bem a ideia?
      Cláudio

  4. 0

    Boa noite Claudio, testei a boia no Proteus, funciona perfeitamente!
    Teria como fazer um Upgrade? por exemplo quando indicasse o nível mínimo, contasse um tempo digamos uns 20 minutos e caso o sensor não fosse “coberto pela água” ele acionasse uma alarme para chamar a atenção de que a bomba não ligou? por ter ocorrido uma falha na bomba?
    seria possível?
    Sérgio

    1. 0

      Olá Sergio!
      Acredito ser possível. Mas o problema é quanto tempo, pois dependendo da caixa da água, da vazão da bomba, etc. pode ser valores muitíssimos diferentes.
      Cláudio

  5. 0

    funcionou perfeito.percebi que no caso de falta de enegia quando estiver enchendo o motor o terminará de encher quando voltar a enegia ,mesmo a caixa ja entando no nivel médio. 💡 💡

    1. 0

      Olá Morais!
      Eu postei pasta com os arquivos errados. Já acertei para pasta com os arquivos corretos. Poderá baixa-los para suas experiências.
      Cláudio

  6. 0

    boa tarde;

    gerou duvida deste projeto:BOIA ELETRÔNICA PARA CAIXAS D’AGUA – C/ PIC 12F675 (REF223).

    os arquivos para donwload esta errado, é de outro projeto,( controle de robô
    esteira).

  7. 0

    boa tarde;

    gente só novo nessa area de programação e gostaria de saber, qual é o copilador usado nos projetos do blog?

    1. 0

      Olá bittec!
      Para programas em C use o compilador CCS C e para assembly use o Mplab_ide. Poderá usar o MplabX para C desde que altere alguns comandos que são diferentes do compilador CCS C.
      Também quero agradecer por avisar que postei o arquivo errado. Já acertei no artigo original.

      Cláudio

  8. 0

    :mrgreen: Olá Claudio, no caso do sensor hall, seria mesmo só um imã a ser fixado no eixo principal do torno, este eixo e o que entrega a rotação a placa de fixação da peça a ser trabalhada.Obrigado..

    1. 0

      Olá Foxconn!
      Entendi. Você colocou que pretende usar o 18f877. Não seria 16f877a?
      Cláudio

      1. 0

        :mrgreen: Olá Claudio, errei ai no digitar, de inicio no pic 16f877a, como vc mencionou, mais tenho uma placa pronta já confeccionada com o 18f4520 que pretendo imigrar para ela, sendo em assembler consigo ir mexendo para imigrar para o 18f4520.Se for o caso te mando o esquema dela para vc ver, e caso queira disponibilizar ao amigos do fórum tb tenho o desenho pronto,só me falar ok. Valeu ai pela atenção e Obrigado…

          1. 0

            😀 Olá Claudio, fiz esta placa para uma controladora de cnc do site PLANETCNC, que estava disponível livre para confecção e melhorias,coloquei mais algumas coisas na pcb para se tornar aproveitável em outros exemplos, o micro usado e o 18f4550, mais também pode ser usado o 18f4520.Abraço…

  9. 0

    Certa vez montei algo parecido usando sensores desse tipo e transistores, porém no lugar do PIC usei amplificadores operacionais para acender os LEDs e ligar a bomba.
    Funcionou perfeitamente por algum tempo, mas depois cria o famoso “zinabre” nos fios que estão dentro da caixa d’agua, minha solução foi usar fios de alumínio.

    1. 0

      Olá Renato!
      Obrigado pela dica de usar fios de alumínio como sensor, para evitar o “zinabre”.
      Cláudio

  10. 0

    ops os aquivos e do projeto do robo esteira desde ja parabens pelo projetos atende a automacao da caixa da agua 100% 😉 😉 😉 😉

  11. 0

    :mrgreen: :mrgreen: Olá Cládio,mais um exemplo bem bolado, O arquivo anexado, foi repetido do projeto esteira—CR_ESTEIRA_FILES, e aproveitando uma sugestão que veria bem a calhar para uma necessidade aqui para eu e tb creio para mais amigos que o segue neste fórum, UM Tacômetro com 18F877 E LCD, se possível em assembler… abraço.

    1. 0

      Olá Foxconn!
      Você poderia por favor, dar uma dica de como seria o uso deste tacômetro? Medir rpm de motores usando que tipo de sensor ? Optico, magnético? Que faixa de medida?
      Cláudio

      1. 0

        :mrgreen: Opa, Claudio seria para medir a rotação de um pequeno torno meu aqui, que varia de 125 rpm a 2.000 rpm, quanto ao sensor para captar, tanto pode ser ótico, quanto magnético, estava pensando em usar este sensor de efeito HALL que tem em cooler de fonte de cpu, reaproveitando ele para a tal função. Fiz uma pcb aqui com o PIC18F4520 SMD, e cheguei atestar um exemplo de um forum com uma versão em C, mais não consegui mexer para acrescentar comando para acionar o motor por rele e inverter a sua rotação, basicamente seria para esta finalidade, em assembler consigo dar umas mexidas no fonte, mais em C, nem consigo em. Abraço e obrigado ai pela gentileza nos projetos.

        1. 0

          Olá Foxconn!
          Como seria o uso do Hall? Teria um ímã preso ao eixo e contaria o número de voltas por minuto? Vários ímãs?
          Cláudio

Comments are closed.