Herzfrequenz/Pulsesensor SE050: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 44: Zeile 44:
|}
|}


*'''Thema/Fragestellung:''' Messung der Herzfrequenz mit dem Pulse - Sensor  
*'''Thema/Fragestellung:''' Messung der Herzfrequenz mit dem Pulsesensor SE050  
*'''Hypothese:''' Die Entfernung lässt sich im Bereich von 4 cm bis 50 cm fehlerfrei messen.
*'''Hypothese:''' Herzfrequenz kann fehlerfrei gemessen werden.
* '''Einordnung in den Lehrplan'''
* '''Einordnung in den Lehrplan'''


Zeile 54: Zeile 54:
! #  !! Anzahl !! Material
! #  !! Anzahl !! Material
|-
|-
| 1  || 1|| PC mit MATLAB/Simulink R2022b
| 1  || 1|| PC mit MATLAB/Simulink R2023b
|-
|-
| 2  || 1 || Sensor Sharp GP2-0430K
| 2  || 1 || Pulsesensor SE050
|-
|-
| 3  || 1 || Arduino Uno R3
| 3  || 1 || Arduino Uno R3
Zeile 62: Zeile 62:
| 4 || 1 || Streckbrett
| 4 || 1 || Streckbrett
|-
|-
| 5 || 5 || Jumper Kabel, männlich/männlich, 20 cm
| 5 || ? || Jumper Kabel, männlich/männlich, 20 cm
|}
|}
Beschreibung Funktionsweise der verwendeten Hard- und Software
Beschreibung Funktionsweise der verwendeten Hard- und Software
* Arduino Uno R3
* '''Arduino Uno R3'''
* Sensor Sharp GP2-0430K
Arduino Uno R3 ist ein Open-Source-Mikrocontroller-Entwicklungsboard, das von der Firma Arduino entwickelt und produziert wurde. Es integriert viele wichtige Komponenten. Zu den Hauptkomponenten gehören der Atmega328P-Mikrocontroller, eine externe Quarzquelle zur Bereitstellung einer hohen Taktfrequenz, ein Upload-Gerät, das aus einer USB-Schnittstelle und einem Atmega16U2-Signalumwandlungsmodul besteht, eine Reset-Taste zum Neustarten von Programmen sowie zwei Reihen von Schnittstellen zur Verbindung von Peripheriegeräten.
* Simulink R2022b
Da ein Mikrocontroller der AVR-Serie verwendet wird, unterstützt das Arduino-Board eine Vielzahl von Funktionen wie digitale Ein-/Ausgabe, analoge Ein-/Ausgabe, Timer/Zähler und Interrupts, die die grundlegenden Anforderungen eingebetteter Systeme erfüllen.
 
* '''Pulsesensor SE050'''
Pulse Sensor ist ein Open-Source-Hardwareprojekt, das von Joel Murphy und Yury Gitman entwickelt wurde. Aus den verfügbaren Informationen und durch direkte Beobachtung lässt sich erkennen, dass der Pulse Sensor eine runde Leiterplatte (PCB) ist, die verschiedene Komponenten integriert. Zu den wichtigsten Komponenten gehören der Lichtsensor „APDS-9008“ und eine grüne LED von „Kingbright“. Diese beiden Komponenten ermöglichen die Photoplethysmographie (PPG)-Technologie. Genauer gesagt, sendet die grüne LED Licht auf die Haut, wobei ein Teil des Lichts vom Blut absorbiert und ein Teil vom Gewebe reflektiert wird und auf den „APDS-9008“-Lichtsensor trifft. Durch die Erkennung der durch den Blutfluss verursachten Änderungen dieser Lichtstrahlen kann die Herzfrequenz gemessen werden.
 
*'''LCD Modul 16x02 I2C'''
 
* '''Simulink R2023b'''
Um die Analyse von Sensordaten zu erleichtern, werden Matlab & Simulink verwendet. Darüber hinaus muss zur Unterstützung von Arduino-Projekten das Plugin „Simulink Support Package for Arduino Hardware“ heruntergeladen und installiert werden. Durch die Verwendung des Simulink Support Package for Arduino Hardware können Entwickler effektiv RCP (Rapid Control Prototyping) durchführen, wodurch der Entwurfs- und Validierungsprozess von Steuerungssystemen beschleunigt wird. Konkret ermöglicht der Einsatz dieses Plugins, dass Modelle, die auf Arduino-Funktionen basieren, in Maschinencode umgewandelt und auf die Arduino-Entwicklungsplatine hochgeladen werden. Anschließend können die Ausgaberesultate der Arduino-Entwicklungsplatine in Echtzeit in Simulink beobachtet werden.
 


=== Technische Daten ===
=== Technische Daten ===
{| class="wikitable"
{| class="wikitable"
|-  
|-  
| Messbereich || 0 ° .. 180 °
| Messbereich || unbekannt
|-
|-
| PWM-Modulation || analog
| Versorgungsspannung || 3.3 V oder  5.0 V
|-
| PWM-Pulszykluszeit || 20 ms
|-
| PWM-Pulsweite || 500-2400 ms
|-  
| Versorgungsspannung || 4.0 V .. 7.2 V
|-
| Versorgungsstrom || 20 mA
|-  
|-  
| Geschwingigkeit || 0,12 s/60 ° (@4,8 V, lastfrei)
| Versorgungsstrom || < 4&thinsp;mA
|-  
|-  
| Drehmoment || 1,5&thinsp;kg/cm (@4,8&thinsp;V)
| Ausgangssignaltyp || Analogsignal
|-  
|-  
| Gewicht || 9&thinsp;g
| Ausgangssignalbereich || 0.3&thinsp;V .. VCC&thinsp;V
|-  
|-  
| Getriebe || Kunststtoff
| Getriebe || Kunststtoff
|-  
|-  
| Arbeitstemperatur || 0&thinsp;°C .. +55&thinsp;°C
| Arbeitstemperatur || -40&thinsp;°C .. +85&thinsp;°C
|-  
|-  
| Abmessungen|| 22,2&thinsp;mm x 11,8&thinsp;mm x 31&thinsp;mm
| Abmessungen|| &empty; = 15.8&thinsp;mm ; &delta; = 3.6&thinsp;mm
|}
|}
=== Pinbelegung ===
=== Pinbelegung ===
{| class="wikitable"
{| class="wikitable"
Zeile 102: Zeile 104:
! style="font-weight: bold;" | Signal
! style="font-weight: bold;" | Signal
|-
|-
| 1 || Versorgungsspannung VCC  || 5&thinsp;V
| 1 || Signal|| Analogsignal (0.3&thinsp;V .. 5&thinsp;V)
|-
| 2 || Triggereingang || TTL-Pegel
|-
|-
| 3 || Echo, Ausgang Messergebnis || TTL-Pegel
| 2 || Versorgungsspannung VCC || 5&thinsp;V
|-
|-
| 4 || Masse (GND)  || 0&thinsp;V
| 3 || Masse (GND)  || 0&thinsp;V
|}
|}



Version vom 11. Juli 2024, 16:24 Uhr

Abb. 1: Herzfrequenz/Pulsesensor SE050
Autor: Weiran Wang
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 Herzfrequenz mit dem Pulsesensor SE050
  • Hypothese: Herzfrequenz kann fehlerfrei gemessen werden.
  • Einordnung in den Lehrplan

Projektbeschreibung

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

Beschreibung Funktionsweise der verwendeten Hard- und Software

  • Arduino Uno R3

Arduino Uno R3 ist ein Open-Source-Mikrocontroller-Entwicklungsboard, das von der Firma Arduino entwickelt und produziert wurde. Es integriert viele wichtige Komponenten. Zu den Hauptkomponenten gehören der Atmega328P-Mikrocontroller, eine externe Quarzquelle zur Bereitstellung einer hohen Taktfrequenz, ein Upload-Gerät, das aus einer USB-Schnittstelle und einem Atmega16U2-Signalumwandlungsmodul besteht, eine Reset-Taste zum Neustarten von Programmen sowie zwei Reihen von Schnittstellen zur Verbindung von Peripheriegeräten. Da ein Mikrocontroller der AVR-Serie verwendet wird, unterstützt das Arduino-Board eine Vielzahl von Funktionen wie digitale Ein-/Ausgabe, analoge Ein-/Ausgabe, Timer/Zähler und Interrupts, die die grundlegenden Anforderungen eingebetteter Systeme erfüllen.

  • Pulsesensor SE050

Pulse Sensor ist ein Open-Source-Hardwareprojekt, das von Joel Murphy und Yury Gitman entwickelt wurde. Aus den verfügbaren Informationen und durch direkte Beobachtung lässt sich erkennen, dass der Pulse Sensor eine runde Leiterplatte (PCB) ist, die verschiedene Komponenten integriert. Zu den wichtigsten Komponenten gehören der Lichtsensor „APDS-9008“ und eine grüne LED von „Kingbright“. Diese beiden Komponenten ermöglichen die Photoplethysmographie (PPG)-Technologie. Genauer gesagt, sendet die grüne LED Licht auf die Haut, wobei ein Teil des Lichts vom Blut absorbiert und ein Teil vom Gewebe reflektiert wird und auf den „APDS-9008“-Lichtsensor trifft. Durch die Erkennung der durch den Blutfluss verursachten Änderungen dieser Lichtstrahlen kann die Herzfrequenz gemessen werden.

  • LCD Modul 16x02 I2C
  • Simulink R2023b

Um die Analyse von Sensordaten zu erleichtern, werden Matlab & Simulink verwendet. Darüber hinaus muss zur Unterstützung von Arduino-Projekten das Plugin „Simulink Support Package for Arduino Hardware“ heruntergeladen und installiert werden. Durch die Verwendung des Simulink Support Package for Arduino Hardware können Entwickler effektiv RCP (Rapid Control Prototyping) durchführen, wodurch der Entwurfs- und Validierungsprozess von Steuerungssystemen beschleunigt wird. Konkret ermöglicht der Einsatz dieses Plugins, dass Modelle, die auf Arduino-Funktionen basieren, in Maschinencode umgewandelt und auf die Arduino-Entwicklungsplatine hochgeladen werden. Anschließend können die Ausgaberesultate der Arduino-Entwicklungsplatine in Echtzeit in Simulink beobachtet werden.


Technische Daten

Messbereich unbekannt
Versorgungsspannung 3.3 V oder 5.0 V
Versorgungsstrom < 4 mA
Ausgangssignaltyp Analogsignal
Ausgangssignalbereich 0.3 V .. VCC V
Getriebe Kunststtoff
Arbeitstemperatur -40 °C .. +85 °C
Abmessungen ∅ = 15.8 mm ; δ = 3.6 mm

Pinbelegung

Pin Belegung Signal
1 Signal Analogsignal (0.3 V .. 5 V)
2 Versorgungsspannung VCC 5 V
3 Masse (GND) 0 V

Versuchsaufbau und Durchführung

Versuchsaufbau

Abb. 2: Schaltplan
Abb. 3: Anschlussplan
Abb. 4: Foto des Versuchsaufbaus

Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert.

Versuchsdurchführung

Abb. 5: Simulink-Modell

Das Modell zur Datenverarbeitung wurde gemäß Abb. 5 in Simulink aufgebaut. Die Messdaten wurden aufgezeichnet. Ein Video der Versuchsdurchführung findet sich hier.

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

Versuchsbeobachtung

Abb. 6: Darstellung des Rohsignals des IR-Entfernungssensors (rote Kurve)
Abb. 7: Darstellung von dynamischen Messwerten des IR-Entfernungssensors

Das Signal des Sensors weist alle 40 ms systematische Ausreisser auf (vgl. Abb. 6, rote Kurve).

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

Zitieren Sie nach DIN ISO 690:2013-10.

Anhang

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

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