Luftdruckmessung mit MS5534/MS5540

Hallo zusammen.

So langsam glaube ich, das DOCH ein Rechenfehler vorliegt. Schaut Euch das mal an :

05.03.09,10:00:31,3.449996946,2.677486416,94.680206298,1.885156151,4.306666372,985.909667968,19.17578125,0,0,0,1,1,1
05.03.09,10:05:31,3.309997557,2.544371838,94.720565793,1.885156151,4.306666372,986.071166991,19.161718366,0,0,0,1,1,1
05.03.09,10:11:31,3.269996641,2.54997563,95.026428222,1.785937425,4.306666372,986.069213866,19.10546875,0,0,0,1,1,1
05.03.09,10:17:31,3.169998168,2.498834367,95.353141782,1.686718699,4.306666372,985.952392577,19.091405866,0,0,0,1,1,1
05.03.09,10:23:31,3.189998624,2.56004357,95.633567808,1.785937425,4.306666372,985.905639647,19.063280103,0,0,0,1,1,1
05.03.09,10:29:31,3.229995726,2.584178445,95.527267453,1.984374874,4.306666372,985.834594726,19.021093366,0,0,0,1,1,1
05.03.09,10:35:31,3.209995268,2.557669874,95.482353207,1.885156151,4.306666372,1059.614257812,18.992967603,0,0,0,1,1,1
05.03.09,10:41:31,3.249996181,2.587534425,95.415084837,1.686718699,4.306666372,1059.290771483,18.971870421,0,0,0,1,1,1
05.03.09,10:47:31,3.289997098,2.611557719,95.308341977,1.885156151,4.306666372,1059.04724121,18.950767515,0,0,0,1,1,1
05.03.09,10:54:31,3.149997709,2.483908173,95.386795043,1.785937425,4.306666372,1057.057983397,18.894475934,0,0,0,1,1,1
05.03.09,11:00:31,3.079998013,2.446017501,95.602340696,1.785937425,4.306666372,1055.994628906,18.873361586,0,0,0,1,1,1
05.03.09,11:05:31,3.049995421,2.494992013,96.13972473,1.984374874,4.306666372,1054.100341796,18.845197674,0,0,0,1,1,1
05.03.09,11:11:31,3.029998778,2.479927537,96.172828672,1.686718699,4.306666372,1051.621948241,18.809982297,0,0,0,1,1,1
05.03.09,11:17:31,2.849998472,2.349601501,96.508018492,1.488281124,4.306666372,1050.506713866,18.795890805,0,0,0,1,1,1
05.03.09,11:23:31,2.829998013,2.356845137,96.694740293,1.587499973,4.306666372,1048.76208496,18.774755475,0,0,0,1,1,1
05.03.09,11:29:31,2.929996489,2.477401014,96.838882445,1.785937425,4.306666372,1046.62145996,18.746568677,0,0,0,1,1,1
05.03.09,11:35:31,2.949996946,2.447762726,96.498199462,1.785937425,4.306666372,1045.275878906,18.73246765,0,0,0,1,1,1
05.03.09,11:41:31,2.959995268,2.384577032,95.997398374,1.488281124,4.306666372,1041.360107421,18.690162657,0,0,0,1,1,1
05.03.09,11:47:31,2.789997098,2.284534927,96.471466063,1.885156151,4.306666372,1039.628540038,18.66900253,0,0,0,1,1,1
05.03.09,11:54:31,2.849998472,2.332743165,96.39224243,1.686718699,4.306666372,1038.700927733,18.661949155,0,0,0,1,1,1
05.03.09,12:00:31,2.839996337,2.311101672,96.312065122,2.083593604,4.306666372,1039.149291991,18.66900253,0,0,0,1,1,1
05.03.09,12:05:31,2.929996489,2.3534615,95.988830566,1.984374874,4.306666372,1037.234863281,18.647842405,0,0,0,1,1,1
05.03.09,12:11:31,2.859996794,2.246649978,95.735214231,1.389062401,4.306666372,1034.088378906,18.612562177,0,0,0,1,1,1
05.03.09,12:17:31,2.989997862,2.358481404,95.615905761,2.381249901,4.306666372,1031.220703125,18.57726669,0,0,0,1,1,1
05.03.09,12:23:31,2.859996794,2.171839233,95.226211546,1.885156151,4.306666372,1030.218627928,18.563142775,0,0,0,1,1,1
05.03.09,12:29:31,3.059997557,2.361634967,95.164627074,1.785937425,4.306666372,1029.536254882,18.556083676,0,0,0,1,1,1
05.03.09,12:35:31,3.059997557,2.232334372,94.292449949,1.488281124,4.306666372,1027.052734375,18.520772931,0,0,0,1,1,1
05.03.09,12:41:31,3.039997098,2.247156855,94.525794981,1.190624949,4.306666372,1026.13671875,18.506643292,0,0,0,1,1,1
05.03.09,12:47:31,2.969997403,2.151065585,94.347091672,1.488281124,4.306666372,1026.685546875,18.513708113,0,0,0,1,1,1
05.03.09,12:54:31,3.009998319,2.204286574,94.43786621,1.587499973,4.306666372,1023.061767577,18.464246747,0,0,0,1,1,1
05.03.09,13:00:31,2.989997862,2.153967615,94.233047484,1.190624949,4.306666372,1020.979614257,18.43597412,0,0,0,1,1,1
05.03.09,13:05:31,3.089996337,2.266338106,94.320739745,1.587499973,4.306666372,1020.684265136,18.428901671,0,0,0,1,1,1

Immer, wenn die Temperatur unter 19 Grad sinkt, spinnt der Druck ! Ich vermute einen Fehler in der Second-Order Temperaturkompensation. Muß das heute Abend mal testweise deaktivieren.

Das erklärt mir aber nicht die komischen Kalibierungwerte, die von Sensor zu Sensor so streuen.

Thomas
 

Anhänge

  • druck.gif
    druck.gif
    5 KB · Aufrufe: 13
Hi Thomas,

na da bin ich aber mal gespannt .... halt uns einfach auf dem Laufenden.

Wie gesagt, mein Angebot bzgl. Oszi usw. steht. Du solltest Dich aber rechtzeitig wegen Wochenendplanung bei mir melden!

Grüße,
Ma
 
Hallo Markus,

ich komme da ganz sicher darauf zurück. Ganz einfach, weil ich wissen will, ob das Ding auch sauber zappelt. Vielleicht läßt sich ja an dem Gezappel noch was vereinfachen.

Muß aber erst heute Abend mal schauen, wie es mit unserem Verein ist. Ich glaube, wir haben am Samstag Sitzung.

Thomas
 
Hallo Thomas,

ich würde auch gerne einmal mit einem Sensor "rumspielen", nur habe ich im Moment wenig Zeit, um mich damit in Ruhe zu befassen. Hmmm, ausserdem müßte ich mir den Bascom-Code in eine andere Sprache umschreiben, da ich selber Bascom nicht verwende. Jaja, ich weiß, da gibts eine Lösung: Bascom verwenden :D

Wenn du den Sensor nicht "losbekommst" und ich wieder etwas mehr Zeit habe, würde ich da gerne mal mit C oder Assembler mein Glück versuchen :)

Grüße,
Dirk
 
Hallo Dirk,

es muß nicht BACOM sein. Ganz im Gegenteil, wenn ich da eine fertige LIB für BASCOM in Assembler bekomme, wäre das super. So könnten wir wirklich alle was davon haben :)

Bedingung allerdings, die LIB muß mit frei wählbaren PINs eines Atmels funktionieren. Ich habe auch schon Beispiele mit Hardware-SPI gesehen.

Es bleibt natürlich noch die Frage, ob die 4 Sensoren nicht wirklich was an der Wafer haben ;)

Thomas
 
Hi! Knickohr.
Hab den Sensor heute bekommen und bin gerade dabei mir den an das STK500 zu heften. Nur stellt sich bei mir die Frage wie ich nachweisen kann ob es bei mir besser funktioniert als bei dir. Ich hab nämlich keine Referenzmessgeräte.
 
Hier nochmal alle Werte der Sensoren zum Vergleich :

Sensor 1
W1 = 14350
W2 = 14226
W3 = 42013
W4 = 9252
C1 = 7175
C2 = 1892
C3 = 144
C4 = 656
C5 = 222
C6 = 18


Sensor 2
........
.....
...
..
Sind das wirklich alle Werte? Sind da auch die Sensoren dabei die du an uns versendet hast? Ich bin gerade dabei meine Software dafür zu schreiben. D1 und D2 kann ich bereits auslesen. Nur bei dem Versuch die Worte W1 bis 4 auszulesen bekomm ich keinen dieser Werte. (aber zumindest in der Größenordnung)

Edit: Oh ich hab allem Anschen nach den Sensor nummer 1.(Mein Fehler)
EditEdit: Bin jetzt fertig.
Bei mir hat es allem Anschein nach 4.8°C und 680mBar, und das auf nur 500Metern Seehöhe.
Tut mir Leid. Ich kann dir bei dem Problem nicht weiterhelfen.
 
Hallo zusammen,

Jetzt habe ich mich lediglich wegen diesem Problem hier angemeldet.
Ich hatte bis gerade das selbe Problem, dass ich mehrere Sensoren hatte, die alle immer was anderes angezeit hatten. Auch nach Stundenlangem studieren des Datenblatt, Programmtests und Kontakt mit Intersema konnte ich (wir) keinen Softwarefehler entdecken.
Das Problem war letztendlich der fehlende Kondensator am Chip.
Zum Test mal 22uF ran, und siehe da. ALLES GRÜN!!!!

Gruß
Kelvin
 
Hallo Kelvin,

Dankeschön für die Info! Wenn es daran wirklich liegt, wird sich Thomas (Knickohr) sicherlich freuen :)

@Knickohr: Bitte baldmöglichst einmal testen und berichten.

Grüße,
Dirk
 
Hallo zusammen,

Das Problem war letztendlich der fehlende Kondensator am Chip.
Zum Test mal 22uF ran, und siehe da. ALLES GRÜN!!!!
ich hab gerade das Datenblatt auch noch mal schnell durchgesehen. Da ist auf Seite 15
sogar ein 47uF Tantal im Schaltplan drin ;) Also noch mehr. Hat das Teil so hohe
Impulsströme oder ist das so empfindlich gegen Störungen auf der Betriebsspannung?

Aber im Bild am Anfang dieses Threads ist in seinem Testaufbau nen ziemlich dicker
Tantal zu sehen. :confused:

Naja, ein Test von Thomas wird es zeigen :D

Gruß
Dino
 
Hallo zusammen,

ich habe da einen 68µF direkt an den Versorgungsspannungspins des Sensors und habe eben noch einen 220µ parallel dazu gelötet. Das Ergebnis ist das Gleiche :(

Kanns also bei mir nicht sein.

Kelvin, ich habe noch einen "defekten" Sensor hier, würde den Dir gerne kostenlos zukommen lassen. Vielleicht bekommst Du den korrekt zum Rennen.

Kannste auch mal Dein Programm posten ?

Wie hast Du Kontakt mit Intersema bekommen ? Bei mir antworten die nicht auf die Webanfrage.

Thomas
 
Hallo zusammen,

Ich muss noch etwas vorweg nehmen. Ich habe dieser Dinger bereits vor ein paar Jahren in einem System integriert. Bisslang war mir aber die Differenz zu dem "echten" Luftdruck nie aufgefallen. Alle Sensoren des Systems zeigten den gleichen "falschen" Duck an. Desshalb war ich im Glauben, dass es stimmt.

Jetzt habe ich in meiner Firma ein neues Projekt, indem auch der selbe Sensor verwendet wird. Aus Neugier verglich ich die Werte, und es kam wie es kommen musste. Alle neuen Systeme zeigten untereinender die gleichen Werte an, die aber zu dem "alten" immer einen offset hatten (so ca. 15mBar mehr bzw. ~100 Meter). Durch vergleichen und etwas "berechnen" konnte ich ermitteln, dass das neue System die richtigen Werte anzeigte.

Zu Begin der Programmierung für das neue System hatte ich noch keine reale Hardware, desshalb habe ich einen Sensor mittels "Freiluftverdrahtung" und 3.xV Z-Dioden angeschlossen (wegen 5V Atmel), natürlich auch OHNE Kondensator (wer braucht den schon). Da ich ja bereits das Programm hatte und mir der Sache sicher war, ging es mir lediglich um das eigentliche lesen, und nicht in erster Linie um "korrekte" Daten. Da ich das Programm etwas ändern musste (besser lesbar und Zerlegung in SPI und MS5534 Module), wollte ich die Funktion testen. Was auch gleich lief.

Nachdem das neue System mit realer Hardware gegenüber dem alten System eine Differenz zeite, und auch noch meine Freiluftverdrahtung ganz wo anders war, wollte ich es natürlich genau wissen, und habe gesucht.

In meiner Verzweiflung habe ich heute morgen dann die VCC Spannung an der Freiluftversion mit dem OSZI gemessen, ob diese Überhaupt min. 2.x (Datenblatt) Volt hat. Da habe ich wärend der sekündlichen Messung die Spannungseinbrüche gesehen. Zu diesem Zeitpunkt Solldruck = 962mBar, Istdruck = 906mBar.
Auf meinem Tisch lag ein 1uF Elko. Kurz drangehalten und siehe da... 950 mBar. Der Rest steht oben.. Freiluft und neues System nun auf 1 mBar gleich.

Der Grund, warum das alte System einen offset zu dem realen Druck hat liegt daran, dass dort auch der Kondensator vergessen wurde, und nur von weiter entfernt liegenden gepuffert wird. (Ja... noch nicht getestet, aber mache ich noch, wenn ich ein altes Gerät mal zerlegt habe).

47uF Datenblatt ist klar, hatte aber nur 22 rumliegen.

Kontakt habe ich einfach durch Anruf bekommen. Dann per Mail. Geht eben über Firma einfacher, wenn wir die Sensoren in neue Systeme einsetzten wollen.
Die waren echt Hilfsbereit, aber....... Ich hatte ihnen dann von vier Sensoren die Kalibrierwerte gegeben. Sie meinten, diese in Ihrer Datenbank finden zu können. Somit könne man feststellen, ob ich die Werte richtig auslese. Sie fanden aber von KEINEM diese Werte. Ich habe ihnen dann OSZI-Aufzeichnungen gesendet, wobei die Bitfolge genau mit den gelesenen Werten übereinstimmte. Das wurde mir auch bestätigt (Kein Fehler erkennbar). Sie vermuteten trotzdem einen Fehler beim auslesen?!?
Nur der Karheit wegen. Das soll KEIN VORWURF gegen die Kontaktpersonen bzw. Intersema sein. Über Ferndiagnose geht eben manches doch mal daneben.

Ahhh, noch was. Sie hatten mir gesagt, dass es (selten) vorkommen kann, dass sich die Kalib-Daten durch Statische Aufladungen etc. verändern können.
Dann ists eben vorbei!

@Knickohr.

Würde gerne mal Deinen Sensor ranhängen. Schon der Interesse wegen.
Quellcode ??!!. Ist in C und ich verwende Harware SPI. Muss ich erst minimieren wegen (c) etc.
Aber dann.... Ich versuchs morgen, aber bin in Zeitdruck übers WE.

So.. Dafür, dass ich seither ca. zwei Postings im halben Jahr gemacht habe, war das ne ganze Menge.


Kelvin
 
Hallo Kelvin,

Du hast die Meßwerte innerhalb von einigen 10mBar ??? Bei mir sind die Werte ungefähr so : Ein Sensor zeigt 660mBar bei 25°C, ein anderer 950mBar bei 55°C, ein dritter 650mBar bei 47°C, und dann gibt es wieder welche, bei denen die Temperatur innerhalb von 2 bis 3°C stimmt, bzw. innerhalb von 10mBar korrekt ist.

Ich habe genau (oder besser hatte) 11 Sensoren. Ganze 5 Stück, bei denen die Werte recht gut passen, die anderen 6 sind jenseits von gut und böse !

Ich kann die den Sensor schicken, laß mal Adresse rüber. Kostet natürlich nichts. Ich will schlicht und einfach wissen, ob der Fehler bei mir im Programm ist, ober ob (das glaube ich stark), über die Hälfte Müll sind. Ich habe die Sensoren bei ELV geordert. Eine weitere Bestellung bei Intersema direkt steht noch aus.

Weiter vorne im Beitrag findest Du auch die Kalibrierungswerte und die Umrechnung in die Korrekturwerte. Da die Werte stabil ausgelesen werden, schließe ich jetzt mal ein Problem mit der Versorgungsspannung und den Kondensator aus. Wenn ich die ausgelesenen Werte mit den Meßwerten von Hand berechne, kommt genauso Müll dabei raus. Daraus schließe ich weiterhin, das mein Programm auch stimmt.

Du mußt nicht in BASCOM programmieren, ich will einfach nur die Gewißheit haben, das der Fehler nicht in meinem Programm oder beim Auslesen liegt. Hänge den Sensor an Deine Schaltung und sage mit, was Du raus bekommst. Jeder Sensor hat eine Nummer von mir bekommen. Ich sende Dir den Sensor Nummer 8.

Thomas
 
Hallo Knickohr,

Welche Werte meinst Du mit "stabil ausgelesen"? die Kalib oder die D1/D2 Werte.
Die Kalib wurden bei mir auch stabil gezeigt, aber die digitalisierten Analogwerte waren eben im Wald.

Bei meinen Sensoren sind alle W1 zwischen 42xxx und 46xxx.
Da ist zwischen Deinen und meinen eine große Differenz.
Ebenso bei den W4. Die liegen bei mit zwischen 45xxx und 46xxx.

Die Kalibwerte lese ich nur ein mal beim Start und zerlege sie gleich.

Start > Reset5534 > Lesen aller kalibs > zerlegen....
Wenn der Sensor (D-Werte) gelesen wird > reset5534 > sendestartsequenz > warte bis fertig > lesen. Natürlich 2x. für beide Werte.

Vor jedem lesen der D-Werte sende ich jedesmal eine Reset-sequenz.
Schadet ja nicht.

Ich hatte mich auch mal auf das 17. Bit beim Datenlesen verbissen. Hatte aber keine Auswirkung bei mir ob 17 oder nur 16. Die Hardware SPI macht eben nur 16.
Zum Test hatte ich desshalb VOR ALLEN Komandosequenzen mal eine Reset-sequenz durchgeführt, was aber NICHTS änderte.

Noch eine Theorie von mir. Hoffentlich kann mir das jemand bestätigen.
Wenn durch ESD Bits in den Kalibwerten kippen, dann vermute/glaube/hoffe ich, dass sich ein Bit NUR von 0 auf 1 ändert ?????
Wenn diese Theroie passt, dann würden die Kalibwerte eher größer als kleiner Werden. Und bei deinen Werten sind mache sehr klein. Somit glaube ich im Moment nicht an ein ESD Problem. (Wie gesagt: Theorie)

Kelvin
 
Welche Werte meinst Du mit "stabil ausgelesen"? die Kalib oder die D1/D2 Werte. Die Kalib wurden bei mir auch stabil gezeigt, aber die digitalisierten Analogwerte waren eben im Wald.

Alle Werte werden stabil ausgegeben, auch die "Analogwerte". Die paßten seltsamerweise immer zu den "Normalwerten", die im Datenblatt angegeben waren.

Bei meinen Sensoren sind alle W1 zwischen 42xxx und 46xxx. Da ist zwischen Deinen und meinen eine große Differenz. Ebenso bei den W4. Die liegen bei mit zwischen 45xxx und 46xxx.

Genau ! Das ist es ja, was mich so verwundert. Sag ja, wenn ich die gemessenen "Analogwerte" mit den Korrektur und Kalibrierungswerten von Hand nachrechne, kommt genau der gleiche Müll raus.

Ich vermute ganz stark, das mir da ELV Schrott verkauft hat. Werde wohl auf die Sensoren direkt von Intersema warten müssen.

Thomas
 
Hallo Knickohr,
ich habe leider schlechte News. Deine Ausleseroutine stimmt. Aber der Sensor hat wohl wirklich einen Schuss weg. Ich habe ihn von Deiner Platine abgelötet und in meine Schaltung eingelötet. Ich bekomme die selben Werte, die Du für diesen Sensor gepostet hast. Entweder hast Du recht, dass ELV Schrott verkauft, oder es liegt doch an einem ESD Schaden oder zu hohe Löttemperatur (was ich aber eher nicht glaube), oder ?????
Kannst Du ein ESD Schaden sicher ausschliesen?

Gruß Kelvin
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)