WS2024 - Sensortechnik - Membran Drucksensor

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Membran Drucksensor FSR402
Autor: Jan Steffens, Lukas Berkemeier
Studiengang: Mechatronik
Modul: MTR-B-2-5.12, Antriebs- und Sensortechnik
Semester: Wintersemester 2024/25
Abgabetermin: 07.02.2025

Einleitung

In diesem Projekt liegt der Fokus auf dem Aufbau und der Integration eines Membran Drucksensors mit der Bezeichnung FSR402 (Force Sensitive Resistor) mit verschiedenen Hardwarekomponenten und der Programmierung in Simulink. Der FSR402 ist ein Kraftsensitiver Widerstand (KSW), der durch eine Änderung seines Widerstands auf ausgeübten Druck reagiert. Diese Widerstandsänderung wird in eine analoge Spannung umgewandelt, die proportional zur Druckkraft ist. Das Projekt umfasst die Verbindung des Sensors mit anderer Hardware, um ein funktionales System zu erstellen, und die Programmierung in Simulink, um die analoge Spannung zu erfassen und in Kraftwerte zu konvertieren. Ziel ist es, ein System zu entwickeln, das präzise Kraftmessungen ermöglicht und diese in Echtzeit verarbeitet.

  • Thema/Fragestellung: Kraftmessung in Newton mittels eines FSR402 Drucksensor
  • Hypothese: Kraft lässt sich mit dem Drucksensor messen.
  • Einordnung in den Lehrplan: Das im Modul Sernsortechnik vermittelte Wissen, wird im Rahmen dieses Praxisbeispiels angewendet. Der FSR204 lässt sich im Rahmen dessen unter Lektion 10: Messen von dynamometrischen Größen einordnen. Des weiteren nutzen wir unsere Kenntnisse für Matlab/Simulink, Dokumentenverwaltung in SVN, Schaltplanerstellung über Multisim und Programmierung in der Arduino IDE.

Hinweis: Beachten Sie das Zwischenfeedback.

Projektbeschreibung

In diesem Abschnitt werden verwendete Komponenten zunächst in Tabelle 2 dargestellt und anschließend beschrieben. Darauf Tabelle 3, 4 und 5 folgen die Technischen Daten des Sensors inklusive der Pinbelegung von Sensor und Anpassungsschaltung.

Tabelle 2: Materialliste 

# Anzahl Material
1 1 PC mit MATLAB/Simulink R2024b
2 1 Sensor FSR402
3 1 16x02 I2C LCD Modul
4 1 Passiver Lautsprecher R12-KT-9
5 1 Funduino Arduino UNO R3
6 1 USB-Kabel, USB-A Stecker auf USB-B Stecker, 30 cm
7 1 Platine mit 10 kOhm Potentiometer und LM393
8 2 Jumper Kabel, weiblich/weiblich, 20 cm
9 7 Jumper Kabel, männlich/weiblich, 20 cm
10 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 Mikrocontroller, der auf dem ATmega328P-Mikrocontroller basiert. Er besitzt 14 digital Ein- und Ausgänge von denen sechs als PWM Ausgang genutzt werden können und sechs analog Eingänge. Der Arduino Uno kann über USB am Computer über externes Netzteil oder mit einer 9V Blockbatterie inklusive Batterieclip betreiben werden. Die Programmierung findet über die Arduino IDE in C/C++ oder über Matlab/Simulink statt.[3]
  • FSR402: Der FSR402 ist ein KSW, der als Drucksensor fungiert. Durch Druckeinwirkung auf den Sensor werden die zwei Membrane des Sensors aneinander gedrückt und dadurch der Widerstand verändert. Je stärker der Druck, desto geringer wird der Widerstand des Sensors.[2]
  • Simulink R2024b: Simulink ist ein grafikorientiertes Softwaretool zur Simulation und Analyse von linea- ren und nichtlinearen mathematischen Modellen. Simulink ist als Unterprogramm von Matlab implementiert und greift auf dessen numerischen Lösungsalgorithmen zu.[4]
  • LCD-Display: Mit einem LCD-Display kann man Buchstaben und Ziffern in Echtzeit darstellen. Dies ist in vielen Anwendungen nützlich, zum Beispiel, um Messwerte oder auch Menüs darzustellen. Mithilfe des LCD lassen sich aber auch Daten darstellen, wenn kein Computer am Arduino-Mikrocontroller angeschlossen ist. Das LCD Modul mit angelötetem I2C Bus ermöglicht die Verwendung eines LCD Moduls mit einer einfachen Verkabelung. In diesem Fall wird das LCD-Display zur Anzeige der gemessenen Kraft in Newton (N) verwendet. Die vom Arduino verarbeiteten Daten werden auf dem Display angezeigt.[5][6]
  • Steckbrett: Das Steckbrett ermöglicht das unkomplizierte Einstecken und Verbinden von elektronischen Komponenten ohne die Notwendigkeit von Löten. Die auf dem Steckbrett aufgebaute Schaltung kann flexibel verändert und angepasst werden.
  • Jumperkabel: Jumperkabel sind flexible Kabel, die verwendet werden, um Verbindungen zwischen den einzelnen Komponenten herzustellen. Sie ermöglichen es, Signale und Strom zwischen dem Arduino, dem Drucksensor, dem Display und anderen Bauteilen zu übertragen.
  • Passiver Lautsprecher: Der passive Lautsprecher ist ein akustisches Signalgebergerät, das Töne erzeugt. In diesem Setup wird der Lautsprecher verwendet, um einen Ton auszugeben, wenn eine Kraft auf den Membransensor konstant gehalten wird. Dies dient als akustische Rückmeldung für den Benutzer.


Abb. 02: Pinbelegung LM393

Tabelle 3: Technische Daten FSR402 [2]

Parameter Wert
Messbereich (Datenblatt) 0 N - 20 N
Messbereich (experimentell) 0.41 N - 25 N
Versorgungsspannung 3.3 V .. 5 V
Wiederholgenauigkeit ±2 %
Widerstand ohne Belastung 10 MΩ
Kraftempfindlichkeitsbereich 1 kΩ
Gewicht 0.5 g
Getriebe Kunststtoff
Arbeitstemperatur -30 °C .. +70 °C
Dicke 0.45 mm
Durchmesser 18.28 mm

Tabelle 4: Pinbelegung Sensor  

Pin Belegung Signal
1 + Anpassungsschaltung +, 5 V
2 - Anpassungsschaltung -, 0 V

Der Sensor hat zwei Kontakte. Beim anschließen der Kontakte ist es jedoch unrelevant wie der Sensor an + und - an der Anpassungsplatine angeschlossen wird, da es sich um einen Ohm'schen widerstand handelt.

Tabelle 5: Pinbelegung Anpassungsschaltung (Abb. 2) 

Pin Belegung Signal
1 Versorgungsspannung VCC Versorgungsspannung 5 V
2 D0 Switch Signal Ausgang
3 A0 Analog Signal Ausgang
4 GND Versorgungsspannung 0 V
5 + Ausgang 5 V
6 - Ausgang 0 V

Funktionsweise des Primärsensors[2]

Der FSR402 ist ein Sensor, der zur Messung von Druck oder Kraft eingesetzt wird und auf dem Prinzip der Widerstandsänderung basiert. Die Funktionsweise des Drucksensors lässt sich wie folgt detailliert erklären:

Aufbau und Funktionsweise des Sensors: Der FSR402 besteht aus zwei PET Membranen (Abb. 03), die durch einen dünnen Luftspalt getrennt sind. Der Luftspalt wird durch einen Abstandshalter an den Rändern und durch die Steifigkeit der beiden Membranen aufrechterhalten. Die untere Membran, mit einer einer aufgedruckten Leiterbahn, besteht aus zwei Strängen mit ineinandergreifenden Fingern. Die obere Membran wurde mit einem FSR® Substrat auf Kohlenstoffbasis beschichtet und ist Leitfähig. Unter dem Mikroskop lässt sich die kristallartige Struktur sehen (Abb. 04). Wenn die beiden Membranen durch eine Kraft zusammengedrückt werden werden die einzelnen Finger der unteren Membran durch die mikroskopischen Vorsprünge kurzgeschlossen. Bei geringen Kräften werden die einzelnen Finger nur durch die größten Kristalle kurzgeschlossen. Wie aus der Kennlinie aus dem Datenblatt (Abb. 5) zu entnehmen: Je größer die Kraft wird desto mehr Kristalle berühren die Leiterbahnen. Das Ergebnis ist, dass der Widerstand zwischen den leitenden Fingern umgekehrt proportional zur angelegten Kraft ist.

Funktionsweise der Messschaltung

Auswertung: Der Widerstandswert des Membrandrucksensors wird über eine Anpassungsschaltung LM393[7] ausgewertet (Abb.7). Auf dieser sind ein Potentiometer und zwei unabhängige Operationsverstärker als Komparatoren verbaut. Das Potentiometer dient dabei zur Einstellung der Referenzspannung (Abb. 6) und die Operationsverstärker vergleichen zwei Eingangsspannungen und geben ein digitales Signal aus, je nachdem, welche Spannung höher ist. Jeder der Komparatoren hat einen nicht invertierten Eingang (+) und einen invertierten Eingang (-). Ist die Referenzspannung am nicht invertierten Eingang größer als die Sensorausgangsspannung am invertierten Eingang, dann liefert der Ausgang eine Spannung (ein logisches HIGH). Ist die Sensorausgangsspannung am invertierten Eingang größer als die Referenzspannung am nicht invertierten, wird ein LOW ausgegeben. Auf diese Weise werden die analogen Spannungsdaten diskretisiert.

Versuchsaufbau und Durchführung

In den nächsten Abschnitten beginnt die Darstellung des Versuchsaufbaus und folgend die die Beschreibung der Versuchsdurchführung und Versuchsbeobachtungen

Versuchsaufbau

Darstellung des Verdrahtungsplans mithilfe der Software Fritzing (Abb. 08), des Schaltplans mithilfe der Software MultiSim (Abb. 09) und des realen Aufbaus (Abb. 10).

Um vergleichbare Messungen durchführen zu können dient ein ebene Form die mittig auf dem Sensor platziert wird und genau so groß wie die Sensorfläche ist (Abb. 11).

Versuchsdurchführung

Abb. 12: Simulink Programm
Abb. 13: Kennlinie des Sensors

Zur Durchführung wurde ein Hardwareaufbau mit einem Arduino UNO, dem Membrandrucksensor FSR402 inklusive improvisiertem Messadapter, einem LC-Display und einem passiven Piezo Lautsprecher realisiert, die durch Jumperkabel nach Schaltplan [Schaltplan] verbunden werden. Zur Programmierung des Hardwareaufbaus wird die Software Matlab Simulink verwendet (Abb. 12). Hierbei ist zu beachten, dass die Kommunikation über den richtigen COM-Port zum richtigen Microcontroller innerhalb der Simulink Software hergestellt wird. Es ist durch die Verwendung eines "Analog Input" - Blocks möglich den analogen Eingang des Microcontrollers einzulesen und diese Daten im Simulink Modell zu verarbeiten. Innerhalb der Software muss nun das analoge Eingangssignal, welches einem Widerstandswert des Sensors entspricht, zuerst gefiltert , dann mit Hilfe einer Lookuptable einem Gewicht zugeordnet werden (Abb. 13). Diese Tabelle wurde mit experimentellen Testwerten gefüllt, welche aus Messungen mit Referenzgewichten erhalten wurden. Im nächsten Schritt wird dieses ermittelte Gewicht in die Si-Einheit kg umgerechnet und danach mit der Formel: F= m * a verrechnet, um eine korrespondierende Kraft zu erhalten. Um den resultierenden Kraftwert nun auch in der echten Welt abzubilden, muss mittels IO-Devicebuilder ein Simulink-Block in C-Code programmiert werden, der es ermöglicht die gewünschten Daten auf einem am Arduino angeschlossenen Liquid Cristal Display abzubilden. Zusätzlich soll ein Piezo ein akustisches Signal geben, wenn sich eine Messung "eingeschwungen" hat. Dies wird durch eine Logik im Programm erreicht, welche Die Differenzen der einzelnen Sensorwerte errechnet, sie vorzeichenlos macht und dann überprüft, ob die Abweichung kleiner ist als ein Grenzwert (hier gewählt: 0.0017). Zusammen mit einer Freischaltung, welche detektiert, ob ein Objekt auf dem Sensor aufliegt und der Kraftwert dem entsprechend größer ist als ein gewählter Grenzwert (hier gewählt: 0.1) werden diese Vergleiche dann in einem logischen AND-Gatter zusammengeführt welches als ausgang nur eine logische eins setzt, wenn beide Eingänge logisch eins liefern. Dieses Signal schaltet das SR-Gatter, welches den Piezo aktiviert und nach einem Gewählten Zeitversatz ausgeschaltet wird. Einen guten Überblick über die einzelnen Programmteile bietet nicht nur das Simulink Projekt (Abb. 12), sondern auch der Projektablaufplan aus (Abb. 14).

Abb. 14: Projekt Ablaufplan

























Versuchsbeobachtung

Das Messen mit dem FSR-402 Sensor weist nach Auflegen eines zu messenden Objekts ein Schwingverhalten auf (Abb. 15). Generell rauscht das ungefilterte Sensorausgangssignal ( Abb. 16). Aus diesen Gründen haben wir uns für einen Tiefpassfilter mit gleitendem Mittelwert mit 40 Messwerten entschieden, um den schnellen Änderungen des Signals entgegenzuwirken ,das Rauschen zu reduzieren und den Drift zu Dämpfen. Im Vergleich zu den Analog- und Lookup-Table-Werten ist so eine geglättete Kurve erkennbar (Abb. 17). Der durch den Tiefpassfilter erzeugte zeitliche Versatz von den ungefilterten und gefilterten Daten ist dabei in Echtzeit nicht mehr relevant. Nach einer bestimmten Zeit schwingt sich der Messwert auf einen annähernd konstanten Wert ein, welcher zuletzt nur noch durch einen hardwarebedingten Drift beeinflusst wird. Aus diesem Grund werden Messungen über längere Zeit zunehmend ungenauer und sind daher zu vermeiden. Zusätzlich ist an dieser Stelle hinzuzufügen, dass der Messwert auch nach einer konstanten, eingeschwungenen Phase wieder abdriften und wieder konstant werden kann, weshalb nicht auszuschließen ist, dass es zu wiederholten Pieptönen kommen kann.


Tabelle 6: Referenzwerte zu den aufgenommenen Messwerten 

Nr. Wert in g Wert in N
1 42 g 0,41 N
2 130 g 1,27 N
3 216 g 2,11 N
4 406 g 3,98 N
5 747 g 7,32 N
6 913 g 8,95 N
7 1365 g 13,39 N
8 1706 g 16,73 N
9 2596 g 25,46 N
10 3880 g 38,06 N

Nach der Filterung und Umrechnung der Analogwerte wurden Messwerte mit dem kalibrierten FSR 402 aufgenommen(Abb. 18). Als Referenzgewichte wurden die Daten aus Tabelle 6 gewählt. Referenz Nr.1 mit 0,41 N ist dabei, aufgrund der Steifigkeit der Membranen, der kleinste mögliche Messwert für den Sensor. Aus den Ergebnissen lässt sich ableiten, dass die gemessenen Werte nicht immer den Referenzwerten entsprechen, was auf eine schlechte Wiederholgenauigkeit des Hardwareaufbaus zurückzuführen ist. Außerdem gilt: Je größer die gemessene Kraft ist, desto stärker ist der Drift und desto stärker ist auch das Rauschen des Eingangssignals. Aus den gemessenen Daten lässt sich somit sagen, dass Messwerte ab 25 N, wie der Referenzwert Nr. 9, immer schlechter deutlich zu bestimmen sind und sich somit ein Messbereich von 0,41 N bis 25 N ergibt. Aus den gemessenen Daten wurde des weiteren die Messunsicherheit mit Standardabweichung (1 σ) berechnet(Abb.19) . Daraus ergibt sich über den Messbereich eine relativ konstante Standardabweichung mit einer Differenz von 0.00018 N.

Auswertung

Die Hypothese aus der Einleitung "Kraft lässt sich mit dem Drucksensor messen." wurde allgemein erfüllt. Jedoch ,wie schon in der Versuchsbeobachtung beschrieben, ist dieser Sensor nicht für eine Dauerhafte und exakte Kraftmessung geeignet.

Tabelle 7: Testbericht gegen die Anforderungen 

Req. Beschreibung Testergebnis
1 Die Kraft muss mit Kraftdrucksensor FSR402 mittels Arduino und Simulink gemessen werden.
2 Der Messbereich muss bestimmt werden.
3 Die Messunsicherheit (1σ) muss für den Messbereich ermittelt und als Vertrauensbereich angezeigt werden.
4 Der Sensor muss kalibriert werden.
5 Für den Messbereich muss die Kraft referenziert werden.
6 Die Messwerte müssen über der Zeit gefiltert werden.
7 Ein Piepton muss anzeigen, wenn der Messwert stabil/konstant ist.
8 Das Sensorsystem muss die Kraft in N auf dem LCD-Display anzeigen.

Zusammenfassung und Ausblick

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

Zusammenfassung: Es wurde in den vergangenen Wochen an einem Messaufbau mit dem Druckmembransensor FSR402 und einem Arduino UNO gearbeitet, welcher die Kraft, die auf den Sensor wirkt misst und diese in Echtzeit auf einem LC-Display ausgibt. Der Hardwareaufbau wurde durch die verschiedenen Komponenten aus [Tabelle 2] realisiert und bewirkt, dass der sich ändernde Widerstandswert des Sensors durch die Anpassungsschaltung in ein Spannungswert gewandelt wird. Diese Spannung kann nun über den analogen Eingang des Arduino UNOs ausgelesen werden und diese in die Simulink Modellumgebung einbringen. Für die Software wurde ein Simulink Modell erstellt[Modell], welches anfangs den Spannungswert einliest, ihn dann durch einen Tiefpassfilter mit gleitendem Mittelwert filtert und dann der Lookup Tabelle zuführt. Die Wahl des Tiefpassfilters, der schnellen Änderungen eines Signals entgegenwirkt und damit wie eine Dämpfung wirkt, fiel auf Grund des Signalrauschens eines eigentlich konstanten Wertes[Abb. 16] des Sensorsignals. Die Lookup Tabelle wandelt durch die zuvor angelegten Referenzmessdaten[Kennlinie] den Analogwert in ein korrespondierendes Gewicht in Gramm um. Dieses Gewicht muss dann mit dem Faktor 1000 in die Si-Einheit Kilogramm überführt und im nächsten Schritt in eine Kraft in Newton umgerechnet werden. Zuletzt wird der Kraftwert über einen IO-Device-Block auf einem LCD ausgegeben. Zusätzlich wurde durch eine logische Schaltung ein Piepton realisiert, welcher das Vorliegen eines konstantes Messergebnisses mitteilt. Die Ansteuerung des Piezo funktioniert über einen digitalen Output-Block.

Diskussion der Ergebnisse: Durch die ermittelten Sensoreigenschaften wie eine lange Einschwingzeit, eine höhere Amplitude des Rauschens bei höheren Kräften, einem generellen Drift über die Zeit und einer schlechten Wiederholgenauigkeit kann man feststellen, dass ein solcher FSR402-Sensor nicht für besonders zuverlässige Anwendungen mit exakten Messergebnissen verwendet werden sollte. Ein solcher Sensor könnte allerdings in anderen Anwendungsbereichen seinen Nutzen bringen, zum Beispiel als Bump-Sensor für Staubsaugerroboter, um die Kollision mit Hindernissen zu detektieren.

Ausblick: Die Ergebnisse haben nahegelegt, dass diese Anwendung für diese Art Sensor eher ungeeignet zu sein scheint. Diesbezüglich haben wir im vorherigen Absatz eine Alternative aufgezeigt. In Folge dessen wäre es möglich in der Zukunft eine passendere Anwendung für diesen Sensor zu konstruieren, wie zum Beispiel eine Impulserkennung.

Selbstreflexion: Im Zuge der uns gestellten Aufgabe gab es diverse Lerneffekte. Zu diesen gehören eine Vertiefung der Simulink Kompetenzen, die Verbesserung unserer Fähigkeiten im Umgang mit Media Wiki, und in der generellen Zusammenarbeit innerhalb eines Projekts. Außerdem wurden das Handwerk der Videobearbeitung geschult. Zusätzlich wurden die Kernkompetenzen erweitert mit Sensoren zu arbeiten, ihre Eigenschaften zu erfassen und sie in Projekte zu integrieren.

Literatur

[1] Internetforum. HSHL-Wiki: Zitieren nach DIN ISO 690:2013-10 [online]. [Zugriff am: 06. Januar 2025]
[2] Sparkfun Datenblatt: FSR 400 Series Round Force Sensing Resistor [online]. [Zugriff am: 14.01.2025]
[3] Docs.arduino : Arduino Uno R3 [online]. [Zugriff am: 14.01.2025].
[4] Uni Ulm : Einführung Simulink [online]. [Zugriff am: 14.01.2025].
[5] HSHL Wiki : LCD Display [online]. [Zugriff am: 14.01.2025].
[6] Funduino : I²C Display [online]. [Zugriff am: 14.01.2025].
[7] Texas Instruments : alzert, H. u. a.:LM393 [online]. [Zugriff am: 14.01.2025].
[8] Esposito, Elektronics: A Piezoresistive Sensor to Measure Muscle Contraction and Mechanomyography [online]. [Zugriff am: 14.01.2025]. Verfügbar unter: https://www.mdpi.com/1424-8220/18/8/2553
[9] Interlink Interlink: FSR Force Sensing Resistor [online]. [Zugriff am: 14.01.2025]. Verfügbar unter: https://robokits.co.in/datasheets/RKI-1833.pdf
[10] Electro Schematics: FSR Sensor- A Refined Primer [online]. [Zugriff am: 14.01.2025]. Verfügbar unter: https://www.electroschematics.com/fsr-sensor-a-refined-primer/
[11] Fsrtec: Ultra Sensitive Human Body Pressure Mapping Sensor Solutions [online]. [Zugriff am: 14.01.2025]. Verfügbar unter: https://www.fsrtek.com/force-measure-tool/resistance-transform-voltage-module-measure-tool

Anhang

A Ergebnisvideo

Im folgenden ist ein Ergebnisvideo zur Kraftmessung mit dem Drucksensor FSR402 zu sehen. Im Video wird, wie im Abschnitt Versuchsdurchführung beschrieben, ein Objekt auf den Messadapter auf den Sensor gelegt. Die Lila gefärbte Kennlinie ist die Kraftmessung. Die gelbe Kennlinie stellt den Piepton dar. Die gemessenen Werte werden im Abschnitt Versuchsbeobachtung näher erläutert.

B Datenblätter

Datenblatt LM393

[Erklärung LM393 – aus analog wird digital ]

Abb.20: LDR Photosensor Lichtsensor Modul digital/analog mit LM393 Schaltung https://shopofthings.ch/shop/prototyping/sensoren/photosensor-modul-digital-analog-mit-lm393-schaltung-kompakt/



















C Simulink-Modell

D Originaldateien

Datei:FSR402 Originaldateien.zip

E Lernzielkontrolle

F Anforderungen und Bewertung

G Regeln für Simulink-Modelle

H Gliederung einer Hausarbeit


→ zurück zum Hauptartikel: WS2024 - MTR Sensortechnik