Замер напряжения на аккумуляторе

Megawollt
Offline
Зарегистрирован: 06.12.2015

В устройстве используется аккумулятор 3.7в. Ардуино питается через dc/dc конвертер.

+ Аккумулятора подключен к пину ардуино через резистор 100 ом.

Скетч такой:

Проблема в том, что значение постоянно скачет, хотя напряжение на аккумуляторе стабильно.

Если использовать встроенный источник опорного напряжения, то максимально на вход можно подавать 1,1в?

#define BATADC A1 //Пин замера напряжения
#define BATLOW 700 //Минимальное значение напряжения
#define BATHI 840 //Максимальное значение напряжения

void setup() {
 

}

void loop() {
u = constrain(analogRead(BATADC), BATLOW, BATHI); //Ограничение значений напряжения
level = map(u, BATLOW, BATHI, 0, 14); //Количество линий в рисунке батареи 0-14

if (level <= 1) {                      //Рисунок мигает
      if (millis() % 1000 > 500) {
        u8g.drawFrame(95, 2, 15, 7);
        u8g.drawBox(109, 4, 3, 3);
        u8g.drawBox(96, 3, level, 5);
      }
    }
    else {                           //Рисунок статичен
      u8g.drawFrame(95, 2, 15, 7);
      u8g.drawBox(109, 4, 3, 3);
      u8g.drawBox(96, 3, level, 5);
    }
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Немного скакать оно будет всегда. 

Чтобы эти скачки уменьшить, даташит (раздел 24.6) рекомендует ставить конденсатор от AREF на землю, а также правильно подключать AVCC (индуктивность на VCC и конденсатор на землю). Конденсатор на AREF Вы поставить можете, а вот AVCC на ардуиновские пины не выведено :( Я в этом случае беру голую микросхему и паяю сам.

Улчшить ситуацию может ФНЧ, а также отключение остальных операций на время замера (noise canceling) - тот же раздел даташита

Megawollt
Offline
Зарегистрирован: 06.12.2015

Мм..проще поставить внешний ИОН, но он стоит недешево. А как задействовать встроенный?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

есть такая замечательно вкусная штучка как TL431.  На ней столько всего построить можно, мммм..... 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Megawollt, во-первых у "скачет" должны быть конкретные цифры. Выведете в сериал чистый аналогRead , если прыгает +/- 2 LSB то это нормально. Если больше, то не нормально. Во-вторых обоснуйте питание ардуины через преобразователь. Не удобнее ли включить напрямую Vcc к аккумулятору?

Megawollt
Offline
Зарегистрирован: 06.12.2015

Скачет много. По моей шкале +-2 деления из 14 то есть процентов 15-20. Питание через конвертер обосновано наличием дисплея и микросхемы max485, работающих от 5 вольт.
Я слышал про tl431, но мало что о ней знаю. Она пригодна как ИОН?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Megawollt пишет:
наличием дисплея
Какого? Там случайно динамическая индикация рядом не пробелага?

Megawollt пишет:
и микросхемы max485
Ох.... надеюсь у них (ардуины и этой микросхемы) земли не напрямую соединены, а у каждой свой фильтр? И хороший фильтр?

Megawollt пишет:
Я слышал про tl431, но мало что о ней знаю. Она пригодна как ИОН?

Смотря что Вы понимаете под ИОН. Производитель называет её "Precision Programmable Reference". По сути это стабилитрон напряжение срабатывания которого Вы можете устанавливать сами в довольно широких пределах (2,5В - 36В).

Вы попробовали то, что я сказал? Конденсатор на AREF, "noise cancelling" и ФНЧ? Неужели не помогло? Тогда смотрите на фильтры питания. А если не попробовали, то чего ждёте?

Megawollt
Offline
Зарегистрирован: 06.12.2015

ЕвгенийП пишет:

Megawollt пишет:
наличием дисплея
Какого? Там случайно динамическая индикация рядом не пробелага?

Megawollt пишет:
и микросхемы max485
Ох.... надеюсь у них (ардуины и этой микросхемы) земли не напрямую соединены, а у каждой свой фильтр? И хороший фильтр?

Megawollt пишет:
Я слышал про tl431, но мало что о ней знаю. Она пригодна как ИОН?

Смотря что Вы понимаете под ИОН. Производитель называет её "Precision Programmable Reference". По сути это стабилитрон напряжение срабатывания которого Вы можете устанавливать сами в довольно широких пределах (2,5В - 36В).

Вы попробовали то, что я сказал? Конденсатор на AREF, "noise cancelling" и ФНЧ? Неужели не помогло? Тогда смотрите на фильтры питания. А если не попробовали, то чего ждёте?

Нет, дисплей OLED 128x64

Вот про земли и фильтр поподробнее. Что такое земля? Общий "-" что ли? Вроде всегда по схемотехнике так делают.

Под ИОН я понимаю что то, что имеет разброс хотя бы 5%

Кондер на AREF 0,1uF

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Megawollt пишет:

Вот про земли и фильтр поподробнее. Что такое земля? Общий "-" что ли? Вроде всегда по схемотехнике так делают.

Цифровые микросхемы очень много шумят в питание Там же сигналы меняются скачкообразно и при каждом таком скачке она ненадолго и, возможно, ненамного, но "притягивает" землю к своему питанию. Поэтому если аналоговые дела сидят на этой же земле и этом же питании, то им от этого плохеет. Вот и начинается у Вас колбасение аналогового входа. Ещё бы - если у него питание и землю колбасит.

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

Я Вам приведу пример из собственных граблей. Я как-то делал комбинированное устройство, часы, радио, и т.п. Причём часы ещё самоустанавливались через Интернет. Там был и экранчик, который управлялся MAX7219 (динамическая индикация 8кГц).

Так вот сравните две схемы ниже. Принципиально они одинаковые. Вопрос в монтаже. На левой схеме дорожки так и шли от одной части схемы к другой. И на ней я постоянно слушал 8кГц писк в динамике радио, а Wi-fi в принципе работал, но через пень-колоду с огромным количеством ошибок и запрос времени занимал минут по 5-10. И ещё во время работы Wi-Fi приёмник мерзко хрюкал. Тогда я почитал литературу (ссылки ниже) и разделил земли, соединив их вместо только в одной точке возле самого блока питания (как на правой схеме). Писк и нестабильную работу Wi-Fi как рукой сняло.

Что я читал:

1. https://www.terraelectronica.ru/files/news/NE_2015_09_3.pdf (сравните рисунок 2 и рисунок 3 - как раз мой случай, о котором я писал выше)

2. https://drive.google.com/open?id=0B9r7cRXQ4DU4d1M4R3BLNnBXb2c

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Megawollt пишет:

Кондер на AREF 0,1uF

Разделите земли - это уменьшит внешние воздействия

И добавьте noise cancelling - это уменьшите внутренние (в самом микроконтроллере) воздействия

Megawollt
Offline
Зарегистрирован: 06.12.2015

Спасибо. Очень познавательно. У меня подключено как раз по первой схеме.

А noise cancelling  что такое?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, дык, я ж там гд-ето Выше писал, что раздел 24.6 даташита так и называется "ADC Noise Canceler" ("подавитель шумов АЦП")