Olá leitores; no post de hoje vou ensinar como criar saída 4-20mA com Arduino UNO. O objetivo deste texto é ser apenas uma referência,  mostrando a forma mais simples e barata de se obter uma saída analógica em corrente com o Arduino.

   Sinais elétricos em corrente são muito utilizados na indústria (especialmente o padrão 4-20mA) na forma de loop de corrente para controle de processos, devido á sua imunidade á ruídos. Algumas vezes até mesmo alguns sensores são alimentados pela corrente sendo medida! (não necessitando de alimentação externa).

Aplicação de sinais-mA Fonte: wikipedia

   No post de hoje vou implementar uma saída analógica em 4-20mA controlada pelo Fritzen Proto (compatível com Arduino UNO), contendo apenas um filtro RC de primeira ordem (sobre o qual eu já falei aqui) e um seguidor de tensão á transistor (com amplificador operacional). O diagrama esquemático do projeto está abaixo.

diagrama esquemático em Eagle CAD

diagrama esquemático saída 4-20mADiagrama esquemático do circuito proposto

   A ideia original deste circuito veio deste artigo no Hackster.io, onde o autor demonstrou a aplicação de um seguidor de tensão com amplificador operacional e um transistor como amplificador. Antes de explicar o circuito, preciso comentar que este circuito não é recomendado para nenhuma aplicação mais “séria” pois é bem simples, cheio de falhas e atalhos. Ele funciona muito bem como didática, mas só.

O exemplo que implementei é dividido em 3 etapas:

  • Parte 1: um potenciômetro de 10k Ohm conectado à entrada analógica A1 do Arduino, para atuar como referência de entrada (valor desejado),
  • Parte 2: um filtro RC (resistor + capacitor) conectado á saída PWM (pino 9) do Arduino. Ele serve para fitrar a tensão PWM gerada como referência para o gerador de corrente,
  • Parte 3: um seguidor de tensão com amplificador operacional e transistor, realimentado por um resistor série (responsável por controlar a corrente sendo gerada).

Os componentes utilizados são:

  • Parte 1 (ref. analógica): Potenciômetro de 10k Ohm,
  • Parte 2 (Filtro RC): Resistor de 4700 Ohm e capacitor cerâmico de 100nF,
  • Parte 3: Amplificador operacional LM224, transistor bipolar NPN BC548 , resistores de 100 Ohm e 150 Ohm.

circuito da saída analógica 4-20mAFoto do circuito montado (saída analógica 4-20mA)

O sketch (programa) do Arduino está disponível no GitHub do projeto e pode ser visto abaixo:

Agora uma explanação do que cada parte do código do Arduino faz:

Primeiro é feita a leitura analógica do potenciômetro, afim de setar qual o valor de corrente é desejado na saída:

Depois o valor lido no potenciômetro é transformado de 0-5V para 1-5V (que é equivalente percentualmente á 4-20mA):

E finalmente o valor já ajustado para a corrente desejada é escrito na saída PWM do pino 9 do Arduino:

   Então resumindo: o valor desejado de corrente na saída é setado por um potenciômetro (0-5V), convertido para um valor aplicável no PWM (0-255), ajustado para o valor desejado (4mA = 20% de 255, que é algo em torno de 30-50) e então aplicado efetivamente no PWM. Basicamente toda esta matemática quer dizer que quando a referência no potenciômetro for 0V a corrente de saída será +/- 4mA, e quando for 5V a saída será 20mA.

As imagens abaixo monstram o resultado dos testes:

leitura de corrente 4mA com multímetroAjustando o potenciômetro (referência) no mínimo, obtive quase 4mA (0,004 A)

 

leitura de corrente 20mA com multímetro Ajustando o potenciômetro (referência) no máximo, obtive quase 20mA (0,02 A)

 

Após realizar esta montagem e escrever este artigo, aprendi algumas lições técnicas valiososas:

  • Eu deveria ter alimentado o amplificador operacional com uma tensão maior que 5V, visto que há perdas no transistor (BC548) e desta forma a corrente nunca chegará no máximo (mA),
  • Pelo mesmo motivo (perdas no transistor) o seu resistor de base não pode ter valor elevado (começei os testes com  2,2k Ohm e ao longo do caminho fui baixando até 100 Ohm),
  • A tolerância dos resistores utilizados (neste caso 5%) influencia na qualidade e precisão final, visto que um resistor é o responsável por realimentar e regular a corrente gerada,
  • Pelos motivos acima, o circuito proposto não atenderá à demandas industriais por exemplo, onde precisão e confiabilidade são mandatórias.

   Lembrando que todo o material utilizado neste experimento (código, imagens, esquemáticos) está disponível no GitHub do projeto. E não esqueçam de conferir os links de patrocinadores, onde é possível comprar componentes e Arduinos de forma mais barata (e ainda ajudar o blog!).

Criar saída 4-20mA com Arduino

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *