MCP3208,Raspberry PI3, Prinzip

#5730670
Lesenswert?

Hallo zusammen,

ich habe eine prinzipielle Frage bezüglich MCP3208.

Ich habe einen Thermosensor (K-Type), einen Verstärker AD595 und einen 
AD-Wandler MCP3208 zusammen verschaltet. Mein Ziel ist es natürlich die 
Temp. später in einem Python Script einzulesen.

Dies habe ich mit einem "Fertig-Skript" aus dem Netz auch schon gemacht, 
jedoch wird bei Raumtemperatur immer der Wert ~60 ausgegeben(Bei 
Körpertemp. ~100). Frage:Warum 60 und 100?

Ich habe vom AD595 die Ausgangsspannung gemessen und mit dem Datenblatt 
verglichen, alles ok soweit.

Ich vermute ich muss dem MCP3208 noch sagen, welche Analog Spannung, 
welche Temp. ist. Kann das sein? Falls ja sicher im Python Script?Aber 
wo finde ich dann die "Umrechnungsformel"?


Gruss
#5730829
Lesenswert?

Ich@pszczola.eu B. schrieb:
> Ich vermute ich muss dem MCP3208 noch sagen, welche Analog Spannung,
> welche Temp. ist.

Erst mal überprüfen, ob MCP3208 richtig konvertiert und du richtige 
Daten bekommst. Teste das mit einem Multimeter / Netzteil etc.

Wenn alles i.o. ist, teste ob deine Schaltung, von der du uns nicht 
verraten hast, überhaupt richtige Spannungen an MCP3208 anlegt, d.h. 
deine analoge Schaltung richtig funktioniert. z.B. mit einem Multimeter.

Wenn da auch alles i.o, ist wirst du natürlich dem uC sagen müssen, 
welche Spannung welche Temp. ist.

Ich@pszczola.eu B. schrieb:
> Aber
> wo finde ich dann die "Umrechnungsformel"?

Das impliziert, dass du das Datenblatt deines Tempsensors nicht gelesen 
hast. Da stellt sich die Frage, wonach du überhaupt deine Schaltung 
gebastelt hast und wie das dann funktionieren soll. Da steht nämlich 
üblicherweise eine Tabelle von Temperatur zu Widerstand. Danach ist 
eigentlich alles straight forward
#5730898
Lesenswert?

Solocan Z. schrieb:
> Das impliziert, dass du das Datenblatt deines Tempsensors nicht gelesen
> hast. Da stellt sich die Frage, wonach du überhaupt deine Schaltung
> gebastelt hast und wie das dann funktionieren soll. Da steht nämlich
> üblicherweise eine Tabelle von Temperatur zu Widerstand. Danach ist
> eigentlich alles straight forward

Hallo Solocan,

danke für dein Feedback. Der TempSensor ist ein K-Type. Heisst dazu 
brauche ich einen Verstärker (AD595). Beim AD 595 steht im Datenblatt 
welche Spannung bei Welche Temp. ausgegeben wird. Diese kenne ich und 
diese ist auch nach Datenblatt korrekt (mit Multimeter nachgemessen)

Deine Check Items werde ich durchführen. Mir ging es jedoch prinzipiell 
um die Frage: Von wo weiss der A/D Wandler, welche Spannung am  Analog 
Input, welchen Wert am Digitalausgang ausgeben soll.

Oder habe ich einen Denkfehler? :D

Gruss
Gast #5730911
Lesenswert?

Ben B. schrieb:
> Von wo weiss der A/D Wandler, welche Spannung am  Analog
> Input, welchen Wert am Digitalausgang ausgeben soll.

Das ist im Chip hart verdrahtet. Er vergleicht den analogen Eingang mit 
einer Referenz (am Pin Vref) und liefert dementsprechend Zahlenwerte von 
0 bis 1023.

0 entspricht 0 Volt
512 entspricht der Hälfte der Referenz-Spannung
1023 entspricht der Referenz-Spannung
#5731012
Lesenswert?

Ben B. schrieb:
> Von wo weiss der A/D Wandler, welche Spannung am  Analog
> Input, welchen Wert am Digitalausgang ausgeben soll.

Ein AD-Wandler ist ein "Vergleicher". Du legst eine Spannung an 
Referenzinput (sagen wir 5V) und legst z.B. an den Messkanal 2,5V an. 
Dann vergleicht das AD-Wandler und sagt ok, das ist die Hälfte der 
Referenzspannung und kodiert das in Bits. Dein MCP3208 ist 12bit 
Wandler. Das heißt in Dezimalwerten

0V ist 0
2,5V ist 2048
5V ist 4095

usw.

Das kommuniziert er dann an seinem Digitalausgang als Bits (in deinem 
Fall SPI Protokoll, dazu kannst du in Wiki darüber lesen.)

Wenn am analogen Messkanal die richtige Spannung anliegt und du an 
deinem Mikrocontroller unvernünftige Werte liest, liegt es 
höchstwahrscheinlich an deiner Datenverarbeitung. Du musst ggf. den 
Sensor per SPI richtig konfigurieren und dein Programm dementsprechend 
schreiben. Was und wie du es konfigurieren musst, steht im Datenblatt 
von MCP3208. Dazu musst du ggf. grundlegendes zum SPI Protokoll 
verstehen. Aber trau dich. So schwer ist es nicht, wie es im ersten 
Blick scheint ;)
#5731018
Lesenswert?

Ben B. schrieb:
> dann muss ich es mir selber
> herleiten/empirisch,wie viel Grad es sind?Gibt es dazu keine Formel
> o.ä.?


Ben B. schrieb:
> Beim AD 595 steht im Datenblatt
> welche Spannung bei Welche Temp. ausgegeben wird. Diese kenne ich und
> diese ist auch nach Datenblatt korrekt (mit Multimeter nachgemessen)

Also die Konversion von Temperatur zu Spannung hast du angeblich 
verstanden. Die Konversion von Spannung zu digitalen Werten hast du 
jetzt auch erklärt bekommen. Was für eine Formel brauchst du noch?

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