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
:
Bearbeitet durch User
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
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
:
Bearbeitet durch User
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
Danke für die Meldungen. -Vref, ist auf den 3V Versorgungsausgang vom PI angeschlossen. -Wenn es hart kodiert ist, dann muss ich es mir selber herleiten/empirisch,wie viel Grad es sind?Gibt es dazu keine Formel o.ä.?
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 ;)
:
Bearbeitet durch User
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?
Huch, 12 bit. Dann sind die von mir genannten Zahlen (512 für die Hälfte, 1023 für die volle Spannung) falsch.
Hallo zusammen, vielen Dank für die Erklärungen. Ich denke ich habe es verstanden. Werde nochmal meine Schaltung und mein Verständnis dabei überprüfen :) Danke Gruss ben
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.