back to top

Arduino İle Akıllı Güneş Takip Sistemi Yapalım

Herkese selam,


Muhtemelen siz de bazı evlerin çatısında güneş panelleri görmüşsünüzdür. Eskiden çok yaygın olmayan güneş panelleri, devlet teşviki sayesinde oldukça popüler olmaya başladı. Çok az bakım ve onarım gerektirdiğinden, bir eve veya binaya güneş paneli sistemi kurmak oldukça mantıklıdır.


Güneş panellerinden yüksek verim akmak için güneşe 45 derece bakması gerekmektedir. Ancak sabit güneş panellerinde güneş hareket etiği için günün bazı saatleri yeterince verimli çalışmazlar. Bu yüzden makerlerin geliştirdiği güneş takip sistemi oldukça kullanışlıdır.

Bizim anlatacağımız projeyi prototip olarak düşünebiliriz. Daha büyük güneş paneli ve motorlar kullanarak bu sistemin daha verimli bir versiyonunu yapabilirsiniz.

Hadi öyleyse projeyi yapmaya geçelim 🙂

Güneş Takip Sistemi (Solar Tracker) Yapımı

Bu yazımızda yapacağımız projeyi, sizin için set haline getirdik. Güneş takip proje setini robotistan’dan güvenli bir şekilde satın alabilirsiniz.

Gerekli Malzemeler

Projede kullanacağımız gerekli mekanik parçalar ahşap malzemeden yapılmıştır. Bunun sebebi sistemin hafif olması, motorlara fazla yük binmemesidir. Kullanacağımız parçaların fotoğrafı alt tarafta bulunmaktadır.

Güneş takipi sistemi ahşap parçaları
Güneş takipi sistemi ahşap parçaları

İlk önce x servosunun takılması var. Bu projeyi yaparken mekanik parçaları toplamanın herhangi bir sırası yoktur, istediğiniz sırada toplayabilirsiniz. Ayrıca istediğiniz gibi geliştirebilirsiniz. Ama belli bir sırada gitmek gerekirse fotoğrafları takip ederek sırasıyla montajı gerçekleştirebilirsiniz.

Alt tarafta bulunan fotoğrafları sırayla takip ederek x sevosunu montajlayabilirsiniz.

Güneş takip sistemi montaj işlemi

Daha sonra y ekseni servosunun montajı var. Servoyu yanında gelen vidalar ile fotoğraflardaki gibi montajlayınız.

y ekseni montajı

Sıradaki kısım da servo motor başlıklarını fotoğraflarda gösterildiği gibi vidalayın. Dikkat etmeniz gereken şey başlığın vidalarını çok fazla sıkmayın, kolayca kırılabiliyorlar.

Servo başlıklarının takılması

Buraya kadar bütün işlemleri yaptıysanız, sırada taban ve merkezi birleştirme işlemi var. Sırasıyla fotoğrafta göründüğü gibi montajlıyoruz.,

Taban parçasının montajı

Son olarak üst plakayı ana gövdeye montajı var. Fotoğraflarda gözüken LDR’ler PCB şeklindedir. Biz projede 5 mm LDR kullanacağız. Üst plakanın montajı için fotoğraflardaki işlemleri sırayla uyguluyoruz.

Ana gövde montajı

Devre Kurulumu

Mekanik kısımların kurulumları bittiğine göre elektronik devreyi kurmaya geçebiliriz. Devremizi arduino nano ve orta boy board ile yapacağız, çünkü devrenin boyu gereksiz yere büyük olsun istemiyoruz.

Devreyi board üstüne devre şemasında gördüğünüz gibi kurunuz. LDR’lerin bacaklarını dişi erkek jumper kablo ile a0, a1, a2, a3 analog giriş pinlerine bağlayınız. Servo motorları da erkek erkek jumper kablo ile 9. ve 10. dijital pinlere devre şemasındaki gibi bağlayınız.

Güneş takip sistemi devre şeması

Devre kurulumunu yaptıktan sonra arduinoya aşağıda paylaştığım kodu yüklemeniz yeterli

// ***ROBOTİSTAN***
#include <Servo.h> //Servo kütüphanesi
 
// 180 horizontal MAX
Servo horizontal;
int servoh = 180;
 
int servohLimitHigh = 180;
int servohLimitLow = 65;
Servo vertical;
int servov = 45;
 
int servovLimitHigh = 80;
int servovLimitLow = 15;
// LDR pin connections
// name = analogpin;
int ldrlt = 0; //LDR sol üst
int ldrrt = 1; //LDR sağ üst
int ldrld = 2; //LDR sol alt
int ldrrd = 3; //LDR sağ alt
 
void setup()
{
Serial.begin(9600);
// servo connections
// name.attacht(pin);
horizontal.attach(9);
vertical.attach(10);
horizontal.write(180);
vertical.write(45);
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(5)/4;
int dtime = 10;
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);
 
}

Güneş panelinden elde etiğiniz enerjiyi kullanmak sizin hayal gücünüze kalmış. İster depolayın, ister pil şarj edin ister arduino’nuzu besleyin. Yani güneş panelinizin gücüne göre yapmak istedikleriniz size bağlıdır.
Örnek olması için set içeriğinde gelen buzzer ve led ile iki tane devre şeması çizdim.

Örnek devre şeması

Aşağıdaki devre örneğini de yapabilirsiniz. Ama güneş panelinin voltajı 5 voltun altına düşmemesi lazım. Yoksa piliniz stabil şarj olmayacaktır. O yüzden pil şarj modülünün önüne voltaj yükseltici devre koymanız gerekebilir.

Güneş paneli pil şarj devresi

Bu yazımızda yaptığımız projeyi, sizin için set haline getirdik. Güneş takip proje setini robotistan’dan güvenli bir şekilde satın alabilirsiniz.

Yazımızda geçen bilgiler işinize yaradıysa, görüş ve önerilerinizi yorum yaparak iletmenizden mutluluk duyarız. Bütün yorumları okuduğumuzu unutmayın 🙂

Yasin TAŞCIOĞLU
Yasin TAŞCIOĞLUhttps://yasintascioglu.com/
Robotik ve gömülü sistemler alanında projeler geliştiriyorum. 3 Boyutlu yazıcılar için modeller çiziyor ve baskılar alıyorum, aynı zaman da 3d yazıcı tamiri ve upgrate yapıyorum. Yazılım alanında kendimi geliştiriyor ve bilgilerimi insanlara aktarmayı seviyorum.

Son Çıkan Yazılar

1 Yorum

  1. hocam nano 2 tane servoyu kaldırmıyor 1 tanesi bağlıyken çalışıyor ama 2 ye gücü yetmiyor dişardan pil bağlasam stabil çalışmayacağını düşünüyorum ne yapabilirim

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz