Меню

Ардуино питание от солнечной панели



Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Делаем плату Arduino автономной с питанием от солнечной батареи

Чтобы использовать плату Arduino в своих проектах где-нибудь за городом, например, на даче, желательно сделать ее автономной от сетевого питания и питания от батареек, которые часто приходится менять. В данном случае самым простым способом будет использование солнечной батареи и резервной батареи напряжением 9 В.

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

Итак, для создания автономной платы Arduino с питанием от солнечной батареи нам потребуются следующие компоненты:

  • Плата Arduino
  • Аккумулятор или перезаряжаемая батарейка Крона 9В
  • Солнечная панель (примерно на 11 В)
  • Диод 1N4001
  • Электролитический конденсатор 100 мкФ 10 В
  • Разъем питания для Arduino

Все эти компоненты нужно подключить в соответствии с приведенной ниже схемой. Это довольно простое действие, поскольку схема не представляет никакой сложности. Не забудьте поменять джампер на плате Arduino в положение «»EXT».

Перед подключением штекера питания Arduino разберите его и установите, какой провод является плюсом питания (обычно красный), а какой «землей» (обычно черный).

В итоге вот такая может получиться плата, собранная «на коленке»:

Теперь Arduino можно использовать где-нибудь на природе и в местах, не слишком затронутых цивилизацией.

Источник

Зарядное устройство от солнечной батареи своими руками

В этом уроке мы покажем вам, как заряжать литиевую батарейку 18650, используя чип TP4056 и солнечную энергию.

Комплектующие

Было бы здорово, если бы вы могли заряжать батарею мобильных телефонов, используя солнце вместо зарядного устройства USB, неправда ли?

Общая стоимость этого проекта, за исключением батареи, составляет чуть менее 5 долларов США. Батарея добавит еще от $4 до $5 баксов. В итоге у нас получится портативный блок питания.

Таким образом, общая стоимость проекта составляет около 10 долларов США. Все компоненты доступны на АлиЭкспресс по действительно хорошей цене.

Для этого проекта нам понадобятся:

  1. 5В солнечная батарея (убедитесь, что она составляет 5В и не меньше);
  2. монтажная плата общего назначения, макетная плата;
  3. 1N4007 высоковольтный высокоомный диод (для защиты от обратного напряжения). Этот диод рассчитан на ток в прямом направлении 1А с пиковым значением обратного напряжения 1000 В;
  4. Медный провод;
  5. 2x клеммные колодки PCB;
  6. держатель батареи 18650;
  7. аккумулятор 3.7V 18650;
  8. плата защиты аккумулятора TP4056 (с защитой IC или без нее);
  9. усилитель мощности 5В;
  10. некоторые соединительные провода;
  11. оборудование для пайки.

Как работает TP4056

Если посмотреть на саму плату, то мы увидим, что она имеет чип TP4056 наряду с несколькими другими компонентами, представляющими для нас интерес.

На плате один красный и один синий светодиод. Красный загорается, когда он заряжается, а синий — при полной зарядке. Также есть мини-USB-разъем для зарядки аккумулятора от внешнего USB-зарядного устройства. Еще есть также два места куда вы можете припаять свою собственную зарядную единицу. Эти места отмечены как IN- и IN +.

Мы будем использовать их для питания этой платы. Батарея будет подключена к этим двум точкам, обозначенным как BAT + и BAT-. Плата требует входного напряжения от 4,5 до 5,5 В для зарядки аккумулятора.

Читайте также:  Кукуруза по типу питания

На рынке доступны две версии этой платы. Один с модулем защиты от разряда батареи и один без него. Обе платы имеют ток зарядки 1А и отключении по завершении.

Кроме того, один с защитой отключает нагрузку, когда напряжение аккумулятора падает ниже 2,4 В, чтобы защитить батарею от слишком низкого тока (например, в пасмурный день), а также защищает от перенапряжения и обратной полярности (обычно уничтожает себя вместо батареи), однако, пожалуйста, проверьте, правильно ли вы всё подключили в самый первый раз.

Схема устройства

Эти платы действительно очень сильно нагреваются, поэтому мы будем паять их немного над печатной платой. Для этого мы будем использовать жесткий медный провод, чтобы сделать ножки для печатной платы. У нас будет 4 кусочка медных проводов, чтобы сделать 4 ножки для монтажной платы. Для этого вы также можете использовать — штыревые разъемы вместо медного провода.

Солнечный элемент подключается к клеммам IN + и IN-платы зарядки TP4056 соответственно. Диод вставлен в положительный конец для защиты от обратного напряжения. Затем BAT + и BAT- платы подключаются к + ve и -ve концам батареи. Это все, что нам нужно для зарядки аккумулятора.

Теперь для питания платы Arduino нам нужно увеличить выход до 5В. Итак, мы добавляем усилитель напряжения 5 В к этой схеме. Подключите -ve батареи к IN- усилителя и ve+ к IN+, добавив переключатель между ними. Мы подключили бустерную плату прямо к зарядному устройству, но мы рекомендуем установить там SPDT-переключатель. Поэтому, когда устройство заряжает батарею, она заряжается и не используется.

Солнечные элементы подключены к входу зарядного устройства литиевой батареи (TP4056), выход которого подключен к литиевой батарее 18560. Усилитель напряжения 5 В также подключен к аккумулятору и используется для преобразования от 3,7 В постоянного тока до 5 В постоянного тока.

Напряжение зарядки обычно составляет около 4,2 В. Вход усилителя напряжения варьируется от 0,9 до 5,0 В. Таким образом, он увидит около 3,7 В на его входе, когда батарея разряжается, и 4.2 В, когда она подзаряжается. Выходной сигнал усилителя до остальной части цепи будет поддерживать его значение 5 В.

Этот проект будет очень полезен для питания удаленного регистратора данных. Как известно, источник питания всегда является проблемой для удаленного регистратора, и в большинстве случаев нет доступной розетки.

Подобная ситуация заставляет вас использовать некоторые батареи для питания вашей цепи. Но в конце концов, батарея умрет. Наш недорогой проект солнечного зарядного устройства станет отличным решением для такой ситуации.

Источник

Солнечная панель на Arduino, отслеживающая местоположение Солнца

В этой статье мы рассмотрим проектирование солнечной панели на основе платы Arduino, отслеживающей местоположение Солнца (следующей за Солнцем) с целью максимизации количества энергии, вырабатываемой солнечной панелью (поскольку она всегда будет развернута в сторону света). Схема нашего устройства будет основана на использовании двух фоторезисторов (LDR — Light dependent resistor) для обнаружения света и сервомотора для автоматического поворота солнечной панели в направлении солнечного света.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Сервомотор sg90 (купить на AliExpress).
  3. Солнечная панель.
  4. Фоторезистор (2 шт.) (купить на AliExpress).
  5. Резистор 10 кОм (2 шт.).
  6. Батарея (от 6 до 12 В).
Читайте также:  Сорные растения способ питания

Как будет работать проект

В этом проекте фоторезисторы будут работать в качестве детекторов света. Когда на фоторезистор начинает падать свет его сопротивление уменьшается. Поэтому фоторезисторы так часто используются в различных детекторах света или темноты. По этой ссылке вы можете посмотреть все проекты на нашем сайте, использующие фоторезисторы.

В нашем проекте два фоторезистора будут помещены на обоих концах солнечной панели, а сервомотор будет использоваться для поворота солнечной панели. Сервомотор будет поворачивать солнечную панель в направлении того фоторезистора, чье сопротивление будет меньше, что будет означать что на него падает больше солнечного света. Если на оба фоторезистора будет падать одинаковое количество солнечного света, сервомотор не будет поворачивать солнечную панель. То есть сервомотор будет пытаться повернуть солнечную панель в такое положение, чтобы оба фоторезистора имели примерно одинаковое сопротивление, что будет означать что на них падает примерно одинаковое количество солнечного света. Если же сопротивление одного фоторезистора становится меньше чем сопротивление другого, то сервомотор будет поворачивать солнечную панель в направлении этого фоторезистора. Более детально все эти процессы можно посмотреть в видео, приведенном в конце статьи.

Сборка конструкции

Для сборки конструкции нашего проекта необходимо выполнить следующую последовательность шагов.

Шаг 1. Возьмите небольшой кусок картона и сделайте в нем отверстие на одном из его концов. В дальнейшем мы будем вставлять в него шуруп чтобы зафиксировать сервомотор.

Шаг 2. Соедините вместе два небольших куска картона в форме буквы «V» с помощью клея. Прикрепите их к солнечной панели как показано на следующем рисунке.

Шаг 3. Затем прикрепите нижнюю часть этих скрепленных в форме буквы «V» кусков картона к тому куску картона, в котором вы ранее сделали отверстие.

Шаг 4. Затем через сделанное отверстие прикрепите к этому куску картона сервомотор с помощью шурупа (обычно данный шуруп идет в комплекте с сервомотором когда вы покупаете его).

Шаг 5. Теперь поместите сервомотор на другой кусок картона. Размер этого куска картона должен быть больше чем предыдущих использованных кусков картона чтобы на него могли поместиться собранная макетная плата с батареей.

Шаг 6. Прикрепите фоторезисторы по обоим сторонам солнечной панели с помощью клея. Припаяйте соединительные провода к их выводам, в дальнейшем к ним нужно будет подсоединять резисторы.

Шаг 7. Теперь поместите плату Arduino, батарею и макетную плату на лист картона и сделайте соединения, показанные на схеме, приведенной далее в этой статье. Финальный вид нашей конструкции показан на следующем рисунке.

Работа схемы

Схема устройства представлена на следующем рисунке.

В рассматриваемой нами конструкции солнечной панели, следующей за Солнцем, плата Arduino запитывается от батареи 9V, а вся остальная часть схемы запитывается от Arduino. Рекомендованное напряжение для питания платы Arduino составляет от 7 до 12 Вольт (хотя на самом деле можно подавать от 6 до 20 Вольт), поэтому наши 9 Вольт вполне укладываются в этот диапазон. Соедините положительный вывод батареи к контакту Vin платы Arduino, а отрицательный вывод батареи – к земле платы Arduino.

Затем соедините положительный контакт сервомотора с контактом 5V платы Arduino, а землю сервомотора – с землей Arduino. Сигнальный контакт сервомотора подсоедините к цифровому контакту 9 платы Arduino. Более подробно о подключении сервомотора к плате Arduino можно прочитать в этой статье.

Читайте также:  Колбаса для здорового питания

Далее соедините один контакт фоторезистора с одним концом сопротивления 10 кОм и также соедините этот конец к контакту A0 платы Arduino, а другой конец резистора подсоедините к земле, а другой контакт фоторезистора – к 5V Arduino. Аналогично и для другого фоторезистора, только с использованием контакта A1 платы Arduino.

Исходный код программы

При написании программы для нашей солнечной панели, следующей за Солнцем, первым делом необходимо подключить библиотеку для сервомотора. Далее инициализируем переменную для хранения начальной позиции сервомотора. Также инициализируем переменные для считывания данных с фоторезисторов и контакт, к которому подключен сервомотор.

#include //подключение библиотеки для работы с сервомотором
Servo sg90; //даем имя нашему сервомотору, назовем его sg90
int initial_position = 90; //переменная для хранения начальной позиции сервомотора
int LDR1 = A0; //контакт, к которому подключен первый фоторезистор
int LDR2 = A1; // контакт, к которому подключен второй фоторезистор
int error = 5; //переменная для хранения ошибки
int servopin=9;

Команда sg90.attach(servopin) «подсоединяет» сервомотор к контакту 9 платы Arduino. Далее устанавливаем контакты, к которым подключены фоторезисторы, в режим ввода данных. Затем устанавливаем сервомотор в начальную позицию (90 градусов).

void setup()
<
sg90.attach(servopin); // присоединяет сервомотор к контакту 9
pinMode(LDR1, INPUT); // на ввод данных
pinMode(LDR2, INPUT); // на ввод данных
sg90.write(initial_position); //поворачиваем сервомотор в начальную позицию (90 градусов)
delay(2000); // задержка 2 секунды
>

Затем мы будем считывать значения с фоторезисторов и сохранять их в переменных R1 и R2. Далее мы будем вычислять разницу между этими значениями чтобы определить направление, в котором мы будем поворачивать серводвигатель. Если разница между ними будет равна 0 это будет означать что на оба фоторезистора будет падать одинаковое количество света, поэтому солнечную панель в этот момент времени поворачивать нет необходимости. Ранее мы объявили переменную для хранения ошибки и ее значение равно 5, назначение ее будет следующим – если разница между значениями двух фоторезисторов будет меньше значения этой переменной (5), то сервомотор не будет двигаться (изменять свое положение). А если больше – то сервомотор будет вращать солнечную панель в направлении того фоторезистора, на который падает больше света. То есть значение этой переменной как бы регулирует чувствительность нашего устройства и определяет ту минимальную границу, при превышении которой нам следует начинать вращать серводвигатель.

int R1 = analogRead(LDR1); // считывание значения с фоторезистора 1
int R2 = analogRead(LDR2); // считывание значения с фоторезистора 2
int diff1= abs(R1 — R2); // расчет разницы между значениями с фоторезисторов
int diff2= abs(R2 — R1);
if((diff1
//если разница меньше величины ошибки/погрешности (error) то не делаем ничего
> else <
if(R1 > R2)
<
initial_position = —initial_position; //поворачиваем серводвигатель в направлении 0 градусов
>
if(R1
<
initial_position = ++initial_position; //поворачиваем серводвигатель в направлении 180 градусов
>
>

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

Источник