Вопросы по питанию: автовыбор источника и определение источника

Тема в разделе "Arduino & Shields", создана пользователем Neu, 28 июл 2017.

  1. Neu

    Neu Нерд

    Добрый день!

    Подскажите, пожалуйста:
    1. Есть ли в Ардуино возможность использовать сразу два источника питания, при этом один - как резервный? Например, штатное - от блока питания, резервное - от батарейного блока при отсутствии основного. Если да, то насколько быстро происходит переключение м/у источниками и с перезагрузкой ли Ардуины?
    2. Есть ли возможность в скетче контролировать, какой источник сейчас используется? Можно ли переключать источник питания принудительно? Если можно, то киньте плиз несколько строк кода, в которых это было бы видно.
    3. Имеется ли встроенный вольтметр, чтобы можно было снимать показания с подключенной батареи?

    Спасибо!
     
  2. rkit

    rkit Гуру

    1. Штатно нет. Спаять свое можно.
    3. Есть. analogRead. Но читайте документацию. Там куча нюансов.
     
    Neu нравится это.
  3. Neu

    Neu Нерд

    1. Вот тут: http://arduino.ru/Schematic/arduino-uno-schematic.pdf, вроде как слева сверху - схема выбора источника (для UNO). Я пока читать схемы могу с очень большим трудом, но если эта - то что надо, постараюсь разобраться :). Это она?
    3. Круто. Верно я понимаю, для того, чтобы прочитать напругу надо перенаправить входное напряжение на какой-либо из аналоговых пинов (на А0 например) и только потом считывать с помощью analogRead?
     
  4. rkit

    rkit Гуру

    1. Это схема переключения питания между разъемом usb и разъемом для блока питания. Если вы подключите батареи через стабилизатор в usb разъем, а блок 6.5+ вольт в другой, то может работать. Но это мазохизм.
    2. Да. С соблюдением законов схемотехники.
     
  5. Neu

    Neu Нерд

    Почему? Как можно эффективнее это организовать, подскажите?
    На мой дилетантский взгляд, кажется, что в итоге с минимальным вмешательством получаем то, что надо имеющимися средствами Ардуины: блок питания - в свой разъем, блок батареек со стабилизатором - в разъем usb, переключение - на совести Ардуины. Плохо, что это справедливо только для УНО, для Про Мини наверняка не подойдет...
    Можно уточнить, какие нюансы? "Железные" или программные?
    Я пока наткнулся на то, что необходимо преобразовывать значение, получаемое analogRead:
    Код (C++):
    float voltage = sensorValue * (5.0 / 1023.0);
     
  6. rkit

    rkit Гуру

    Потому что вам все равно придется городить стабилизатор, городить разъем, и эта цепь не имеет гистерезиса, а значит может самовозбуждаться в определенных условиях.
    Железные. Как минимум закон ома для полной цепи. Перед тем как пытаться что-то собирать, следует взять книжку по схемотехнике и внимательно прочитать хотя бы до середины.
     
  7. Neu

    Neu Нерд

    Книжку прочитаю, конечно: теория хороша и без нее никуда, с этим не поспоришь. Но хочется "потыкать" уже сейчас :), т.к. теория без практических результатов - удел тех, кому только теория и нужна. Поэтому буду пробовать и жечь, жечь и пробовать :).
    Необходимость учета закона Ома не могу сюда никак пристроить. Зачем его учитывать, если на пине мы уже получили значение напряжения? Мы его не рассчитываем ведь, а просто получаем.
     
  8. rkit

    rkit Гуру

    Вы напряжение не из волшебного идеального источника берете, а из цепи под нагрузкой. Следовательно реальное значение на ацп зависит от отношения импеданса ацп и импеданса нагрузки. С учетом того, что вы измеряете напряжение питания. вам еще нужно будет снижать через какой-то делитель. У делителей импеданс низкий. значит показывать он будет черти что. Значит нужно ставить буферный усилитель, и заботиться от защищенности питания этого усилителя.
     
    Neu нравится это.
  9. rkit

    rkit Гуру

    Либо если взять делитель с высоким импедансом. тогда будет гулять опорное напряжение АЦП относительно его.
     
  10. Neu

    Neu Нерд

    Мда...
    Не избыточен ли такой подход, когда нужно просто узнать напряжение батарейки, чтобы потом на основании этого принять решение, дохнет она или еще нет? Мы ведь когда вольтметром проверяем живучесть источника не обвязываемся кучей делителей и усилителей...
    Во всех примерах с потенциометром которые я успел посмотреть, все довольно просто: крутим потенциометр, снимаем показания. Конечно, это только примеры, может поэтому и просто все...
     
  11. rkit

    rkit Гуру

    Батарейка это не потенциометр. У потенциометра напряжение гуляет от рельсы к рельсе. У батарейки разница в 0.3 вольта означает больше 50% заряда.
    В современном вольтметре столько делителей и усилителей, что вам и не снилось. А самое главное - он питается от собственной батарейки.
     
  12. rkit

    rkit Гуру

    И опять, на эти 0.3 вольта можно полагаться только тогда. когда точно известно внутренее сопротивление батарейки, и сопротивление нагрузки. Потому что закон Ома для полной цепи.
     
  13. mcureenab

    mcureenab Гуру

    Да. Если, грубо говоря, на колодке напряжение выше чем на USB, эта схема переключает питание на колодку. Отключение питания не происходит.
    К USB можно подключить 3 алкалиновые батарейки - 4.5 Вольта без всяких стабилизаторов. Многие датчики вполне нормально работают от 4.5 Вольт.

    В самом простом случае можно подключить питание через диод. Но на диоде падение напряжения от 0.6 Вольт.
    Эти заморочки нужны, чтобы ток от источника с высоким потенциалом не потек через источник с низким потенциалом.
    Если, например, резервным источником взять одноразовые батарейки, то обратный ток их разрушит.
     
    Последнее редактирование: 28 июл 2017
    arkadyf и Neu нравится это.
  14. akl

    akl Гуру

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

    mcureenab Гуру

    По моему вы усложняете. Да. Источник под неопределенной нагрузкой. При таких условиях определить его ЭДС не реально. Но надо ли? Если мы видим что под нагрузкой напряжение выше порога, то всё в порядке.
     
  16. Neu

    Neu Нерд

    rkit, можете подкинуть схему, как нужно правильно собрать "внутренний" вольтметр ардуиновский? Нашел вот такую тему: How to test battery level.
    Как считаете, можно использовать приведенный в ней способ?
     
    arkadyf нравится это.
  17. mcureenab

    mcureenab Гуру

    Так он ( аккумулятор ) сдохнет. Если только NiCd, которые сейчас не больно то найдёшь в продаже.
     
  18. Neu

    Neu Нерд

    mcureenab, спасибо! Переварю, осмыслю - и попробую ))!
     
  19. mcureenab

    mcureenab Гуру

    Есть нарекания на точность, но если откалибровать, то наверное можно.

    Тут ключевой момент в выборе стабилизированного источника опорного напряжения, с которым АЦП сверяет свои показания:

    https://www.arduino.cc/en/Reference/AnalogReference
     
    arkadyf нравится это.
  20. akl

    akl Гуру

    насчет вольтметра - можно питать ардуину через повышающий стабилизатор