Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Capteur de température multiple

Composants et fournitures

DS18B20
× 8
vis
× 1
Arduino Nano R3
× 1
experiment pcb
× 1
résistance 4.7k
× 1
Borne à vis 2 ports
× 1
SparkFun RS232 Shifter - SMD
× 1
Boîtier imprimé en 3D
× 1
fil
× 1

Outils et machines nécessaires

Imprimante 3D (générique)
tournevis

Applications et services en ligne

Arduino IDE

À propos de ce projet

J'avais besoin de lire les températures sur plusieurs positions. La température doit être analysée dans un système domotique (Crestron/AMX). La solution ne devrait pas coûter trop cher. De cette façon, j'ai décidé d'utiliser des capteurs DS18B20 car ils sont largement disponibles et assez bon marché. Enfin, c'est un système de bus.

Les capteurs sont connectés à un Arduino Nano. La sortie série de l'Arduino (ttl) est convertie en RS232 pour la rendre compatible avec le système domotique.

Pour que tout soit joli, j'ai conçu un étui et je l'ai imprimé sur mon imprimante 3D Zortrax M200.

Des questions? N'hésitez pas à demander!

Code

  • MultiTempSensor v1.0.0
MultiTempSensor v1.0.0Arduino
Code Arduino/*Code MultiTempSensor par WT040Le code du capteur est basé sur les exemples de Rik Kretzinger et d'autres extraits de codeHistory :v0.1.1 27/11/2016v0.1.5 04/12/2016 version préliminaire v1.0.0 04 /12/2017 release version*///Include's#include #include //Constants#define SENSOR_PIN 12#define READ_TIMER 10000 //10 secondes//OneWire oneWire(SENSOR_PIN);// Passez notre référence oneWire aux capteurs Dallas Temperature.DallasTemperature(&oneWire);//Sensor Adresses 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, 0x603, 0x16, 0x1 };DeviceAddress Sensor5 ={ 0x28, 0xFF, 0xFE, 0x13, 0x61, 0x16, 0x03, 0x56 };DeviceAddress Sensor6 ={ 0x28, 0xFF, 0x89, 0xBA, 0x60, 0x16, 0x03, 0xFB };DeviceAddress Sensor6 ={ 0x28,7 0xFF, 0xFA, 0xB C, 0x60, 0x16, 0x03, 0xD1 };DeviceAddress Sensor8 ={ 0x28, 0xFF, 0x57, 0xB1, 0x60, 0x16, 0x03, 0x93 };intmountOfSensors =8;//variable pour vérifier le nombre de capteurs sur le bus une fois dans un whileint counterCheckBus =0;void setup(){ // démarrer le port série pour afficher les résultats Serial.begin(9600); // display_Running_Sketch(); printNomProgramme(); Serial.print ("Initialisation de la version de la bibliothèque de contrôle de température "); Serial.println(DALLASTEMPLIBVERSION); Serial.print("Recherche de "); Serial.print(amountOfSensors); Serial.println("capteurs..."); // Initialiser la bibliothèque de mesure de température sensor.begin(); // définit la résolution sur 10 bits (peut être de 9 à 12 bits .. plus bas est plus rapide) capteurs.setResolution(Sensor1, 10); capteurs.setResolution(Sensor2, 10); capteurs.setResolution(Sensor3, 10); capteurs.setResolution(Sensor4, 10); capteurs.setResolution(Sensor5, 10); capteurs.setResolution(Sensor6, 10); capteurs.setResolution(Sensor7, 10); capteurs.setResolution(Sensor8, 10); getSensorsOnBus(); Serial.println("Système initialisé");}boucle vide(){ counterCheckBus++; retard(READ_TIMER); Serial.println(); if (counterCheckBus ==360) { getSensorsOnBus(); compteurCheckBus =0 ; } capteurs.requestTemperatures(); Serial.print("Capteur 1:"); printTemperature(Sensor1) ; Serial.println(); Serial.print("Capteur 2:"); printTemperature(Sensor2) ; Serial.println(); Serial.print("Capteur 3:"); printTemperature(Sensor3) ; Serial.println(); Serial.print("Capteur 4:"); printTemperature(Sensor4) ; Serial.println(); Serial.print("Capteur 5:"); printTemperature(Sensor5) ; Serial.println(); Serial.print("Capteur 6 :"); printTemperature(Sensor6) ; Serial.println(); Serial.print("Capteur 7 :"); printTemperature(Sensor7) ; Serial.println(); Serial.print("Capteur 8 :"); printTemperature(Sensor8) ; Serial.println();}void printTemperature(DeviceAddress deviceAddress){ float tempC =sensor.getTempC(deviceAddress); if (tempC ==-127,00) { Serial.print("Erreur du capteur !"); } else { Serial.print("C:"); Serial.print(tempC); }} void printProgramName() { Chemin de chaîne =__FILE__; int barre oblique =chemin.lastIndexOf('\\'); String programName =path.substring(slash + 1); int point =nom_programme.lastIndexOf('.'); nom_programme =nom_programme.substring(0, point); Serial.print("\nVersion du programme :"); Serial.println(programName);}void getSensorsOnBus() { Serial.print("Nombre de capteurs trouvés sur le bus :"); Serial.println(sensors.getDeviceCount());}

Pièces et boîtiers personnalisés

Boîtier imprimable 3D - boîtier imprimable bottom3D - boîtier imprimable top3D - monture sub-d 9

Schémas

schéma de base, sans module rs232

Processus de fabrication

  1. Capteur de température DS18B20
  2. Enregistreur de température Raspberry Pi
  3. Capteur de température Python et Raspberry Pi
  4. Capteur de température et de luminosité Raspberry Pi
  5. Capteur de température Raspberry Pi
  6. Maison verte DasFilisera
  7. MotionSense
  8. CoroFence - Détecteur thermique🖖
  9. Capteur de température de roulement | détecteur