A termékfotók tájékoztató jellegűek, és a gyártási tételtől és a beszállítótól függően kisebb eltéréseket mutathatnak. A termék specifikációi és árai előzetes értesítés nélkül változhatnak. Mindent megteszünk, hogy a lehető legpontosabb és leghitelesebb specifikációkat adjuk meg a termékoldalon, de lehetséges, hogy ezek nem teljesen helyesek. Ha ilyen esetet észlel, kérjük, jelentse nekünk.
A termék szakemberek számára készült, és használatához képzett, valamint felhatalmazott személyzet szükséges. A termék nem tartalmaz összeszerelési/használati útmutatót . A termék nem megfelelő képesítéssel rendelkező személyek általi üzembe helyezése a weboldalon található Általános Szerződési Feltételek értelmében a jótállás elvesztését eredményezi.
A megadott műszaki adatok (áram, teljesítmény stb.) ideális működési körülmények között érvényes maximális értékeket jelentenek. A biztonságos használat és az optimális élettartam érdekében javasolt a terméket folyamatos üzemben legfeljebb a megadott maximális értékek 50%-án használni.
MCP4725 DAC modul, I2C, 12 bites, EEPROM-mal, HW-315
MCP4725 konverteres breakout modul, egy 12 bites DAC I2C interfésszel, amely egy digitális értéket valós analóg feszültséggé alakít az OUT lábon, hasznos jelgeneráláshoz, állítható feszültségreferenciákhoz és analóg vezérléshez Arduino, ESP32, STM32 vagy Raspberry Pi projektekben. Belső EEPROM memóriával rendelkezik, az I2C cím az ADDR jumperrel választható, és a pull-up ellenállások kikapcsolhatók több modul ugyanarra a buszra történő csatlakoztatásához, 2.7 - 5.5 VDC tápfeszültség mellett.
Shipping by csütörtök 22 október
A termék megvásárlásával jár 0,12 € hűségpont.
Nemzetközi gyors szállítás az EU-n belül. Ingyenes szállítás 100 EUR feletti megrendelések esetén a legtöbb EU-országban.
24 órán belül szállítunk raktárunkból
Minden rendelés után pontokat kap, a rendelés értékének 5%-ában.
A MCP4725 modul egy 12 bites digitális-analóg átalakító I2C interfésszel, amely lehetővé teszi, hogy egy fejlesztőpanel vagy számítógép valódi analóg feszültséget állítson elő a kimeneten, nem csupán szűrt PWM jelet. Akkor hasznos, amikor állítható referenciafeszültségre, analóg vezérlőjelre egy erősítő vagy motor számára, illetve digitálisan generált hullámformára, például szinuszhullámra vagy rámpára van szükség audio projektekhez, mérőműszerekhez, automatizáláshoz és folyamatszabályozáshoz.
A fő áramkör az MCP4725, egy 12 bites felbontású DAC, belső EEPROM memóriával az kimeneti érték és a konfiguráció tárolására tápfeszültség kikapcsolása után is, valamint rail-to-rail típusú kimenettel, amely a VCC tápfeszültséghez viszonyított. A kommunikáció I2C-n keresztül történik, támogatva a 100 kbps-os Standard, a 400 kbps-os Fast és a 3.4 Mbps-os High-Speed módokat, a kimenet tipikus beállási ideje pedig 6 us. A buszon az адресz a A0 címkimeneten keresztül választható, így több MCP4725 modul is használható ugyanazon I2C buszon.
A fő jellemzők közé tartozik a 6 pines OUT, GND, SCL, SDA, VCC és egy második GND csatlakozósor, az ADDR jumper az A0 cím láb állapotának kiválasztásához, valamint az I2C buszon található felhúzó ellenállások, amelyek kikapcsolhatók, ha ugyanarra a buszra több modul csatlakozik. A modul tápellátása 2.7 és 5.5 VDC közötti feszültséggel történik, amelyet a VCC és GND pinekre kell kapcsolni.
I2C interfészen keresztül a modul kompatibilis az Arduino, ESP32, STM32, Raspberry Pi és bármely más, elérhető I2C porttal rendelkező fejlesztőpanellel vagy számítógéppel.
Specifikációk:
Táplálási feszültség: 2.7 - 5.5 VDC
Kimeneti áram: maximum 25 mA
Chip: MCP4725
Típus: digitális-analóg átalakító (DAC) EEPROM-mal
Felbontás: 12 bit (4096 lépés)
Interfész: I2C (Standard 100 kbps, Fast 400 kbps, High-Speed 3.4 Mbps)
Alapértelmezett I2C cím: 0x60 (ADDR / A0 pin földre kötve)
Beállási idő: 6 us (tipikus)
I2C pull-up: kikapcsolhatók, több modul ugyanarra a buszra történő csatlakoztatásához
Kimenet: rail-to-rail analóg feszültség, a VCC-hez viszonyítva
Méretek: 14.9 x 15.2 mm
Elrendezés:

1. 6 pines csatlakozósor: forrasztatlanul szállítva, breadboardra történő szereléshez vagy Dupont vezetékekkel való csatlakoztatáshoz.
2. OUT: az átalakító által generált analóg feszültség kimenete.
3. GND: a kimeneti jel földje, az OUT pin mellett.
4. SCL: az I2C interfész órajele.
5. SDA: az I2C interfész adatvonala.
6. VCC: a modul pozitív tápfeszültsége, 2.7 és 5.5 VDC között.
7. ADDR: az A0 cím pin állapotának jumperje, alapértelmezés szerint földre kötve a 0x60 címhez.
8. GND: a tápföld, a VCC és ADDR pinek mellett.
9. MCP4725 áramkör: az eredeti digitális-analóg átalakító, SOT-23-6 tokban.
10. Rögzítőlyukak: két furat a panel mechanikai rögzítéséhez.
Pin kiosztás:
| Csatlakozó | Pin | Funkció |
|---|---|---|
| J1 Header | OUT | Analóg feszültség kimenet (DAC) |
| J1 Header | GND | Kimeneti jel földje |
| J1 Header | SCL | I2C órajel |
| J1 Header | SDA | I2C adat |
| J1 Header | VCC | 2.7 - 5.5 VDC tápellátás |
| J1 Header | GND | Tápföld |
| ADDR (A0) | I2C cím |
|---|---|
| Alapértelmezett, GND-re kötve | 0x60 |
| Átkötés VCC-re | 0x61 |
Használat:
Csatlakoztassa a VCC-t és a GND-t egy 2.7 - 5.5 VDC feszültségforráshoz, például a fejlesztőpanel 5V vagy 3.3V pinjéhez, a polaritást betartva.
Csatlakoztassa az SCL és SDA vonalakat a fejlesztőpanel I2C pinjeihez, például az A4 és A5 pinhez Arduino Uno esetén, vagy a dedikált I2C pinekhez ESP32, STM32 vagy Raspberry Pi esetén.
Ha a fejlesztőpanel 3.3 V-on működik, a modul pedig 5 V-ról van táplálva, inkább 3.3 V-tal táplálja a modult, ahelyett hogy szintillesztőt használna az SCL és SDA vonalakon.
Hagyja az ADDR jumpert változatlanul a 0x60 címhez, vagy kössön átkötést VCC-re, ha a második címre, a 0x61-re van szükség ugyanazon a buszon.
Ha több MCP4725 modult használ ugyanazon I2C buszon, kapcsolja ki a pull-up ellenállásokat az összes modulon, kivéve egyet.
A programból inicializálja az I2C kommunikációt, és küldjön egy 0 és 4095 közötti értéket a modulnak; ez arányos feszültséggé alakul, amely az OUT pinen érhető el.
Mérje meg a kimeneti feszültséget az OUT és a mellette lévő GND pinek között egy multiméterrel vagy oszcilloszkóppal.
Hullámforma generálásához frissítse a küldött értéket rövid, szabályos időközönként a program ciklusában, figyelembe véve, hogy a kimenet tipikus beállási ideje 6 us, a tényleges sebességet pedig elsősorban az I2C busz sebessége korlátozza.
Ne lépje túl az 5.5 VDC maximális tápfeszültséget, és ne fordítsa fel a polaritást a VCC és GND pineken.
Méretábra:

- Fő IC
- MCP4725
- Kommunikációs interfész
- I2C
- Átalakító felbontása
- 12 bit
Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.
Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.
Avertismente generale de siguranta:
Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.
Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.
Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.
Nu lasati produsul alimentat nesupravegheat in timpul testelor.
Produsul nu este jucarie si nu este destinat copiilor.
Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.
Identificare produs:
Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.
Producator / Importator / Distribuitor:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Website: www.sigmanortec.ro
Persoana responsabila in UE:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Documentatie si siguranta:
Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].
/*
Test code for MCP4725 I2C DAC Breakout Module (HW-315)
Board: Arduino Uno (Arduino AVR Boards package, Tools > Board > Arduino Uno)
Library: Adafruit MCP4725 by Adafruit (Library Manager), requires Wire (built in)
Wiring:
Arduino 5V -> MCP4725 VCC
Arduino GND -> MCP4725 GND
Arduino A4 (SDA) -> MCP4725 SDA
Arduino A5 (SCL) -> MCP4725 SCL
Output is read between MCP4725 OUT and the GND pin next to it.
*/
#include <Wire.h>
#include <Adafruit_MCP4725.h>
Adafruit_MCP4725 dac;
const uint8_t MCP4725_I2C_ADDRESS = 0x60; // default address, ADDR pad tied to GND
const float VCC = 5.0; // Arduino 5V rail used as DAC reference
void setup() {
Serial.begin(9600);
while (!Serial) {
// wait for native USB serial ports
}
Wire.begin(); // start I2C as master on A4 (SDA) and A5 (SCL)
Serial.println("MCP4725 test starting...");
if (!dac.begin(MCP4725_I2C_ADDRESS)) {
Serial.println("Error: MCP4725 not found on the I2C bus, check wiring and address");
while (1) {
// stop here, nothing else to test without the DAC
}
}
Serial.println("MCP4725 found and initialized");
}
void loop() {
// Slowly ramp the output from 0 to full scale and back, printing the approximate voltage
for (int32_t code = 0; code <= 4095; code += 256) {
dac.setVoltage(code, false); // update DAC register only, do not write to EEPROM
float voltage = code * VCC / 4095.0;
Serial.print("Code: ");
Serial.print(code);
Serial.print(" Approx voltage: ");
Serial.print(voltage, 2);
Serial.println(" V");
delay(300);
}
for (int32_t code = 4095; code >= 0; code -= 256) {
dac.setVoltage(code, false);
float voltage = code * VCC / 4095.0;
Serial.print("Code: ");
Serial.print(code);
Serial.print(" Approx voltage: ");
Serial.print(voltage, 2);
Serial.println(" V");
delay(300);
}
}
Az MCP4725 modul egy I2C interfészű digitális-analóg konverter, amely az OUT pinen valódi analóg feszültséget állít elő a fejlesztőplaca által küldött digitális érték alapján. Ez az útmutató bemutatja, hogyan csatlakoztassa és programozza a modult egy Arduino Uno plakával, hogy szabályozható feszültséget érjen el 0 V és a tápfeszültség között.

Hogyan működik:
Az MCP4725 egy 12 bites felbontású DAC, ami azt jelenti, hogy 0 és 4095 közötti digitális értékeket fogad el. A kimeneti feszültség körülbelül a Vout = kód x VCC / 4096 képlettel számítható ki, ahol VCC a modul tápfeszültsége. 5 V-os tápnál a 0 kód körülbelül 0 V-ot, a 2048 kód körülbelül 2,5 V-ot, a 4095 kód pedig körülbelül 5 V-ot produkál. A modul megjegyzi az utolsó, a belső EEPROM memóriában írt értéket, így az ellátás után ugyanezzel a kimenettel lehet újraindítani, anélkül hogy a mikrokontroller még küldött volna valamit.
Amire szüksége van:
- 1 x MCP4725 I2C DAC Breakout Module
- 1 x Uno R3 fejlesztőplaca WiFi ESP8266-tal, Arduino kompatibilis
- 1 x Mini USB kábel, 30 cm
- 1 x 40 Dupont vezeték 10 cm, Anya-Anya
Csatlakoztatás:
A modult közvetlenül az Arduino Uno 5 V-os tüskéjéről táplálják, az I2C vonalak pedig az A4 és A5 dedikált tüskékhez csatlakoznak.
| Termék tüskéje | Csatlakozik a következőhöz | Szerepe |
|---|---|---|
| VCC | Arduino Uno 5V | Modul tápellátása, 2,7 - 5,5 VDC közötti tartományon |
| GND | Arduino Uno GND | Közös föld |
| SDA | Arduino Uno A4 | I2C adatvonal |
| SCL | Arduino Uno A5 | I2C órajel vonal |
Az Arduino Uno 5 V logikai szinten működik, ugyanaz az a szint, amelyet a modul is elfogad, így nem szükséges szintkonverter az SDA és SCL vonalon. Az A4 és A5 tüskéken belső pull-up van engedélyezve automatikusan a Wire könyvtár által, ami elegendő egy modulhoz a sínen.
Placa és könyvtárak:
Az Arduino IDE-ben válassza ki az Arduino Uno platfot, amely alapértelmezésben az Arduino AVR Boards csomagban érhető el. Ehhez a plahoz nincs szükség további cím hozzáadására a File menü Preferences pontjában. Telepítse a Library Manager-ból az Adafruit MCP4725 könyvtárat az Adafruit-tól, amelyhez a Wire könyvtárra is szüksége van, amely már benne van az Arduino IDE-ben.
A kód:
A kód inicializálja a modult az I2C 0x60 címen, sorra küld néhány ismert értéket, majd szinuszhullám-ciklust állít elő a kimeneten.
/*
Board: Arduino Uno (Arduino AVR Boards package)
Library: Adafruit MCP4725 by Adafruit (requires Wire, included with Arduino IDE)
Wiring:
Arduino 5V -> MCP4725 VCC
Arduino GND -> MCP4725 GND
Arduino A4 (SDA) -> MCP4725 SDA
Arduino A5 (SCL) -> MCP4725 SCL
*/
#include <Wire.h>
#include <Adafruit_MCP4725.h>
Adafruit_MCP4725 dac;
const uint8_t MCP4725_I2C_ADDRESS = 0x60; // default address, ADDR pad tied to GND
const float VCC = 5.0; // Arduino 5V rail used as the DAC reference
void setup() {
Serial.begin(9600);
while (!Serial) {
// wait for the serial port on boards that need it
}
Wire.begin(); // join the I2C bus as master on A4 (SDA) and A5 (SCL)
if (!dac.begin(MCP4725_I2C_ADDRESS)) {
Serial.println("MCP4725 not found, check wiring and I2C address");
while (1) {
// halt here, nothing useful can be done without the DAC
}
}
Serial.println("MCP4725 ready");
}
void loop() {
// Step through a few known DAC codes and print the expected output voltage
uint16_t steps[] = {0, 1024, 2048, 3072, 4095};
for (uint8_t i = 0; i < 5; i++) {
uint16_t code = steps[i];
dac.setVoltage(code, false); // write the code to the DAC register only, not to EEPROM
float voltage = code * VCC / 4095.0;
Serial.print("DAC code: ");
Serial.print(code);
Serial.print(" -> approx output: ");
Serial.print(voltage, 2);
Serial.println(" V");
delay(1000);
}
// Generate one slow sine wave cycle to show a continuously changing analog output
Serial.println("Generating sine wave cycle...");
for (uint16_t angleDeg = 0; angleDeg < 360; angleDeg += 5) {
float angleRad = angleDeg * PI / 180.0;
float normalized = (sin(angleRad) + 1.0) * 0.5; // normalize sine to 0..1
uint16_t code = (uint16_t)(normalized * 4095);
dac.setVoltage(code, false);
delay(20);
}
}
Hogyan működik a kód:
A program elején a Wire és az Adafruit_MCP4725 könyvtárak szerepelnek, létrehozásra kerül a dac objektum, amely az Adafruit_MCP4725 típusú, és definiálásra kerül az MCP4725_I2C_ADDRESS konstans 0x60 értékkel, amely a modul alapértelmezett címe az ADDR tüské földre kötésénél.
A setup függvényben inicializálódik a soros kommunikáció, a Wire.begin-nel elindul az I2C sín, majd meghívódik a dac.begin a modul címével. Ha a modul nem válaszol, a hibaüzenet megjelenik a soros monitron és a program egy várakozási ciklusba marad.
A loop függvényben a steps vektor öt reprezentatív digitális kódot tartalmaz 0 és 4095 között. Minden egyes érték esetén a dac.setVoltage elküldi a kódot a modulnak, a program pedig kiszámítja és megjeleníti a soros monitron a kimenetről várható hozzávetőleges feszültséget a kód x VCC / 4095 képlet használatával.
Az öt érték feldolgozása után a kód egy teljes szinuszhullám-ciklust állít elő, számítva 0 és 360 fok közötti minden szög esetén egy 0 és 1 közötti normalizált értéket a sin függvénnyel, amelyet 0 és 4095 közötti digitális kóddá alakít át, amelyet a dac.setVoltage-val küld a modulnak.
Eredmény:
Nyissa meg a soros monitort 9600 baud sebességnél. Látni fogja a modul inicializálásának megerősítő üzenetét, majd az öt digitális kódot az egyes kódokhoz kiszámított hozzávetőleges feszültséggel, amelyet a szinuszhullám-ciklus generálásáról szóló üzenet követ. Ha a multiméteres OUT és GND tüskét méri az egyik másodperces szünet alatt, olyan feszültséget fog olvasni, amely közel van a monitoron megjelent értékhez.
MCP4725 ready
DAC code: 0 -> approx output: 0.00 V
DAC code: 1024 -> approx output: 1.25 V
DAC code: 2048 -> approx output: 2.50 V
DAC code: 3072 -> approx output: 3.75 V
DAC code: 4095 -> approx output: 5.00 V
Generating sine wave cycle...
DAC code: 0 -> approx output: 0.00 V
DAC code: 1024 -> approx output: 1.25 V
DAC code: 2048 -> approx output: 2.50 V
DAC code: 3072 -> approx output: 3.75 V
DAC code: 4095 -> approx output: 5.00 V
Gyakori problémák:
Ha a soros monitor azt mutatja, hogy a modul nem található, ellenőrizze, hogy az SDA és SCL nincsenek-e felcserélve egymással, és hogy a modul földtüskéje az Arduino plaka föld tüskéjéhez csatlakozik-e.
Ha az OUT-on mért feszültség mindig 0 V, ellenőrizze, hogy a modul megfelelően van-e táplálva a VCC-n és hogy a kódban nem írt-e eltérő értéket a setVoltage függvénynek.
Ha a modul nem válaszol az I2C 0x60 címen, ellenőrizze az ADDR jumpet, mivel a VCC-re való véletlen áthidalása a modul címét 0x61-re mozgatja.
Ha az OUT-on olvasott értékek instabilnak vagy zajosnak tűnnek, ellenőrizze, hogy a tápellátáshoz és az I2C-hez használt vezetékek rövidek-e és jól rögzítve vannak-e, valamint hogy a modul nem két különböző forrásból egyszerre van táplálva.
Ha két MCP4725 modult használ ugyanazon a sínen és az egyik nem válaszol megfelelően, ellenőrizze, hogy az összes modul pull-up ellenállásait letiltotta-e egy kivételével.
Korlátozások és tippek:
A modul kimeneti feszültsége 0 V és a tápfeszültség VCC közé van korlátozva, negatív vagy a tápnál nagyobb feszültséget nem tud generálni. A 12 bites felbontás körülbelül 1,2 mV lépéseket biztosít 5 V-os tápnál, amely elegendő a legtöbb vezérlési és jelalkalmazáshoz, de nem elegendő nagyon nagy pontosságú mérésekhez. A kimenet frissítésének sebessége az I2C sín sebességétől és a konverter 6 us stabilizációs idejétől függ, amely a modult lassú jelek vagy vezérlési alkalmazásokra alkalmassá teszi, nem pedig nagyfrekvenciás audiójel-alkalmazásokra. Ebből a felépítésből kiindulva felépíthet egy variálható jelalakzatokkal rendelkező jelegenerátor, egy referenciaáramforrás más áramkörökhöz vagy egy analóg vezérlő hurok egy erősítőhöz vagy egy motorvezérlőhöz.