Transmisor Arduino 4-20mA

Buscando construir un transmisor de bucle de corriente controlado por Arduino para conducir 4-20 mA sobre una resistencia no inductiva de ~ 100 ohmios con una fuente de alimentación de 24 V. Además, Arduino debería conducir idealmente 4 canales independientes como este porque tengo 4 receptores separados.

Por lo que pude entender al buscar en Google, una forma posible debería ser si uso la salida PWM del Arduino, la paso a través de un filtro de paso bajo y luego paso la CC a través del convertidor de voltaje a corriente.

Ahora, la gran mayoría de las opciones sobre el "transmisor de bucle de corriente" me confunden, porque no soy un ingeniero eléctrico, solo un aficionado a Arduino.

Entonces mis preguntas son:

  • ¿La ruta descrita (Arduino/PWM 1-5V/filtro de paso bajo/voltaje a corriente/4-20mA) es significativa?

  • ¿Hay algún IC integrado con menos piezas adicionales para lograr la parte de voltaje a corriente? (Lea sobre XTR117 pero supongo que no puedo controlar 4 con el mismo microcontrolador)

  • ¿Es factible suministrar todo el circuito, es decir, Arduino (tal vez a través del controlador de voltaje), el transmisor de bucle de corriente o el amplificador operacional o cualquier circuito y el bucle de corriente, con la misma fuente de alimentación de 24 V?

¿Está tratando de transmitir datos digitales o analógicos?
solo datos analógicos

Respuestas (3)

Podría considerar usar cuatro chips DAC161S997 , sin embargo, todos los receptores tendrían que estar aislados entre sí (muy posiblemente no sea cierto).

Hacer esto a través de cualquier forma de PWM es poco probable que funcione.

La mejor solución es usar una solución XTR115/116/117, pero debe asegurarse de que las fuentes individuales de 4/20 mA estén aisladas como deben estar.

Hay soluciones disponibles que puede comprar... o copiar (apalancarse con orgullo).

El suyo es uno que proporciona el aislamiento necesario para el bus I2C que se utiliza para conducirlo. El esquema es fácil de seguir para que puedas construir el tuyo propio:

ingrese la descripción de la imagen aquí

El aislador utilizado aquí parece ser el TI ISO1540

El MCP4725 DAC es una bestia I2C un tanto extraña... puede proporcionar 8 direcciones I2C... PERO el usuario solo puede seleccionar entre dos direcciones. Puede comprar variantes de los dispositivos con otros grupos de direcciones configurados internamente en el chip, pero es una molestia.
Esto podría significar que necesitaría producir dos buses I2C en el lado de Arduino y usar las dos direcciones en el MCP4725 para llegar a 4 canales.
Una chapuza sería usar un solo bus I2C y cambiar las líneas del reloj, lo que sería una modificación fácil para cualquier biblioteca.

Con una arquitectura como esta, puede alimentar su Arduino desde el suministro de bucle de 25 V y tener sus cuatro canales completamente aislados.

No puede alimentar su Arduino en bucle porque consume más de 4 mA, pero, por supuesto, algunas MPU consumen menos corriente de funcionamiento y podrían ser viables.

  1. DAC : MCP4728 - el primo de 4 canales de 4725:

ingrese la descripción de la imagen aquí(Omitidos aquí por simplicidad los capacitores de desacoplamiento - uno de cerámica 100n y uno de tantalio 10u).

  1. Software : Hay una muy buena biblioteca documentada para controlar el 4728 con Arduino en github aquí .

  2. V/A : la salida del 4728 va al convertidor de voltaje a corriente con (el también cuádruple) LM324 de esta manera:

ingrese la descripción de la imagen aquí(tres canales idénticos más omitidos en aras de la claridad)

Una explicación muy detallada está aquí en allaboutcircuits .

  1. Fuente de alimentación : Los 5V provienen de un TRACO 2450 , quizás un exceso, pero es pequeño, no necesita partes externas y tolera un voltaje de entrada de hasta 36V.

Y eso es todo: estaba complicando demasiado al considerar la fuente de alimentación separada, el aislamiento, etc.