Делитель напряжения и оптимальные характеристики для аналогого входа

Здравствуйте ! Может ли кто подсказать принцип или формулу подбора резистора для делителя напряжения на примере вольтметра на ардуино .Я понимаю что важно отношение номиналов резисторов это везде написано. Например чтобы измерять напряжение от 0-55 вольт необходимы резисторы на 10 и100 кОм. Вопрос почему не 100 и 1000 отногшение ведь сохранилось? я понимаю вопрос в чувствительности входа ардуино но к каким входным данным нужно стремится?

У любого “измерительного” прибора (в данном случае в качестве измерительного прибора выступает АЦП микроконтроллера) есть такое понятие как входное сопротивление.
Оно должно быть достаточно большим, чтобы не шунтировать измерительную цепь (но не может быть бесконечным).

Предположим, что входное сопротивление АЦП микроконтроллера равно 1МОм (1000кОм). Тогда при использовании в цепи делителя резисторов 10кОм и 100кОм, первый будет зашунтирован входным сопротивлением в 1МОм, а значит внесет (по формуле параллельного соединения резисторов) вот такие изменения:

R общ = 9.901 кОм (то есть, делитель получается 9.901кОм и 100кОм, погрешность измерения порядка 1%, то есть вместо 5В будет приходить максимально 4,95В).

А если в делители использовать сопротивления 1МОм и 10МОм, то:

R общ = 500кОм (то есть, делитель получается 500кОм и 10МОм, погрешность измерения чуть меньше 50%, то есть вместо 5В будет приходить максимально 2,62В)

Ну и маленькие сопротивления (порядка единиц Ом) тоже выбирать нельзя - они будут создавать большой ток.

ЗЫ: А каково реальное входное сопротивление АЦП нужно смотреть в соответствующем ДШ на этот самый мк.

Вы не написали о каком МК речь. Предположу, что об Atmega328p.

Открываем даташит и читаем:

И, кстати, там же, в следующем абзаце (предупреждая Ваш следующий вопрос, чтобы два раза не вставать)

То-есть, при первом резисторе в 100К ФНЧ и нафик не нужен )))

Странный вывод. ФНЧ всегда в тему. А вот резисторы делителя могут быть любыми, но при превышении выходного 10к источника сигнала для 328го следует увеличивать время преобразования для устаканивания напряжения на входном конденсаторе. В STMках у АЦП есть опция согласования времени преобразования с выходным сопротивлением источника сигнала.

он уже там есть. монтажный

Где там? Не узнаю вас в гриме :thinking:

напряжение приходит через резистор 100 килоом, 0.05 пикофарады на входе думаю сам сможешь найти где порылись?

ЗЫ их там правда маленький табун спрятался )))

Спасибо Большое вроде понял!

Частота среза такого фильтра около 150МГц. Объясни как такой фильтр может оказать какое либо влияние на входной сигнал частота которого должна быть ограничена 100 килогерцами?

Полностью согласен, но какое это имеет отношение к АЦП МК? Если хочешь сделать измерительный прибор с высоким входным сопротивлением из МК, то должен сделать согласующее устройство обеспечивающее согласование с требованиями на выходное сопротивление источника сигнала для цепей АЦП МК. Иначе ни как.

1 лайк

Подумаешь, сначала завысил в 10 раз, потом занизил в 10 раз, главная мысль (исходя из даташита, а не чьих-то домыслов), ФНЧ не нужен!
PS пятница была вчера и это давайте без меня )))

С другими вводными всё равно на порядок выше необходимой частоты среза. И если ты про тот конденсатор что нарисован даташите то должен тебя огорчить. Это конденсатор не фильтра, а устройства выборки-хранения который надо зарядить перед началом оцифровки. И от того как заряжается этот конденсатор зависит точность преобразования. Поэтому есть ограничения на частотную полосу источника сигнала.

нет! я о монтажной ёмкости

Частота среза фильтра считается по уровню -3дБ, а если нужно, чтобы затухание не превосходило единицы младшего разряда, расчет получается совсем другим.

частота среза 800 килогерц, помехи не должны залезать за 8 мегагерц, что там с децибелами получится, фильтр то простейший, RC

ТС, “аналогового”:face_with_monocle:

Для интереса загрузил скетч ниже в Ардуино UNO. Вход А0 соединил с 3.3 В через резистор 10 МОм. Требуется 15-19 вызовов analogRead(A0) , чтобы конденсатор выборки-хранения зарядился до 3.3 В. Дальше значения АЦП более-менее стабильны (±5).

const byte analogInPin = A0;//А0 подключен через резистор 10 МОм на 3.3 В 
word sensorValue=1, prevVal; 
float volt;

void setup() {
  Serial.begin(115200);
  pinMode(analogInPin, OUTPUT);//А0 замыкаем на землю
  analogRead(analogInPin);// разряжаем конденсатор выборки-хранения
  pinMode(analogInPin, INPUT);
  word i=0;  
  // сколько раз запустить АЦП, чтобы конденсатор выборки-хранения зарядился до 3.3 В  
  for(; sensorValue > prevVal ; i++){
    prevVal = sensorValue;  
    sensorValue = analogRead(analogInPin);
  }
   Serial.print("i = "); // 15-19
   Serial.print(i);
   Serial.print("  sensorValue = ");
   Serial.println(sensorValue);
}
void loop() {
  sensorValue = analogRead(analogInPin);
  volt = sensorValue * 5. / 1023;
  Serial.print("sensor = ");
  Serial.print(sensorValue);
  Serial.print("\t volt = ");
  Serial.println(volt);
  delay(100);
}