Солнечный трекер

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

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

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

Метод слежения за Солнцем

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

Высота h – это угол между плоскостью мат. горизонта и направлением на светило, отсчитывается от 0⁰ до +90⁰ к зениту, и от 0⁰ до -90⁰ к надиру.

Азимут A – угол между полуденной линией (грубо говоря, направление на юг) и линией пересечения плоскости мат. горизонта с плоскостью вертикального круга светила. Отсчитывается от точки юга в сторону суточного вращения небесной сферы в пределах 0⁰…360⁰, или от 0⁰ до +180⁰ к западу и от 0⁰ до −180⁰ к востоку. Горизонтальные координаты светила постоянно изменяются, вследствие суточного вращения Земли.

Ниже приведены формулы для вычисления высоты и азимута светила:

h = asin ( sinδ ∙ sinϕ + cosδ ∙ cosϕ ∙ cost );
A = atan2 ( cosδ ∙ sint , cosδ ∙ sinϕ ∙ cost — sinδ ∙ cosϕ),

где δ – склонение светила, t – часовой угол светила, ϕ – широта точки наблюдения (0⁰…+90⁰ для северного полушария, 0⁰…-90⁰ для южного, 0⁰ — экватор).

Расшифровка функции atan2(y, x):
функция atan2

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

Склонение δ — угол между плоскостью небесного экватора и направлением на светило, отсчитывается от 0⁰ до +90⁰ в сторону северного полюса, и от 0⁰ до -90⁰ в сторону южного полюса.

Часовой угол t – двухгранный угол между плоскостью небесного меридиана и кругом склонения светила. Отсчитывается в сторону суточного вращения небесной сферы, к западу от верхней точки небесного экватора, в пределах 0⁰…360⁰, или от 00:00 до 24:00 (в часовой мере). Также часовой угол может измеряться в пределах от 0⁰ до 180⁰ (от 00:00 до 12:00) к западу и от 0⁰ до −180⁰ (от 00:00 до -12:00) к востоку. Часовой угол равен 0 в момент верхней кульминации светила, для Солнца в истинный полдень (не всегда совпадает с моментом времени, когда часы показывают 12:00 по местному времени).

Склонение Солнца изменяется в течение года (неравномерно) от -23,43⁰ до +23, 43⁰, вследствие орбитального движения Земли вокруг Солнца, и не связано с суточным вращением Земли. Определить склонение Солнца для любого дня года, проще всего из таблицы средних значений склонения за 4-х летний цикл. Таблицу можно скачать в конце статьи.

Часовой угол светила изменяется в течение суток (вследствие суточного вращения Земли), его можно вычислить, зная истинное солнечное время:

t = Tс.ист — 12:00ч, (-12:00…+11:59),

где Tс.ист – истинное солнечное время (00:00…23:59ч).

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

Tс.ист = Tс.ср + EOT, или Tс.ист = UTC + λ + EOT,

где Tс.ср — среднее солнечное время в некоторой точке на Земле (зависит от долготы точки), UTC – всемирное координированное время, λ – долгота точки наблюдения в часовых единицах, EOT – уравнение времени.

Всемирное координированное время можно вычислить из местного времени (Tм) и часового пояса (N): UTC = Tм — N. Долгота местоположения λ отсчитывается от 0⁰ до 180⁰ к востоку от нулевого меридиана (восточная долгота), и от 0⁰ до -180⁰ к западу (западная долгота). При подстановке в вышеприведенную формулу, долготу нужно перевести в часовые единицы (1⁰ = 4 мин).

Уравнение времени EOT показывает разницу между средним солнечным временем и истинным солнечным времени, так как суточное движение Солнца неравномерно, вследствие эллиптичности орбиты Земли, а также наклона земной оси к плоскости эклиптики:

EOT = 9,87 ∙ sin2B — 7,53 ∙ cosB — 1,5 ∙ sinB,

где B = (360⁰ (N-81))/365, N – порядковый номер дня в году.

Таким образом, в течение года значение уравнения времени изменяется от -14,3 мин до +16,4 мин.
Ниже представлен график изменения уравнения времени в течение года:
Уравнение времени
Мне предстояло загнать все эти расчеты в программу микроконтроллера, я не рискнул писать на ассемблере, поэтому стал изучать СИ, пришлось неделями возиться с формулами и расчетами, для получения правильного результата, попутно изучая СИ. В итоге мне удалось написать рабочую программу, при этом погрешность вычислений не превышает ±1⁰.

Описание схемы солнечного трекера

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

Ниже представлена схема солнечного трекера:
Схема солнечный трекер
Схема построена на микроконтроллере PIC16F876A, который обладает значительным объемом памяти, и содержит множество периферийных модулей. Вся конструкция питается от Li-ion аккумулятора, который соответственно заряжается от солнечной батареи через модуль, на основе микросхемы TP4056, это специализированный контроллер заряда Li-ion аккумуляторов (ссылка для заказа в конце статьи). Для определения текущего времени и даты, в схеме используется модуль часов реального времени DS3231 (ссылка для заказа в конце статьи). Часы достаточно точные, уход времени составляет ±2 минуты в год, я уже писал подробную статью о них, желающие могут ознакомиться. Для отображения параметров используется цифровой индикатор на драйвере MAX7219 (ссылка для заказа в конце статьи).

Максимальное напряжение на Li-ion аккумуляторе не превышает 4,1В, что недостаточно для питания сервоприводов, поэтому в схему добавлен повышающий модуль на основе микросхемы MT3608 (ссылка для заказа в конце статьи). Минимальное входное напряжение модуля 2В, максимальный ток нагрузки 2А, на модуле имеется многооборотный переменный резистор для настройки выходного напряжения. Для экономии энергии, питание на сервоприводы подается не постоянно, а только для изменения положения вала. Питание коммутируется с помощью p-канального полевого транзистора VT1, модуль преобразователя также управляется от микроконтроллера.

На плате модуля не предусмотрен контакт для управления, поэтому необходимо дополнительно подпаять провод к 4-му выводу микросхемы MT3608, это вход вкл/выкл преобразователя. На плате этот вывод подключен к “+” питания, предварительно нужно обрезать дорожки подходящие к этому выводу (для этого придется выпаять микросхему), либо приподнять вывод над платой. На плате модуля установлен чип резистор делителя напряжения, увеличение сопротивления этого резистора также уменьшит потребление в спящем режиме, я заменил его на другой, с сопротивлением 9,1 кОм, изначально стоял на 2,2 кОм. После замены нужно выставить выходное напряжение примерно на 5-5,5В для питания сервоприводов, рисунок ниже:
Доработка модуля MT3608
Модуль часов также необходимо доработать, для снижения энергопотребления нужно выпаять микросхему памяти 24c32, светодиод “POWER”, а также резистор (200 Ом), через который внешнее напряжение питания подается на батарейку, зачем китайцы так сделали, остается непонятным, ведь батарейка не предназначена для заряда, см. рисунок ниже:
Доработка модуля часов DS3231
Светодиод HL1 установлен для индикации ошибки связи с часами DS3231 (по интерфейсу I2C), светодиод начинает мигать, если нет ответа от часов.

Сборка и настройка солнечного трекера

Сборку альт-азимутальной установки следует начинать, когда сервоприводы установлены в среднее положение, это происходит при первом включении устройства, на индикаторе при этом высвечивается надпись “Cent”. Сервопривод азимута желательно закрепить на пластине, которая будет служить основанием установки, либо на стойке, так чтобы выходной вал был направлен вертикально вверх. Далее необходимо прикрепить кронштейн сервопривода высоты, сначала нужно прикрутить к кронштейну втулку скольжения, затем переходную муфту. Кронштейн нужно выставить перпендикулярно длинной стороне сервопривода азимута, как показано на фото:
Альт-азимутальная установка на MG996R
При сборке трудно достичь перпендикулярного положения, но это не обязательно, допустимы отклонения в пределах ±5-10 градусов. В дальнейшем программная корректировка устранит это отклонение.
После закрепления сервопривода высоты остается прикрутить несущий кронштейн, сначала примеряем переходную муфту на вал сервопривода, выбираем такое положение, чтобы несущий кронштейн после установки был направлен вертикально вверх. Опять же не обязательно выставлять точное положение, как я уже говорил ранее. Общий вид установки представлен на следующем фото:
Общий вид Альт-азимутальной установки на MG996R
Далее следует процедура корректировки крайних положений сервоприводов. Настройку следует выполнять на ровной поверхности, когда вал сервопривода по азимуту, расположен вертикально (ось вращения направлена по отвесной линии). После нажатия кнопки “Ввод” несущий кронштейн поворачивается в сторону условного Севера и принимает горизонтальное положение (на индикаторе высвечивается надпись “north”):
Настройка Альт-азимутальной установки
Если имеется отклонение от горизонтали, то нужно подрегулировать положение кронштейна кнопками “Уст” и “Разряд”. Таким образом, происходит настройка крайнего положения сервопривода. Далее при нажатии кнопки “Ввод”, кронштейн поворачивается в сторону условного Юга (на индикаторе надпись South). При необходимости отрегулируйте горизонтальное положение кронштейна, как описано выше.

Дальнейшее нажатие кнопки “Ввод” приведет к повороту кронштейна в сторону условного Востока (на индикаторе надпись EASt). Кнопками “Уст” и “Разряд” корректируют направление, при этом удобно ориентироваться на корпус сервопривода азимута, нужно чтобы кронштейн был направлен по длинной стороне корпуса, если смотреть сверху:
Регулировка Альт-азимутальной установки
При следующем нажатии кнопки “Ввод”, кронштейн повернется в сторону Запада (на индикаторе надпись WESt), корректировка выполняется вышеописанным способом.

В результате корректировки, поворот кронштейна по высоте и азимуту выполняется в пределах 180⁰, значения корректировок сохраняются в EEPROM памяти микроконтроллера. После нажатия кнопки “Ввод”, кронштейн примет скорректированное направление на условный Юг. Для правильной ориентации солнечной батареи, направление на условный Юг должно указывать на реальную точку Юга в данной местности, а вал сервопривода по азимуту расположен вертикально по отвесной линии.

После очередного нажатия кнопки “Ввод”, следует настройка времени, даты, часового пояса, координат местоположения, длительности спящего режима. Соответственно для каждого параметра на индикаторе высвечиваются следующие надписи:

[ti 00.00] – местное время, по умолчанию 0 ч. 0 мин;

[dA01.01.00] – дата, по умолчанию 1 января 2000г;

[dO-000.00] – долгота местоположения, по умолчанию -0 град. 0 мин. (для западной долготы ставится знак минус “-”);

[sH -00.00] – широта местоположения, по умолчанию -0 град. 0 мин. (для южной широты ставится знак минус “-”);

[Po -00] – часовой пояс, по умолчанию -0, (для западной долготы ставится знак минус “-”);

[In 001] – длительность спящего режима, по умолчанию 1 мин.

Кнопками “Разряд” и “Уст” выставляют значения параметров, при нажатии кнопки “Ввод”, значения времени, и даты записываются в часы реального времени DS3231, остальные параметры сохраняются в EEPROM памяти микроконтроллера. После ввода всех параметров, на индикаторе высвечивается надпись SUCCES (в течение 1 сек, затем индикатор гаснет), далее установка наводится на Солнце, согласно введенным параметрам.

Для экономии энергии, наведение на Солнце выполняется через определенный промежуток времени, который задается в параметре длительность спящего режима. После наведения сервоприводы обесточиваются, микроконтроллер переходит в спящий режим, общее потребление трекера снижается до 160 мкА. Длительность “сна” можно задать в пределах 1-255 мин.

При повторном включении трекера (после отключения питания), сначала проверяется EEPROM память, если сохраненные параметры корректны, трекер продолжает слежение за Солнцем, при этом цифровой индикатор остается в спящем режиме и не включается, для экономии энергии. Можно вообще отключить питание индикатора после первоначального ввода параметров. Для повторного входа в режим корректировок, нужно удерживать кнопку “Уст” и подать питание на трекер. Если параметры, считанные из EEPROM, неверные или отсутствуют, также произойдет переход в режим корректировок.

Я дополнительно добавил в программу микроконтроллера функцию вывода основных параметров по интерфейсу UART. После вычисления местоположения Солнца, микроконтроллер передает текущее значение времени, даты, порядковый номер дня, координаты местоположения, введенные при настройке, а также текущие значения высоты и азимута Солнца. Каждый параметр начинается с символа “$” и заканчивается символами “\r”, “\n”. Эти данные можно посмотреть на компьютере, подключив трекер через USB-UART переходник. В настройках терминальной программы нужно установить следующие настройки: cкорость передачи 9600 бит/сек, 8 бит данных, один стоповый бит. Ниже представлен скриншот с терминальной программы:
Солнечный трекер передача данных по UART
Сервоприводы MG996R не защищены от попадания влаги внутрь корпуса, поэтому в случае наружного применения сервоприводы следует загерметизировать. Нужно отвернуть четыре болта с нижней стороны корпуса, и нанести нейтральный силиконовый герметик между стыками корпуса, также следует нанести герметик вокруг манжеты для ввода проводов в корпус. На шестерни редуктора можно дополнительно нанести смазку, так как заводская практически отсутствует. По отзывам, лучше всего подходит смазка ШРУС-4, в отличие от литола, она не замерзает на холоде. Для герметизации верхнего отверстия, на выходной вал можно надеть силиконовое кольцо, при этом нужно снять фаску с переходной муфты, которая устанавливается на вал, чтобы не создавать избыточного трения.

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

Трекер выполняет наведение, когда Солнце находится над горизонтом, то есть когда его высота больше 0⁰. Когда Солнце заходит за горизонт (отрицательное значение высоты), трекер направляет солнечную батарею на Восток, дальнейшее слежение возобновляется с восходом Солнца. Слежение выполняется по всей видимой области неба.

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

Я смонтировал устройство на печатной плате, которую разработал под размеры корпуса GAINTA G1202G. На плате имеется место под джампер (перемычку), с помощью которого можно отключать питание цифрового индикатора.

Полевой транзистор VT1 можно заменить на IRLML2244, IRLML6402. Также можно использовать транзисторы в корпусе SOIC-8 (придется переделать плату): IRF9332, IRF9310, IRF9317.

При отрицательных температурах Li-ion аккумуляторы теряют значительную емкость (происходит замерзание электролита), использовать аккумуляторы при температурах ниже +5 ⁰C не рекомендуется, так как это приводит к преждевременному сокращению ресурса. Поэтому если планируется эксплуатировать трекер в морозную погоду, то лучше использовать литий-железно-фосфатный аккумулятор LiFePO4. Аккмуляторы такого типа более морозостойкие, диапазон рабочих температур от -30 ⁰C до +55 ⁰C, максимальное напряжение 3,65В, минимальное 2В, среднее 3,3В, то есть ниже чем у Li-ion. Также к преимуществам можно отнести стабильное напряжение разряда, близкое к 3,2В. В конце статьи приведены ссылки для заказа аккумулятора, а также на модуль для заряда.

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

Ниже представлены ссылки для заказа модулей и комплектующих для сборки солнечного трекера:
Солнечная батарея 6В 4,5Вт
Модуль часов реального времени DS3231
Цифровой индикатор на драйвере MAX7219
Модуль заряда Li-ion аккумулятора на TP4056
Аккумулятор LiFePO4 6500mah
Аккумулятор LiFePO4 1800mah
Модуль заряда LiFePO4 аккумулятора
Сервопривод MG996R
Кронштейны для сборки альт-азимутальной установки под сервоприводы MG996R
Повышающий преобразователь на MT3608

Солнечный трекер корпус снаружи Солнечный трекер корпус Солнечный трекер печатная плата Солнечный трекер на сервоприводах Солнечный трекер на сервоприводах MG996R Солнечный трекер на двух сервоприводах

Таблица средних значений склонения Солнца за 4 года
Печатная плата в формате Sprint Layout 6
Прошивка

Последние записи:

Комментариев 3 на “Солнечный трекер

  1. Поставьте VT1 перед A3 и ненужны переделки модуля, заодно снизите ещё энергопотребление. Отличная работа!

    • Спасибо за оценку!
      Я рассматривал такой вариант, но при этом напряжение затвор-исток для открытия транзистора составит максимум 4В (максимальное напряжение li-ion аккумулятора). Это значение приближается к граничным условиям работы транзистора, что приводит к увеличению сопротивления открытого канала сток-исток, и к ухудшению рабочих характеристик. Поэтому я решил поставить транзистор после преобразователя.

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

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