Arquivo da categoria: Eletrônica

Controle de Fluxo de Água com Arduino – Parte 4

Este é o quarto post da série sobre o desenvolvimento do Controle de Fluxo de Água com Arduino. Agora vamos abordar o projeto da placa de circuito impresso (PCI, ou PCB na sigla do inglês Printed Circuit Board). Esperamos como resultado ter uma placa de qualidade para o nosso projeto.

Como vimos em posts anteriores, este projeto utiliza um Arduino Nano além de outros componentes. Para comportar todos de forma definitiva foi projetada uma placa de circuito impresso. Assim teremos uma abordagem que dá um toque mais profissional ao projeto que utilizar protoboard ou mesmo utilizar uma placa padrão.

Projeto da PCB

No projeto do circuito elétrico apresentado no post anterior utilizamos um Arduino Nano e alguns componentes como resistores, capacitores e reguladores de tensão. A partir daí podemos perceber a necessidade de acomodar estes componentes. Era preciso criar uma placa que possibilitasse o encaixe do Arduino Nano e também acomodasse outros componentes. A partir do foi iniciado o projeto da PCB.

Além dos componentes de encaixe seria preciso adicionar foi preciso criar a etapa de alimentação e ajuste do sensor de fluxo. Na Figura 1 é possível observar o projeto da placa principal e na Figura 2 a placa auxiliar.

Figura 1 – PCB da placa principal.
Figura 2 – PCB da placa auxiliar.

A alimentação parte da placa principal e é levada para a auxiliar por um cabo RJ45 nos conectores RJ1 e RJ2. Neste cabo também está a alimentação, fornecida para a solenoide e para o sensor de fluxo. Também é por este cabo que o sinal do sensor de fluxo volta da placa auxiliar ao Arduino Nano.

Na placa principal temos os conectores J3 e H1 para conectar o Encoder e o Display, respectivamente. Nela também temos o R2, um trimpot para ajuste da calibração do do sensor de fluxo e o botão de reset do sistema.

Produção Profissional da PCB

O projeto foi todo desenvolvido no easyeda.com, um site que contém uma ferramenta de desenho de circuitos de várias camadas e com diversas ferramentas e bibliotecas de componentes.

Há diversos sites que você pode acessar para fazer sua placa após finalizar o projeto. Eu já fiz algumas placas na jlcpcb.com. Uma fábrica chinesa com preços muito bons, processo desburocratizado e rápido. Como resultado temos uma placa de qualidade profissional produzida em um processo industria. A única desvantagem é o tempo de chagada que fica em torno de 30 dias.

O resultado final da produção da placa pode ser visto nas Figuras 3.

Figura 3 – Placa final do projeto.

Para saber mais sobre como criar uma uma PCB fazendo uma shield para Arduino clique aqui e conheça o curso Circuito Impresso: Criando uma NoShield para Arduino.

No próximo post vamos falar sobre as considerações finais sobre o projeto e possíveis melhorias.

  • Parte 5 – Conclusão.

Controle de Fluxo de Água com Arduino – Parte 3

Neste terceiro post da série sobre o desenvolvimento do Controle de Fluxo de Água com Arduino vamos abordar a parte eletrônica do projeto definindo quais recursos utilizaremos incluindo o Arduino escolhido para a tarefa. Vamos lá?

Recapitulando as principais funcionalidades desta solução:

  • Controlar o fluxo da água (abrir/fechar passagem);
  • Definir o quanto de água vai passar enquanto estiver aberto;
  • Apresentar no display o volume de água escolhido;
  • Sinalizar quando toda a água passou.

Primeiro Esboço do Circuito

O primeiro esboço apresentado trouxe uma visão macro da solução. A partir dele, apresentado na Figura 1, sabemos que precisaremos de alguns recursos:

  • (A) Fonte de Alimentação;
  • (B.1) Arduino;
  • (B.2) Encoder Rotatório;
  • (B.3) Display de 7 Segmentos com 4 dígitos;
  • (B.4) Buzzer;
  • (B.5) LED indicativo de alimentação.
  • (C) Uma placa que leva e traz os sinais de controle da solenoide e contador de fluxo e também a alimentação.
Figura 1 – Rascunho do Projeto PurificControl.

Para acomodar todos os módulos e componentes vamos elaborar uma PCB (Printed Circuit Board, ou Placa de Circuito Impresso em tradução livre). A esta placa vamos disponibilizar conectores dupont fêmea para acomodar o arduino, o display e o encoder. Os outros componentes serão soldados diretamente à placa.

Escolha do modelo do Arduino

O projeto poderia ser desenvolvido com qualquer modelo de microcontrolador como PIC, ARM, 8051 ou o próprio AVR do Arduino. A escolha da plataforma Arduino se deu pela sua simplicidade e facilidade de criar protótipos e pela disponibilidade no mercado para encontrar as placas e bibliotecas relacionadas com ela.

O além das funcionalidades já apresentadas nos posts anteriores seria preciso escolher um Arduino que fosse suficiente acoplamento dos módulos e outros componentes , fosse pequeno para evitar minimar ao máximo o espaço físico ocupado e fácil de reprogramar quando preciso. Como resultado, decidi utilizar o Arduino Nano por cumprir todos os requisitos. Na Figura 2 temos uma foto do Arduino Nano com os pinos já soldados. Muitas vezes quando compramos este modelos eles não vem com os estes pinos soldados.

Arduino Nano
Figura 2 – Arduino Nano.

As funcionalidades e disponibilidade deste modelo são similares por utilizar o mesmo microcontrolador, o ATMEGA328.

Display de 7 Segmentos com 4 Dígitos

A principal funcionalidade definida para este projeto é a possibilidade do usuário definir o quanto de água ele gostaria liberar do purificador. Para isso foi preciso escolher qual interface utilizaríamos para apresentar o valor selecionado por ele.

Entre as possibilidades tínhamos: Display LCD 16×2

  1. Display LCD 16×2: uma opção interessante por suportar caracteres alfanuméricos.
  2. Display LCD com matriz de pontos: possibilitaria criar o próprio layout com mais detalhes se preciso.
  3. Display de 7 Segmentos: um display de 7 segmentos composto com 4 dígitos possibilita mostrar o número de 0 à 9999.

A terceira opção, Display de 7 Segmentos com 4 dígitos, foi escolhida por que é a opção suficiente para o propósito: apresentar ao usuário o quanto de água se quer. Outros pontos também contribuíram com a escolha:

  1. Existe um módulo já com estes displays baseado no circuito integrado TM1637 que facilita todo o controle dos displays.
  2. Para este módulo há uma (ou mais) bibliotecas para facilitar ainda mais seu uso.
  3. O tamanho do dígito é bem maior do que os caracteres do Display LCD 16×2, por exemplo.

A Figura 3 mostra este módulo, e nela podemos ver que ele utiliza apenas 4 pinos sendo 2 de comunicação e 2 de alimentação. Isso possibilita uma economia de pinos digitais se comparado com a ligação direta de um display com os 7 pinos diretamente.

Figura 3 – Módulo com 4 displays de 7 segmentos e controlador TM1637.

Encoder Rotatório (Rotary Encoder)

Para que o usuário entrasse com o valor que deseja que o purificador liberasse era preciso uma interface fácil de manipular. Inicialmente foi pensado em um teclado matricial mas a ideia foi deixada de lado pelo espaço físico que ocuparia. Outra possibilidade seria o uso do celular com bluetooth ou mesmo WiFi, porém serial necessário estar sempre com o celular em mãos para utilizar o purificador.

A solução encontrada com a característica de simplicidade e que seria suficiente para a solução foi o uso de um Encoder Rotatório. Este dispositivo, apresentado na Figura 4, onde podemos ver que o manipulador de giro e os 5 pinos, sendo 2 para detecção da direção do giro; 1 deles é um botão do tipo push button normalmente aberto ativado ao pressionar o manipulador de giro; e 2 para alimentação.

Figura 4 – Encoder Rotatório com botão.

Como podemos ver na Figura 4 o encoder é similar a um potenciômetro, porém não se trata de um resistor variável e não tem os limites de rotação podendo ser girado livremente nos dois sentidos. Com ele é possível detectar qual a direção o usuário girou e contar os passos do gito. Ao girar você consegue sentir cada passo simular ao scroll de um mouse, que também é um tipo encoder rotatório.

No nosso projeto a cada passo do giro horário aumentaria 10ml sendo o valor acumulado exibido no display no limite até 9999ml. Similarmente no giro anti-horário diminuiria o valor no limite até 0ml. Após selecionar o volume de água o botão do encoder servirá para liberar o fluxo de água.

Válvula Solenoide

Para poder responder a solicitação de liberação do fluxo de água temos que controlar a válvula solenoide. A válvula escolhida é apresentada na Figura 5, que é uma válvula normalmente fechada, ou seja, enquanto não houver corrente em seus contatos de alimentação ela permanece com o fluxo de água fechado.

Figura 5 – Válvula Solenoide 12Vcc.

Foi escolhida uma válvula de 12Vcc para utilizar a mesma alimentação do circuito como um todo e manter o mínimo de risco possível visto que inicialmente não foi planejado o acomodamento da parte hidráulica ou eletrônica em uma caixas apropriadas.

Como a válvula é 12Vcc/600mA não é possível ativá-la pelos pinos digitais do Arduino e por isso foi preciso elaborar um driver de corrente transistorizado, apresentado na Figura 6.

Figura 6 – Driver transistorizado para a válvula solenoide.

Na Figura 6(A) podemos ver o simples uso do transistor TIP31 como chave. Na Figura 6(B) vemos como os componentes ficarão interligados de acordo com seus terminais e pinagem.

Como trata-se de um transistor NPN ele mantém a junção Coletor-Emissor aberta até que a base seja polarizada positivamente. Como estamos controlando uma carga indutiva o diodo em paralelo evita que o transistor queime por geração de uma alta tensão inversa pelo indutor.

No circuito é possível ver que o pino D5 do Arduino deverá ficar conectado ao resistor que polariza a base do transistor. Com este pino indo a nível lógico alto, o transistor passa a conduzir e assim leva ao GND o pino da solenoide conectada a ele.

Fonte de Alimentação

Para alimentar o circuito como um todo foi decidido utilizar uma fonte de alimentação, ao invés de optar por baterias. Esta decisão se dá pelo necessidade de manter o sistema funcionando constantemente, ou pelo máximo de tempo possível.

A fonte utilizada deverá fornecer pelo menos 12Vcc com uma corrente mínima de 2A para garantir o bom funcionamento a atender à necessidade dos componentes e módulos.

Esta fonte será conectada à placa utilizando um jack padrão DC005-T20 a qual contará com uma etapa de conversão DC-DC com reguladores de tensão para fornecer 5Vcc, para os módulos que necessitarem como o Display de 7 Segmentos e o sensor de fluxo YF-S201, e uma opção de regulação de tensão para 12Vcc o que vai garantir a tensão necessária para a solenoide.

A Figura 7 apresenta a etapa de conversão DC-DC contanto com um regulador 7805 e 7812, para 5Vcc e 12Vcc respectivamente. O jumper J2 vai permitir o uso ou não do regulador 7812 podendo desabilitar caso a fonte já seja 12Vcc.

Figura 7 – Etapa de Conversão DC-DC com reguladores de tensão.

A Visão Completa do Esquemático

A visão geral do esquemático da placa principal pode ser vista na Figura 8 e na Figura 9 temos o esquemático da placa auxiliar. Ambas serão interconectadas por um cabo com conectores RJ-45.

Figura 8 – Esquemático da placa principal.
Figura 9 – Esquemático da placa auxiliar.

O arquivo do esquemático pode ser baixado neste link.

Agora sabemos como interconectar as partes do circuito e como elas se relacionam. Vamos ver como ficará nossa PCB, então não perca o próximo post.

Inscreva-se para receber novidades!

* indica campo obrigatótio

Próximos posts desta série:

Controle de Fluxo de Água com Arduino – Parte 2

Este é o segundo post de uma série relacionados o desenvolvimento do Controle de Fluxo de Água com Arduino. Neste post vou mostrar como montei a parte hidráulica. Mãos a obra!

Instalação Padrão de um Purificador

A instalação de purificadores de forma geral é muito simples. Você precisa de um ponto de água disponível e, se seu purificador gelar a água, uma tomada. É interessante que esses prerrequisitos estejam próximo onde ficará o purificador ou você precisará fazer “adaptações”, como foi o meu caso.

Para o meu modelo de purificador Latina PN535 é necessário apenas a ligação do ponto de água utilizando o adaptador que vem junto com ele próprio para redução da bitola de entrada do purificador. Não há qualquer outro procedimento além desse, a não ser colocar a unidade que filtra.

Conexões para o Projeto

Como meu objetivo era controlar o fluxo com a contagem de volume eu necessitei modificar a instalação padrão para não precisar mexer diretamente no purificador, o que seria bem mais trabalho e realmente não sei se daria certo.

Para para alcançar o objetivo eu precisava resolver dois problemas. O primeiro que era preciso bloquear a passagem de água e só liberar de acordo com um comando do Arduino. O segundo problema é que eu precisava saber o quanto de água saiu do purificador.

Para minha felicidade há soluções simples e relativamente baratas para os dois casos. O primeiro é possível sanar utilizando uma válvula solenoide, comum em máquinas de lavar roupas. Como eu queria algo mais simples do que as utilizadas em máquinas de lavar roupas procurei uma que fosse 12Vcc de alimentação. Para o segundo problema foi possível utilizar o sensor YF-S201. Que é um sensor que possibilita medir um fluxo de líquido ou gás. Ambos estão apresentados na Figura 1. Além de serem fáceis de serem encontrados também são de baixo custo, não mais que R$ 50,00 cada um.

Figura 1 – Primeiro modelo de conexões hidráulicas.

Apesar de ter definido como os problemas seriam resolvido algo ainda não estava ideal. E se faltasse energia? Nesse caso, com a configuração definida na Figura 1, eu ficaria sem água!

Modelo Hidráulico Definitivo

Para resolver o problema da falta de água em caso de falta de energia elétrica eu resolvi criar um caminho alternativo para a água. Este caminho seria liberado manualmente em caso de falta de energia.

Para isso utilizei uma torneira de passagem que em modo de operação normal ficaria fechada constantemente e caso faltasse energia seria preciso fechar a válvula do purificador e abrir esta torneira de passagem.

Na Figura 2 é possível ver o fluxo principal da água, que chega em (A) e passa pelo sensor de fluxo (B) e é liberada ou bloqueada pela solenoide (C) de acordo com o comando do usuário e chega ao purificador pela conexão de saída (D). A torneira de passagem que gera o caminho alternativo é apresentada em (E) e, quando aberta, gera um caminho pela mangueira (F) fazendo a água chegar diretamente na saída (D) independente da solenoide.

Figura 2 – Modelo hidráulico definitivo.

Agora que solucionamos os problemas hidráulicos de controle da água vamos criar o projeto eletrônico. Como será nossa automação completa? Não perca o próximo post.

Inscreva-se para receber novidades!

* indica campo obrigatótio

Próximos posts desta série:

Controle de Fluxo de Água com Arduino – Parte 1

Este é o primeiro de uma série de posts relacionados o desenvolvimento do Controle de Fluxo de Água com Arduino. Espero que você aprenda e se divirta com os caminhos para a criação deste protótipo. Vamos lá!

É com nossas experiências do dia-a-dia que devemos nos inspirar para termos ideias de projetos realmente úteis. Afinal, fazer algo sem utilidade não faz sentido algum! Neste post conto uma breve história de como desenvolvi o projeto de controle de fluxo de água com
Arduino e porque decidi investir meu tempo no projeto.

Motivações

A utilização de purificadores de água é algo comum de ser observado hoje me dia. Muitos de nós não queremos pagar caro pelos robustos e pesados garrafões de água mineral e ainda ter que ficar mantendo um, ou mais, de reserva em casa.

Os filtros por sua vez são práticos e os preços variam de acordo com suas funcionalidades. Alguns são apenas para água natural, outros tem opção de água fria e gelada também. Outras características como aviso de troca do filtro e facilidade de limpeza são diferenciais que alguns fabricantes oferecem.

Os purificadores funcionam, genericamente, liberando o fluxo quando você gira uma válvula ou pressiona um botão. Na Figura 1 temos exemplos, um Latina com válvula de giro e o Consul com botão. O giro permite manter o fluxo aberto até que seja girado no sentido contrário. O botão geralmente mantém aberto enquanto estiver pressionado. Claro que dependendo do purificador esse comportamento pode mudar.

Dois modelos de purificadores de água.
Figura 1 – Exemplos de purificadores de água.

Apesar das vantagens que os purificadores oferecem eles sempre poderão melhorar, e talvez você esteja se perguntando como?

Eu particularmente utilizo em minha casa um purificador do mais simples que me servia com perfeição até que um dia eu esqueci uma garrafa de água enchendo e inundei a cozinha inteira! Antes de ler o livro O Design do Dia-a-dia tomei o problema como sendo da minha memória ou distração mas abrindo a mente o problema realmente é do projeto do purificador. Sugiro a leitura do livro para entender mais essa linha de pensamento.

Este caso ocorreu algumas vezes ao longo de uns 2 anos (a última foi recente) e poderia ser realmente grave se alguém se machucasse gravemente escorregando porque não viu o chão molhado ou se eu saísse de casa deixando o filtro ligado e inundasse o prédio ou a casa!

Outro motivo, e não menos importante, é que, com o tempo a válvula de passagem de água pode quebrar. A Figura 2(B) mostra a válvula para um purificador de marca Latina e o botão, Figura 2(B). Como o material da válvula é plástico, após o uso contínuo ela racha e começam os vazamentos e há a necessidade de troca.

Figura 2 – Botão (A) e válvula (B) de um purificador Latina.

Com o projeto sugerido mesmo a válvula quebrando um pequeno desastre doméstico pode ser evitado uma vez que será utilizada outro tipo de controle de passagem de água.

A Ideia do Controle de Fluxo de Água com Arduino

Por conta deste ocorrido decidi desenvolver uma automação para meu purificador. Precisaria de algo que evitasse que o problema ocorresse novamente. Poderia simplesmente modificar e adicionar uma válvula de pressão para me forçar a ficar ao lado dele até que o uso findasse, mas que graça teria isso! 😀

Foi então que fiz o primeiro rascunho do projeto Controle de Fluxo de Água com Arduino denominado PurificControl. Na Figura 3 temos o esboço do projeto dividido em três partes: Figura 3(A), (B) e (C) .

Na Figura 3(A) é apresentada a fonte de alimentação que necessariamente deve ser 12Vcc por, pelo menos, 1A.

Rascunho do projeto de Controle de Fluxo de Água com Arduino.
Figura 3 – Rascunho do Projeto PurificControl.

A fonte conectada à placa principal apresentada na Figura 3(B) pelo conector A.1. Nesta placa temos um Arduino Nano (B.1), que será o controlador do projeto. O Encoder Rotatório (B.2) será utilizado como interface de controle do usuário para definir o quando de água ele vai querer liberar e um módulo Display Serial 7 Segmentos (B.3) vai apresentar este valor e o quanto já foi liberado. O Buzzer B.4 deve emitir um som quando o volume de água pré-definido sair pelo purificador. O LED (B.5) serve apenas para apresentação visual de alimentação na placa.

A placa apresentada na Figura 3(C) serve para realizar a conexão de um sensor de fluxo de água (C.1) uma válvula solenoide (C.2). A solenoide vai controlar a passagem da água para o purificador enquanto o sensor contará o quanto já passou. Em C.3 temos um conector RJ-45 que vai interconectar as placas B e C.

Mas porquê não juntar tudo numa placa só? O meu filtro não está fisicamente próximo do ponto de água onde ele está conectado e é neste ponto de água que precisei montar a estrutura hidráulica com a válvula solenoide e o sensor de fluxo. Por isso decidi utilizar conectores RJ-45 para aproveitar cabos de rede para conexão das partes e deixar o mais organizado possível mesmo se tratado de um projeto caseiro.

Vamos ficando por aqui neste primeiro post. O próximo será relacionado com o projeto hidráulico. O que é necessário para realizar teste controle de fluxo? Não perca.

Inscreva-se para receber novidades!

* indica campo obrigatótio

Próximos posts desta série:

Minicurso: Uma Visão Geral Sobre Microcontroladores

Sistemas embarcados estão presentes em nosso cotidiano em vários lugares. Relógios, aparelhos som, TVs, eletrodomésticos e carros, são alguns dos exemplos onde podemos encontrar os microcontroladores em nosso dia-a-dia. Entender o que são, como funcionam e suas aplicações é essencial para profissionais que querem se destacar no mercado moderno de sistemas embarcados. Mesmo para aqueles que desejam implementar seus próprios sistemas, o uso de microcontroladores, seja
PIC, AVR( Arduino ), AMR, 8051ou ESP, pode fazer toda diferença.

No mercado existem diversas plataformas com dezenas de chips para escolhermos e definir qual plataforma estudar pode não ser tão simples assim.

Apesar dessa diversidade, é possível iniciar o estudo de microcontroladores por conta própria. Existem diversos livros no assunto e a documentação é bem vasta.

Minicurso online e gratuito

Minicurso: Uma Visão Geral Sobre Microcontroladores vai te ajudar a entrar no mundo dos sistemas embarcados com foco em microcontroladores a partir de uma visão geral sobre estes dispositivos. Eles estão presentes em nosso dia-a-dia desde dispositivos mais simples até os mais complexos robôs industriais.

Dê o primeiro passo para implementar sistemas embarcados independente de plataforma PIC, AVR( Arduino ), AMR, 8051ou ESP com este minicurso gratuito na Udemy. Clique aqui e confira e aproveite agora! É totalmente gratuito e o acesso é ilimitado.

Vamos conhecer um pouco dos microcontroladores partir de suas características e aplicações. Veremos também os principais módulos periféricos que compõem esses componentes e o papel de cada um deles no chip e como esses recursos podem agregar em suas aplicações.

Este minicurso foi desenvolvido para todas as pessoas que desejam avançar em seus projetos eletrônicos e/ou de automação utilizando estes fantásticos componentes que variam em diversos aspectos como formas, recursos, arquiteturas e custo.

Vamos iniciar definindo um microcontrolador e em seguida vamos ver tópicos sobre

  • sistemas embarcados;
  • linguagens de programação;
  • microcontrolador vs microprocessador;
  • estrutura e aplicações dos microcontroladores;
  • o papel da eletrônica digital;
  • módulos;
  • sensores;

além de outros tópicos.

Promoção: Arduino ou PIC? Porque não os dois!

Inscreva-se hoje nos cursos online de introdução aos Microcontroladores PIC e Arduino, com descontos imperdíveis e acesso vitalício incluindo todas as atualizações! Não dá pra perder.

Está em dúvida? Experimente! O curso inclui

  • Garantia de devolução do dinheiro em 30 dias;
  • Acesso total vitalício;
  • Acesso no dispositivo móvel e na TV/Chromecast;
  • Certificado de Conclusão.

Introdução à Engenharia com Arduin

Se você não tem experiência no assunto e deseja compreender como funciona um o Arduino e ainda aprender como de criar seus próprios projetos e programas, este curso é para você.

Mais de 7 horas de vídeo aulas com exemplos de programas mostrando como utilizar os principais recursos de da plataforma Arduino.

Microcontroladores PIC com Linguagem C

São mais de 11 horas de vídeo aulas mostrando como utilizar os recursos de microcontroladores PIC e outros componentes como Dysplays, LEDs, botões etc.

Entre no mundo dos Microcontroladores e crie seus próprios projetos utilizando os principais recursos do PIC. Avance na eletrônica aprendendo os recursos dos Microcontroladores PIC mesmo que não conheça Arduino, 8051 ou ARM.