Солнечный трекер – это устройство, которое может отслеживать положение солнца. На трекеры ставят солнечные панели, чтобы они могли аккумулировать больше энергии, благодаря изменению угла поворота в пространстве.
Данная реализация является моделью для прототипа. Описание полной сборки и настройки, как и сборки многих других занимательных устройств я описал в своей книге "Умная робототехника для начинающих. Разработка на Arduino".
Для создания работающей модели нам понадобяться прочный, но лёгкий материал, на котором будет производиться монтаж электрокомпонентов и сам он будет использоваться в качестве несущей конструкции. Можно выбрать вспенённый пвх лист 3 мм или листовой прозрачный пластик 1,5-3 мм. Так же подойдёт корпус из под лазерных дисков.
Нам нужны электрокомпоненты. Я возьму: arduino uno, два сервопривода- четыре фоторезистора, четыре резистора на 1 кОм, соединительные провода, плата для монтажа (можно беспаечную).
Чтобы производить монтаж электроники, вырезать и собирать конструкцию трекера нам нужны инструменты. Я воспользуюсь: канцелярским ножом и ножницами, клеем для пластика или термоклеем, карандашом, линейкой или штангенциркулем, наждачной бумагой мелкой фракции, паяльной станцией с припоем и канифолью.
Фоторезисторы в этом устройстве будут работать, как датчики света. Располагаться они должны по краям подвижной платформу. С какой стороны более яркий свет – в ту сторону и поворачивается устройство.
Рассмотрим схему конструкции.

Как видно на схеме, показания с фоторезисторов будут отправляться на пины A0, A1, A2 и A4. Фоторезисторы в купе с резисторами образуют делители напряжения. Этот вариант помогает лучше отследить изменения показаний.
Сборка конструкции
Конструкция позволяет перемещать площадку трекера в пространстве ограниченной цилинром.


Итак, согласно конструкции трекер вращается вокрук вертикальной оси, но при этом может наклонять верхнюю площадку.
К концам проводов фоторезистора можно припаять штекеры, для быстрого монтажа.
После сборки конструкции, нужно отметить расположение фоторезисторов на панели относительно порядка подключения.
После этого, необходимо определить положение сервоприводов – где у каждого положения либо , либо
. Здесь, вам понадобиться найти градус предельного положения платформы, для лучшей работы устройства, т.е. мы занимаемся калибровкой устройства.
В моём случае, первый сервопривод, который находится в основании, имеет промежуток вращения , второй сервопривод имеет интервал поворота
. Пометьте для себя в какую сторону фоторезистора поворачивается сервопривод при данных крайних точках диапазона.
В данной сборке второй сервопривод поворачивается от второго резистора (ближайшийк нам, см. рис.) в сторону четвёртого (самый дальний, см.рис), а первый сервопривод – от первого фоторезистора (крайний правыйсм. рис.) в сторону третьего (крайний левый, см. рис.).
Ниже представлен код программы на arduino ide, сохраним как sun_trecer.ino.
#include <Servo.h> // вводим переменные для фоторезисторов, углов и сервоприводов Servo myservo1; Servo myservo2; int foto1 =A0; int foto2 =A1; int foto3 =A2; int foto4 =A3; int i=10; int j =20; int k=0; void setup() { // назначение пинов и скорость передачи данных myservo1.attach(13); myservo2.attach(12); pinMode(foto1, INPUT); pinMode(foto2, INPUT); pinMode(foto3, INPUT); pinMode(foto4, INPUT); Serial.begin(9600); } void loop() { // проверяем условие между первым и третьем фоторезистором if ( analogRead(foto1)>analogRead(foto3)) { if (analogRead(foto1)-analogRead(foto3)>40){ i=i+1; myservo1.write(i); delay(20); } } else { if (analogRead(foto3)-analogRead(foto1)>40){ i=i-1 ; myservo1.write(i); delay(20); } } // проверяем условие между вторым и четвёртым фоторезистором if ( analogRead(foto2)>analogRead(foto4)) { if (analogRead(foto2)-analogRead(foto4)>40){ j=j+1; myservo2.write(j); delay(20); } } else { if (analogRead(foto4)-analogRead(foto2)>40){ j=j-1 ; myservo2.write(j); delay(20); } } // проверка граничных условий if (i<=10){ i=10; } else if (i>=180){ i=180; } if (j<=10){ j=10; } else if (j>=120){ j=120; } // вывод значений для самопроверки Serial.println("i="); Serial.println(i); Serial.println("foto1 ="); Serial.println(analogRead(foto1)); delay(300); Serial.println("foto3 ="); Serial.println(analogRead(foto3)); Serial.println("j="); Serial.println(j); Serial.println("foto4 ="); Serial.println(analogRead(foto4)); Serial.println("foto2 ="); Serial.println(analogRead(foto2)); }
Загрузим программу и проверим работоспособность устройства. Ваша конструкция может не совпадать с конструкцией, представленной в статье из-за другого подключения фоторезисторов.
Видео на котором показан принцип работы солнечного трекера представлен здесь:
Комментарии (17)

Firelander
11.02.2026 11:43Свет от удаленного условно точечного источника равномерно освещает поверхность. Он ни с какой стороны не ярче.

Nikita_64
11.02.2026 11:43Верно. Для того, чтобы датчики работали нормально, они должны быть слегка повернуты в разные стороны от оси, перпендикулярной платформе. И разносить их по краям не нужно, как сказано тут:
Располагаться они должны по краям подвижной платформу. С какой стороны более яркий свет – в ту сторону и поворачивается устройство.

Epsiloncool
11.02.2026 11:43Для надёжности можно было бы на них надеть трубочки и направить в разные стороны.

Mishootk
11.02.2026 11:43Не сработает. Трубочка показывает, что датчик смотрит на солнышко. Если ни один датчик не смотрит на солнышко, направление поиска не определено. Затенение по квадрантам от этого недостатка избавлено.

Shephard
11.02.2026 11:43Ну да, и фоторезисторы в целом не нужны. Потенциал можно брать с самой солнечной панели. И руководствоваться понятием, что в северном полушарии солнце движется только слева направо. Это очень сильно облегчает алгоритм работы. Кроме того полярная система управления будет куда проще. Учесть с гпс приемника, либо заданные в коде, координаты, рассчитать от времени года траекторию солнца. И собственно большую часть времени гонять установку по одной оси, а наклон основной оси вращения будет корректироваться может пару раз в месяц.

safer
11.02.2026 11:43https://habr.com/ru/companies/skillfactory/articles/664276/#comment_24319026
Журнал Радио №5 2002 г.

Mishootk
11.02.2026 11:43Для тех, кто хочет просто попрограммировать. Солнечный трекер:
Скрытый текст

я описал в своей книге
Если код в статье - это код из книги, то ой. У нас за такое бьют.

dvmuratov
11.02.2026 11:43Для того, чтобы вычислить положение Солнца не нужны никакие датчики. Есть формулы.

Mishootk
11.02.2026 11:43И точная юстировка платформы.
Уже витают идеи чисто по фану сделать самонастраивающийся гелиостат со спутниковым приемником, компасом и фотоуловителем. Просто бросаешь его в поле, а дальше он сам. На одном из ардуинских форумов всплывала идея освещать северное окно загородного дома зеркалом на полянке. Пока о результатах не слышно.

Kandimus
11.02.2026 11:43Ну как бы, в Норвегии уже сделали
https://loveopium.ru/news/bolshie-zerkala-dlya-osveshheniya-temnoj-doliny-v-norvegii.html

deee
11.02.2026 11:43В Австралии любители делают гелиостаты для освещения южных окон.
P.S. https://www.devdotblog.com/post/2022-06-16-project-heliostat/ , https://www.iwilltry.org/b/projects/build-a-heliostat-for-solar-heating-and-lighting/

Alexis_Che
11.02.2026 11:43Поддерживаю. Если система стационарная. То нет сложности сориентировать её по сторонам света и запрограммировать наводится на солнце по часам реального времени. Для экономии энергии на работу приводов наведения можно включать их дискретно держа нормаль на Солнце в заданных пределах. Если сделать положение вертикальной оси на Полярную звезду, как в некоторых монтировках телескопов, то поворачивать придётся только по одной оси, корректируя вторую, может и не каждый день. А для датчиков положения могут и сготится электронный компас и угломер, если энкодеры угла поворота, догоро.
Это все для того чтобы не тратить зря энергию на постоянное "шевеление" сервомоторами.

Mishootk
11.02.2026 11:43Видео не раскрывает само понятие "солнечный" трекер. Примером работоспособности было бы видео на наклонно-поворотной платформе у окна на прямом солнце.
Вышеприведенный трекер-конструктор, который можно купить для сборки, обладает более правильным датчиком положения солнца. Крестообразная шторка задает угол отклонения от прямого падения лучей для начала доворота. Ну а наличие солнечной панели вместе с датчиками позволит найти оптимум по эффективному углу.

deee
11.02.2026 11:43Работает как трекер для гелиостата? Всё-таки панели - это лишь порядка 20% эффективности, а гелиостат - близко к 100%.
Yuriy_krd
Идея неплоха, но! Во-первых, стоило более подробно комментировать переменные (i,j , k), во-вторых, что за число "40" фигурирует в условиях (я предполагаю, что это разница в освещенности между фоторезисторами на одной плоскости), и в-третьих, как себя поведет данная конструкция ночью? Нацелится на ближайший фонарь ? А если фонарь строго на западе? Утром сможет развернуться к солнцу ?
Andrykor Автор
40 - это тестовое значение, при котором необходимо начать поворот либо первого сервопривода, либо второго. Да совершенно верно, это разница между противолежащими друг другу фоторезисторами.
I, j - это углы поворота двух сервоприводов, с начальными и конечными пороговыми значениями, так как в этой модели конструкции платформа может коснуться поверхности, если не ограничить диапазон.
Переменная k планировалась как константа, в которой и будет храниться значение 40 или другое значение в зависимости от условий на месте использования.