Arduino + Уровень заряда аккумулятора

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем omadonex, 14 мар 2014.

  1. omadonex

    omadonex Нерд

    Возник такой вопрос:
    Каким образом, используя Arduino можно узнать уровень заряда аккумулятора (как питающего саму Arduino, так и внешнее питание).
    Приводится много разных схем, в которых горит светодиод в случае разрядки, например:
    http://kazus.ru/shemes/showpage/0/1251/1.html

    Как его можно переделать, чтобы в коде скетча Arduino можно было считать показания с помощью analogRead?
    Либо это делается как-то по-другому? Мне кажется можно как-то использовать делитель напряжения, о котором Jeremy Blum упоминал в лекциях?
     
  2. acos

    acos Официальный гик Администратор

    Использовать внешний источник опорного напряжения и делитель напряжения. Брать напряжение с делителя и сравнивать его с опорным напряжением. Как-то так.
     
  3. omadonex

    omadonex Нерд

    Эмм, простите, что напрягаю, Вы могли бы привести схему, был бы очень признателен. Я так на словах не могу сориентироваться, что куда подключать.
     
  4. acos

    acos Официальный гик Администратор

    Ааа.. До меня что-то не сразу дошло. Если аккумулятор у вас больше 8 вольт, то можно использовать встроенный в ардуино регулятор напряжения как источник опорного напряжения. В таком случае можно обойтись одним делителем напряжения. Вот это почитайте «Делитель напряжения»
    Расчитываем делитель напряжения таким образом, чтобы у нас при максимальном заряде аккумулятора на Vout было вольта 3-4. Ну и потом analogRead этого Vout, и по формуле из статьи узнаете, какое напряжение на Vcc
     
  5. omadonex

    omadonex Нерд

    То есть вы предлагаете сделать вот так? У меня в танк помещается всего 4 аккумулятора, в полной зарядке они в сумме дают 5.5V схемка.png

    Получается, что резисторы еще и ток будут жрать?
     
  6. acos

    acos Официальный гик Администратор

    Резисторы будут ток жрать. Чтоб жрали как можно меньше, нужно, чтоб они были больших номиналов.
    На 5,5 вольт такое вряд-ли получится. В при таком раскладе регулятор напряжения не будет давать постоянное напряжение, оно будет меньше 5 В. Остаётся только мой первый вариант
     
  7. omadonex

    omadonex Нерд

    Так, а какой он первый вариант то?
     
  8. acos

    acos Официальный гик Администратор

    Использовать источник опорного напряжения. Вот этой функцией воспользоваться:
    http://arduino.cc/en/Reference/AnalogReference#.Uyk-lfl_sXw
    Во. Можно воспользоваться встроенным в ATMega328 источником опорного напряжения в 1.1 В. Если это сделать, то все аналоговые входы будут измерять напряжение от 0 до 1,1 В (1023=1,1В). Далее нужен делитель, который будет давать 1 В при напряжении на батарейках 5,5 В. Ну и мерить напряжение с этого делителя.
    Т.е. где-нибудь в setup делаем
    Код (Text):
    analogReference(INTERNAL);
     
    И всё.
    Скорее всего, если потом нужно будет мерить относительно 5 В, то можно сделать перед измерением
    Код (Text):
    analogReference(DEFAULT); // 1023=5В
    int a = analogRead(a0);
    ///.........
    //И обратно 1023=1,1В
    analogReference(INTERNAL); // 1023=1.1В
    int currentVoltage = analogRead(a2); //Смотрим напругу на батарейках
     
    Wardonne нравится это.
  9. acos

    acos Официальный гик Администратор

    Делитель у вас тогда получается (по схеме из вики) R2=2,2 кОм, R1=10 кОм. Как раз при 5,5 В напряжения получается Vout=0,99 В
    А ваша схема какая-то.. странная:) Чего-то в ней не хватает:)
     
    Wardonne нравится это.
  10. omadonex

    omadonex Нерд

    я запутался совсем :(
    я не могу понять куда этот делитель вставлять. Мне же надо на всех моих компонентах 5Вольт.
    Вот так:
    схемка3.png
     

    Вложения:

    Последнее редактирование: 19 мар 2014
  11. acos

    acos Официальный гик Администратор

    ну если исключить непонятки с моторами и смотреть только на делитель, то как-то так
     

    Вложения:

  12. omadonex

    omadonex Нерд

    Моторы и ардуино, я так просто для наглядности вставил, я имел ввиду периферию всякую.
    Буду пробовать, спасибо, отпишусь как сделаю :)
     
  13. Wardonne

    Wardonne Нуб

    5 лет прошло
    Работает?
     
  14. Un_ka

    Un_ka Гик

    Он уехал на своём танке жить в Лондон, зная заряд на аккомуляторах в любой момент времени.