Неточное считывание напряжения с аналогового вывода Arduino

arduino-mega adc voltage voltage-divider analogreference
float get_volt() {
  rawVolt = analogRead(voltageSensor);
  vOUT = (rawVolt * 4.6) / 1024.0;
  vIN = vOUT / (R2/(R1+R2));
  //if(vIN>12.0){vIN=12;}
  //if(vIN<11.12){vIN=11.12;}
  //return (vIN - 10.18) * (100 - 0) / (12.0 - 10.18) + 0;
  return vIN;
}

Я использую модуль датчика напряжения, который имеет делитель напряжения с R1 = 30 Ком и R2 = 7,5 Ком и может измерять напряжение до 0-25 В с помощью 10-битного аналогового вывода arduino. напряжение батареи составляет 11,4 вольта при измерении с помощью мультиметра, но я получаю неточные показания от arduino в диапазоне от 10,8 до 11,4. эталонное напряжение Arduino стабильно на уровне 4,6 В. Пожалуйста, помогите мне исправить это, вы можете увидеть показания напряжения на изображении PS: аккумулятор и arduino подключены к одному и тому же заземлению.

edit1: добавление конденсатора емкостью 0,1 мкФ помогло улучшить это

к этому!

данные снимаются в течение 1 часа каждые 5 секунд с помощью аккумулятора емкостью 12 В емкостью 4000 мАч.

, 👍2

Обсуждение

Вы измеряете также что-то еще на АЦП? Рекомендуемый максимальный входной импеданс составляет 10 кОм, и похоже, что ваш входной импеданс может быть немного слабым, поэтому зарядка конденсаторов выборки с разных уровней (= ранее измеренное значение) может привести к огромным различиям в измеренных значениях., @KIIV

нет, я измеряю только напряжение на A1, ток измеряется на A2. Так может быть проблема в УК?, @Aditya Singh

Попробуйте сначала добавить конденсатор между GND и A1 (около 1 мкФ должно быть достаточно)., @KIIV

В Arduino есть только один АЦП, который можно использовать для нескольких контактов. Если вы также измеряете ток между измерениями напряжения, применим комментарий @KIIV; используемые контакты не имеют значения. Вам придется уменьшить импеданс делителя напряжения, дать АЦП больше циклов на выборку или измерить напряжение дважды и отбросить первое измерение., @ocrdu

в чем разница между «неточным» и «неточным»?, @jsotola

Улучшается ли точность, когда вы измеряете только напряжение, а не ток?, @StarCat


1 ответ


Лучший ответ:

4

Это должно быть очень весело, но вы могли бы подумать о проведении некоторых исследований по аналоговым схемам и аналого-цифровым схемам. У вас слишком много цифр справа от десятичной дроби, точность не та. Лучшее, что вы можете получить, - это 0,0044 вольта на счетчик при эталонном напряжении 4,6 В. То, что вы используете для проведения измерений, вам нужно на 5 1/2-значном счетчике, чтобы иметь точность на десятилетие выше, чем та, которую вы калибруете. Ваша ссылка, которую вы указываете, составляет 4,6 вольта, что-то не так, должно быть 5000 В. Вы знаете, что любая нагрузка, приложенная к бортовому регулятору, повлияет на ваши показания АЦП. Допуск резисторов, которые вы используете, будет влиять на ваши показания. Они создают шум, который может повлиять на ваши показания. Емкости 100 Нф должно быть достаточно, это снизит входное сопротивление. Увеличение емкости сверх этого значения приведет к замедлению времени установления цепи. Если вы питаете это устройство от компьютерного USB, ожидайте шума от этого источника питания, что также объясняет более низкое опорное напряжение на A / D. С тем, что, как вы указываете, у вас есть, у вас на самом деле все очень хорошо.

,

Вы хотите сказать, что резисторы шумят? Т.е. упакованные карбоновые трубки?, @Tim_Stewart

Очень определенно, как и все остальные компоненты. При 10 знаках справа от запятой это может стать большой проблемой. Для получения дополнительной информации попробуйте эту ссылку: https://www.allaboutcircuits.com/technical-articles/electrical-noise-what-causes-noise-in-electric-circuits/ Это основано на числах, которые он распечатал. На самом деле это не должно быть проблемой, пока вы не получите 14 бит или больше, в зависимости от дизайна., @Gil

Большое спасибо !! добавление конденсатора 0,1 мкФ действительно решило проблему, но все еще есть шум 0,1 В, проверьте, решает ли проблема усреднение показаний, если у вас есть какие-либо другие предложения, пожалуйста, дайте мне знать!, @Aditya Singh