вольтаж питающей Liion батареи без VREF. возможно?

mamba
Offline
Зарегистрирован: 23.01.2015

есть ATTiny85 и питающая его Liion 18650 батарея. есть какая-то хитрая возможность поиметь вольтаж батареи, при условии что нет стабилизатора 5V... (с ним все просто, но он подлец дает помехи на RF модуль).

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

использовать внутренний ион, а также делитель с фильтром с батареии. все это дело на аналоговый вход

правда внутренний ион не обладает хорошей стабильностью, но лучше чем ничего

 

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

mamba,
http://instructables.com/id/Secret-Arduino-Voltmeter/

хотя, для тини вероятно не подойдёт.

mamba
Offline
Зарегистрирован: 23.01.2015

да, этот вариант при наличии стабилизатора. вариант с ион вроде рабочий, но нужно выяснить как использовать BOD при включенном внутреннем осциляторе, или таки забить и использовать стабилизированное питание.

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

toc пишет:
mamba, http://instructables.com/id/Secret-Arduino-Voltmeter/ хотя, для тини вероятно не подойдёт.

почему не подойдёт ? у тини25/45/85 есть • Selectable 1.1V / 2.56V ADC Voltage Reference

...батарею через резистивный делитель на аналог пин

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

А вот он и списочек, сами читайте:

 // Read 1.1V reference against AVcc
  // set the reference to Vcc and the measurement to the internal 1.1V reference
  #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
    ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
     ADMUX = _BV(MUX5) | _BV(MUX0) ;
  #else
    ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  #endif  

 

std
Offline
Зарегистрирован: 05.01.2012

На arduino.cc пишут analogReference(6)

А 5й вывод занят под SPI? А то можно было б стабилитроном и збс.

Кстате нипанятна, а что такое "стабилизатор 5В", и как он даёт RF помехи. Может речь о преобразователе 5В? Ну и кстати имхо там тоже на раз глушатся помехи, керамики 0.1 мкФ навешать везде где можно и всё ништяк.

mamba
Offline
Зарегистрирован: 23.01.2015

ну я просто не сильно продвинут. по привычке, питание Li-Ion элемент + преобразватель step-up до 5V от которого питание на все остальное. на преобразователе дроссель который судя по всему дает помеху ( это я так думаю, ибо когда он есть, RF сообщение доставляется одно из 10, а без него  на прямую 10/10)  если бы питание было-бы >5V  то без проблем, но у меня меньше...

вся халабуда это ATTiny85 + DHT22 + RF315MHz который скидывает данные на основной блок.

 

 

axill
Offline
Зарегистрирован: 05.09.2011

вам вольтаж нужен какой-то другой батареи или той, что собственно ардуину питает?

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

mamba
Offline
Зарегистрирован: 23.01.2015

ну, этож нужно знать как этот способ называется... спасибо, поищу этот "bangap".

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

mamba пишет:

ну, этож нужно знать как этот способ называется... спасибо, поищу этот "bangap".

То есть второй  и четвёртый  пост вы не читали?

axill
Offline
Зарегистрирован: 05.09.2011

trembo пишет:

То есть второй  и четвёртый  пост вы не читали?

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

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

может я конечно путаю, но для ацп можно выбрать несколько вариантов опорного напряжения: напряжение питания, внутренний ион, и внешнее опорное напряжение которое подается на aref

bangap это и есть внутренний опорник насколько я понял. так записано в даташите

например в даташите на тиньку85

http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny2...

есть термин

 Internal Voltage Reference

а в таблице со значениями 

Bandgap reference voltage

собственно говорим об одном и томже

так как если опорное напряжение будет 1,1В нужно соответственно делитель, так как больше опрного подавать нельзя

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

,

axill
Offline
Зарегистрирован: 05.09.2011

Возможно в МК всего один источник стабильного напряжения и он называется Vbg. Но когда речь идет об измерении напряжения питания МК, в качестве опорного берется само напряжением МК, то, что мы подаем на VCC и AVCC входы микроконтроллера. А вот в качестве измеряемого канала берется не один из аналоговых входов, а виртуальный вход на который подается Vbg. Т.е. в качестве опорного напряжения выбирается то напряжение которое хотим измерить, а в качестве измеряемого выбирается напряжение, которое заранее известно. 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Именно так. Измеряем напряжение внутреннего, известного нам напряжения 1.1 Вольт(примерно), при этом напряжение опроры АЦП- это , как обычно, напряжение питания проца.

Вопрос может-не может процессор таким образом померять своё напряжение питания сводится к :   Есть ли внутри коммутатор (мультиплексор или  ключ) который подаст напряжение измеряемой внутренней опоры ( а в этом случае она у нас совсем не опора, а как раз наоборот измеряемое) на измерительный вход АЦП. Что как раз и пытаются сделать строчки из моего пятого поста ( это команды на переключение мультиплексора).

Короче, запустите пример из линка  второго поста и гляньте результат.

mamba
Offline
Зарегистрирован: 23.01.2015

уже со всем разрбрался и сделал. простите, с первого раза не дошло просто :)) всем спасибо за разжевывание.