ilginç bir lcd sorunu

Başlatan zenze, 01 Mart 2010, 23:56:52

zenze

Daha önce birçok defa yaptığım devrede lcd görüntüsü  hatalı oluyor . Şöyleki ; Üç dört defa satır düzgün gözüküyor sonra 1.satır sola bir karakter kayıp ilk karakteri farklı çıkıyor.  Üç dört defa da bir ( peryodik değil) bu durum oluyor. Devre,pcb ve lcd devamlı kullandığım malzemeler.
Programda öyle. Kristali değiştirdim fakat sıkıntı devam ediyor yaptığım 3 kartın üçünde de aynı sorun var. Fikri olan arkadaşım var mı ? Teşekkür ederim.

tyildizak

Data ve komut bekleme sürelerini uzatmayı denediniz mi?

ete

Dil belirtmemişsiniz ama Basic de çözüm,

DEFINE LCD_COMMANDUS 2000 'Command delay time in us
DEFINE LCD_DATAUS   50 'Data delay time in us

komutlarındadır.

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

zenze

Teşekkür ederim data gecikmesi sorunumu çözdü. Bu durumu Lcd nin toleransı olarak kabul etmek gerekir sanırım. Önceki lcd lerde böyle bir durum olmamıştı.

Tagli

Alıntı yapılan: "zenze"Bu durumu Lcd nin toleransı olarak kabul etmek gerekir sanırım.
Komut işleme süresi desek daha doğru olur. En yüksek verimi alabilmek için LCD'nin Busy Flag'ı okunarak 0 olduğunda komut gönderilebilir. Bu durumda araya sabit bir bekleme süresi koymaya gerek kalmaz. Ama bunun için R/W bacağını da kullanmak gerekir.
Gökçe Tağlıoğlu

zenze

İlk mesajım da yazdığım gibi ; Mcu,program ve kristal aynı. Komut işleme süresinde değişim olması için bir sebep göremiyorum.

erhanzeynel

Alıntı yapılan: "zenze"İlk mesajım da yazdığım gibi ; Mcu,program ve kristal aynı. Komut işleme süresinde değişim olması için bir sebep göremiyorum.

Ancak lcdnin üstünde de bir mcu var.

zenze

Aynı model lcd yi kullandığımı da yazmıştım sanırım.

tyildizak

Hocam demek ki sınırda delay değerleriyle çalışıyormuşsunuz. Aynı devrenin önceden hazırladığınız örneklerinden olsa sök-tak karşılaştırma yapıp değişikliğin neden kaynaklandığını daha kolay anlayabilirdiniz.

Bu delay süreleri lcd'ye göre hatta aynı markada farklı tarihlerde üretilmiş olanlarda bile değişebiliyor.
Örneğin geçtiğimiz günlerde bir projede 2 encoder'ı aynı anda sayıp kısa aralıklarla her ikisine ait mesafeleri ekrana göndermem gerekmişti. 255 pals encoder'larda 8 bit işlemciyle gerçekten zor iş, encoderları sayarken bir taraftan değerleri mm'ye çevirip ekrana basmak vs. Pals kaçırmamak için aklıma delay'leri kısaltmak geldi(PBP)

Default değerler:
     DEFINE LCD_COMMANDUS 2000
      DEFINE LCD_DATAUS 50



iken ben :
    
      DEFINE LCD_COMMANDUS 100
      DEFINE LCD_DATAUS 35

değerlerine kadar indim, sistem 2 aydır sıkıntısız çalışıyor. Oysa geçen yıl aynı seri lcd'lerle 1000 us'ye kadar bile inememiştim.

Aslında @Tagli hocamın dediği gibi r-w bacağına bakmak daha doğru olurdu tabii ama zaman kısıtlıydı ve o anda aklıma gelmedi.

Kolay gelsin, iyi akşamlar

zenze

Sanırım artık ortak bir düşünce de karar kıldık. Lcd li devrelerde bazen delay süreleriyle oynamak gerekiyor.  Konuyu uzatmamak için pbp nin lcd default delay sürelerini sormuyorum :)

sdonmez

Aynı konu benim de başıma geçen günlerde gelince forumda bu başlıkla karşılaştım.
Winstar marka idi sanırım yeşil Lcd ile devre çalışırken (ekrandaki değerler hızlı vaziyette değerler güncelleniyor) bazen saçma sapan karakterler çıkıyordu.  sanırım aynı markanın mavi karakter lcd'sini taktığımda hiçbir sorun olmadığını görünce aklıma takılmıştı.  Demek sorunun kaynağı lcd imiş.