Según altos estándares industriales

Busca en nuestro Blog. Encontrarás múltiples aplicaciones, soluciones, ejemplos de código. Navega utilizando la nube de etiquetas o busca utilizando criterios específicos

How to connect and configure a load cell using HX711 transmitter with Arduino based PLCs

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.

Load cell transductor

En el mercado hay diferentes transmisores que pueden convertir esta señal analógica a digital. En este ejemplo se utiliza el HX711 que es muy utilizado en aplicaciones industriales.  HX711 obtiene y convierte la señal analógica de la célula de carga a digital con su convertidor interno A / D de 24 bits.

Requisitos

Ethernet or 20 I/Os PLC:  
Ethernet PLC >>20IOs PLC >> 
HX711 Transmitter and its library :
HX711 Transmitter >>HX711.h Arduino Library >>
5kg Load cell: 
Load Cell >>

Asignación de pines 

¿Cómo conectar los diferentes dispositivos?

Las conexiones entre la célula de carga 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 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 usar PIN3 para Ardbox y PIN2 o PIN3 para  M-Duino !!!

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

Una vez instalada la biblioteca HX711, podemos proceder a calibrar las básculas de pesaje. Básicamente para encontrar el valor de la escala, es decir, encontrar el factor de conversión para convertir el valor de lectura en unidad de peso.

Después de eso, necesitamos encontrar un objeto con peso conocido. Es mejor si el peso conocido está más cerca con el 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 cargar 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 serie veremos los valores de lecturas de peso, este valor son sin escala.Esto significa que los valores deben ser números grandes.

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

How to  calculate the value of the scale.

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

 
 

¿Estás buscando tu PLC ideal?


Mira esta comparativa con otros controladores industriales

Comparamos entradas, salidas, comunicaciones y otras características con las de algunas de las marcas relevantes


Comparativa PLCs >>

¿Quieres más información? 

¡Solo llena el formulario! 

¡Quiero saber más!  Por favor, llene el formulario correctamente.