Yapmış olduğumuz PİC kontrollü güneş paneli hızla yaygınlaşmakta olan güneş enerjili sistemlerden en yüksek enerji üretilmesini sağlaması açısından önem taşıyan bir devredir. Aslında bu devre güneş enerjisinden çok mikro kontrolör ağırlıklıdır çünkü her geçen gün mikro kontrolörler hayatımızın vazgeçilmezleri arsına girmektedir. En basitinden bir çamaşır makinesini incelersek bir asenkron motoru kontrol eden mikro kontrolör işimizi kolaylaştırmakla kalmayıp aynı zamanda zamandan, sudan, enerjiden, deterjandan… tasaruf etmiş oluruz.
Hazırlayanlar:Mete ACAR ve Taylan ŞENDUR
Bu devreyi aynı zamanda uydu konum ayarında yada odaklama gerektiren yerlerde modifiye edilerek kullanılabilir.
Devremizin çalışma mantığını kısaca özetleyecek olursak: Program ilk aşladığın da güneş paneli dik konumda bulunmaktadır. A motoru kendi ekseni etrafında 360 dereceyi 48 adımda 7.5 derece hassasiyetle tamamlayarak her adımda panelin üretmiş olduğu gerilimleri pic’in A/D girişine gönderir. Bu arada güneş panelinin hangi konumda ve hangi gerilim seviyesinde olduğunu sürekli olarak LCD den takip edebiliriz.
Pic her adımdaki gerilimlerden en yüksek olanını hafızasında tutar daha sonra en yüksek gerilim değerindeki adıma mantıklı olarak hangi yönden yakın ise o yönden dönerek ulaşır. Daha sonra B motoru 180 dereceyi 24 adımda 7.5 derece hassasiyetle tarayarak en yüksek gerilim değerine geri döner.15 dakikalık bir gecikmeden sonra B motoru paneli dikey konumdaki ilk haline getirir ve program tekrar yeniden başlar ki güneşin konumu yeniden tayin edilmeye çalışılır.
Mikro kontrolörler her geçen gün daha fazla alanda kullanılarak hayatımızda her yerde kullanılmaktadır. Daha kolay ve ucuz olarak çıkmaktadır. Bizde devremizde Micro Chip firmasının üretmiş olduğu Pic16f877 serisi bir entegre kullandık. Bu entegrenin bize sağlamış olduğu kolaylıkları sıralarsak başta yaygın ucuz ve kullanım kolaylığı olmak üzer 33 adet çıkış girişi olan ve Analog Dijital dönüştürücüsü olan 8kB program belleği sahip mükemmel bir entegredir.
PIC Serisi mikroişlemciler MICROCHIP firması tarafından geliştirilmiş ve üretim amacı: Çok fonksiyonlu logic uygulamalarının hızlı ve ucuz bir Mikroişlemci ile yazılım yoluyla karşılanmasıdır.
. İlk olarak 1994 yılında 16 bitlik ve 32 bitlik büyük işlemcilerin giriş ve çıkışlarındaki yükü azaltmak ve denetlemek amacıyla çok hızlı ve ucuz bir çözüme ihtiyaç duyulduğu için geliştirilmiştir.
PIC serisi tüm işlemciler herhangi bir ek bellek veya giriş/çıkış elemanı gerektirmeden sadece 2 adet kondansatör, 1 adet direnç ve bir kristal ile çalıştırılabilmektedir. Tek bacaktan 40 mA akım çekilebilmekte ve entegre toplamı olarak 150 mA akım akıtma kapasitesine sahiptir. Entegrenin 4 Mhz osilator frekansında çektiği akım çalışırken 2 mA stand-by durumunda ise 20uA kadardır.
PIC 16F877’nin fiyatının 2.5 USD$ civarında olduğu düşünülürse bu işlemcinin
avantajı kolayca anlaşılır. 16F877’nin minimum konfigürasyonlu bir devre şeması ve de 33 adet veri giriş-çıkışlarını sağlayan portları detaylı bir şekilde açıklayalım.
PIC16F877′ NİN MİNİMUM DONANIMLI KONFİGÜRASYONU
PIC16F877 portlarının fonksiyonları;
PIC16F877’nin tüm portları her biri bağımsız olarak sayısal giriş veya çıkış olarak kullanılabilme imkanı vermektedir. Bu portlar kendi aralarında beş ana guruba ayrılmaktadır. (PORTA, PORTB, PORTC, PORTD, PORTE) Şimdi bu portları inceleyelim.
PORTA: Bu port RA0, RA1, RA2, RA3, RA4, RA5 olmak üzere 6 bitliktir. Bu bitler analog / sayısal çevirici olarak konfigüre edilebilmektedir.
PORTB: RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7 olmak üzere 8 bit genişliğindedir. B portunun tüm bacakları dahili bir dirençle VDD’ye bağlanmıştır. Fakat bu özellik uygulamalarda göz önünde bulundurulmaz. Bu özellik ancak OPTION yazmacının 7. bitini 0 yaparak aktif hale getirilir.
PORTC: RC0, RC, RC2, RC3, RC4, RC4, RC5, RC6, RC7 olmak üzere 8 bit kapasitelidir. SPI, Doğrudan bilgisayarla iletişim yapma,Yakalama/Karşılaştırma ve PWM gibi özel fonksiyonlar yazmaçların ayarlanmasıyla bu portta kullanılır.
PORTD: RD0, RD1, RD2, RD3, RD4, RD5, RD6, RD7 olmak üzere 8 bitliktir. Bütün portlar Schmitt Trigger girişlidir
BSF STATUS,RP0 ; Bank 1
BCF STATUS,RP1 ; Bank 1
MOVLW B’00000000′
MOVWF TRISC
BCF STATUS,RP0 ; Bank 0
BCF STATUS,RP1 ; Bank 0
PORTE: RE0, RE1, RE2 olmak üzere 3 bit liktir. Bu bacaklarında Schmitt Trigger girişleri vardır.Ayrıca her bir bacak analog / sayısal çevirici olarakta kullanımaktadır. Eğer PORTD yi TRISE yazmacının PSPMODE bitini 1 yapıp 8bit genişliğinde mikro işlemci portu olarak kullanırsak (parelel slave port) PORTE bacakları PORTD nin bağlandığı mikroişlemci bus nında sırasıyla OKUMA,YAZMA,CHIP SELECT kontrol girişleri olarak kullanılır.
GÜNEŞ PANELİ
Güneş enerjisi, güneşin çekirdeğinde yer alan füzyon süreci ile açığa çıkan ışıma enerjisidir, güneşteki hidrojen gazının helyuma dönüşmesi şeklindeki füzyon sürecinden kaynaklanır. Bu enerjinin dünyaya gelen küçük bir bölümü dahi, insanlığın mevcut enerji tüketiminden kat kat fazladır. Güneş enerjisinden yararlanma konusundaki çalışmalar özellikle 1970’lerden sonra hız kazanmış, güneş enerjisi sistemleri teknolojik olarak ilerleme ve maliyet bakımından düşme göstermiş, güneş enerjisi çevresel olarak temiz bir enerji kaynağı olarak kendini kabul ettirmiştir.
GÜNEŞ PİLLERİ – ( FOTOVOLTAİK PİLLER )
Güneş pilleri (fotovoltaik piller), yüzeylerine gelen güneş ışığını doğrudan elektrik enerjisine dönüştüren yarıiletken maddelerdir. Yüzeyleri kare, dikdörtgen, daire şeklinde biçimlendirilen güneş pillerinin alanları genellikle 100 cm² civarında, kalınlıkları ise 0,2-0,4 mm arasındadır.
Güneş pilleri fotovoltaik ilkeye dayalı olarak çalışırlar, yani üzerlerine ışık düştüğü zaman uçlarında elektrik gerilimi oluşur. Pilin verdiği elektrik enerjisinin kaynağı, yüzeyine gelen güneş enerjisidir.
Güneş enerjisi, güneş pilinin yapısına bağlı olarak % 5 ile % 20 arasında bir verimle elektrik enerjisine çevrilebilir.
Güç çıkışını artırmak amacıyla çok sayıda güneş pili birbirine paralel ya da seri bağlanarak bir yüzey üzerine monte edilir, bu yapıya güneş pili modülü ya da fotovoltaik modül adı verilir. Güç talebine bağlı olarak modüller birbirlerine seri ya da paralel bağlanarak bir kaç Watt’tan megaWatt’lara kadar sistem oluşturulur.
Güneş Pili Güneş Pili Modülü
Güneş Pillerinin Yapımında Kullanılan Malzemeler : Güneş pilleri pek çok farklı maddeden yararlanarak üretilebilir. Günümüzde en çok kullanılan maddeler şunlardır:
Kristal Silisyum: Önce büyütülüp daha sonra 200 mikron kalınlıkta ince tabakalar halinde dilimlenen Tekkristal Silisyum bloklardan üretilen güneş pillerinde laboratuvar şartlarında %24, ticari modüllerde ise %15’in üzerinde verim elde edilmektedir. Dökme silisyum bloklardan dilimlenerek elde edilen Çokkristal Silisyum güneş pilleri ise daha ucuza üretilmekte, ancak verim de daha düşük olmaktadır. Verim, laboratuvar şartlarında %18, ticari modüllerde ise %14 civarındadır.
Galyum Arsenit (GaAs): Bu malzemeyle laboratuvar şartlarında %25 ve %28 (optik yoğunlaştırıcılı) verim elde edilmektedir. Diğer yarıiletkenlerle birlikte oluşturulan çok eklemli GaAs pillerde %30 verim elde edilmiştir. GaAs güneş pilleri uzay uygulamalarında ve optik yoğunlaştırıcılı sistemlerde kullanılmaktadır.
İnce Film:
Amorf Silisyum: Kristal yapı özelliği göstermeyen bu Si pillerden elde edilen verim %10 dolayında, ticari modüllerde ise %5-7 mertebesindedir. Günümüzde daha çok küçük elektronik cihazların güç kaynağı olarak kullanılan amorf silisyum güneş pilinin bir başka önemli uygulama sahasının, binalara entegre yarısaydam cam yüzeyler olarak, bina dış koruyucusu ve enerji üreteci olarak kullanılabileceği tahmin edilmektedir.
Kadmiyum Tellürid (CdTe): Çokkristal yapıda bir malzeme olan CdTe ile güneş pili maliyetinin çok aşağılara çekileceği tahmin edilmektedir. Laboratuvar tipi küçük hücrelerde %16, ticari tip modüllerde ise %7 civarında verim elde edilmektedir.
Bakır İndiyum Diselenid (CuInSe2): Bu çokkristal pilde laboratuvar şartlarında %17,7 ve enerji üretimi amaçlı geliştirilmiş olan prototip bir modülde ise %10,2 verim elde edilmiştir.
Optik Yoğunlaştırıcılı Hücreler: Gelen ışığı 10-500 kat oranlarda yoğunlaştıran mercekli veya yansıtıcılı araçlarla modül verimi %17’nin, pil verimi ise %30’un üzerine çıkılabilmektedir. Yoğunlaştırıcılar basit ve ucuz plastik malzemeden yapılmaktadır.
Güneş Pili Sistemleri
Güneş pilleri, elektrik enerjisinin gerekli olduğu her uygulamada kullanılabilir. Güneş pili modülleri uygulamaya bağlı olarak, akümülatörler, invertörler, akü şarj denetim aygıtları ve çeşitli elektronik destek devreleri ile birlikte kullanılarak bir günes pili sistemi (fotovoltaik sistem) oluştururlar. Bu sistemler, özellikle yerleşim yerlerinden uzak, elektrik şebekesi olmayan yörelerde, jeneratöre yakıt taşımanın zor ve pahalı olduğu durumlarda kullanılırlar. Bunun dışında dizel jeneratörler ya da başka güç sistemleri ile birlikte karma olarak kullanılmaları da mümkündür.
Bu sistemlerde yeterli sayıda güneş pili modülü, enerji kaynağı olarak kullanılır. Güneşin yetersiz olduğu zamanlarda ya da özellikle gece süresince kullanılmak üzere genellikle sistemde akümülatör bulundurulur. Güneş pili modülleri gün boyunca elektrik enerjisi üreterek bunu akümülatörde depolar, yüke gerekli olan enerji akümülatörden alınır. Akünün aşırı şarj ve deşarj olarak zarar görmesini engellemek için kullanılan denetim birimi ise akünün durumuna göre, ya güneş pillerinden gelen akımı ya da yükün çektiği akımı keser.
Şebeke uyumlu alternatif akım elektriğinin gerekli olduğu uygulamalarda, sisteme bir invertör eklenerek akümülatördeki DC gerilim, 220 V, 50 Hz.lik sinüs dalgasına dönüştürülür. Benzer şekilde, uygulamanın şekline göre çeşitli destek elektronik devreler sisteme katılabilir. Bazı sistemlerde, güneş pillerinin maksimum güç noktasında çalışmasını sağlayan maksimum güç noktası izleyici cihazı bulunur. Aşağıda şebekeden bağımsız bir güneş pili enerji sisteminin şeması verilmektedir.
Şebeke bağlantılı güneş pili sistemleri yüksek güçte-satral boyutunda sistemler şeklinde olabileceği gibi daha çok görülen uygulaması binalarda küçük güçlü kullanım şeklindedir. Bu sistemlerde örneğin bir konutun elektrik gereksinimi karşılanırken, üretilen fazla enerji elektrik şebekesine satılır, yeterli enerjinin üretilmediği durumlarda ise şebekeden enerji alınır. Böyle bir sistemde enerji depolaması yapmaya gerek yoktur, yalnızca üretilen DC elektriğin, AC elektriğe çevrilmesi ve şebeke uyumlu olması yeterlidir.
Güneş pili sistemlerinin şebekeden bağımsız (stand-alone) olarak kullanıldığı tipik uygulama alanları aşağıda sıralanmıştır.
– Haberleşme istasyonları, kırsal radyo, telsiz ve telefon sistemleri
– Petrol boru hatlarının katodik koruması
– Metal yapıların (köprüler, kuleler vb) korozyondan koruması
– Elektrik ve su dağıtım sistemlerinde yapılan telemetrik ölçümler, hava gözlem istasyonları
– Bina içi ya da dışı aydınlatma
– Dağevleri ya da yerleşim yerlerinden uzaktaki evlerde TV, radyo, buzdolabı gibi elektrikli aygıtların çalıştırılması
– Tarımsal sulama ya da ev kullanımı amacıyla su pompajı
– Orman gözetleme kuleleri
– Deniz fenerleri
– İlkyardım, alarm ve güvenlik sistemleri
– Deprem ve hava gözlem istasyonları
– İlaç ve aşı soğutma
UYGULAMA ÖRNEKLERİ
Çatısı Güneş Pili Kaplı Ev Güneş Pilleri ile Sokak Aydınlatması
Karayollarında Kullanımı Şebekeye Elektrik Veren Güneş Pili (PV)
GÜNEŞ PİLLERİNİN YAPISI VE ÇALIŞMASI
Günümüz elektronik ürünlerinde kullanılan transistörler, doğrultucu diyotlar gibi güneş pilleri de, yarı-iletken maddelerden yapılırlar. Yarı-iletken özellik gösteren birçok madde arasında güneş pili yapmak için en elverişli olanlar, silisyum, galyum arsenit, kadmiyum tellür gibi maddelerdir.
Yarı-iletken maddelerin güneş pili olarak kullanılabilmeleri için n ya da p tipi katkılanmaları gereklidir. Katkılama, saf yarıiletken eriyik içerisine istenilen katkı maddelerinin kontrollü olarak eklenmesiyle yapılır. Elde edilen yarı-iletkenin n ya da p tipi olması katkı maddesine bağlıdır. En yaygın güneş pili maddesi olarak kullanılan silisyumdan n tipi silisyum elde etmek için silisyum eriyiğine periyodik cetvelin 5. grubundan bir element, örneğin fosfor eklenir. Silisyum’un dış yörüngesinde 4, fosforun dış yörüngesinde 5 elektron olduğu için, fosforun fazla olan tek elektronu kristal yapıya bir elektron verir. Bu nedenle V. grup elementlerine “verici” ya da “n tipi” katkı maddesi denir.
P tipi silisyum elde etmek için ise, eriyiğe 3. gruptan bir element (alüminyum, indiyum, bor gibi) eklenir. Bu elementlerin son yörüngesinde 3 elektron olduğu için kristalde bir elektron eksikliği oluşur, bu elektron yokluğuna hol ya da boşluk denir ve pozitif yük taşıdığı varsayılır. Bu tür maddelere de “p tipi” ya da “alıcı” katkı maddeleri denir. P ya da n tipi ana malzemenin içerisine gerekli katkı maddelerinin katılması ile yarıiletken eklemler oluşturulur. N tipi yarıiletkende elektronlar, p tipi yarıiletkende holler çoğunluk taşıyıcısıdır. P ve n tipi yarıiletkenler biraraya gelmeden önce, her iki madde de elektriksel bakımdan nötrdür.
Yani p tipinde negatif enerji seviyeleri ile hol sayıları eşit, n tipinde pozitif enerji seviyeleri ile elektron sayıları eşittir. PN eklem oluştuğunda, n tipindeki çoğunluk taşıyıcısı olan elektronlar, p tipine doğru akım oluştururlar. Bu olay her iki tarafta da yük dengesi oluşana kadar devam eder. PN tipi maddenin ara yüzeyinde, yani eklem bölgesinde, P bölgesi tarafında negatif, N bölgesi tarafında pozitif yük birikir. Bu eklem bölgesine “geçiş bölgesi” ya da “yükten arındırılmış bölge” denir. Bu bölgede oluşan elektrik alan “yapısal elektrik alan” olarak adlandırılır.
Yarıiletken eklemin güneş pili olarak çalışması için eklem bölgesinde fotovoltaik dönüşümün sağlanması gerekir. Bu dönüşüm iki aşamada olur, ilk olarak, eklem bölgesine ışık düşürülerek elektron-hol çiftleri oluşturulur, ikinci olarak ise, bunlar bölgedeki elektrik alan yardımıyla. birbirlerinden ayrılır
Yarıiletkenler, bir yasak enerji aralığı tarafından ayrılan iki enerji bandından oluşur. Bu bandlar valans bandı ve iletkenlik bandı adını alırlar. Bu yasak enerji aralığına eşit veya daha büyük enerjili bir foton, yarıiletken tarafından soğurulduğu zaman, enerjisini valans banddaki bir elektrona vererek, elektronun iletkenlik bandına çıkmasını sağlar. Böylece, elektron-hol çifti oluşur. Bu olay, pn eklem güneş pilinin ara yüzeyinde meydana gelmiş ise elektron-hol çiftleri buradaki elektrik alan tarafından birbirlerinden ayrılır.
Bu şekilde güneş pili, elektronları n bölgesine, holleri de p bölgesine iten bir pompa gibi çalışır. Birbirlerinden ayrılan elektron-hol çiftleri, güneş pilinin uçlarında yararlı bir güç çıkışı oluştururlar. Bu süreç yeniden bir fotonun pil yüzeyine çarpmasıyla aynı şekilde devam eder. Yarıiletkenin iç kısımlarında da, gelen fotonlar tarafından elektron-hol çiftleri oluşturulmaktadır. Fakat gerekli elektrik alan olmadığı için tekrar birleşerek kaybolmaktadırlar.
STEP (ADIM) MOTORLAR
Açısal konumu adımlar halinde değiştiren, çok hassas sinyallerle sürülen motorlara adım motorları denir. Adından da anlaşılacağı gibi adım motorları belirli adımlarla hareket ederler. Bu adımlar, motorun sargılarına uygun sinyaller gönderilerek kontrol edilir.
Herhangi bir uyartımda, motorun yapacağı hareketin ne kadar olacağı, motorun adım açısına bağlıdır. Adım açısı motorun yapısına bağlı olarak 90o , 45 o , 18 o , 7.5 o , 1.8 o veya daha değişik açılarda olabilir. Motora uygulanacak sinyallerin frekansı değiştirilerek motorun hızı kontrol edilebilir. Adım motorlarının dönüş yönü uygulanan sinyallerin sırası değiştirilerek saat ibresi yönü (CW) veya saat ibresinin tersi yönünde (CCW) olabilir.
Adım motorlarının hangi yöne doğru döneceği, devir sayısı, dönüş hızı gibi değerler mikroişlemci veya bilgisayar yardımı ile kontrol edilebilir. Sonuç olarak adım motorlarının hızı, dönüş yönü ve konumu her zaman bilinmektedir. Bu özelliklerinden dolayı adım motorları çok hassas konum kontrolu istenen yerlerde çok kullanılırlar. Adım motorlarının kullanıldıkları yerlere örnek olarak, endüstriyel kontrol teknolojisi içerisinde bulunan bazı sistemler, robot sistemleri, takım tezgahlarının ayarlama ve ölçmeleri verilebilir. Ayrıca, adım motorları konumlandırma sistemlerinde ve büro makinaları ile teknolojisi alanında da kullanma alanı bulmaktadır.
Adım motorlarının bu kadar çok kullanılma alanı bulmasının nedeni bu motorların bazı avantajlara sahip omasıdır. Bu avantajlar aşağıdaki gibi sıralanabilir.
Geri beslemeye ihtiyaç göstermezler. Açık döngülü olarak kontrol edilebilirler.
Motorun hareketlerinde konum hatası yoktur.
Sayısal olarak kontrol edilebildiklerinden bilgisayar veya mikroişlemci gibi elemanlarla kontrol edilebilirler.
Mekanik yapısı basit olduğundan bakım gerektirmezler.
Herhangi bir hasara yol açmadan defalarca çalıştırılabilirler.
Adım motorlarının bu avantajları yanında bazı dezavantajları da aşağıdaki şekilde sıralanabilir.
Adım açıları sabit olduğundan hareketleri sürekli değil darbelidir.
Sürtünme kaynaklı yükler, açık döngülü kontrolda konum hatası meydana getirirler.
Elde edilebilecek güç ve moment sınırlıdır.
2. Adım Motoru Çeşitleri
Kullanımda olan birçok elektrik motorunda olduğu gibi adım motorları da makinanın yapısına ve çalışmasına göre sınıflandırılabilir.
Değişken Relüktanslı (DR) Adım Motoru
Değişken relüktanslı adım motoru en temel adım motoru tipidir. Bu motorun temel prensiplerinin daha iyi anlaşılabilmesi için kesit görünüşü Şekil 1′ de gösterilmiştir. Bu üç-fazlı motorun 6 adet stator kutbu vardır. Birbirine 180? açılı olan herhangi iki stator kutbu aynı faz altındadır. Bunun anlamı, karşılıklı kutupların üzerindeki sargıların seri veya paralel olması demektir. Rotor 4 adet kutba sahiptir. Stator ve rotor nüveleri genellikle ince tabakalı silisli çelikten yapılırlar. Düşük manyetomotor kuvveti uygulansa bile, stator ve rotor malzemeleri yüksek geçirgenlikli ve içlerinden yüksek mağnetik akı geçecek kapasitede olmalıdır.
Şekil 1. DR adım motoru
.Sabit Mıknatıslı (SM) Adım Motorları
Rotorunda sabit mıknatıs kullanılan adım motoruna sürekli mıknatıslı adım motoru adı verilir. 4-fazlı bir SM adım motorunun bir örneği Şekil 2’de gösterilmiştir. Silindirik sabit mıknatıs rotor gibi çalışır, etrafında ise herbiri üzerine sargılar sarılı olan 4 adet kutbun bulunduğu stator vardır.
Şekil 2 4-fazlı SM adım motoru
Burada C ile adlandırılan terminal, herbir fazın birer uçlarının birleştirilerek güç kaynağının pozitif ucuna bağlandığı ortak uçtur. Eğer fazlar Faz1, Faz2, Faz3, Faz4 sırasıyla uyartılırsa; rotor saat ibresi yönünde (CW) hareket edecektir. Bu motorda, adım açısının 90° olduğu açıkça görülmektedir. SM adım motorunda adım açısını azaltmak için, manyetik kutup sayısı ile birlikte stator kutup sayısı arttırılmalıdır. Fakat her ikisininde bir sınırı vardır. Buna alternatif olarak küçük adım açılarına sahip karışık yapıdaki SM adım motorları kullanılmaktadır.
Karışık Yapılı (Hybrid) Adım Motoru
Rotorunda sabit mıknatıs bulunan bir diğer adım motoru da karışık yapılı adım motorudur. Hybrid kelimesi motorun sabit mıknatıslı ve değişken relüktanslı motorların prensiplerinin birleşmesinden dolayı verilmiştir. Günümüzde çok geniş bir kullanım alanına sahip olan Hybrid adım motorunun yapısı Şekil 3’te verilmiştir. Statorun nüve yapısı değişken relüktanslı adım motorunun aynısı veya çok benzeridir. Fakat sargıların bağlantısı değişken relüktanslı motorunkinden farklıdır.
Değişken relüktanslı adım motorunda bir kutupta bir fazın iki sargısından sadece bir tanesi sarılmış iken, 4 fazlı karışık yapılı adım motorunda iki farklı fazın sargıları aynı kutupta sarılmıştır. Bundan dolayı bir kutup sadece bir fazın altında değildir. Karışık yapılı adım motorlarında moment, diş yapılarındaki hava aralıklarının manyetik alanlarının etkileşimi ile oluşturulur. Bu tip motorlarda sürekli mıknatıs, sürücü kuvveti oluşturmak için önemli rol oynamaktadır. Fakat karışık yapılı adım motorundaki rotor ve stator dişlerinin küçük adım açıları elde etmek için dizayn edildiği bilinmelidir.
Karışık yapılı adım motorunun yapısı
3. Adım Motorlarına Ait önemli Parametreler
Çözünürlük
Çözünürlük; bir devirdeki adım sayısı veya dönen motorlar için adım açısı (derece), lineer motorlar için ise adım uzunluğu (mm) olarak tanımlanır. Bu sabit değer, üretim sırasında tesbit edilen bir büyüklüktür. Bir adım motorunun adım büyüklüğü, çeşitli kontrol düzenleri ile değiştirilebilir. Yarım adım çalışmada adım büyüklüğü normal değerinin (çözünürlüğünün) yarısına indirilir.
Doğruluk
Bir adım motorunun adım konumu, tasarım ve üretim sırasında biraraya getirilen birçok parçanın boyutları ile belirlenir. Bu parçaların boyutlarındaki toleranslar ve dahili sürtünmeler adımların nominal denge konumlarında da toleranslara neden olurlar. Bu durum adım motorunun doğruluğu olarak isimlendirilir ve belli bir konumdaki maksimum açısal hatanın nominal tek adım değerinin yüzdesi olarak ifade edilmiş halidir. Klasik adım motorlarında bu hata % ? 1 ile % ? 5 arasında değişmektedir. Sürtünme momenti veya kuvveti nedeniyle oluşan konum hataları bu doğrulukla ilgisi olmayan, daha az veya çok olabilen rastgele hatalardır. Ancak her iki tip hata toplanarak sistemin toplam hatası elde edilir.
Tutma momenti
Tutma momenti, bir adım motorunun en temel moment karekteristiğidir. Tutma momenti eğrisi, motorun ürettiği tutma momentinin rotor konumuna bağlı olarak değişimini veren eğridir. Eğrinin merkezi motorun bir fazının uyartılmış olduğu durumda rotorun kararlı adım konumuna karşılık düşer. Bu eğri, rotor adım pozisyonundan uzaklaştırılırsa, motorda endüklenecek olan ve rotoru sıfır momentli adım pozisyonuna geri getirmeye çalışan momentin (tutma momenti) yönünü ve miktarını verir. Tutma momenti eğrisi, motorun tüm rotor konumları ve statik uyarma koşullarındaki ani momentini tam olarak tanımlamak için gereklidir. Diğer moment karakterisitikleri (statik ve dinamik) bu eğri baz alınarak elde edilebilir.
Tek adım tepkisi
Motor fazlarından biri uyarılmış durumdaysa motor kararlı bir adım konumundadır. Bu fazın uyartımı kesilip yeni bir faz uyartılırsa motor bir adım atacaktır. Rotor konumunun zamana göre bu değişimi tek adım tepkisi olarak tanımlanır. Tek adım tepkisi, motorun adım hareketinin hızını, tepkinin aşım ve salınım miktarını, adım açısının hassaslığını veren önemli bir karekteristiktir. Adım motorlarından maksimum performans elde edebilmek için tek adım tepkisindeki aşım ve salınımların azaltılması ve yerleşme zamanının kısaltılması gerekmektedir. Bu nedenle tek adım tepkisinin iyileştirilmesi adım motorlarının kontrolunda çok büyük öneme sahiptir.
Sürekli rejimde maksimum yük momenti eğrisi
Sürekli rejimde maksimum yük momenti/ hız eğrisi herhangi bir sabit dönüş hızında, rotor hareketinin giriş darbe dizisiyle olan senkronizasyonunu bozmadan ve rotorun durmasına neden olmadan sürekli halde motor miline uygulanabilecek maksimum yük momentini verir. Bu moment aynı zamanda, söz konusu hızda motorda meydana gelecek maksimum moment anlamına da gelmektedir. Klasik motorlarda bu eğriye karşılık gelebilecek bir karakteristik yoktur. Maksimum yük momenti eğrisi çalışma noktalarını göstermediği gibi bir transfer fonksiyonu eğrisi de değildir. Sadece, çalışma bölgesini sınırlar. Bu eğrinin sınırladığı bölge içinde herhangi bir noktada motor giriş darbe dizilerini kaybetmeden ve durma tehlikesi olmadan ilgili hız ve yük momenti ile çalışır. Sınırların dışına çıkıldığında bu durum değişebilir.
Kalkışta maksimum yük momenti eğrisi
Özellikle açık döngülü sistemlerde duran bir sistemi istenen pozisyona getirebilmek için motora uygulanan uyartım darbelerinin motor tarafından hiç kaçırılmadan takip edilmesini sağlamak çok önemlidir. Fakat, uygulanan uyartım sinyallerin sıklığı, motorun miline bağlı yükü sıfır hızından itibaren kaldırıp hızlandırmasına izin vermeyebilir. Bu yüzden adım motorları için, kalkışta maksimum yük momenti eğrileri tanımlanır. Şekil 4′ te sürekli rejimde maksimum yük momenti ve kalkışta maksimum yük momenti eğrileri gösterilmiştir.
Şekil 4 Sürekli rejimde ve kalkışta max. yük momenti/hız eğrileri
4. Adım Motorlarının Denetimi
Açık döngü denetim
Şekil 5′ te açık döngü denetim için blok diyagramı görülmektedir. Sayısal kontrol sinyalleri denetleyici tarafından üretilir ve sürücü devre tarafından yükseltilip adım motorunun sargılarına uygulanır. Eğer denetleyici olarak mikroişlemci veya bilgisayar kullanılırsa bu elemanların getirdiği esnekliklerden dolayı aynı denetleyici ile farklı adım motorları kontrol edilebilir. Kontrol edilecek adım motorları 3, 4 veya daha farklı faz sayısına sahip olabilir. Ayrıca kullanılacak uyartım metodu için tek-fazlı, iki-fazlı veya yarım adım uyartımlarından herhangi biri seçilebilir. Bu uyartım metotlarından hangisinin kullanılacağı daha önce de açıklandığı gibi motorun kullanılacağı sisteme bağlıdır.
Şekil 5. Açık döngülü denetim
Denetleyici tasarlanırken motorun cinsi ve yükün durumu gözönünde bulundurulmalıdır. Bu sırada meydana gelen sınırlamalar kalıcı veya geçici durum sınırlamaları olabilir. Açık döngülü denetimde motorun konumu bilinmediğinden dolayı motorun gönderilen bütün adım komutlarını yerine getirdiği varsayılmaktadır. Eğer uyartım hızı çok yüksek ise, motor adım komutlarından bir kısmını yerine getiremeyebilir. Bu durumda kalıcı bir hata meydana gelir. Bu tür hataların meydana gelmemesi için motor yükünün en büyük olduğu durum göz önüne alınarak hata yapılmayan en yüksek hız belirlenip, bu hızın üzerindeki hızlarda uyartım yapılmamalıdır.
Kapalı Döngü Denetim
Kapalı döngü sistemlerde ani rotor konumu sezilerek denetim birimine iletilir. Her adım komutu için bir önceki komutun gerçekleştirildiği adım bilgisi alınarak uygulanır. Bu nedenle motor ile denetleyici arasında herhangi bir adım kaybı olmaz. Kapalı döngü denetime bir örnek Şekil 6’da gösterilmiştir.
Şekil 6. Adım motorunun kapalı döngülü denetimi
İlk olarak geri sayıcıya hedef konum yüklenir. Daha sonra başla komutu verilerek adım komutlarının sıralayıcıya uygulanması sağlanır. Adım komutlarına bağlı olarak motor adım hareketi yapmaya başlar. İlk adım tamamlanınca, konum sezici geri sayıcıyı ve denetim birimlerini uyarır ve geri sayıcı değeri bir azalır. Eğer bu denetim açık döngülü yapılırsa, geri sayıcı adım komutlarının sayısını yine saklar fakat komutun uygulanıp uygulanmadığı bilinmez. Konum sezici, denetim birimine yeni adım komutu üretimi için sinyal gönderir.
Ağır yükler için adım komutları arası sürenin daha büyük olması nedeniyle adım komutlarının ard arda gelmesi istenmez. Yüke göre hız ayarlaması yapılır ve motor hedef konuma gelene kadar bu olaylar tekrarlanır. Adım motoru hedef konuma gelince denetim birimi dur komutu ile uyarılarak yeni adım komutu üretilmesi engellenir. Kapalı döngü sistemi, adım motorunu yük durumunu da göz önüne alarak uyartım sürelerini ayarlar ve en uygun hız profilinde çalıştırır.
Adım Motoru Sürücü Sistemleri
Şekil 7′ de bir adım motoru için gerekli olan sürücü devrenin blok diyagramı gösterilmiştir. Şekil 7.a’ da motorun lojik sıralayıcısı, Şekil 7.b’ de ise giriş kontrolörü gösterilmiştir.
a)Lojik sıralayıcının motora bağlantısı
b) Giriş kontrolörü
Şekil 7. Adım motoru sürücü sisteminin blok diyagramı
Lojik Sıralayıcı
Bu sistemde lojik sıralayıcı giriş kontrolöründen aldığı sinyali faz sayısına uygun sıralayarak motorun dönmesini sağlar. Sıralayıcı genellikle shift-register, NAND (ve değil), NOR( veya değil), NOT( değil) gibi lojik kapılardan oluşturulur. Özel amaçlı sıralayıcı için, J-K flip flop entegreleri ve lojik kapıların uygun kombinasyonları uygulanabilir. J-K flip-flop ve çeşitli lojik kapılar kullanılarak elde edilen sıralama devresi Şekil 8’de ve bu devrenin ürettiği sinyaller Şekil 9′ da gösterilmiştir.
Şekil 8. 4-fazlı adım motoru için lojik sıralayıcı
Şekil 9. Lojik sıralayıcının ürettiği sıralama
Sürücü devre
4-fazlı bir adım motorunu sürmek için örnek sürücü devre Şekil 10′ da gösterilmiştir. Adım motoru 4-fazlı karışık yapılı (Hybrid) adım motoru olup tam-adım ve her adımda iki faz uyartımlı olacak şekilde sürülmektedir. Sargıların uyartımı için her faza darlington çifti ve koruma diyotu içeren güç transistörleri kullanılmıştır. Motorların çalışması için gerekli olan enerji DA güç kaynağından sağlanmaktadır.
Normalde 4-fazlı motorun sürülmesi ve fazların sırayla enerjilenmesi için mikroişlemci yada bilgisayardan 4-bitlik sinyal elde etmek gerekmektedir. Burada ise fazların sıralanması lojik sıralayıcı kullanılarak sağlanmıştır. Böylece her bir motor için 4-bitlik çıkış yerine 2-bitlik bilgi yeterli olmaktadır. Lojik sıralayıcının sıralama yapması için bir clock sinyaline bir de yön sinyaline gerek vardır. Bilgisayar veya mikroişlemcinin yön sinyali çıkışı 1 seviyesinde ise motor ileri, 0 seviyesinde ise geri yönde dönmektedir.
Şekil 10 4-fazlı adım motoru sürücü devresi
Lcd (Liquid Cristsl Display) paneller ilk olarak 1960’lı yılarda kullanılmaya başlandı ve ilerleyen teknoloji ile her geçen gün günlük hayatımıza girmeye devam etmektedir. Örneğin Cep telefonlarında hesap makinelerde dijital saatlerde Cd çalarlarda ve daha pek çok elektronik uygulamada yer almaktadırlar
Lcd panellerin en basit olarak bilgisayarın seri veya paralel portundan kontrol edilebilr ya da bir Pic mikro kontrolcüsüyle. Çeşitli satır ve karakterde bulunan Lcd’lerden devremizde 2×16 (2 satır 16 karakterli) olanını kullandık. Bu LCD nin 16 bacağı vardır ilk 6 tanesi Lcd kontrans ve yazı yazdırma moduna geçme gibi görevleri yerine getirirler daha sonraki 7 ile 14 bitler arası ise data gönderme uçları 15 ve 16 ise panelin arka ışık ledinin sırasıyla (+) ve (-) uçlarıdır.
ULN 2003A KUVVETLENDİRİCİ SÜRÜCÜ ENTEGRESİ
Bu entegre bir çeşit kuvvetlendiricidir. Devremizdeki kullanış sebebimiz step motorumuzun çekmiş olduğu akım ve gerilim seviyesini Pic16f877’nin karşılayamamasıdır. Bu entegrede 7 adet darlington kuvvetlendirici, Girişi kuvvetlendirip çıkışa 500 mA 50 Volt verebilir ayrıca 70 Dereceye kadar dayanabilir. Çıkıştaki aşırı yüklere karşı ters akım diyotu bağlıdır.Daha yüksek akımlar içinde paralel bağlanabilirler.Biz devremizde 2 adet ULN2003A kulandık çünkü 2 adet step motor bulunmakta.Her ikisinde de giriş-çıkış olarak 1-16 : 2-15 : 3-14 : 4-13 uçlarını kullandık Bu entegrenin daha fazla ayrıntısı ekinde bulunmaktadır.
“PİC KONTROLÜ GÜNEŞ PANELİ”
LIST P=16F877 INCLUDE "P16F877.INC" ; 2 motorlu 3.27dk beklemeli 1.motor 48 de atlamalı 2. motor 180c oda 24 de atlamalı ================== ;==================Değişken tanımlamaları ================== RAMBLK EQU H'20' CBLOCK RAMBLK END_TOUR ART POS TOURING DC1 DC2 EB_STEPONLAR EB_STEPBIRLER MUX ADIM TY TO TB GCC_TY GCC_TB GCC_TO BEK1 BEK2 AN2 AN3 SAYAC SAYAC1 SAYAC2 SAYI BINLER YUZLER ONLAR BIRLER EN_BUYUK_YUZLER EN_BUYUK_ONLAR EN_BUYUK_BIRLER STEPONLAR STEPBIRLER SONLANDIR ;----------------------------------- END_TOURB ARTB POSB TOURINGB DC1B DC2B EB_STEPONLARB EB_STEPBIRLERB MUXB ADIMB TY2 TO2 TB2 GCC_TYB GCC_TBB GCC_TOB BEK1B BEK2B AN2B AN3B SAYACB SAYAC1B SAYAC2B SAYIB BINLERB YUZLERB ONLARB BIRLERB EN_BUYUK_YUZLERB EN_BUYUK_ONLARB EN_BUYUK_BIRLERB STEPONLARB STEPBIRLERB SONLANDIRB METE1 METE2 GERISAY1 GERISAY2 GERISAY3 GERISAY4 ENDC ; ==================Değişken tanımlamaları Bitti================== ORG 00H GOTO BASLA ORG 05H ;----------------------------------------------------------------- LCD_AYAR BCF STATUS,6 ;BANK 1 BSF STATUS,5 CLRF TRISE CLRF TRISC BCF STATUS,5 ;BANK0 BCF PORTE,0 ;Lcd KOMUTLARA HAZIRLANIYOR CALL LCD_YAZ MOVLW H'38' CALL LCD_YAZ MOVLW H'80' CALL LCD_YAZ MOVLW H'06' CALL LCD_YAZ MOVLW H'0C' CALL LCD_YAZ RETURN ;----------------------------------------------------------------- LCD_AYAR_SOLARCELL BCF STATUS,6 ;BANK 1 BSF STATUS,5 CLRF TRISE CLRF TRISC BCF STATUS,5 ;BANK0 BCF PORTE,0 ;Lcd KOMUTLARA HAZIRLANIYOR CALL LCD_YAZ MOVLW H'38' CALL LCD_YAZ MOVLW H'CD' CALL LCD_YAZ MOVLW H'06' CALL LCD_YAZ MOVLW H'0C' CALL LCD_YAZ RETURN ;----------------------------------------------------------------- LCD_AYAR2 BCF STATUS,6 ;BANK 1 BSF STATUS,5 CLRF TRISE CLRF TRISC BCF STATUS,5 ;BANK0 BCF PORTE,0 ;Lcd KOMUTLARA HAZIRLANIYOR CALL LCD_YAZ MOVLW H'38' CALL LCD_YAZ MOVLW H'C0' CALL LCD_YAZ MOVLW H'06' CALL LCD_YAZ MOVLW H'0C' CALL LCD_YAZ RETURN ;----------------------------------------------------------------- LCD_AYAR_AMBIENT BCF STATUS,6 ;BANK 1 BSF STATUS,5 CLRF TRISE CLRF TRISC BCF STATUS,5 ;BANK0 BCF PORTE,0 ;Lcd KOMUTLARA HAZIRLANIYOR CALL LCD_YAZ MOVLW H'38' CALL LCD_YAZ MOVLW H'8D' CALL LCD_YAZ MOVLW H'06' CALL LCD_YAZ MOVLW H'0C' CALL LCD_YAZ RETURN ;----------------------------------------------------------------- LCD_TEMIZLE BCF STATUS,5;BANK0 BCF PORTE,0 MOVLW H'01' CALL LCD_YAZ RETURN ;----------------------------------------------------------------- LCD_KARAKTER_GONDER BCF STATUS,5;BANK0 BSF PORTE,0;DATA RS=1 CALL LCD_YAZ RETURN ;----------------------------------------------------------------- LCD_YAZ BCF STATUS,5 ;BANK0 MOVWF PORTC ; PORTD <= W BSF PORTE,2 ; E=1 CALL GECIKME BCF PORTE,2 ; E=0 RETURN ;----------------------------------------------------------------- GECIKME MOVLW h'03' MOVWF BEK1 G_GERI MOVLW 0FFH MOVWF BEK2 DECFSZ BEK2,1 GOTO $-1 DECFSZ BEK1,1 GOTO G_GERI RETURN RETIE ;::::::::::::::::::1. Motor 360 Derecelik Port d deki 1 nolu:::::::::::::::::::::::: AN3_DEG_YAZ_YUKSEK MOVF AN3,W CALL B2D ; DONUSUM MOVLW 0X30 ADDWF BIRLER,1 ADDWF ONLAR,1 ADDWF YUZLER,1 RETURN ;:::::::::::::::::::::::::::::::::::::: AN2_DEG_YAZ_DUSUK MOVF AN2,W CALL B2D MOVLW 0X30 ADDWF BIRLER,1 ADDWF ONLAR,1 ADDWF YUZLER,1 CALL HESAPLA RETURN ;::::::::::::::::::::::::::::::::::::::: B2D MOVWF SAYI CLRF BIRLER CLRF YUZLER CLRF ONLAR ;----------------------------------------------------- YUZB MOVLW .100 SUBWF SAYI,W BTFSC STATUS,C GOTO YUZLERBASAMAGI ;----------------------------------------------------- ONB MOVLW .10 SUBWF SAYI,W BTFSC STATUS,C GOTO ONLARBASAMAGI MOVF SAYI,W MOVWF BIRLER RETURN ONLARBASAMAGI INCF ONLAR,1 MOVWF SAYI GOTO ONB YUZLERBASAMAGI INCF YUZLER,1 MOVWF SAYI GOTO YUZB ;::::::::::::::::::::::::::::::::::::::: GECIKME_OKU MOVLW 0X03 MOVWF SAYAC DECFSZ SAYAC,F GOTO $-1 RETURN ;:::::::::::::porte :::::::::::::::::::::::::: AN3_OKU BCF STATUS,6 ;BANK 1 BSF STATUS,5 MOVLW b'10001101'; A0 ANALOG GİRİŞ OLARAK AYARLANDI MOVWF ADCON1 BCF STATUS,5 MOVLW B'10000101' ;FOSC/32 AN0 KANAL OLARAK SEÇİLDİ,AD AKTIF MOVWF ADCON0 CALL GECIKME_OKU BSF ADCON0,GO ;DÖNÜŞÜM BAŞLADI BTFSC ADCON0,GO ;DÖNÜŞÜM BİTTENE KADAR DÖN GOTO $-1 BCF STATUS,5 RRF ADRESL MOVF ADRESL,W MOVWF AN3 CALL AN3_DEG_YAZ_YUKSEK ;YÜKSEK BYTE BCF STATUS,6 ;BANK 1 BSF STATUS,5 MOVLW b'00001101'; A0 ANALOG GİRİŞ OLARAK AYARLANDI MOVWF ADCON1 BCF STATUS,5 MOVLW B'10000101' ;FOSC/32 AN0 KANAL OLARAK SEÇİLDİ,AD AKTIF MOVWF ADCON0 CALL GECIKME_OKU BSF ADCON0,GO ;DÖNÜŞÜM BAŞLADI BTFSC ADCON0,GO ;DÖNÜŞÜM BİTTENE KADAR DÖN GOTO $-1 BCF STATUS,5 RLF ADRESL MOVF ADRESL,W MOVWF AN2 CALL AN2_DEG_YAZ_DUSUK ;DUSUK BYTE RETURN ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: HESAPLA CALL LCD_AYAR_SOLARCELL GOTO KK KK MOVF YUZLER,W ;YUZLER İÇERİĞİ W REGİSTERINA YUKLENDİ MOVWF TY ; W REGISTERINDAKİ DEĞER TY REGISTERINA YUKLENDI MOVF ONLAR,W ;ONLAR İÇERİĞİ W REGİSTERINA YUKLENDİ MOVWF TO ; W REGISTERINDAKİ DEĞER TO REGISTERINA YUKLENDI MOVF BIRLER,W ;BIRLER İÇERİĞİ W REGİSTERINA YUKLENDİ MOVWF TB ; W REGISTERINDAKİ DEĞER TB REGISTERINA YUKLENDI BTFSS AN3,0 ;ADRESH'IN O. BİTİ 1 Mİ GOTO XX ;HAYIR DEĞİL OYLEYSE XX'E GIT MOVLW .6 ;6 DEGERİNİ YUKLE W REGISTERINA ADDWF TB,F ;TB DEĞERİ İLE W Yİ TOPLA TB'YE EKLE MOVLW .10 ;W'YE 10 EKLE SUBWF TB,W ;TB'DEN ,W 'YI ÇIKAR VE SONUCU W 'YE EKLE BTFSS STATUS,1 ;TB KUCUK MU W DEN ELDE VARSA GOTO TOB ;KUCUKSE TOB GIT MOVWF TB ;TB BUYUKSE W DEKİ DEĞERDEN TB YE YUKLE INCF TO,F ;ONLAR BASAMAĞINI 1 ARTIR TOB MOVLW .5 ;5 DEGERİNİ YUKLE W REGISTERINA ADDWF TO,F ;TO DEĞERİ İLE W Yİ TOPLA TO'YA AT MOVLW .10 ;W'YE 10 EKLE SUBWF TO,W ;TO'DEN ,W 'YI ÇIKAR VE SONUCU W 'YE EKLE BTFSS STATUS,1 ;TO KUCUK MU W DEN GOTO TYB ;KUCUKSE TYB GIT MOVWF TO ;BUYUKSE W DEKİ DEĞERİ TB YE YUKLE INCF TY,F ;YUZLER BASAMAĞINI 1 ARTIR TYB MOVLW .2 ;2 DEGERİNİ YUKLE W REGISTERINA ADDWF TY ;TY DEĞERİ İLE W Yİ TOPLA XX: BTFSS AN3,1 ;ADRESH'IN 1. BİTİ BİR Mİ GOTO SON ;HAYIR OYLEYSE SON'A GİT MOVLW .2 ;2 DEĞERİNİ W REGİSTERINA YUKLE ADDWF TB,F ;TB DEĞERİ İLE W REGİSTERINI TOPLA MOVLW .10 ;W'YE 10 EKLE SUBWF TB,W ;TB'DEN ,W 'YI ÇIKAR VE SONUCU W 'YE GÖNDER BTFSS STATUS,1 ;TO KUCUK MU W DEN GOTO TOBB ;KUCUKSE TOBB GIT MOVWF TB ;W REGİSTERINDAKİ DEĞERİ TB'YE YUKLE INCF TO,F ;ONLAR BASAMAĞINI 1 ARTIR TOBB MOVLW .1 ;1 DEĞERİNİ W REGİSTERINA YUKLE ADDWF TO,F ;TO DEĞERİ İLE W REGİSTERINI TOPLA MOVLW .10 ;W'YE 10 EKLE SUBWF TO,W ;TO'DEN ,W 'YI ÇIKAR VE SONUCU W 'YE GÖNDER BTFSS STATUS,1 ;TO KUCUK MU W DEN GOTO TYBB ;KUCUKSE TYBB GIT MOVWF TO INCF TY,F ;YUZLER BASAMAĞINI 1 ARTIR TYBB MOVLW .5 ;W'YE 10 EKLE ADDWF TY,F ;TO'DEN ,W 'YI ÇIKAR VE SONUCU W 'YE GÖNDER SON: ;-------------------------------------------------- CALL LCD_AYAR2 MOVLW H'C0' CALL LCD_YAZ MOVLW 'S' CALL LCD_KARAKTER_GONDER MOVLW 'O' CALL LCD_KARAKTER_GONDER MOVLW 'L' CALL LCD_KARAKTER_GONDER MOVLW 'A' CALL LCD_KARAKTER_GONDER MOVLW 'R' CALL LCD_KARAKTER_GONDER MOVLW ' ' CALL LCD_KARAKTER_GONDER MOVLW 'V' CALL LCD_KARAKTER_GONDER MOVLW 'O' CALL LCD_KARAKTER_GONDER MOVLW 'L' CALL LCD_KARAKTER_GONDER MOVLW 'T' CALL LCD_KARAKTER_GONDER MOVLW ':' CALL LCD_KARAKTER_GONDER MOVF TY,W ;TY REGISTERINDAKİ DEĞERİ W RREGISTERINA YUKLE CALL LCD_KARAKTER_GONDER ;SONUÇ LCD'DE GÖZÜKÜR MOVLW '.' CALL LCD_KARAKTER_GONDER MOVF TO,W ;TO REGISTERINDAKİ DEĞERİ W RREGISTERINA YUKLE CALL LCD_KARAKTER_GONDER ;SONUÇ LCD'DE GÖZÜKÜR MOVF TB,W ;TB REGISTERINDAKİ DEĞERİ W RREGISTERINA YUKLE CALL LCD_KARAKTER_GONDER ;SONUÇ LCD'DE GÖZÜKÜR MOVLW 'V' CALL LCD_KARAKTER_GONDER RETURN ;-----------------GECIKME ALT PROGRAMI--------------------------------------------------- B_GEC MOVLW 0XFF MOVWF SAYAC1 YUKLE MOVLW 0XFF MOVWF SAYAC2 AZALT DECFSZ SAYAC2,F GOTO AZALT DECFSZ SAYAC1,F GOTO YUKLE MOVLW 0XFF MOVWF SAYAC1 YUKLE1 MOVLW 0XFF MOVWF SAYAC2 AZALT1 DECFSZ SAYAC2,F GOTO AZALT1 DECFSZ SAYAC1,F GOTO YUKLE1 RETURN ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: VOLT CALL LCD_AYAR MOVLW H'80' CALL LCD_YAZ MOVLW 'A' CALL LCD_KARAKTER_GONDER MOVLW 'D' CALL LCD_KARAKTER_GONDER MOVLW 'I' CALL LCD_KARAKTER_GONDER MOVLW 'M' CALL LCD_KARAKTER_GONDER MOVLW '_' CALL LCD_KARAKTER_GONDER MOVLW 'A' CALL LCD_KARAKTER_GONDER MOVLW ':' CALL LCD_KARAKTER_GONDER ;-------------------- MOVF STEPONLAR,W CALL LCD_KARAKTER_GONDER MOVF STEPBIRLER,W CALL LCD_KARAKTER_GONDER MOVLW ' ' CALL LCD_KARAKTER_GONDER MOVLW 'M' CALL LCD_KARAKTER_GONDER MOVLW 'A' CALL LCD_KARAKTER_GONDER MOVLW 'X' CALL LCD_KARAKTER_GONDER ;---------------------------------------------------- CALL SIRALA_Y INCF STEPBIRLER,1 CALL KONTROL1 CALL LCD_AYAR_AMBIENT MOVLW ':' CALL LCD_KARAKTER_GONDER MOVF EB_STEPONLAR,W CALL LCD_KARAKTER_GONDER MOVF EB_STEPBIRLER,W CALL LCD_KARAKTER_GONDER RETURN ;--------------------------------------------------------------------------------- STEPCW BCF STATUS,C ;Carry Bayrağı sıfırlandı BTFSC POS,3 ; test et pop,3 sıfır mı BSF STATUS,C RLF POS,W ; pos u sola kaydır ANDLW 0x0F ; 00 la ve le MOVWF POS MOVWF PORTD ; port d ye gönder motora güç ver CALL B_GEC ; bekle sabırlı ol CLRF PORTD ; port d yi sıfırla INCF ART,F ; ART + 1 =ART RETURN STEPCCW BCF STATUS,C ;Carry Bayrağı sıfırlandı BTFSC POS,0 BSF POS,4 RRF POS,W ; pos u sağa kaydır ANDLW 0x0F ; 0f la ve le MOVWF POS MOVWF PORTD ; port d ye gönder motora güç ver CALL B_GEC ; bekle sabırlı ol CLRF PORTD ; port d yi sıfırla RETURN ;--------------------------------------------------------------------------------- SIRALA_Y MOVF EN_BUYUK_YUZLER,W SUBWF TY,W BTFSS STATUS,0 GOTO SONDUR GOTO ESIT_MI_Y RETURN ;--------------------------------------------------------- ESIT_MI_Y MOVF EN_BUYUK_YUZLER,W SUBWF TY,W BTFSS STATUS,Z ;eğer Z=1 ise sonuç 0 ise, eşitse onları kontrol et GOTO ATAMA_YAP ;EĞER EŞİT DEĞİLSE BUYUK DEMEKTIR GOTO SIRALA_O ;onları kontrol et RETURN ;------------------------------------------------- SIRALA_O MOVF EN_BUYUK_ONLAR,W SUBWF TO,W ;F>W ise C=1 ;;;; FW ise C=1 ;;;; F >>>>>>>>>>>>>>>>Program Başlasın artık >>>>>>>>>>>>>>>>>>>>>>>> BASLA MOVLW H'FF' MOVWF ADIM MOVLW H'00' MOVWF METE2 MOVLW H'00' MOVWF SONLANDIR MOVLW H'00' MOVWF ART MOVLW '0' MOVWF STEPONLAR MOVLW '1' MOVWF STEPBIRLER MOVLW H'00' MOVWF SON MOVLW H'00' MOVWF EN_BUYUK_YUZLER MOVLW H'00' MOVWF EN_BUYUK_ONLAR MOVLW H'00' MOVWF EN_BUYUK_BIRLER CLRF EB_STEPONLAR CLRF EB_STEPBIRLER BSF STATUS,5 MOVLW B'10111111' MOVWF OPTION_REG MOVLW H'F0' MOVWF TRISD BCF STATUS,5 MOVLW 3 ; motor için MOVWF POS MOVWF PORTD CLRF PORTD BCF INTCON,1 BSF INTCON,7 BCF INTCON,4 ;******C0*************************************************** ;CALL B_GEC GUNCELLE CALL AN3_OKU CALL B_GEC CALL VOLT CALL B_GEC CALL STEPCW MOVLW H'30' SUBWF ART,W BTFSC STATUS,Z GOTO MAXIMUMA_GIT GOTO GUNCELLE MAXIMUMA_GIT CALL LCD_TEMIZLE CALL B_GEC CALL B_GEC CALL LCD_AYAR MOVLW H'80' CALL LCD_YAZ MOVLW 'H' CALL LCD_KARAKTER_GONDER MOVLW 'e' CALL LCD_KARAKTER_GONDER MOVLW 'd' CALL LCD_KARAKTER_GONDER MOVLW 'e' CALL LCD_KARAKTER_GONDER MOVLW 'f' CALL LCD_KARAKTER_GONDER MOVLW '_' CALL LCD_KARAKTER_GONDER MOVLW 'A' CALL LCD_KARAKTER_GONDER MOVLW ':' CALL LCD_KARAKTER_GONDER MOVLW ' ' CALL LCD_KARAKTER_GONDER MOVF EB_STEPONLAR,W CALL LCD_KARAKTER_GONDER MOVF EB_STEPBIRLER,W CALL LCD_KARAKTER_GONDER MOVLW ' ' CALL LCD_KARAKTER_GONDER MOVLW 'M' CALL LCD_KARAKTER_GONDER MOVLW 'E' CALL LCD_KARAKTER_GONDER MOVLW 'T' CALL LCD_KARAKTER_GONDER MOVLW 'E' CALL LCD_KARAKTER_GONDER ;--------------------------------------------------------------------------------- CALL LCD_AYAR2 MOVLW H'C0' CALL LCD_YAZ MOVLW 'M' CALL LCD_KARAKTER_GONDER MOVLW 'a' CALL LCD_KARAKTER_GONDER MOVLW 'x' CALL LCD_KARAKTER_GONDER MOVLW ' ' CALL LCD_KARAKTER_GONDER MOVLW 'V' CALL LCD_KARAKTER_GONDER MOVLW 'o' CALL LCD_KARAKTER_GONDER MOVLW 'l' CALL LCD_KARAKTER_GONDER MOVLW 't' CALL LCD_KARAKTER_GONDER MOVLW '_' CALL LCD_KARAKTER_GONDERB MOVLW 'A' CALL LCD_KARAKTER_GONDERB MOVLW ':' CALL LCD_KARAKTER_GONDER MOVF EN_BUYUK_YUZLER,W CALL LCD_KARAKTER_GONDER MOVLW '.' CALL LCD_KARAKTER_GONDER MOVF EN_BUYUK_ONLAR,W CALL LCD_KARAKTER_GONDER MOVF EN_BUYUK_BIRLER,W CALL LCD_KARAKTER_GONDER MOVLW 'V' CALL LCD_KARAKTER_GONDER ;-----------------------EN BUYUK ADIMIN ONLAR BASAMAĞI KAÇ???? SIFIR_ONLAR MOVLW '0' SUBWF EB_STEPONLAR,W BTFSC STATUS,Z GOTO EB_ONLAR_SIFIR ON MOVLW '1' SUBWF EB_STEPONLAR,W BTFSC STATUS,Z GOTO EB_ONLAR_ON YIRMI MOVLW '2' SUBWF EB_STEPONLAR,W BTFSC STATUS,Z GOTO EB_ONLAR_YIRMI OTUZ MOVLW '3' SUBWF EB_STEPONLAR,W BTFSC STATUS,Z GOTO EB_ONLAR_OTUZ KIRK MOVLW '4' SUBWF EB_STEPONLAR,W BTFSC STATUS,Z GOTO EB_ONLAR_KIRK ;------------------------EN BUYUK ADIMIN BIRLER BASAMAĞI KAÇ??? SIFIR_BIRLER MOVLW '0' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_SIFIR BIR MOVLW '1' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_BIR IKI MOVLW '2' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_IKI UC MOVLW '3' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_UC DORT MOVLW '4' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_DORT BES MOVLW '5' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_BES ALTI MOVLW '6' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_ALTI YEDI MOVLW '7' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z CALL EB_BIRLER_YEDI SEKIZ MOVLW '8' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_SEKIZ DOKUZ MOVLW '9' SUBWF EB_STEPBIRLER,W BTFSC STATUS,Z GOTO EB_BIRLER_DOKUZ XC GOTO XC ;------------------------------------- EB_ONLAR_ON MOVLW D'10' MOVWF TOURING GOTO SIFIR_BIRLER EB_ONLAR_YIRMI MOVLW D'20' MOVWF TOURING GOTO SIFIR_BIRLER EB_ONLAR_OTUZ MOVLW D'30' MOVWF TOURING GOTO SIFIR_BIRLER EB_ONLAR_KIRK MOVLW D'40' MOVWF TOURING GOTO SIFIR_BIRLER EB_ONLAR_SIFIR MOVLW D'00' MOVWF TOURING GOTO SIFIR_BIRLER ;-------------------------------- EB_BIRLER_SIFIR MOVLW D'0' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_BIR MOVLW D'1' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_IKI MOVLW D'2' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_UC MOVLW D'3' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_DORT MOVLW D'4' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_BES MOVLW D'5' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_ALTI MOVLW D'6' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_YEDI MOVLW D'7' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_SEKIZ MOVLW D'8' ADDWF TOURING,F GOTO LAST_TURN EB_BIRLER_DOKUZ MOVLW D'9' ADDWF TOURING,F GOTO LAST_TURN LAST_TURN CLRF MUX CLRF END_TOUR MOVLW D'48' SUBWF TOURING,W ;F>W ise C=1 ;;;; F W ise C=1 ;;;; F W ise C=1 ;;;; F W ise C=1 ;;;; F >>>>>>>>>>>>>>>>2. Motor yani 180c lik olan BAŞLIYOR>>>>>>>>>>>>>>>>>>>>>>>> MOTOR2 CALL LCD_TEMIZLEB CALL B_GECB MOVLW H'FF' MOVWF ADIMB MOVLW H'00' MOVWF METE2 MOVLW H'00' MOVWF SONLANDIRB MOVLW H'00' MOVWF ARTB MOVLW '0' MOVWF STEPONLARB MOVLW '1' MOVWF STEPBIRLERB MOVLW H'00' MOVWF SONB MOVLW H'00' MOVWF EN_BUYUK_YUZLERB MOVLW H'00' MOVWF EN_BUYUK_ONLARB MOVLW H'00' MOVWF EN_BUYUK_BIRLERB CLRF EB_STEPONLARB CLRF EB_STEPBIRLERB BSF STATUS,5 MOVLW B'10111111' MOVWF OPTION_REG MOVLW H'F0' MOVWF TRISB BCF STATUS,5 MOVLW 3 ; motor başlangıç konumuna MOVWF POSB MOVWF PORTB CLRF PORTB CLRF PORTD BCF INTCON,1 BSF INTCON,7 BCF INTCON,4 GUNCELLEB CALL AN3_OKUB CALL B_GECB CALL VOLTB CALL B_GECB CALL STEPCWB MOVLW D'24' SUBWF ARTB,W BTFSC STATUS,Z GOTO MAXIMUMA_GITB GOTO GUNCELLEB MAXIMUMA_GITB CALL LCD_TEMIZLEB CALL B_GECB CALL B_GECB CALL LCD_AYAR1 MOVLW H'80' CALL LCD_YAZB MOVLW 'H' CALL LCD_KARAKTER_GONDERB MOVLW 'e' CALL LCD_KARAKTER_GONDERB MOVLW 'd' CALL LCD_KARAKTER_GONDERB MOVLW 'e' CALL LCD_KARAKTER_GONDERB MOVLW 'f' CALL LCD_KARAKTER_GONDERB MOVLW '_' CALL LCD_KARAKTER_GONDERB MOVLW 'B' CALL LCD_KARAKTER_GONDERB MOVLW ':' CALL LCD_KARAKTER_GONDERB MOVF EB_STEPONLARB,W CALL LCD_KARAKTER_GONDERB MOVF EB_STEPBIRLERB,W CALL LCD_KARAKTER_GONDERB MOVLW ' ' CALL LCD_KARAKTER_GONDERB MOVLW 'M' CALL LCD_KARAKTER_GONDERB MOVLW 'A' CALL LCD_KARAKTER_GONDERB MOVLW '&' CALL LCD_KARAKTER_GONDERB MOVLW 'T' CALL LCD_KARAKTER_GONDERB MOVLW 'S' CALL LCD_KARAKTER_GONDERB ;--------------------------------------------------------------------------------- CALL LCD_AYAR2B MOVLW H'C0' CALL LCD_YAZB MOVLW 'M' CALL LCD_KARAKTER_GONDERB MOVLW 'a' CALL LCD_KARAKTER_GONDERB MOVLW 'x' CALL LCD_KARAKTER_GONDERB MOVLW ' ' CALL LCD_KARAKTER_GONDERB MOVLW 'V' CALL LCD_KARAKTER_GONDERB MOVLW 'o' CALL LCD_KARAKTER_GONDERB MOVLW 'l' CALL LCD_KARAKTER_GONDERB MOVLW 't' CALL LCD_KARAKTER_GONDERB MOVLW '_' CALL LCD_KARAKTER_GONDERB MOVLW 'B' CALL LCD_KARAKTER_GONDERB MOVLW ':' CALL LCD_KARAKTER_GONDERB MOVF EN_BUYUK_YUZLERB,W CALL LCD_KARAKTER_GONDERB MOVLW '.' CALL LCD_KARAKTER_GONDERB MOVF EN_BUYUK_ONLARB,W CALL LCD_KARAKTER_GONDERB MOVF EN_BUYUK_BIRLERB,W CALL LCD_KARAKTER_GONDERB MOVLW 'V' CALL LCD_KARAKTER_GONDERB ;-----------------------EN BUYUK ADIMIN ONLAR BASAMAĞI KAÇ???? SIFIR_ONLARB MOVLW '0' SUBWF EB_STEPONLARB,W BTFSC STATUS,Z GOTO EB_ONLAR_SIFIRB ONB2 MOVLW '1' SUBWF EB_STEPONLARB,W BTFSC STATUS,Z GOTO EB_ONLAR_ONB YIRMIB MOVLW '2' SUBWF EB_STEPONLARB,W BTFSC STATUS,Z GOTO EB_ONLAR_YIRMIB OTUZB MOVLW '3' SUBWF EB_STEPONLARB,W BTFSC STATUS,Z GOTO EB_ONLAR_OTUZB KIRKB MOVLW '4' SUBWF EB_STEPONLARB,W BTFSC STATUS,Z GOTO EB_ONLAR_KIRKB ;------------------------EN BUYUK ADIMIN BIRLER BASAMAĞI KAÇ??? SIFIR_BIRLERB MOVLW '0' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_SIFIRB BIRB MOVLW '1' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_BIRB IKIB MOVLW '2' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_IKIB UCB MOVLW '3' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_UCB DORTB MOVLW '4' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_DORTB BESB MOVLW '5' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_BESB ALTIB MOVLW '6' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_ALTIB YEDIB MOVLW '7' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z CALL EB_BIRLER_YEDIB SEKIZB MOVLW '8' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_SEKIZB DOKUZB MOVLW '9' SUBWF EB_STEPBIRLERB,W BTFSC STATUS,Z GOTO EB_BIRLER_DOKUZB XCB GOTO XCB ;------------------------------------- EB_ONLAR_ONB MOVLW D'10' MOVWF TOURINGB GOTO SIFIR_BIRLERB EB_ONLAR_YIRMIB MOVLW D'20' MOVWF TOURINGB GOTO SIFIR_BIRLERB EB_ONLAR_OTUZB MOVLW D'30' MOVWF TOURINGB GOTO SIFIR_BIRLERB EB_ONLAR_KIRKB MOVLW D'40' MOVWF TOURINGB GOTO SIFIR_BIRLERB EB_ONLAR_SIFIRB MOVLW D'00' MOVWF TOURINGB GOTO SIFIR_BIRLERB ;-------------------------------- EB_BIRLER_SIFIRB MOVLW D'0' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_BIRB MOVLW D'1' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_IKIB MOVLW D'2' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_UCB MOVLW D'3' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_DORTB MOVLW D'4' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_BESB MOVLW D'5' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_ALTIB MOVLW D'6' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_YEDIB MOVLW D'7' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_SEKIZB MOVLW D'8' ADDWF TOURINGB,F GOTO LAST_TURNB EB_BIRLER_DOKUZB MOVLW D'9' ADDWF TOURINGB,F GOTO LAST_TURNB LAST_TURNB CLRF MUXB CLRF METE1 CLRF END_TOURB MOVLW D'24' MOVWF END_TOURB ;w=END_TOURB=12 SUBWF TOURINGB,W ;F>W ise C=1 ;;;; F Yayım tarihi: 2008/03/09 Etiketler: güneş paneli kontrolü, güneş paneli nedir, güneş paneli yapımı, güneş panelli ev, microchip pic projeleri, PIC16F877 örnekleri
7 Yorum “PIC16F877 ile Güneş Paneli Kontrolü”
Bir yanıt yazın
arkadaşım çok güzel ama birde devre şemasını koysaydın dahada makbule geçerdi
evet tam derli toplu halde şema verilmemiş parça parça konu içinde anlatılmış toparlamanız gerekli 🙂
evet haklısınız galiba biraz uğraşma ile programın içinden devre şemasına ulaşılabilinecek ama sadece okadar
cok güzel bir calışma pan til kontrol için böle bişi maliyet olarak kaca cıkar catıya filanj ürerine monte edilecek 10 panel için birde hareket esnasında rüzgardan etkilenmesi nasıl giderilir bilgisi olan arkadaşlar paylaşırsa memnun olurum
iyi günler. bir evin ve altında bulunan marketin elektrik enerjisini karşılayacak güneş panelinin maliyeti bize ne olur. bu panellerin enerji depolama imkanı bulunuyor mu? yani gündüz elde edilen güneş enerjisi gece kullanılabiliyor mu? şimdiden teşekkürler.
Normal 3+1 ev icin ortalam 30_40000 tl civaridir vede bunlarin enerji depolama gibi bi ozellikleri yoktur elde edilen enerjiyi akulere doldurur ve aksamlari o sekilde islev gorur akulerin maliyeti zaten fiyata dahildir ancak market gibi biryeri bu sekilde aydinlatmak isterseniz butceninizi zorlarsiniz simdiden kolay gelsin 🙂
devre şeması lütfen.şimdiden teşekkürler