Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sensor de temperatura de 1 cable DS1820 en Raspberry Pi (GPIO directamente)

Para medir la temperatura interior o exterior con la Raspberry Pi, existen varias posibilidades. Este artículo describe la versión con la cantidad mínima de componentes externos. Esto se basa en el sensor de temperatura DS18S20 y la emulación de software del protocolo de 1 cable.

El DS18S20 y los DS18B20 y DS1822 relacionados son circuitos integrados en una carcasa TO-92 que contiene el sensor de temperatura, el convertidor analógico a digital y la interfaz de 1 cable. Los tipos mencionados son compatibles con pines y software, difieren sustancialmente en la precisión de medición y el precio. Los tres conectores (ver imagen a la izquierda) son tierra (GND, pin 1), datos (DQ pin 2) y voltaje de operación (V DD , pin3). Puede conectar V DD y GND y opere el sensor con una fuente de alimentación parásita de 3-5 voltios. La conexión del circuito con la computadora es posible con un simple cable de par trenzado de dos hilos.

En este cable, el bus de 1 hilo, puede conectar varios DS1820 en paralelo. Cada sensor tiene un código único asignado por el fabricante para identificarse.

Raspberry Pi y 1 cable

La medición de temperatura con Raspberry Pi y el sensor de temperatura de 1 cable DS1820 contiene una lista de diferentes formas de impulsar un bus de 1 cable desde Raspberry Pi. Este documento describe la solución (1) con la menor cantidad de circuitos externos. Aparte de los sensores, solo necesita una resistencia, ya que esta solución simula completamente el protocolo de 1 cable en el software.

Solo una resistencia

El puerto de datos DQ del DS1820 está conectado directamente al puerto GPIO4 de la interfaz GPIO de la Raspberry Pi. GND y V DD están en el terminal de tierra GND. La fuente de alimentación parásita logró una resistencia pull-up de 4k7 entre la conexión de 3.3 voltios 3V3 y GPIO4.

La resistencia, un conector hembra para conectar al puerto GPIO y la conexión de 1 cable están soldados a una pequeña placa de pruebas, que se encuentra directamente en el puerto GPIO. La conexión de 1 hilo se puede realizar con un conector hembra acodado que ahorra espacio. Todo esto encaja en la carcasa TEK-BERRY de la Raspberry Pi.

Controladores de software de 1 cable

Los módulos del kernel necesarios para la activación del sensor de temperatura de 1 cable son parte de la distribución de Linux Raspbian "wheezy". Sin embargo, debe cargarlos explícitamente:

 sudo modprobe w1-gpio pullup =1sudo modprobe w1-therm 

Importante es el parámetro pullup =1 , que le dice al módulo que hay una fuente de alimentación parásita a través de una resistencia pull-up. Los módulos crean un subdirectorio para cada sensor que se encuentra justo debajo de / sys / bus / w1 / devices. El nombre del directorio está compuesto por el Código de familia del sensor y su número de identificación único. Los sensores del tipo DS1820 y DS18S20 tienen el Código de familia 10, DS18B20 tiene el Código 28 y DS1822 el 22. En cada subdirectorio se encuentra el archivo w1_slave que contiene el estado del sensor y el valor de temperatura medido:

 cd / sys / bus / w1 / devicescd 10-000801b5 * cat w1_slave  0f 00 4b 46 ff ff 06 10 0c:crc =0c YES0f 00 4b 46 ff ff 06 10 0c t =7375  

El archivo consta de dos líneas, cada una de las cuales contiene el volcado de registro hexadecimal del sensor IC. Al final de la primera línea está la suma de verificación (CRC) y la información de si es una lectura válida (SÍ). La segunda línea termina con la lectura de temperatura en milésimas de grado Celsius. En el ejemplo, la temperatura es por tanto de 7,375 ° C. La precisión de tres lugares después del punto decimal es, por supuesto, solo aparente; la hoja de datos de DS18S20 establece, por ejemplo, que la precisión de la medición es de solo ± 0,5 ° C. La temperatura real es de 6,8 a 7,9 ° C.

Si todo funciona hasta ahora, debe ingresar los dos módulos requeridos en el archivo / etc / modules para que se carguen automáticamente en el momento del arranque:

 # / etc / modulesw1-gpio pullup =1w1-therm 

Herramienta RRD de base de datos Round Robin

Para un registro a largo plazo de las lecturas de temperatura y una generación cómoda de gráficos, se recomienda el uso de RRDtool. Los artículos Adquisición de datos meteorológicos con USB WDE1 y Medición de temperatura con Raspberry Pi (USB-serial) explican en detalle esta herramienta.

Primero debe instalar RRDtool con la ayuda del Administrador de paquetes en la Raspberry Pi:

 sudo apt-get install rrdtool python-rrdtool 

El segundo paquete instalado python-rrdtool es una interfaz de Python para RRDtool, que se usa más adelante. Al comienzo del trabajo con RRDtool está la definición de la base de datos. El siguiente ejemplo crea una base de datos para dos sensores de temperatura temp0 und temp1 . El objetivo es almacenar un valor por cuarto de hora (900 segundos). Después de diez días (=960 valores), se produce una reducción a un valor promedio, mínimo y máximo por día. El tiempo de retención de estos valores diarios es de diez años (=3600 valores):

 rrdtool create temperature.rrd --step 900 \ DS:temp0:GAUGE:1200:-40:80 \ DS:temp1:GAUGE:1200:-40:80 \ RRA:AVERAGE:0.5:1:960 \ RRA:MIN:0.5:96:3600 \ RRA:MAX:0.5:96:3600 \ RRA:PROMEDIO:0.5:96:3600 

Adquisición de datos con Python

Un script de Python lee los archivos especiales w1_slave e inserta los valores de temperatura en la base de datos por turnos:

Para más detalles:sensor de temperatura de 1 cable DS1820 en Raspberry Pi (GPIO directamente)


Proceso de manufactura

  1. Registrador de temperatura Raspberry Pi
  2. Mide temperaturas con un sensor DS18B20 de 1 cable y Raspberry Pi
  3. Leer temperatura con DS18B20 | Raspberry Pi 2
  4. Monitoreo de temperatura en Raspberry Pi
  5. Medición de temperatura con RASPBERRY PI
  6. Biblioteca Python del sensor de temperatura TMP006 con Raspberry pi,
  7. Sensor de temperatura Python y Raspberry Pi
  8. Estación meteorológica Raspberry Pi
  9. Supervisión de la temperatura con Raspberry Pi
  10. Sensor ultrasónico (HC-SR04) + Raspberry Pi
  11. Sensor de movimiento con Raspberry Pi