Vario mit MP3H6115A und Pic

OP #1583270
Lesenswert?

Hallo,

ich bin neu in der Picentwicklung.

Ich möchte gerne den Höhensensor MP3H6115A mit einem Pic ansteuern.
Ich benötige nur die Höhenveränderung in einem Bereich von max. 1000m, 
dies aber in einer hohen Auflösung, also bestmöglich im cm Bereich.

Ich möchte ungern einen anderen Chip vorschalten, normalerweise macht 
man das mit einem LTC2400. 24bit ADC.

Nun meine Fragen:
Gibt es einen Pic mit 24 bit ADC? Wie findet man soetwas? Was wäre das 
Maximum und welche Auflösung bekomme ich da hin?

Alles in 3V.

Viele Grüße

Stefan
#1583397
Lesenswert?

Schau mal bei www.mikrocopter.net.

Hier ein Auszug, ein 24bit ADC ist nicht notwendig.
1
Der atmosphärische Luftdruck P nimmt auf grund der Gravitation kontinuierlich mit steigender Höhe h ab. Der Zusammenhang wird näherungsweise durch die barometrische Höhenformel beschrieben.
2

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

5
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.
6

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

9
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.
10

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

13
In der Software der FlightControl wird der Wandlerwert aufaddiert und gemittelt, sodass sich ein Skalierungsfaktor zur internen Luftdruckwert von 10/3 ergibt und man erhält 472.84 Steps/kPa * 10/3 = 1576.13 Steps/kPa. Berücksichtigt man noch die Höhenabhängigkeit des Luftdrucks so ergibt sich für den Höhenwert eine Skalierung von 1576.13 Steps/kPa * 1.2kPa / 100 m = 18.91 Steps/m was einer unglaublichen Auflösung von 5.26 cm pro Step entspricht.
#1584282
Lesenswert?

Um die Auflösung zu erhöhen kann man das Analogsignal auf mehrere OPs 
mit unterschiedlich hoher Verstärkung legen und die Signale vom Ausgang 
der OPs dann auf je einen Analogeingang des Controllers.

Ich habe im Moment so eine Schaltung mit 4 Kanälen am Wickel mit 
Verstärkungen von 1, etwa 8,5 , 70 und 500.  Dadurch kann ich in 
Verbindung mit 32-fach Oversampling gut 24 Bit auflösen.

Das ganze schafft auf einem PIC24HJ64... mit A/D autoscan und  DMA 
Unterstützung rund 1200 Messungen pro Sekunde.
OP #1584408
Lesenswert?

Also um den Sender muss man sich nicht kümmern.
Noch eine Überlegung:
Der Höhenmesser geht von 15 kPa bis 115 kPa.
Da der Luftdruck auf NN etwa 101kPa sind und 10.000m -68 kPa sind, dann
habe ich ein Spektrum , das ich nicht benötige. Mir reicht eigentlich 
0-1500m aus.

Ich kann nun bei dem Pic die ADC-Obergrenze bei 1 Volt oder größer 
einstellen. Das gibt umgerechnet ca. 63 kPa was einer Höhe von ca. 3700m 
entspricht. Wenn ich nun die 3700m durch meine 4095 Schritte des 12Bit 
ADC teile, habe ich eine Auflösung von 90cm, das ist definitiv zu wenig.

Oder habe ich einen Denk- oder Rechenfehler?

Als Pic würde ich gerne den Pic24HJ12gp201 nehmen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren