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 múltiple

Componentes y suministros

DS18B20
× 8
tornillos
× 1
Arduino Nano R3
× 1
pcb de experimento
× 1
resistencia 4.7k
× 1
terminal de tornillo de 2 puertos
× 1
Cambiador SparkFun RS232 - SMD
× 1
Estuche impreso en 3D
× 1
cable
× 1

Herramientas y máquinas necesarias

Impresora 3D (genérica)
destornillador

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Necesitaba leer las temperaturas en varias posiciones. La temperatura debe analizarse en un sistema de domótica (Crestron / AMX). La solución no debería costar demasiado. De esta manera, decidí usar sensores DS18B20 porque están ampliamente disponibles y son bastante baratos. Por último, pero no menos importante, es un sistema de autobuses.

Los sensores están conectados a un Arduino Nano. La salida serial del Arduino (ttl) se convierte a RS232 para hacerlo compatible con el sistema domotica.

Para que todo se viera bien, diseñé una carcasa y la imprimí en mi impresora 3D Zortrax M200.

¿Preguntas? ¡Siéntete libre de preguntar!

Código

  • MultiTempSensor v1.0.0
MultiTempSensor v1.0.0 Arduino
Código Arduino
 / * Código MultiTempSensor de WT040 El código del sensor se basa en los ejemplos de Rik Kretzinger y algunos otros fragmentos de código Historia:v0.1.1 27/11 / 2016v0.1.5 04/12/2016 versión preliminar v1.0.0 04 / 12/2017 versión de lanzamiento * /// Incluir # incluye  #include  // Constantes # define SENSOR_PIN 12 # define READ_TIMER 10000 // 10 segundos // OneWire oneWire (SENSOR_PIN); // Pase nuestra referencia oneWire a Dallas Temperature.DallasTemperature sensores (&oneWire); // Direcciones de sensores DeviceAddress Sensor1 ={0x28, 0xFF, 0x89, 0x0F, 0x61, 0x16, 0x03, 0x40}; DeviceAddress Sensor2 ={0x28, 0xFF, 0xE2, 0x0F , 0x61, 0x16, 0x03, 0x21}; DeviceAddress Sensor3 ={0x28, 0xFF, 0x38, 0xB3, 0x60, 0x16, 0x03, 0xEA}; DeviceAddress Sensor4 ={0x28, 0xFF, 0xA4, 0xBE, 0x60, 0x03, 0x16, 0xBE }; DeviceAddress Sensor5 ={0x28, 0xFF, 0xFE, 0x13, 0x61, 0x16, 0x03, 0x56}; DeviceAddress Sensor6 ={0x28, 0xFF, 0x89, 0xBA, 0x60, 0x16, 0x03, 0xFB}; DeviceAx28 Sensor7 ={0x28, 0xFF, 0x89, 0xBA, 0x60, 0x16, 0x03, 0xFB}; DeviceAx28 Sensor7 ={0x28 0xFF, 0xFA, 0xB C, 0x60, 0x16, 0x03, 0xD1}; DeviceAddress Sensor8 ={0x28, 0xFF, 0x57, 0xB1, 0x60, 0x16, 0x03, 0x93}; int amountOfSensors =8; // variable para comprobar la cantidad de sensores en el bus una vez en una whileint counterCheckBus =0; void setup () {// iniciar el puerto serie para mostrar los resultados Serial.begin (9600); // display_Running_Sketch (); printProgramName (); Serial.print ("Inicialización de la versión de la biblioteca de control de temperatura"); Serial.println (DALLASTEMPLIBVERSION); Serial.print ("Buscando"); Serial.print (amountOfSensors); Serial.println ("sensores ..."); // Inicializar la biblioteca de medidas de temperatura sensores.begin (); // establece la resolución en 10 bits (puede ser de 9 a 12 bits ... más bajo es más rápido) sensores.setResolution (Sensor1, 10); Sensores.setResolution (Sensor2, 10); Sensores.setResolution (Sensor3, 10); Sensores.setResolution (Sensor4, 10); Sensores.setResolution (Sensor5, 10); Sensores.setResolution (Sensor6, 10); Sensores.setResolution (Sensor7, 10); Sensores.setResolution (Sensor8, 10); getSensorsOnBus (); Serial.println ("Sistema inicializado");} bucle vacío () {counterCheckBus ++; retraso (READ_TIMER); Serial.println (); if (counterCheckBus ==360) {getSensorsOnBus (); counterCheckBus =0; } sensores.requestTemperatures (); Serial.print ("Sensor 1:"); printTemperature (Sensor1); Serial.println (); Serial.print ("Sensor 2:"); printTemperature (Sensor2); Serial.println (); Serial.print ("Sensor 3:"); printTemperature (Sensor3); Serial.println (); Serial.print ("Sensor 4:"); printTemperature (Sensor4); Serial.println (); Serial.print ("Sensor 5:"); printTemperature (Sensor5); Serial.println (); Serial.print ("Sensor 6:"); printTemperature (Sensor6); Serial.println (); Serial.print ("Sensor 7:"); printTemperature (Sensor7); Serial.println (); Serial.print ("Sensor 8:"); printTemperature (Sensor8); Serial.println ();} void printTemperature (DeviceAddress deviceAddress) {float tempC =sensors.getTempC (deviceAddress); if (tempC ==-127.00) {Serial.print ("¡Error del sensor!"); } else {Serial.print ("C:"); Serial.print (tempC); }} void printProgramName () {Ruta de la cadena =__FILE__; barra oblicua int =path.lastIndexOf ('\\'); Cadena nombreprograma =ruta.subcadena (barra + 1); int dot =programName.lastIndexOf ('.'); programName =programName.substring (0, dot); Serial.print ("\ nVersión del programa:"); Serial.println (programName);} void getSensorsOnBus () {Serial.print ("Número de sensores encontrados en el bus:"); Serial.println (sensores.getDeviceCount ());} 

Piezas y carcasas personalizadas

Carcasa imprimible en 3D - Carcasa inferior imprimible en 3D - Carcasa imprimible en top3D - Montura sub-d 9

Esquemas

esquema básico, sin módulo rs232

Proceso de manufactura

  1. DS18B20 Sensor de temperatura
  2. Registrador de temperatura Raspberry Pi
  3. Sensor de temperatura Python y Raspberry Pi
  4. Sensor de temperatura y luz Raspberry Pi
  5. Sensor de temperatura Raspberry Pi
  6. Casa verde DasFilisera
  7. MotionSense
  8. Seguridad contra incendios de la impresora 3D
  9. Levitación electromagnética repulsiva Arduino
  10. CoroFence - Detector térmico🖖
  11. Sensor de temperatura del rodamiento | detector