25 Sensoren an ATmega anschließen

OP #1975918
Lesenswert?

Hallo,
ich habe eine Frage zu der Verschaltung von
Temperatursensoren (KTY83-110) an einem
ATmega oder Xmega von Atmel:

Es sollen 25 Temperatursensoren mit einem
Controller eingelesen werden (mit dem 12 Bit-ADC).

Gewählt wurde bisher eine Spannungteiler-
schaltung für die Sensoren, da hierdurch die
Kennlinie etwas linearer wird...

Nun wollte ich eine Art "Bussystem" verwenden, und
jeweils 5 Sensoren mit ADC1 bis ADC5 einlesen und
danach die nächsten 5 Sensoren usw.(siehe Anhang).
Sozusagen Multiplexen.

Jetzt zu dem Problem: Die Abgeschalteten Sensoren
verfälschen das Ergebnis, da sie ja IMMER mit
im bzw. zwischen dem Bus hängen..

Kann mir jemand einen Tipp geben oder habe ich mich
da total verbastelt?

Ich suche eine einfache Möglichkeit eben 25
Sensoren einzulesen..

Vielen Dank
Christopher
Angehängte Dateien:
#1975928
Lesenswert?

@  Christopher Geile (do6og)

>Kann mir jemand einen Tipp geben oder habe ich mich
>da total verbastelt?

Das Stichwort heißt Analogschalter bzw. Multiplexer. 4066 & Co.

>Ich suche eine einfache Möglichkeit eben 25
>Sensoren einzulesen..

Nimm digitale Temperatursensoren, die kann man an einen Bus hängen, 
ala I2C oder so. LM75 ist relativ preiswert.

MfG
Falk
OP #1976972
Lesenswert?

hi falk,

danke für deine antwort.

ich hatte die info noch nicht gegeben, dass diese
sensoren in einem strömungskanal zum einsatz kommen sollen.

bedingung ist hier, dass sie möglichst wenig luftwiderstand
haben ( kleines cw, deswegen auch u.a. die kty83 im stromlinienprofil ).

die 25 sensoren sind nun gleichmäßig aufgeteilt
im querschnitt des kanals. in fünf stromlinienkörpern.
(siehe anhang)

mit den lm75 o.ä. ist die positionierung, luftwiderstand,
anschlüsse usw. nicht so optimal.
auch alles im so-8 smd gehüse ist nicht so schön.

die anschlussleitungen der sensoren verlaufen in dem stromlinienkörper.

du hast von analogschalter oder multplexern gesprochen..
meinst du damit, dass ich jeden einzelnen spannungsteiler
damit ein und ausschalten soll??

schön wäre es ja dann, wenn es ein ic geben würde, wo gleich
mehrere (vielleicht 8 - 12) solcher schalter drin sind, damit
ich nicht unmengen an schalter-ics verbauen muss..

hast du ne idee??

grüße
christopher
Angehängte Dateien:
#1976989
Lesenswert?

@  Christopher Geile (do6og)

>du hast von analogschalter oder multplexern gesprochen..
>meinst du damit, dass ich jeden einzelnen spannungsteiler
>damit ein und ausschalten soll??

Nein, aber die Verbndung zum AVR.

>schön wäre es ja dann, wenn es ein ic geben würde, wo gleich
>mehrere (vielleicht 8 - 12) solcher schalter drin sind, damit
>ich nicht unmengen an schalter-ics verbauen muss..

Logisch.

Analogmultiplexer

HEF4051, 8 Kanal
HEF4067, 16 Kanal

MfG
Falk
OP #1978917
Lesenswert?

@ Vlad

ja, du hast natürlich recht.. hab ich schon geändert.
denoch bleibt das problem bestehen, dass die unteren
widerstände alle noch auf bzw. im bus hängen und somit
das messergebnis beeinflussen.

@ Falk

ich habe mir mal den hef4067 rausgesucht. der schaltet
zwar nicht "hart" gegen gnd (sind um die 300ohm) aber da nur
die spannung zum adc gegeben wird ohne nennenswerten stromfluss
kann man dies wohl akzeptieren...

stimmt meine schaltung so wie du das gemeint hast??


@ all

ich habe noch eine zweite lösung mit dioden.
hier gibt es zwar einen spannungsabfall um die 0,7v, aber
ich muss so oder so noch zu jedem spannungsteiler ein
poti in reihe setzen um alle auf den gleichen wert zu stellen...

(die absolute genauigkeit ist nicht so wichtig ... 2-3°C
aber die abweichung untereinander soll 0,1°C sein)

was haltet ihr von dieser lösung??
oder ist die lösung von falk in meinem fall die beste?


schönen abend
christopher
Angehängte Dateien:
Gast #1978943
Lesenswert?

>ich habe noch eine zweite lösung mit dioden.

Dann kannst Du ja gleich die Temperatur mit Dioden machen.

>(die absolute genauigkeit ist nicht so wichtig

Das ist gut. +/- 10K werden es schon werden.
#1978945
Lesenswert?

Christopher Geile schrieb:
> @ Vlad
>
> ja, du hast natürlich recht.. hab ich schon geändert.
> denoch bleibt das problem bestehen, dass die unteren
> widerstände alle noch auf bzw. im bus hängen und somit
> das messergebnis beeinflussen.
>
> @ Falk
>
> ich habe mir mal den hef4067 rausgesucht. der schaltet
> zwar nicht "hart" gegen gnd (sind um die 300ohm) aber da nur
> die spannung zum adc gegeben wird ohne nennenswerten stromfluss
> kann man dies wohl akzeptieren...
>
> stimmt meine schaltung so wie du das gemeint hast??
>
>
> @ all
>
> ich habe noch eine zweite lösung mit dioden.
> hier gibt es zwar einen spannungsabfall um die 0,7v, aber
> ich muss so oder so noch zu jedem spannungsteiler ein
> poti in reihe setzen um alle auf den gleichen wert zu stellen...
>
> (die absolute genauigkeit ist nicht so wichtig ... 2-3°C
> aber die abweichung untereinander soll 0,1°C sein)

Der Widerstand R25 ist mit 990 Ohm bis 1010 Ohm angegeben, der TC mit 
0.76%/K (7.6 Ohm/K)...
http://www.nxp.com/documents/data_sheet/KTY83_SER.pdf
Hinzukommt noch die sehr lange Zeitkonstante...

> was haltet ihr von dieser lösung??
> oder ist die lösung von falk in meinem fall die beste?

Je nach dem was im Strömungskanal tatsächlich gemessen werden soll.
Wenn es in diese
http://www.dantecdynamics.com/Default.aspx?ID=654
Richtung gehen soll, ist das ganze mehr oder weniger ungeeignet...

> schönen abend
> christopher
#1979083
Lesenswert?

Christopher Geile schrieb:
> @ Vlad
>
> ja, du hast natürlich recht.. hab ich schon geändert.
> denoch bleibt das problem bestehen, dass die unteren
> widerstände alle noch auf bzw. im bus hängen und somit
> das messergebnis beeinflussen.

verstehe ich nicht.
Wenn du die Pins der gerade nicht benutzten Sensoren auf Eingang stellst 
(und die internen Pullups deaktivierst), sind die doch extrem hochohmig.
Ich kann mir nicht vorstellen, dass dies die Messung signifikant 
beeinflusst.
Persönliche Seite #1979259
Lesenswert?

Hallo,

wie wäre es mit mehreren 'kleinen' Atmegas oder ATTinys, die je einen 
Teil der Sensoren messen und die Ergebnisse über einen serielle Bus 
zusammenführen?

Z.B. je Rippe einen ATtiny2313 und noch einen Proz als Datensammler? 
Vielleicht einen ATMega644P mit einer zweiten seriellen zum 
übergeordneten System oder zur Anzeige?

Gäbe einen schönen modularen Aufbau. Für den Bus bräuchte es gar keinen 
großen Aufwand, ein paar Dioden, damit die Sendeleitungen der Tinys 
(oder Tinies?) zusammengeführt werden können. Der Master sendet an alle 
und pollt sich die Daten zusammen.

Und bei Bedarf werden auch schnell 8x8 Sensoren daraus...

Gruß
Jens
#1979432
Lesenswert?

Jobst M. schrieb:
> Aber die nicht aktiven Sensoren verbinden die einzelnen Leitungen des
> Busses.

oh stimmt, hab ich übersehen.
Anstatt Analog-Multiplexer könnte man aber auch irgend ein 74er mit 
Tristate-Ausgängen nehmen, zB 74X241
Da hängt man an an einen die Sensoren einer Reiehe und beschalten den IC 
fest so, dass alle Ausgänge High sind und der µC nur den Enable-Eingang 
steuert, mit dem er die Ausgänge entweder hochohmig oder an schaltet.

Das sollte deutlich billiger sein, als ein Analogmultiplexer.
Gast #1979521
Lesenswert?

>Das sollte deutlich billiger sein, als ein Analogmultiplexer.

Und auch nicht funktionieren.
Was soll denn der Quatsch, die Analog-Multiplexer sparen zu wollen?
Weder ein AVR noch ein 74xx Baustein liefern eine hinreichend stabile 
Ausgangsspannung, um damit eine halbwegs genaue Temperaturmessung 
durchzuführen.
#1979606
Lesenswert?

Jens Mundhenke schrieb:

> wie wäre es mit mehreren 'kleinen' Atmegas oder ATTinys, die je einen
> Teil der Sensoren messen und die Ergebnisse über einen serielle Bus
> zusammenführen?
>
> Z.B. je Rippe einen ATtiny2313 und noch einen Proz als Datensammler?

Der ATtiny2313 hat keinen A/D-Wandler und die Tinys mit A/D-Wandler 
haben keinen UART.

Ideal wäre wohl der ATtiny26 bzw. ATtiny261 mit 11 A/D-Kanälen und dann 
mit I²C oder SPI (notfalls auch Soft-UART) zum Master.

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