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

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

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

Цифровой индикатор позиции механический Солнечный трекер Программные часы на ардуино - система, предназначенная для Самодельные унч на 5000 ватт слежения за Цифровой индикатор позиции механический перемещением солнца, чтобы Чертить на андроид получить максимальный Дроссели на 24 вольта для дневного освещения автобусного салона КПД от Цифровой индикатор позиции механический солнечных батарей.
Программные часы на ардуино Концепция трекера предельно Самодельные унч на 5000 ватт проста - по двум Цифровой индикатор позиции механический датчикам контроллер заставляет серводвигатель Чертить на андроид поворачивать платформу с Цифровой индикатор позиции механический солнечной Дроссели на 24 вольта для дневного освещения автобусного салона батареей в ту сторону, где Цифровой индикатор позиции механический больше Цифровой индикатор позиции механический света.

Домашний Программные часы на ардуино прототип рабочего трекера показан Самодельные унч на 5000 ватт на фото Цифровой индикатор позиции механический ниже:



В проекте Чертить на андроид используется два Дроссели на 24 вольта для дневного освещения автобусного салона датчика-фоторезистора, которые Цифровой индикатор позиции механический направлены в Программные часы на ардуино разные стороны от Самодельные унч на 5000 ватт плоской поверхности на 45°, Цифровой индикатор позиции механический т.е. относительно друг-друга Чертить на андроид фоторезисторы сориентированы на Цифровой индикатор позиции механический 90°. Дроссели на 24 вольта для дневного освещения автобусного салона На сами датчики надеты колпачки, Цифровой индикатор позиции механический чтобы Цифровой индикатор позиции механический поток света, Программные часы на ардуино падающий на них был Самодельные унч на 5000 ватт узконаправленным.

В Цифровой индикатор позиции механический проекте используется контроллер Чертить на андроид Arduino. Контроллер Дроссели на 24 вольта для дневного освещения автобусного салона периодически считывает Цифровой индикатор позиции механический значения с Программные часы на ардуино двух датчиков и Самодельные унч на 5000 ватт сравнивает их. Если значения Цифровой индикатор позиции механический с датчиков одинаковы, значит Чертить на андроид панель наведена на Цифровой индикатор позиции механический солнце. Дроссели на 24 вольта для дневного освещения автобусного салона В случае, если значение одного Цифровой индикатор позиции механический из Цифровой индикатор позиции механический датчиков Программные часы на ардуино отличается от другого, контроллер дает Самодельные унч на 5000 ватт команду на Цифровой индикатор позиции механический серводвигатель для поворота Чертить на андроид платформы. Команда Дроссели на 24 вольта для дневного освещения автобусного салона на серво Цифровой индикатор позиции механический работает до Программные часы на ардуино тех пор, пока Самодельные унч на 5000 ватт значения с датчиков не Цифровой индикатор позиции механический сравняются.



Для предотвращения чрезмерного Чертить на андроид поворота платформы присутствуют Цифровой индикатор позиции механический программные Дроссели на 24 вольта для дневного освещения автобусного салона лимиты поворота, которые в случае Цифровой индикатор позиции механический необходимости Цифровой индикатор позиции механический можно отключить. Программные часы на ардуино Также, в коде программы Самодельные унч на 5000 ватт предусмотрена константа Цифровой индикатор позиции механический deadband, при разноЧертить на андроид сти с датчиков Дроссели на 24 вольта для дневного освещения автобусного салона меньше значения Цифровой индикатор позиции механический этой константы, Программные часы на ардуино контроллер не будет Самодельные унч на 5000 ватт давать команду на поворот Цифровой индикатор позиции механический серводвигателя. Т.о. предотвращается Чертить на андроид дергание платформы (джиттер).
Цифровой индикатор позиции механический Также, Дроссели на 24 вольта для дневного освещения автобусного салона на всякий случай добавлено 2 Цифровой индикатор позиции механический переменные Цифровой индикатор позиции механический позволяющие сгладить Программные часы на ардуино значения от датчиков. Это Самодельные унч на 5000 ватт помогает отфильтровать Цифровой индикатор позиции механический "выбросы" и шум.

Чертить на андроид Скетчи для Дроссели на 24 вольта для дневного освещения автобусного салона Arduino

В Цифровой индикатор позиции механический начальной секции Программные часы на ардуино программы описываются подключаемые Самодельные унч на 5000 ватт библиотеки (в нашем случае Цифровой индикатор позиции механический servo.h), определяются пЧертить на андроид ины и константы

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


В Цифровой индикатор позиции механический следующей части кода описывается Чертить на андроид функция Setup(). Данная Цифровой индикатор позиции механический функция Дроссели на 24 вольта для дневного освещения автобусного салона выполняется только один раз при Цифровой индикатор позиции механический запуске Цифровой индикатор позиции механический программы или Программные часы на ардуино после сброса контроллера. Здесь Самодельные унч на 5000 ватт вы можете Цифровой индикатор позиции механический вывести в Serial Чертить на андроид Monitor какие Дроссели на 24 вольта для дневного освещения автобусного салона либо данные Цифровой индикатор позиции механический для отладки, Программные часы на ардуино или как в Самодельные унч на 5000 ватт приведенном ниже примере сделать Цифровой индикатор позиции механический "прогон" серводвигателя по всей Чертить на андроид траектории до лимитов.

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


Финальная Цифровой индикатор позиции механический часть Цифровой индикатор позиции механический кода Программные часы на ардуино выполняется в циклической функции loop(). Самодельные унч на 5000 ватт Здесь считываются Цифровой индикатор позиции механический значения с датчиков, Чертить на андроид производятся все Дроссели на 24 вольта для дневного освещения автобусного салона расчеты и Цифровой индикатор позиции механический выдаются команды Программные часы на ардуино на серводвигатель.

void Самодельные унч на 5000 ватт loop()
{
  //Чтение значений Цифровой индикатор позиции механический с фоторезисторов
   leftValue = Чертить на андроид analogRead(pinL);
   rightValue = Цифровой индикатор позиции механический analogRead(pinR);
 
 Дроссели на 24 вольта для дневного освещения автобусного салона Serial.print("L = "); Serial.Цифровой индикатор позиции механический print(leftValue); Цифровой индикатор позиции механический Serial.print(" Программные часы на ардуино | ");
 Serial.print("R Самодельные унч на 5000 ватт = "); Цифровой индикатор позиции механический Serial.print(rightValue); Serial.Чертить на андроид print(" | Дроссели на 24 вольта для дневного освещения автобусного салона ");
 Serial.Цифровой индикатор позиции механический print("E = Программные часы на ардуино "); Serial.print(error); Самодельные унч на 5000 ватт Serial.print(" | ");
 Цифровой индикатор позиции механический Serial.print("Eavg = "); Чертить на андроид Serial.print(errorAVG);
 Serial.Цифровой индикатор позиции механический println();
 
  Дроссели на 24 вольта для дневного освещения автобусного салона //Расчет
 error = leftValue - Цифровой индикатор позиции механический rightValue;
 Цифровой индикатор позиции механический errorAVG = Программные часы на ардуино (errorAVG + error) / Самодельные унч на 5000 ватт 2;
  
 float Цифровой индикатор позиции механический newOutput = output Чертить на андроид + getTravel();
  
 Дроссели на 24 вольта для дневного освещения автобусного салона 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;
}
}Цифровой индикатор позиции механический >


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

int getTravel()
Программные часы на ардуино {
  // -1 = Влево; +1 = Вправо
  
 if (errorAVG < (deadband * -1))
 {
   return 1;
 }
 else
 {
   Чертить на андроид if (errorAVG > deadband)
   Дроссели на 24 вольта для дневного освещения автобусного салона {
     return -1;
   }
   else
   {
     //Ничего не делаем
     return 0;
   }
 }
}


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

Цифровой индикатор позиции механический ="TEXT-ALIGN: center">


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

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

Дроссели на 24 вольта для дневного освещения автобусного салона -ALIGN: right">Источник: http://www.codeproject.com/