Luftdruckmessung - was mache ich falsch?

hallo,

inspiriert durch diesen Beitrag http://www.ip-symcon.de/forum/f19/luftdruckmessung-mpxaz4100a-8537/

habe ich mir bei reichelt einen Drucksensor MPX 4115A bestellt und an eine 0-10V klemme meine Wago gebastelt und die Umrechnungsformel eingegeben, das ganze sieht soweit auch nicht schlecht aus, nur passt mein Luftdruck von aktuell ca 950 hPa nicht zu dem Barometer das hier hängt und den Werten aus dem Netz (beide gut 1000 hPa)

Kann mir vielleicht jemand von euch sagen wo ich den Fehler gemacht habe?

Falls sich jemand wundert warum ich 2 Analoge Eingänge abfrage: die Berechnung des Drucks benötigt die genaue Versorgungsspannung, hier auf der sicheren Seite zu sein lese ich die auch gleich mit ein.

Christian

Datenblatt des Sensors

MOT.pdf (157 KB)

Du machst da keinen Fehler.
Du misst den Absoluten Luftdruck und dein Barometer zeigt den relativen Luftdruck (auf die geografische Höhe bezogen) an.
Das musst du dann noch umrechnen.
Siehe dazu auch… http://www.ip-symcon.de/forum/f52/relativen-luftdruck-absoluten-luftdruck-errechnen-6480/

Deine Werte sind im Übrigen garnicht so abwägig…
Bei mir ist aktuell ein absoluter LD von 945 hPa und relativ 1006 hPa

na dann bedanke ich mich für die schnelle und informative Antwort.

DANKE

Christian

hier noch der fertige code, habs mit 2 Funktionsblöcken realisiert, vielleicht kanns ja jemand brauchen

Luftdruck (um die Spannung des Druckmessers in hPa umzuwandeln


FUNCTION_BLOCK Luftdruck
VAR_INPUT
	Vdruck: WORD;			(*Spannung des Druckmessers von 0-10V Klemme*)
	Vref: WORD;			(*Referenzspannung von 0-10V Klemme*)
END_VAR
VAR_OUTPUT
	LuftdruckAbs: REAL;
END_VAR
VAR
END_VAR

LuftdruckAbs := (WORD_TO_REAL(Vdruck)/WORD_TO_REAL(Vref)+0.095)/0.009*10;

und hier noch die Reduzierung auf NN


FUNCTION_BLOCK Hoehenreduktion
VAR_INPUT
	Temperatur: REAL := -15;			(*Aussentemperatur*)
	LuftdruckAbs: REAL := 0;			(*gemessener Luftdruck*)
	Hoehe: INT := 450;				(*Höhe über NN*)
END_VAR
VAR_OUTPUT
	LuftdruckRel: REAL := 0;			(*Relativer Luftdruck bei NN*)
END_VAR
VAR
	g_0: REAL := 9.80665;				(*Normfallbeschleunigung (m/s^2)*)
	RM: REAL := 287.05;				(*Gaskonstante für trockene Luft (R = R_0 / M)*)
	T: REAL := 273.15;				(*Umrechnung von °C in K*)
	Ch: REAL := 0.12;				(*DWD-Beiwert für die Berücksichtigung der Luftfeuchte*)
	E: REAL := 0;					(*Dampfdruck des Wasserdampfanteils*)
	a: REAL := 0.0065;				(*vertikaler Temperaturgradient = Temperaturabnahme in K pro geopotentiellen Metern (K/gpm)*)
	xp: REAL := 	0;				(*Exponent für Formel*)
END_VAR



IF Temperatur < 9.1 THEN
	E := 5.6402 * ( -0.0916 + EXP(0.06 * Temperatur));	(*Dampfdruck des Wasserdampfanteils bei t < 9.1°C *)
ELSE
	E := 18.2194 * (1.0463 - EXP(-0.0666 * Temperatur));(*Dampfdruck des Wasserdampfanteils bei t >= 9.1°C *)
END_IF

xp := Hoehe*g_0/(RM*(T+Temperatur+Ch*E+a*Hoehe/2));		(*Exponent für Formel*)
LuftdruckRel := LuftdruckAbs*EXP(xp);				(*Formel für den NN-bezogenen Luftdruck laut Wikipedia*)

wenn jemand einen Fehler findet oder einen verbesserungsvorschlag hat, bitte melden, danke

Christian