D/A Wandler für Arduino. Wer kennt sich aus?

Hi,

ich möchte mir einen D/A Wandler zulegen. Ich habe diesen hier gefunden: Sparkfun MCP4725
Ich möchte über den Output Pin des MCP4725 Spannungen zwischen 0 und 5V erhalten.

Nun habe ich einige Fragen:

  1. Kann man mehrere von diesen D/A Wandler benutzen? Ich habe auf meinen Arduino nur 2 SDA und SCL Pins oder kann ich alle parallel schalten?

  2. Ich habe das Prinzip nicht so ganz verstanden, wie ich über den Output des MCP4725 die Spannung varrieren kann?! bzw. wie spreche ich den MCP4725 an?

Kann man mehrere von diesen D/A Wandler benutzen?

Bitte das Datenblatt lesen.
Da steht drin, dass der Baustein 1 konfigurierbares Adressbit hat.
Du kannst also 2 dieser Bausteine am Bus betreiben.
Sollen es mehr werden, ist ein I2C Multiplexer das Mittel der Wahl.

wie spreche ich den MCP4725 an?

Bitte das Datenblatt lesen.

Hallo, willkommen im Forum!

SDA und SCL sind Daten- und Taktpins des I2C-Busses eigent, an den mehrere Master und Slaves angeschlossen werden können. Unterschieden werden sie durch Adressen.

Wie man unterschiedliche Adressen einstellt, steht im MCP4725 Digital to Analog Converter Hookup Guide bei "I2C Communication". Möglich sind die Adresse 0x60 und 0x61.

Sorry, ich kenne mich mit Arduino und Co. noch nicht so gut aus. Wäre schön, wenn ich das Datenblatt verstehen würde...

Ich brauche 4 D/A Wandler. Mein Arduino Due hat 2xSDA und 2xSCL Pins. Habe ich es richtig verstanden, dann brauche ich KEINEN I2C Multiplexer?

Sparkfun gibt Erklährungen:
SparkFun I2C DAC Breakout - MCP4725 - BOB-12918 - SparkFun Electronics Produktbeschreibung
MCP4725 Digital to Analog Converter Hookup Guide - SparkFun Learn Tutorial

Adafruit gibt jede Menge Erklährungen und sogar eine Bibiothek für Arduino.
Wo ist das Problem?

MCP4725 Breakout Board - 12-Bit DAC with I2C Interface [STEMMA QT / qwiic] : ID 935 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits Produktbeschreibung
Arduino Code | MCP4725 12-Bit DAC Tutorial | Adafruit Learning System Tutoorial
GitHub - adafruit/Adafruit_MCP4725: MCP4725 12-bit I2C DAC Bibiothek

Ansonsten einen MPC4921 bzw MCP4922 (1 bzw 2 Kanal DAC mit SPI Interface) MCP4922
Den gibs im großen DIL Gehäuse und um mehrere Anzusprechen braucht es 3 Pin der SPI Schnittstelle und ein Pin EN (SS) pro MCP4721/22.
Bibliotheken und Schaltungsbeispiele Gibts auch zB GitHub - helgenodland/MCP4922-Arduino-SPI-Library: Arduino SPI Library For 12bit 2 Channel DAC MCP4922 UNO and MEGA
Arduino Projekte Tutorial

@agmue Adafruit schreibt auf MCP4725 Breakout Board - 12-Bit DAC with I2C Interface [STEMMA QT / qwiic] : ID 935 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits
This board/chip uses I2C 7-bit address, you can use 0x62 or 0x63

Im Datenblatt http://www.adafruit.com/datasheets/mcp4725.pdf nachgelesen:
Das Teil hat 8 mögliche Adressen:
4 Bit A7 bis A4 Fix 1100
2 Bit A3 und A2 programmierbar während der Herstellung auf Wünsch des Kunden
1 Bit A0 mit dem A0 Eingang.

Darum sind Adressen zwischen
b1100000 und b1100111 möglich (0x60 und ox67).
Am einfachsten läßt sich die Adresse mit einem I2C Scanner Sketch herausfinden: Arduino Playground - I2cScanner
Die Adresse ist im der Typenbezeichnung angegeben:
MCP4725A0T Adresse A2 A3 00 (0x60 / 0x61)
MCP4725A1T 01 (0x62 / 0x63) ecc
Was aber wenig nützt da das IC zu klein ist als daß die Typenbezeichnung draufgedruckt ist.
Darum steht
AJxx für MCP4725A0T (0x60 / 0x61)
APxx für MCP4725A1T (0x62 / 0x63)
AQxx für MCP4725A2T (0x64 / 0x65)
ARxx für MCP4725A3T (0x66 / 0c67)
wobei xx für 2 Zeichen steht die eine Losnummer sind.
Grüße Uwe

Ich brauche 4 D/A Wandler. Mein Arduino Due hat 2xSDA und 2xSCL Pins. Habe ich es richtig verstanden, dann brauche ich KEINEN I2C Multiplexer?

Richtig!

Der Due hat selber schon 2 DAC drauf.
Evtl. brauchst du also nur einen MCP4725

Hmmm...
Auch gerade beim Due, sollte man evtl auf SPI DAC setzen.
Denn der Due hat auch noch DMA, damit sollte sich eine recht hohe Akualisierungsrate, ohne viel Prozessorlast erreichen lassen, wenn man es geschickt anstellt.

Danke erst mal.

Noch eine blöde Frage, gibt es wesentliche unterschiede zwischen den Sparkfun MCP4725 und den Adafruit MCP4725 außer das es zwei verschiedene Firmen sind?

Beide Hersteller liefern Schaltpläne.

Darauf solltest du die Unterschiede erkennen.

Ich habe mich jetzt einfach auf den Sparkfun festgelegt.

Ich versuche zu verstehen, wie ich über einen Bus 2 DAC ansprechen kann.
Hier steht es eigentlich:

https://learn.sparkfun.com/tutorials/mcp4725-digital-to-analog-converter-hookup-guide?_ga=2.243296261.1449391339.1497104539-1594977842.1496262777

Aber ich verstehe es nicht. Wäre super, wenn es jemand für nen laie erklären könnte!

Was verstehst du daran nicht?

Über das Lötpad "Addr" kann man zwei verschiedene Adressen einstellen. Dadurch kann man dann zwei an einem Bus ansprechen. Fertig.

Steht auch auf der Seite:

By default, this pin is pulled LOW to GND. To change the address of your other device, simply de-solder the jumper and add a blob of solder to the middle pad and the Vcc pad.

Darunter steht auch dass es eine gute Idee ist die Pullupwiderstände auf einem der Breakouts zu deaktivieren. Weil die sonst parallel hängen und man nur noch den halben Widerstand hat

Alles mit Bildern schön gezeigt. Viel deutlicher kann es nicht werden

Achso, danke, jetzt verstehe ich warum man den Pull-up Widerstand trennen soll.

Ich möchte sicher gehen, ob das so passt wie ich es angeschlossen habe?! Bitte auch pullups beachten

https://workupload.com/file/8R379sU