Fig. 1: Prototipo de monitor de temperatura basado en Beaglebone Black y sensor LM35
Este tutorial explica cómo conectar el sensor de temperatura LM35 con el Beaglebone negro para trabajar con la interfaz del sensor. El LM35 es un sensor analógico que mide la temperatura y la salida lineal dada en forma de voltaje. Se requiere ADC para convertir la salida analógica del sensor de temperatura en salida digital. Dado que BBB tiene un ADC en chip, puede conectar estos dos directamente. El programa está escrito en script Python con la biblioteca GPIO adafruit.
Herramientas necesarias:
- Hueso de beagle negro
- Placa de pruebas LM35
- Conectores hembra a hembra
Configuración del entorno de software:
Instale la última versión de Python en BBB como se explica en el tutorial Cómo crear el primer programa de Python con Beaglebone Black. Instale la biblioteca adafruit python-GPIO llamada adafruit_BBIO.
Laboral:
Es un tutorial de aprendizaje sencillo que utiliza ADC con Beaglebone negro. Conecté el sensor de temperatura LM35 con un ADC BBB de 12 bits. La salida del LM 35 está en formato analógico, que es la entrada del ADC. La salida del ADC es un valor digital y se convierte a Celsius y Fahrenheit mediante una fórmula. El voltaje de referencia del ADC es de 1,8 V. Por lo tanto, puede suministrar un máximo de 1,8 V en el pin del ADC.
El tamaño de paso del LM 35 es de 10 mV, lo que significa que cuando la temperatura cambia 1 grado, el voltaje de salida del sensor aumenta en 10 mV.
Encuentre el tamaño del paso del ADC siguiendo la fórmula:
Tamaño de paso = Vref / 212……………………………………………….. (1)
Donde Vref es el voltaje de referencia del ADC (1,8 V = 1800 mV)
Tamaño de paso = 0,44 mv
La salida digital es:
Dout = Vin / Tamaño de paso ………………………………………………….. (2)
Donde, Vin es el voltaje de entrada del ADC (salida del sensor LM 35)
Por la fórmula combinada (1) y (2),
Salida = (Vin * 4096) / 1800………………………………………………. (3)
Aquí la salida digital es 22,75 veces mayor que la salida real porque el tamaño de paso de LM 35 es de 10 mV y el tamaño de paso de ADC es de 0,44 mV, por lo que debemos dividirlo por 22,75 para obtener la temperatura correcta en Celsius.
Valor del factor = 10 mV / 0,44 mV = 22,75 mV
Temperatura en grados Celsius:
Celsius = (Dout)/22,75
Temperatura en grados Fahrenheit:
Fahrenheit = (Celsius * 9/5) + 32
Cuando el script se está ejecutando, entra en un bucle continuo y muestra la temperatura en grados Celsius y Fahrenheit en la terminal. Presione Ctrl+C para detener la ejecución del programa en la terminal de comando SSH.
Fig. 2: captura de pantalla de la consola Linux que muestra la lectura de temperatura
Descripción:
Primero preparemos la conexión del circuito. Tome una placa de pruebas y suministre VCC y tierra desde BBB a la línea de la placa de pruebas. Conecte la alimentación de 3,3 V desde el pin número 3 del cabezal P9 y tierra desde el pin número 2 del cabezal P8.
El LM35 tiene tres terminales:
- vcc
- Salida
- Piso
Fig. 3: Diagrama de pines del sensor de temperatura LM35
El terminal vcc está conectado con un suministro de 3,3 V, la tierra está conectada a la tierra del ADC de BBB (pin número 34 del encabezado P9). El terminal de salida del LM 35 está conectado a la entrada de AIN1 (pin número 40 del encabezado P9).
Fig. 4: Imagen de Beaglebone Black utilizado como monitor de temperatura
Abra la terminal de comandos y acceda a Beaglebone black a través de SSH como se explica en Introducción a Beaglebone black . Cree un nuevo archivo usando el comando táctil con extensión .py (es decir, LM_35.py) . Abra el archivo con cualquier editor de texto (es decir, nano, vim, etc.) y escriba el código en lenguaje Python.
Código fuente del proyecto
###
importar Adafruit_BBIO.ADC como ADC
###
Diagramas de circuito
Diagrama de circuito-Beaglebone-Black-LM35-Sensor-Temperature-Monitor |
Vídeo del proyecto