uC mit mind. 10 ADC-Eingängen

OP #3316078
Lesenswert?

Hallo Zusammen,

ich stehe vor der Aufgabenstellung, mit einem uC (vorzugsweise ATmega) 
10 Sensoren abzufragen, die alle ein analoges Signal liefern.
Am einfachsten wäre es ja, wenn der uC 10 ADC-Eingänge hätte. Leider 
haben die meißten ATmegas ja nur 6 (im DIP) oder 8 (als SMD) 
ADC-Eingänge. Da das ganze auch noch gut von Hand zu löten sein soll, 
würde ich DIP auch preferieren.
Hat einer einen Tipp für mich, ob es da einen uC mit mindestens 10 
ADC-Eingängen gibt, oder ob ich beispielsweise besser einen externen 
ADC-IC nehme?

Auf die Angaben bei reichelt über die Anzahl der Analog-Eingänge 
verlasse ich mich lieber nicht. Da steht der ATmega8A-PU z.b. mit 14 
Analog-Eingängen drin. Meines Erachtens hat der aber doch nur 6, oder?

http://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-8A-PU/3/index.html?&ACTION=3&LA=446&ARTICLE=119677&GROUPID=2959&artnr=ATMEGA+8A-PU

Danke schonmal...
#3316097
Lesenswert?

Hi Dominik,

Dominik R. schrieb:
> Hallo Zusammen,
>
> ich stehe vor der Aufgabenstellung, mit einem uC (vorzugsweise ATmega)
> 10 Sensoren abzufragen, die alle ein analoges Signal liefern.
...
> Hat einer einen Tipp für mich, ob es da einen uC mit mindestens 10
> ADC-Eingängen gibt, oder ob ich beispielsweise besser einen externen
> ADC-IC nehme?

Hast Du mal überlegt zumindest einen Teil der Eingänge zu multiplexen? 
Eine Eingangsbeschaltung benötigst Du ja wahrscheinlich sowieso 
(Verstärker, Puffer, Eingangsfilter), dann sollte ein Multiplexer auch 
noch rein passen. Oder hast Du eine harte Anforderung an die Meßzeiten 
und kannst deshalb nicht multipexen?
Gast #3316099
Lesenswert?

Dennis schrieb:
> Atmega2560 hat 16x 10bit allerdings tqfp.
>
> diesen könntest aber auf einen adapter löten.
> könntest aber auch ein arduino nehmen da sitzt der auch drauf.

Wenn du ihn auf einen Adapter löten kannst, dann kannst du ihn auch 
gleich auf die Platine löten. Warum einen 100poligen Adapter 
zwischenlöten?
OP #3316114
Lesenswert?

Danke schonmal für die Vorschläge.

An einen Multiplexer hatte ich auch schon gedacht. Wie funktioniert das 
bei einem Multiplexer, dass ich weiss, von welchem Sensor das Ergebnis 
kommt. Über eine Steuerleitung?

Das mit dem Atmega2560 bzw. Arduino ist auch 'ne super Idee. Löten traue 
ich mir glaube ich nicht zu, aber wenn es den eh schon auf einem 
fertigen Board gibt, um so besser.
OP #3316146
Lesenswert?

Justus Skorps schrieb:
> natürlich von dem, dessen Signal du gerade durchschaltest...

Ich bin noch recht neu im Bereich uC und habe noch nie mit Multiplexern 
gearbeitet. An sich ist mir die Funktionsweise im groben klar. Mehrere 
Eingänge werden auf einen Ausgang gelegt. Aber wie das mit der 
Durchschaltung funktioniert ist mir bisher halt noch nicht bekannt. Gibt 
es da in Digital Input der bei jedem High einen Eingang weiter schaltet, 
oder wie läuft das?

Lg
Dominik
#3316154
Lesenswert?

Hi Dominik,

Dominik R. schrieb:
> Danke schonmal für die Vorschläge.
...
> Das mit dem Atmega2560 bzw. Arduino ist auch 'ne super Idee. Löten traue
> ich mir glaube ich nicht zu, aber wenn es den eh schon auf einem
> fertigen Board gibt, um so besser.

dann suche Dir doch eine passendes Arduino Zusatzplatine z.B. auf eBay.
Alternativ kannst Du auch über Sensor-Adapter nachdenken, die Dir die 
Ergebnisse digital, z.B. über I2C oder SPI-BUS liefern. Du kannst 
entweder fertige I2C A/D Wandler mit entsprechendem BUS nehmen oder 
selbst etwas mit z.B. AT-Tiny13-ern bauen.

Mach Dir vorher noch mal Gedanken über die benötigten Abtastraten. Jeder 
Wandler braucht eine gewisse Zeit um einen Analogwert messen zu können. 
Wenn Du mit einem einzigen A/D Wandler im Multiplex-Betrieb arbeitest 
addieren sich die Zeiten. Wenn Du mehrere A/D Wandler parallel betreibst 
und die Ergebnisse nur abrufst ist das wahrscheinlich insgesamt 
schneller.

Die Genauigkeit ist ein zusätzliches Problem. Beim Multiplexer musst Du 
eventuell Wartezeiten einhalten, damit sich nach dem Umschalten der 
Signalpegel vor der Messung einstellen kann. Bei vielen, verteilten A/D 
Wandlern musst Du auf das Design der Versorgungspannung achten. Wilder 
Drahtverhau und schlecht gefilterte Spannungen führen da schnell zu 
falschen Ergebnissen.

Überschlage also mal ein paar Randbedingungen bevor Du Dich für ein 
bestimmtes Verfahren entscheidest.
#3316161
Lesenswert?

Dominik R. schrieb:
> Ich bin noch recht neu im Bereich uC und habe noch nie mit Multiplexern
> gearbeitet. An sich ist mir die Funktionsweise im groben klar. Mehrere
> Eingänge werden auf einen Ausgang gelegt. Aber wie das mit der
> Durchschaltung funktioniert ist mir bisher halt noch nicht bekannt. Gibt
> es da in Digital Input der bei jedem High einen Eingang weiter schaltet,
> oder wie läuft das?
>
> Lg
> Dominik

http://www.mikrocontroller.net/articles/Multiplexen
Gast #3316194
Lesenswert?

Der analog Multiplexer funktioniert genau so, wie derinterne im 
Mikrocontroller. Du stellst ein, auf welchen Eingang er schalten soll. 
Beim AVR gibts dazu ein Register, beim externen Multiplexer sind es drei 
Steuerleitungen (für die Werte 0-7).
Gast #3316216
Lesenswert?

Servus,

in der Regel hat ein MC sowieso nur einen ADC der intern gemultiplext 
ist. Also macht es zeitlich keinen Unterschied wo man das Multiplexing 
macht. Außerdem kann ein AtMega die Daten auch gar nicht parallel 
verarbeiten. Das nur zum Thema harte anforderungen an Messzeiten.
 Ich würde einfach nach einen passenden analog Multiplexer suchen, die 
gibt es meißt mit 8 bzw 16 Eingängen.
OP #3316251
Lesenswert?

Stefan schrieb:
> Der analog Multiplexer funktioniert genau so, wie derinterne im
> Mikrocontroller. Du stellst ein, auf welchen Eingang er schalten soll.
> Beim AVR gibts dazu ein Register, beim externen Multiplexer sind es drei
> Steuerleitungen (für die Werte 0-7).

Jetzt hab auch ich das mal kapiert. Damit kann ich arbeiten. Die 
messzeit sollte kein Thema sein. Dann kann ich ja einfach einen ATmega8 
nehmen, den ich hier eh noch rumliegen habe, einen 8-Kanal-Multiplexer 
und schon habe ich sozusagen 15 analoge Eingänge (6 direkt am uC, wovon 
einer vom Multiplexer belegt ist und eben 8 am Multiplexer)...

Dankööööö

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