Особенности АЦП в 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 и должны учесть следующие особенности:
🟠 |
|
🟡 |
|
🟢 |
|