Как работает солнечный трекер на Arduino. Из каких компонентов он состоит. Какие преимущества дает использование трекера для солнечных панелей. Как собрать двухосевой солнечный трекер своими руками пошагово. Какой код нужно загрузить в Arduino для управления трекером.
Принцип работы солнечного трекера на Arduino
Солнечный трекер — это устройство, которое позволяет солнечной панели следить за положением солнца в течение дня. Это позволяет значительно повысить эффективность выработки энергии солнечной батареей. Рассмотрим, как работает солнечный трекер на базе Arduino:
- 4 фоторезистора (LDR) используются в качестве датчиков освещенности. Они расположены по углам солнечной панели.
- Arduino считывает показания с фоторезисторов и определяет, с какой стороны освещенность выше.
- На основе этих данных Arduino подает команды двум сервоприводам, которые поворачивают панель по горизонтали и вертикали.
- Панель постоянно ориентируется на максимальную освещенность, следуя за солнцем.
Таким образом, солнечная панель всегда находится под оптимальным углом к солнечным лучам, что повышает ее КПД.

Компоненты для сборки солнечного трекера
Для создания солнечного трекера на Arduino понадобятся следующие компоненты:
- Плата Arduino UNO
- 4 фоторезистора (LDR)
- 4 резистора 10 кОм
- 2 сервопривода
- Двухосевой подвес для крепления панели
- Солнечная панель
- Провода для соединений
- Макетная плата
Важно правильно подобрать сервоприводы, способные выдержать вес солнечной панели. Для небольших панелей подойдут стандартные микросервоприводы.
Преимущества использования солнечного трекера
Использование трекера для солнечных панелей дает ряд существенных преимуществ:
- Увеличение выработки энергии на 30-40% по сравнению со стационарными панелями
- Более стабильная выработка энергии в течение всего светового дня
- Возможность использования панелей меньшей площади для получения того же количества энергии
- Повышение эффективности работы солнечной электростанции в утренние и вечерние часы
- Увеличение срока окупаемости солнечной электростанции
Основной недостаток — усложнение конструкции и необходимость обслуживания механических узлов. Однако преимущества обычно перевешивают этот минус.

Пошаговая инструкция по сборке солнечного трекера
Рассмотрим последовательность действий по сборке двухосевого солнечного трекера на Arduino:
- Закрепите солнечную панель на двухосевом подвесе.
- Установите 4 фоторезистора по углам панели.
- Подключите фоторезисторы к аналоговым входам Arduino A0-A3 по схеме делителя напряжения с резисторами 10 кОм.
- Подключите сервоприводы к цифровым выходам 9 и 10 Arduino.
- Соедините питание компонентов с выходами 5V и GND Arduino.
- Загрузите скетч для управления трекером в Arduino.
- Проверьте работу системы и при необходимости откалибруйте положение сервоприводов.
Важно надежно закрепить все компоненты и обеспечить защиту электроники от влаги, если трекер будет использоваться на улице.
Код для управления солнечным трекером на Arduino
Вот пример базового кода для управления двухосевым солнечным трекером на Arduino:
«`cpp #includeЭтот код считывает показания с 4 фоторезисторов, вычисляет разницу освещенности по вертикали и горизонтали, и соответственно управляет сервоприводами для ориентации панели на максимальную освещенность.

Калибровка и настройка солнечного трекера
После сборки и загрузки кода необходимо провести калибровку системы:
- Установите панель в горизонтальное положение и запишите начальные углы сервоприводов.
- Проверьте, правильно ли трекер реагирует на изменение освещенности с разных сторон.
- При необходимости скорректируйте пороговые значения в коде для более точной работы.
- Настройте ограничения углов поворота, чтобы избежать столкновений конструкции.
- Протестируйте работу системы в течение дня и убедитесь, что она корректно отслеживает солнце.
Правильная калибровка позволит добиться максимальной эффективности работы солнечного трекера.
Возможные улучшения конструкции солнечного трекера
Базовую конструкцию солнечного трекера на Arduino можно усовершенствовать несколькими способами:
- Добавить датчик времени для возврата панели в исходное положение на ночь
- Использовать более мощные сервоприводы для работы с большими панелями
- Реализовать удаленный мониторинг и управление через Wi-Fi модуль
- Добавить датчик ветра для перевода панели в безопасное положение при сильном ветре
- Использовать алгоритмы машинного обучения для оптимизации работы трекера
Эти улучшения позволят создать более надежную и эффективную систему слежения за солнцем.

Солнечный трекер на Ардуино Очень Простой способ Solar Tracker
Собрать систему слежения за солнцем очень просто и сейчас буквально за 10 минут я вам расскажу как это можно сделать.
Что же такое Солнечный трекер? Это устройство позволяющее следить за перемещением солнца и всегда поворачиваться к нему лицом. Слежение за солнцем (Solar Tracker) соберём на Ардуино и подключим к нему солнечную батарею. Для движения за солнцем я использую шаговый двигатель 28BYJ-48 так как он дешёвый и часто применяется в Ардуино проектах. А ещё нам понадобятся 2 фоторезистора, но в конце я расскажу как можно и их убрать. Собрать прибор слежения за солнцем своими руками и использовать его как альтернативный источник энергии это в духе нашего времени.
Сегодня соберём Солнечный трекер. Если не знаете, что это, то это устройство, которое поворачивается за солнцем как подсолнух. Это может пригодиться, например для установки солнечной панели и она будет всегда направлена на солнце. В этом видео я покажу как собрать солнечный трекер своими руками.
Нам понадобятся только Ардуино, шаговый двигатель, и пара фоторезисторов. А в конце я расскажу, как можно обойтись и без фоторезисторов.
Сразу хочу извиниться за качество съёмки и собранную модель, но главное, что схема работает и видно, как солнечная батарея движется в сторону света.
Я специально взял не узконаправленный луч, а обычную лампу, так свет сразу попадает на оба фотоприёмника и это ближе к солнечному свету.
Теперь расскажу принцип работы.
Код программы считывает значения верхнего и нижнего фоторезистора и сравнивает их. Если на верхний попадает больший поток света, то мотор начинает движение вверх, и будет двигаться пока значения не сравняются.

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

Сначала надо проверить фоторезисторы.
Для этого подключаем их к Аналоговым входам Ардуино и считываем значения. Вначале я подключил их по схеме с постоянным резистором. Можно взять любые, но я обычно использую номиналом от 4,7 кОм до 10 кОм. Прошиваем скетч и смотрим какие значения выдают ваши фоторезисторы. Они должны быть приблизительно одинаковые, и чем меньше они отличаются, тем проще будет потом настроить скетч.
Сразу скажу. Такие значения вполне могли бы подойти, но потом я вспомнил, что я сжёг эти Аналоговые порты, а когда подключил на другие, то разница была намного больше.
Резисторы и фоторезисторы даже из одной партии, могут значительно отличаться. Можете посмотреть вот это видео, там я подробно рассказываю о фоторезисторах.
И так как разница оказалось очень большая, то я решил подключить фоторезисторы через переменные резисторы, и настроить их как можно точнее.
Смотрим скетч с подключенными переменными резисторами.
Здесь я подключил фоторезисторы к аналоговым входам А3 и А4 и в выводе указал, какой из них будет нижний, а какой верхний. Прошиваем и смотрим.
Сначала у меня получились вот такие значения. Они не пригодны для работы в скетче управления движением за солнцем. Поэтому надо их подогнать.
Сначала я настрою нижний фоторезистор. Вращением переменного резистора, вы можете настроить любые начальные значения. Желательно настраивать в полутёмном помещении, чтобы сразу указать порог, при котором у вас отключится мотор и не будет искать солнце. Какой смысл искать, то, чего нет. Например, вечером.
Так как у нас минимальное значение 0 а максимальное 1023, то я установил равно по средине, ну или почти посередине. Теперь также настроим верхний фоторезистор.
Вращаем переменный резистор и добиваемся как можно более точного совпадения с нижним фоторезистором. Как только установили, то можно считать, что первичную настройку закончили, и теперь можно переходить к работе с шаговым двигателем.
У меня получились вот такие значения. Они довольно близки к середине, и имеют маленький разброс.
Теперь подключим шаговый двигатель. Здесь я расскажу только самое основное, кому интересно, то могут посмотреть вот эти видео. В одном много теории и описаны разные библиотеки, а во втором управление двигателем с телефона, при помощи ползунка.
Рассмотрим скетч.
Он, как всегда, прокомментирован, и лежит в архиве на моём сайте. Ссылка в описании.
Первое условие означает, что если предыдущая команда выполнена, или ничего другое не выполняется, то сделать 2 оборота против часовой стрелки, со скоростью 15 оборотов в минуту.
После окончания поменять значение переменной на TRUE.
Затем сразу же изменить скорость на 5 оборотов в минуту и сделать поворот на 360 градусов по часовой стрелке. После выполнения изменить значение переменной на TRUE.
Последнее условия – это вращение со скоростью 15 оборотов в минуту против часовой стрелки до тех пор, пока другая команда не отменит это условие.
И последняя команда – это запуск шагового двигателя. Это обязательная команда, без неё мотор не будет работать.
Рассмотрим ещё один скетч.
Я назвал его качели. Для слежения за солнцем, необязательно устанавливать фоторезисторы. Достаточно просто установить солнечную батарею в нужное время в нужное место. И вам необязательно даже устанавливать для этого часы. Можно взять один из моих примеров, где я делал часы без модуля часов. Так, как большая точность здесь не важна, то этот пример как нельзя лучше сюда подойдёт.
Замерев в каком положении должно быть солнце в определённое время можно заранее установить батарею в это положение, и не важно есть ли на улице тучи, ваша солнечная станция всегда будет смотреть в нужное место и собирать те крохи солнца, которые есть в нашей средней полосе.
Ну и наконец дошло дело до главного скрипта дня.
Как подключить шаговик, вы уже знаете. Фоторезисторы сверху и снизу от солнечной батареи так и называются. BOTTOM и UP, то есть низ и верх.
Всё остальное как и в предыдущем скетче, только скорость я сделал 5 оборотов в минуту.
В цикле LOOP происходит вся основная магия слежки.
Сначала считываем данные с фоторезисторов и присваиваем переменным.
Чтобы не работать с большими числами, я в функции map перевёл значения от 0 до 1023 в диапазон от 0 до 100. Это более грубые данные и с ними проще работать. Меньше будет дёрганий мотора.
Вычисляет абсолютную величину (модуль) числа.
Так мы выводим полученные значения в монитор порта. Это очень сильно пригодиться для настройки. Например, для определения, когда уже солнца ждать не стоит.
Сначала идут просто считанные данные с фоторезисторов, а дальше уже обработанные, с ними мы и будем дальше работать.
В этом условии задаём значение меньше которого уже ждать солнца не стоит. Вам надо здесь указать свои значения.
Если свет попадает на верхний и нижний фоторезистор одинаково, я сделал паузу в 10 секунд, а то на этом пограничном состоянии мотор начинает часто срабатывать.
Если на верхний фоторезистор поступает больше солнца, то движемся вверх, если наоборот, то вниз.
Этот delay() нужен только для замедления отображения в мониторе, можно убрать.
Это функции обработчики фоторезисторов. Здесь указано куда крутиться и на сколько градусов.
Схема подключения
Фоторезистор с постоянным резистором подключается вот так. Это обычная схема делителя напряжения, где один вывод фоторезистора подключается к питанию, а второй, через дополнительный резистор подключается к другому полюсу питания. Не важно, как вы подключаете фоторезистор к плюсу или к минусу, просто в скетч будут приходить данные от 0 до 1023 или от 1023 до 0. Вам надо будет только написать другое условие. Величина резисторов также не важна. Я использую резисторы 4,7 ком или 10 кОм, так как они самые распространённые в работе с микроконтроллерами.
Переменные резисторы подключаются так.
Для этого примера, желательно производить настройку с переменными резисторами. Так будет проще сравнивать значения в скетче.
солнечный трекер на Arduino | AlexGyver Community
BKurman
✩✩✩✩✩✩✩
- #1
доброго времени суток, я на форуме первый раз, так же как и первый раз начинаю пользоваться Arduino, не судите строго.
сам я не шарю в тонкостях но хочу создать солнечную панель с трекером который будет отслеживать положение солнца в небе и наводиться на него.
в интернете наткнулся на одну статью как собрать «Двухосевой солнечный трекер на Arduino»
если честно я ничего не понял из этого, по этому хотел попросить знающего человека записать подробное видео для чайника меня как это все собрать
youtube.com/embed/pI2BwlDTAug?wmode=opaque&start=0″ frameborder=»0″ allowfullscreen=»true»>
Эдуард Анисимов
★★★★★★✩
- #2
Всё очень просто. Изучаем физику, механику, программирование и схемотехнику.
Всё получится.
BKurman
✩✩✩✩✩✩✩
- #3
@Эдуард Анисимов, эх к сожалению, начальных знаний не хватает а обучаться времени нима,
я скетчи писать не умею и по этому пользуюсь программой Flprog
мне очень нравится канал Алекса, потому что он очень понятно всё объясняет и использует материалы которые может достать простой смертный
в идеале было бы здорово если бы он записал такое видео про солнечную станцию
думаю это было бы интересно для многих
Эдуард Анисимов
★★★★★★✩
- #4
BKurman написал(а):
а обучаться времени нима
Нажмите для раскрытия.
..
Тогда вообще не стоит браться. А если очень надо, можно купить.
BKurman
✩✩✩✩✩✩✩
- #5
@Эдуард Анисимов, благодарю за совет, жаль что кроме рядовых советов больше ничем помочь не можете
Эдуард Анисимов
★★★★★★✩
- #6
BKurman написал(а):
@Эдуард Анисимов, благодарю за совет, жаль что кроме рядовых советов больше ничем помочь не можете
Нажмите для раскрытия.
..
Я тут уже с тремя людьми работаю. Извините. Мне больше не потянуть.
Эдуард Анисимов
★★★★★★✩
- #8
BKurman написал(а):
@Эдуард Анисимов, благодарю
Нажмите для раскрытия…
Если не к спеху, может через месяц. Никто не возьмётся, свистите.
BKurman
✩✩✩✩✩✩✩
- #9
@Эдуард Анисимов, как вы и сказали я сам попробую, изучу для начала программу Flprog (как мне показалась она самая лёгкая для начинающих) научусь мигать светодиодами а потом уже солнечную станцию постараюсь слепить.
прошу прощение за свое поведение вчера, просто на работе проблемы были.
Эдуард Анисимов
★★★★★★✩
- #10
BKurman написал(а):
научусь мигать светодиодами а потом уже солнечную станцию постараюсь слепить.
Нажмите для раскрытия…
Вот это правильный подход. Нужно сначала понять что это такое. Попробовать поморгать. Потом попробовать покрутить сервопривод.
Скорее всего Вам понадобится шаговые двигатели. Можно купить какой нибудь дешёвый с драйвером. Покрутить его. Понять как это работает.
Потом нужно подумать как следить за солнцем. По расписанию, которое составляется из календаря или ещё как то.
Судя по схеме, которую Вы нарисовали в начале, эта штука следит за солнцем с помощью фотоэлементов.
А для того, что бы чем то можно было помочь, неплохо было бы ссылку на статью. Что бы знать конкретно какое решение Вас заинтересовало.
BKurman
✩✩✩✩✩✩✩
- #11
@Эдуард Анисимов, я купил наборчик для начинающих, там много всяких датчиков приводов и т.д.
Двухосевой солнечный трекер на Arduino
Солнечная панель слежения за солнцем с использованием Arduino
02 Январь
0 Комментариев 3871 просмотр(ов) Arduino Project
Привет,
В этом уроке мы собираемся построить солнечную панель слежения за солнцем, используя Arduino.
Ардуино Уно
2-осевой подвес
Солнечная панель
Микро сервопривод SG-90
Проволочные перемычки
Датчики LDR
Arduino IDE
- Каждый сезон приносит свои изменения. Изменения продолжительности дня и ночи, изменения движения солнца, изменения температуры.
- На приведенном выше рисунке показан угол падения солнечных лучей в полдень. Это показывает, насколько эффективнее было бы, если бы солнечная панель могла двигаться и выравниваться в соответствии с углом падения солнечных лучей.
- Поэтому система солнечных батарей должна иметь встроенную систему слежения за солнцем.
- Одноосное слежение: В системе этого типа используется только один двигатель, и солнечная панель может перемещаться только вокруг одной оси.
- Отслеживание по двум осям: В системе этого типа солнечная панель может регулироваться по двум осям, вертикальной и горизонтальной. Эта система более эффективна, чем одноосная система.
- В этом проекте мы собираемся использовать двухосный подвес в качестве системы слежения за солнечной панелью. Мы можем приклеить солнечную панель на поверхность этого карданного подвеса.
- Отрицательные клеммы 4 датчиков LDR подключены к аналоговым контактам A0, A1, A2, A3. Положительные клеммы подключены к положительной шине на макетной плате.
- Положительная и отрицательная клеммы обоих сервоприводов будут подключены к положительной и заземляющей шинам на макетной плате.
- Сигнальные контакты серводвигателей подключены к цифровым контактам 9 и 10.
- Рабочая концепция этого проекта включает в себя три основных компонента: LDR используется для сенсорной части, плата Arduino используется для обрабатывающей части, а серводвигатели используются для исполнительной части.
- LDR воспринимает свет и возвращает аналоговые данные на плату Arduino. 4 датчика LDR используются в четырех разных направлениях. Сверху, снизу, справа, слева. Интенсивность света на всех 4 датчиках используется для расчета движения стабилизатора.
- Эти вычисления выполняются платой Arduino. Если интенсивность на правой стороне больше, то подвес будет двигаться вправо, и аналогично, если интенсивность на верхней стороне больше, то стабилизатор будет двигаться вверх.
- Движение карданного подвеса осуществляется вращением сервоприводов. Команды передаются сервоприводам в соответствии с расчетами, выполненными платой Arduino.
- Загрузите код на плату Arduino.
Метки: лдр , солнце , солнечный , сервопривод , подвес ,
- сопутствующие товары
- сопутствующие товары
- Последние посты
- Самые читаемые
13 апр
08 март
10 фев
0 99
Типы 3D-печати
Здравствуйте! В этой статье мы рассмотрим различные процессы 3D-печати, их преимущества и. ..
Читать далее
10 фев
10 фев
15 июль
04 декабрь
0 21559
Датчик моргания глаз
Здравствуйте! В этом уроке мы узнаем, как сделать датчик моргания с помощью Arduino. Ха..
Читать далее
06 Сентябрь
0 19445
Что такое Arduino Uno?
В этом уроке мы подробно узнаем об Arduino Uno, как загрузить код в Arduin..
Читать далее
11 декабрь
23 июль
Arduino Solar Tracker
В современных системах слежения за солнцем солнечные панели закреплены на конструкции, которая перемещается в зависимости от положения солнца.
Помогите нам выбрать следующий проект DIY Arduino. : Выберите свой любимый проект »
Давайте спроектируем солнечный трекер, используя два серводвигателя, датчик освещенности, состоящий из четырех LDR и платы Arduino UNO.
Схема
Принципиальная схема
Принципиальная схема солнечного трекера проста, но настройка системы должна быть выполнена тщательно.
Четыре LDR и четыре резистора по 100 кОм подключены по схеме делителя напряжения, а выход подается на 4 аналоговых входа Arduino.
ШИМ-входы двух сервоприводов подаются с цифровых контактов 9 и 10 Arduino.
Необходимые компоненты
- Arduino UNO [Купить здесь]
- Серводвигатель [Купить здесь]
- Световые датчики
- ЛДР
- Резисторы
Рабочий
В качестве основных датчиков света используются фоторезисторы. Два серводвигателя закреплены на конструкции, удерживающей солнечную панель. Программа для Arduino загружается в микроконтроллер. Работа над проектом выглядит следующим образом.
LDR чувствуют количество падающего на них солнечного света. Четыре LDR делятся на верхний, нижний, левый и правый.
Для отслеживания с востока на запад сравниваются аналоговые значения от двух верхних LDR и двух нижних LDR, и если верхний набор LDR получает больше света, вертикальный сервопривод будет двигаться в этом направлении.
Если нижние LDR получают больше света, сервопривод движется в этом направлении.
Для углового отклонения солнечной панели сравниваются аналоговые значения двух левых LDR и двух правых LDR. Если левый набор LDR получает больше света, чем правый набор, горизонтальный сервопривод будет двигаться в этом направлении.
Если правый набор LDR получает больше света, сервопривод движется в этом направлении.
Установка
Шаг-1
- Возьмите картон.
Сделайте отверстие посередине и четыре отверстия по четырем сторонам, чтобы туда влез LDR.
- Приклейте солнечную панель к картону и выведите два провода панели, как показано на рисунке.
Шаг 2
- Теперь отрежьте один из двух выводов LDR так, чтобы один вывод был короче, а другой длиннее.
- Вставьте эти четыре LDR в четыре отверстия, как показано на рисунке.
- Согните прямую перфорированную металлическую полосу, как показано ниже.
- Поместите изогнутую металлическую полосу на обратную сторону картона
- Нанесите клей на LDR, чтобы надежно зафиксировать их.
Шаг 3
- Припаяйте два вывода LDR, как показано
- К другим концам LDR припаять резисторы 10 кОм
- Соедините четыре провода 4 LDR проводом.
Шаг 4
- Теперь возьмите провод шины. Он используется для подключения выходов четырех LDR к плате Arduino.
- Вставьте его в металлическую полосу, как показано на рисунке.
- Теперь припаяйте четыре провода к четырем LDR в любой точке между LDR и резистором.
Шаг 5
- Вставьте еще одну двухпроводную шину в перфорированную металлическую полосу, как показано на рисунке. Она используется для подачи Vcc и GND на схему LDR.
- Припаяйте один провод к выводам LDR, которые подключены к резисторам, а другой провод к другим выводам.
- Замкните выводы LDR, подключенных к резисторам, проводом, как показано на рисунке.
Шаг 6
- Теперь подключите серводвигатель к перфорированной металлической полосе с помощью винта.
- Нанесите клей на сервопривод, чтобы надежно его зафиксировать.
Шаг 7
- Возьмите еще одну прямую перфорированную металлическую полосу и согните ее, как показано на рисунке.
Шаг 8
- Теперь поместите солнечную панель и первый серводвигатель на металлическую пластину второго серводвигателя, как показано на рисунке.