avatar_haberlesme

Ufak Bir Soru

Başlatan haberlesme, 12 Ocak 2013, 21:59:30

haberlesme

Sayın Ete Hocam bir soru sormak istiyorum.Soru programsal bir soru degil aşağıdaki resimde bulunan devre sutün taramalı bir kayan yazıdır.16f628 ve 74595lerle yaptıgım güç kaynağı 12V 2A yada 5V 2A kullanmayı düşünüyorum.Sizden yardım etmenizi istedigim konu dediginiz gibi simulasyonda çalışan bir devreye uygulamada bazı eklemeler yapmadan çalışmaz demiştiniz aşağıdaki devreyi uygulamada verimli hale getirmek için ne yapmalıyım.Aşağıdaki devrenin tek dotmatric halini picten satırlara ve 595 lere direk baglıyarak yapmıştım çalışmıştı ama çift dotmatrixte bazı sorunlar yaşamıştım karakterlerin çıkmaması gibi yardımcı olursanız sevinirim hocam bu konuda çok başınızı agrıttım bu devreleri sevmediginizi bildigim halde ama bu devreyi çalıştırmak istiyorum.

ete

Anahtar sözcük şu. Bir 74HC595 çıkış pini ancak ve ancak 20 ma akım verebilir. Fazlasını çekersen entegre bozulur.
Diğer bir anahtar ise, Bir matrix led 8x8 =64 adet led den oluşur. Ledlerin kolaylıkla sürülebilmesi için satır pinleri bir satırda yer alan 8 adet lid'in katod uçları birleştirilerek satır pinine bağlanmıştır. Bu durumda sütünlardan verdiğin %11111111 şeklinde bilgiye karşılık olarak ,
en üstteki satıra LOW verirsen ilk satırdaki ledlerin tamamı yanar. Ama satır pini bütün ledleri sürdüğü için üzerinden 8*20=160 ma akım geçer. Bunu bir pic pinine bağlarsan pic bu kadar akımı besleyemez. Yada bunu bir 74HC595 e bağlarsan oda besleyemez. Çünki akım 160 ma dir.
O halde ne yapmak gerekir? pic den çıkan uçla bir NPN transistörü sürmek transistörlede satırlara LOW vermek gerekir. Transistör 160 ma akıma dayanabilecek tipte olmalıdır. Yada en iyisi orada ULN2803 gibi her bir çıkışı 500 ma akım verebilen bir dizi transistör entegresi kullanmak gerekir.
Bu açıklamalara göre devreyi düzenlersen eksiklerini gidermiş olursun.

ete

haberlesme

Hocam dediklerinizden yola çıkarak şöyle bir eklenti yaptım aşağıdaki ektedir.

1-Hocam sormak istedigim diğer bir soru ise bağlantı şekli böyleyken simulasyonda problem oluyor uygulamada olur mu ?
2-Uln2803 çıkışlarını pull-up yapmam gerekir mi bir devrenizde görmüştüm o sebeple soruyorum.
Birde hocam burda 595 lerden direk 1 vererek sutunları tarıyorum kolaylık olsun diye Bilgiyide karaktermatikte oluşturup tersliyordum yani yakıcagım yerlere 0 veriyordum hocam uln eklenince 1 verilen pin aktif olacagı için picten gönderdigim bilgiyi terlemeden göndermem gerekir değil mi hocam.
son soruda 595 uçları herhangi bir direnç eklentisi yapmam gerekir mi
Şimdiden Çok teşekkürler hocam projeyi bitirip çalışır hale getirince tüm dosyalarıyla yayınlıcam çünkü burdaki bilgilerle tamamlanmış bir projedir.

ete

Simulasyonda nasıl bir problem oluyor açıklamamışsın. Ne varsa gerçek devrede de devam edebilir.

Şemandan sistemin nasıl çalıştığı belli olmuyor. Daima ledlerin iki ucu vardır birine high diğerine low verilir. Matrixde low verilen uçlar birleştirilerek bir satıra ait ledlerin hepsi tek yerden low verilerek yakılabilir. İşte senin uln bağlaman gereken pin budur.

Ete

haberlesme

Hocam sorun şu karakterler görünmüyo tek led tek led kırpma yapıyor yani bunu sadece Uln baglayınca değil Npn transistör bile Bağlayınca yapıyor istiyorsanız Siimulasyon ve program dosyasını mailinize atayım bakmak isterseniz.

ete

Bu son derece normal çünki muhtemelen verilen bilgiyi terslemiş oluyorsun bu şekilde bir nevi ledin iki pinine de low tatbik etmiş oluyorsun. Bir tarafın high olması gerekir.ete

haberlesme

İşte hocam benim de belirtmek istedigim picten yolladıgım bilgiyi 74595 lerde 1 le taradıgım için ters gönderiyodum.
Uln2803 entegresininde high verdigim pinini Low yapacagından dolayı picteki bilgiyi terslemeden göndermem gerekir değil mi

ete


haberlesme

Çok Teşekkürler hocam uln çıkışlarına pull up yapmam gerekir mi bide direnç eklentisine gerek var mı hocam son soru olarak bunu sorayım.

ete

Gerçek devrede gerekmez ama isis de gerekir.
Ete

haberlesme

ete hocam devremi tamamladım şuan bir yazı degil ama 8 tane a harfini kayarken görebiliyorum ama tek sorun harflerde yansınma var harflerin yanındaki ledlerde yanıyomuş gibi oluyor bu sorunu nasıl çözebilirim yardımcı olurmusunuz

ete

Ledlerin yanık kalma süreleri ile oyna. Azalt yada çoğalt. Birinde tutması lazım. Azaltarak minimum 600-700us ye kadar düşebilir. Çoğaltarak 5ms ye kadar artırabilirsin.

Ete

haberlesme

Hocam sürelerle oynadım ama gideremedim birtürlü ekte dosyaları ekledim şemayı uygulamada nasıl yaptıysam öyle çizdim müsait bir zamanınızda inceler misiniz hocam devre karşımda çalışıyor ama birtürlü yansıma olayını çözemedim.

ete

Programa ve devreye baktım.
Bu devreninbu işe uygun olmadığını düşünüyorum. Bana kalırsa satır bilgileri 74HC595 ler üzerinden verilmeli (yukarıdan yani 595 lerin her bi biti bir sütuna denk gelmeli), tarama işlemi satır tarayarak yapılmalı ve onuda ULN üzerinden vermelisin.
Ortada bu kadar açıklama örnek devre ve program var iken illaki bu şekilde yapmaya kendini neden sorluyorsun anlamıyorum. Programda da bir sürü hata var.
Hata -1 , işlemci toplam 80 adet dizi değişkeni kabul ediyor. Sen 86 tane vermeye çalışmışsın. 80 tane kabul etmesi demek 0-79 arasında dizi çalıştıracağın anlamına gelir. 0-85 arasında çalışırsan toplamda 86 adetlik dizi tanımlaman gerekir.
Anlayacağın program rastgele çalışıyor ne yaptığıda çok belli değil maalesef. Tarama kısmıda çalışmıyor. Bana göre çalışmıyor. Sen gerçek devrede bir şeyler görüyorum demişsin ama nasıl görüyorsun anlamadım doğrusu.

Bu sitede yer alan Matrix saat projesini ve programını iyice incelemeni öneriyorum.
Temel mantığın şöyle olmalı;
- Harf datalarını tanımladıktan sonra bu dataları gösterilecek harfe göre diziye yerleştir. Örnekle açıklayalım.
Bir H harfine ait datalar teorik olarak şöyle belirleniyor.
--x--x--    (X olan yer HIGH - olan yer ise LOW  simegeliyor
--x--x--
--xxxx--
--x--x--
--x--x--
--------
--------
Bu bilgileri data olarak yazarsak
Satır-1=%00100100
Satır-2=%00100100
Satır-3=%00100100
Satır-4=%00111100
Satır-5=%00100100
Satır-6=%00100100
Satır-7=%00100100
Satır-8=%00000000
Bu bir harfin datası. Şimdi harfi displayde nasıl oluşturacağız ona bakalım.
- Önce Satır-1 bilgisini 74HC585'e verceksin. Hemen ardından 1 nolu satırı tarama yolu ile aktif edeceksin. 1 ms bekleyeceksin
- SOnra Satır-2 bilgisini 74Hc595 e vereceksin ve ardından 2 nolu satırı aktif edeceksin. 1 ms bekleyeceksin
-Bu şekilde devam ederek toplam 8 adet satırı ekrana verip her verdiğin satıra uygun olarak ilgili satırı aktif edeceksin.
1ms bekleyip bir sonraki işleme geçeceksin.

74HC595 lerin adedi birden fazla olur ise birden fazla karekteri aynı anda gösterebilirsin demektir.
O halde diyelimki En soldaki displayde H harfi onun yanındakinde ise A harfini göstereceksin.
O halde 595 e data verirken (mesela ilk satır bilgisi diyelim) hem en soldaki 595'e hemde onun yanındaki 595'e gidecek şekilde 2 byte bilgi vermen gerekecek. Böylece ilk byte birinciye yerleşecek ama ikinciyi verdiğin zaman birincideki bilgi ikinciye kayacak ve son verilen data girişinin olduğu 595 de kalacaktır. Böylece sen satırları aktif ettiğinde kaç display var ise onların hepsine ait en üst satır aktif olacağı için bütün karekterleri aynı anda görmüş olacaksın.

Neden böyle değişiklik istedim onuda izah edeyim. Bir çok kez söyledim ama hala anlaşılmamış.
Bir satırı aktif ettiğin zaman satır bilgisi %11111111 ise satıra ait bütün ledler yanacaktır. Bu ledlerin katodlar ortak olduğu için 8*20=160 ma akım ortak uçtan çekilmeye çalışılacaktır. O halde ortak ucu ben ULN ile sürersem en azından her bir pini 500 ma akıma dayanabileceği için sorun olmayacaktır. Bu şu demektir. Her bir display satırı 160 ma akım çekerse 500/160 =3 adet displayi sürebilecek demektir. Sürme süresinin çok kısa olması nedeni ile bu display adedi dahada artırılabilir.

Senin devrene bakarsak aslında devren doğru ama mantığın yanlış diyebiliriz.
Sen 595 ler ile tarama yaptırıyorsunki bu sütun taraması oluyor,
B portundan ise sütun bilgisi vermeye çalışıyorsun.  Tarama yapan 595 lerin her bir pini tolam 20 ma akım verebilir. Bu ise sistemin gerçekte çalışmayacağını gösterir. Kısa sürede entegrelerin bozulurlar. Belkide çoktan bozulmuşlardır bile.

Kısa zamanda sistemini değiştir. B portundan satır taraması yap, 595 lerden sütun bilgisi ver.

Ete


haberlesme

Açıklamanız için Çok teşekkür ederim hocam lise bilgisi picle bişeyler yapmaya çalıştım ama dediginiz saat projesinide bu yaptıgınız açıklamayıda göz önünde bulundurarak yeni bir program oluşturmaya çalışacağım gerekirse gece gündüz satır satır ugraşacagım hocam tekrar teşekkür ederim denemeye başlayalım ki sizin de en azından açıklama yapmak için bile ugraştıgınız emek boşa gitmesin.

Powered by EzPortal