Forum: Mikrocontroller und Digitale Elektronik Messbereichhsanpassung für einen MPX 4115A Luftdrucksensor


von sven (Gast)


Lesenswert?

Hallo,

ich bin gerade dabei nachzuvollziehen wie eine Messbereichsanpassung 
mittels OP und ADC funktioniert. Am Beispiel eines Höhenmessers versuche 
ich die Schaltung und deren Funktion zu verstehen. Auf der Seite 
http://mikrokopter.de/ucwiki/H%C3%B6hensensor?action=show&redirect=LuftdruckSensor 
wird beschrieben wie ein Luftdrucksensor (MPX 4115A) zur Höhenmessung 
verwendet wird. Es wird ebenfalls beschrieben wie die 
Messbereichsanpassung von statten geht. Und genau da liegt mein 
Verständnissproblem. Mich interessiert nun wie das mit dem Op von 
statten geht.
Hier gehts zum Schaltplan --> 
http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=105216

Meine bisherige Interpretation von der Sache lautet wie folgt:

Von meinem Messsignal wird mittels eines nichtnichtinvertierenden 
Verstärkers mit Offset ein Offsetwert abgezogen. Der Rest wird um den 
Faktor 30.12 verstärkt. Da befördere ich doch mein Messsignal ins 
jenseits?
Oder wie funktioniert das? Und wie kommen die auf solch eine 
Messauflösung von umgerechnet 0.98 cm pro Step?


und im Folgenden ist die Beschreibung von deren Homepage:

"""""""""""""""""""""""""""""""
Der atmosphärische Luftdruck P nimmt aufgrund der Gravitation 
kontinuierlich mit steigender Höhe h ab. Der Zusammenhang wird 
näherungsweise durch die barometrische Höhenformel beschrieben.

P(h)[kPa] = 101.325 kPa * EXP(-1.29 kg/m3 * 9.81m/s2 * h[m] /101.325kPa 
/ 1000)

Dies ermöglicht durch die Messung des Luftdrucks eine Umrechnung in eine 
Höhe über N.N. Von Meereshöhe bis ca. 1500 Meter kann man diese Formel 
sehr gut linearisieren und erhält eine Abnahme des Luftdrucks von 
1.2kPa/100 m.

Die FC verwendet den Effekt für eine relative Höhenmessung bzgl. der 
Starthöhe. Die Skalierung ergibt sich wie folgt:

Im Datenblatt des MPXAZ4115A ist die Empfindlichkeit mit 46 mV/kPa 
angegeben. Auf der FC ist zwischen dem Ausgang des Sensors und dem 
Eingang des ADC ein nichtinvertierender Operationsverstärker mit einem 
Verstärkungsfaktor von 1 + 18k*(1/6k8 +1/680) = 30.12 aufgebaut. Der 
Offset des Verstärkers lässt sich durch den Atmega644 verandern, sodass 
die Ausgangsspannung des Verstärkers in den Messbereich des ADC von 0 
bis 3V geschoben werden kann. Der ADC des Atmega644 verwendet eine 
externe Referenzspannung von 3V mit 10Bit Auflösung was 0.3413 Steps/mV 
enstpricht.

Das ergibt zusammen eine Empfindlichkeit von 0.3413 Steps/mV * 30.12 * 
46 mV / kPa = 472.84 Steps/kPa.

In der Software der Hauptplatine wird der Wandlerwert aufaddiert und 
gemittelt, sodass sich ein Skalierungsfaktor zur internen Luftdruckwert 
von 18 ergibt und man erhält 472.84 Steps/kPa * 18 = 8511.12 Steps/kPa. 
Berücksichtigt man noch die Höhenabhängigkeit des Luftdrucks so ergibt 
sich für den Höhenwert eine Skalierung von 8511.12 Steps/kPa * 1.2kPa / 
100 m = 102.13 Steps/m was einer unglaublichen Auflösung von 0.98 cm pro 
Step entspricht.

Die internen Werte der Hauptplatine werden im Menu und zu NC dividiert 
durch den Faktor 5 weitergegen. Damit ist der Skalierungsfaktor 20.43 
Steps/m.
"""""""""""""""""""""""""""

von Wolfgang (Gast)


Lesenswert?

sven schrieb:
> Von meinem Messsignal wird mittels eines nichtnichtinvertierenden
> Verstärkers mit Offset ein Offsetwert abgezogen. Der Rest wird um den
> Faktor 30.12 verstärkt. Da befördere ich doch mein Messsignal ins
> jenseits?

Nein, ins diesseits. Lt. Figure 4 liefert der Sensor bei Bodendruck eine 
Spannung um die 4 V. Der ADC hat einen Wandlerbereich von 0..3V, d.h. da 
muß das Signal hingeschoben werden, wenn man nicht erst ab 2 km Flughöhe 
Signale haben möchte, die den Wandler nicht übersteuern.

> Oder wie funktioniert das? Und wie kommen die auf solch eine
> Messauflösung von umgerechnet 0.98 cm pro Step?

Der Rest ist Dreisatz, wie im zittierten Text beschrieben.

von sven (Gast)


Lesenswert?

Danke für die schnelle Antwort.
Ich versuch mein Fehldenken nochmal an einem Beispiel zu erläutern:

Angenommen das Fluggerät befindet sich irgendwo zwischen 0 m und 500 m 
und liefert sagen wir der einfachheit halber exakte 4,0 V am Sensor. 
Dann ziehe ich über den Offset 3,0 V ab und der "Rest" wird vertärkt mit 
30.12, was in diesem Beispiel 30.12 V ergeben würde??

Was exakt bewirken R24,R25,R26 und C31 an PB4 und PB3? PWM--> 
Tiefpass--> und somit einstellbares Offset?

Danke schon mal im voarus.

von sven (Gast)


Lesenswert?

kann mir denn da keiner weiterhelfen?

von LTC1043 (Gast)


Lesenswert?

sven schrieb:
> Was exakt bewirken R24,R25,R26 und C31 an PB4 und PB3? PWM-->
> Tiefpass--> und somit einstellbares Offset?

Das würde passen, aber da musst du in der SW schauen.

PB3, PB 4 können aber auch nur:
- hochohmig sein ( Input, OC) -> R25/R26 keine Funktion
- Output low -> R25/R26 mit R24 parallel zu R21
- Output high -> R25/R26 mit R24 parallel zu R19
Damit kannst du auch dieverse Offsets erzeugen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.