avatar_ete

PIC Basic Ders-01 (Pic Micro işlemciler Hakkında)

Başlatan ete, 28 Ağustos 2011, 14:38:25

veli dayı

şimdi diyeceksiniz osilasyon yapmadığı kanısına nerden vardınız diye.
   devreye elektrik uyguladıktan sonra portlar arasında parmaklarımı gezdirdiğim zaman led sürekli yanmaya başlıyor.gerçi programda söylenenleri yerine getirmiyor ama en azından led hıgh oluyor.

ete

Size garip gelecek ama bu sorunu belkide yüzlerce defa duydum. Hepsinin sonunda bir yerlerde eksik bir bağlantı çıktı.
Pic kurallara saygılıdır. Sağlamsa her şey doğru ise çalışır. Mutlaka sizde ters giden bir şey var.
Devreniz elimde olsa 10 sn de anlarım neler olduğunu ama sizin anlamanız uzun sürecek.
Her şeyi kontrol edin. Bir de picin 14 ve 5 nolu bacakları arasına 100nf kondansatör bağlayın. Özellikle eski işlemciler bunu çok sever. Çalışmayanlar çalışır hale gelir. can kurtaran gibidir bu kondansatör.
Buna rağmen çalışmıyor yapılacak şeyler aşağıdadır.
1. Aynı sistemi birde 16F628 ile deneyin. Bunu yapacaksanız programda sigorta ayarları 16F628 e göre verilmeli ve program başına CMCON=7 komutu ilave edilmelidir.
2. Başka bir 16F84A ile deneyin.
3. Devredeki kristal yerine rezonatör kullanın. Bu 3 bacaklıdır. Orta bacak GND ye bağlanacak dıştaki bacaklar ise pic in Osc (15 ve 16 nolu)  bacaklarına bağlanacaktır. Bir yerde kondansatörü kendi içinde olan kristal olarak bakabilirsiniz buna. 4Mhz rezonatör diye arayıp alın.
3. Sonuç alamıyorsanız devrenizi bana yollayın bakayım. Bunu yapacaksanız bana özel mesaj atın adres vereyim.

Ete

veli dayı

Çok çok teşekkür ederim.Valla yardımın bu kadarını da inanınki beklemiyordum.birde 100nf lik kondansatör işini deneyeyim. bulunduğum yer bir kasaba.parça ısmarlayabileceğim yer en az 180km uzaklıkta.sözün özü 628 i temin etmem biraz zaman alacak.temin eder etmez deneyeceğim.
   daha da olmadı yeniden kuracağım devreyi.
   hala olmazsa size gönderirim.hesap numaranızı verirseniz kargo parasınıda veririm.(geri gönderme için).
   yeterki bu pic işini öğreneyim.

ete

Bir iki gün içinde yine iş seyehatinde olacağım. Bu sıra pek bakamam. Ama zaten tercihimde önce sizin bakıp bir sonuç almanız yönündedir. Hatanızı bulursanız o kafanıza kazılır ve bir daha aynı hatayı yapmazsınız. AKsi halde ben bulup şundanmış dersem iki günde unutursunuz olayı.

Unutmayın pic satik elektiriğe ve aşırı voltaja yada ter verilen gerilimlere çok hassastır. Anında bozulur. Kullanırken 10 defa kontrol ettikten sonra devreye gerileim vermeniz başlangıç aşamasında sizin menfaatinizedir. Bende ilk öğrenme safhalarımda onlarca pici ter takarak yakmış idim. Bunda etkin faktör 1 nolu pin işaretinin zor görülür şekilde yapılmasıdır. Bu nedenle beyaz oje aldım. Elime işaretsiz bir pic geçtiği zaman hemen 1 nolı pin üzerine beyaz bir oje lekesi koyarım. Böylece uzaktan bile 1 nolu pinin hangi tarafta olduğunu kolayca ayırt edebiliyorum. Herkese tavsiye ederim bu ayırma işlemini.

Pic genelde ters voltaj vermeden ve 5V üzerinde besleme girmekten bozulur. Ayrıca bacaklarından 20-25 ma den fazla akım çekerseniz kısmi olarak o bacak ta bozulabilir. Bu nedenle kullanırken sürekli dikkat etmek menfaatinize olacaktır.

Genelde tümden yanmış pic lere yeniden program atamazsınız. 0000 nolu adreste doğrulama hatası verir.
Bunun anlamı pic program kabul etmiyor demektir. Bazen pic program kabul eder yani tümden yanmamıştır. Ama bir veya bir kaç pin bağlantısı içeriden bozulabilir. Örneğin bacağa seri direnç olmadan direk bir led bağlarsanız muhtemelen o bacak 25 ma den fazla akım çekeceği için bozulur. Sizde yalnıza obacağı kullandığınız için pic bozuldu zannedersiniz.
Tavsiye olarak söylüyorum. Mümkünse led bağladığınız bacağı  hem devrede hemde programdan değiştirip yeniden programlayın. Bu sefer seri direnç vs dikkat edeceğiniz için muhtemelen bozulmamış bir bacakta program çalışabilir.
Yapmaz iseniz haber verin programı ben değiştireyim.

Ete

veli dayı

herşey için teşekkürler.hayırlı yolculuklar musait olduğunuzda sizi yine rahatsız ederim.(malum acemiliğin  azimle birleşmesi sonucu ortaya çıkan durum.)görüşürüz.

veli dayı

Ete hocam geçen bahsettiğim flaşör devresini sonunda çalıştırabildim.sorununuda söyleyeyim de başka arkadaşlarda benim yaptığım saflığı yapmasınlar.
   elektronikçiye gittim gerekli malzemelerin hepsini ben söyledim o verdi.bende malzemeleri hiç kontrol etmeden çizdiğim şemayla birlikte baskı devresini ve montajını yapması için bir arkadaşa verdim o da sağolsun yapıverdi.
   ama devre bir türlü çalışmyordu.sizin de bu yüzden başınızı çok ağrıttım.sonrasında tesadüfen farkettim elektronikçinin 22pf diye verdiği kondansatörler 22nf mış.arkadaşa gittim değiştiriverdi kondansatörleri.şimdi canavar gibi çalışıyor.sevincim tavan yapınca gaza geldim iki adet daha led ekleyim yürüyen ışık yaptım.
      normalde flaşörü 555, 4011,4001,npn_npn ikilisi,npn_pnp ikilisi,transistör ve trafo kullanarak,neon lambaların çalışma prensibinden yola çıkarak,diyak kullanarak,zener diyot kullanarak.gibi değişik analog elemanlarla çok rahat yapabilirim.fakat derdim flaşör yapmak değil programlamayı uygulayarak öğrenebilmekti.
    formdaki arakadaşların ve özellikle sizin sayenizde bu işe ilk adımımı attım.
          önceden pic öğrenmek için muhakkak okuluna gidilmelidir diye düşünürdüm ama sizin eşsiz anlatım tarzıyla bezenmiş derslerinizi görüp bir de uygulamalı olarak yapınca.artık kanılarım değişti.
         emeklerinize sağlık.

   son olarak tekrar hatırlatmak istiyorum elektronikle uğraşan arakadaşlara :-aman parça alırken muhakkak kontrol ederek alsınlar.sonra benim gibi debelenmesinler devre niye çalışmaz diye!
herekese kolay gelsin herkese başarılar.                 

ete

Hadi geçmiş olsun. Başarılar diliyorum ve daha güzel projeler yapmanı diliyorum.

Ete

veli dayı

Teşekkür ederim.Allah razı olsun sizlerden

veli dayı

ete hocam çalıştığım hastanede bir laborant var elektroniğin e sinden anlamıyor adam.adama proteusta devre çizmesini gösterdim.sizin derslerden pic basic uygulmalarından gösterdim.şimdi adam devre çizip program yazıp ledlerle animasyon yapıyor.demek istediğim sizin dersleriniz elektronikte yeni bir çığır açtı.
                  siz bir ekolsunuz Allah başımızdan eksik etmesin.ellerinize sağlık!

kadir6141

s.a ete hocam pic basicle led yada 8x8 dotmatrixde kefken-cebeci yazmak istiyorum.sorum şu her harf için portb 1 bitini kullansam devre sağlıklı çalışırmı  ayrıca kefken kelime yanacak söndükten sonra cebeci yanacak bunun üzerinde çalışdım. ancak başaramadım picbasicde çok yeniyim. internet den örneklere bakdım satır tarama tipinde yapılmış olan var ben bunun mantığını anlayamadım.bu konuda yardımcı olursanız sevinirim. hocam döküman olabilir yada daha önce yapılmış örnek çalışmalara bakarak kendim yapmaya çalışabilirim.saygılar

ete

PortB nin her bir bitini bir harf için kullansam sağlıklı çalışırmı demişsin. Çalışmaz derim. Bu şekilde matrix led çalıştırılmaz. Mademki böyle bir şeynyapmaya kalkıştın ilk yapman gereken şey bir matrix diaplay nasıl ve hangi mantıkla çalışır bunu araştırıp iyice anlaman gerekir. Gerisi çok zor değil.
Biraz bilgi vereyim istersen. Matrix led display sistemleri tarama metodumile çalışır. Bir yerde insan gözünü aldatarak çalışırlar. Aldatmanın temelinde her satırı yaklaşık 1-2 ms süre ile yakıp sonra söndürüp bir aonraki satırı yakarak görüntü elde edilirç göz yanıp sönmeleri fark etmez ve displayin tamamı yanıyormuş gibi algılar.
İki türlü tarama sistemi vardır. Sırası ile incelersek ;
1- satır tarama sistemi
   En güzel sistemdir. Sebebi taranacak satır adedi en fazla 8 adet olabilir böylece 1 sn içinde taranacak satır sayısı 8 den fazla olmayacaktır. Dolayısıylaökolaylıklamyapılarakmtitreşimsiz bir görüntü elde edilmesi imkan dahilindedir. Bu sistemde her bir matrix led görüntülecek bilgi sütunlardan(8 bit) olarak verilir. Önce en üstteki satır bilgisi sütunlardan 8 bit olarak verilir (1.satır) ve o satır aktif edilerek satır ledlerinin bilgiye uygun olarak yanmaları sağlanır. 1-2 ms beklenir ve satır söndürülür.
Sonra 2 satıra ait bilgi sütunlardan verilir ve bu seferde 2 satır aktif edilir. 1-2 ms beklenir ve satır söndürülür.
Bu şekilde 8 satır sırası ile aktive edilerek yeniden başa dönülür. Bu işlem sayesinde bir displayde yer alan görüntü sabit görüntü gibi displayde görülür.
Yan yana bir den fazla harf yada sayı görüntülenecek ise her bir display e ait satır bilgisi aynı anda bütün displaylere verilir. Sonra o satır boydan boya aktif edilir. Yani sistem bir bütün halinde çalıştırılur.

2- sütun tarama sistemi
Bu sistemde satırvyerine sütun taranır. Yani sırası ile sütunlar aktif edilip kapatılırlar.
Display bilgisi satırlardan verilir ve sütun aktif edilerek ilk sütunda bilgi gösterilir. Sonra ikinci sütun ve ardından diğer sütunların bilgisi verilerek sistem çalıştırılır.
Bu sistemde sütun sayısı artar ise birim zamanda taranması gereken sütun sayısı fazla olacağı için görüntüde titremeler meydana gelebilir.  Bu nedenle en iyisi sen satırbtarama metodunu kullan.
Aşağıdaki linkte bir projemi bulacaksın. Bir matrix saat projesi. Sistemi incele ve anlamaya çalış. Prensip yukarıda yazdıklarımdan farklı değil. Gerisi sana kalmış artık.

http://etepic.com/index.php/topic,114.0.html

Ete

kadir6141

s.a çok sağol hocam denemelere başlıyorum.saygılar

kadir6141


s.a  bu picbasic örneği üzerinde çalışıyorum. micro studio combile dediğimde mpsam 62 karekteri desteklediğini bunda ise 125 karekter olduğunu söylüyor. bunu nasıl düzeltebiliriz.ayrıca arkadaşlar her adımın açıklamasını yapabilirseniz çok memnun olurum.
porta=0  :  portb=0  :  portc=0  :  portd=0
trisa=0  :  trisb=0  :  trisc=0  :  trisd=0
porte=0  : trise=0
harf_reg var byte
adres_sec var byte
yinele var byte
sutun_reg var byte[300]
veri var byte
yazi_reg var byte
i VAR BYTE
x var byte
z var byte
y var byte
t var byte
q var byte
sure var byte
yedek var byte


CLEAR  :  portd=255:sure=200 :GOTO oku:
oku:
call yazi  : yazi_reg=yazi_reg+1  :  z=harf_reg
    for i=1 to z
        call yazi  : yazi_reg=yazi_reg+1  : call data_sec
        for y=0 to yinele
            call datalar
            sutun_reg[t]=veri  :  t=t+1
            adres_sec=adres_sec+1
        next y
    next i
t=0
goto gonder
gonder:
FOR Q=0 TO 5
    for i=0 to 15
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11111110:pauseus sure:portc=%11111111
    next i
    for i=0 to 15
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11111101:pauseus sure:portc=%11111111
    next i
    for i=0 to 15
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11111011:pauseus sure:portc=%11111111
    next i
    for i=0 to 11
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11110111:pauseus sure:portc=%11111111
    next i
t=0
NEXT Q
goto kaydir
kaydir:
    yedek=sutun_reg[0]
    for i=0 to 239
        sutun_reg=sutun_reg[i+1]
    next i
        sutun_reg[240]=yedek
goto gonder
yazi:
lookup yazi_reg,[40,"ELEKTROTEKNO PAYLASiM MERKEZi          "],harf_reg
return

sahin

#28
bu kadar uzun sorunuun içerisinde benim sorum biraz saçma kaça bilir ama aklıma takıldı son verdiğiniz örnekte röle 1 sn ye çekik kalacaktı ama sanki 1.5 saniye  çekik kaldı benmi yanlış anladım acaba

ete

Bu kadar çok örneğin ve mesajın içinde hangi örnekten bahsettiğinide ben anlamadım. Röleyi çektiren kod kısmını buraya yaz veya tam olarak link nedir onu belirtki kod'a bakayım.

Ete

Powered by EzPortal