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

Данная реализация является моделью для прототипа. Описание полной сборки и настройки, как и сборки многих других занимательных устройств я описал в своей книге "Умная робототехника для начинающих. Разработка на Arduino".

Для создания работающей модели нам понадобяться прочный, но лёгкий материал, на котором будет производиться монтаж электрокомпонентов и сам он будет использоваться в качестве несущей конструкции. Можно выбрать вспенённый пвх лист 3 мм или листовой прозрачный пластик 1,5-3 мм. Так же подойдёт корпус из под лазерных дисков.

Нам нужны электрокомпоненты. Я возьму: arduino uno, два сервопривода- четыре фоторезистора, четыре резистора на 1 кОм, соединительные провода, плата для монтажа (можно беспаечную).

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

Фоторезисторы в этом устройстве будут работать, как датчики света. Располагаться они должны по краям подвижной платформу. С какой стороны более яркий свет – в ту сторону и поворачивается устройство.

Рассмотрим схему конструкции.

Схема подключения электрокомпонентов: сервоприводы, фоторезисторы, резисторы и плата arduino
Схема подключения электрокомпонентов: сервоприводы, фоторезисторы, резисторы и плата arduino

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

Сборка конструкции

Конструкция позволяет перемещать площадку трекера в пространстве ограниченной цилинром.

Инструменты и материалы
Инструменты и материалы
Конструкция платформы
Конструкция платформы

Итак, согласно конструкции трекер вращается вокрук вертикальной оси, но при этом может наклонять верхнюю площадку.

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

После сборки конструкции, нужно отметить расположение фоторезисторов на панели относительно порядка подключения.
После этого, необходимо определить положение сервоприводов – где у каждого положения либо 0^0, либо180^0  . Здесь, вам понадобиться найти градус предельного положения платформы, для лучшей работы устройства, т.е. мы занимаемся калибровкой устройства.

В моём случае, первый сервопривод, который находится в основании, имеет промежуток вращения10^0- 180^0 , второй сервопривод имеет интервал поворота 10^0- 120^0 . Пометьте для себя в какую сторону фоторезистора поворачивается сервопривод при данных крайних точках диапазона.

В данной сборке второй сервопривод поворачивается от второго резистора (ближайшийк нам, см. рис.) в сторону четвёртого (самый дальний, см.рис), а первый сервопривод – от первого фоторезистора (крайний правыйсм. рис.) в сторону третьего (крайний левый, см. рис.).

Ниже представлен код программы на 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)


  1. Yuriy_krd
    11.02.2026 11:43

    Идея неплоха, но! Во-первых, стоило более подробно комментировать переменные (i,j , k), во-вторых, что за число "40" фигурирует в условиях (я предполагаю, что это разница в освещенности между фоторезисторами на одной плоскости), и в-третьих, как себя поведет данная конструкция ночью? Нацелится на ближайший фонарь ? А если фонарь строго на западе? Утром сможет развернуться к солнцу ?


    1. Andrykor Автор
      11.02.2026 11:43

      40 - это тестовое значение, при котором необходимо начать поворот либо первого сервопривода, либо второго. Да совершенно верно, это разница между противолежащими друг другу фоторезисторами.

      I, j - это углы поворота двух сервоприводов, с начальными и конечными пороговыми значениями, так как в этой модели конструкции платформа может коснуться поверхности, если не ограничить диапазон.

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


  1. Firelander
    11.02.2026 11:43

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


    1. Nikita_64
      11.02.2026 11:43

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

      Располагаться они должны по краям подвижной платформу. С какой стороны более яркий свет – в ту сторону и поворачивается устройство.


      1. Epsiloncool
        11.02.2026 11:43

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


        1. Mishootk
          11.02.2026 11:43

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


    1. Shephard
      11.02.2026 11:43

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



  1. Mishootk
    11.02.2026 11:43

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

    https://www.ozon.ru/product/tscinbuny-komplekt-paneli-solnechnogo-trekera-dlya-arduino-s-kodami-i-instruktsiyami-1688616732/

    Скрытый текст

    я описал в своей книге

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


  1. dvmuratov
    11.02.2026 11:43

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


    1. Mishootk
      11.02.2026 11:43

      И точная юстировка платформы.

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


      1. Kandimus
        11.02.2026 11:43

      1. 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/


    1. Alexis_Che
      11.02.2026 11:43

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

      Это все для того чтобы не тратить зря энергию на постоянное "шевеление" сервомоторами.


  1. Mishootk
    11.02.2026 11:43

    Видео не раскрывает само понятие "солнечный" трекер. Примером работоспособности было бы видео на наклонно-поворотной платформе у окна на прямом солнце.

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


  1. ante27
    11.02.2026 11:43

    "На трекеры ставят солнечные панели" или Трекеры ставят На солнечные панели?


  1. deee
    11.02.2026 11:43

    Работает как трекер для гелиостата? Всё-таки панели - это лишь порядка 20% эффективности, а гелиостат - близко к 100%.