74hc154 ile ilgili sorun var

Başlatan berkay_yalan, 26 Ekim 2008, 10:14:10

berkay_yalan

iyi günler

Arkadaşlar bir kayan yazı yapmaya çalışıyorum. Yapacağım devrede ortak katot displey kullanılmış ve sütunları ise 74hc154 sürüyor. Tabi bende ortak katotlu displeyi aşağıdaki gibi ortak katotlu displeye çevirdim.(4 led pixel gruplar seri bağlı)

Şimdi bu displeyi 74hc154 ile sürmede problem yaşayacağım. Transistör kullandığımda çok pahalı oluyor. Ben uln gibi bir tampon kapısı kullanmayı istiyorum. Fakat 154'ün çıkışları uln'ye izin vermiyor.

74hc154 -> 7404 -> uln2803 'ü denedim olmadı...

Bu hc154 için nasıl bir sürücü devre yapabilirim...

udn serisi nasıl oluyor bilen varsa açıklarsa sevinirim.

takıldım kaldım..

ete

74154 Low çıkılı bir entegredir. ULN serisi (UDN de) HIGH ile sürülürler.
Bu nednele tek yapman gereken 74154 yerine 4514 kullanman. 23 Nolu INH bacağı LOW da , 1 nolu STB bacağı ise HIGH da tutulacaktır. Bu entegre 154 ün tersine saydıkça HIGH çıkış verir ve bununla rahatlıkla ULN yada UDN yi sürebilirsin. ULN high ile sürülüp GND yi anahtarlar. Yani girişe High verdinmi çıkışdan LOW alırsın. UDN ise yine HIGH ile sürülür ancak + beslemeyi anahtarlar. Yani Girişe HIGH verip çıkıştan yine HIGH alırsın.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

berkay_yalan

Alıntı yapılan: "ete"74154 Low çıkılı bir entegredir. ULN serisi (UDN de) HIGH ile sürülürler.
Bu nednele tek yapman gereken 74154 yerine 4514 kullanman. 23 Nolu INH bacağı LOW da , 1 nolu STB bacağı ise HIGH da tutulacaktır. Bu entegre 154 ün tersine saydıkça HIGH çıkış verir ve bununla rahatlıkla ULN yada UDN yi sürebilirsin. ULN high ile sürülüp GND yi anahtarlar. Yani girişe High verdinmi çıkışdan LOW alırsın. UDN ise yine HIGH ile sürülür ancak + beslemeyi anahtarlar. Yani Girişe HIGH verip çıkıştan yine HIGH alırsın.

Ete

Çok sağol un. Bunları bilmek istiyordum. Yanlız proteusda 4515'in model dosyası yok sanırım. Power ve model default durumda. Acaba sizlerde bulunur mu ?

ete

7.2 sp2 de mevcut 4514 yalnız 15 değil.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

berkay_yalan

Peki hocam o zaman ortak katotlu displeyin ortak anodluya dönmesi gerekiyormu?

Çünkü 154 de çıkış 0 da aktifti. 4514'de ise 1 de aktif olacak. bunun için aktif olmayan çıkışlar 0 olacak bu nedenden dolayı displey sürülemeyecek ben bunu düşündüm.

ete

Ortak anod yada ortak katod konusunda bir soru sormadın bende yorum yapmadım. Ama ULN kullanırsan çıkışların LOW olacağı için Ortak ANot display kullanman gerek. Ama UDN kullanırsan çıkışların HIGH olacağı için Ortak Katod display kullanman gerek.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Elektron74

@berkay_yalan
Sütünlara 4514 lerin çıkışları gitmeyecek. 4514 lerin çıkşları ULN nin girişlerine bağlanacak. ULN nin çıkışları sütünlara bağlanacak.
Yarın; yorgun kimselerin değil rahatlarına kıyabilenlerindir.

berkay_yalan

Alıntı yapılan: "ete"Ortak anod yada ortak katod konusunda bir soru sormadın bende yorum yapmadım. Ama ULN kullanırsan çıkışların LOW olacağı için Ortak ANot display kullanman gerek. Ama UDN kullanırsan çıkışların HIGH olacağı için Ortak Katod display kullanman gerek.

Ete

Haklısınız hocam, siz displeyin ortak anod yada katod olduğunu satırlara göre mi belirliyorsunuz?

lojikmemo1

TPIC595 bir incele tam bu iş için aynı kılıfta hem shift register he de n channel mos dizisi ile 350 mA akım sürebiliyor.
İnsanlara Akılları Ölçüsünde Söz Söyleyiniz.

berkay_yalan

Bende çok isterdim, 595 ve tpic595 hiç kullanmadım bilmiyorum.

lojikmemo1

Alıntı yapılan: "berkay_yalan"Bende çok isterdim, 595 ve tpic595 hiç kullanmadım bilmiyorum.

Merhaba TPIC595 ile 74595 logic yapı olarak aynı sadece çıkış uçları farklıdır.
Aşağıdaki kod parçası (ki daha önceden de verdim)  tpic595 ve 74595 için yazılmıştır. C dili ile yazdığım bu bir fonksiyo ile ardışıl (kaskad) bağlı istediğin kadar çok shfit register (tpic ve 74595) veri basabilirsin ve bunu yaparken pic veya benzeri bir işlemcini sadece 3 bacağını kullanacaksın.
#define data_pin porta.f6 
#define clk_pin  porta.f7 
#define load     porta.f3 

//------------------------------------------------------------------------------ 
void shfit_reg_writer(unsigned char data) 
{ 
/* 74HC595 ve tpic595 gibi shift registerler için---- 
/// #define(s)   -> clk_pin    -> data_pin     -> load (kullanıcıya ait) 
*/ 
unsigned char i=128,j; 
for(j=0;j<8;j++) 
{ 
clk_pin=0; 
data_pin=(data & i) >> (7-j); 
clk_pin=1; 
Delay_10us(); 
i= i >> 1; 
} 
clk_pin=0; 
} 
//----------------------------------------------------------------------------- 
void main() 
{ 
unsigned char data[4]; 
portb=0; trisb=0; 
// Mesela 4 tane shif register olsun ve 1. registere 11 2. ye 12 3. ye 13 ve 
// 4. registere de 14 yazmak isteyelim 
data[0]=11; 
data[1]=12; 
data[2]=13; 
data[3]=14; 

for(i=0;i<4;i++) 
{ 
shfit_reg_writer(data[i]); 
} 
load=1;    /// düşen kenar 
load=0; 
      
}


Bu kod denendi hatta ben de kendi şirketimdeki projelerimde kullandım, kullanmaktayım main rutini içinden fornksiyonun nasıl çağırıldığını ve nasıl kullanıldığını görebilirsin.
Kolay gelsin
Mevlüt Aydoğdu
İnsanlara Akılları Ölçüsünde Söz Söyleyiniz.

M_B

@lojikmemo1 hocam;

// Mesela 4 tane shif register olsun ve 1. registere 11 2. ye 12 3. ye 13 ve 
// 4. registere de 14 yazmak isteyelim 
data[0]=11; 
data[0]=12; 
data[0]=13; 
data[0]=14;

sanırsam boyle olması lazım değilmi hocam
data[0]=11;
data[1]=12;
data[2]=13;
data[3]=14;
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

lojikmemo1

Alıntı yapılan: "M_B"@lojikmemo1 hocam;

// Mesela 4 tane shif register olsun ve 1. registere 11 2. ye 12 3. ye 13 ve 
// 4. registere de 14 yazmak isteyelim 
data[0]=11; 
data[0]=12; 
data[0]=13; 
data[0]=14;

sanırsam boyle olması lazım değilmi hocam
data[0]=11;
data[1]=12;
data[2]=13;
data[3]=14;


:D:D:D
AYnen öyle kopyala yapıştır yaparken bir hata olmuş :D
İnsanlara Akılları Ölçüsünde Söz Söyleyiniz.

berkay_yalan

Bu C kodunda,

Pic'den datalar ayrı ayrı gidiyor değil mi ?

Yani,

portb.0'den 1. shift registere,
portb.1'den 2. shift registere,
portb.2'den 3. shift registere,
...,

bu şekildemi(eğer bu şekildeyse bu kısımda sadece portb 0 ve çıkış olmuş yanılmıyorsam) yoksa shift registerler seri mi bağlı.

yani,

14. bacaktan 9. bacağa

gibi...,

M_B

Evet Dedigin gibi Seri baglı;
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet