PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehr als 8 Temperatursensoren pro Prozessor möglich?



Ali_Baba
12.07.2007, 15:08
Hallo,

bin ziemlicher Anfänger, aber lese begeistert dieses Forum und habe auch Dank dieser Hilfe einige Anfangsschwierigkeiten bereits überwunden. Vielen Dank!!

Gerne würde ich nun mittels des ADC-Wandlers (Atmega16) mehr als 8 Temperaturen in den Prozessor einlesen. Dazu probierte ich schon einige Schaltungen aus.


(Plus A) -> (Widerstand 4,7 k) -> (Abgriff A) -> (KTY-Sensor) -> (Masse)

(Plus B) -> (Widerstand 4,7 k) -> (Abgriff B) -> (KTY-Sensor) -> (Masse)

Von Abgriff A und B geht über je eine Diode (mir ist klar dass dabei ein Spannungsabfall entsteht) zum ADC-Eingang des Prozessors. Die Pluspole A und B sollen, geschaltet über den Prozessor, abwechslend Spannung erhalten und dann die Werte eingelesen werden. Der KTY Sensor (in meinem Versuchsaufbau noch ein einfacher Poti) ist zusätzlich mit einem kleinen Kondensator (100nF) überbrückt.

Ich stelle nun aber fest, dass, wenn ich die Spannung messe (z.B. Plus A an 5 Volt, Plus B an Masse, die Werte je Messung ziemlich schwanken.

Woran könnte das liegen? (Sie schwanken nicht, wenn ich direkt an Abgriff A messe)

Kann mir jemand sonstige Tips geben, wie ich mit nur einem Prozessor den Wert von mehr als 8 Temperatursensoren einlesen kann?

Danke!

Alfons

franzl
12.07.2007, 15:22
Hi,
du könntest einen externen ADC Baustein mit SPI oder I2C Interface benutzen.
mfg franz

Yossarian
12.07.2007, 17:51
Hallo
z.B per Multiplexer. 4051,4067

Mit freundlichen Grüßen
Benno

MartinITM
12.07.2007, 19:40
Abgriff A und B geht über je eine Diode
Hio,

warum gehst du über eine Diode?
Setze doch mal ein RC-Glied mit 100Ohm und 10nF vor den AD-Wandler. Evtl. kannst du mit der Wandlung 10ms später anfangen damit der Pin, der dir wahrscheinlich den Plus B auf 5V schaltet, ein bisschen mehr Zeit hat tatsächlich auf 5V zu schalten. Vielleicht hilft es auch, wenn du eine längere Wandlungszeit einstellst oder einfach eine Dummy-Wandlung vor der tatsächlichen Wandlung startest. Mehrfache Wandlungen und dann mitteln bringt dir auch ein stabileres Signal. Falls du einen Integer (16Bit) als Variable benutzen willst kannst 16 mal wandeln bis der Int überläuft.

LG
Martin

Ali_Baba
13.07.2007, 15:23
Hallo,

mir schwebte der im Anhang gepostete Schaltplan vor: Ein kurze Erklärung:

Pluspol 1 und Pluspol 2 werden abwechselnd und gesteuert durch den Prozessor (z.B. über einen Transistor) mit Spannung versorgt. Meßpunkt 1A und 1 B münden _gemeinsam_ im ADC-Port 0 Meßpunkt 2A und 2B _gemeinsam_ im ADC Port 1 usw. bis ADC Port 7. Der 'durchgestrichene Widerstand' ist der Meßfühler.

Wenn nun keine Dioden verwendet werden, dann läuft der Strom 'retrograd' auch durch den eigentlich 'abgeschalteten Fühler und verfälscht natürlich die Messung. ... Vielleicht alles recht naiv gedacht von mir, aber warum die Meßschwankungen?

Viele Grüße
Alfons

Ali_Baba
13.07.2007, 15:33
@ Martin,

die Werte stabilisieren sich auch dann nicht , wenn über einen längeren Zeitraum (z.B. 5 Minuten) z.B. alle 10 Sekunden gemessen wird. Dummy-Wandlung wird gemacht. Mit mehrfachen Wandlungen kann ich sicherlich den 'wahren Wert' besser eingrenzen.
Die Frage bleibt dennoch: Warum 'springen' die Werte deutlich mehr, wenn zwischen Diode und ADC-Eingang abgegriffen wird als wenn direkt beim Temperaturfühler abgegriffen wird (wobei dann aber die prozessorgesteuerte 'Umschaltung', die ich ja möchte, mit der hier gezeigten Schaltung natürlich nicht mehr funktioniert)?

Viele Grüße
Alfons

bax
13.07.2007, 16:18
Meine Theorie wäre: Der ADC-Eingang ist ja recht hochohmig. Wenn es nun einen Störspannungsimpuls gibt -woher auch immer- , dessen Spannung höher ist als Dein eigentliches Meßsignal, läßt die Diode diesen bis zum ADC-Port, wenn der Impuls wieder abklingt, bleibt er am ADC praktisch stehen und wird nur langsam durch den Innenwiderstand des ADC abgebaut. Genaugenommen hat der ADC-Port jedes Mal, wenn die Spannung am ADC größer ist als U_mess minus U_durchlaß ein völlig undefiniertes Potential. Du müßtest also am ADC einen Widerstand gegen Masse schalten, der immer einen Strom durch die Diode fließen läßt, der allerdings auch für weitere Meßungenauigkeiten sorgen wird.

greetz Rajko

MartinITM
13.07.2007, 22:07
Hio,

die Theorie von bax halte ich auf für möglich.
Würde dir auch zum 4067 (http://pdf1.alldatasheet.com/datasheet-pdf/view/17723/PHILIPS/HEF4067B/datasheet.pdf) raten. Kostet 60 Cent beim Reichelt und ist simpel anzusteuern. Somit gibts keinen Spannungsabfall an einer Diode und kannst genügend Temperatursensoren anstöpseln.

LG
Martin

Bernhard667
15.07.2007, 08:30
Hallo Ali_Baba,

die Diode ist das Problem.
Schau Dir bitte mal ein U/I Diagramm einer Diode an.
Die Spannung hängt logarithmisch vom Stromfluß ab.
Als Hausnummer nimmt man immer 0.7V Flussspannung der Diode. Das gilt aber nur für sauber durchgeschaltetete Dioden.

Der ADC Eingang des Controllers ist sehr hochohmig. Der Stromfluß durch die Diode ist deshalb:
-sehr klein
-abhängig von Einschwingvorgängen und Strörungen

Dieser variable Stromfluß führt zu variablen Spannungsabfällen an der Diode.
-> variables Messresultat.

Die Analogmultiplexer sind wirklich zu empfehlen.

Bernhard

Ali_Baba
15.07.2007, 13:27
Herzlichen Dank!

Da werde ich mich wohl noch mit 'Analogmultiplexer' beschäftigen müssen.

Kann hierzu jemand gute Erklärungen im Internet empfehlen?

Viele Grüße!
Alfons

Nochmals editiert: habe das hier:
http://www.ferromel.de/tronic_275.htm
gefunden und auch verstanden. Danke nochmal!!