
Всем привет. Решил немного отдохнуть от гексапода и пощупать проекты с солнечными панелями. Первое, что пришло в голову — установка для автоматического позиционирования солнечных панелей (солнечный трекер). Его главная задача — выставить солнечные панели под максимально эффективным углом для получения наибольшего КПД. В этой статье мы посмотрим, как на коленке можно собрать датчик положения источника света и на его основе создать систему позиционирования. Этот проект никогда не окупится, но и не для этого он делается — мы просто развлекаемся!
Проект на GitHub.
▍ Введение
Как уже было сказано ранее, главная задача нашей системы — выставить солнечные панели под максимально эффективным углом для получения наибольшего КПД.

Статичные солнечные панели требуют предварительного анализа движения солнца для последующего их позиционирования, чтобы наибол��шая часть цикла движения солнца приходилась на работу панелей. Наша установка позволяет оперативно её развернуть без необходимости подобного анализа и автоматически направить панели на солнце. Благодаря этому солнечные панели будут задействованы весь цикл движения солнца.
На самом деле при использовании солнечных панелей получить хорошие значения КПД системы невозможно из-за низкого КПД самих панелей (где-то в районе 20%, емнип). Тем не менее, постараемся выжать последние капли.
▍ Формируем требования
Т. к. проект для развлечения, то не будем выставлять какие-либо грандиозные требования. Сделаем всё просто:
- Простая конструкция.
- Самодостаточность по питанию (питает сама себя).
- 13-14 В на выходе.
По сути это тот минимум, который необходим для зарядки свинцового АКБ на 12 В.
▍ Выбор комплектующих
У нас стоит требование самодостаточности по питанию, т. е. автономность. Установка должна работать без внешнего источника питания и без АКБ, только от солнечных панелей. Исходя из этого, для перемещения по осям какие-либо сервоприводы нам не очень подходят из-за их потребления. В данном случае идеальным решением будет мотор постоянного тока с червячным редуктором. Почему именно так? А всё просто: червячный редуктор обеспечивает огромный крутящий момент и низкую скорость, что нам и нужно. Высокий крутящий момент обеспечит нам низкий ток двигателя, т. к. вращать редуктор он будет почти без напряга. К тому же, червячный редуктор обеспечивает удержание вала в од��ом положении (ну попробуйте провернуть червяк, будет весело :)
Я решил остановиться на таких моторах с редуктором. Питание 12В, 2 оборота в минуту. При тестировании выяснил, что они также без проблем работают при напряжении в 5В и выдают хороший крутящий момент.

Теперь давайте определимся с главным — солнечные панели. Вся наша система рассчитана на 12-13 В входного напряжения (мы же хотим свинцовый АКБ ещё заряжать), а потому выходное напряжение с панелей должно быть выше этого значения, да ещё и с запасом. Под рукой у меня оказались панели на 6 В размером 145х145. Отлично, при последовательном соединении мы получим 24 В, только ток будет маловат — 350мА.

Поделюсь небольшим опытом: не пытайтесь собрать панели из элементов своими руками — это сложно. Они очень плохо паяются, чувствительны к температурам и крайне хрупкие. Я испортил в своё время 60% элементов при сборке панели. Возьмите лучше готовые.
Мозги. Этой штукой нужно управлять. Ну я, как всегда, буду мигать светодиодом при помощи микроконтроллера с частотой 48МГц — STM32F030, даже сейчас он стоит копейки. Да, всю электронику можно собрать на рассыпухе и схем достаточно много, но я не люблю такое — 21-й век всё-таки.
▍ Датчик света
Комплектующие набрали, теперь давайте решим основную проблему: как нам определить направление солнечных лучей относительно плоскости солнечных панелей? А тут всё просто — мы используем тень.
Возьмём кусок фанеры и поставим его вертикально на какую-нибудь плоскую поверхность на улице в солнечный день. Что мы увидим? А увидим мы примерно такую картину:

Причём в разное время суток тень будет падать под разными углами. Вращая поверхность с фанерой, можно найти то положение, при котором тень не будет падать, т. е. солнечные лучи будут падать параллельно фанере.
Давайте используем это и сделаем две таких перегородки в виде +, чтобы можно было точно понять, с какой стороны у нас солнце. Хорошо, мы-то глазами видим, а как сказать об этом микроконтроллеру? Попробуем использовать фоторезисторы. Мы просто соберём 4 делителя с фоторезисторами и по разнице их освещённости мы поймём, куда крутить плоскость с панелями. В итоге получается следующая конструкция:

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

▍ Электроника
Ну тут всё просто на самом деле. На входе мы имеем 24 В, нам нужно понизить это напряжение до 13-14 В для зарядки АКБ и до 5 В для питания всей логики (MCU, драйвера). Т. к. разница между входом и выходом достаточно большая, то разумно будет использовать DC-DC. В его схеме нет ничего особенного, всё стандартно:

Моторами будем управлять при помощи драйвера MX1508. Он двухканальный и предельно простой в своём подключении. Слева сигналы от MCU, справа на моторы.

Итоговая плата выглядит так:

Тут я решил добавить 2 дополнительных DC-DC для USB-разъёмов, чтобы что-то можно было подключить сразу к установке, а АКБ будет в качестве резервного источника. Имеется возможность работы только от панелей (АКБ исключается из схемы). Выбор осуществляется через переключатель на блоке электроники. В целом больше ничего необычного.
Вся электроника в сборе выглядит немного страшновато, но она работает. Также имеются два вольтметра для измерения напряжения на выходе солнечных панелей и напряжения на АКБ.

▍ Соберём всё в кучу
Итоговый вариант установки выглядит следующим образом:

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

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

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

Я использовал МГТФ для подключения датчика ввиду их стойкости к изгибам. Сам датчик внутри заполнен термоклеем и крепится к установке также на него. Подобные датчики плохо работают в пыльной среде из-за покрытия пылью чувствительных элементов (фоторезисторов), было бы хорошо поместить его в какой-нибудь стеклянный купол. К сожалению, у меня под рукой такого не нашлось. Для MVP сойдёт и это решение.

Сама площадка под панели крепится на двухосевую опору. Наклоном и поворотом управляют наши редукторы, которые мы выбрали чуть ранее. Всё, разумеется, на подшипниках.

Одна из осей приводится в движение при помощи зубчатого ремня. Выбор зубчатого ремня обусловлен ошибкой на этапе проектирования. Я сделал рёбра жёсткости на основании слишком большими, и не было возможности расположить редуктор ближе к оси. Зубчатое колесо напрессовывается на вал двигателя и дополнительно фиксируется болтом М2. В месте крепления редуктора предусмотрена возможность регулировки натяжения ремня путём перемещения редуктора ближе/дальше от оси.

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

Всё вместе это выглядит так:

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

Есть ещё одна ошибка, и она заключается в том, что я расположил систему поворота по вертикальной оси на неподвижной основе. В результате у нас провода от мотора начинают наматываться на ось во время вращения > 360 градусов. К сожалению, я осознал это, когда уже всё было собрано и напечатано :-(
▍ Нюансы
Перед запуском необходимо поместить установку в помещение с равномерно распределённым освещением для калибровки датчика. Фоторезисторы и резисторы делителя напряжения имеют разные параметры. На этом этапе выполняется вычисление поправочных коэффициентов. Других подводных камней вроде нет.
▍ Итоги
Не буду голословным, просто посмотрите сами. Эту установку можно поставить на землю или закрепить на стене, она всё равно будет работать.
Что можно вынести полезного из этого проекта? Да в целом ничего нового для себя я не открыл, просто очередная поделка. Установка работает и вполне может питать внешние устройства. В режиме движения установка потребляет всего 30мА, поэтому такого маленького тока (350мА от панелей) вполне достаточно.
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх ?️

