Cómo conectar y configurar una célula de carga utilizando el transmisor HX711 con PLCs basados en Arduino

14 de febrero de 2019 por
Cómo conectar y configurar una célula de carga utilizando el transmisor HX711 con PLCs basados en Arduino
Boot & Work Corp. S.L., Support Team

Introducción

En este post se muestra cómo utilizar un transductor de células de carga utilizando nuestros equipos. La célula de carga es un transductor que genera una señal eléctrica directamente proporcional a la fuerza medida.

En el mercado existen diferentes transmisores que pueden convertir esta señal analógica en digital. En este ejemplo se utiliza el HX711 que se utiliza mucho en las aplicaciones industriales. HX711obtiene y convierte la señal analógica de la célula de carga a digital con tu convertidor interno A/D de 24 bits. 

Requisitos

Ethernet or 20 I/Os PLC:  
Ethernet PLC >>>20IOs PLC >>> 
Transmisor HX711 y su librería :HX711 Transmitter >>>HX711.h Arduino Library >>>
5kg Célula de carga:  
Load Cell >>>

Asignación de pines

¿Cómo se conectan los diferentes dispositivos?

Las conexiones entre la célula de carga y HX711 se muestran a continuación:

Célula de carga

HX711

Cable Rojo

E+

Cable  Negro

E-

Cable  Blanco

A+

Cable  Verde

A-

 

Y las conexiones entre el HX711 y uno de nuestros PLC se muestran a continuación:

HX711

Industrial Shields PLC

GND

GND

DT

PIN 2

SCK

PIN 3

VCC

5V

 

IMPORTANTE: La frecuencia del reloj es bastante alta, por lo que debemos utilizar el PIN3 para Ardbox and PIN2 o PIN3 por M-Duino !!!

Una vez que están todos los cables conectados podemos proceder con el software para obtener los valores de los derechos del HX711.

Una vez instalada la librería HX711, podemos proceder a calibrar las balanzas. Básicamente, encontrar el valor de la balanza, es decir, encontrar el factor de conversión para convertir el valor leído en unidad de peso.

Después, tenemos que encontrar un objeto con un peso conocido. Es mejor si el peso conocido está más cerca del valor máximo del rango de trabajo de nuestra célula de carga. En este ejemplo se ha utilizado un peso de 4 kg porque el valor máximo del rango de trabajo de nuestra célula de carga es de 5 kg.

El siguiente paso es subir el siguiente sketch a nuestro PLC:

#include "HX711.h"

#define DOUT  2

#define CLK  3

HX711 weighingScales(DOUT, CLK);

void setup() {

  Serial.begin(9600);

  while(!Serial); // This is not necessary if you have an M-Duino

  Serial.print("Read ADC value:  ");

  Serial.println(weighingScales.read());

  Serial.println("Don't put any weight to the weighing scale");

  weighingScales.set_scale(); //The default scale is 1

  weighingScales.tare(20);  //The actual weight is Tare.

  Serial.println("Put the known weight:");

}

void loop() {

  Serial.print("Read Value:  ");

  Serial.println(weighingScales.get_value(10),0);

  delay(500);

}

 

El programa tiene que ejecutarse sin el peso conocido, porque cuando el programa comienza a calcular la tare. Después de abrir el monitor serie y esperar a reiniciar la tare, podemos poner el peso conocido.

Después de poner el peso conocido, en el monitor de serie veremos los valores de las lecturas de peso, este valor es sin escala. Esto significa que los valores deben ser números grandes. 

Con una media de estos valores podemos calcular el valor de la escala, siguiendo esa fórmula: 

Una vez calculado el valor de escala, tenemos todos los requisitos para configurar la celda de carga. Sólo tenemos que escribir el valor de escala en la función SET_scale() de HX711. A continuación se muestra un ejemplo de cómo puede buscar un programa final para una célula de carga:

#include "HX711.h"

#define DOUT  2

#define CLK  3

HX711 weighingScales(DOUT, CLK);

void setup() {

  Serial.begin(9600);

  while(!Serial); // This is not necessary if you have an M-Duino


  Serial.println("Calculating tare...");

  Serial.println("...");

  weighingScales.set_scale(433456.25); // Set up our scale

  weighingScales.tare(20);  //The actual weight is Tare.

  Serial.println("Ready to weigh"); 

}

void loop() {

  Serial.print("Weight: ");

  Serial.print(weighingScales.get_units(20),3);

  Serial.println(" kg");

  delay(500);

}

Video

 
 

Buscar en nuestro blog

Cómo conectar y configurar una célula de carga utilizando el transmisor HX711 con PLCs basados en Arduino
Boot & Work Corp. S.L., Support Team 14 de febrero de 2019
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 >>>