Implementieren von I2C zu Analog

Wie kann ich eine Karte implementieren (oder vielleicht gibt es einen IC, der das bereits tut), dessen Eingang I2C und der Ausgang eine analoge Spannung (0 V - 5 V) wäre?

Irgendwann möchte ich ein paar davon mit den IO-Pins eines Arduino verbinden, um effektiv digitale zu analoge Ausgänge zu schaffen.

Antworten (5)

Betrachten Sie den Microchip TC1321 , einen I2C-Digital-Analog-Wandler (DAC) mit 10 Bit Auflösung (4,88 mV/Schritt), verfügbar in SOIC8 (Sie benötigen eine einfach zu lötende Adapterplatine [z . B. Sparkfun's oder Futurlec's ) und arbeitet ab 5 Volt. Wenn Sie mit nur 8 Bit (19,5 mV/Schritt) einverstanden sind, sollten Sie den TC1320 in Betracht ziehen .

Beide Chips sind bei Mouser oder Microchip Direct für etwa 2 US-Dollar erhältlich.

Wenn Sie SPI anstelle von I2C verwenden können, sind Ihre Optionen einfacher, MCP4821 und MCP4822 sind Single- und Dual-SPI-DAC-Chips, die in schönen PDIP8-Gehäusen geliefert werden. Wieder kosten sie etwa 2 $ von den üblichen Anbietern (Mouser, Digikey, Microchip Direct, Farnell).

Warum nicht die eigentlichen URLs darunter setzen, den Haupttext im Stil von Fußnoten?
@Amos, weil der Formatierer URLs in vielen Formaten gut erkennt und der Filter „Neuer Benutzer“ unabhängig von ihrer Formatierung auf Anzahl (Links) > 1 trifft. Ich habe am ersten Tag aus demselben Grund eine ausführliche Antwort verloren (ich habe sie gepostet und die Fehlermeldung nicht gesehen).
Stimmt, war mir nicht aufgefallen.
Es ist ein Digital-Analog-Wandler, kein Analog-Digital.
Und Sie sollten in der Lage sein, Ihren Beitrag zu bearbeiten und die Links hinzuzufügen, jetzt, wo Sie einen gewissen Ruf haben.
Beitrag bearbeitet, um einige Links aufzunehmen - auch die kleineren Fehler korrigiert.

Je nachdem, was Sie fahren, haben Sie bei einem Arduino bereits drei bis sechs analoge Ausgänge, da Sie mit der AnalogWrite-Funktion das Tastverhältnis der PWM-Pins einstellen können. Die Frequenz beträgt ca. 490 Hz, mehr als ausreichend für LEDs (auch hier hängt es von Ihrer Anwendung ab). Sie können den Wert von 0 bis 255 einstellen, wodurch Sie eine Auflösung von (5 V / 256 =) 0,020 V erhalten.

Sie müssen feststellen, ob 490 Hz eine ausreichende Rate ist, aber PWM wird verwendet, um analoge Spannung für viele Anwendungen zu simulieren, und es kann ohne zusätzliche Teile oder Programmierung zu Ihrer passen.

Sie können auch einen Filter (Kondensator-Widerstand-Netzwerk) verwenden, um die Rechteckwelle zu glätten. Es gibt Ihnen mehr Spielraum bei den Anwendungen, die Sie steuern können, und Passive sind billig, aber je nach Ihrer Anwendung ist dies möglicherweise nicht einmal erforderlich.

http://www.arduino.cc/en/Reference/AnalogWrite

Sie benötigen einen I2C-basierten Digital-Analog-Wandler (DAC), eine schnelle Suche ergab Folgendes:

http://www.sparkfun.com/commerce/product_info.php?products_id=8736

Nur damit Sie es wissen, ein AVR (der in einem Arduino verwendete Chip) kann bereits „analoge“ Spannungen erzeugen, indem er PWM + einen Kondensator verwendet, um die Wellenform zu glätten (in einigen Fällen wird nicht einmal ein Kondensator benötigt). Es ist nicht ganz so hochauflösend wie ein dedizierter DAC-Chip, aber für viele Anforderungen gut genug.

Hier ist ein Wikipedia-Eintrag zu digitalen Potentiometern. Diese digitalen Töpfe können als analoger Ausgang auf dem Arduino fungieren. Es würde als normales Potentiometer fungieren, das alle Spannungen von 0 - 5 V durch serielle (irgendeine) Befehle durchläuft. Wenn Sie kein I2C benötigen, können Sie diesen digitalen Pot von Parralax oder diesen Chip von Jameco verwenden. Die einzigen I2C-Chips, die ich gesehen habe, sind alle oberflächenmontiert und nicht durchkontaktiert, was die Arbeit mit und erschwert. Hier ist der Link zu allen digitalen I2C-Potentiometern von Jameco. Ich hoffe, das war hilfreich und viel Glück!

Digitale Potis werden im Allgemeinen verwendet, um die Verstärkung oder Dämpfung einer externen Schaltung in wenigen diskreten Schritten einzustellen (256). Um eine Gleichspannung daraus zu ziehen, müssten Sie diese an eine Spannungsquelle anschließen, aber das ist wirklich nicht die Anwendung, für die diese gedacht sind. Ein DAC hingegen gibt eine Spannung direkt aus und hat im Allgemeinen viel mehr Schritte und eine höhere Genauigkeit. Ein DAC ist das, wonach dieses Poster sucht.