Используйте маломощный Arduino с солнечной панелью
Я пытаюсь создать систему Arduino с радиопередатчиками и радиоприемниками. Система работает от перезаряжаемой батареи, которая заряжается от солнечной панели. Я использую солнечную панель 1,1 Вт 6 В.
Моя проблема в том, что я не знаю, как сделать такое подключение, и я не знаю, какие батареи выбрать для питания ардуино, предполагая, что мне нужно, чтобы она работала в течение 5-7 дней без солнечной энергии и что солнечная панель достаточно хороша для подзарядки батарей, пока они питают Arduino. Мы также предполагаем, что на солнечную панель 8 часов солнечного света.
К ардуино подключены следующие датчики:
- Датчик пламени
- Осветительный резистор x2
- Датчик дыма
- Радиопередатчик
- Радиоприемник
- Температура и усилители DHT11 Датчик влажности
Я также хочу посмотреть, смогу ли я отключить большинство датчиков и включить их позже, если произойдет событие. Так что, вероятно, все датчики могут спать, кроме DHT11 и радиоприемника. Желательно, если это вообще возможно, чтобы остальные датчики были включены, если мы можем продержаться 5-7 дней без солнечной панели. Я не знаю, нужна ли дополнительная информация, но я был бы рад помочь в комментариях или предоставить дополнительную информацию, отредактировав вопрос. :)
@Filip, 👍0
Обсуждение1 ответ
Лучший ответ:
У вас слишком много переменных и неизвестных. В первую очередь вам нужно знать, каково среднее потребление тока для вашей схемы. Во-вторых, вам нужно решить, как долго солнечная энергия может использоваться для перезарядки батареи. Вы должны думать не только о времени работы, но и о времени зарядки. Время зарядки определяет максимальную емкость батареи, а это определяет время работы Arduino. Итак, вот некоторые математические расчеты на салфетках для иллюстрации:
Предполагая, что вы хотите зарядить аккумулятор от почти полностью разряженного до полного за 8 часов, а с помощью солнечного элемента мощностью 1,1 Вт и напряжением 6 В пиковый ток составит 183 мА.
Предполагая, что схема Arduino потребляет в среднем 83 мА (давайте приведем здесь круглые числа), остается 100 мА пикового значения для зарядки аккумулятора.
Если вы заряжаете, скажем, при температуре 0,2 C, полная зарядка займет 5 часов. 100 мА / 0,2°C = емкость 500 мАч (при максимальном солнечном свете и силе тока).
При емкости 500 мАч и среднем потреблении тока 83 мА это дает вам (0,5/0,083) 6 часов работы без солнечных панелей.
Так что это просто не сработает. К утру он будет мертв.
Теперь предположим, что вы можете отключить все в 99 % случаев. Это эффективно снижает наше среднее потребление тока до 0,083 * 0,01 = 830 мкА. Подключим это к тому же рассуждению, что и выше.
- Потребляемый ток = 0,00083 А
- Входящий пиковый ток = 0,183
- Доступный ток заряда = 0,183–0,00083 = 0,18217
- Зарядка при 0,2C = 910 мАч.
- Аккумулятор емкостью 1 Ач будет заряжаться примерно за 5,5 часов при ярком солнечном свете.
- 1 Ач будет работать около 1200 часов или 100 дней.
При этом не учитываются различные уровни освещенности или углы падения света. Как показывает опыт, примите свет в среднем на 50% в течение 8-часового периода. Вы получите только 1,1 Вт, когда угол падения составляет 90 ° по отношению к солнечной панели. В остальное время она будет снижена. Таким образом, если мы уменьшим ток со 183 мА до, скажем, 100 мА, емкость заряда изменится на:
- Входящий пиковый ток = 0,100
- Доступный ток заряда = 0,100–0,00083 = 0,099
- Зарядка при 0,2°C = 496 мАч.
- Батарея емкостью 500 мАч заряжается примерно за 5 часов.
- Батарея емкостью 500 мАч будет работать около 50 дней при среднем токе 830 мкА.
Итак, вы видите, что все на самом деле зависит от потребления тока Arduino. То, сколько тока он потребляет, определяет, сколько доступно для зарядки батареи, что, в свою очередь, определяет размер батареи, которую вы можете поддерживать, что определяет величину тока, которую вы можете потреблять в течение желаемого времени работы, что, в свою очередь, определяет величину зарядного тока. доступный, что определяет размер батареи, которую вы можете поддерживать, что диктует ... и т. д. Вы поняли.
Конечно, вы можете поддерживать аккумуляторы большего размера. Я проиллюстрировал это при скорости зарядки 0,2 C (это 20 % заряда в час, что дает 5 часов времени зарядки). Пока чистый заряд со временем увеличивается (например, в периоды между 5-7 днями полной темноты вы получаете больше заряда, чем расходуете в течение периода темноты - что-то, что не указано), тогда он должен работать нормально.
Также обратите внимание, что напряжение вашей батареи должно быть ниже напряжения вашей солнечной панели. Солнечная батарея на 6 В сможет заряжать свинцово-кислотную батарею на 4,5 В (при условии наличия защитных диодов Шоттки с малым падением напряжения). Кроме того, емкость батареи зависит также от того, какое напряжение вы определяете как «отсечку». Это то, насколько низким может быть напряжение батареи, прежде чем ваша система будет признана неработоспособной. Это может быть в момент, когда батарея может быть повреждена из-за чрезмерного разряда, или в момент, когда ваша схема больше не получает достаточного напряжения для работы (что может быть связано с частотой генератора на микросхемах ATMega) и т. д. Для По этой причине часто лучше выбрать плату, которая предназначена для работы при более низком напряжении (3,3 В) и использовать высокоэффективное регулирование переключения, чтобы получить максимальную отдачу от вашей батареи. Arduino 5V редко бывает хорошим выбором.
Нахождение правильного баланса теперь полностью зависит от вас.
И, отвечая на другой ваш вопрос, да, есть способы включать и выключать вещи. Вы можете «усыпить» Arduino. Можно использовать высокоэффективные силовые цепи. Вы можете добавить схемы переключения питания (P-MOSFET) для включения и выключения питания других модулей. Все можно (и в большинстве случаев нужно) сделать для экономии энергии при работе от батарей.
Спасибо за ваш ответ, это было действительно полезно. Думаю, у меня есть еще несколько вопросов. Что бы вы предложили сделать, если мне нужно, чтобы приемник и модуль температуры были всегда включены, а другие датчики выключены? Какими способами это можно сделать и как подключить солнечную панель к батарее, а батарею к ардуино?, @Filip
Во-первых: вы бы подключили солнечную панель к зарядному устройству, затем зарядное устройство к аккумулятору. Затем батарея подключается (через зарядное устройство) к источнику питания, который затем подключается к Arduino. Вы не можете просто подключить солнечную панель к батарее и надеяться, что она будет работать — зарядка требует управления., @Majenko
Во-вторых, вы выбираете ВЧ-решение, которое имеет низкий ток покоя в режиме приема и способно вывести Arduino из спящего режима, когда это необходимо., @Majenko
Хорошо, я посмотрю больше на зарядную часть батареи. Я использовал библиотеку RadioHead для радиомодулей, изучил документы и нашел метод, который, как мне кажется, усыпит приемник или передатчик. Было бы это приемлемо? И как мне «усыпить» остальные датчики? digitalWrite(pin, LOW)
?, @Filip
Это зависит от датчиков. Некоторым вам это не понадобится, некоторым вы сможете дать указание «усыпить», а некоторым вам нужно будет отключить питание. Для этого можно использовать P-канальный МОП-транзистор, которым можно управлять с помощью цифрового вывода ввода-вывода., @Majenko
Что ж, в этом случае я должен сначала сделать схему, рассчитать ее выходной усилитель, а затем рассчитать, какая батарея ей понадобится, если схема будет работать как есть, и пересчитать выходной усилитель с большинством спящих модулей, а затем посмотреть, какую батарею я мог бы использовать. Как вы сказали, солнечная панель дает выход 183 мА, поэтому батарея емкостью 183 мАч будет заряжаться за 1 час. Как я могу эффективно зарядить аккумулятор емкостью 500 мАч, о котором вы говорили, который проработает около 50 дней, если dht11 и радиочастотный приемник включены?, @Filip
Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/105117/discussion-between-filip-and-majenko)., @Filip
Текущее потребление DHT11 зависит от того, как часто вы его сэмплируете. Ток приемника зависит от того, какой приемник. Обратите внимание, что солнечная панель является источником тока, и батареям разных типов может потребоваться источник напряжения, источник тока или управляемая комбинация этих двух элементов. Для этого и нужен контроллер заряда. Например, вам нужно будет преобразовать солнечный источник тока в источник напряжения для свинцово-кислотных аккумуляторов., @Majenko
Вы только что сказали много вещей, с которыми я не знаком :P Может быть, я мог бы пробовать DHT11 каждую минуту? Таким образом, каждые 60 секунд DHT11 отправляет мне текущую температуру и влажность, которые хранятся на моем компьютере, поэтому, когда я прошу его прислать мне информацию о погоде, он просто показывает мне последние данные, которые я получил от dht, а не фактический. _текущие_ погодные условия. Так что я думаю, что dht11 можно использовать только один раз в минуту. Приемник представляет собой ВЧ-модуль 433 МГц, самый распространенный. Не могли бы вы предложить контроллер заряда, который будет работать в моей ситуации?, @Filip
Итак, я обнаружил, что моя схема потребляет до 1 мА, поэтому я мог бы использовать 2 батареи по 3,7 В, соединенные вверх ногами (то есть 7,4 В), и 500 мАч для питания схемы в течение не менее 500 часов, то есть 20,8 дней., @Filip
Вы не будете заряжать их своей солнечной панелью., @Majenko
Почему они не будут заряжаться?, @Filip
Вы сказали, что солнечный элемент будет производить 183 мА за 8 часов, поэтому для зарядки осталось 183 мА - 1 мА = 182 мА. 182 мА / 0,2°C = емкость 910 мАч. Так разве этого недостаточно для питания аккумулятора емкостью 500 мАч??, @Filip
Вам нужно будет повысить напряжение. У тебя только 6В максимум..., @Majenko
Как бы поднять напряжение?, @Filip
С регулятором наддува, однако это снижает доступный ток. Вот почему я предложил Arduino на 3,3 В и импульсный стабилизатор, поскольку он больше подходит для работы от батарей, которые способна заряжать солнечная панель на 6 В., @Majenko
Если бы у меня был Arduino UNO R3, но я использовал только его контакт 3,3 В, это было бы нормально?, @Filip
Нет. Вы не можете запустить Arduino 16 МГц при напряжении 3,3 В., @Majenko
Мне все еще нужны батареи выше 5 В, и все, что я могу сделать, это получить 5 батарей по 1,2 В, чтобы получить 6 В, чтобы иметь возможность питать их от солнечной батареи. Может ли это сработать?, @Filip
Нет. Вам нужно более высокое напряжение, чем батареи, чтобы иметь возможность заряжать их. Я предлагаю вам немного почитать и изучить, прежде чем вы начнете этот проект., @Majenko
Мне нужно было сегодня выяснить, какой тип батареи мне нужен, поэтому я разместил такой вопрос здесь. Могу ли я обойтись 4 батареями по 1,2 В, чтобы он немного поработал?, @Filip
4,8 В нормально для 16 МГц Arduino. Почитайте даташит на чип. В электрических характеристиках есть график, показывающий зависимость между напряжением и максимальной поддерживаемой частотой., @Majenko
Я видел, что Arduino регулирует мощность, так что все 4–20 В в любом случае будет регулироваться, так что все в порядке, пока батарея не упадет ниже 4 В?, @Filip
Нет. Вы *не* хотите использовать встроенный регулятор. Это ужасный регулятор, который будет тратить много энергии и не позволит вам работать при напряжении ниже 6,2 В., @Majenko
Какой регулятор я должен был бы использовать? Мне просто нужно, чтобы это работало в теории и, вероятно, в течение меньшего времени, чем дни, может быть, часы. Разве я не смогу зарядить аккумулятор и запустить Arduino на 4,8 В?, @Filip
Регулятор вообще не нужен. 4,8 В соответствует характеристикам чипа., @Majenko
Хорошо, тогда окончательная схема будет состоять из солнечной панели, подключенной к литиевому зарядному устройству, которое будет заряжать аккумулятор емкостью 500 мАч 4,8 В, который будет питать схему Arduino, потребляющую 1 мА при максимальной оценке. Так это сработает? Смогу ли я после 1 дня поиска аккумуляторов? :П, @Filip
Единственная проблема с этим сценарием заключается в том, что вы не должны питать цепь от литиевой батареи, которая заряжается. Вы рискуете перепутать зарядное устройство и перезарядить аккумулятор., @Majenko
Что ты предлагаешь? Зарядка батареи до полной и одновременное питание Arduino от солнечной батареи? А если солнечная батарея выйдет из строя, то ардуино должна питаться от батареек?, @Filip
Это нормальный способ, да. Схема, которую я обычно использую, показана в [этом вопросе](https://electronics.stackexchange.com/questions/293353/load-sharing-charging-circuit-for-lithium-polymer). В основном это зарядное устройство Li-Ion. Часть вокруг батареи — Rpull, Q1 и D1 — образует интересную часть, которая автоматически переключает питание нагрузки., @Majenko
Хорошо, большое спасибо за вашу помощь и терпение. Будет ли работать два аккумулятора 3,7 В, пониженное до 5,5 В с помощью потенциометра?, @Filip
Нет, но использование высокоэффективного импульсного регулятора с ними было бы. Но тогда вы не сможете зарядить их всего 6В., @Majenko
Значит, все равно не получится? Мой единственный вариант - найти аккумуляторы Li-Ion 1.2V?, @Filip
Нет, у вас есть много вариантов. Лучше всего не использовать 5-вольтовый Arduino, а вместо этого выбрать один из более современных 3,3-вольтовых. Тогда вы можете использовать один литий-ионный аккумулятор., @Majenko
Не могли бы вы назвать один? У меня также ограниченный бюджет, и батареи стоят около 9 долларов, что составляет 27% от него., @Filip
Я думаю, может быть, я мог бы получить 1 литиевую батарею и использовать повышающую схему, чтобы получить напряжение до 5 В для питания Arduino. Увеличится ли розыгрыш? Даже если это так, мы, вероятно, должны быть хорошими?, @Filip
Существуют Arduino, специально предназначенные для использования литиевых батарей с низким энергопотреблением. Проверьте веб-сайт., @Majenko
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
- BMP280 возвращает 0
- Определение уровня заряда с помощью датчика тока (ACS758) с arduino uno
- Нужен усилитель сигнала датчика качества воздуха MQ135? Датчик более высокого качества?
- Датчик DHT11: режим ожидания или выключение?
- Проблема с подключением датчика сердцебиения и температуры на arduino uno, но работает по отдельности
- Проблема с условием if
- DHT20 и дисплей Oled не работают вместе
Почему вы хотите, чтобы DHT11 всегда был включен?, @Gerben
Посмотрите на https://thecavepearlproject.org/. В нем очень подробно рассказывается о том, как запускать Arduino и датчики при очень низких токах., @Gerben
@Gerben DHT11 должен быть одним, потому что он будет предоставлять информацию по запросу и предупреждать о повышении температуры. Так что он всегда должен быть включен, @Filip
Нет. Arduino должен быть включен. Arduino опрашивает DHT11, скажем, раз в минуту. Вы можете отключить питание от DHT11, когда он не используется. Затем повторно включите питание, когда вам потребуется новое измерение температуры. (Хотя вам может понадобиться добавить некоторую задержку между включением питания и получением показаний)., @Gerben
@Gerben Да, это был план, хотя я измерял схему без него и постоянно считывал с него, и он был ниже 1 мА, поэтому я предположил, что 1 мА был средним потреблением, просто чтобы быть уверенным, прежде чем переписывать эту часть кода, проводя измерения каждую минуту, а не каждые 2 секунды без отключения питания., @Filip