Picproje Elektronik Sitesi

DİJİTAL & ANALOG ELEKTRONİK => Temel Elektrik/Elektronik => Konuyu başlatan: mcn - 30 Kasım 2011, 19:41:11

Başlık: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 30 Kasım 2011, 19:41:11
Herkese iyi akşamlar,

pic den 74164 ile dataları göndererek ve ULN2003 ile de displayleri sürerek 4 tane  7segmente sayıları tarayarak yazdırıyorum.Sayılar normal şekilde yanıyor ancak örneğin 1 sayısı yazaken  b ve c segmentlerinin haricinde kalan segmentler sönük olması gerekirken onlarda da neredeyse %50 oranında parlaklık görünüyor.

önce bc546 kullanmıştım sürmek için anahtarlama hızı yavaş kalıyordur diye düşündüm ULN2003 le sürdüm çok az bir düzelme oldu.Sonra segmentlere giden direnç değerlerini büyüttüm biraz daha düzeldi ama hala bariz şekilde yanıyor gibi diğer yanmaması gereken segmentler.

Yazılımda tarama yaptırırken diğer segmente geçmeden önce komple kapatıp diğerini yaktırıyorum değişen bişey olmuyor.

Bu sorunun çözümü nedir?direnç değerlerini daha çok büyütsem parlaklık azalacak.Ne yapmalı?
Şimdiden teşekkürler.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: z - 30 Kasım 2011, 19:45:11
Alıntı YapYazılımda tarama yaptırırken diğer segmente geçmeden önce komple kapatıp diğerini yaktırıyorum değişen bişey olmuyor.


Transistörlerin yavaşlığından kaynaklanıyordur.

Aşağudaki yöntemi dene.

Yeni segmentleri yak.
Bekle1
Segmentleri söndür.
Bekle2

Şeklinde yaparsan sorun çıkmaması lazım. Ancak parlaklıkta düşüş yaşayacaksın bunu da akımı artırmak yoluyla aşarsın.
Bekleme değerlerini dene yanıl da bulabilirsin.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: Erol YILMAZ - 30 Kasım 2011, 19:51:25
Şu ana kadar belki 10 tane taramalı led display tasarımı yaptım.
Hiçbirisinde yanık kalıyor gibi bi sıkıntı olmadı...

Açıkçası devrenizi merak ediyorum.
Ve tarama frekansınız nedir ?
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: justice_for_all - 30 Kasım 2011, 19:56:26
devreni gorebilirmiyim?
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: pea - 30 Kasım 2011, 20:21:16
Bende de aynı durum oldu.Programa göre ikisi aynı anda açık olmamasına rağmen sönük olması gereken kısımlarda hafif yanıklık var.20KHz civarı bir frekansta açılıp kapanıyor 7segmentler.Sanırım 7segment için çok yüksek bir hız bu.
Benim kod da şöyle bir şey.

;Tablo
_7SEG               ;ortak anot icin tablo
    addwf PCL
    retlw h'C0'     ;0
    retlw h'F9'     ;1
    retlw h'A4'
    retlw h'B0'
    retlw h'99'
    retlw h'92'
    retlw h'83'
    retlw h'F8'
    retlw h'80'
    retlw h'90'     ;9
;Tablo

ONYAK
    bcf PORTA,3
    bsf PORTA,2
    movfw ONLAR  ; ONLAR'i aküye al
    call _7SEG
    movwf PORTB     ; 7 segmentleri yak
    return

BIRYAK
    bcf PORTA,2
    bsf PORTA,3
    movfw BIRLER
    call _7SEG
    movwf PORTB
    return


KESME               ;7 Segmentleri sür
    btfsc IE,0
    call ONYAK
    btfss IE,0
    call BIRYAK
    movlw d'1'      ;IE'i tersle , sonraki interruptta basamak degistir
    xorwf IE,1
    bcf INTCON,2
    retfIe
END
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 30 Kasım 2011, 20:22:05
bunalmıs hocam söylediğiniz yöntemi denedim,hatta sönük kalma kısmını yanık kalma kısmından 5 kat daha uzun yaptım ama gene olmadı malesef.

Devre bağlantı şeklim aynen bu şekilde.MSP430 ile sürüyorum.Ancak bundan önce de picle deneme amaçlı yaptığım bir çalışmada da aynı şekilde sorun yaşamıştım.
ISIS simulasyonunu yapmadım,sadece bağlantıları göstermek için çizdim bunu.

[IMG]http://img15.imageshack.us/img15/1922/adszmnt.jpg[/img] (http://imageshack.us/photo/my-images/15/adszmnt.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

Devremin fotoğrafı da bu:

[IMG]http://img36.imageshack.us/img36/2386/301120111567.jpg[/img] (http://imageshack.us/photo/my-images/36/301120111567.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: Erol YILMAZ - 30 Kasım 2011, 20:29:20
mcn;
74164'e veri gönderirken kesinlikle ULN2003 kapalı olmalı.

pea;
20 kHz çok yüksek bir tarama frekans bence,
ben genellikle 100-200 Hz arası tercih ediyorum...
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: justice_for_all - 30 Kasım 2011, 20:32:43
bence tarama frekansin cok yuksek oldugu icin hepsini yanik olarak goruyo olabilirsin...
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: pea - 30 Kasım 2011, 20:44:55
Olabilir.
Assembly'de ilk ve büyük olasılıkla son kodumdu.Prescaler'la uğraşmak istememiştim ;D
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 30 Kasım 2011, 20:48:29
@Allegro hocam,dediğiniz gibi yaptım.şu anda o bahsettiğim yanık kalmadan eser kalmadı.Tertemiz.

Ama bu seferde sayılar bozuldu :) yani,en iyi fotoğraf anlatır olayı:

[IMG]http://img840.imageshack.us/img840/2135/301120111568.jpg[/img] (http://imageshack.us/photo/my-images/840/301120111568.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)



tarama algoritmam şu şekilde:
// 0 dan 9999 a kadar sayıyor devre.

while(true){

sayiyi 1 arttır

birleri hesapla
onları hesapla
yüzleri hesapla
binleri hesapla

//burada "i" 74164e gönderilecek sayının dizi içerisindeki hex değerine ulaştırıyor

i=birler basamağı
74164 e verileri gönder
birler basamağı segmentini aktif et
bekle
tüm segmentleri söndür

i=onlar basamağı
74164 e verileri gönder
onlar basamağı segmentini aktif et
bekle
tüm segmentleri söndür

i=yuzler basamağı
74164 e verileri gönder
yuzler basamağı segmentini aktif et
bekle
tüm segmentleri söndür

i=binler basamağı
74164 e verileri gönder
binler basamağı segmentini aktif et
bekle
tüm segmentleri söndür
}

Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: Erol YILMAZ - 30 Kasım 2011, 20:56:55
neden ki?
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 30 Kasım 2011, 21:00:02
valla anlamadım hocam bende,eski haline alıyorum sayılar normal gözüküyor,tabi  yanık kalmalarda devam.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: justice_for_all - 30 Kasım 2011, 21:01:10
o while dongusununun icinde yaptiklarinizi 10 kezde tekrar edin ama sayiyi arttirmadan..10 kez tekrar ettikten sonra sayiyi arttirin..

ayrica display ler ortak anotmu ortak katotmu?
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: Erol YILMAZ - 30 Kasım 2011, 21:02:58
bekle kısmı 1 ms  olsun
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: picmanya - 30 Kasım 2011, 21:09:06
74164 e giren seri dveri, çipin paralel çıkış pinlerine nasıl aktarılıyor.
programda 74164 e verileri gönder kısmından sonra, 74164 çipini aktif ve pasif etmek gerekmiyor mu?
programa göre, çipe ne basarsanız anında paralel port pinlerine basılıyor gibi bir durum var.
bu normalmidir?
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 30 Kasım 2011, 21:10:05
displayler ortak katot.

Allegro, justice_for_all hocam,dediklerinizi yaptım değişen bişey olmadı malesef ???
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: justice_for_all - 30 Kasım 2011, 21:14:31
peki suan entegrenin p1 portunu kullaniyomusun? ayrica hic sabit bi sayi yada rakam gonderip denedin mi?sadece birler basamagina bi rakam gonder bakalim..
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: tuggy - 30 Kasım 2011, 21:17:12
Balık tutma yöntemi: i) Aynı devrede 1 ler basamağındaki 7 segmente 0-9 sayıcı programı yaz
                                ii) Sonra en değersiz 2 segmentte 0-99 programı yaz
                                iii) Ardından bize 0-9999 sayıcının nasıl yapılacağını  ve önceki  hatanı sebepleriyle birlikte buraya yaz

(lütfen)

Kolay gelsin...
                                 
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: SERRO EFE - 30 Kasım 2011, 21:29:29
Bi tavsiyede benden tarama işini iptal et ilk segmentin ortağını eksiye çek,shiftregistere sayıları gönder. En azından displeye gönderdiğin rakamların doğruluğundan emin ol.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 30 Kasım 2011, 21:44:06
Şimdi,tüm segmentleri aktif yapıp hepsinde sırayla 1 den 9 a kadar sayıları saydırıyorum.Tarama yaptırmadan yani,burada problem yok.Sayılar düzgün.

Ama tarama yaptırmaya çalıştığımda örneğin tüm segmentlere 1 yazmaya çalıştığımda fotoğrafta da gösterdiğim gibi sayı bozuk çıkıyor.(her segmentte aynı şekilde)

@picmanya
dediğiniz doğru,74164 e veri gönderildikten hemen sonra uln yi aktif ediyorum.Belki sorun bundandır diye,74164 e veri gönder kısmını 2 defa yaptım,bekleme koydum 1ms ama gene değişen bişey olmadı.

@justice_for_all
p1 portunu kullanmıyorum şu an.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: justice_for_all - 30 Kasım 2011, 21:47:38
bide p1 portunu kullanarak displayleri kullanin derim bence bakalim o zamanda ayni hata olcakmi
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 30 Kasım 2011, 21:54:16
Sonundaaaaa!!!!  ;D

Clock ve data pinini p1 portuna alınca düzeldi  ;)

Herkese çok çok teşekkürler,konu çözüldü. :)
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: Mucit23 - 30 Kasım 2011, 23:55:29
Ayrıca Taramada 74164 yerine 74595 kullanmanı tavsiye ederim.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: z - 30 Kasım 2011, 23:59:42
Alıntı yapılan: mcn - 30 Kasım 2011, 21:54:16
Sonundaaaaa!!!!  ;D

Clock ve data pinini p1 portuna alınca düzeldi  ;)

Herkese çok çok teşekkürler,konu çözüldü. :)

Burda duralim simdi. Port degistirerek sorunun duzelmis olmasi cozum degil. Port degistirmeden de sorunu bulup duzeltebilmen gerekli.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 01 Aralık 2011, 00:01:27
Evet bunalmıs hocam haklısınız.BEnde o yazıyı yazdığımdan beri onunla uğraşıp nedenine bakıyorum ancak bir ilerleme kaydedemedim.
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: fatihinanc - 01 Aralık 2011, 00:03:36
Selamlar,

P2 Portunun hangi pini idi sıkıntı olan hocam ?
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 01 Aralık 2011, 00:09:21
ayrıntıları veriyorum:

kullandığım işlemci MSP430G2553
http://www.ti.com/lit/ds/symlink/msp430g2513.pdf
1 MHZ de dahili osilatörle çalıştırıyorum

Sorunlu haldeki pin bağlantısı:
CLOCK P2.0
DATA   P2.1

P2.2 ULN nin 1. bacağı
P2.3 ULN nin 2. bacağı
P2.4 ULN nin 3. bacağı
P2.5 ULN nin 4. bacağı


daha sonra data ve clock pinlerini şu şekilde değiştirince sorun çözüldü:
CLOCK P1.0
DATA   P1.1
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: fatihinanc - 01 Aralık 2011, 00:25:01
[IMG]http://img836.imageshack.us/img836/307/p2reg.png[/img] (http://imageshack.us/photo/my-images/836/p2reg.png/)

P2DIR ayarlamaları yukarıdaki tablodaki gibi yapıldıktan sonra bir sorun olmamalı ama yine de kesin konuşmam için kodu da ekleseniz iyi olur.
Debug yapıp pinin low-high gerilimlerini olçtünüz mü hiç ? Sonuç ne çıkıyor ?
Başlık: Ynt: 7 segmen tarama yönteminde hafif yanık kalan segmentler
Gönderen: mcn - 01 Aralık 2011, 00:26:30
Sanırım sorun kökten çözüldü;
Şimdi,
her 74164 e bilgiyi gönderdikten sonra

kodumdaki onlar basamağının tarama satırı şu şekildeydi:

         i=onlar;
         tara();   P2OUT = 0x13;
         delay(x); P2OUT = 0x00;


burda tarama da son olarak clock pinini lojik0 yaparak tara() fonksiyonundan dönmekte.Ancak ben burada tekrar o clock ve data pinini lojik1 yaptığımdan dolayı taramadan önce
74164 e yüklü olan datayı bozuyordu ve sayıları yanlış gösteriyordu.

Şimdi şu şekilde yapınca:

i=onlar;
         tara();   P2OUT = 0x10;
         delay(x); P2OUT = 0x00;


Yani tara() fonksiyonundan çıkınca data ve clock pinini 0 da tutmaya devam edince  74164 e tekrar clock ve veri gönderilmemiş sorun çözülmüş  oldu.
Port değiştirince düzelmesinin nedeni de buydu.Şimdi tam olarak sorunu çözdük diyebiliriz sanırım.