Forum: Mikrocontroller und Digitale Elektronik MCP3421 mehrfach über I²C ansteuern?


von Thomas (Gast)


Lesenswert?

Hallo liebe Gemeinde (LOL),

ich habe ein Problem weil Tomaten auf den Augen gehabt und neu im Thema.

Ich habe mir drei MCP3421-ICs besorgt und einzeln laufen die super in 
Verbindung mit meinem Arduino Mega, jedoch habe ich nun das Problem 
erkannt, dass Sie alle die gleiche Geräte-Adresse von Hause aus haben.

Sprich, ich kann sie nicht alle auf einen Bus hängen und mit nur einer 
Adresse arbeiten. Im Datenblatt wird nix erwähnt von einer Möglichkeit 
diese per Befehl zu setzen, man kann wohl per Großbestellung wohl vor 
Manufaktur mitteilen, dass die Adresse geändert werden soll.

Jetzt habe ich an eine Multiplexer-Lösung gedacht, jeodch weiß ich 
garnicht welche ICs dazu passen und ob das nicht völlig unnötig ist, 
wenn man z.B. mit dem Mikrocontroller mehrere Pin-Paare als eigene 
I2C-Busse definieren oder verwenden kann?

Was ist Eure Meinung? Ist das Quark dem Mikrocontroller die Arbeit 
machen zu lassen, wenn es dafür ICs gibt? Und wenn ja, welche sind das?

Danke für die Antworten und einen Wunderschönen noch.

von Ulrich (Gast)


Lesenswert?

Das mit der Adresse ist richtig erkannt. Je nach Lieferant wird ggf. 
auch mal eine 2. Adresse angeboten, nicht nur für Großkunden.

Da der AD Wandler nicht besonders schnell ist, und nicht so viele Daten 
braucht, kann man den I2C Bus auch in Software machen. Auch dafür gibt 
es fertige Lösungen, es braucht aber schon ein paar mehr Pins (2 je 
Kanal) als ein extra MUX.

Mit einem MUX für I2C hab ich noch keine Erfahrung, so etwas wie ein 
74HC4052 sollte aber schon ausreichen für 4 Kanäle. Die AD Wandler 
werden dann wohl jeder einen Pullup brauchen.

von Thomas (Gast)


Lesenswert?

Hi, danke für die schnelle Antwort.

Der ad-wandler mcp3421 von microchip ist superschnell, zumindest für 
meine Bedürfnisse.
Ich schaffe es den anliegenden spannungswert Wert 50 mal abzufragen, 
dann ein arithmetisches Mittel zu bilden und diesen in 41ms auf nem 
terminal auszugeben. Wieviel dabei für die befehlsvearbeitung verloren 
geht, weiss ich gerade nicht.

Ich habe auch schon multiplexer gefunden, die etwas moderner und 
schneller in der Verarbeitung sind. Jedoch bin ich mir unsicher, ob das 
jetzt eigentlich designtechnisch und als saubere Lösung gesehen nicht 
eher die Aufgabe des uC sein sollte, oder lieber externe Bausteine. Mir 
geht es vor allem um die Schnelligkeit.

Warum eigentlich pullups? Geht mir das Signal über sda/scl sonst flöten? 
Sind die Kanäle am nicht ausreichend versorgt? Oder kann es sein, dass 
diese Informationen auf den Leitungen terminiert werden durch die 
Widerstände?

von Thomas (Gast)


Lesenswert?

Blöde Smartphones mit Touch-Tastatur. Sorry für die Fehler im Text.

von Peter Kranl (Gast)


Lesenswert?

PCA9544 und die Sache läuft (bei Reichelt erhältlich).SMD zu DIP-Adapter 
gibts (günstig) bei Anvilex oder pcb-devboard.Der 4-Kanalwandler MCP3424 
mit 8 Adressen ist bei Future Electronics erhältlich.

von Ulrich (Gast)


Lesenswert?

Der MUX speziell für I2C hat schon als Vorteil eine etwas einfachere 
Verkabelung.
Die extra Pullups braucht man, weil der I2C bus mit open Kollektor 
Ausgängen arbeitet, die nicht gewählten Ausgängen haben sonst keinen 
definierten Pegel.

Der AD Wandler mehrfach schnell auszulesen nur um zu mitteln macht 
eigentlich weniger Sinn: das Kann der AD Wandler auch intern indem man 
eine langsamere Rate (bis 1/4 s) mit dann mehr Auflösung wählt.

Beim 4 fach AD muss man sehen, das dies 1 Wandler ist, der nacheinander 
die Kanäle Abtastet. Es gibt dadurch ggf. etwas mehr Rauschen (nicht nur 
vom Wandler, sondern auch von der Signalquelle) als je Kanal ein 
Wandler, der dann immer wandelt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.