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

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

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

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

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



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

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



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

Регулирование температуры на atmega8 Скетчи для Схема пульта ду на 4 команды Arduino

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

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


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

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


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

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


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

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


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

Инструкция к waxiba xb-911 usb ="TEXT-ALIGN: center">


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

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

Схема пульта ду на 4 команды -ALIGN: right">Источник: http://www.codeproject.com/