Ana içeriğe git

Konu: Kayan yazı parlaklık sorunu (199 Kez okunmuş)

  • nayadotan
  • [*][*]
Kayan yazı parlaklık sorunu
Merhabalar,

5 adet 5x7 led matrix te sabit yazı yazmaya çalışıyorum. 16f877a uzerinden 7 bacağı kullanarak 20mhz ile satırsal tarama yaptırıyorum ve gereken verileri 74hc595 kullanarak veriyorum. ama bu sistem ile alakalı parlaklık sorunu yaşıyorum. bilmiyorum nedendir ama yazıyı yazdırdığım anda yazı parlak çıkmasına rağmen sanki arka plandaki tüm ledlerde kısmi olarak parlama yapıyormuş gibi gorunuyor, yada bir sebepten dolayı parlıyor. oysaki bu yaptığım devreyi proteusta simule ettiğim zaman arka planda parlaklık olmuyor. bu arka plandaki ledlerin parlamamasını nasıl sağlayabilirim?

Parlama meselesi şu videodaki gibi:
https://www.youtube.com/watch?v=PRwaj-pGJNs
  • Son Düzenleme: 22 Kasım 2016, 16:21:55 - nayadotan

  • Adnancoskun
  • [*][*][*][*][*]
  • Genel Moderatör
Ynt: Kayan yazı parlaklık sorunu
Yanıt #1
Merhabalar,

5 adet 5x7 led matrix te sabit yazı yazmaya çalışıyorum. 16f877a uzerinden 7 bacağı kullanarak 20mhz ile satırsal tarama yaptırıyorum ve gereken verileri 74hc595 kullanarak veriyorum. ama bu sistem ile alakalı parlaklık sorunu yaşıyorum. bilmiyorum nedendir ama yazıyı yazdırdığım anda yazı parlak çıkmasına rağmen sanki arka plandaki tüm ledlerde kısmi olarak parlama yapıyormuş gibi gorunuyor, yada bir sebepten dolayı parlıyor. oysaki bu yaptığım devreyi proteusta simule ettiğim zaman arka planda parlaklık olmuyor. bu arka plandaki ledlerin parlamamasını nasıl sağlayabilirim?

Parlama meselesi şu videodaki gibi:
https://www.youtube.com/watch?v=PRwaj-pGJNs
Ledleri nasıl sürdünüz?
Şema var mı?
  • Son Düzenleme: 22 Kasım 2016, 16:53:29 - Adnancoskun
MEVZU BAHİS VATAN İSE , GERİSİ TEFERRUATTIR

  • nayadotan
  • [*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #2


şema bu. datayı 74hc595 leri kullanarak veriyorum. satırsal taramayı 16f877a nın portları ile yapıyorum.

  • Mr_YAMYAM
  • [*][*][*][*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #3
Her 75HC595 in beslemelerine entegrenin dibinden 100nF kondansatör bağla. Bu entegrelerin çıkışlarına uygun değerde birer direnç bağla. (Beslemeye bağlı olarak 100 ohm ila 1Kohm)
Yine etkileşim olursa devre tasarımında grounding hataları vardır.

  • Adnancoskun
  • [*][*][*][*][*]
  • Genel Moderatör
Ynt: Kayan yazı parlaklık sorunu
Yanıt #4


şema bu. datayı 74hc595 leri kullanarak veriyorum. satırsal taramayı 16f877a nın portları ile yapıyorum.
Verdiğiniz linkteki videoda ledler beyaz renkli kılıf içerisine yerleştirilmiş
Eğer ledleriniz ( display) kırmızı ise üstüne reklamcılardan koyu kırmızı renkli filtre alıp, filtre kullanmanızı öneririm
MEVZU BAHİS VATAN İSE , GERİSİ TEFERRUATTIR

  • nayadotan
  • [*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #5
Her 75HC595 in beslemelerine entegrenin dibinden 100nF kondansatör bağla. Bu entegrelerin çıkışlarına uygun değerde birer direnç bağla. (Beslemeye bağlı olarak 100 ohm ila 1Kohm)
Yine etkileşim olursa devre tasarımında grounding hataları vardır.


Dostum dediğini denedim yemedi. grounding hatasi ile alakali birsey bulamadim. arka plandaki ledlere 1.9 volt geliyor resmen pwm etkisi ile yanıyor arka plandaki ledler.



  • nayadotan
  • [*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #6
Verdiğiniz linkteki videoda ledler beyaz renkli kılıf içerisine yerleştirilmiş
Eğer ledleriniz ( display) kırmızı ise üstüne reklamcılardan koyu kırmızı renkli filtre alıp, filtre kullanmanızı öneririm


kullandığım display videodakinin aynısı. normalde filtre ilemi kullanılıyor bu displayler?

  • Adnancoskun
  • [*][*][*][*][*]
  • Genel Moderatör
Ynt: Kayan yazı parlaklık sorunu
Yanıt #7
kullandığım display videodakinin aynısı. normalde filtre ilemi kullanılıyor bu displayler?
Aslında ledlerin zemini siyah renk olur, ancak bu tür dot matrix displaylerde beyaz zemin kullanılıyor, tam opak olmadığından led ışığı az da olsa geçiyor. Aslında üst yüzeyi ledler arası siyah bant veya siyah boya ile kaplı olurdu çoğunda, ama sizinki yarisaydam sanırım

Bence siz aynı renkte  koyu renkli filtre kullanın
Reklamcilarda vardır. Piyasada renkli mika olarak satılıyor
  • Son Düzenleme: 23 Kasım 2016, 07:57:04 - Adnancoskun
MEVZU BAHİS VATAN İSE , GERİSİ TEFERRUATTIR

  • Mr_YAMYAM
  • [*][*][*][*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #8
Dostum dediğini denedim yemedi. grounding hatasi ile alakali birsey bulamadim. arka plandaki ledlere 1.9 volt geliyor resmen pwm etkisi ile yanıyor arka plandaki ledler.
Arka plandaki ledlere 1.9V gibi gerilim geliyorsa bu olay kesinlikle grounding olayıdır.
Buradaki grounding kavramı topraklama demek değildir. Akım yollarının dönüş yollarının birbirlerini kesmeden gidişatını inceler. Genellikle baskı devre çiziminden başlar ve besleme devresine kadar uzanır.
Tam olarak teşhis koyabilmek için yaptığınız baskı devreyi görmeliyiz.

  • Adnancoskun
  • [*][*][*][*][*]
  • Genel Moderatör
Ynt: Kayan yazı parlaklık sorunu
Yanıt #9
Dostum dediğini denedim yemedi. grounding hatasi ile alakali birsey bulamadim. arka plandaki ledlere 1.9 volt geliyor resmen pwm etkisi ile yanıyor arka plandaki ledler.




Arka plandaki ledler derken?
Aktif olmaması gereken ledlerde mi 1.9 volt var?
bu gerilim neredeyse ledin normal çalışma gerilimi. bu işte bir anormallik var, Sizin gönderdiğiniz videoda Pasif olması gereken ledler yanmıyor, yada ben öyle görmüyorum sanki...

Bir de PİC'in çıkış portlarından GND ye  2k2 civarında birer direnç bağlayarak denermisiniz, Pasif oldukları durumda , o noktayı şaseye (0 sıfır noktasına ) çekebilmesi için.
  • Son Düzenleme: 23 Kasım 2016, 13:33:39 - Adnancoskun
MEVZU BAHİS VATAN İSE , GERİSİ TEFERRUATTIR

  • nayadotan
  • [*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #10
Arka plandaki ledlere 1.9V gibi gerilim geliyorsa bu olay kesinlikle grounding olayıdır.
Buradaki grounding kavramı topraklama demek değildir. Akım yollarının dönüş yollarının birbirlerini kesmeden gidişatını inceler. Genellikle baskı devre çiziminden başlar ve besleme devresine kadar uzanır.
Tam olarak teşhis koyabilmek için yaptığınız baskı devreyi görmeliyiz.


Baslangıç olarak baskı devre olarak değilde böyle kablolu kullanıyorum.

Arka plandaki ledler derken?
Aktif olmaması gereken ledlerde mi 1.9 volt var?
bu gerilim neredeyse ledin normal çalışma gerilimi. bu işte bir anormallik var, Sizin gönderdiğiniz videoda Pasif olması gereken ledler yanmıyor, yada ben öyle görmüyorum sanki...

Bir de PİC'in çıkış portlarından GND ye  2k2 civarında birer direnç bağlayarak denermisiniz, Pasif oldukları durumda , o noktayı şaseye (0 sıfır noktasına ) çekebilmesi için.

GND ye 2k2 lik direnç atmak çözüm olmayabilir. cünkü ledlerin yanmasini saglayan 74hc595 ler. Pic sadece satırlara eksi göndererek saydırmayı sağlıyor.



Parlama olayı tam anlamı ile böyle oluyor:



Biraz ledleri körleştirmeyi denedim ama buda genel ledlerin parlaklığını etkiledi.



kullandığım kodlar:
Kod: [Seç]
#include <main.h>
#define SH_CP PIN_C0
#define DS PIN_C1
#define ST_CP PIN_C2

int i = 0;
int j = 0;
int z = 0;
int u = 0;
int v = 0;

int1 displayBuffer1[] = {0,0,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer2[] = {0,0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer3[] = {0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer4[] = {0,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer5[] = {0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer6[] = {0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer7[] = {0,1,0,0,0,1,0,1,1,1,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0};


void Kilit()
{
   output_high(SH_CP);
   output_low(SH_CP);
   output_high(ST_CP);
   output_low(ST_CP);
}


void DsHighLow(int value){
switch(value){
case 0:
output_low(DS);
break;
case 1:
output_high(DS);
break;
}
}

void ekranadegerver(int value){
switch(value){
case 0:{
output_b(0b01111110);
for(j = 0;j<30;j++){
if(displayBuffer1[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 1:{
output_b(0b01111101);
for(j = 0;j<30;j++){
if(displayBuffer2[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 2:{
output_b(0b01111011);
for(j = 0;j<30;j++){
if(displayBuffer3[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 3:{
output_b(0b01110111);
for(j = 0;j<30;j++){
if(displayBuffer4[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 4:{
output_b(0b01101111);
for(j = 0;j<30;j++){
if(displayBuffer5[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 5:{
output_b(0b01011111);
for(j = 0;j<30;j++){
if(displayBuffer6[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 6:{
output_b(0b00111111);
for(j = 0;j<30;j++){
if(displayBuffer7[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
}
}

void main()
{

set_tris_c(0x00);
output_c(0x00);
set_tris_b(0x00);
output_b(0x00);
set_tris_a(0x00);
output_a(0x00);

   while(TRUE)
   {
   ekranadegerver(i);
   i++;
   if(i==7)
   i = 0;
   delay_us(3000);
   }
}

proteus projesi ve hex kodlarıda burda:

https://yadi.sk/d/2fJbTbnIzLrK4
  • Son Düzenleme: 24 Kasım 2016, 05:44:25 - nayadotan

  • i3uz
  • [*][*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #11
Baslangıç olarak baskı devre olarak değilde böyle kablolu kullanıyorum.

GND ye 2k2 lik direnç atmak çözüm olmayabilir. cünkü ledlerin yanmasini saglayan 74hc595 ler. Pic sadece satırlara eksi göndererek saydırmayı sağlıyor.



Parlama olayı tam anlamı ile böyle oluyor:



Biraz ledleri körleştirmeyi denedim ama buda genel ledlerin parlaklığını etkiledi.



kullandığım kodlar:
Kod: [Seç]
#include <main.h>
#define SH_CP PIN_C0
#define DS PIN_C1
#define ST_CP PIN_C2

int i = 0;
int j = 0;
int z = 0;
int u = 0;
int v = 0;

int1 displayBuffer1[] = {0,0,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer2[] = {0,0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer3[] = {0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer4[] = {0,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer5[] = {0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer6[] = {0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0};
int1 displayBuffer7[] = {0,1,0,0,0,1,0,1,1,1,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0};


void Kilit()
{
   output_high(SH_CP);
   output_low(SH_CP);
   output_high(ST_CP);
   output_low(ST_CP);
}


void DsHighLow(int value){
switch(value){
case 0:
output_low(DS);
break;
case 1:
output_high(DS);
break;
}
}

void ekranadegerver(int value){
switch(value){
case 0:{
output_b(0b01111110);
for(j = 0;j<30;j++){
if(displayBuffer1[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 1:{
output_b(0b01111101);
for(j = 0;j<30;j++){
if(displayBuffer2[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 2:{
output_b(0b01111011);
for(j = 0;j<30;j++){
if(displayBuffer3[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 3:{
output_b(0b01110111);
for(j = 0;j<30;j++){
if(displayBuffer4[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 4:{
output_b(0b01101111);
for(j = 0;j<30;j++){
if(displayBuffer5[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 5:{
output_b(0b01011111);
for(j = 0;j<30;j++){
if(displayBuffer6[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
case 6:{
output_b(0b00111111);
for(j = 0;j<30;j++){
if(displayBuffer7[29-j] == 0){
DsHighLow(0);
} else {
DsHighLow(1);
}
Kilit();
}
}
break;
}
}

void main()
{

set_tris_c(0x00);
output_c(0x00);
set_tris_b(0x00);
output_b(0x00);
set_tris_a(0x00);
output_a(0x00);

   while(TRUE)
   {
   ekranadegerver(i);
   i++;
   if(i==7)
   i = 0;
   delay_us(3000);
   }
}

proteus projesi ve hex kodlarıda burda:

https://yadi.sk/d/2fJbTbnIzLrK4

display ve matrix ledlerde bu sorun hep görülür. malesef ledlerin arızalı.... bunun iki sebebi var birincisi fabrikasyon, ikincisi ısıdan dolayı genellikle lehimleme sürecince yapısal sorunlar oluyor ve bozuluyorlar.  yapıdığımız display kartlarında sıfır alıp takıyoruz takar takmaz böyle sorunlar oluyor direk değiştirdiğimizde sorun çözülüyor. bu iş içinde iki sebebi uygun gördük. ya fazla ısıya maruz birakıyoruz yada fabrikasyon...bence soket kullanın.
  • Son Düzenleme: 24 Kasım 2016, 10:06:57 - i3uz
Tanrı Türk'ü korusun

  • olc technics
  • [*][*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #12
@nayadotan
Ledlerin eksisi PIC üzerinden sağlanıyor demişsiniz, PIC'in verdiği akım, ledleri sürmeye yetmiyor olabilir mi?


  • nayadotan
  • [*][*]
Ynt: Kayan yazı parlaklık sorunu
Yanıt #14
display ve matrix ledlerde bu sorun hep görülür. malesef ledlerin arızalı.... bunun iki sebebi var birincisi fabrikasyon, ikincisi ısıdan dolayı genellikle lehimleme sürecince yapısal sorunlar oluyor ve bozuluyorlar.  yapıdığımız display kartlarında sıfır alıp takıyoruz takar takmaz böyle sorunlar oluyor direk değiştirdiğimizde sorun çözülüyor. bu iş içinde iki sebebi uygun gördük. ya fazla ısıya maruz birakıyoruz yada fabrikasyon...bence soket kullanın.

nasıl arizalı? 5 tane matrix ledin 5idemi arızalı? burda farklı bir sorun var ledler ile alakalı bir sorun olduğunu sanmıyorum.