Báscula de pesaje digital con celda de carga y Arduino

Báscula de pesaje digital con celda de carga y Arduino

En esta publicación vamos a aprender sobre la celda de carga basada en galgas extensométricas. Exploraremos qué es Strain Gauge, qué es Load Cell, efecto de temperatura en el Strain Gauge, compensación de temperatura con el puente de Wheatstone y el amplificador de celda de carga HX711, y finalmente aprenderemos cómo construir una máquina de báscula basada en Arduino implementando la celda de carga como el sensor de peso.



Esta publicación trata sobre la medición de peso y los métodos de medición, y la implementación de los métodos en un circuito de báscula de pesaje basado en Arduino.

A todos nos encanta ver nuestro peso independientemente de nuestra edad, a un niño pequeño le puede gustar ver su aumento de peso ya los adultos les encanta ver su pérdida de peso. El peso es un concepto vital desde la antigüedad que ayudó en el comercio de bienes, desarrollo de equipos científicos y productos comerciales.





En los tiempos modernos, medimos pesos en kilogramos, miligramos incluso microgramos para fines de laboratorio. Un gramo es igual en todo el mundo, todos los dispositivos de medición de peso deben medir lo mismo. La producción en masa de una píldora con una pequeña diferencia de unos pocos miligramos de dosis es suficiente para convertir una píldora que salva vidas en una píldora suicida.

¿Qué es el peso?

El peso es la fuerza que se ejerce sobre un avión. La cantidad de fuerza ejercida es directamente proporcional a la masa de un objeto, lo que significa que cuanto mayor es la masa del objeto, mayor es la fuerza ejercida.



La masa es la cantidad de materia física presente en un objeto.

El peso depende de un factor más: la gravedad.

La gravedad es constante en todo el mundo (hay variaciones menores en la gravedad debido a la forma esférica no uniforme de la tierra, pero es muy pequeña). El peso de 1 kg en la tierra pesará 160 gramos en la luna con exactamente la misma masa, porque la luna tiene una atracción gravitacional mucho más débil.

Ahora sabes qué es el peso y cuáles son los factores que hacen que un objeto sea pesado.

¿Qué es el medidor de tensión?

El medidor de tensión es un transductor o sensor que mide la tensión (deformación) de un objeto. Esto fue inventado por el ingeniero eléctrico Edward E. Simmons y el ingeniero mecánico Arthur Claude Ruge.

Ilustración de la galga extensométrica:

Sensor de galga extensiométrica

La galga extensométrica es flexible, es un patrón de lámina metálica delgada intercalado entre dos láminas de plástico delgadas y debe fijarse a una superficie con pegamento adecuado o cualquier material adhesivo.

Cuando aplicamos peso o fuerza sobre la superficie se deforma y la galga extensométrica también se deforma. La deformación de la galga extensométrica hace que cambie la resistencia eléctrica de la lámina metálica.

Ahora, el cambio de resistencia de la galga extensométrica es directamente proporcional al peso o la fuerza aplicada en la superficie.

En la vida real, el cambio en la resistencia del medidor de tensión es muy insignificante de detectar. Para detectar pequeños cambios en la resistencia, estamos utilizando el puente de Wheatstone.

Exploremos en pocas palabras qué es el puente de Wheatstone.

Entendiendo un puente de Wheatstone:

Un puente de piedra de trigo es un circuito que se puede utilizar para determinar una resistencia desconocida. El puente de Wheatstone fue diseñado por Samuel Hunter Christie, luego el puente de Wheatstone fue mejorado y difundido por Sir Charles.

Wheatstone.

Ilustración del circuito del puente de Wheatstone:

Circuito del puente de Wheatstone

Nuestros modernos multímetros digitales pueden leer el valor de resistencia en un rango de mega ohmios, kiloohmios y ohmios.

Usando el puente de piedra de trigo podemos medir la resistencia en un rango de mili ohmios.

El puente de piedra de trigo consta de 4 resistencias, de las cuatro, 3 son resistencias conocidas y una es resistencia desconocida.

La diferencia de potencial (voltaje) se aplica en los puntos “A” y “C” y desde los puntos “B” y “D” se conecta un voltímetro.

Si todas las resistencias son iguales, no fluirá corriente en los puntos 'B' y 'D' y el voltímetro leerá cero. A esto se le llama puente equilibrado.

Si la resistencia de un resistor es diferente de otros tres resistores, habrá un flujo de voltaje entre los puntos 'B' y 'D' y el voltímetro leerá algún valor proporcional a la resistencia desconocida. Esto se llama puente desequilibrado.

Aquí la resistencia desconocida es la galga extensométrica, cuando se cambia la resistencia, se refleja en el voltímetro.

Ahora, hemos convertido una deformación o peso o fuerza en una señal de voltaje. Este voltaje debe amplificarse para obtener algunas lecturas útiles, que se enviarán a un microcontrolador para obtener las lecturas en gramos.

Analicemos ahora cómo la temperatura afecta el rendimiento de la galga extensométrica.

Efectos de la temperatura en la galga extensométrica:

El medidor de tensión es sensible a la temperatura y puede alterar las lecturas reales de peso / fuerza. Cuando hay un cambio en la temperatura ambiente, la lámina metálica se somete a expansión metálica, lo que afecta directamente a la resistencia.

Podemos anular el efecto de la temperatura usando el puente de Wheatstone. Veamos cómo podemos compensar la temperatura usando el puente de Wheatstone.

Compensación de temperatura:

Podemos neutralizar fácilmente el efecto de la temperatura reemplazando todas las resistencias con un medidor de tensión. Ahora toda la resistencia de la galga extensométrica se verá afectada por igual por la temperatura y el carácter del puente de Wheatstone anulará el ruido no deseado.

¿Qué es una celda de carga?

Una celda de carga es un perfil de aluminio con un medidor de tensión unido a 4 lados en configuración de puente Wheatstone.

Ilustración de la celda de carga:

Dispositivo de celda de carga

Este tipo de celda de carga es rígida y se usa comúnmente en las industrias. Hay 4 soportes de tornillos, un lado está atornillado a una superficie fija y el otro extremo está atornillado a un soporte (por ejemplo, una canasta) para sostener el objeto que se va a medir.

Tiene un peso máximo especificado en la hoja de datos o en su cuerpo, exceder la especificación podría dañar la celda de carga.

Una celda de puente completo consta de 4 terminales, a saber, E +, E-, que son cables de excitación a través de los cuales se aplica la tensión de alimentación. Los otros dos cables son S + y S-, que son cables de señal, a partir de los cuales se mide el voltaje.

Ahora, estos voltajes están en un rango de milivoltios, no lo suficientemente fuertes para que un microcontrolador los lea y procese. Necesitamos amplificación y los pequeños cambios deberían ser visibles para el microcontrolador. Para hacer esto, hay un módulo dedicado llamado amplificadores de celda de carga, echemos un vistazo a eso.

Amplificador de celda de carga HX711:

Ilustración del módulo amplificador de celda de carga HX711:

Amplificador de celda de carga HX711

El amplificador de celda de carga se basa en el IC HX711, que es un convertidor analógico a digital de 24 bits diseñado específicamente para medidas de peso. Tiene diferentes ganancias seleccionables 32, 64 y 128 y funciona con 2.6 a 5.5 V.
Esta placa de ruptura ayuda a detectar pequeñas variaciones en la celda de carga. Este módulo requiere la biblioteca HX711.h para funcionar con

Arduino o cualquier otro microcontrolador.

La celda de carga se conectará al módulo HX711 y el módulo se interconectará con Arduino. El circuito de medición de peso debe desarrollarse de esta manera.

En conclusión, ahora sabe qué es la galga extensométrica, qué es el puente de Wheatstone, los efectos de la temperatura en la galga extensométrica, la compensación de temperatura y qué es el amplificador de celda de carga.

Hemos entendido completamente la parte teórica del diseño de una báscula de pesaje de la discusión anterior, ahora veamos cómo se puede usar una celda loas para hacer una máquina de báscula práctica usando Arduino

Diseño de una balanza digital con Arduino

En las siguientes discusiones, aprenderemos cómo construir una máquina de báscula digital usando Arduino que puede medir pesos desde unos pocos gramos hasta 40 kg (dependiendo de las especificaciones de su celda de carga) con una precisión razonable. Aprenderemos sobre la clasificación de celdas de carga de grado de precisión y calibraremos el circuito propuesto y finalizaremos la máquina báscula.

Nota: Es posible que este circuito no cumpla con los estándares requeridos para la implementación comercial.

Las máquinas de báscula se utilizan en diferentes variedades de oficios e investigaciones que van desde miligramos hasta varias toneladas. La escala máxima de la máquina de báscula propuesta depende de la especificación de su celda de carga. Hay rangos de 500 gramos, 1 kg, 5 kg, 10 kg, 20 kg y 40 kg, etc.

Hay diferentes grados de celda de carga, ofrecen un rango de precisión diferente y debe elegir la adecuada para su proyecto.

Clasificación de la clase de precisión de la celda de carga:

Las diferentes clases de precisión se definen para diferentes tipos de aplicaciones. La siguiente clasificación es desde la precisión más baja hasta el rango de precisión más alto.

Las celdas de carga con menor precisión (pero razonablemente precisas) se clasifican como D1, C1 y C2. Esto es suficiente para este proyecto. Estas células de carga se utilizan para medir el peso de arena, cemento o agua.

Las celdas de carga de grado C3 se utilizan para garantizar la calidad, como verificar el peso de los rodamientos de bolas, piezas de construcción de máquinas, etc.

C4, C5, C6 son la mejor precisión de su clase, estos grados de celdas de carga se utilizan para medir en gramos a microgramos. Estas clases de grado se utilizan en básculas de mostrador de tiendas, monitoreo de producción a gran escala, empaque de alimentos y uso en laboratorio, etc.

Ahora, profundicemos en los detalles técnicos del proyecto.

Diagrama de circuito:

Conexión de celda de carga HX711 a Arduino y celda de carga.

Conexión de celda de carga HX711 a Arduino y celda de carga.

El proyecto consta de Arduino, celda de carga y placa amplificadora de celda de carga HX711 y una computadora. La salida se puede monitorear en el monitor serial de Arduino IDE.

El cerebro del proyecto es como siempre el arduino, puedes usar cualquier modelo de placa Arduino. El HX711 es ADC de 24 bits, que puede encontrar la menor flexibilidad debido al peso en la celda de carga. Puede operar de 2.7 V a 5 V. La energía se proporciona desde la placa Arduino.

La celda de carga tiene cuatro cables generalmente, que es la salida del medidor de tensión configurado en puente de Wheatstone.

El cable rojo es E +, el cable negro es E-, el cable verde es A- y el cable blanco es A +. Algunos módulos HX711 especifican el nombre de los terminales de la celda de carga y algunos módulos HX711 especifican los colores de los cables, tal modelo se ilustra en el diagrama del circuito.

El pin DATA de HX711 está conectado al pin # 3 de Arduino y el pin Clock del HX711 está conectado al pin # 2 de Arduino.

Cómo montar la celda de carga:

cómo instalar una celda de carga con Arduino

La celda de carga tiene cuatro orificios para tornillos, dos a ambos lados. Cualquiera de los lados debe estar fijo para una mejor precisión, puede estar montado sobre una madera con un peso razonable.

Se puede usar una madera delgada o una placa delgada para sostener el peso de medición como se ilustra arriba.

Entonces, cuando coloca un peso, la celda de carga se dobla también lo hace el medidor de tensión y cambia su resistencia, que se mide con el módulo HX711 y se alimenta a Arduino.

Una vez que se complete la configuración del hardware, carguemos el código y calibremos.

Calibrando el circuito:

Hay dos programas, uno es el programa de calibración (encontrar el factor de calibración). Otro código es el programa de medición de peso, el factor de calibración encontrado en el código del programa de calibración debe ingresarse en el programa de medición de peso.

El factor de calibración determina la precisión de la medición del peso.

Descargue la biblioteca HX711 aquí: github.com/bogde/HX711

Código del programa de calibraciones:

|_+_|

Cómo calibrar:

  • Con la configuración de hardware completa, cargue el código anterior.
  • Retire la placa delgada o madera que se usa para sostener el peso, incluidos los dos tornillos (el otro lado de la celda de carga debe fijarse a una base)
  • Abra el monitor de serie.
  • Coloque un peso conocido en la celda de carga directamente, 100 gramos (digamos).
  • Prensa Q, W, E, R para aumentar el factor de calibración en 10,100,1000,10000 respectivamente.
  • Prensa A, S, D, F para disminuir el factor de calibración en 10,100,1000,10000 respectivamente.
  • Presione “Enter” después de cada incremento o decremento del factor de calibración.
  • Aumente o disminuya el factor de calibración hasta que aparezca el peso correcto del material de peso conocido.
  • La función de tara es para poner la escala de peso a cero, esto es útil cuando desea medir el peso del agua (digamos) sin el peso del recipiente. Coloque el bol primero, presione la tara y vierta el agua.
  • Anote el factor de calibración y anótelo después de que aparezca el peso conocido.

Ahora puede medir pesos desconocidos.

Código del programa de medición de peso:

|_+_|

Float CalibrationFactor = -12000

Reemplace -12000 con el factor de calibración que encontró. Puede ser un número negativo o positivo.

Cargue el código anterior con su configuración de hardware completa y su máquina de báscula estará lista.

Máquina de báscula de peso con pantalla LCD

El artículo anterior explicó un sistema de báscula de pesaje basado en Arduino usando su PC, en la siguiente sección intentaremos construir una versión práctica de la máquina de báscula agregando una pantalla LCD de 16 x 2, para que no dependamos de una PC mientras medimos pesos. En este post se proponen dos versiones, una con pantalla LCD “I2C” 16 x 2 y otra sin pantalla LCD “I2C” 16 x 2.

Aquí se ofrecen dos opciones para que los lectores puedan elegir el diseño según su conveniencia. La principal diferencia entre los dos son las conexiones de cables con el módulo adaptador I2C, solo se requieren 4 cables (Vcc, GND, SCL y SDA) para el funcionamiento de la pantalla LCD, mientras que sin el adaptador I2C se necesitan varios cables para conectar el Arduino y la pantalla LCD.

Sin embargo, ambas funciones son exactamente iguales, algunos prefieren I2C sobre uno convencional y algunos prefieren lo contrario, así que aquí están los dos diseños.

Echemos un vistazo al diseño LCD convencional:

Diagrama de circuito:

arduino, pantalla LCD de 16 x 2 y potenciómetro de 10K para ajustar el contraste de la pantalla LCD

En el esquema anterior tenemos el arduino, pantalla LCD de 16 x 2 y potenciómetro de 10K para ajustar el contraste de la pantalla LCD.

Se pueden alimentar 3.3 V desde Arduino a la pantalla LCD para retroiluminación. Se proporciona un botón pulsador para llevar la lectura de peso a cero, esta función se explicará en detalle al final.

Esta es solo una conexión entre LCD y Arduino, la conexión entre la celda de carga y el amplificador de la celda de carga a Arduino se muestra en la sección anterior.

Código para la máquina de escala de peso LCD:

|_+_|

Ahora veamos cómo usar esta máquina báscula con pantalla LCD basada en adaptador I2C.

Diagrama de circuito Arduino y pantalla LCD con adaptador I2C:

Pantalla Arduino y LCD con adaptador I2C

Aquí solo tenemos una pantalla Arduino y LCD con adaptador I2C en la parte posterior. Ahora las conexiones de cables están simplificadas y directas.

Ilustración del módulo I2C:

Módulo I2C

Este módulo se puede soldar directamente en la parte posterior de una pantalla LCD normal de 16 x 2 o incluso 20 x 4 y seguir el diagrama esquemático.

Y nuevamente, consulte la sección anterior para la conexión de la celda de carga, el amplificador de la celda de carga y Arduino.

Descargue la siguiente biblioteca para I2C basada:

github.com/marcoschwartz/LiquidCrystal_I2C

github.com/PaulStoffregen/Wire

Código para circuito de báscula de peso basado en I2C:

|_+_|

NOTA:

Debe ingresar el factor de calibración en el código antes de cargar cualquiera de los códigos en Arduino.

Float CalibrationFactor = -12000

La obtención del factor de calibración se explica en una de las secciones anteriores.

Función de tara:

La función de tara en una báscula es llevar las lecturas a cero. Por ejemplo, si tenemos una canasta en la que se cargan las mercancías, entonces el peso neto será el peso de la canasta + el peso de la mercancía.

Si presionamos el botón de tara con la canasta en la celda de carga antes de cargar la mercadería, se descuidará el peso de la canasta y podremos medir el peso de la mercadería solo.

Si tiene alguna pregunta con respecto a este circuito de máquina de báscula LCD práctico basado en Arduino, exprese en la sección de comentarios que puede obtener una respuesta rápida.




Artículo anterior: Circuito de contactor de estado sólido para bombas de motor Siguiente: Cómo hacer transformadores reductores