Cómo leer los valores de corriente del SCT010T-D con un Raspberry PLC y Node-RED

Aprende a leer los valores de un sensor de corriente no invasivo con Raspberry PLC y Node-RED
25 de octubre de 2022 por
Cómo leer los valores de corriente del SCT010T-D con un Raspberry PLC y Node-RED
Boot & Work Corp. S.L., Bernat Brunet Pedra
Odoo • Image and Text

Introducción

¿Tienes un SCT010T-D y quieres leer la corriente de un cable?

En este post aprenderás cómo:

  • conectarlo a tu controlador industrial Raspberry PLC,
  • leer los valores de una entrada analógica y
  • hacer un esquema simple en Node-RED.

Requisitos

Preparación del entorno de trabajo


Lo primero que tienes que hacer es conectar el sensor a tu PLC industrial en la entrada analógica que quieras. Es importante conectar el cable -L a GND y el +K a la propia entrada.

A continuación, conéctate al controlador PLC de la Raspberry. Para poder leer el sensor correctamente, instala la librería Industrial Shields para poder utilizar nuestros nodos personalizados.

cd /.node-red
npm i node-red-contrib-rpiplc-node

Abra Node-RED y vaya a la URL: http://10.10.10.20:1880/

node-red 

El proyecto paso a paso


1) El primer nodo va a ser de inyección. A continuación, pon un nodo de lectura analógica y selecciona el modelo de Raspberry que tienes y la entrada que vas a utilizar para conectar el sensor.

2) A continuación, crea un nodo de función con el siguiente código:

var resolution = 5 / (Math.pow(2, 12) - 1); // 0,001221001221
msg.payload = msg.payload * resolution * 5 / 5;
return msg;

La resolución es el mínimo voltaje que el sensor puede enviar a la Raspberry, siendo 5V el máximo y 12 los bits de rango de la entrada analógica. Así, multiplicando el valor del sensor por la resolución, obtendrás el voltaje que mide el sensor. Luego solo ttienes que multiplicar ese valor por la relación del sensor, 5A / 5V para el SCT010T-D, para obtener los Amperios correctamente con el factor de conversión. Si tienes un sensor diferente, consulta su documentación para conocer la fórmula de conversión.

3) Por último, después de añadir algunos nodos de depuración, tu esquema debería tener este aspecto:


4) Ahora solo tienes que pulsar el botón de inyectar nodo y recibirás la corriente en tu ventana de depuración de Node-RED. Si te fijas, el número que estás leyendo en el primer nodo de depuración es el valor que está leyendo el sensor, y el segundo es el valor convertido a Amperios.

👉🏼 Para que el programa envíe la corriente cada 1 segundo, puedes añadir algunos nodos así.

1) Crea otro nodo de función, conéctalo justo después del nodo de inyección y copia el código siguiente. Actuará como una inyección automática cada 1 segundo:

var DELAY = 1000; // 1 second
var sendCurrent = setInterval(send, DELAY);
global.set("sendCurrent", sendCurrent);
function send() {
    msg.payload = send;
    node.send(msg);
}
return;

La función send() será llamada automáticamente cada DELAY ms por setInterval()..

2) Agrega una función adicional que detenga setInterval() indefinidamente. Para hacer esto, arrastra otro nodo de inyección y otro nodo de función en el esquema. El último nodo debería tener este aspecto:

clearInterval(global.get("sendCurrent"));
return msg;

3) Si todo se ha hecho correctamente, su flujo debería tener este aspecto:


Odoo • Image and Text

So that's all!

A very simple way to read current values from SCT010T-D with your Raspberry PLC industrial controller for industrial automation and Node-RED.

Buscar en nuestro blog

Cómo leer los valores de corriente del SCT010T-D con un Raspberry PLC y Node-RED
Boot & Work Corp. S.L., Bernat Brunet Pedra 25 de octubre de 2022
Compartir

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Industrial PLC comparison >>>