Güneş Takip Sistemi #Arduino Solar Tracker

Güneş Takip Sistemi #Arduino Solar Tracker

Günümüzde enerji elde etmek için temiz enerji kaynaklarını durmadan geliştiriliyor.Bunlar rüzgar gülü ve enerji panelleri olarak karşımıza çıkmaktadır. Doğaya sıfır zarar veren bu sistemler giderek yaygınlaşarak daha çevreci üretimler aranmaktadır. Bunlarda güneş panelleri ise bir çok versiyonu bulunmaktadır. Sabit güneş panellerinin yanı sıra güneşi takip eden paneller de daha çok enerji üretimi amaçlanmıştır.Güneşi X ve Y eksenlerinde takip ederek en fazla verimi vermek için tasarlanmıştır.

Güneş takip sistemini minyatür olarak yapacağız.Mekanik kısmını kendi imkanlarımla yaptım,ve iki adet sg90 servo motor lar sayesinde güneşi takip etmektedir. Güneşin konumunu sistemin üst tarafında bulunan 4 adet ldr güneşin konum bilgisini arduino ya bildirecek ve arduino servoları bu konuma getirecektir.

Devremizde;

int dtime = 100;

komutu devrenin sorgulama süresini belirtir. Servolarda aşırı titreşim olursa bu değeri arttırmanız gerekmektedir.

 

 

 

#include <Servo.h> //Servo kütüphanesi
 
Servo horizontal;
int servoh = 180;
 
int servohLimitHigh = 180;
int servohLimitLow = 10;
Servo vertical;
int servov = 45;
 
int servovLimitHigh = 175;
int servovLimitLow = 25;
// LDR pin connections
// name = analogpin;
int ldrlt = 3; //LDR sol üst
int ldrrt = 2; //LDR sağ üst
int ldrld = 5; //LDR sol alt
int ldrrd = 4; //LDR sağ alt
 
void setup()
{
Serial.begin(9600);
// servo connections
// name.attacht(pin);
horizontal.attach(9);
vertical.attach(10);
horizontal.write(90);
vertical.write(90);
delay(3000);
}
 
void loop()
{
int lt = analogRead(ldrlt); // sol üst
int rt = analogRead(ldrrt); // sağ üst
int ld = analogRead(ldrld); // sol alt
int rd = analogRead(ldrrd); // sağ alt
 
// int dtime = analogRead(4)/20;
 int tol = analogRead(0)/4;
int dtime = 100;
//int tol = 50;
 
int avt = (lt + rt) / 2; // average value top
int avd = (ld + rd) / 2; // average value down
int avl = (lt + ld) / 2; // average value left
int avr = (rt + rd) / 2; // average value right
 
int dvert = avt - avd; // check the diffirence of up and down
int dhoriz = avl - avr;// check the diffirence og left and rigt
 
 
Serial.print(avt);
Serial.print(" ");
Serial.print(avd);
Serial.print(" ");
Serial.print(avl);
Serial.print(" ");
Serial.print(avr);
Serial.print(" ");
Serial.print(dtime);
Serial.print(" ");
Serial.print(tol);
Serial.println(" ");
 
 
if (-1*tol > dvert || dvert > tol)
{
if (avt > avd)
{
servov = ++servov;
if (servov > servovLimitHigh)
{
servov = servovLimitHigh;
}
}
else if (avt < avd)
{
servov= --servov;
if (servov < servovLimitLow) { servov = servovLimitLow; } } vertical.write(servov); } if (-1*tol > dhoriz || dhoriz > tol)
{
if (avl > avr)
{
servoh = --servoh;
if (servoh < servohLimitLow)
{
servoh = servohLimitLow;
}
}
else if (avl < avr) { servoh = ++servoh; if (servoh > servohLimitHigh)
{
servoh = servohLimitHigh;
}
}
else if (avl = avr)
{
// nothing
}
horizontal.write(servoh);
}
delay(dtime);
 
}

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , ,
Eklenme Tarihi: 6 Ağustos 2017

Konu hakkında yorumunuzu yazın

Güneş Takip Sistemi #Arduino Solar Tracker (11 Yorum)

  1. Merhabalar proje hakkında tüm malzemelerimi aldım mekanik tasarıma başlayacam fakat güneş paneli işe zemin arasındakil siyah mekanizmayı nerden TEM’in edebilirim

  2. Merhabalar öncelikle emeğinize sağlık szileden rica ldrye giden enerjiyi ve motoru 5vtan 9 v çıkartan devre kartının çizimini bizimle paylaşmanız

    • 9voltu 5volta indiren. 7805 kullanacaksınız. Kullan mı basit ve nette bir çok örneğini göreceksiniz.

    • orda kullanılan 2 adet potans değeri ve ne sebeple kullanılır bağlantısı nasıldır güneş paneli enerjisini nasıl aküye veya power banka aktarabilirim.

  3. Devred ve kodlar aynı şekilde kurdum ,ancak çalışmasında sıkıntı oldu , yardımcı olur musunuz acaba ?

  4. hocamız dc motorla yapmamızı söyledi fakat yazılım la bir bilgimiz olmadığı için nasıl bir yol izliyeceğimizi bilmiyoruz servo motor olsa onu yaparız ama büyük panel olucağı için servo motor kulanmıcaz

  5. Bı sorum olucakti bizim panel daha büyük olucak ve dc motorla çalıştır caz Arduino bunu yazılımı nasıl olucak bı bilginiz var mı

    • Step motor kullana bilir siniz. Dc motor verimli olmayabilir.Kontrolü zor olabilir. Kullanilan motora görede yazılım güncellenmeli