Kontaktloses Thermometer: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 44: Zeile 44:
====Schaltbilder====
====Schaltbilder====
[[Datei: SP-Multisim.png|550px|thumb|links|Schaltplan des kontaktlosen Thermometers]]
[[Datei: SP-Multisim.png|550px|thumb|links|Schaltplan des kontaktlosen Thermometers]]
[[Datei: Fritzing_Schaltplan.png|515px|thumb|zentriert-links|Fritzing-Schaltplan des kontaktlosen Thermometers]]
[[Datei: Fritzing_Schaltplan.png|515px|thumb|zentriert|Fritzing-Schaltplan des kontaktlosen Thermometers]]
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>



Version vom 9. Februar 2021, 15:26 Uhr

Autoren: Alexander Gossen, Markus Esjutin
Betreuer: Prof. Schneider

→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)

Kontaktloses Thermometer

Einleitung

Im Rahmen des Praktikums Angewandte Elektrotechnik im Masterstudiengang Business and Systems Engineering im Wintersemester 20/21 ist vorgesehen, dass sich die Studierenden mit einem Microcontroller-Projekt auseinadersetzen, indem das theoretische Wissen aus den folgenden Themengebieten angewendet wird:

  • Schaltungstechnik
  • Elektrotechnik
  • Mess- und Regelungstechnik

Die Studierenden sind aufgefordert ein angemessenes Projekthema mit einem Funduino Uno R3 zu recherchieren und auszuwählen. Hierbei besitzen die Studierenden bezüglich des Lösungskonzepts jegliche Freiheiten und sind nicht eingeschränkt.

Ausschlaggebend für das Projektthema "Kontaktloses Thermometer" war der ausgebrochene Virus Sars-CoV-2 oder besser bekannt als der Coronavirus. Durch die hohen Infektionszahlen seit Anfang des Jahres 2020 sind viele medizinische Hilfsmittel wie z.B. Fieberthermometer schnell ausverkauft oder werden zu überhöhten Preisen angeboten. Deshalb wird dieses Projekt als Motivation gesehen, sein eigenes kontaktloses Thermometer zu entwickeln und anderen die Möglichkeit zu bieten dies nachzubauen.

Projektsteckbrief

Im Rahmen der Projektvorgehensweise wird die Funtkion des kontaklosen Thermometers anhand eines kurzen Steckbriefs erläutert. Die kontaktlose Temperaturmessung wird durch einen Infrarotsensor ermöglicht. Dieser agiert zusammen mit dem Ultraschallsensor und zwei LED's für eine korrekte Messung. Der Ultraschallsensor prüft, ob die angegebene Entfernung stimmt und zeigt dies anhand zwei verschiedenfarbiger LED's an. Liegt die Entfernung bei 2-5cm, leuchtet die LED grün. Ist die Entferung zu weit, leuchtet sie rot. Bei Betätigung eines Taster soll der Wert festgehalten werden und auf einem Display auslesbar sein. Bei erneuter Betätigung des Tasters, soll das Thermometer für eine neue Messung bereitgestellt sein.

Anforderungen an das Projekt

Die nachfolgende Liste beschreibt die Anforderungen an das Projekt "Kontaktloses Thermometer", die erfüllt werden müssen.

  1. Die Temparatur muss in Grad Celsius angezeigt werden und einen Bereich von 0 C° - 100 C° abdecken.
  2. Das Thermometer muss im Entfernungsbereich von 2-5cm bei einer Auflösung von 0,1 C° messen können.
  3. Eine grüne LED muss leuchten, sobald sich das Thermometer im Entfernungsbereich befindet. Ansonsten leuchtet sie rot.
  4. Bei Betätigung des Tasters muss die aufgenommene Temperatur festgehalten werden, solange sie sich im Entfernungsbereich befindet.
  5. Die Messergebnisse müssen visuell per Display und akustisch durch einen Signalton kenntlich gemacht werden.
  6. Die Ergebnisse müssen auslesbar sein bis der Taster wieder gedrückt wird.
  7. Die Stromversorgung soll alternativ über eine Batterie laufen.
  8. Die Temparaturmessung muss in Echtzeit erfolgen.
  9. Das Thermometer soll handlich und transportabel sein.

Funktionaler Systementwurf / Technischer Systementwurf

Funktionale Systemstruktur

Das Thermometer misst die Temperatur eines Objektes mithilfe eines Infrarotsensors. Aufgrund von Herstellerangaben (Zuverlässigkeitsbereich der Messungen) wurde der Messbereich des Sensors auf 2 cm - 5 cm festgelegt. Dies bedeutet, das man lediglich in diesem Distanzbereich Messungen durchführen kann. Sobald der entsprechende Messbereich erreicht ist, wird dies anhand von LED's signalisiert. Ein Display gibt den entsprechenden Text aus. Eine Messung wird durch die Betätigung eines Tasters durchgeführt. Die Stromversorgung und Mobilität des Thermometers ist über eine Batterie gewährleistet.

Funktionale Systemstruktur des kontaktlosen Thermometers












Technischer Systementwurf

Im Folgendem werden die Schaltpläne und die technische Zeichnung des Projekts dargestellt.

Schaltbilder

Schaltplan des kontaktlosen Thermometers
Fritzing-Schaltplan des kontaktlosen Thermometers























CAD-Zeichnungen

Datei:Hauptteil und Deckel.pdf

Komponentenspezifikation

Die Komponenten für die Umsetzung des Projekts sind in der unten stehenden Tabelle aufgelistet und bezüglich der Funktionen spezifiziert. Zudem liefert die Tabelle einen Überblick über die Kosten, um einen möglichen Nachbau zu erleichtern. Die meisten Komponenten wurden beim Anbieter funduino.de bestellt. Teile, wie der Infrarotsensor, OLED-Display und Anschlussleitungen wurden auf Amazon eingekauft. In der Tabelle sind die genauen Adressen verlinkt.

Verwendete Komponenten
Bauteil Funktion Preis € (inkl. Mehrwertsteuer) Hyperlink
Arduino Uno R3 (alternativ Nano) Mikrocontroller zur Ansteuerung der Schaltkreise 13,90 Arduino Uno R3
MLX90614/5 Contactless Temperature Sensor Infrarot-Temperaturmessung 11,99 MLX90614
Ultrasonic Sensor HC-SR04 Abstandsmessung zur Einhaltung des Messbereichs 2,40 Ultraschallsensor
Experimentelles Breadboard Verbindung aller Schaltkreise 0,47 Breadboard
Jumper Wires Verbindung aller Schaltkreise 7,29 Jumper Wires
OLED-Display (128x64) Anzeigebildschirm 5,79 OLED-Display
Taster Betätigung zur Aufnahme einer Temperaturmessung 0,29 Taster
LED (2x) Indikator für Mindestabstand (rot) und Maximalabstand (grün) 4,40 LED
Filament (3D-Druck) Herstellung eines Gehäuses für das Thermometer 24,99 3D-Druck Filament
Lötkolben Herstellung einer festen Verbindung zwischen den Wires 18,22 Lötkolben
Löt-Zinn Verbindungsmaterial 6,43 Löt-Zinn


Umsetzung (HW/SW)

In diesem Kapitel wird die Umsetzung des Thermoters anhand der verwendeten Hard- und Software-Tools verdeutlicht. Für die Programmierung des Mikrocontrollers wurde die Arduino IDE verwendet. Die CAD-Zeichnungen wurden mit Solidworks. Das Gehäuse des Thermometers wurde mit einem Creality Ender 3 Pro mit rotem 1.75 mm Filament 3D-gedruckt. Verbindungen zwischen den Komponenten wurden mit einem Lötkolben hergestellt.

// #include <Wire.h>
// #include <Adafruit_MLX90614.h>
// #include <mlx90615.h>
// #include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
MLX90615 mlx = MLX90615();
Adafruit_MLX90614 mlx = Adafruit_MLX90614();


unsigned char LED_GRUEN = 4;
unsigned char LED_ROT = 8;
unsigned char SPEAKER = 10;
unsigned char TRIG = 3;
unsigned char ECHO = 2;
unsigned char TASTER = 6;
unsigned int tasterStatus = 0;
unsigned long dauer = 0;
unsigned long entfernung = 0;
boolean tasterGedrueckt = false;
int tasterZeit = 0;
int entprellZeitTaster = 200;
double Temperatur = 0;


void setup()
{

Serial.begin(9600);
mlx.begin();
// Serial.print("Sensor ID number = ");
// Serial.println(mlx.get_id(), HEX);
pinMode(LED_GRUEN, OUTPUT);
pinMode(LED_ROT, OUTPUT);
pinMode(SPEAKER, OUTPUT);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(TASTER, INPUT_PULLUP);
lcd.init();
lcd.backlight();

}

void loop() {
t:
digitalWrite(TRIG, LOW);
delay(5);
digitalWrite(TRIG, HIGH);
delay(10);
digitalWrite(TRIG, LOW);
dauer = pulseIn(ECHO, HIGH);
entfernung = (dauer/2) / 29.1;

Serial.print("Entfernung ");
Serial.print(entfernung);
Serial.print(" cm\n\n");

unsigned int i = 0;

if ((entfernung <= 2) || (entfernung >= 5)){


   if (i == 2){
     
     lcd.clear();
     
   }
   
   digitalWrite(LED_GRUEN, LOW);
   digitalWrite(LED_ROT, HIGH);
   
   lcd.setCursor(0,0);
   lcd.print("Nicht in          ");
   lcd.setCursor(0,1);
   lcd.print("Reichweite...");
    
   i = 1;

}

if ((entfernung >= 2) && (entfernung <= 5)) {

   digitalWrite(LED_ROT, LOW);
   digitalWrite(LED_GRUEN, HIGH);
   if (i == 1){
     
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Bitte Taster         ");
   lcd.setCursor(0, 1);
   lcd.print("betaetigen...");
   
   }
   i = 2;
   tasterStatus = digitalRead(TASTER);
   if (tasterStatus == HIGH) {                             
       tasterZeit = millis();
       
       if (tasterGedrueckt == true) {
           tasterGedrueckt = false; 
         
       }
       else {
           tasterGedrueckt = true;
         
       }
                                       
       
   }
   if ((millis() - tasterZeit > entprellZeitTaster) && (tasterGedrueckt == true)) {
       Temperatur = mlx.readObjectTempC();
       lcd.clear();
       lcd.setCursor(0, 0);
       lcd.print("Temperatur ");
       lcd.print(Temperatur);
       lcd.print(" C");
     
   }
   


}

}

Komponententest

Zuerst wurden alle benötigten Komponenten am großen Breadboard verbunden und gegeneinander getestet. Der Verschaltung wurde so übersichtlich wie möglich aufgebaut, um so möglichst schnell fehlerhafte Verbindungen zu korrigieren und Verbesserungen aufzunehmen. Die Verbesserungen wurden dann bei der Verkabelung und den Aufbau des Thermometers umgesetzt.

Komponententest auf dem großen Breadboard


















CAD-Entwurf

In diesem Kapitel wird der Entwurf des Thermometers mithilfe der CAD-Software Solidworks veranschaulicht und die Dateien zum Download zur Verfügung gestellt.

CAD-Entwurf des kontaklosen Thermometers
























Die CAD-Daten dieses Projekts finden sich in den unten stehenden Links.

Datei:Projekt Griff.zip
Datei:Projekt Halterungen.zip
Datei:Projekt Mittelteil.zip

Ergebnis

Zusammenfassung

Lessons Learned

Während des Projekts traten Komplikationen in unterschiedlichen Bereichen an. Die größte Hürde stellte der Arduino Uno selbst dar. Dieser war für das Projekt aufgrund seiner technischen Abmessungen wenig geeignet. Aufgrund der Größe dieses Mikrocontrollers mussten die Komponenten auf engstem Raum platziert werden um die Größe des Gehäuses möglichst gering zu halten da es sich um handliches Thermometer handelt. Dies hatte auch zur Folge das viel mehr Filament zur Herstellung im 3D-Drucker benötigt wurde weil zum anderen die Größe des Gehäuses unerwartet anstieg und bedingt durch Optimierungen einzelne Teile des Gehäuses mehrfach gedruckt werden mussten. Zugleich wirkte sich die Wahl des Uno auch aus Kostensicht als nicht optimal heraus da es günstigere Alternativen für dieses Projekt gibt.

● Verbesserungsvorschlag: Arduino Nano oder ähnlichen Mikrocontroller für dieses Projekt verwenden!

Weitere Komplikationen traten in der Umsetzung der Software und der Wahl des Temperatur-Sensors auf. Durch unklare Dokumentationen bezüglich des Sensors in der Literatur und im Internet wurde viel Zeit dafür aufgewendet die passenden Bibliotheken zu finden. Auch der Sensor selbst, der MLX90614, stellte sich zwar als besondere kostengünstige Variante der kontaklosen Temperaturmessung heraus, konnte aber nicht durch seine Leistung überzeugen. Ernsthafte Messungen, wie beispielsweise Fiebermessungen, können mit diesem Sensor nur schwer realisiert werden.

● Verbesserungsvorschlag: Umfassendere Dokumentation der Software gewährleisten und gegebenfalls höherwertigen Temperatur-Sensor verwenden!

Projektunterlagen

Projektplan

Erste Hälfte des Projektplans
Zweite Hälfte des Projektplans























Projektdurchführung

YouTube Video

Weblinks

Literatur



→ zurück zum Hauptartikel: