Publicado el Dejar un comentario

ESP8266, lecturas sensores analogos 4-20 mA.

En la búsqueda de bajar los costos de operación industrial, hay muchos intentos de utilizar chips de bajo costo para la medición de sensores industriales de distintos tipos, la ventaja es que muchos manejan el estándar de señal de 10v de 4-20mA generando una señal análoga.

Sin más preámbulos les describo mi experiencia tomando lecturas análogas, directamente desde estos sensores, en mi caso utilice un ESP8266 modelo NODE-MCU V3.

MATERIALES

En mi caso yo utilicé los siguientes materiales:

  • Chip de bajo costo ESP8266 NODEMCU v3
  • Resistencia de 160 ohms
  • Cables dupont
  • ¡Muchas ganas de aprender!
Esta imagen tiene un atributo ALT vacío; su nombre de archivo es lua-nodemcu-v3-esp8266-wifi-ch340-modulo-iot-D_NQ_NP_825903-MLM31222067307_062019-F-1-1024x969.jpg
ESP8266

CONEXIONES

Para que el dispositivo pueda leer la señal dé manera correcta realice la siguiente conexión:

CONEXIÓN

Básicamente reducimos o escalamos la señal a un espectro leíble por el ESP8266, tomando en cuenta que este chip, tiene un rango de lecturas análogas de 0 a 3.3v, debido a esto propuse utilizar una resistencia de 160 ohms.

  • A0 ⇒ SEÑAL SENSOR
  • GND ⇒ TIERRA DEL SENSOR

En palabras más coloquiales, lo que hay que hacer es hacer un puente que circule la señal, la escale por medio de la resistencia y no dañe nuestra placa.

Y bueno la manera correcta de tomar la lectura es antes y después de la resistencia tal como se muestra en la figura anterior.

Con esta simple conexión podremos tomar lecturas directas de las señales analógicas de los instrumentos con este estándar de comunicación, cabe mencionar que por la naturaleza de la señal también puedes leer los dispositivos con comunicación por el protocolo industrial HART, únicamente tomando la lectura instantánea como puede ser el caso de un medidor de gasto ultrasónico.

¡Espero sea de ayuda en tu día, buen día!.

Publicado el Dejar un comentario

ESP8266 Multiplexor HP4067 CMOS 16 CH

Un problema muy común al utilizar los chips de bajo costo para desarrollo de tecnologías IoT, es el número limitado de entradas analógicas disponibles, esto debido a que la implementación de las mismas resulta encarecer el producto, pero bueno, dado que el problema es la necesidad de ampliar el número de entradas analógicas existen varios métodos para hacerlo.

Sin embargo yo voy a describir una que considero muy simplificada y elegante.

MATERIALES

En mi caso yo utilicé los siguientes materiales:

  • Chip de bajo costo ESP8266 NODEMCU v3
  • Multiplexor analógico/digital CD74HC4067 16-analógico
  • Cables dupont
  • ¡Muchas ganas de aprender!
ESP8266
MULTIPLEXOR

CONEXIONES

Para que el dispositivo funcione de manera correcta realice la siguiente conexión:

CONEXIÓN DEL MULTIPLEXOR.
  • La señal en SIG ⇒ A0 (en mi caso por que ocupo ampliar en número de señales analógicas a leer)
  • S3 ⇒ D1 tomando la señal SCL.
  • S2 ⇒ D2 tomando la señal de SDA.
  • S1 ⇒ D3, utilizando la entrada denominada GPI0.
  • S0 ⇒ D4, utilizando la entrada denominada GPI2.
  • EN y GND a tierra.
  • Vcc en mi caso a 3v dado que el multiplexor tiene un rango de voltaje de 2v a 6v.

CÓDIGO

El código más simplificado que encontré (que funcionara) y adapte es el siguiente:

const int muxSIG = A0;
const int muxS0 = D4;
const int muxS1 = D3;
const int muxS2 = D2;
const int muxS3 = D1;
 
int SetMuxChannel(byte channel)
{
   digitalWrite(muxS0, bitRead(channel, 0));
   digitalWrite(muxS1, bitRead(channel, 1));
   digitalWrite(muxS2, bitRead(channel, 2));
   digitalWrite(muxS3, bitRead(channel, 3));
}
 
void setup()
{
   Serial.begin(9600);
   pinMode(muxS0, OUTPUT);
   pinMode(muxS1, OUTPUT);
   pinMode(muxS2, OUTPUT);
   pinMode(muxS3, OUTPUT);
}
 
void loop()
{
   for (byte i = 0; i < 16; i++)
   {
      SetMuxChannel(i);
      muxValue = analogRead(muxSIG);
 
      Serial.print(muxValue);
      Serial.print("\t");
   }
   Serial.println();
   delay(1000);
}

¡Con esto leemos los 16 puertos analógicos ampliados, uno a uno!

¡de manera muy simplificada lo sé pero es una opción!

Cabe mencionar que este dispositivo tiene la capacidad de manejar dispositivos analógicos y digitales y por lo cual se puede decir que los dispositivos conectados tendrán la capacidad de ser dispositivos de lectura o escritura; Por lo regular este dispositivo es utilizado cuando se requiere controlar muchos leds en un proyecto.

¡Espero les sea útil la información!, buen día.