Найти в Дзене
Электроника, ESP32, Arduino

Подключение внешнего одноканального АЦП MCP3201 12-bit.

Зачем для работы с ESP32 нужен внешний АЦП, я писал в этой статье.

MCP3201 подключается на шину SPI. Краткие характеристики:

  • архитектура - АЦП последовательного приближения(sar)
  • Разрешение (Бит) 12
  • Частота дискретизации (выб/сек.) - 100k
  • Количество A/D конвертеров - 1
  • Количество входных каналов - 1
  • Тип входа - псевдодифференциальный
  • Напряжение питания: аналоговое/цифровое 2.7…5.5 в/2.7…5.5в
  • Рабочая температура,°С-40…+85

MCP3201 подключается на шину SPI. Линия MOSI не используется. Пример схемы подключения, вместе с дисплеем от Nokia 5110 (он тоже c SPI).

Пример подключения MCP3201 к ESP32
Пример подключения MCP3201 к ESP32

В качестве источника опорного напряжения Vref используем выход 3.3V

Микроконтроллер опускает линию CS, чтобы начать связь со встроенным MCP3201. В этот момент тактовый сигнал, генерируемый микроконтроллером, используется для запуска аналого-цифрового преобразования. На следующем рисунке подробно показан цикл преобразования и передачи данных.

-2

Посмотрим на тактовый сигнал, после третьего импульса старший бит (MSB) аналоговых данных доступен на линии Dout. Следующие импульсы тактового сигнала позволяют получить оставшиеся биты цифровых данных. Обратите внимание, что бит B1 повторяется на шестнадцатом такте и должен быть удален, когда мы переходим к восстановлению цифровых данных аналогового сигнала. Это можно сделать, сдвинув все биты на одну позицию вправо.

После считывания двух байт микроконтроллер устанавливает на линии CS высокий уровень.

Функция которая получает значение из регистров MCP3201 получилось простой - юзать библиотеки для этих целей смысла нет ни какого.

Функция для чтения значения АЦП из
Функция для чтения значения АЦП из

Из основного кода функцию можно будет вызвать:

uint16_t adcValue = readMCP3201 ();

В целом АЦП MCP3201 конечно бомба:

Прототип на макетной плате.
Прототип на макетной плате.

Не смотря на кучу соплей показания стоят как вкопанные, никакого шума.

Ну, а если для формирования опорного напряжения, использовать источник со значением 4.096V - получиться девайс с разрешением 1мВ на 1 единицу показаний - стоит он правда недешево даже на Ali

Источник опорного напряжения на сайте ЧИП и ДИП.
Источник опорного напряжения на сайте ЧИП и ДИП.

MCP3201 в DIP корпусе АлиЭкспрес можно найти по цене до 100 рублей.

MCP3201 - в DIP корпусе
MCP3201 - в DIP корпусе

Следующая статья будет посвящена скрещиванию MCP3201 c ACS712 и измерениям в цепях переменного тока.

Код функции для работы с MCP3201 доступен тут (совместим с любой ардуиноподобной платформой).

MCP3201_Test.zip

Если содержимое статьи Вам было не очень понятно - рекомендую посмотреть это видео:

Оглавление канала тут:

Всем удачи!