Drucksensor mit Matlab/Simulink: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 76: Zeile 76:
'''Beispiel für die sukzessive Approximation'''
'''Beispiel für die sukzessive Approximation'''


[[Datei:3-Bit_SAR-Wandler.PNG|thumb|300px|right|Abb. 6: 3-Bit SAR-Wandler]]
[[Datei:3-Bit_SAR-Wandler.PNG|thumb|300px|right|Abb. 5: 3-Bit SAR-Wandler]]
Im folgenden Beispiel wird die „sukzessive Approximation“ anhand von einem verhältnismäßig übersichtlichen 3-Bit-Wandler genauer erklärt (s. '''Abb. 4''').  
Im folgenden Beispiel wird die „sukzessive Approximation“ anhand von einem verhältnismäßig übersichtlichen 3-Bit-Wandler genauer erklärt (s. '''Abb. 5 u. 6''').  
Da es sich um einen 3-Bit-Wandler handelt, können an dieser Stelle 8 Messwerte dargestellt werden. Es wird angenommen, dass sich der Pegel der Messwerte der zu vermessenden Eingangsspannung zwischen 0 V und 7 V befindet und die digitale Darstellung der Messwerte ausschließlich in ganzen Zahlen erfolgt. So ergibt sich hierfür die folgende Binärtabelle:
Da es sich um einen 3-Bit-Wandler handelt, können an dieser Stelle 8 Messwerte dargestellt werden. Es wird angenommen, dass sich der Pegel der Messwerte der zu vermessenden Eingangsspannung zwischen 0 V und 7 V befindet und die digitale Darstellung der Messwerte ausschließlich in ganzen Zahlen erfolgt. So ergibt sich hierfür die folgende Binärtabelle:



Version vom 19. Juni 2018, 16:30 Uhr

Sensor: dPressure 500

Autor: Ilja Scheremeta Betreuer: Prof. Schneider

Aufgabenstellung

In dem Fach "Signalverarbeitende Systeme" aus dem Studiengang "Business and Systemsengineering" der Hochschule Hamm-Lippstadt obliegt jedem Studierenden die Aufgabe sich semesterbegleitend mit einem ausgewählten Sensor auseinander zu setzen. In diesem Zusammenhang soll der jeweilige Sensor im Laufe der Ausarbeitung mit MATLAB/Simulink ausgelesen und im Anschluss im HSHL Wiki sinnvoll und verständlich dokumentiert werden.

Der Sensor und seine Funktionsweise

Bei dem dPressure 500 Sensor für Lego Mindstorms NXT handelt es sich um einen analogen Silizium-Drucksensor, mit dem verschiedene Druckschwankungen gemessen werden können. Dieser Sensor arbeitet mit einem Mikroprozessor, welcher die A/D-Wandlung unterstützt und weist folgende technische Daten auf:

Abb. 1: dPressure 500


Merkmal Werte
Messbereich von 0kPa (Vakuum) bis 500kPa (70psi)
Messbereich (Rohsignal) von 0V bis 5V
Messbare Schwankungen 0,25kPa (0,05psi)
Genauigkeit +/- 2,5%
Mittlere Antwortzeit 1ms
Betriebsversorgungsspannung 4,75V bis 5,25V
Betriebsversorgungsstrom 7mA
Betriebstemperatur 0°C bis 85°C
Abb. 2: Die Funktionsweise des Sensors

In der Messtechnik gibt es je nach Messverfahren unterschiedliche Drucksensoren. Der dPressure500 gehört zu dem Typen des kapazitiven Differenzdrucksensors. Es bedeutet, dass hierbei die Differenz zweier Absolutdrücke p1 und p2 gemessen und miteinander verglichen wird. Aus diesem Grund besitzt der Sensor zwei separate Druckanschlüsse und arbeitet im Vergleich zu vielen anderen Drucksensoren ausschließlich in einem positiven Bereich, wobei p1 den Druck darstellt, der im Vergleich zu p2 verändert wird und p2 immer konstant bleibt (p1≥p2). In diesem Fall liegt der Messbereich zwischen 0kPa und 500kPa.

Außerdem besitzt dPressure500 demzufolge zwei Messkammer, die durch eine Siliziummembran hermetisch voneinander getrennt sind. Die Funktionsweise hierbei ist wie bei einem Plattenkondensator mit einem variablen Elektrodenabstand. Die Siliziummembran und die Gegenelektrode stellen an dieser Stelle die beiden Elektroden des Kondensators dar und die Luft dazwischen ist das Dielektrikum. Erhöht sich der Druck p1, so biegt sich die Membran durch und der Abstand zwischen den Elektroden und dadurch die Kapazität des Kondensators wird verringert. Durch die Veränderung des Abstandes wird auch der Stromfluss und somit die Ausgangsspannung Vout als das Rohsignal beeinflusst. Dessen Messbereich liegt zwischen 0V und 5V. Die Biegung der Membran bzw. der Abstand zwischen dem Siliziummembran und der Gegenelektrode ist also in diesem Zusammenhang ein Maß für die Größe des Differenzdruckes (s. Abb. 2).




Vorverarbeitung

Abb. 3: Kennlinie des Sensors

Aus der Funktionsweise des Sensors dPressure500 kann entnommen werden, dass die Messwerte in Form von Spannung Vout in der Signalverarbeitungskette direkt an Arduino übertragen werden. Diese Werte müssen dann durch eine Funktion in die Druckeinheit Pascal umgewandelt werden. Das Verhältnis zwischen der Ausgangsspannung Vout und dem Druck kPa wird anhand von einer Kennlinie wie folgt dargestellt (s. Abb. 3).








Analog-Digital-Umsetzer

Abb. 4: 10-Bit SAR-Wandler

Der Drucksensor dPressure 500 wird zur Signalverarbeitung mit einem der sechs analogen Pins des Arduino Uno (A0-A5) verbunden. Damit werden die analogen Signale in Form von Spannung gemessen und danach digitalisiert. Grundsätzlich haben die analogen Signale im Vergleich zu digitalen Signalen einen Vorteil, indem sie sehr viele Werte zwischen einem hohen und niedrigen Pegel annehmen können. Beim Arduino UNO liegt der maximale Pegel bei 5 V und der niedrigste bei 0V. Außerdem arbeitet der Arduino mit dem ATMEGA328P-MU Mikrocontroller, bei dem die Auflösung des ADCs 10-Bit (1024 Messwerte) beträgt. Das Auslesen einer Messung am Eingang dauert ca. 0,0001 Sekunden, so dass maximal 10.000 Messungen pro Sekunde verarbeitet werden können. Die eben erwähnten Werte zwischen 0 V und 5 V werden von dem integrierten 10-Bit Analog Digital Wandler (ADC) in Integer Werte zwischen 0 bis 1023 umgewandelt. Ein Signal kann hierbei eine Auflösung von 4,9mV aufnehmen:

Auflösung = 5 V / 1024 =0,0049 V = 4,9 mV

Der Analog Digital Wandler arbeitet bei dem eingebauten Microcontroller mit der sukzessiven Approximation. Dabei spricht man um eine schrittweise Annährung des eingehenden Signals mittels der Ausgangsspannung eines DA-Wandlers. Hierbei wird also die analoge Eingangsspannung (unendlicher Wertebereich) so lange mit der Referenzspannung verglichen bis das richtige Ergebnis identifiziert und digital (endlicher Wertebereich) dargestellt wird. Solch ein ADU besteht aus einem DA-Wandler, SAR-Datenregister, einer elektronischen Schaltung für die digitale Steuerelektronik und einem separaten Komparator. SAR steht für Seccessive Approximation Register und darin wird am Ende des Vorgangs der ermittelte Digitalwert des DA-Wandlers dargestellt. Der Komparator dagegen vergleicht dabei die erzeugte Referenzspannung vom DA-Wandler mit der Eingangsspannung.


Beispiel für die sukzessive Approximation

Abb. 5: 3-Bit SAR-Wandler

Im folgenden Beispiel wird die „sukzessive Approximation“ anhand von einem verhältnismäßig übersichtlichen 3-Bit-Wandler genauer erklärt (s. Abb. 5 u. 6). Da es sich um einen 3-Bit-Wandler handelt, können an dieser Stelle 8 Messwerte dargestellt werden. Es wird angenommen, dass sich der Pegel der Messwerte der zu vermessenden Eingangsspannung zwischen 0 V und 7 V befindet und die digitale Darstellung der Messwerte ausschließlich in ganzen Zahlen erfolgt. So ergibt sich hierfür die folgende Binärtabelle:

Abb. 6: 3-Bit Flussdiagramm mit Eingangsspannung von 6 V
Binärdarstellung Spannung in V
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Abbildung 5 veranschaulicht über ein Flussdiagramm die erwähnte schrittweise Annährung des eingehenden Signals in Form von Ue. Dabei finden insgesamt drei Vergleiche statt. Die zu vermessene Spannung wird als erstes mit dem MSB (Most Significant Bit) auf den Binärwert 100 gesetzt. Darauf hin wird im DA-Wandler die entsprechende Ausgangsspannung erzeugt, die mit der eigentlichen Messspannung im Komparator verglichen wird. Hier bekommt man einen Vergleich, ob die Messspannung größer oder kleiner als die Vergleichsspannung (Uv) ist. Da es im gegebenen Fall größer ist, wird das MSB in der SAR-Einheit gesetzt und es kommt zum nächsten Schritt und somit zum nächsten Vergleich. In diesem und im letzten Schritt wiederholt sich dieser Vorgang bis am Ende eine Binärzahl 110 übrigbleibt. Diese steht für 6 V und wird abschließend in dem SAR-Datenregister dargestellt.

Bussystem

Digitale Signalverarbeitung

MATLAB Simulation

Darstellung der Ergebnisse