
MCP4725 DAC
Adafruit (плата), Microchip (MCP4725) · Adafruit MCP4725 12-bit DAC PID 935, STEMMA QT
Получение регулируемого аналогового напряжения из цифрового кода по I²C.
Автор: SLDV LAB
Опубликовано · Обновлено
О МОДУЛЕ
Что делает Adafruit MCP4725 12-bit DAC PID 935, STEMMA QT
MCP4725 формирует постоянное аналоговое напряжение, пропорциональное 12-битному коду. Опорой служит питание, поэтому точность и шум VIN непосредственно влияют на результат. Значение 4095 даёт идеальное напряжение VIN × 4095/4096, а не математически точное VIN.
Здесь используется Adafruit PID 935 со STEMMA QT. Его заводской адрес 0x62; A0 позволяет выбрать 0x63. У других MCP4725 заводские адресные биты могут отличаться, поэтому 0x60 или 0x62 не универсальны для всех плат. Проводной пример использует площадки, разъёмы STEMMA QT остаются свободными.
Внутренняя EEPROM может хранить стартовое значение, но имеет конечный ресурс. Для изменяющегося сигнала записывают только регистр DAC. Пример применяет Fast Write без EEPROM и выдаёт половину питания для проверки мультиметром. Начальное значение до первой команды может зависеть от ранее записанной EEPROM, поэтому чувствительную нагрузку до проверки не подключают. Выход предназначен для сигнала и высокоомной нагрузки, не для питания устройств; при необходимости нужен буфер.
Adafruit MCP4725, изделие 935, версия STEMMA QT.
MCP4725 DAC. Фото: Kattni Rembor / Adafruit. Оригинал: https://learn.adafruit.com/assets/108813 . Лицензия фотографии: CC BY-SA 3.0, https://creativecommons.org/licenses/by-sa/3.0/ . Изменения: Изолирована плата; отдельная неприпаянная гребёнка и исходный фон исключены из обложки. Очищены видимые сквозные отверстия. Пропорциональное масштабирование, размещение на предоставленном фоне и JPEG-сжатие. Геометрия, маркировка и видимые детали не перерисовывались. Цветокоррекция и повышение детализации не применялись. Адаптация фотографии распространяется по той же лицензии. Adafruit MCP4725, изделие 935, версия STEMMA QT.
Схема распиновки
Авторская распиновка SLDV LAB: Adafruit 935, MCP4725 STEMMA QT. Сторона компонентов; VIN снизу слева; нижний ряд слева направо. Клеммник: минус слева, плюс справа. Для других ревизий и плат требуется отдельная проверка.
VOUT — аналоговый сигнальный выход, не источник питания нагрузки. Подтяжки I²C связаны с VIN; учитывайте уровни контроллера.
Источники: 1, 2. Авторская схема SLDV LAB по фактам документации.
Характеристики
- Разрядность ЦАП
- 12 бит
- Аналоговых выходов
- 1
- Адрес выбранной платы
- 0x62; A0=HIGH → 0x63
- Опорное напряжение
- Питание VIN
- Энергонезависимое стартовое значение
- Да
- Интерфейс
- I²C, Аналоговый
- Питание модуля
- Adafruit PID 935: VIN 2,7–5,5 В; в примере VIN и I²C 5 В от Uno R3, VOUT примерно 0…VIN с ограничениями выходного буфера и нагрузки.
ПРАКТИКА
Подключение
| Контакт модуля | Контакт платы | Назначение |
|---|---|---|
| VIN | 5V | Adafruit PID 935; для точного напряжения измерьте фактическое VIN. |
| GND | GND | Общая земля. |
| SDA | A4 / SDA | Один и тот же сигнал Uno R3; подтяжки к питанию модуля. |
| SCL | A5 / SCL | Порядок контактов на модуле определять по маркировке, не по положению. |
| A0 | Не подключать | Штатное состояние платы даёт адрес 0x62; не путать с аналоговым A0 Uno. |
| VOUT | Высокоомный вход мультиметра | Земля прибора к GND; при коде 2048 ожидается примерно VIN/2. |
| STEMMA QT | Не подключать | Пример использует отдельные провода к площадкам. |
Подходит для Arduino. Выберите контакты по документации своей платы.
ВАШ ПРОЕКТ · ВАШ ДАТЧИК
Интегрируйте модуль с ChatGPT
Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.
Помоги интегрировать MCP4725 Adafruit PID 935. Сначала уточни точную плату модуля, контроллер, среду, питание и задачу. Проверь схему, логические уровни и маркировку контактов; затем дай согласованные подключение, зависимости и полный минимальный пример с обработкой ошибок. Объясни безопасную первичную проверку и ожидаемый результат. Уточни нагрузку, питание, заводской адрес и требования к точности. Не записывай EEPROM в быстром цикле и не подключай силовую нагрузку к VOUT.
Библиотеки
Установите библиотеку для своей среды и откройте пример из её документации.
Что именно прописать
- Плата и ядро
Arduino Uno R3; Arduino AVR Boards 1.8.6Распиновка относится к ATmega328P Uno R3; не Uno R4 и не ESP32.
- Адрес
0x62Выбранная Adafruit-плата, A0 в заводском LOW.
- Команда
Fast Write: 2 байта, PD=00Первый байт содержит старшие четыре бита DAC, второй младшие восемь; EEPROM не изменяется.
- Тестовый код
2048Идеальный выход VIN × 2048/4096 = VIN/2, примерно 2,5 В при VIN=5 В.
- Библиотека примера
Wire из Arduino AVR Boards 1.8.6Специализированный драйвер не обязателен; протокол проверен по datasheet.
Arduino: полный пример установки половины питания без EEPROM
cpp#include <Wire.h>
const uint8_t DAC_ADDR = 0x62;
bool setDac(uint16_t code) {
if (code > 4095) return false;
Wire.beginTransmission(DAC_ADDR);
Wire.write(uint8_t((code >> 8) & 0x0F));
Wire.write(uint8_t(code & 0xFF));
return Wire.endTransmission() == 0;
}
void setup() {
Serial.begin(115200);
Wire.begin();
Wire.setClock(100000);
Wire.setWireTimeout(25000, true);
if (!setDac(2048)) {
Serial.println("DAC write failed: check address and wiring");
return;
}
Serial.println("DAC=2048; measure VOUT: expected about VIN / 2");
}
void loop() {}
Полный скетч для Uno R3 и Arduino AVR Boards 1.8.6; API Wire и формат Fast Write сверены. Не компилировалось и не проверялось на оборудовании. ACK подтверждает приём команды, не точность выходного напряжения. EEPROM не записывается.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.


