Простой вольтметр низкого напряжения

Givizub
Offline
Зарегистрирован: 01.01.2017

Нужно измерить напряжения аккумулятора 1.2 или 3.7 В на аналоговом входе. При измерениях напряжения выше 5В, понятно, что нужно подбирать резисторы делителя. Как быть с низким напряжением?

Напрямую - закшкаливает. Если надо подобрать шунт между GND и А0, как это сделать?

evgta
Offline
Зарегистрирован: 02.09.2016

ардуино на сколько вольт?

Givizub
Offline
Зарегистрирован: 01.01.2017

Питание 5В (4.97В), оно соответсвует на выходе пина 5В.
Подаю с аккумулятора на пины GND и A0.

Или это риторический вопрос?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Я подозреваю, что ТС хочет измерить напряжение, от которого питается сама Ардуина.

Если это так, то встроенный источник опорного напряжения + делитель.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Givizub пишет:

Питание 5В (4.97В), оно соответсвует на выходе пина 5В.
Подаю с аккумулятора на пины GND и A0.

Или это риторический вопрос?

ПИтание надо подавать не на А0, а на +5В.

А к А0 подсоединять измеряемое напряжение. Тогда в диапазоне 1.2-3.7В зашкаливать не может.

 

В общем, опубликуйте полную схему, включая источник питания и измеряемое напряжение. Вероятнее всего, что-то Вы неправильно подключили.

 

PS. А не пытаете ли Вы, часом, уместить измеренное напряжение в байт?

PPS. И вообще, на будущее: когда задаете вопрос, сразу приводите схему и скетч, иначе получается гадание на кофейной гуще.

toc
Offline
Зарегистрирован: 09.02.2013

если есть желание упростить схему и съэкономить пин - используйте arduino secret voltmeter

Givizub
Offline
Зарегистрирован: 01.01.2017

Пытаюсь изменрить внешнее напряжение, никак не связанное с питанием платы. Подаю с батарейки на вход на A0, но зашкаливает и иногда прыгает вверх-вниз.

float analogPin = 2;
float val = 0;
float valout = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
 val = analogRead(analogPin);
 
 val = val/204.6;
    Serial.println(val);
    delay(500); 
}

 
Givizub
Offline
Зарегистрирован: 01.01.2017

Похоже, нашел проблему - раздолбанное гнездо. Подпаялся напрямую к пину, все работает.

Тогда, следующий вопрос: ничего не выгорит при длительной работе в таком подключении из-за низкого входного сопротивления аналогового входа? И какой способ посоветуете для подавления шумов?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

1. Givizub, интересно, почему у Вас под номер пина отведено дробное число? Как Вы себе представляете дробный номер пина?

2. Аналоговые пины обозначаются как "А2", а не "2". В частности, для Uno А2 == 14. ПИшите сразу правильно, чтобы при смене версии Arduino IDE либо средвы программирования долго не выискивать ошибки.

3. А каким-то вменяемым образом нарисовать схему нельзя? Ничего ж не видно.

4. Почему Вы решили, что у аналогового входа низкое входное сопротивление?

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

6. Но если возникает вопрос уменьшения шумов, то он может решаться как программным, так и аппаратням способом. Программый - усреднеие, аппаратный - конденсатор. Собственно, в любом случае - ФНЧ.

gena
Offline
Зарегистрирован: 04.11.2012

  Меэжду выводом А0 и GND установите конденсатор на 4,7 мкФ, а между выводом А0 и измеряемым аккумулятором - резистор на 10 кОм. Конденсатор таким образом будет сглаживать помехи, а резистор защитит вывод А0, когда Вы его сделаете, случайно, цифровым выходом, и будете работать на аккумулятор. Не помешает он, резистор, и тогда, когда Вы обесточите ардуину, а измеряемый аккумулятор начнёт её (ардуину) запитывать в не традиционное место.