INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Sensorauslesung SPI



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

17.03.2015, 08:44 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2015 09:13 von Alighieri.)
Beitrag #1

Alighieri Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Mar 2015

2011
-
kA



Sensorauslesung SPI
Hallo liebes Forum,

zur Zeit verwende ich folgenden Druck und Temperatursensor: http://www.meas-spec.com/downloads/MS5803-05BA.pdf
zusammen mit der NI USB-8652 Karte: http://digital.ni.com/manuals.nsf/websea...AC006D49F4

Das ganze soll über Spi laufen, dass heißt ich sende einen von den 5 Basic Commands (8 bit) an den Sensor und dieser gibt mir dann Daten zurück.
Die wichtigen Kommandos für mich sind PROM Read und ADC Read. Wie ihr auf Seite 8 des Sensordatenblatts sehen könnt, ist die Größe der Antwort angegeben in bit.
PROM Read gibt pro Koeffizient 16bit zurück und ADC Read 24bit für Temperatur und Druck.

Ich habe herumprobiert, und wenn ich nach dem ersten Koeffizienten frage mit dem Kommando A2 (hexa), dann gibt er mir folgenden Wert jedes mal gleich 254. Das kann nicht sein, da die Antwort erstens 16bit groß sein soll und einen typischen Wert von 46372 haben soll.

Wenn ich jedoch mehrmals das Kommando A2 im Array an den Sensor schicke bekomme ich folgende Werte: 254 182 54 255 255 255 und immer weiter 255. Wenn ich nun 182 und 54 zusammenfasse bekomme ich (auch für alle anderen Koeffizienten genauso) einen Wert der zum typischen Wert sehr gut passt.

Somit habe ich die 6 Koeffizienten bekommen, was mir aber ein wenig komisch vorkommt.

Wenn ich nun nach den "rohen" Temperatur und Druckwerten frage mit dem Kommando ADC Read (00000000), dann soll eine 24 bit Antwort für Druck und Temperatur zurückkommen. Schick ich das Kommando wie oben auch schon gemacht öfters in einem Array dann bekomme ich folgende Werte zurück:

254, 92, 85, 216, 127, 255, 255, 255 und 255 immer weiter.. (Dabei verändert sich der Arrayeintrag der hier bei 216 und 85 liegt bei jeder Abfrage. Die anderen bleiben gleich)

Ich kann auch davon ausgehen, dass die Werte 92 85 216 zur Temperatur gehören, denn wenn ich den Sensor umschließe werden die Werte kleiner. Dabei wird 92 ganz langsam kleiner dann die 85 und dann 216 ganz schnell.


Kann mir irgendjemand sagen ob das normal ist? Wenn ja wie ich meine Werte daraus ziehen soll
Und wenn nein was ich denn falsch mache.

Ich hänge mal meine Schaltung anbei..


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Sensorauslesung SPI - Alighieri - 17.03.2015 08:44
RE: Sensorauslesung SPI - GerdW - 17.03.2015, 09:22
RE: Sensorauslesung SPI - Alighieri - 17.03.2015, 09:28
RE: Sensorauslesung SPI - GerdW - 17.03.2015, 09:43
RE: Sensorauslesung SPI - Alighieri - 17.03.2015, 09:50

Gehe zu: