7 Segment Gösterge Sürmek - Akım Meselesi

Başlatan Tagli, 11 Temmuz 2018, 21:48:52

Tagli

Soru biraz acemice gözükebilir, ancak akımlar söz konusu olduğunda 7S gösterge sürmek için en iyi yaklaşımın ne olması gerektiği konusunda kafam karıştı.

Öncelikle daha önce yapıp çalıştırdığım cihazdan bahsedeyim: 6 adet 4'er haneli ortak anot gösterge var, şu 14 mm olanlardan. Yani toplamda 24 hane. Bunlar elbette ki tarama yöntemi ile sürülüyor. İşlemci PIC16F886, 3.3 volt ile çalışıyor. Hanelerin ortak anotlarına BSS83P P kanal MOSFET koydum. Bunlar için de 24 tane I/O bacağı ayırmak istemediğim için, 74HC138 decoder kullanıyorum ve 5 bacak ile istediğim haneyi seçiyorum. Göstergelerin katotları ise PIC'e doğrudan bağlı, arada direnç de yok. Sürekli tarama olduğu için, direnç olduğunda parlaklık çok düşüyor. Sistem bu şekliyle güzel çalışıyor.

Şimdi sorunlara gelelim:

Öncelikle kartları elle diziyorum. Henüz seri üretime falan geçmedim ama 24 tane SOT23 kılıf MOSFET dizmek gıcık bir iş. Üstelik parça maliyeti de yüksek. Bunun yerine ortak katot gösterge kullanıp uygun şekilde ULN2003 bağlasam hoş olacak sanırım. Tabi decoder olarak da 74HC238'e geçmem gerekli, çünkü çıkışlarda 0 değil 1'lerin dolaşması gerekecek. Bu sizce mantıklı bir yaklaşım mı?

İkinci sorun, işlemci olarak STM32F0 ailesinden bir işlemciye geçmek istiyorum. Her LED için yaklaşık 15 mA akım gerekeceğini düşünürsek, bu durumda STM32F0'ın bacak akımları yeterli olmayacak. Aslında bacak başına 25 mA sınır var, ama hepsi toplamda 80 mA'i geçmemeli diyor datasheet. Nokta ile birlikte 8 LED yanarsa bu sınır geçilir. PIC'in port akım sınırı daha yüksek olduğu için bu sorunu yaşamıyordum. Bu konuda ne yapmam lazım? Yüksek akımlı 8'lü buffer entegresi var mıdır önerebileceğiniz? Veya her LED için bir MOSFET mi kullanmalıyım? Yine dizilecek 8 tane SOT23 kılıf olacak ama 24'ten iyidir.

ULN2003 sadece akım çekebiliyor (sink). Buna benzer akım verebilecek (source) bir entegre var mı? Yani daha önce de dediğim gibi, yüksek akımlı octal buffer arıyorum diyebilirim. Bacak başına 15 - 20 mA, toplamda da 120 - 160 mA akım verebilecek bir şey.

Siz bu işi nasıl çözüyorsunuz?
Gökçe Tağlıoğlu

halil82ist


Kabil ATICI

MAX7219 gibi entegre kullanabilirsin. 8 taneye 7 segman ekran kadar sürebiliyor. (senin projen açısından 3 adet kullanman gerekir).Yapman gereken sadece veri göndermek. Gerisini kafana takma. SPI  arabirim üzerinden haberleşme sağlanıyor. Ekran parlaklığını ister donanım üzerinden ( bir direnç ile) ister yazılım ile ayarlayabiliyorsun.

ambar7

mg1980


Kabil ATICI

ULN gibi entegre olarak UDN2981 veya UDN2982 entegreler var
ambar7

izturk


polleme

En iyi yöntem bence MAX7219. Akım yönetimini kendi sağlıyor, direnç veya transistor derdi yok, karmaşa az, sadece 3 tel ile yönetim sağlıyor. Bir Max7219 8 adet dijit sürebiliyor. Kaskat bağlanarak yine 3 tel üzerinden çok sayıda dijit sürülebiliyor. Kodlama yükü çok düşük vs.

Ben olsam başka seçenek düşünmezdim.

mehmet

nothing

sezgin05

MBI5026 veya DM13A   3,3 volt için kullanabileceğin 16 bit constant led driver. Yani led akımını istediğin değere sınırlayabilen shift register. İstersen tek ledi 12 voltla direnc takmadan sürersin.

Tagli

Teşekkürler arkadaşlar. Sayenizde hiç bilmediğim entegreleri öğrenmiş oldum.

MAX7219 gerçekten de çok ilgi çekici gözüküyor. Ancak Mouser, Digikey vs. gibi yerlerde fiyatı çok uçuk, $10 civarında. Dorukan'da $3'a var. Aliexpress fiyatı ise çok uygun, $3.55'e 10 tane yolluyorlar. Denemek için bir miktar sipariş vereceğim. Ama temin süresi sıkıntılı olabileceği için şimdiki tasarımımda bu entegre yerine başka bir şey kullanmam daha iyi olacak gibi. Belki sonraki tasarımda MAX7219 kullanabilirim.

TM1637 fena gözükmese de sadece Aliexpress'te bulunabiliyor gibiler. MAX7219'a benziyor. 6 hane sürebiliyor anladığım kadarıyla ve istenilirse keypad tarama için de kullanılabilir.

TPIC6B595 aklıma en yatan çözüm şu anda. 74HC238 + ULN2003 çiftleri yerine sadece TPIC6B595 kullanmak çok daha mantıklı gibi. Bununla ortak katot göstergelerin katotlarını rahat bir şekilde tarayabilirim.

DM13A ve MBI5026 sanırım 7S için pek uygun değil gibi. Bunlar sabit akım LED sürücü olarak geçiyor, ve sink özelliğindeler. Ama bence bunları ortak katotlara bağlamak iyi olmaz, çünkü burada sabit akım olması demek, yanan segment sayısına göre parlaklığın değişebileceği anlamına gelir. Yanılıyor muyum? Akım kontrolü dışında TPIC6B595'ten çok da farklı değil gibiler.

Şimdi, ortak katot için bir karara vardığıma göre, segmentleri sürecek anot tarafı için yüksek akımlı source entegresine ihtiyacım var. TD62783 önerilmiş. Çok pahalı sayılmaz (zaten 1 tane kullanılacak) ve Özdisan'da da gözüküyor. Bu kafama yattı baya.

UDN2981 de güzel gözüküyor ama Aliexpress haricindeki yerlerde fiyatı yüksek.

Yine de anot tarafı için biraz daha araştırma yaptım. Emin değilim ama 74LVTH541 veya 74LVTH244 de uyacak gibi gözüküyor. Gerçi azami toplam akım sınırını biraz geçebilir belki. Bacak dizilimleri hariç ikisi aynı gibi. 541'in dizilimini daha çok sevdim ama 244 nedense daha ucuz ve kolay bulunuyor gibi. Belki LCV'ler de olur, çok emin değilim. Ama genel olarak LVTH'ın bulunabilirliği düşük. Digikey'de var. Başka bir parça için zaten oradan alışveriş yapmam gerekecek, yanında bunu da söyleyebilirim.

Ek olarak, elimdeki 74HC541'lerden birini feda edip bir deneme yapabilirim. Bunun bacak başına akımı uyuyor ama tüm segmentler yanarsa toplam akım sınırı aşılıyor. Büyük ihtimalle ya hasar görecek, ya da kararsız LED parlaklıklarına sebep olacak. Ama yine de deneyesim geldi :)
Gökçe Tağlıoğlu

e-zeki

Alıntı yapılan: Tagli - 13 Temmuz 2018, 13:57:35TM1637 fena gözükmese de sadece Aliexpress'te bulunabiliyor gibiler. MAX7219'a benziyor. 6 hane sürebiliyor anladığım kadarıyla ve istenilirse keypad tarama için de kullanılabilir.

TM1637/20/68 74HC595 / Max7219 ile farklı display uygulamaları denemiş biri olarak söyleyebilirim ki TM açık ara fiyat performans oranı en yüksek olan seri. buton kontrolünde de mcunun üzerinden gpio anlamında  çok yük kaldırıyor gerçekten.

mg1980

13 Temmuz 2018, 17:26:05 #11 Son düzenlenme: 13 Temmuz 2018, 17:31:46 mg1980
Tagli hocam,TPIC6B595 ortak anot....Segment sürmek için ayrı bir sürücü neden düşünüyorsunuz ki...

Tagli

TPIC6B595 open drain output, yani sink değil mi? Her çıkış 150 mA'e dayanıyor diye yazmış. Ortak katot demek toprağa gidiş tarafının ortak olması demek. Bu durumda o ortak uçları TPIC6B595'e bağlamayacak mıyım?

Mevcut cihazda katotlar doğrudan PIC16F886 tarafından sürülüyordu (sistem ortak anot idi). Ancak STM32F0 kullanırsam, tüm segmentler yandığında gerekecek toplam akım işlemcinin toplam azami port akımını aşıyor (her ne kadar bacak akımı sınırlar içinde kalsa da). PIC'lerde bu sınır daha yüksek o yüzden sorun olmuyor. Atladığım bir nokta var mı? Doğrudan işlemciden sürmek güvenli mi?
Gökçe Tağlıoğlu

mg1980

13 Temmuz 2018, 18:55:33 #13 Son düzenlenme: 13 Temmuz 2018, 18:59:40 mg1980
Hocam,ben 4 cm boyutlu ortak anot display ile Arduino Nano kullanarak Ds3231,li ve Ds1307,li bir kaç saat yaptım..bu işin derin uzmanı değilim ama işlemciye binen bir yük olmadığı kanaatindeyim,anladığım kadarıyla SERIN pininden hızlı bir şekilde bilgi akışı oluyor...ortak anot uca  +  voltaj uyguluyorum.

Tagli

Hocam senin dediğini şimdi anladım galiba. Anladığım kadarıyla sen tarama yapmıyorsun. Ortak anotlarda + hep var, sen hangi segmentlerin yanacağını katotlara bağlı TPIC6B595'ler ile seçiyorsun. Ama bu durumda her hane için 1 adet TPIC6B595 kullanmak gerekir. Doğru mu anlamışım? Eğer öyle ise benim sistemde 24 tane TPIC6B595 kullanmam gerekecek. Bunun yerine 3 tane kullanıp bir de source driver eklesem daha mantıklı olacak benim için. Senin göstergeler büyük olduğundan segment akımları da yüksek olacaktır, bu durumda senin sistem için uyguladığın yaklaşım mantıklı. Ama benim 14 mm haneler için pek uygun değil bence. Ben her 8 hane için 1 tane TPIC6B595 kullanmayı planlıyorum.
Gökçe Tağlıoğlu