PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C AD-Wandler mit recht geringen anforderungen



DanielSan
15.02.2012, 10:34
Hi,

ich möchte 24 Analoge Signale einlesen. Als vorgeschriebene Hardware ist ein Arduino Nano vorhanden. Ich hatte mir jetzt überlegt, an den I2C Port des Arduino drei 8Channel AD-Wandler anzuschliessen.

Anforderungen:
- maximal 1kHz Samplerate pro Channel (ehr weniger)
- 10bit Auflösung

Ich habe schon etwas recherchiert und folgende AD-Wandler gefunden:
AD799-0 von Amalog Devices
Laut Datenblatt ist das die Version mit 400khz I2C Takt. Hat der eine Auflösung von 10 oder 12 bit?

ADS7828 von TI

Was mir nicht ganz klar ist, wie läuft das mit den Adressen? Kann ich jedem Wandler eine Adresse zuweisen? Im Datenblatt habe ich gelesen, das man dem Wandler 2 verschiedene Adressen zuweisen kann. Das heisst ja das ich mit 3 Wandlern aufgeschmissen bin oder?

Sind die von mir vorgestellten Wandler für mich geeignet?

Danke
Gruß Daniel

021aet04
15.02.2012, 10:50
Zu AD799-0 habe ich nichts gefunden aber zum AD799 (ohne "-0") http://search.analog.com/search/ProductSearch.aspx?query=ad799&locale=en
In diesem DB (http://www.analog.com/static/imported-files/data_sheets/AD7991_7995_7999.pdf) steht auf S12 die Adressen. Du kannst also nur 2 anschließen (z.B. AD7991-0 und AD7991-1). Ich würde dir zu einem 8 Kanal Wandler raten. Dann kannst du bei 2 schon 16Kanäle auslesen.

Beim ADS7828 kannst du 4 anschließen (die Adresse kannst du über A0 bzw A1 einstellen). Daraus ergeben sich max. 32 Kanäle.

Eine 3te Möglichkeit wäre einen µC zu nehmen derdie Analogkanäle einließt. Dann brauchst du nur mit dem Arduino den µC auslesen.

Eine letzte Möglichkeit die mir noch einfällt wäre einen I2C Hub zu verwenden. z.B. diesen (http://www.ti.com/lit/ds/scps132a/scps132a.pdf)

MfG Hannes

lorcan
15.02.2012, 10:57
Bzgl. Adresse guckst du ins Datenblatt Seite 11: http://www.ti.com/lit/ds/symlink/ads7828.pdf. Es sind zwei Pins bzw. Bits die du ändern kannst und damit 4 Möglichkeiten für die Adresse.
Zur Auflösung: Es sind so gar 12Bit.
Viel Spaß & Erfolg

DanielSan
15.02.2012, 11:07
Ok also würde der ADS7828 für mich funktionieren. Die Adressen kann ich dann also einfach mit Pullup bzw. Pulldown einstellen? Das ist perfekt.

An die Lösung mit einem weiteren µC habe ich auch schon gedacht aber das habe ich schnell wieder verworfen, weil mir kein µC bekannt ist der 24AD-Kanäle hat. Ausserdem müsste ich dem ja auch noch eine Software verpassen.

Ich denke die bequemste Lösung ist mit dem ADS7828.

Edit: Kann der Pegel vom I2C dann 5Volt haben? Ich hatte bis jetzt nur IC's bei denen der I2C Pegel 3,3V sein musste.

Danke für eure Hilfe!
Gruß Daniel

Besserwessi
15.02.2012, 17:41
Der Pegel beim I2C Signal sollte zur Versorgungsspannung der ICs passen. Wenn also der µC und AD mit 5 V Versorgt werden, dann halt 5 V. Wenn beide mit 3 V versorgt werden , dann halt 3 V als Pegel. Wenn µC und AD einen unterschiedliche Versorgung haben, sind kleinere Unterschiede (z.B. µC mit 3,3 V und AD mit 4 V) noch so möglich. Der Pegel bzw. die Spannung für die Pullups richtet sich nach der kleineren Spannung. Ist der Unterschied zu groß (z.B. 3 V und 5 V) braucht man Pegelwandler, denn dann wird der High Pegel nicht mehr sicher erkannt.

Crazy Harry
15.02.2012, 19:06
Also µC mit 5V und I²C-IC mit 3.3V und die Pullups auf 3.3V geht definitiv auch.

Besserwessi
15.02.2012, 20:27
Die 3.3 V sind so gerade so groß genug dafür das es für einen high Pegel am µC reicht, der mit 5 V betrieben wird. Die Grenze liegt oft bei 3 V.

Crazy Harry
16.02.2012, 14:06
Ich betreibe das ca. 100x mit bis zu 2.5m Kabel dazwischen und hatte noch nie Probleme.

DanielSan
16.02.2012, 14:17
Ok bevor das hier in einem Glaubenskrieg endet ;-)

Danke nochmal an alle für die Hilfe!

Ich habe mich für den ADS7828 entschieden.

Danke
Gruß Daniel

DanielSan
18.02.2012, 13:53
Ich habe noch eine Frage zu dem ADS7828 einen Extra Thread wollte ich dafür nicht aufmachen...

Was muss ich mit dem COM Pin machen? (Common to Analog Input Channel)
Einfach an GND von den Sensoren?

Danke
Gruß Daniel

021aet04
18.02.2012, 14:28
Der COM Anschluss ist der Bezugspunkt für die Analogeingänge. Dieser muss mit GND der Analogsensoren verbunden sein.

MfG Hannes

DanielSan
18.02.2012, 14:42
Ok Perfekt dann hab ichs doch richtig vermutet.

Danke!