Escala Arduino con celda de carga de 5 kg y amplificador HX711
Este Instructable describe cómo hacer una pequeña balanza usando piezas disponibles en el estante.
Materiales necesitados:
1. Arduino: este diseño utiliza un Arduino Uno estándar, otras versiones de Arduino o clones también deberían funcionar
2. HX711 en placa de conexión: este microchip está hecho especialmente para amplificar las señales de las celdas de carga e informarlas a otro mircocontrolador. Las celdas de carga se conectan a esta placa, y esta placa le dice al Arduino lo que miden las celdas de carga.
3. Celda de carga de 5 kg: las celdas de carga son piezas de metal con forma especial que tienen un indicador de tensión. Los medidores de tensión son resistencias que cambian su resistencia cuando están doblados. Cuando la parte metálica se dobla, la resistencia de la celda de carga cambia (el HX711 mide con precisión este pequeño cambio en la resistencia). Puede comprar tanto el HX711 como la celda de carga aquí: //www.amazon.com/Degraw-Load-Cell-HX711-Combo/dp/B075317R45/
Si compra el kit, ¡por favor deje un comentario! Es realmente útil para futuros compradores.
4. Superficie de montaje plana y resistente (x2): una pieza rígida de madera dura o metal es ideal.
5. Cables de varios colores para conectar todas las partes.
6. Fuente de alimentación para Arduino
Paso 1: monte la celda de carga

Primero vamos a montar la celda de carga. Su montura será única, pero estas son las pautas que debe seguir:
1. La celda de carga de aluminio debe tener 4 orificios roscados y una etiqueta que muestre la dirección de la fuerza. Monte el lado sin la etiqueta en la superficie fija y monte el lado con la etiqueta en la superficie en movimiento. La flecha en el lado etiquetado debe apuntar hacia abajo en la dirección en que se moverá la plataforma cuando se aplica una carga.
2. La placa de montaje y la placa móvil deben ser lo más rígidas posible
3. Asegúrese de colocar algún tipo de separadores rígidos entre las placas de montaje y la celda de carga. Los separadores o arandelas funcionan bien. El objetivo es que cualquier fuerza aplicada a la placa móvil haga que la celda de carga se doble y gire. Sin espaciadores, la carga se transferiría directamente de la placa móvil a la placa fija sin afectar la celda de carga.
Paso 2: conecte las celdas de carga y HX711

Consulte el diagrama de cableado para saber cómo conectar las celdas de carga, HX711 y Arduino.
En las celdas de carga de aluminio, múltiples galgas extensométricas ya están conectadas entre sí para formar un puente Wheatstone. Todo lo que necesita hacer es conectar los cables a la placa HX711 en la orientación correcta.
Paso 3: Agregue la biblioteca HX711 a su IDE Arduino
La biblioteca HX711 está disponible aquí: //github.com/bogde/HX711
Consulte este enlace en el sitio web de Arduino para obtener instrucciones sobre cómo agregar la biblioteca a su IDE de Arduino: //www.arduino.cc/en/Guide/Libraries
Paso 4: ¡Calibrar y pesar!

Sparkfun tiene excelentes programas Arduino para ejecutar la escala. Las versiones más actualizadas están disponibles en GitHub y se reproducen a continuación: //github.com/sparkfun/HX711-Load-Cell-Amplifier
El primer paso del software es determinar los factores de calibración para la báscula. Para hacer esto, ejecute este código:
/ * Ejemplo de uso de la placa de conexión SparkFun HX711 con una escala Por: Nathan Seidle SparkFun Electronics Fecha: 19 de noviembre de 2014 Licencia: Este código es de dominio público, pero me compra una cerveza si la usa y nos encontramos algún día (licencia Beerware). Este es el boceto de calibración. Úselo para determinar el calibrador_factor que usa el ejemplo principal. También genera el zero_factor útil para proyectos que tienen una masa permanente en la escala entre ciclos de energía. Configure su báscula e inicie el boceto SIN un peso en la báscula Una vez que se muestran las lecturas coloque el peso en la báscula Presione +/- o a / z para ajustar el calibrador_factor hasta que las lecturas de salida coincidan con el peso conocido Use este calibrador_factor en el boceto de ejemplo Este ejemplo supone libras (lbs). Si prefiere kilogramos, cambie Serial.print ("lbs"); línea a kg. El factor de calibración será significativamente diferente, pero estará relacionado linealmente con las libras (1 lb = 0, 453592 kg). Su factor de calibración puede ser muy positivo o muy negativo. Todo depende de la configuración de su sistema de báscula y de la dirección en que los sensores se desvían del estado cero. Este código de ejemplo utiliza la excelente biblioteca de bogde: "// github.com/bogde/HX711" la biblioteca de bogde se libera bajo un pin de Arduino de LICENCIA PÚBLICA GENERAL GNU 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND La mayoría de los pines del Arduino Uno serán compatibles con DOUT / CLK. La placa HX711 se puede alimentar de 2.7V a 5V, por lo que la potencia de Arduino 5V debería estar bien. * / #incluye "HX711.h" #define DOUT 3 #define CLK 2 HX711 scale; flotante calibrador_factor = -7050; // - 7050 funcionó para mi configuración de escala máxima de 440 lb void setup () {Serial.begin (9600); Serial.println ("boceto de calibración HX711"); Serial.println ("Eliminar todo el peso de la báscula"); Serial.println ("Después de comenzar las lecturas, coloque el peso conocido en la báscula"); Serial.println ("Presione + o a para aumentar el factor de calibración"); Serial.println ("Presione - o z para disminuir el factor de calibración"); scale.begin (DOUT, CLK); scale.set_scale (); scale.tare (); // Restablece la escala a 0 long zero_factor = scale.read_average (); // Obtenga una lectura de referencia Serial.print ("Factor cero:"); // Esto se puede usar para eliminar la necesidad de tarar la escala. Útil en proyectos a escala permanente. Serial.println (zero_factor); } void loop () {scale.set_scale (Calibration_factor); // Ajustar a este factor de calibración Serial.print ("Lectura:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Cambie esto a kg y reajuste el factor de calibración si sigue las unidades SI como una persona sensata Serial.print ("Calibration_factor:"); Serial.print (calibración_factor); Serial.println (); if (Serial.available ())}
Después de calibrar la báscula, puede ejecutar este programa de muestra y luego hackearlo para sus propios fines:
/ * Ejemplo de uso de la placa de conexión SparkFun HX711 con una escala Por: Nathan Seidle SparkFun Electronics Fecha: 19 de noviembre de 2014 Licencia: Este código es de dominio público, pero me compra una cerveza si la usa y nos encontramos algún día (licencia Beerware). Este ejemplo demuestra la salida de escala básica. Vea el boceto de calibración para obtener el calibrador_factor para su configuración de celda de carga específica. Este código de ejemplo utiliza la excelente biblioteca de bogde: "// github.com/bogde/HX711" La biblioteca de bogde se publica bajo una LICENCIA PÚBLICA GENERAL DE GNU El HX711 hace una cosa bien: lee las celdas de carga. La placa de conexión es compatible con cualquier celda de carga basada en un puente de piedra de trigo que debería permitir al usuario medir todo, desde unos pocos gramos hasta decenas de toneladas. Pin Arduino 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND La placa HX711 se puede alimentar de 2.7V a 5V por lo que la potencia de Arduino 5V debería estar bien. * / #incluye "HX711.h" #define Calibration_factor -7050.0 // Este valor se obtiene utilizando el esquema SparkFun_HX711_Calibration #define DOUT 3 #define CLK 2 HX711 scale; configuración nula () {Serial.begin (9600); Serial.println ("demostración en escala HX711"); scale.begin (DOUT, CLK); scale.set_scale (calibración_factor); // Este valor se obtiene utilizando el boceto SparkFun_HX711_Calibration scale.tare (); // Suponiendo que no haya peso en la báscula al inicio, restablezca la báscula a 0 Serial.println ("Lecturas:"); } void loop () {Serial.print ("Lectura:"); Serial.print (scale.get_units (), 1); //scale.get_units () devuelve un flotante Serial.print ("lbs"); // Puede cambiar esto a kg pero necesitará refactorizar el calibrador_factor Serial.println (); }