16X32 RGB Panel hakkında

Başlatan Mucit23, 10 Ekim 2014, 10:56:41

Mucit23

Arkadaşlar Selamlar,

Resimdeki iç ortam 16x32 paneller üzerinde çalışma yapmak istiyorum.


Panelin tarama yapısını anlayamadım bir türlü. Panelle ilgili açık döküman internette hiç yok. Bu yüzden kendi imkanlarımla panelin yapısını anlamam gerekiyor.

Panelin bağlantı konnektörü aşağıdaki gibi.


Burada LATCH, CLK ve OE pinlerini biliyorum.

Anlamadıklarım A,B,C  pinleri. Bunlarla muhtemelen tarama yapılıyor. R1, R2, G1, G2, B1, B2 pinleri ise data girişi olması gerekiyor. internette bir tablo buldum.



Bu tabloya göre ekran dikey olarak 2 ye bölünmüş. ilk 16 sütün'a kadar R1, G1 ve B1 pinlerinden data gönderilirken 16-32. sütünlarda ise R2, G2 ve B2 pinleri kullanılıyor. Bunu anladım.

Satır seçiminin nasıl yapılacağını anlayamadım. 16X32 için A,B ve C pinleri bu işte kullanılması lazım. Yukarıdaki tabloyu sparfun'ın sitesinden aldım. Orada Arduino kullanılmış ve A B C pinleri Arduinonun analog girişine bağlanmış. demux input diyor. Bu kafamı epeyce bir karıştırdı.

Tarama konusunda satır seçiminin nasıl yapıldığını anlayamadım. Bu konuda fikri olan varmı? 16x32 Panelde A, B ve C pinleri kullanılarak nasıl satır tarama yapılır?

XX_CİHAN_XX

Bence 1. satır ile 9. satır, 2. satır ile 10, ....., 8. satır ile 16. satır beraber taranıyor. Bu şekilde A,B,C pinlerinden 3 bitlik BCD çıkışı 16 satırı taramak için yeterli gelebiliyor. Peki üst 8li ile alt 8li nin satırları ortak ise stun ları ayrı olacaktır. Zaten onun da ayrı olduğu gözüküyor R1,G1,B1 ve R2,G2,B2 şeklinde stun dataları ayrılmış. Clock, Latch ve OE lerin ayrı olmasına gerek olmadığı için tüm Shift Regsiter larda ortak tutulmuş. Bu pin yapısından başka mantıklı bir bağlantı türetemiyorum.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

OG

Mucit, şu rgb panelin şemasını çıkarıp paylaşsanda bir hayır yapsan.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

M_B

Alıntı yapılan: XX_CİHAN_XX - 10 Ekim 2014, 12:17:08
Bence 1. satır ile 9. satır, 2. satır ile 10, ....., 8. satır ile 16. satır beraber taranıyor. Bu şekilde A,B,C pinlerinden 3 bitlik BCD çıkışı 16 satırı taramak için yeterli gelebiliyor. Peki üst 8li ile alt 8li nin satırları ortak ise stun ları ayrı olacaktır. Zaten onun da ayrı olduğu gözüküyor R1,G1,B1 ve R2,G2,B2 şeklinde stun dataları ayrılmış. Clock, Latch ve OE lerin ayrı olmasına gerek olmadığı için tüm Shift Regsiter larda ortak tutulmuş. Bu pin yapısından başka mantıklı bir bağlantı türetemiyorum.
Evet Hocam bu mantık geçerli olması gerekiyor.  Şartlar öyle gösteriyor.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

Mucit23

@OG hocam şema çıkarmak kolay. Panelin çalışmasını anlarsak zaten şema kendiliğinden ortaya çıkacak. Kağıda dökmek lazım sadece.

Herneyse satır taramayıda anladık, Sütünlara bilgi vermeyide anladık. Peki Ya PWM nasıl olacak. Yani her bir pixele ait renk bilgisi için o pixele pwm uygulanması gerekir. Hemde Shift registerlerdan yapılması gerekir. Diğer türlü led'leri açıp kapayarak sadece 7 renk elde ederiz.

Bana 24 bit renk çözünürlüğü lazım.

Bu konuda önerisi olan varmı?

OG

Şema çıkarsa panelin çalışması şak diye ortaya çıkar.
Resmine bakarak veya sayısız olasılıkları düşünerek çalışmayı anlamak daha zor sanırım.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Karamel

hocam ben birsey sormak istiyorum. bu modullerim fiyati ne kadar?

Mucit23

Hocam haklısınız. Fakat şuanda elimde panel yok. Panel elime ulaşınca dediğinizi yapacağım.

Dediğim gibi Renk meselesi aklımı çok karıştırıyor. Eğer yüksek çözünürlüklü görüntü isteniyorsa mutlaka led'lere pwm uygulanması gerekiyor. Bununda tek yolu orada kullanılan 16 Bitlik Shift Registerin her pininden ayrı pwm sinyalleri çıkarmak. Yanlışmı düşünüyorum sizce. Eğer öyleyse bunu yapmak gerçekten zor olmalı.

@karamel yaklaşık 25$ civarında

Karamel

 :-\ aslinda genel manada kullanilan malzemeleri dusununce ucuz ama benim icin pahali imis hocam. bu kayan yazilar cok hosuma gidiyor. yazin okullar tatil olunca bende kayan yazi yapmak istiyorum. bunlarin daha ucuz versiyonlari varmi hocam?

Mucit23

@karamel
http://arectron.com/yazilim/p10-panel-kullanimi.html
Bu tek renkli ucuz olanları. Bundan ucuzu yok. Neyse Konuyu dağıtmasak iyi olur

Renk konusunda fikir görüş ve önerilere ihtiyacım var.

Karamel

bu supermis iste! ::) hemmen konuya geri donuyoruz hocam.

hocam burada sizin led modulden bahsediliyor. manual pwm yapiliyormus?(bu ne demek) fpga ve hizli microcontroller lar ile kolay olurmus arduino ile %20 sini kullarak 4096 bit renk i karistirmayi basarabilmisler.

https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/overview

Mucit23

Arduinoda 444 renk çözünürlüğü kullanılıyor. 4 Bit R, 4 Bit G, 4 Bit B. Toplamda 12 Bit Renk çözünürlüğü yapıyor. 4096'da burdan geliyor. Yani 4096 farklı renk demek.  Hobi amaçlı buda yeterli fakat İşin Tekniğini öğrenirsem çok rahat 24 bit Renk elde ederim diye düşünüyorum.

Resimlerden anladığım kadarıyla arka tarafta Shift Register yerine Sabit Akım led sürücüsü olan FD9802C kullanılıyor. Buda TLC5926 ayarında bi enteğreymiş. Şimdi taşlar yerine oturmaya başladı. Her kanaldan ayrı PWM uygulanıyor.

Karamel

http://www.logictoyz.com/electronic-components/fd9802c-16-bit-constant-current-5ma-90ma-led-driver-fd9802.html

hocam bu entegre 16 cikisli pwm yapmayi becerebiliyormus. yani siz ledlerin herbirisini istediginiz gibi yakabilirsiniz. OG hocamda bir baksin ama. yanlis birsey soyluyor olabilirim suan.

Mucit23

Panelin çalışmasında anlaşılmayan yer kalmadı sanırım.  :)
http://www.rayslogic.com/propeller/programming/AdafruitRGB/AdafruitRGB.htm
Yukarıdaki Link'te herşey açıklanmış.

Tek bir soru kaldı aklımda birazdan açıklayacağım.

Şimdi Panel üzerinde toplam 12 adet led driver(FD9802) var. Bunlar 4 Bölge olarak ayrılmış. 16X32 paneli aklınızda iki ye 16x16 olmak üzere iki ayrı panel olarak düşünün. İsimlendirsek eğer 32 sütündan ilk 16 sütüna A bölgesi sonraki 16 sütüna ise B bölgesi diyelim.

Şimdi Panelde toplam 12 Adet led driver vardı. Bunlardan 6 tanesi A bölgesini, diğer 6 taneside B bölgesini kontrol eder.

A ve B bölgeleride kendi içlerinde iki parçaya ayrılıyor. A bölgesini ele alırsak eğer durum şöyle;

A bölgesinde 6 Adet led driver mevcut. Bu driverden ilk 3'ü 1-8 satırlar arasındaki bölgeyi kontrol ediyor. Diğer 3'ü ise 9-16 satırlar arasını kontrol ediyor.
Bu led driverler birbirlerine kas kat bağlı ama sıralama nasıl bilemiyorum. Birtek aklıma bu takıldı. Bunuda panel ile birebir uğraşınca inceleyip anlacağım.

Eğer Sistemdeki ledleri teker teker sayarsak eğer 16x32x3=1536 led eder.(RGB olduğu için 3 ile çarpıyoruz) Yani fiziksel olarak 1 panelde bu sayıda led olduğunu söyleyebiliriz. Sistemdeki LED driverlerin sayısı ise 12, Her birinin 16 çıkışı var. Ayrıca Her bir led driver 8 satırlık bir bölgeyi kontrol ediyor. Hesaplarsak eğer 12*16*8=1536 ediyorki paneldeki led sayısına eşit.  :) Zaten her 3 led driver ancak 16 adet RGB led'i kontrol edebiliyor.

En başta renk girişleri için R1, G1 ve B1 pinleri ile birlikte R2, G2, ve B2 pinleri olduğundan bahsetmiştim.  A bölgesindeki LED driver'lerin Data girişleri R1, G1 ve B1 dir. B bölgesi ise R2, G2 ve B2. Paneldeki Yapı böyle

Tarama ise Panelin ABC girişleri ile yapılıyor. Tarama sıralaması XX_CİHAN_XX'in dediği gibi. Panelde 16 satır var fakat bu 16 satır ayrı ayrı taranmıyor, ikişerli guruplar halinde taranıyor.

Paneldeki satırları yan yana yazarsak eğer aşağıda koyu olarak gösterdiğim satırlar aynı anda devrede oluyor.

  ABC                Aktif olan satırlar
  000       12345678 910111213141516
  100       12345678 910111213141516
  010       12345678 910111213141516
     .                 .                      .
     .                 .                      .
     .                 .                      .
     .                 .                      .
     .                 .                      .
  111       12345678 910111213141516

Tarama düzenide aynı bu şekilde. Aslında bunları bir tabloya dökmem lazım. Bu şekilde anlaşılması zor oluyor.

Benim panel ile uğraşmadan önce bir tane TLC5926 alıp bir tane RGB ledi 24 bit renk çözünürlüğüyle kontrol etmem lazım. Benim için işin püf noktası budur.

Karamel

#14
hocam pwm icin sanirim yanlis konustum. mbi5026 da pwm le cikis olmuyormus. sanirim FD9802 dede ayni durum soz konusu. az once sizi umutlendirdim ama sanirim yanlis birsey soyledim.  :-\

hocam bakin verdiginiz linkte diyorki

The usual way to do a 24 bpp driver is to have the driver in a 256 level loop and within each loop compare the byte value of the color to the loop# and set the output if at or above this level.  But, the Prop just isn't fast enough to get 24 bpp this way.

Instead of this, we'll do a 8 bit loop with each loop lasting a power of 2 longer.  In this way, we can precalculate the output we want in the outa register.  So, there is no comparison in the loop and it can be faster. 

24 bpp yapmanin genel yontemi 256 level loop yapmak ve her bir cevrimede byte degerine gore cikis verdirmek ama propeller microcontrollerin hizi buna yetimiyor diyor.

bunun yerine biz 8 bitlik cevrim yapacagiz ve her bir cevrim ikinin kati kadar surecek(bu nedemek anlamadim) bu yontemle biz cikis registerlarini hasaplayabiliriz. bu yuzden, hizli olabilmek icin loop icinde karsilastirma yapmayacagiz.

yani yanlis anlmadiysam hocam sizin renk elde etmeniz icin ledin normal yanik kalma suresini(atiyorum 5 msn) bir sayiya bolup (buda mesela 5 olsun) bizim renk degerimiz kadar 5 msn icersinde ledleri geregi kadar yakmalisiniz. mesela 5 cevrim icin asagida tek renge ornek vereyim.


5 msn icersinde ledi

Cevrim1 = yandi ve 1msn boyle kaldi
Cevrim2 = yandi ve 1msn boyle kaldi
Cevrim3 = yandi ve 1msn boyle kaldi
Cevrim4 = yanmadi ve 1msn boyle kaldi
Cevrim5 = yanmadi ve 1msn boyle kaldi

siz o ledten %60parlaklik alirsiniz.  2 cevrimde yansa idi %40 bir cevrimde yansa idi %20 gibi hocam. diger ledleride yakarsaniz renk bulutu elde edebilirsiniz.