Двухосевая система слежения за солнцем на Arduino


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

Двухосевой солнечный трекер на Arduino

Традиционные солнечные панели не могут полностью использовать солнечный свет в течение дня, поскольку они неподвижны. Для этого мы сначала создали одноосевой солнечный трекер, который отслеживает положение солнца вдоль одной оси, но для максимальной энергоэффективности целесообразно использовать двухосевую систему слежения за солнцем на базе Arduino, которая позволяет солнечной панели изменять положение как в горизонтальном, так и в вертикальном направлениях в зависимости от положения солнца. Этот проект двухосевого солнечного трекера на основе Arduino с использованием фоторезистора и сервомоторов может увеличить выработку энергии до 40% по сравнению со стационарными солнечными установками.

Также на нашем сайте вы можете посмотреть проект системы мониторинга солнечной энергии на основе ESP32.

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

  1. Плата Arduino Uno (купить на AliExpress).
  2. Сервомотор sg90 - 2 шт. (купить на AliExpress).
  3. Солнечная панель (3-25 В) (купить на AliExpress).
  4. Фоторезистор (4 шт.).
  5. Резистор 10 кОм (4 шт.).
  6. Макетная плата.
  7. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

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

Внешний вид компонентов, необходимых для сборки солнечного трекера

Как работает наш солнечный трекер

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

Схема проекта

Схема двухосевой системы слежения за солнцем на основе Arduino представлена на следующем рисунке.

Схема двухосевой системы слежения за солнцем на основе Arduino

Архитектура схемы этой двухкоординатной системы слежения за солнечной энергией построена на базе микроконтроллера Arduino UNO, который управляет двумя сервомоторами для горизонтального (азимутального) и вертикального (угла возвышения) вращения. Четыре фоторезистора (LDR) расположены крест-накрест для определения интенсивности света сверху, снизу, слева и справа. Каждый фоторезистор соединен с резистором 10 кОм, образуя делитель напряжения, что обеспечивает точные аналоговые показания. На основе света, обнаруженного каждым датчиком, Arduino вычисляет, где солнечный свет наиболее сильный, и соответствующим образом регулирует сервомоторы. Это позволяет поддерживать положение панели в самой яркой точке в течение всего дня, что делает систему двухкоординатной системы слежения за солнечной энергией эффективной.

Основные схемные особенности двухкоординатного солнечного трекера на базе Arduino:

  • Размещение фоторезистора: перекрестная конфигурация для обнаружения света под любым углом.
  • Резисторы делителя напряжения: резисторы 10 кОм, подключенные к каждому фоторезистору, обеспечивают достоверные показания.
  • Сервоприводы управляются раздельно: серводвигатели, управляющие осями X и Y, управляются отдельно.
  • Аналоговые входные контакты: аналоговые входные каналы A0-A3 используются для считывания показаний датчика LDR.

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

Компонент Контакты Arduino Функция
LDR в верхнем левом углу А0 Обнаружение света в верхнем левом углу
LDR в правом верхнем углу А3 Обнаружение света в правом верхнем углу
LDR в нижнем левом углу А1 Обнаружение света в левом нижнем углу
LDR в нижнем правом углу А2 Обнаружение света в правом нижнем углу
Горизонтальный сервопривод Digital Pin 2 Управляет движением влево-вправо
Вертикальный сервопривод Digital Pin 13 Управляет движением вверх-вниз

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Внешний вид собранной конструкции проекта

Процесс сборки двухкоординатной системы слежения за солнцем

Все механические компоненты, использованные для сборки двухкоординатного солнечного трекера на базе Arduino, были напечатаны на 3D-принтере, что обеспечило точное выравнивание и стабильное движение. 3D-модели, использованные в этом проекте, взяты из статьи, опубликованной по адресу:
https://simplecircuitslol.blogspot.com/2024/12/solar-tracking-system.html

На изображении ниже представлена ​​3D-модель компонентов, используемых в двухосевой системе слежения за солнцем на основе Arduino.

​​3D-модель компонентов, используемых в двухосевой системе слежения за солнцем на основе Arduino

3D-модели были напечатаны ​​с помощью 3D-принтера.

Процесс печати компонентов проекта на 3D-принтере

На следующем изображении показаны детали двухкоординатного солнечного трекера, напечатанные на 3D-принтере.

Детали двухкоординатного солнечного трекера, напечатанные на 3D-принтере

Объяснение кода программы

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

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

Инициализация сервопривода

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

Датчики LDR

Четыре фоторезистора (LDR) расположены в верхнем левом, верхнем правом, нижнем левом и нижнем правом углах. Они определяют интенсивность света с каждого направления.

Усреднение показаний датчиков

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

Расчет разницы освещенности

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

Логика регулировки сервопривода

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

Ночной режим

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

Принцип работы двухосевой системы слежения за солнцем

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

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

Полная рабочая конфигурация системы слежения за солнцем с двумя осями на основе Arduino UNO представлена на следующем рисунке.

Полная рабочая конфигурация системы слежения за солнцем с двумя осями на основе Arduino UNO

Алгоритм отслеживания для двухосевой системы слежения за солнцем с использованием Arduino:

∗ Измерение освещенности: все четыре датчика LDR одновременно измеряют интенсивность света. 
∗ Обработка данных: Arduino усредняет показания и вычисляет разницу горизонтальной и вертикальной интенсивности света. 
∗ Принятие решений: если разница интенсивностей света превышает допустимый предел, система определяет направление движения для оптимизации экспозиции. 
∗ Сервопривод: горизонтальный сервопривод определяет относительное положение панели по направлению восток-запад, а вертикальный сервопривод изменяет наклон по направлению север-юг. 
∗ Непрерывный мониторинг: этот процесс выполняется каждые несколько секунд в течение светового дня, чтобы солнечная панель всегда оптимально выравнивалась независимо от изменения интенсивности света.

Демонстрация работы проекта

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

Демонстрация работы системы слежения за солнцем по двум осям в режиме реального времени

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

Заключение

Система слежения за солнцем с двумя осями (Dual Axis Solar Tracking System) — это умное и эффективное достижение в области солнечных технологий, обеспечивающее постоянное положение солнечных панелей относительно солнца для оптимального поглощения энергии. По сравнению с фиксированными и одноосевыми трекерами, система значительно увеличивает выработку электроэнергии за счет интеллектуальной регулировки как по горизонтали, так и по вертикали с помощью сервоприводов и фоторезисторов, управляемых Arduino.

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

Часто задаваемые вопросы о системе слежения за солнцем с двумя осями

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

⇥ 2. Зачем в этом проекте используются четыре фоторезистора?
Использование четырех фоторезисторов позволяет системе определять солнечный свет со всех сторон — слева, справа, сверху и снизу. Затем Arduino использует эти показания для точной регулировки положения панели по обеим осям в режиме реального времени.

⇥ 3. Можно ли питать сервомоторы напрямую от Arduino?
Нет. Сервомоторам обычно требуется больший ток, чем может безопасно обеспечить Arduino. Использование отдельного источника питания 5 В обеспечивает бесперебойную работу сервомоторов и предотвращает повреждение платы.

⇥ 4. Что происходит при слабом солнечном свете или ночью?
Если света недостаточно, показания фоторезистора падают ниже определенного уровня, и трекер просто перестает двигаться. Это позволяет избежать лишнего потребления энергии и предотвратить износ сервоприводов.

⇥ 5. Нужен ли мне 3D-принтер для изготовления рамы?
Совсем нет. 3D-принтер может придать раме аккуратный вид, но это не обязательно. Вы можете использовать картон, ПВХ или акриловые листы — главное, чтобы рама была прочной и позволяла сервоприводам свободно перемещаться.

⇥ 6. Работает ли этот двухосевой солнечный трекер в облачную погоду?
Да, двухосевой солнечный трекер может отслеживать рассеянный солнечный свет в облачную погоду, если между двумя положениями датчиков существует достаточная разница в освещенности. Однако, если есть плотная, густая облачность, например, в день с равномерно низкой освещенностью, трекер может перейти в режим ожидания в ответ на крайне низкую освещенность и/или минимальную разницу в освещенности. Опять же, алгоритм усреднения учитывает колебания, которые могут возникнуть из-за облачности, и, таким образом, обеспечивает стабильную работу при отслеживании.

⇥ 7. Какие виды технического обслуживания требуются для двухосевого солнечного трекера? 
К регулярным процедурам технического обслуживания двухосевого солнечного трекера относятся: очистка датчиков LDR (фоторезисторов) и поверхностей солнечных панелей, поскольку скопление пыли на датчиках и/или поверхности солнечных панелей может снижать точность определения освещенности; проверка соединений, установленных на палубе, на предмет отсутствия ослабленных контактов; контроль за обслуживанием сервомоторов; защита электронных компонентов от влаги с помощью влагозащищенных корпусов; а в некоторых случаях – повторная калибровка пороговых значений датчиков при снижении точности отслеживания.

Репозиторий GitHub 

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

Схема и код проекта двухосевого солнечного трекера на Arduino

Полный код проекта

 

(Проголосуй первым!)
Загрузка...
46 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *