8. Sistema Didático com Bombeamento, Comutação e Detecção

Vamos mostrar a montagem de um sistema demonstrativo didático formado por uma bomba centrífuga, uma válvula solenóide controladas pelo Arduino e um transdutor (sensor) resistivo de força para medida de vazão (gravimétrica). O controle e monitoramento desse sistema é feito através de um programa escrito em Tcl/Tk.

Figura 45. Visão frontal do sistema composto por uma bomba centrífuga e uma válvula solenóide e um transdutor resistivo de força.

Visão frontal do sistema composto por uma bomba centrífuga e uma válvula solenóide e um transdutor resistivo de força.

Figura 46. Parte de trás do sistema com a placa Arduino, o circuito driver de controle e a fonte de alimentação.

Parte de trás do sistema com a placa Arduino, o circuito driver de controle e a fonte de alimentação.

8.1. Estrutura Física

Aproveitei uma chapa de piso laminado e cortei em duas partes. A parte menor foi usada como base sobre a qual foi fixada a peça maior com o uso de 2 cantoneiras, parafusos e porcas.

Figura 47. Etapas da montagem da estrutura física utilizando chapa de compensado (piso laminado) fixados com cantoneiras.

Etapas da montagem da estrutura física utilizando chapa de compensado (piso laminado) fixados com cantoneiras.

O objetivo era permitir fixar a bomba, válvula e reservatórios de água em desnível na parte frontal e manter a parte elétrica na parte de trás protegida de respingos. Como reservatórios foram usados frascos de plásticos suspensos em cantoneiras com o uso de cabo de aço revestido (usado em varal). Esses cabos são vendidos com uma presilha de plástico que facilita a fixação das extremidades, mas na falta das presilhas você pode usar um botão de roupa para fazer a fixação e o ajuste da altura. ;^)

Para fazer as conexões entre os reservatórios, a bomba e a válvula utilizei uma mangueira para aquário siliconada.

Para conectar a mangueira no fundo do reservatório inferior fiz um furo no fundo do frasco (com furadeira)e preparei uma conexão recortando a ponta de uma seringa e introduzindo por dentro do frasco através do furo. Para garantir vedação apliquei um pouco de cola epóxi (Araldite™) na região entre a seringa e o fundo do frasco. E para garantir a fixação da mangueira com a ponta da seringa usei uma ponta metálica aquecida e alarguei a extremidade da seringa (onde encaixa a agulha) e finalmente usei uma abraçadeira de plástico (nylon).

Mas confesso que não fiquei satisfeito com esse tipo de conexão. Foi muito trabalhosa e por isso testei uma outra alternativa mais simples para conectar a mangueira no reservatório superior.

Para o reservatório superior fiz um furo na lateral inferior do reservatório (com furadeira) com diâmetro suficiente para introduzir a mangueira com algum esforço. E para garantir vedação cortei a ponta do gotejador de um equipo e, por dentro do reservatório, introduzi na mangueira para alargar o diâmetro da mangueira. Em seguida puxei a mangueira para fora até fixar a mangueira que ficou estrangulada entre a borda do furo e a ponta do gotejador (ver figura).

Figura 48. Conexão da mangueira no fundo do reservatório superior com auxílio da ponta do gotejador de um equipo.

Conexão da mangueira no fundo do reservatório superior com auxílio da ponta do gotejador de um equipo.

Dica

Esse técnica de conexão foi mais simples e não apresentou vazamentos. Mas uma alternativa que pode ser mais prática e robusta é usar conectores para micro irrigação e um anel de vedação, também conhecido como chula.

8.2. Circuito de controle com Arduino

Em princípio eu poderia usar um relé para acionar a bomba centrífuga, mas nesse caso eu não teria a possibilidade de variar a rotação e consequentemente a vazão. Por isso optei pelo transístor para poder usar a técnica de PWM.

Na página 80 do livro Learn Electronics with Arduino encontrei o seguinte projeto:

Figura 49. Projeto para controle de motor DC usando transístor (2N2222 ou TIP31C ou TIP120).

Projeto para controle de motor DC usando transístor (2N2222 ou TIP31C ou TIP120).

E na página 276 do livro Arduino Cookbook:

Figura 50. Projeto para controle de motor DC usando transístor (2N2222 ou TIP102).

Projeto para controle de motor DC usando transístor (2N2222 ou TIP102).

Como eu já tinha um TIP31C e um diodo 1N4007 resolvi montar o circuito com esses componentes.

Mas observei que usando uma resistência na base de ~1 kohm, conforme o primeiro projeto, não ligava o motor. Então reduzi a resistência para aproximadamente 300 Ω e só então o motor foi acionado.

Mas o transistor esquentava muito, por isso troquei pelo TIP122, mas o transístor continuava a esquentar.

Para tentar aumentar a saturação do transístor reduzi Rb para 180 Ω e medi uma tensão de 2,40 V entre os terminais de Rb e portanto o pino 9 do Arduino estava fornecendo 13mA de corrente (abaixo do limite de 40mA), e 2,3 V restantes entre a base e o emissor do transístor (Vbe).

Resolvi medir a resistência entre os terminais das duas bombas, uma das bombas media ~2 Ω, e consumia ~2,7A quando ligada em 12V. A outra, com ~4 Ω, consumia ~500mA quando ligada em 12V.

Encontrei um exemplo em que esse tipo de bomba era usada com tensão menor do que 12V (http://our.windowfarms.org/2009/10/18/cheap-hack-of-12-windshield-washer-pump/), por isso resolvi experimentar e ligar a bomba (com ~2 Ω entre os terminais) na fonte de 5V e ela também funcionou, mas com menor vazão, consumindo 1,23 A.

Descobri que essas bombas possuem uma potência de 45/50 W e com consumo da ordem de 5 A, podendo chegar a 10 A. Não existe um padrão e cada fabricante possui diferentes especificações.(Fontes: http://www.renaultforums.co.uk/showthread.php?t=123763, http://www.dutchforce.com/~eforum/index.php?s=99056abf199ad171bc7cd47d6b17e53b&showtopic=21111, http://www.johnsonmotor.com/en/products/automotive-pumps/windshield-headlamp-washer.html)

Resolvi olhar com mais atenção as especificações dos transístores TIP31C e TIP122. Segundo o datasheet do TIP31C este componente suporta no máximo de 3 A de corrente no coletor (Ic), e o datasheet do TIP122 indica um (Ic) máximo de 5 A.

Resolvi investir no uso do TIP122 mas confesso que fiquei na dúvida sobre qual seria a corrente mínima que eu deveria aplicar na base do transístor para manter o transístor saturado e minimizar a dissipação térmica, mas respeitando o limite de 40 mA na saída dos pinos do Arduino.

Resolvi fazer uma série de medidas usando o TIP122 e alimentando a bomba com 5V, variando Rb (resistência entre o pino do Arduino e a base do transístor) e medindo Vb (diferença de potencial nos terminais de Rb) para calcular Ib (corrente fornecida pelo pino do Arduino). Também fiz medidas de Vce (diferença de potencial entre o coletor e o emissor do transistor) e finalmente Ic (corrente de entrada no coletor).

Montei o seguinte circuito:

Figura 51. Circuito para controle da bomba centrífuga usando transístor.

Circuito para controle da bomba centrífuga usando transístor.

Tabela 2. Medidas elétricas realizadas no circuito para controle da bomba centrífuga usando o transístor TIP122 e aplicando tensão na bomba de 5,16 V

Rb (Ω)Vb (V)Ib (mA)Vce (V)Ic (A)Potência = Vce x Ic (W)
104 2,00 19,2 0,80 1,00 0,80
150 2,22 14,8 0,78 0,98 0,76
199 2,47 12,4 0,80 1,01 0,81
250 2,40 9,6 0,80 0,99 0,79
303 2,60 8,4 0,80 1,01 0,81
354 2,60 7,4 0,80 1,01 0,81
404 2,60 6,4 0,80 1,04 0,83
499 2,75 5,5 0,80 1,04 0,81
604 2,67 4,4 0,80 1,01 0,81
698 2,69 3,8 0,81 1,01 0,82
806 2,70 3,3 0,80 - -
906 2,72 3,0 0,81 1,03 0,83
995 2,77 2,8 0,81 1,05 0,85
1220 2,80 2,3 0,82 1,01 0,83
1650 3,00 1,8 0,82 1,01 0,83
2020 3,18 1,6 0,82 1,00 0,82
2550 3,20 1,2 0,84 0,99 0,83
3050 3,08 1,0 0,86 0,99 0,85
4020 3,22 0,80 0,90 0,98 0,88
5000 3,14 0,60 0,94 0,94 0,88
6030 3,25 0,50 1,50 0,75 1,12

O gráfico seguinte ajuda a visualizar a tensão de saturação (0,8 V) do transístor TIP122 e o valor mínimo de Ib em torno de 2 mA. Portanto a resistência de base de 1 kΩ é satisfatória.

Figura 52. Gráfico de Vce X Ib para o transístor TIP122 com tensão de 5V.

Gráfico de Vce X Ib para o transístor TIP122 com tensão de 5V.

Na última leitura (6,03 kΩ) foi possível perceber uma redução significativa na vazão da bomba e rápido aquecimento do transístor, indicando que já estava bem fora da região de saturação.

Achei interessante fazer essas medidas para o meu aprendizado, mas achei melhor usar um transístor MOSFET para tentar alimentar esse motor com 12V e evitar muita dissipação térmica no transístor. E além disso, segundo o vídeo https://www.youtube.com/watch?v=CFt8hkh17_w os transístores MOSFET são mais rápidos do que os transístores BJT!

8.2.1. Usando o transistor FET IRFZ46N

Seguindo a sugestão do amigo Daniel Basconcello, comprei um MOSFET IRFZ46N, um tranistor canal N. (Datasheet: www.irf.com/product-info/datasheets/data/irfz46npbf.pdf)

É importante lembrar que a corrente que circula entre o drain (dreno) e o source (fonte) de um MOSFET depende da tensão aplicada no gate (porta).

E como a tensão nos pinos de saída do Arduino é de 5V é importante consultar o Datasheet do componente e ver o gráfico da corrente que circula pelo transístor em função da tensão aplicada no gate. E verificar se a corrente que circula quando o Arduino aplicar 5V no gate vai atender a necessidade do dispositivo que será controlado (motor, relé etc).

Figura 53. Gráfico ID, Drain-to-Source Current (A) X VGS, Gate-to-Source Voltage (V) (Fonte: www.irf.com/product-info/datasheets/data/irfz46npbf.pdf)

Gráfico ID, Drain-to-Source Current (A) X VGS, Gate-to-Source Voltage (V) (Fonte: www.irf.com/product-info/datasheets/data/irfz46npbf.pdf)

Veja mais detalhes na página Using MOSFETS with TTL levels.

Mas para montar o circuito segui as dicas que encontrei no fórum do Arduino (http://forum.arduino.cc/index.php?topic=153543.0) e usei uma resistência de 200 Ω entre o pino do arduino e o gate e outra resistência de pulldown de 10kΩ.

Figura 54. Circuito para controle da bomba com o MOSFET IRFZ46N, diodo 1N4007, dois resistores, fonte de alimentação e placa Arduino.

Circuito para controle da bomba com o MOSFET IRFZ46N, diodo 1N4007, dois resistores, fonte de alimentação e placa Arduino.

Utilizei o mesmo circuito para o controle da válvula solenóide.

Figura 55. Circuito para controle da válvula solenóide com o MOSFET IRFZ46N, diodo 1N4007, dois resistores, fonte de alimentação e placa Arduino.

Circuito para controle da válvula solenóide com o MOSFET IRFZ46N, diodo 1N4007, dois resistores, fonte de alimentação e placa Arduino.

Devido às limitações de corrente da fonte de alimentação disponível testei se a válvula solenóide, marca DS™, seria capaz de funcionar com 5V de tensão (5V -> 220mA e 12V -> 530 mA) e pude observar na prática que era possível usar essa válvula com apenas 5V.

8.3. Sensor (transdutor) Resistivo de Força (SRF) para Medidas de Vazão Gravimétrica

Resolvi testar a capacidade deste tipo de sensor para medidas de vazão, e montei um suporte para o SRF usando um pedaço de borracha e partes de de uma seringa de 20ml conforme a figura seguinte.

Figura 56. Disco de borracha e partes da seringa de 20 ml utilizadas para acomodar o SRF

Disco de borracha e partes da seringa de 20 ml utilizadas para acomodar o SRF

Foi feito um corte no corpo da seringa para colocar a parte sensora, apoiada pelo disco de borracha, mantendo os conectores elétricos para fora. E a extremidade do êmbolo é colocada dentro do corpo da seringa para distribuir a força sobre o SRF.

Figura 57. Etapas da montagem do suporte para o SRF

Etapas da montagem do suporte para o SRF

O suporte com o sensor, foi fixado na cantoneira superior e o frasco superior foi dependurado sobre o suporte do sensor, de maneira que todo o peso do frasco seja aplicado sobre a superfície do SRF. Como conector para os terminais do SRF usei um conector retirado da placa de um CD-ROM.

Figura 58. Frasco dependurado sobre o suporte do SRF e conector usado para o SRF.

Frasco dependurado sobre o suporte do SRF e conector usado para o SRF.

8.3.1. Circuito para o SRF

Existem muitas alternativas de circuito que podem ser usados com esse tipo de sensor conforme mostra o Datasheet. Mas resolvi montar o circuito sugerido no site http://www.ladyada.net/wiki/tutorials/learn/sensors/fsr.html que se baseia no princípio do divisor de tensão.

Figura 59. Circuito para o sensor (transdutor) resistivo de força (Fonte: http://www.ladyada.net/wiki/tutorials/learn/sensors/fsr.html.

Circuito para o sensor (transdutor) resistivo de força (Fonte: http://www.ladyada.net/wiki/tutorials/learn/sensors/fsr.html.

Um dos pinos do SRF é ligado ao pino de alimentação (5V) do Arduino e o outro pino é ligado em série com uma resistência de 10 kΩ que está ligada ao terra. As leituras são feitas pelo pino analógico do Arduino (A0) que está no ponto intermediário do divisor de tensão (Vout).

Figura 60. Princípio de funcionamento do circuito divisor de tensão pera as medidas com o SRF.

Princípio de funcionamento do circuito divisor de tensão pera as medidas com o SRF.

Atenção

Segundo o Datasheet não se deve aplicar nos terminais desse transdutor correntes maiores do que 1mA/cm2.

O SRF não é uma célula de carga (load cell) ou um extensômetro (strain gauge ou strain gage) embora possua propriedades semelhantes. Portanto o SRF não é adequado para medições de precisão.

Com o aumento do peso do reservatório a resistência do sensor diminiu e como ele está no denominador, o valor de Vout aumenta.

Figura 61. Fórmula de cálculo da tensão Vout em funcão da resistência do SRF.

Fórmula de cálculo da tensão Vout em funcão da resistência do SRF.

No entanto essa relação não é linear conforme o gráfico de Resistência (kΩ) em função da Massa (g) aplicada.

Figura 62. Fórmula de cálculo da tensão Vout em funcão da resistência do SRF.

Fórmula de cálculo da tensão Vout em funcão da resistência do SRF.