Está en la página 1de 5

PRÁCTICA 5: INTERFAZ ARDUINO -

LabVIEW PARA SENSOR DE PESO.


PRACTICE 5: ARDUINO - LabVIEW INTERFACE FOR WEIGHT SENSOR.

Jhojan Santiago Sánchez, Kevin Stiven Marquez y Diego Morales


Programa de Ingeniería Electrónica, Universidad Tecnológica de Pereira, Pereira – Colombia
jhojan.sanchez@utp.edu.co
kevin.marquez@utp.edu.co
diego.morales@utp.edu.co

Resumen - En la presente práctica se enfoca en la creación El experimento se desarrolla mediante el registro de


de una VI principal y varias SubVI en LabVIEW destinado a pesos generados por diferentes masas, los cuales en su
la captura de señales de peso mediante un sensor de carga y totalidad pesan exactamente 1 kg, para después ser
Arduino, con el objetivo de desarrollar competencias clave en almacenados en un arreglo. La hipótesis que se busca
la calibración de parámetros intrínsecos del sensor. La
primera fase abarca la conversión A/D, almacenamiento y
verificar sostiene que la fuerza producida es una función
análisis estadístico de 11 datos. La segunda etapa se centra en lineal, donde la variable independiente es el voltaje medido
la estimación de un modelo lineal para calibrar y corregir el por el sensor piezoeléctrico.
error del sistema de medición, empleando el método de los 11
puntos. Finalmente, se repite la estimación del modelo lineal Este enfoque experimental permite explorar y entender
para corregir el error, promedio, desviación y la la relación directa entre el voltaje generado por el sensor y
determinación de las características estáticas del sistema. los distintos pesos aplicados. La implementación de la
caracterización estática facilitará la obtención de parámetros
Palabras clave- A/D, calibración, conversión, desviación, clave, como la sensibilidad y la linealidad del sensor. Los
Hx711, LabVIEW, modelo lineal, promedio, sensor, sistema, SubVI,
voltaje, VI. ingenieros electrónicos pueden utilizar estos datos para
mejorar la eficiencia, minimizar interferencias y avanzar en
Abstract- The present practice focuses on the creation of a la investigación y desarrollo de tecnologías de sensores. En
main VI and several SubVIs in LabVIEW aimed at capturing última instancia, esta caracterización estática proporcionará
weight signals through a load sensor and Arduino, with the información esencial para mejorar la precisión y la
goal of developing key competencies in calibrating intrinsic confiabilidad de las mediciones realizadas por el sensor
parameters of the sensor. The first phase covers A/D piezoeléctrico en el contexto del sistema acústico.
conversion, storage, and statistical analysis of 11 data points.
The second stage centers on estimating a linear model to
calibrate and correct the measurement system error,
employing the 11-point method. Finally, the linear model II. PROCEDIMIENTO METODOLÓGICO
estimation is repeated to correct the error, calculate the A. Desarrollo del código en Arduino IDE y
average and deviation, and determine the static characteristics librerías.
of the system.
Inicialmente se instalaron las librerías digilent linx y
Key Word- A/D, conditioning, calibration, conversion, deviation, ‘Arduino interface’, como lo indica el diagrama de procesos
Hx711, LabVIEW, linear model, average, sensor, system, SubVI,
voltage, VI. de la figura 1, desde el package manager de Labview, lo
cual, con el propósito de obtener los bloques necesarios
I. INTRODUCCIÓN para la interfaz que comunique arduino con Labview.

La secuencia de la lectura del peso inicia en la celda que


al sentir presión en uno de sus extremos genera una
La caracterización estática de sensores es un diferencia de potencial que es procesada por el módulo
procedimiento fundamental en el ámbito de la HX711, el cual posee un conversor análogo-digital de 24
instrumentación, especialmente en el contexto de la bits. Posteriormente el arduino debe leer la señal procesada
medición de peso. Este proceso implica la determinación del módulo HX711, digitalizando el valor obtenido que
precisa de la relación entre la variable medida y la salida luego es procesado en la interfaz de LabView.
eléctrica del sensor. Esta práctica se enfocará en la
caracterización de un sistema acústico que emplea un sensor
piezoeléctrico para medir el peso de una masa.
la interfaz diseñada en Labview. Es importante mencionar
que no se envía de forma literal el valor de voltaje, dado
que este se codifica debido a las diferentes conversiones
que sufre en el módulo de HX711 de 24 bits y luego su
respectiva lectura en el arduino con resolución de 12 bits,
por lo cual llega un valor que lejos de ser un voltaje es un
número exagerado que una proporción equivalente al peso
medido.

B. Desarrollo del código gráfico en LabView.

Primero se presenta el diagrama de bloques y la ventana


principal de la aplicación desarrollada en LabView.

Fig. 1. Diagrama de procesos realizados.


Fig. 3. Ventana principal interfaz LabView-Arduino.

En la figura 2 se puede observar el código desarrollado


en Arduino IDE

Fig. 4. Diagrama de bloques interfaz LabView-Arduino.

En la Fig. 3 se observa un arreglo donde se almacenan


los 11 datos de la medición, unos indicadores de promedio y
desviación que provienen de los datos del arreglo. Un dial
que indica el peso de forma gráfica y un indicador numérico
Fig. 2. Código del arduino.
que entrega el valor exacto. Un botón “pesar” que permite
indicar cada vez que se quiere tomar una medida, lo cual,
La librería HX711 facilita la comunicación entre el
permite el control sobre la adquisición de datos, además de
arduino y el módulo del mismo nombre, además la librería
un botón que funciona como menú para establecer las
‘LabVIEWinterface’ posibilita el paso de datos entre ambas
unidades del peso medido, ya sea Kg o Lb. Finalmente
aplicaciones. El módulo Hx711 necesita una señal reloj
están dos controladores de puerto y de pin, los cuales
(CLK) y una señal donde entrega el valor leído en la celda,
establecen el puerto al que se conecta la tarjeta arduino y el
básicamente una emulación del protocolo de comunicación
pin por el cual entra la información del módulo Hx711.
I2C. Finalmente a través de la instrucción “Serial” se envía
el voltaje equivalente a la lectura de peso de la celda hacia
En cuanto al diagrama de bloques, se usan los bloques
“open”, “read analog” y “close” de la librería Linx para Con lo anterior se finalizan los códigos necesarios para
establecer la comunicación entre arduino y Labview. Los la implementación de la práctica.
anteriores bloques permiten extraer datos de arduino, leerlos
y cerrar la comunicación para evitar fallos. Se observa que D. Montaje del circuito.
también se hace uso de un nodo, dentro del cual se permite
la escritura de código en lenguaje C, se usa para convertir el
voltaje leído en peso. La constante de 161850 que se le resta A continuación se presenta el circuito implementado
al voltaje leído hace referencia al tara (valor obtenido de para la realización de la práctica:
videos de referencia usados para la construcción de la
interfaz), valor que lee el sensor cuando no hay peso
existente y luego la constante de 430568 que divide el peso
es la escala. Finalmente el peso entra a un bloque “build
array” que permite llenar el arreglo con los 11 datos
necesarios. Posteriormente, el bloque de statistics permite
obtener el promedio y desviación estándar de los valores
almacenados en el arreglo.

C. VI para la linealización del error.

Además de la interfaz arduino-LabView se debía diseñar


un VI por separado que permitiera linealizar el error de
medición a través del método de mínimos cuadrados.
Inicialmente se toman los valores que arroja el código
Fig. 7. Montaje físico.
anterior en base a los diferentes patrones de peso usados, de
tal forma que los datos X serán los valores del programa, es
decir, el peso con ruido y el valor real serán los pesos de los El montaje se realizó con ayuda de una celda ya
patrones. De tal forma que en base a los datos registrados se implementada y una variante del módulo HX711 que no
debe realizar un algoritmo que emule las operaciones vistas presentó problemas con la programación realizada, estás se
en la Fig. 5. conectaron a la placa de Arduino UNO y está, a su vez, al
portátil por conexión serial USB en el puerto COM9.

III. RESULTADOS DE LA PRÁCTICA

Inicialmente se sitúa en la balanza el peso máximo, un 1


Kg. A continuación se presentan los resultados.

Fig. 5. Fórmulas para coeficientes de linealización.

A continuación se presenta el diagrama de bloques del


archivo VI que emula la linealización por mínimo
cuadrados.

Fig. 8. Resultados obtenidos con la interfaz arduino-labview.

Al probar el peso máximo, el dial y los valores jamás


llegaron a 1, si bien estuvieron muy cerca, las medidas no
son al 100% exactas, sin embargo hay un alto margen de
Fig. 6. Diagrama de bloques para Fórmulas de coeficientes de precisión dado la desviación de 0,008 que se obtuvo.
linealización.
Posteriormente, se realizó la medición de 1 Kg y 1 Lb
para observar los cambios obtenidos al alterar la fórmula de
peso.

Fig. 9. Resultados obtenidos con la interfaz arduino-labview.

Similar a lo que ocurrió con la anterior medición, al


colocar un peso de aproximadamente una libra (0,5 Kg)
sobre la báscula, ni el dial ni los datos arrojaron Fig. 12. Resultados obtenidos al medir 1Kg con fórmula de
linealización.
exactamente tal valor, sin embargo la desviación en este
caso fue aún menor, de 0,005; lo cual indica un
funcionamiento coherente de la instrumentación realizada.

Luego se usa el código realizado para la linealización


por mínimos cuadrados, esperando obtener los valores de m
y b que satisface el sistemas y=mx+b.

Fig. 10. Resultados de m y b para los datos obtenidos. Fig. 13. Resultados obtenidos al medir 0,5 Kg con fórmula de
linealización.

Con tales valores de m y b se replantea el código


Nótese que si bien los cambios en el arreglo de valores
instruido en el nodo del diagrama de bloques de la
son apreciables la dispersión en ambas medidas se mantuvo
aplicación principal.
numéricamente igual, sin emancipación, para el caso de la
medición de 0,5 Kg la medida se acercó en un 2 % más al
valor ideal, lo cual implica que el desempeño del programa
mejoró. La razón por la que no ocurrieron grandes cambios
es debido a que la balanza con ruido obtuvo valores muy
cercanos a los reales por tal razón, el margen de mejora era
limitado.

IV. CONCLUSIONES

Fig. 11. Diagrama de bloques aplicación principal actualizado. La caracterización estática de sensores, particularmente
en el ámbito de la medición de peso con sensores
piezoeléctricos, se revela como un elemento esencial en la
ingeniería electrónica ya que proporciona garantía de la
precisión y confiabilidad de los sistemas de medición,
otorgando las bases fundamentales para el diseño de
sistemas precisos y la calibración efectiva de sensores. Este
enfoque no solo es crucial en la selección adecuada de
dispositivos, sino que también contribuye a una mejora
continua en la calidad de las mediciones, permitiendo que
los ingenieros electrónicos diseñen sistemas más avanzados
y confiables.

El uso de una celda de carga junto con el convertidor


Hx711 permite la captura precisa de datos de peso y su
conversión a señales digitales de alta resolución. La
conexión a LabVIEW proporciona una interfaz gráfica
intuitiva y personalizada que facilita la visualización y
control en tiempo real de los datos de peso medidos. Esta
integración no solo simplifica la adquisición de datos, sino
que también permite la implementación de algoritmos
avanzados para el procesamiento y análisis de las
mediciones, mejorando así la precisión y confiabilidad del
sistema.

La conexión de LabVIEW con Arduino permite la


creación de Interfaces de Usuario (UI) intuitivas y
personalizadas, lo que facilita a los ingenieros electrónicos
visualizar y controlar los procesos de medición de peso de
manera eficiente. La flexibilidad de LabVIEW, combinada
con la versatilidad de Arduino, proporciona un entorno
propicio para el desarrollo de VI (Virtual Instruments) que
pueden capturar, procesar y presentar datos de sensores,
como en el caso de la medición de peso con sensores
piezoeléctricos.

Además, esta interfaz no solo simplifica la adquisición


de datos, sino que también permite la integración de
algoritmos de procesamiento de señales y técnicas
avanzadas de análisis, brindando a los ingenieros las
herramientas necesarias para optimizar la precisión y
confiabilidad del sistema de medición. La conjunción de
LabVIEW y Arduino se erige como una solución robusta y
accesible para el diseño de sistemas de medición de peso,
ofreciendo un entorno de desarrollo eficaz y versátil en el
campo de la ingeniería electrónica.

REFERENCIAS

[1] Germán A Holguín L, Álvaro A Orozco G, Sandra M


Pérez L. CURSO BÁSICO DE LabVIEW 6i. Editorial
Publicaciones Universidad Tecnológica de Pereira,
2002.

También podría gustarte