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
- Arduino nano (1 adet)
- Orta boy breadboard (1 adet)
- 5 mm ldr (4 adet)
- Servo motor (2 adet)
- Gerektiği kadar jumper kablo
- 10K direnç (6 adet)
- Güneş paneli
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.
İ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.
Daha sonra y ekseni servosunun montajı var. Servoyu yanında gelen vidalar ile fotoğraflardaki gibi montajlayınız.
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.
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.,
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.
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.
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.
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.
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 🙂
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