Особенности АЦП в ESP32-C3 (быстрая проверка)

Вступление

Думаю многие знают об ESP8266, главным его недостатком был АЦП 10-бит с одним лишь только входом. Позже вышел (и уже доступен сейчас) ESP32-C3, который имеет 12-бит АЦП и 5 входов, что теоретически позволяет применить его для продолжения этой платы измерителя влажности почвы (чтобы использовать один чип под беспроводную связь и считывание данных с датчиков).

Какой же диапазон?

Даже на самом сайте указывается странный график, видно что диапазон какой-то урезанный:

И в таблице для самого расширенного режима диапазон ограничен значением 2500 мВ (2.5В):

Затухание  (англ. Attenuation) Измеряемый диапазон (англ. Measurable input voltage range)
ADC_ATTEN_DB_0 0 mV ~ 750 mV
ADC_ATTEN_DB_2_5 0 mV ~ 1050 mV
ADC_ATTEN_DB_6 0 mV ~ 1300 mV
ADC_ATTEN_DB_11
0 mV ~ 2500 mV

Шум

Наблюдаются сильные шумы, поэтому использовать без фильтра вообще не рекомендуется. Я припаял пленочный конденсатор 100 нФ между минусом и входом АЦП.

Depending on the usage scenario, users may connect a bypass capacitor (e.g. a 100 nF ceramic capacitor) to the ADC input pad in use, to minimize noise.

Измерение

Напряжение подается с трансформаторного ЛБП, измерительные щупы подключены очень близко к самой микросхеме:

В итоге проверил во всем диапазоне от 0В до 3.3В (В Ардуио использовалась функция: analogReadMilliVolts(SENSOR_PIN)):

Мультиметр ESP32-C3

Сведение

График

Данные

Мультиметр, мВ
АЦП ESP32-C3, мВ
0 0
66 60
506 504
1011 1003
1499 1506
1988 2005
2943 2941
3001 2941
3156 2941
3296 2941

Заключение

Те, кто до этого работал с STM32xx будут удивлены, насколько плохой АЦП в ESP32xx и должны учесть следующие особенности:

🟠
  • Урезанный диапазон встроенного АЦП (до 2.5-2.9В)
🟡
  • Сильные шумы (даже без использования WiFi/Bluetooth), поэтому ставьте аппаратный RC-фильтр на вход
🟢
  • По возможности используйте внешний АЦП (например, 16-бит ADS1115) для измерений. Если нужно много входов, то можно добавить аналоговый мультиплексор 8-канальный CD4067
495
RSS
Нет комментариев. Ваш будет первым!
Загрузка...