Проход по ссылкам навигацииГлавная : Статьи :

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

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

Саморобний блок живлення шуруповерта на 18v Солнечный трекер Лампы дневного света на батарее - система, предназначенная для Генератор импульсов на к157уд2 слежения за Саморобний блок живлення шуруповерта на 18v перемещением солнца, чтобы Схемы использования охранных 12вольт датчиков движения постоянного тока получить максимальный Преобразователь на 2000ват КПД от Саморобний блок живлення шуруповерта на 18v солнечных батарей.
Лампы дневного света на батарее Концепция трекера предельно Генератор импульсов на к157уд2 проста - по двум Саморобний блок живлення шуруповерта на 18v датчикам контроллер заставляет серводвигатель Схемы использования охранных 12вольт датчиков движения постоянного тока поворачивать платформу с Саморобний блок живлення шуруповерта на 18v солнечной Преобразователь на 2000ват батареей в ту сторону, где Саморобний блок живлення шуруповерта на 18v больше Саморобний блок живлення шуруповерта на 18v света.

Домашний Лампы дневного света на батарее прототип рабочего трекера показан Генератор импульсов на к157уд2 на фото Саморобний блок живлення шуруповерта на 18v ниже:



В проекте Схемы использования охранных 12вольт датчиков движения постоянного тока используется два Преобразователь на 2000ват датчика-фоторезистора, которые Саморобний блок живлення шуруповерта на 18v направлены в Лампы дневного света на батарее разные стороны от Генератор импульсов на к157уд2 плоской поверхности на 45°, Саморобний блок живлення шуруповерта на 18v т.е. относительно друг-друга Схемы использования охранных 12вольт датчиков движения постоянного тока фоторезисторы сориентированы на Саморобний блок живлення шуруповерта на 18v 90°. Преобразователь на 2000ват На сами датчики надеты колпачки, Саморобний блок живлення шуруповерта на 18v чтобы Саморобний блок живлення шуруповерта на 18v поток света, Лампы дневного света на батарее падающий на них был Генератор импульсов на к157уд2 узконаправленным.

В Саморобний блок живлення шуруповерта на 18v проекте используется контроллер Схемы использования охранных 12вольт датчиков движения постоянного тока Arduino. Контроллер Преобразователь на 2000ват периодически считывает Саморобний блок живлення шуруповерта на 18v значения с Лампы дневного света на батарее двух датчиков и Генератор импульсов на к157уд2 сравнивает их. Если значения Саморобний блок живлення шуруповерта на 18v с датчиков одинаковы, значит Схемы использования охранных 12вольт датчиков движения постоянного тока панель наведена на Саморобний блок живлення шуруповерта на 18v солнце. Преобразователь на 2000ват В случае, если значение одного Саморобний блок живлення шуруповерта на 18v из Саморобний блок живлення шуруповерта на 18v датчиков Лампы дневного света на батарее отличается от другого, контроллер дает Генератор импульсов на к157уд2 команду на Саморобний блок живлення шуруповерта на 18v серводвигатель для поворота Схемы использования охранных 12вольт датчиков движения постоянного тока платформы. Команда Преобразователь на 2000ват на серво Саморобний блок живлення шуруповерта на 18v работает до Лампы дневного света на батарее тех пор, пока Генератор импульсов на к157уд2 значения с датчиков не Саморобний блок живлення шуруповерта на 18v сравняются.



Для предотвращения чрезмерного Схемы использования охранных 12вольт датчиков движения постоянного тока поворота платформы присутствуют Саморобний блок живлення шуруповерта на 18v программные Преобразователь на 2000ват лимиты поворота, которые в случае Саморобний блок живлення шуруповерта на 18v необходимости Саморобний блок живлення шуруповерта на 18v можно отключить. Лампы дневного света на батарее Также, в коде программы Генератор импульсов на к157уд2 предусмотрена константа Саморобний блок живлення шуруповерта на 18v deadband, при разноСхемы использования охранных 12вольт датчиков движения постоянного тока сти с датчиков Преобразователь на 2000ват меньше значения Саморобний блок живлення шуруповерта на 18v этой константы, Лампы дневного света на батарее контроллер не будет Генератор импульсов на к157уд2 давать команду на поворот Саморобний блок живлення шуруповерта на 18v серводвигателя. Т.о. предотвращается Схемы использования охранных 12вольт датчиков движения постоянного тока дергание платформы (джиттер).
Саморобний блок живлення шуруповерта на 18v Также, Преобразователь на 2000ват на всякий случай добавлено 2 Саморобний блок живлення шуруповерта на 18v переменные Саморобний блок живлення шуруповерта на 18v позволяющие сгладить Лампы дневного света на батарее значения от датчиков. Это Генератор импульсов на к157уд2 помогает отфильтровать Саморобний блок живлення шуруповерта на 18v "выбросы" и шум.

Схемы использования охранных 12вольт датчиков движения постоянного тока Скетчи для Преобразователь на 2000ват Arduino

В Саморобний блок живлення шуруповерта на 18v начальной секции Лампы дневного света на батарее программы описываются подключаемые Генератор импульсов на к157уд2 библиотеки (в нашем случае Саморобний блок живлення шуруповерта на 18v servo.h), определяются пСхемы использования охранных 12вольт датчиков движения постоянного тока ины и константы

#include <servo.h>
 
//IO Pins
int pinL Саморобний блок живлення шуруповерта на 18v = Саморобний блок живлення шуруповерта на 18v 5;              //IO Лампы дневного света на батарее Pin левого фоторезистора
int Генератор импульсов на к157уд2 pinR = Саморобний блок живлення шуруповерта на 18v 4;              //IO Pin Схемы использования охранных 12вольт датчиков движения постоянного тока правого фоторезистора
Преобразователь на 2000ват int pinServo Саморобний блок живлення шуруповерта на 18v = 11;         Лампы дневного света на батарее //PWM pin серво
 
Генератор импульсов на к157уд2 int leftValue = 0;         Саморобний блок живлення шуруповерта на 18v //Значение левого фоторезистора
int Схемы использования охранных 12вольт датчиков движения постоянного тока rightValue = 0;        Саморобний блок живлення шуруповерта на 18v //Значение Преобразователь на 2000ват правого фоторезистора
int error =0;              Саморобний блок живлення шуруповерта на 18v //Разница Саморобний блок живлення шуруповерта на 18v между показаниями Лампы дневного света на батарее двух датчиков
int errorAVG Генератор импульсов на к157уд2 = 0;          Саморобний блок живлення шуруповерта на 18v //Error Average - Схемы использования охранных 12вольт датчиков движения постоянного тока Rolling 2 Преобразователь на 2000ват Point
 
int Саморобний блок живлення шуруповерта на 18v deadband = Лампы дневного света на батарее 10;         //Мертвая зона Генератор импульсов на к157уд2 (защита от джиттера)
//Servo Саморобний блок живлення шуруповерта на 18v Stuff
Servo hServo;              //servo Схемы использования охранных 12вольт датчиков движения постоянного тока object
int Position Саморобний блок живлення шуруповерта на 18v = Преобразователь на 2000ват 45;         //Position to write out
 
Саморобний блок живлення шуруповерта на 18v int Саморобний блок живлення шуруповерта на 18v minPos = Лампы дневного света на батарее 5;            //Min позиция
int Генератор импульсов на к157уд2 maxPos = Саморобний блок живлення шуруповерта на 18v 150;          //Max позиция
 
Схемы использования охранных 12вольт датчиков движения постоянного тока float output Преобразователь на 2000ват = (maxPos Саморобний блок живлення шуруповерта на 18v - minPos) Лампы дневного света на батарее /2;  //Initial output Генератор импульсов на к157уд2 Position
</servo.h>


В Саморобний блок живлення шуруповерта на 18v следующей части кода описывается Схемы использования охранных 12вольт датчиков движения постоянного тока функция Setup(). Данная Саморобний блок живлення шуруповерта на 18v функция Преобразователь на 2000ват выполняется только один раз при Саморобний блок живлення шуруповерта на 18v запуске Саморобний блок живлення шуруповерта на 18v программы или Лампы дневного света на батарее после сброса контроллера. Здесь Генератор импульсов на к157уд2 вы можете Саморобний блок живлення шуруповерта на 18v вывести в Serial Схемы использования охранных 12вольт датчиков движения постоянного тока Monitor какие Преобразователь на 2000ват либо данные Саморобний блок живлення шуруповерта на 18v для отладки, Лампы дневного света на батарее или как в Генератор импульсов на к157уд2 приведенном ниже примере сделать Саморобний блок живлення шуруповерта на 18v "прогон" серводвигателя по всей Схемы использования охранных 12вольт датчиков движения постоянного тока траектории до лимитов.

Саморобний блок живлення шуруповерта на 18v void Преобразователь на 2000ват setup()
{
Serial.begin(9600);
 
hServo.Саморобний блок живлення шуруповерта на 18v attach(pinServo);
 
Саморобний блок живлення шуруповерта на 18v //Set Servo Лампы дневного света на батарее to Centre for Alignment Генератор импульсов на к157уд2 Purpose
Serial.Саморобний блок живлення шуруповерта на 18v println("Перемещение к начальной Схемы использования охранных 12вольт датчиков движения постоянного тока позиции");
hServo.Преобразователь на 2000ват write(minPos);
delay(5000);
Саморобний блок живлення шуруповерта на 18v Serial.println("Перемещение Лампы дневного света на батарее к конечной позиции");
Генератор импульсов на к157уд2 hServo.write(maxPos);
delay(5000);
Serial.Саморобний блок живлення шуруповерта на 18v println("Перемещение к средней точке");
Схемы использования охранных 12вольт датчиков движения постоянного тока hServo.write(output);
delay(5000);
Саморобний блок живлення шуруповерта на 18v Serial.Преобразователь на 2000ват println("Going Live................");
}


Финальная Саморобний блок живлення шуруповерта на 18v часть Саморобний блок живлення шуруповерта на 18v кода Лампы дневного света на батарее выполняется в циклической функции loop(). Генератор импульсов на к157уд2 Здесь считываются Саморобний блок живлення шуруповерта на 18v значения с датчиков, Схемы использования охранных 12вольт датчиков движения постоянного тока производятся все Преобразователь на 2000ват расчеты и Саморобний блок живлення шуруповерта на 18v выдаются команды Лампы дневного света на батарее на серводвигатель.

void Генератор импульсов на к157уд2 loop()
{
  //Чтение значений Саморобний блок живлення шуруповерта на 18v с фоторезисторов
   leftValue = Схемы использования охранных 12вольт датчиков движения постоянного тока analogRead(pinL);
   rightValue = Саморобний блок живлення шуруповерта на 18v analogRead(pinR);
 
 Преобразователь на 2000ват Serial.print("L = "); Serial.Саморобний блок живлення шуруповерта на 18v print(leftValue); Саморобний блок живлення шуруповерта на 18v Serial.print(" Лампы дневного света на батарее | ");
 Serial.print("R Генератор импульсов на к157уд2 = "); Саморобний блок живлення шуруповерта на 18v Serial.print(rightValue); Serial.Схемы использования охранных 12вольт датчиков движения постоянного тока print(" | Преобразователь на 2000ват ");
 Serial.Саморобний блок живлення шуруповерта на 18v print("E = Лампы дневного света на батарее "); Serial.print(error); Генератор импульсов на к157уд2 Serial.print(" | ");
 Саморобний блок живлення шуруповерта на 18v Serial.print("Eavg = "); Схемы использования охранных 12вольт датчиков движения постоянного тока Serial.print(errorAVG);
 Serial.Саморобний блок живлення шуруповерта на 18v println();
 
  Преобразователь на 2000ват //Расчет
 error = leftValue - Саморобний блок живлення шуруповерта на 18v rightValue;
 Саморобний блок живлення шуруповерта на 18v errorAVG = Лампы дневного света на батарее (errorAVG + error) / Генератор импульсов на к157уд2 2;
  
 float Саморобний блок живлення шуруповерта на 18v newOutput = output Схемы использования охранных 12вольт датчиков движения постоянного тока + getTravel();
  
 Преобразователь на 2000ват if (newOutput > maxPos)
 {
   Serial.println("At Upper Limit");
   newOutput = maxPos;
 }
 else
 {
   if (newOutput < minPos)
   {
     Serial.println("At Lower Limit");
     newOutput = minPos;
   }
 }
    Serial.println("Writing output");
     
    //Вывод команды управления серво
    hServo.write(newOutput);
    output = newOutput;
}
}Саморобний блок живлення шуруповерта на 18v >


Также, в программе используется вспомогательная функция getTravel(), которая используется для вычисления, куда поворачивать серво - влево, вправо или вообще ничего не делать. Функция просто возвращает значение: 0 - ничего не происходит, -1 поворот влево, +1 поворот право.

int getTravel()
Лампы дневного света на батарее {
  // -1 = Влево; +1 = Вправо
  
 if (errorAVG < (deadband * -1))
 {
   return 1;
 }
 else
 {
   Схемы использования охранных 12вольт датчиков движения постоянного тока if (errorAVG > deadband)
   Преобразователь на 2000ват {
     return -1;
   }
   else
   {
     //Ничего не делаем
     return 0;
   }
 }
}


Видео работы устройства:

Саморобний блок живлення шуруповерта на 18v ="TEXT-ALIGN: center">


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

Вы не можете скачивать файлы с нашего сервера скетч PDE

Преобразователь на 2000ват -ALIGN: right">Источник: http://www.codeproject.com/