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

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

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

Самодельный усилитель на 5000 ватт Солнечный трекер Питание - система, предназначенная для Инструкция к waxiba xb-911 usb слежения за Самодельный усилитель на 5000 ватт перемещением солнца, чтобы Инвертор gys 5000 не включается получить максимальный Регулирование температуры на atmega8 КПД от Самодельный усилитель на 5000 ватт солнечных батарей.
Питание Концепция трекера предельно Инструкция к waxiba xb-911 usb проста - по двум Самодельный усилитель на 5000 ватт датчикам контроллер заставляет серводвигатель Инвертор gys 5000 не включается поворачивать платформу с Самодельный усилитель на 5000 ватт солнечной Регулирование температуры на atmega8 батареей в ту сторону, где Самодельный усилитель на 5000 ватт больше Самодельный усилитель на 5000 ватт света.

Домашний Питание прототип рабочего трекера показан Инструкция к waxiba xb-911 usb на фото Самодельный усилитель на 5000 ватт ниже:



В проекте Инвертор gys 5000 не включается используется два Регулирование температуры на atmega8 датчика-фоторезистора, которые Самодельный усилитель на 5000 ватт направлены в Питание разные стороны от Инструкция к waxiba xb-911 usb плоской поверхности на 45°, Самодельный усилитель на 5000 ватт т.е. относительно друг-друга Инвертор gys 5000 не включается фоторезисторы сориентированы на Самодельный усилитель на 5000 ватт 90°. Регулирование температуры на atmega8 На сами датчики надеты колпачки, Самодельный усилитель на 5000 ватт чтобы Самодельный усилитель на 5000 ватт поток света, Питание падающий на них был Инструкция к waxiba xb-911 usb узконаправленным.

В Самодельный усилитель на 5000 ватт проекте используется контроллер Инвертор gys 5000 не включается Arduino. Контроллер Регулирование температуры на atmega8 периодически считывает Самодельный усилитель на 5000 ватт значения с Питание двух датчиков и Инструкция к waxiba xb-911 usb сравнивает их. Если значения Самодельный усилитель на 5000 ватт с датчиков одинаковы, значит Инвертор gys 5000 не включается панель наведена на Самодельный усилитель на 5000 ватт солнце. Регулирование температуры на atmega8 В случае, если значение одного Самодельный усилитель на 5000 ватт из Самодельный усилитель на 5000 ватт датчиков Питание отличается от другого, контроллер дает Инструкция к waxiba xb-911 usb команду на Самодельный усилитель на 5000 ватт серводвигатель для поворота Инвертор gys 5000 не включается платформы. Команда Регулирование температуры на atmega8 на серво Самодельный усилитель на 5000 ватт работает до Питание тех пор, пока Инструкция к waxiba xb-911 usb значения с датчиков не Самодельный усилитель на 5000 ватт сравняются.



Для предотвращения чрезмерного Инвертор gys 5000 не включается поворота платформы присутствуют Самодельный усилитель на 5000 ватт программные Регулирование температуры на atmega8 лимиты поворота, которые в случае Самодельный усилитель на 5000 ватт необходимости Самодельный усилитель на 5000 ватт можно отключить. Питание Также, в коде программы Инструкция к waxiba xb-911 usb предусмотрена константа Самодельный усилитель на 5000 ватт deadband, при разноИнвертор gys 5000 не включается сти с датчиков Регулирование температуры на atmega8 меньше значения Самодельный усилитель на 5000 ватт этой константы, Питание контроллер не будет Инструкция к waxiba xb-911 usb давать команду на поворот Самодельный усилитель на 5000 ватт серводвигателя. Т.о. предотвращается Инвертор gys 5000 не включается дергание платформы (джиттер).
Самодельный усилитель на 5000 ватт Также, Регулирование температуры на atmega8 на всякий случай добавлено 2 Самодельный усилитель на 5000 ватт переменные Самодельный усилитель на 5000 ватт позволяющие сгладить Питание значения от датчиков. Это Инструкция к waxiba xb-911 usb помогает отфильтровать Самодельный усилитель на 5000 ватт "выбросы" и шум.

Инвертор gys 5000 не включается Скетчи для Регулирование температуры на atmega8 Arduino

В Самодельный усилитель на 5000 ватт начальной секции Питание программы описываются подключаемые Инструкция к waxiba xb-911 usb библиотеки (в нашем случае Самодельный усилитель на 5000 ватт servo.h), определяются пИнвертор gys 5000 не включается ины и константы

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


В Самодельный усилитель на 5000 ватт следующей части кода описывается Инвертор gys 5000 не включается функция Setup(). Данная Самодельный усилитель на 5000 ватт функция Регулирование температуры на atmega8 выполняется только один раз при Самодельный усилитель на 5000 ватт запуске Самодельный усилитель на 5000 ватт программы или Питание после сброса контроллера. Здесь Инструкция к waxiba xb-911 usb вы можете Самодельный усилитель на 5000 ватт вывести в Serial Инвертор gys 5000 не включается Monitor какие Регулирование температуры на atmega8 либо данные Самодельный усилитель на 5000 ватт для отладки, Питание или как в Инструкция к waxiba xb-911 usb приведенном ниже примере сделать Самодельный усилитель на 5000 ватт "прогон" серводвигателя по всей Инвертор gys 5000 не включается траектории до лимитов.

Самодельный усилитель на 5000 ватт void Регулирование температуры на atmega8 setup()
{
Serial.begin(9600);
 
hServo.Самодельный усилитель на 5000 ватт attach(pinServo);
 
Самодельный усилитель на 5000 ватт //Set Servo Питание to Centre for Alignment Инструкция к waxiba xb-911 usb Purpose
Serial.Самодельный усилитель на 5000 ватт println("Перемещение к начальной Инвертор gys 5000 не включается позиции");
hServo.Регулирование температуры на atmega8 write(minPos);
delay(5000);
Самодельный усилитель на 5000 ватт Serial.println("Перемещение Питание к конечной позиции");
Инструкция к waxiba xb-911 usb hServo.write(maxPos);
delay(5000);
Serial.Самодельный усилитель на 5000 ватт println("Перемещение к средней точке");
Инвертор gys 5000 не включается hServo.write(output);
delay(5000);
Самодельный усилитель на 5000 ватт Serial.Регулирование температуры на atmega8 println("Going Live................");
}


Финальная Самодельный усилитель на 5000 ватт часть Самодельный усилитель на 5000 ватт кода Питание выполняется в циклической функции loop(). Инструкция к waxiba xb-911 usb Здесь считываются Самодельный усилитель на 5000 ватт значения с датчиков, Инвертор gys 5000 не включается производятся все Регулирование температуры на atmega8 расчеты и Самодельный усилитель на 5000 ватт выдаются команды Питание на серводвигатель.

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


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

int getTravel()
Питание {
  // -1 = Влево; +1 = Вправо
  
 if (errorAVG < (deadband * -1))
 {
   return 1;
 }
 else
 {
   Инвертор gys 5000 не включается if (errorAVG > deadband)
   Регулирование температуры на atmega8 {
     return -1;
   }
   else
   {
     //Ничего не делаем
     return 0;
   }
 }
}


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

Самодельный усилитель на 5000 ватт ="TEXT-ALIGN: center">


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

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

Регулирование температуры на atmega8 -ALIGN: right">Источник: http://www.codeproject.com/