Kapazitiver Berührungssensor HW-139 TTP223B: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Arduino]]
[[Kategorie:Arduino]]
[[Datei:TouchSensor.jpg|thumb|rigth|450px|Abb. 1: Kapazitiver Berührungssensor HW-139 TTP223B]]
[[Datei:TouchSensor.jpg|thumb|rigth|300px|Abb. 1: Kapazitiver Berührungssensor HW-139 TTP223B]]
{|class="wikitable"
{|class="wikitable"
|-
|-
Zeile 36: Zeile 36:
| 5 || Ist die LED aus muss eine Berührung <1&thinsp;s eine LED mit der zuletzt verwendete Helligkeit einschalten.  || 1
| 5 || Ist die LED aus muss eine Berührung <1&thinsp;s eine LED mit der zuletzt verwendete Helligkeit einschalten.  || 1
|-
|-
| 6 || Ist die LED an muss eine Berührung <1&thinsp;s eine LED ausschalten und den Helligkeitswert speichen.  || 1
| 6 || Ist die LED an muss eine Berührung <1&thinsp;s eine LED ausschalten und den Helligkeitswert speichern.  || 1
|-
|-
| 7 || Eine Berührung >2&thinsp;s muss den Dimm-Modus aktivieren. Die LED startet aus und je länger der Finger auf dem Sensor liegt desto heller wird die LED (0&thinsp;%..100&thinsp;%). || 1
| 7 || Eine Berührung >2&thinsp;s muss den Dimm-Modus aktivieren. Die LED startet aus und je länger der Finger auf dem Sensor liegt desto heller wird die LED (0&thinsp;%..100&thinsp;%). || 1
Zeile 46: Zeile 46:
*'''Thema/Fragestellung:''' Eine LED soll durch den kapazitiven Berührungssensor HW-139 TTP223B (im folgenden mit HW-139 TTP223B abgekürzt) geschaltet werden. Die Simulation soll durch unterschiedliche Berührungen des HW-139 TTP223B die Helligkeit der LED verändern.  
*'''Thema/Fragestellung:''' Eine LED soll durch den kapazitiven Berührungssensor HW-139 TTP223B (im folgenden mit HW-139 TTP223B abgekürzt) geschaltet werden. Die Simulation soll durch unterschiedliche Berührungen des HW-139 TTP223B die Helligkeit der LED verändern.  
*'''Hypothese:''' Die Helligkeit der LED kann über unterschiedliche Berührungszeiten des HW-139 TTP223B geschaltet werden.
*'''Hypothese:''' Die Helligkeit der LED kann über unterschiedliche Berührungszeiten des HW-139 TTP223B geschaltet werden.
* '''Einordnung in den Lehrplan''' Die Veranstaltung "Angewandte Informatik" ist ein Teil des Moduls "Ingenieurwissenschaftliche Vertiefung 1" im Studiengang Business and Systems Engineering. Als Qualifikationsziele sollen die Studierenden selbsständig zu technischen Fragestellungen Lösungskonzepte erstellen, auswählen und abschließend technisch anwenden können. Bei Ausarbeitung dieser praktischen Fragestellung wird von dem Studierenden zunächst gefordert, ein System zu entwickeln, welches alle Anforderungen realisieren kann. Des Weiteren muss dieses System praktisch in die Benutzeroberfläche "Matlab/Simulink" übertragen werden.
* '''Einordnung in den Lehrplan''' Die Veranstaltung "Angewandte Informatik" ist ein Teil des Moduls "Ingenieurwissenschaftliche Vertiefung 1" im Studiengang Business and Systems Engineering. Als Qualifikationsziele sollen die Studierenden selbstständig zu technischen Fragestellungen Lösungskonzepte erstellen, auswählen und abschließend technisch anwenden können.<ref>1</ref> Bei Ausarbeitung dieser praktischen Fragestellung wird von dem Studierenden zunächst gefordert, ein System zu entwickeln, welches alle Anforderungen realisieren kann. Des Weiteren muss dieses System praktisch in die Benutzeroberfläche "Matlab/Simulink" übertragen werden.


== Projektbeschreibung ==
== Projektbeschreibung ==
Zeile 54: Zeile 54:
! #  !! Anzahl !! Material
! #  !! Anzahl !! Material
|-
|-
| 1  || 1|| PC mit MATLAB/Simulink R2022b
| 1  || 1|| PC mit MATLAB/Simulink R2024a
|-
|-
| 2  || 1 || Sensor Sharp GP2-0430K
| 2  || 1 || „Kapazitiver Berührungssensor HW-139 TTP223B“
|-
|-
| 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 || 9 || Jumper Kabel, männlich/männlich, 20 cm
|-
| 6 || 1 || LEDs (20* 5 mm)<br Rot
|-
| 7 || 5 || Widerstand j2 200 Ω
|}
|}
Beschreibung Funktionsweise der verwendeten Hard- und Software
Beschreibung Funktionsweise der verwendeten Hard- und Software
* Arduino Uno R3
* Arduino Uno R3
* Sensor Sharp GP2-0430K
* Sensor „Kapazitiver Berührungssensor HW-139 TTP223B“
* Simulink R2022b
* Simulink R2024a


=== Technische Daten ===
=== Technische Daten<ref>2</ref> ===
{| class="wikitable"
{| class="wikitable"
|-  
|-  
| Messbereich || 0&thinsp;° .. 180&thinsp;°
| Messbereich || 0..1
|-
| PWM-Modulation || analog
|-
| PWM-Pulszykluszeit || 20&thinsp;ms
|-  
|-  
| PWM-Pulsweite || 500-2400&thinsp;ms
| PWM-Modulation || digital
|-  
|-  
| Versorgungsspannung || 4.0&thinsp;V .. 7.2&thinsp;V
| PWM-Pulszykluszeit || 100&thinsp;ms
|-  
|-  
| Versorgungsstrom || 20&thinsp;mA
| Versorgungsspannung || 2&thinsp;V .. 5.5&thinsp;V
|-  
|-  
| Geschwingigkeit || 0,12&thinsp;s/60&thinsp;° (@4,8&thinsp;V, lastfrei)
| Geschwingigkeit || 220&thinsp;ms(low power mode).. 60&thinsp;ms(fast mode)
|-  
|-  
| Drehmoment || 1,5&thinsp;kg/cm (@4,8&thinsp;V)
| Powerindikator || Grüne LED
|-  
|-  
| Gewicht || 9&thinsp;g
| Arbeitstemperatur || -20&thinsp;°C .. +70&thinsp;°C
|-  
|-  
| Getriebe || Kunststtoff
| Abmessungen Module|| 24&thinsp;mm x 24&thinsp;mm
|-  
|-  
| Arbeitstemperatur || 0&thinsp;°C .. +55&thinsp;°C
| Abmessungen Sensor|| 11&thinsp;mm x 11&thinsp;mm
|-
| Abmessungen|| 22,2&thinsp;mm x 11,8&thinsp;mm x 31&thinsp;mm
|}
|}
=== Pinbelegung ===
=== Pinbelegung ===
Zeile 102: Zeile 100:
! style="font-weight: bold;" | Signal
! style="font-weight: bold;" | Signal
|-
|-
| 1 || Versorgungsspannung VCC  || 5&thinsp;V
| 1 || Signalpin || 0/1
|-
| 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
|}
|}


== Versuchsaufbau und Durchführung ==
== Versuchsaufbau und Durchführung ==
=== Versuchsaufbau ===
=== Versuchsaufbau ===
[[Datei:Schaltplan Sharp.jpg|thumb|rigth|450px|Abb. 2: Schaltplan]]
[[Datei:Foto TTP Schaltung.jpg|mini| Abb. 1: Foto des Versuchsaufbaus ]]
[[Datei:Anschlussplan Sharp.png|thumb|rigth|450px|Abb. 3: Anschlussplan]]
 
[[Datei:Foto Sharp.png|thumb|rigth|450px|Abb. 4: Foto des Versuchsaufbaus]]
Der Versuchsaufbau wird durch einen Foto des Aufbaus (Abb. 1) dokumentiert. Der sensor wird über das Steckbrett mit dem Arduino Uno verbunden. Der Signalpin wird in den Digitalen Input 8 gesteckt, die Versorgungsspannung wird mit dem 5V Versorgungsspannungspin und der GND mit dem GND des Arduino Uno verbunden. Des weiteren wurde die LED in Reihe mit dem 200Ω Widerstand geschaltet. Die Versorgung wird über den digitalen Output 3 gestellt. Die Reihenschaltung endet im GND.  
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert.


=== Versuchsdurchführung ===
=== Versuchsdurchführung ===
[[Datei:Simulink Sharp.png|thumb|rigth|450px|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.
[[Datei:Screenshot TTP223B ganze Schaltung.png|mini|Abb. 2: Matlab Simulink-Modell zur Sensor-Simulation]]
[[Datei:Screenshot TTP223B Function Block Dimmen.png|mini|Abb. 3: Matlab Function Block zur Sensor-Simulation: Schalten der Helligkeit]]
[[Datei:Screenshot TTP223B Function Block Tastenwahl.png|mini|Abb. 4: Matlab Function Block zur Sensor-Simulation: Dauer der Berührung <1s]]
[[Datei:Screenshot TTP223B Function Block Tastenwahl1|mini|Abb. 5: Matlab Function Block zur Sensor-Simulation: Dauer der Berührung zwischen 1s und 2s]]
[[Datei:Screenshot TTP223B Function Block Tastenwahl3.png|mini|Abb. 6: Matlab Function Block zur Sensor-Simulation: Dauer der Berührung über 2s]]
 
Das Simulinkmodell zur Datenverarbeitung wurde wie in Abb. 2 aufgebaut.
Über den digitalen Input über Pin 8 wurde das Sensorsignal in die Schaltung eingelesen. Das Signal konnte die Werte 0 oder 1 annehmen. Der digitale Output hat eine Sample time von 0.1, also 0,1s. Damit die in Tabelle 1 genannten Anforderungen eingehalten werden konnten, wurden drei Bereiche erstellt, in denen anschließend unterschiedliche Aktionen ausgeführt werden sollten. Das Sensorsignal wurde genutzt, um die Dauer der Sensor-Berührung zu testen. Bei einem Wert unter 10, also kleiner 1s, (Abb. 4) wurde das Signal über einen anderen Input in einen Function Block eingegeben als bei den Signalen zwischen 1 uns 2s (Abb. 5) und über 2s (Abb. 6). Im Matlab Function Block (Abb. 3) wurde nun die auszuführende Berechnung mit Hilfe des eingegangenen Signals ausgeführt. Über den digitalen Output Pin3 wurde das Signal mit der Helligkeit an die LED ausgegeben.  


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


=== Versuchsbeobachtung ===
=== Versuchsbeobachtung ===
[[Datei:Sharp Ergebnis 1.png|thumb|rigth|450px|Abb. 6: Darstellung des Rohsignals des IR-Entfernungssensors (rote Kurve)]]
[[Datei:Sharp Ergebnis 2.png |thumb|rigth|450px|Abb. 7: Darstellung von dynamischen Messwerten des IR-Entfernungssensors]]
Das Signal des Sensors weist alle 40&thinsp;ms systematische Ausreisser auf (vgl. Abb. 6, rote Kurve).


== Auswertung==
== Auswertung==
Die Messhypothese wurde verworfen. Der Sensor weist systematische Messwertausreisser auf.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Testbericht gegen die Anforderungen&thinsp;</strong>
|-
| Der Test der Anforderungen wurden nicht explizit und nachvollziehbar dokumentiert. Anhand des Wiki-Artikels konnte nachfolgender Erfüllungsgrad abgelesen werden.
{| class="wikitable"
|-
! Req. !! Beschreibung !! Testergebnis
|-
| 1 || Die Berührung des kapazitiven Sensors muss mittels Arduino und Simulink gemessen werden.|| <span style="color:green">☑</span>
|-
| 2 || Der Messbereich muss bestimmt werden. || <span style="color:red">☒</span>
|-
| 3 || Das kapazitiven Sensors muss via [[Arduino:_Interrupts|interruptfähigem Eingang]] eingelesen werden. || <span style="color:red">☒</span>
|-
| 4 || Das Schaltsignal via Interrupt muss entprellt werden. || <span style="color:red">☒</span>
|-
| 5 || Ist die LED aus muss eine Berührung <1&thinsp;s eine LED mit der zuletzt verwendete Helligkeit einschalten.  || <span style="color:red">☒</span>
|-
| 6 || Ist die LED an muss eine Berührung <1&thinsp;s eine LED ausschalten und den Helligkeitswert speichern.  || <span style="color:red">☒</span>
|-
| 7 || Eine Berührung >2&thinsp;s muss den Dimm-Modus aktivieren. Die LED startet aus und je länger der Finger auf dem Sensor liegt desto heller wird die LED (0&thinsp;%..100&thinsp;%). || <span style="color:red">☒</span>
|-
| 8 || Ein "Doppelklick" schaltet die LED auf 100&thinsp;% an. || <span style="color:red">☒</span>
|}
|}


Die Ausreisser lassen sich mit einem Signalfilter eliminieren. Hierzu eignet sich ein Rangordnungsfilter (z.&thinsp;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&thinsp;ms alle 40&thinsp;ms. Mit 50 Werten erhöht sich die Filterwirkung, es entsteht jedoch ein Delay von 10&thinsp;ms. Mit 10 Werten ist die Filterwirkung zu gering.
== Zusammenfassung und Ausblick ==
== Zusammenfassung und Ausblick ==
* Zusammenfassung der Kapitel 1-4
* Zusammenfassung der Kapitel 1-4
* Diskussion der Ergebnisse
* Diskussion der Ergebnisse: Die Sensorberührungen wurden erkannt und aufsummiert. Nach Loslassen des Sensors wurde das Signal jedoch nicht zurückgesetzt. In der Simulation erfüllte der dafür vorgesehene Simulationsteil nicht seinen Zweck. Außerdem wird die Helligkeit nur für die Dauer der Berührung ausgegeben, danach geht die LED aus. Des Weiteren lief der Dimmer so schnell, dass eine Helligkeitszunahme nur schwer erkennbar war und die LED seit beginn der Tasterberührung hell erschien.
* Ausblick
* Ausblick:
* Selbstreflexion/Lessons learned
* Selbstreflexion/Lessons learned


== Ergebnisvideo ==
== Ergebnisvideo ==
Binden Sie hier Ihr Ergebnisvideo ein.
Zur Simulation des „Kapazitiver Berührungssensor HW-139 TTP223B“ wurde kein Ergebnisvideo erstellt.


Anleitung: [[Videos_einbinden|Videos im Wiki einbinden]]
Anleitung: [[Videos_einbinden|Videos im Wiki einbinden]]
Zeile 167: Zeile 189:


== Literatur ==
== Literatur ==
Zitieren Sie nach [[Zitieren_nach_DIN1505|DIN ISO 690:2013-10]].
*Zitieren Sie nach [[Zitieren_nach_DIN1505|DIN ISO 690:2013-10]].
*[1] H<span style="font-variant:small-caps">SHL</span>: ''Modulhandbuch: Business and Systems Engineering'' URL: https://www.hshl.de/assets/02-Hochschule/Veroeffentlichungen/Modulhandbuecher/2023-2024/BSE/MHB-BSE-2023-2024.pdf, 28. Juli 2024
*[2] a<span style="font-variant:small-caps">z Delivery</span>: ''TTP223B Touch Sensor Modul Datenblatt'' URL: https://cdn.shopify.com/s/files/1/1509/1638/files/TTP223B_Touch_Sensor_Modul_Datenblatt_AZ-Delivery_Vertriebs_GmbH.pdf?v=1609158709


== Anhang ==
== Anhang ==

Aktuelle Version vom 10. August 2024, 10:18 Uhr

Abb. 1: Kapazitiver Berührungssensor HW-139 TTP223B
Autorin: Sophie Koerner
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

Mittels des kapazitiven Berührungssensors HW-139 TTP223B soll eine LED nach den in Tabelle 1 gegebenen Anforderungen geschaltet werden.

  • Thema/Fragestellung: Eine LED soll durch den kapazitiven Berührungssensor HW-139 TTP223B (im folgenden mit HW-139 TTP223B abgekürzt) geschaltet werden. Die Simulation soll durch unterschiedliche Berührungen des HW-139 TTP223B die Helligkeit der LED verändern.
  • Hypothese: Die Helligkeit der LED kann über unterschiedliche Berührungszeiten des HW-139 TTP223B geschaltet werden.
  • Einordnung in den Lehrplan Die Veranstaltung "Angewandte Informatik" ist ein Teil des Moduls "Ingenieurwissenschaftliche Vertiefung 1" im Studiengang Business and Systems Engineering. Als Qualifikationsziele sollen die Studierenden selbstständig zu technischen Fragestellungen Lösungskonzepte erstellen, auswählen und abschließend technisch anwenden können.[1] Bei Ausarbeitung dieser praktischen Fragestellung wird von dem Studierenden zunächst gefordert, ein System zu entwickeln, welches alle Anforderungen realisieren kann. Des Weiteren muss dieses System praktisch in die Benutzeroberfläche "Matlab/Simulink" übertragen werden.

Projektbeschreibung

Tabelle 2: Materialliste
# Anzahl Material
1 1 PC mit MATLAB/Simulink R2024a
2 1 „Kapazitiver Berührungssensor HW-139 TTP223B“
3 1 Arduino Uno R3
4 1 Streckbrett
5 9 Jumper Kabel, männlich/männlich, 20 cm
6 1 LEDs (20* 5 mm)<br Rot
7 5 Widerstand j2 200 Ω

Beschreibung Funktionsweise der verwendeten Hard- und Software

  • Arduino Uno R3
  • Sensor „Kapazitiver Berührungssensor HW-139 TTP223B“
  • Simulink R2024a

Technische Daten[2]

Messbereich 0..1
PWM-Modulation digital
PWM-Pulszykluszeit 100 ms
Versorgungsspannung 2 V .. 5.5 V
Geschwingigkeit 220 ms(low power mode).. 60 ms(fast mode)
Powerindikator Grüne LED
Arbeitstemperatur -20 °C .. +70 °C
Abmessungen Module 24 mm x 24 mm
Abmessungen Sensor 11 mm x 11 mm

Pinbelegung

Pin Belegung Signal
1 Signalpin 0/1
2 Versorgungsspannung VCC 5 V
3 Masse (GND) 0 V

Versuchsaufbau und Durchführung

Versuchsaufbau

Abb. 1: Foto des Versuchsaufbaus

Der Versuchsaufbau wird durch einen Foto des Aufbaus (Abb. 1) dokumentiert. Der sensor wird über das Steckbrett mit dem Arduino Uno verbunden. Der Signalpin wird in den Digitalen Input 8 gesteckt, die Versorgungsspannung wird mit dem 5V Versorgungsspannungspin und der GND mit dem GND des Arduino Uno verbunden. Des weiteren wurde die LED in Reihe mit dem 200Ω Widerstand geschaltet. Die Versorgung wird über den digitalen Output 3 gestellt. Die Reihenschaltung endet im GND.

Versuchsdurchführung

Abb. 2: Matlab Simulink-Modell zur Sensor-Simulation
Abb. 3: Matlab Function Block zur Sensor-Simulation: Schalten der Helligkeit
Abb. 4: Matlab Function Block zur Sensor-Simulation: Dauer der Berührung <1s
Datei:Screenshot TTP223B Function Block Tastenwahl1
Abb. 5: Matlab Function Block zur Sensor-Simulation: Dauer der Berührung zwischen 1s und 2s
Abb. 6: Matlab Function Block zur Sensor-Simulation: Dauer der Berührung über 2s

Das Simulinkmodell zur Datenverarbeitung wurde wie in Abb. 2 aufgebaut. Über den digitalen Input über Pin 8 wurde das Sensorsignal in die Schaltung eingelesen. Das Signal konnte die Werte 0 oder 1 annehmen. Der digitale Output hat eine Sample time von 0.1, also 0,1s. Damit die in Tabelle 1 genannten Anforderungen eingehalten werden konnten, wurden drei Bereiche erstellt, in denen anschließend unterschiedliche Aktionen ausgeführt werden sollten. Das Sensorsignal wurde genutzt, um die Dauer der Sensor-Berührung zu testen. Bei einem Wert unter 10, also kleiner 1s, (Abb. 4) wurde das Signal über einen anderen Input in einen Function Block eingegeben als bei den Signalen zwischen 1 uns 2s (Abb. 5) und über 2s (Abb. 6). Im Matlab Function Block (Abb. 3) wurde nun die auszuführende Berechnung mit Hilfe des eingegangenen Signals ausgeführt. Über den digitalen Output Pin3 wurde das Signal mit der Helligkeit an die LED ausgegeben.

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

Versuchsbeobachtung

Auswertung

Zusammenfassung und Ausblick

  • Zusammenfassung der Kapitel 1-4
  • Diskussion der Ergebnisse: Die Sensorberührungen wurden erkannt und aufsummiert. Nach Loslassen des Sensors wurde das Signal jedoch nicht zurückgesetzt. In der Simulation erfüllte der dafür vorgesehene Simulationsteil nicht seinen Zweck. Außerdem wird die Helligkeit nur für die Dauer der Berührung ausgegeben, danach geht die LED aus. Des Weiteren lief der Dimmer so schnell, dass eine Helligkeitszunahme nur schwer erkennbar war und die LED seit beginn der Tasterberührung hell erschien.
  • Ausblick:
  • Selbstreflexion/Lessons learned

Ergebnisvideo

Zur Simulation des „Kapazitiver Berührungssensor HW-139 TTP223B“ wurde kein Ergebnisvideo erstellt.

Anleitung: Videos im Wiki einbinden

Lernzielkrontrolle

Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.

Literatur

Anhang

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

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

  1. 1
  2. 2