Модуль MicroPython для управления MCP4725, 12-битный цифро-аналоговый преобразователь (ЦАП) с EEPROM памятью. MicroPython module for controlling the MCP4725, a 12-bit digital-to-analog converter (DAC) with EEPROM memory.
MCP4725 — это маломощный, высокоточный, одноканальный, 12-битный буферизированный ЦАП с выходным напряжением и энергонезависимой EEPROM памятью. Его встроенный прецизионный выходной усилитель позволяет ему достигать размаха аналогового выходного сигнала от 0 до Vcc - напряжение питания. У данного ЦАП опорным напряжением является напряжение его питания, поэтому, его обязательно нужно стабилизировать, например с помощью TL431(0.5%), TL1431 (0.4 %), LM4040(0.1 %)! Если у вас возникли вопросы по работе ЦАП, читайте документацию от производителя!
- Настройка заданной точки или смещения
- Калибровка датчика
- Замкнутый контур сервоуправления
- Маломощные портативные приборы
- Периферийные устройства ПК
- Системы сбора данных
Напряжение питания 2.7, 5.5 В (3.3 и 5.0 В)!
Диапазон адресов датчика: 0x60..0x6F.
Просто подключите контакты (VCC, GND, SDA, SCL) платы с MCP4725 к соответствующим контактам Arduino, ESP или любой другой платы с прошивкой MicroPython и аппаратной поддержкой шины I2C.
Загрузите прошивку micropython на плату NANO(ESP и т. д.), а затем файлы: main.py, mcp4725module.py и папку sensor_pack_2 полностью! Затем откройте main.py в своей IDE и запустите/выполните его.
Именованный кортеж, содержащий информацию о режиме работы ЦАП и значении выходного регистра.
Именованный кортеж, содержащий полную информацию о состоянии ЦАП, режиме его работы, значении, записанном в регистр вывода, данных записанных в EEPROM (режим работы, значение регистра вывода).
Данный ЦАП выдает напряжение в диапазоне 0..Vcc - напряжение питания. Все виды нестабильности напряжения питания ЦАП напрямую влияют на выходное напряжение! Измеряйте выходное напряжение между выводами платы V out и GND.
Возвращает полную информацию о текущем состоянии ЦАП и данные из EEPROM.
Устанавливает новое состояние выхода ЦАП, режим работы ЦАП.
- int в диапазоне 0..4095, значение, записываемое в выходной регистр ЦАП без преобразования. 0 - V out = 0 В. 4095 - V out = Vcc.
- float в диапазоне 0..100 % от напряжения питания ЦАП. 0% - V out = 0 В. 100% - V out = Vcc.
- 0 - нормальный режим работы. выход АЦП включен. Нога ИМС, V out, подключена к преобразователю код-напряжение.
- 1 - режим энергосбережения 1. Нога ИМС, V out, отключена от преобразователя и подключена к шине GND через сопротивление 1 КОм.
- 2 - режим энергосбережения 2. Нога ИМС, V out, отключена от преобразователя и подключена к шине GND через сопротивление 100 КОм.
- 3 - режим энергосбережения 3. Нога ИМС, V out, отключена от преобразователя и подключена к шине GND через сопротивление 500 КОм.
Параметр save определяет, запись значений out и power_mode в EEPROM. Записанные в EEPROM параметры, устанавливаются ЦАП автоматически, после включения питания! Внимание, у EEPROM кол-во записей может быть ограничено!
Импортируйте TCL5615mod.py и работайте с ним. Чтобы включить демонстрацию работы с TCL5615, установите main.tlc5615 в True.
К сожалению, на моей плате с TCL5615, ИОН выдает напряжение 2.51 Вольта, при напряжении питания TCL5615 в 4.7 Вольта. Напряжение ИОН не должно превышать Vcc/2 - 0.4. То есть при Vcc = 5 В, Vref <= 2.1 В.
Для этого ЦАП хорошо подходят ИОН с Vref = 2.048 В в корпусе SOT23-3:
- LM4040CELT-2.0
- TS3320AMR
Вывод платы TCL5615 | Преобр. уровня, сторона HV | Преобр. уровня, сторона LV | Имя вывода платы с Raspberry Pi Pico |
---|---|---|---|
DIN | HV1 | LV1 | 19 (MOSI) |
SCLK | HV2 | LV2 | 18 (SCK) |
CS | HV3 | LV3 | 20 (CHIP SELECT, выбор пользователя) |
DOUT | HV4 | LV4 | 16 (MISO) |
GND | GND | GND | GND |
VCC | HV | + 5 V | |
LV | +3.3 V |