PIC16F877 ile Güneş Paneli Kontrolü

| Mart 26, 2021 Tarihinde güncellendi
PIC16F877 ile Güneş Paneli Kontrolü

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.

Image6.jpg (9203 bytes)
Ş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.

Image7.jpg (18479 bytes)

Ş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.

Image8.jpg (9804 bytes)

a)Lojik sıralayıcının motora bağlantısı

Image9.jpg (5581 bytes)
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.

Image10.jpg (11349 bytes)

Şekil 8. 4-fazlı adım motoru için lojik sıralayıcı

Image11.jpg (10967 bytes)
Ş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.

Image12.jpg (18359 bytes)

Ş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	;;;;  FW ise C=1	;;;;  FW ise C=1	;;;;  FW 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: , , , , ,



7 Yorum “PIC16F877 ile Güneş Paneli Kontrolü

  1. muratmurat

    arkadaşım çok güzel ama birde devre şemasını koysaydın dahada makbule geçerdi

    CEVAPLA
  2. adminadmin Yazar

    evet tam derli toplu halde şema verilmemiş parça parça konu içinde anlatılmış toparlamanız gerekli 🙂

    CEVAPLA
  3. muratmurat

    evet haklısınız galiba biraz uğraşma ile programın içinden devre şemasına ulaşılabilinecek ama sadece okadar

    CEVAPLA
  4. sehaseha

    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

    CEVAPLA
  5. Harun ÖĞÜNÇHarun ÖĞÜNÇ

    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.

    CEVAPLA
    1. EminEmin

      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 🙂

      CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir