mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 25 Sensoren an ATmega anschließen


Autor: Gordon Shumway (do6og)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gordon Shumway (do6og)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
den oberen teil brauchst du nur einmal.

an jedem Temperatursensor hängen ja momentan 5 Rs parallel.

wenn du das korrigerst sollte es keine Probleme geben.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gordon Shumway (do6og)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Sensen Ohr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So klappt es ganz einfach und ohne weitere Bauteile.

Autor: DRJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für was sind die Dioden im oberen Teil?
Sie sind in Sperrichtung eingebaut.

Autor: Jens Mundhenke (dl4aas) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vlad Tepesch schrieb:
> 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.

Aber die nicht aktiven Sensoren verbinden die einzelnen Leitungen des 
Busses.


Gruß

Jobst

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spare jederzeit, dann hast du immer Not ;-)

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorschlag Temperatursensor:
MPC9700 oder MCP9701 von Microchip. (TO92 oder SOT23)

(Falls der Sensor nicht schon festgelegt ist)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Markus Müller (mmvisual)

>(Falls der Sensor nicht schon festgelegt ist)

Ist er aber, aus mechanisch/aerodynamischen Gründen.

Beitrag "Re: 25 Sensoren an ATmega anschließen"

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gordon Shumway (do6og)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke euch erstmal für die antworten..
ich erstelle jetzt ein layout mit atxmega und zwei
multiplexern.

grüße

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.