Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Multi-Temperatursensor

Komponenten und Verbrauchsmaterialien

DS18B20
× 8
Schrauben
× 1
Arduino Nano R3
× 1
Versuchsplatine
× 1
Widerstand 4,7k
× 1
2-Port-Schraubklemme
× 1
SparkFun RS232 Shifter - SMD
× 1
3D-gedruckte Hülle
× 1
wire
× 1

Notwendige Werkzeuge und Maschinen

3D-Drucker (generisch)
Schraubendreher

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Ich musste die Temperaturen an mehreren Positionen auslesen. Die Temperatur sollte auf ein Domotica-System (Crestron/AMX) geparst werden. Die Lösung sollte nicht zu viel kosten. Auf diese Weise habe ich mich für DS18B20-Sensoren entschieden, da diese weit verbreitet und relativ günstig sind. Nicht zuletzt ist es ein Bussystem.

Die Sensoren sind mit einem Arduino Nano verbunden. Der serielle Ausgang des Arduino (ttl) wird in RS232 umgewandelt, um ihn mit dem domotica-System kompatibel zu machen.

Damit alles schön aussieht, habe ich eine Hülle entworfen und auf meinem Zortrax M200 3D-Drucker gedruckt.

Fragen? Fragen Sie nur!

Code

  • MultiTempSensor v1.0.0
MultiTempSensor v1.0.0Arduino
Arduino Code
/*MultiTempSensor-Code von WT040Der Sensorcode basiert auf den Beispielen von Rik Kretzinger und einigen anderen Ausschnitten von codeHistory:v0.1.1 27.11.2016v0.15 04.12.2016 Vorabversionv1.0.0 04 /12/2017 Release-Version*///Include's#include #include //Konstanten#define SENSOR_PIN 12#define READ_TIMER 10000 //10 Sekunden//OneWire oneWire(SENSOR_PIN);// Übergeben Sie unsere oneWire-Referenz an Dallas Temperature.DallasTemperature Sensoren(&oneWire);//Sensoradressen 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, 0x16, 0x .03 };DeviceAddress Sensor5 ={ 0x28, 0xFF, 0xFE, 0x13, 0x61, 0x16, 0x03, 0x56 };DeviceAddress Sensor6 ={ 0x28, 0xFF, 0x89, 0xBA, 0x60, 0x16, 0x03, 0xFB };DeviceAddress Sensor7 ={ 0x28, 0xFF, 0xFA, 0xB C, 0x60, 0x16, 0x03, 0xD1 };DeviceAddress Sensor8 ={ 0x28, 0xFF, 0x57, 0xB1, 0x60, 0x16, 0x03, 0x93 };int MengeOfSensors =8;//Variable um die Anzahl der Sensoren auf dem Bus einmal in a . zu überprüfen whileint counterCheckBus =0;void setup () {// Serieller Port starten, um Ergebnisse anzuzeigen Serial.begin (9600); //display_Running_Sketch(); printProgrammname(); Serial.print ("Initialisierung der Version der Temperaturkontrollbibliothek"); Serial.println (DALLASTEMPLIBVERSION); Serial.print ("Suche nach"); Serial.print (MengeOfSensors); Serial.println("Sensoren..."); // Initialisieren Sie die Temperaturmessbibliothek sensor.begin(); // setze die Auflösung auf 10 Bit (kann 9 bis 12 Bit sein.. niedriger ist schneller) Sensoren.setResolution (Sensor1, 10); sensor.setResolution (Sensor2, 10); sensor.setResolution (Sensor3, 10); sensor.setResolution (Sensor4, 10); sensor.setResolution (Sensor5, 10); sensor.setResolution (Sensor6, 10); sensor.setResolution (Sensor7, 10); sensor.setResolution (Sensor8, 10); getSensorsOnBus(); Serial.println("System initialisiert");}void loop(){ counterCheckBus++; Verzögerung (READ_TIMER); Serial.println(); if (counterCheckBus ==360) { getSensorsOnBus(); counterCheckBus =0; } sensoren.requestTemperatures(); Serial.print ("Sensor 1:"); Drucktemperatur (Sensor1); Serial.println(); Serial.print ("Sensor 2:"); Drucktemperatur (Sensor2); Serial.println(); Serial.print ("Sensor 3:"); Drucktemperatur (Sensor3); Serial.println(); Serial.print ("Sensor 4:"); Drucktemperatur (Sensor4); Serial.println(); Serial.print("Sensor 5:"); Drucktemperatur (Sensor5); Serial.println(); Serial.print("Sensor 6:"); Drucktemperatur (Sensor6); Serial.println(); Serial.print("Sensor 7:"); Drucktemperatur (Sensor7); Serial.println(); Serial.print("Sensor 8:"); Drucktemperatur (Sensor8); Serial.println ();}void printTemperature (DeviceAddress deviceAddress) { float tempC =Sensoren.getTempC (deviceAddress); if (tempC ==-127.00) {Serial.print ("Sensorfehler!"); } sonst {Serial.print ("C:"); Serial.print (tempC); }}void printProgramName() { String path =__FILE__; int Schrägstrich =path.lastIndexOf('\\'); String programName =path.substring(Slash + 1); int dot =programName.lastIndexOf('.'); Programmname =Programmname.substring(0, Punkt); Serial.print("\nProgrammversion:"); Serial.println (Programmname);}void getSensorsOnBus () { Serial.print ( "Anzahl der auf dem Bus gefundenen Sensoren:"); Serial.println(sensors.getDeviceCount());}

Kundenspezifische Teile und Gehäuse

3D druckbare Hülle - unten3D druckbare Hülle - top3D druckbare Hülle - Sub-D 9 Halterung

Schaltpläne

Grundschema, ohne RS232-Modul

Herstellungsprozess

  1. DS18B20 Temperatursensor
  2. Himbeer-Pi-Temperaturlogger
  3. Python- und Raspberry Pi-Temperatursensor
  4. Raspberry Pi Temperatur- und Lichtsensor
  5. Raspberry Pi-Temperatursensor
  6. DasFilisera Green House
  7. MotionSense
  8. 3D-Drucker Brandschutz
  9. CoroFence - Wärmedetektor🖖
  10. Lagertemperatursensor | Detektor