Descripción
En los sistemas de medida con celdas de carga es necesario ser capaces de medir variaciones muy pequeñas de la resistencia de las galgas extensométricas (pegadas a la propia celda de carga). El convertidor ADC de Arduino (10bits) nos ofrece una resolución de 4,88mV, lo se queda corto para este objetivo. el HX-711 es, básicamente, un ADC de alta resolución (24 bits), que nos ofrece una resolución de 0,3uV. Además, la etapa analógica del HX-711 está específicamente pensada para la conexión directa a un puente de Wheatstone formado por galgas. De hecho, es mucho más que un ADC: tiene incorporado un amplificador de gran ganancia y bajo ruido, para facilitar la medida.
La conexión del HX711 a las celdas de cargas es muy sencilla, basta con conectar los 4 cables de la celda de carga así:
- Cable rojo (alimentación positiva): al pin E+ del HX-711
- Cable negro (masa): al pin E- del HX-711
- Cable blanco (señal): al pin A+ del HX-711
- Cable verde (señal): al pin A- del HX-711
- Las conexiones B+ y B- del HX-711 son para conectar una segunda celda de carga.
En caso de obtener lecturas de fuerza (o peso) negativas en el montaje final, invertir la conexión de los cables blanco y verde.
En cuanto a la conexión con el Arduino se realiza mediante las líneas de datos (DT) y reloj (SCK), un tipo de puerto serie cuyas especificaciones están detalladas en la hoja de características del HX-711. Las conexiones quedan así:
- Pin VCC del HX-711: a 5V
- Pin GND del HX-711: a GND
- Pin DT del HX-711: al D2 pin de Arduino
- Pin SCK del HX-711: al D3 pin de Arduino
Más información: Hoja de datos HX711
Código de ejemplo (Necesitarás instalar la librería: https://github.com/bogde/HX711):
#include "HX711.h" // Se incluye la librería HX711 const int LOADCELL_DOUT_PIN = 2; // Pin DT del HX711 conectado a D2 const int LOADCELL_SCK_PIN = 3; // Pin SCK del HX711 conectado a D3 HX711 bascula; //Se crea un objeto llamado "bascula" // *** CONFIGURACIÓN *** void setup() { Serial.begin(9600); // Velocidad del puerto serie (Monitor Serie) scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); //Inicializa pines del HX711 } // *** CÓDIGO PRINCIPAL *** void loop() { if (bascula.is_ready()) { // Comprueba si se ha detectado el HX711 long dato = bascula.read(); // Lee el dato enviado por el HX711 Serial.print("Dato HX711: "); Serial.println(dato); } else { Serial.println("Error de conexión al HX-711"); } delay(1000); //Tiempo de espera entre medidas }
Valoraciones
No hay valoraciones aún.