• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32 вольтметр

Vypra

Member
Попробовал сделать вольтметр на ESP32 чтоб отслеживать заряд аккумулятора 18650 до 4,2В.
На 34 пин вход через делитель 100К-10К.
Но при заряде батареи 3,7В показывает итоговое значение замера 2,2В. Сначала прыгали показания. подкинул 0,1мкф к пину, стало стабильней, но все же 2,2В.

Код:
#include <driver/adc.h>

float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // resistance of R1 (100K)
float R2 = 10000.0;  // resistance of R2 (10K)


void setup()
{
  Serial.begin(9600);
  adc1_config_width(ADC_WIDTH_BIT_12);
  adc1_config_channel_atten(ADC1_CHANNEL_6, ADC_ATTEN_DB_11);
}
void loop()
{
  delay(500);
  float value = adc1_get_raw(ADC1_CHANNEL_6);
 
  vout = (value * 3.3) / 4095.0;
  vin = (vout / (R2 / (R1 + R2)));
 
  Serial.println("Read ADC pin [" + String(ADC1_CHANNEL_6_GPIO_NUM) + "]: " + " [" + String(value) + "]" + " [" + String(vin) + "]");
}
Что не так?
 
Сверху Снизу