Замер напряжения на аккумуляторе
- Войдите на сайт для отправки комментариев
Втр, 16/05/2017 - 19:59
В устройстве используется аккумулятор 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); } }
Немного скакать оно будет всегда.
Чтобы эти скачки уменьшить, даташит (раздел 24.6) рекомендует ставить конденсатор от AREF на землю, а также правильно подключать AVCC (индуктивность на VCC и конденсатор на землю). Конденсатор на AREF Вы поставить можете, а вот AVCC на ардуиновские пины не выведено :( Я в этом случае беру голую микросхему и паяю сам.
Улчшить ситуацию может ФНЧ, а также отключение остальных операций на время замера (noise canceling) - тот же раздел даташита
Мм..проще поставить внешний ИОН, но он стоит недешево. А как задействовать встроенный?
есть такая замечательно вкусная штучка как TL431. На ней столько всего построить можно, мммм.....
Megawollt, во-первых у "скачет" должны быть конкретные цифры. Выведете в сериал чистый аналогRead , если прыгает +/- 2 LSB то это нормально. Если больше, то не нормально. Во-вторых обоснуйте питание ардуины через преобразователь. Не удобнее ли включить напрямую Vcc к аккумулятору?
Скачет много. По моей шкале +-2 деления из 14 то есть процентов 15-20. Питание через конвертер обосновано наличием дисплея и микросхемы max485, работающих от 5 вольт.
Я слышал про tl431, но мало что о ней знаю. Она пригодна как ИОН?
Смотря что Вы понимаете под ИОН. Производитель называет её "Precision Programmable Reference". По сути это стабилитрон напряжение срабатывания которого Вы можете устанавливать сами в довольно широких пределах (2,5В - 36В).
Вы попробовали то, что я сказал? Конденсатор на AREF, "noise cancelling" и ФНЧ? Неужели не помогло? Тогда смотрите на фильтры питания. А если не попробовали, то чего ждёте?
Смотря что Вы понимаете под ИОН. Производитель называет её "Precision Programmable Reference". По сути это стабилитрон напряжение срабатывания которого Вы можете устанавливать сами в довольно широких пределах (2,5В - 36В).
Вы попробовали то, что я сказал? Конденсатор на AREF, "noise cancelling" и ФНЧ? Неужели не помогло? Тогда смотрите на фильтры питания. А если не попробовали, то чего ждёте?
Нет, дисплей OLED 128x64
Вот про земли и фильтр поподробнее. Что такое земля? Общий "-" что ли? Вроде всегда по схемотехнике так делают.
Под ИОН я понимаю что то, что имеет разброс хотя бы 5%
Кондер на AREF 0,1uF
Вот про земли и фильтр поподробнее. Что такое земля? Общий "-" что ли? Вроде всегда по схемотехнике так делают.
Цифровые микросхемы очень много шумят в питание Там же сигналы меняются скачкообразно и при каждом таком скачке она ненадолго и, возможно, ненамного, но "притягивает" землю к своему питанию. Поэтому если аналоговые дела сидят на этой же земле и этом же питании, то им от этого плохеет. Вот и начинается у Вас колбасение аналогового входа. Ещё бы - если у него питание и землю колбасит.
Необходимо разделять аналоговое питание/землю и цифровое. Конечно, они должны быть соединены, но в одной точке - на источнике питания, а после у каждой должен быть свой фильтр и они никак не должны пересекаться.
Я Вам приведу пример из собственных граблей. Я как-то делал комбинированное устройство, часы, радио, и т.п. Причём часы ещё самоустанавливались через Интернет. Там был и экранчик, который управлялся 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
Кондер на AREF 0,1uF
Разделите земли - это уменьшит внешние воздействия
И добавьте noise cancelling - это уменьшите внутренние (в самом микроконтроллере) воздействия
Спасибо. Очень познавательно. У меня подключено как раз по первой схеме.
А noise cancelling что такое?
Ну, дык, я ж там гд-ето Выше писал, что раздел 24.6 даташита так и называется "ADC Noise Canceler" ("подавитель шумов АЦП")