Herzschlagsensor KY-039

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Herzschlagsensor KY-039
Autor: Rick Bürger
Studiengang: Business and Systems Engineering
Modul: BSE-M-2-1.03, Hausarbeit in Angewandte Informatik gehalten von Prof. Dr.-Ing. Schneider
Semester: Sommersemester 2024
Abgabetermin: 28.07.2024

Einführung

Aufgabenstellung

Messen Sie die die Herzfrequenz am Ohrläppchen oder Finger in Herzschlag pro Minute (BPM).

  • Thema/Fragestellung: Messung der Entfernung mit dem Sensor Sharp GP2-0430K
  • Hypothese: Die Entfernung lässt sich im Bereich von 4 cm bis 50 cm fehlerfrei messen.
  • Einordnung in den Lehrplan

Projektbeschreibung

Tabelle 2: Materialliste
# Anzahl Material
1 1 PC mit MATLAB/Simulink R2023b
2 1 Sensor KY-039
3 1 Arduino Uno R3
4 1 Streckbrett
5 3 Jumper Kabel, männlich/männlich, 20 cm

Beschreibung Funktionsweise der verwendeten Hard- und Software

  • Arduino Uno R3

Der Arduino Uno R3 ist ein sogenanntes Microcontroller-Board der Firma Arduino. Mit diesem lassen sich einfache Mikrokontroller realisieren. Das Modell Uno R3 verfügt über 14 digitale und 6 analoge Ein-/Ausgänge, von denen 6 als sogenannte PWM- Ausgänge verwendet werden können. Hardwareseitig verfügt der Arduino Uno R3 über einen 16 MHz Keramikresonator. Der Arduino kann über ein Power-Buchse, oder über den USB-Anschluss mit Strom versorgt werden, über den USB-Anschluss kann auch eine Verbindung mit einem PC hergestellt werden. Für einen besseren Lesefluss wird das Mikrocontroller-Board die verkürzte Schreibweise „Arduino“, anstatt „Arduino Uno R3“ genutzt. [1]


  • Herzschlagsensor KY-039

Für die Aufnahme der Pulsdaten wird der Herzschlagsensor KY-039 genutzt. Dieser verfügt über einen Fototransistor, sowie über eine Infrarot-LED. Durch die LED wird Licht durch den Finger, beziehungsweise das Ohr geleitet. Mittels des Fototransistors kann bestimmt werden, wie viel Licht zurückgeworfen wird. Über das zurückgeworfene Licht kann bestimmt werden, wie hoch der Puls ist. Eine Kalibrierung ist für diesen Senor nicht erforderlich.[2]


  • Simulink R2023b

Softwareseitig wird der Microcontroller mit Simulink 2023b entwickelt. Simulink ist eine Blockdiagrammumgebung, welche als Sub Modul zur Software Mathlab verwendet werden kann. Die in Simulink erstellten Blockdiagramme können direkt für die Ausführung des Mikrocontrollers genutzt werden, somit sind tiefere Kenntnisse im Bereich der Programmierung nicht zwingend notwendig. Um Simulink in Verbindung mit der Arduino zu nutzen muss zum Standardprogramm Simulink zusätzlich das Support Package für Arduino installiert werden.[3]

Technische Daten

Messbereich nicht angegeben
PWM-Modulation analog
Versorgungsspannung 5V
Gewicht 2 g
Material Kunststoff
Abmessungen 32 x 24 x 12 mm

Pinbelegung

Pin Belegung Signal
1 Versorgungsspannung VCC 5 V
2 Output A1
4 Masse (GND) 0 V

Versuchsaufbau und Durchführung

Versuchsaufbau

Abb. 2 Versuchsaufbau KY-039 mit Arduino
Abb. 3: Anschlussplan

Der Versuchsaufbau wird durch die Abbildung (Abb. 2), sowie den Anschlussplan (Abb. 3) dokumentiert.

Versuchsdurchführung

Abb. 4: Simulink-Modell Das Modell zur Datenverarbeitung wurde gemäß Abb. 4 in Simulink aufgebaut. Die Datenverarbeitung wurde so gestaltet, dass nicht nur einzelne Werte, sondern vor allem die Peaks gemessen werden. Bei den Peaks, welche durch den Fototransistor erfasst werden, handelt es sich um die entsprechenden Unregelmäßigkeiten im Blutstrom. Aus diesen lassen sich die Herzschläge ableiten. Dies geschieht über eine sogenannte "Peak-Detektion". Dafür wurden die aufgenommenen Werte zwischengespeichert und am Ende über eine entsprechende Mathlab-Funktion herausgefiltert.


Die Messdaten wurden aufgezeichnet. Ein Video der Versuchsdurchführung findet sich hier.

Modelleinstellungen: Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,001 s

Versuchsbeobachtung

Nach der Durchführung mehrerer Versuchsdurchläufe wurde deutlich, dass der Fototransistor sehr sensibel regiert. Je nach Stellung des Fingers wurden veränderte Werte unter ansonsten gleichen Versuchsbedingungen gemessen.
Um die Messung so genau wie möglich zu halten, sollte die Stellung des Fingers für den Messvorgang sich stehts in Ruhelage befinden.

Auswertung

Die Messhypothese wurde verworfen. Der Sensor weist systematische Messwertausreisser auf.

Die Ausreisser lassen sich mit einem Signalfilter eliminieren. Hierzu eignet sich ein Rangordnungsfilter (z. B. Median-Filter). Das Filter wird hierzu auf eine Fensterbreite von 30 Werten eingestellt. Das zufriedenstellende Filterergebnis für statische Werte zeigt Abb. 6 als blaue Kurve. Es konnte mit dynamische Werten verifiziert werden (vgl. Abb. 7). Das Datenblatt ([2, S. 6]) belegt die Messungen und bezeichnet die Messausreisser als "instabile Ausgabe" für maximal 5 ms alle 40 ms. Mit 50 Werten erhöht sich die Filterwirkung, es entsteht jedoch ein Delay von 10 ms. Mit 10 Werten ist die Filterwirkung zu gering.

Zusammenfassung und Ausblick

  • Zusammenfassung der Kapitel 1-4
  • Diskussion der Ergebnisse
  • Ausblick
  • Selbstreflexion/Lessons learned

Ergebnisvideo

Binden Sie hier Ihr Ergebnisvideo ein.

Anleitung: Videos im Wiki einbinden

Lernzielkrontrolle

Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.

Literatur

[1] https://docs.arduino.cc/hardware/uno-rev3/, 27. Juli 2024
[2] https://www.linkerkit.de/index.php?title=KY-039_Herzschlag_Sensor_Modul#Codebeispiel_Arduino, 22. Juli 2024
[3] https://de.mathworks.com/products/simulink.html, 22. Juli 2024

Anhang

  • Datenblätter
  • Simulink-Modell
  • Originaldateien (PAP, Schaltplan,... )

→ zurück zum Hauptartikel: BSE Angewandte Informatik SoSe24 | Hausarbeit SoSe24