Yardım: 16f84a saat devresi hata

Başlatan kosantospa, 03 Ocak 2014, 01:58:35

kosantospa

merhaba 16f84a devresi kodları proteus.ta gayet güzel çalışıyor gerçeklemeyi denediğimde başta hatalı bağlantı yapmışım 7 segmentin bacaklarını düzelttim en son devre 12 00 gösterip noktalara yanıp sönmesi gerekirken sağ iki hane 20 saniye içinde 60'a sayıyor sanırım acaba entegre yanmış olabilir mi yoksa bağlantıları tekrar mı kurmalıyım ?

şimdiden teşekkürler

ete

Displayleri gösteren resme bakılırsa devreyi fiziki olarakda yaptın sanırım. Ancak şemaya sadık kaldın ise Pic 16F84 ün kısa sürede yanması kaçınılmaz. Sebebi portA pinlerine bağlamış olduğun ortak katod veya anot uçları. Bu bağlamtının her biri displayde yanan segment başına ortalama 15 ma akım sağlamak zorundadır. Ekranda sıfır rakamı yanınca pic pininden 90 ma akım çekilir. Halbuki pin bunun yalnızca 25 ma lik kısmını verebilirki oda maksimum değerdir. Bu nedenle ortak uçlar daima bir transistör üzerinden sürülür aksi taktirde işlemci kısa sürede bozulur.
Diğer bir konuda her rakamın arasında bir nokta yanması, sence güzelmi bu şekil görünüm? Bence hiç değil. Neden yalnızca ortadaki nokta yanmıyor? 

Ete

kosantospa

#2
hocam kodu ben yazmadım pic konusunda tecrübeli değilim hiç ilk defa denedim burada ki projelerde tarih ve sıcaklık gösterenleri vardı hep bu en basiti lehimide az diye bundan başlayayım dedim noktalar konusuna gelince bende farkettim ama elimde direk hex kodu oldugu için değiştirebilecek kapasitede değilim dediğim gibi tecrüben hiç yok o yüzden bodoslama daldım ama böyle bi sıkıntı oldu yani devre hatalı ve işlemci bozuldu mu muhtemelen şu an ?
bir de ben proteus'ta çalışmasına güvendim de yaptım ama bazı hataları bulamıyor sanırım proteus pekte güvenmemek lazım galiba öyle mi hocam ?

ilginiz için teşekkür ederim

est32

#3
devreyi tasarlayan da çok tecrübeli sayılmaz. Bu şemaya göre reset tuşu bir işe yaramıyor, reset atılamaz. Reset pini ve kristal bağlantılarını aşağıdaki çizime bakarak düzeltmeni öneririm. Bir de malzeme konusunda anormal bir direnç kalabalığı var. Öğrenmek için bence ete hocanın saat projelerinden birini yapsan daha iyi olur.
Reset ve kristal bağlantı örneği

kartal_0689

#4
Alıntı yapılan: est32 - 03 Ocak 2014, 15:29:28
devreyi tasarlayan da çok tecrübeli sayılmaz. Bu şemaya göre reset tuşu bir işe yaramıyor, reset atılamaz. Reset pini ve kristal bağlantılarını aşağıdaki çizime bakarak düzeltmeni öneririm. Bir de malzeme konusunda anormal bir direnç kalabalığı var. Öğrenmek için bence ete hocanın saat projelerinden birini yapsan daha iyi olur.
Reset ve kristal bağlantı örneği


Kristal Bağlantısı aşağıdaki gibi biliyorum. Belki seninki de çalışıyor olabilir ama denemedim hiç. Ben hep böyle kullanıyorum.

TURKEY/ANK

est32

Alıntı yapılan: kartal_0689 - 03 Ocak 2014, 15:52:21
Kristal Bağlantısı aşağıdaki gibi biliyorum. Belki seninki de çalışıyor olabilir ama denemedim hiç. Ben hep böyle kullanıyorum.
Evet senin paylaştığın doğru, daha çok reset ve kristale bağlı kondansatörlere yoğunlaşınca kristal topraklaması dikkatimden kaçmış. Belki bu şekilde de çalışıyordur ama denemediğim bir yöntemi tavsiye etmiş olurum. şimdi düzeltiyorum.

İlyas KAYA

#6
Asıl hata tüm display'i PIC ile sürmek. PIC'in bütün işi displayde yazı yazdırmak olacaktır.
Hal böyle olunca kodlar ile boğuşmak zorunda kalacaksınız.
Her zaman söylediğimiz gibi yazılımsal çözümler yerine donanımsal çözümler daha güçlü ve basittir.

İşi çok daha basite indirgemek için ben 74164 "shiftregister to paralel out" entegresini kullanırım.
Böylece PIC'e vermem gereken tek komut şu olur.

SHIFTOUT DATAPIN,CLKPIN,1,[DDATA] 

DDATA 0-255 arası değer alır.

Ben daha önce bu değerleri hesapladım. Bir tablodan da istediğimi seçip şu şekilde yazdırdım.

DEGER=2
'                              0    1    2     3     4   5    6     7    8     9   -   F      P     .
LOOKUP2 DEGER,[237,40,206,110,43,103,231,44,239,111,2,135,143,16],DDATA
SHIFTOUT DATAPIN,CLKPIN,1,[DDATA]

Ekranda 2 yazacaktır.

Değerleri hesaplamak için bir excel tablosu oluşturdum.



Burada A,B,C olanlar 74164'ün çıkışlarıdır. Çıkışların yerleri değişir ise sizde hesapları buna göre değiştirebilirsiniz.

Devre şeması ise şu şekilde dir.



Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

fahrettink

Bende ilk zamanlar aynı hatayı yapmıştım. Pic'ten fazla akım çektiğinde yanması kaçınılmaz oluyor. Hele ki bu işe başlarken en popüler devreler 7 segment kullanılan devreler oluyor. Ben ETE hocanın derslerinden 74HC595 ile tarama yöntemini öğrenmiştim. 74HC595 ile çok kolay 7 segment sürebilir termometre ve saat uygulamaları yapabilirsin.

Ayrıca 74HC595 ile tarama yaparken kullandığın segmentin ortak anot mu yoksa ortak katod mu olduğu da önemli. Bu entegre ile ortak katod'u daha iyi sürebilirsin. Ortak Anot için yazılımda bitleri terslemek gerekiyor

Kısacası 74HC595 ile tarama mantığını biraz araştır derim.
"Dahilik %1 ilham, %99 çalışmanın eseridir." Thomas Alva EDISON

Powered by EzPortal