LCDde ekran sapitmasini yazilimsal olarak algilamak

Başlatan z, 17 Kasım 2013, 16:13:09

z

Gecmis yillarda 5v islemcilerle calisirken endustriyel ortamlarda bazen islemci normal calismaya devam ettigi halde LCD sapitirdi. Cozum olarak LCD data kablolarini ekranlama yoluna falan giderek bu sorunu kismen  cozerdim.

Fakat gene de arada bir, motor ya da kontaktor vs devreye girdiginde ekran ya bembeyaz yada simsiyah yada ekrandaki bazi karakterlerin baska karakterlerle yer degistirmis oldugunu gorurdum.

LCD sapitmasi durumunu yazilimla algilamayi denedinizmi? Herhangi bir cozumunuz varmi?


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Ramiz

Lcd çok geniş bir kavram. nümerik lcdlerden tutunda, monochrome lara, renklilere.. Hangi lcd leri kastediyorsunuz?
Electrical & Electronics Engineering -> Step one

Bayramsumbul

Alfa sayısal lcdlerde bence okuma yapılarak algılana bilir.Aynı şekilde grafik lcdlerdede.
Bir Elektronik Meraklısının Serüveni...

mozkan87

Karakter lcdlerde okuma işlemi ile bu sorunu aştık. İşlemci ara ara geri ekrandaki veriyi okuyup kontrol ediyor eğer hafızada kayıtlı olan son veriden farklıysa lcd yi tekrar init edip, veriyi tekrar gönderiyor.

fahri-

#4
Tam ben de bu konuyla ilgili çalışıyordum. Aynen bülent hocamın dediği gibi devre çalışmaya devam ederken lcd bir şekilde sapıtıyor. Bunu yazılımsal olarak algılamaya çok uğraştım olmadı. Yabancı forumlarda da aradım bulamadım. Ayda yılda bir bile olsa böyle bir sapıtma olabiliyor. Bir kaç gündür ben de foruma yazayım derken bülent hocam hislerime tercüman oldu.

Benim kullandığım LCD 2x16 dotmatrix olan.
Ben belli periyodlarla LCD ye yazdırıp, yazdırdığımı okuyorum ama lcd sapıtmış durumdaysa bile yazdığımı tekrar okuyabiliyorum. Yani algılama yapamıyorum.
Geçici çözüm olarak LCD yi 1 dk lık periyotlarla tekrar initilize ediyorum. Bozulmuşsa düzeliyor. Normal çalışıyorsa da ekran 1 sn kadar gidip geliyor gibi oluyor.

mesaj birleştirme:: 17 Kasım 2013, 16:56:05

Alıntı yapılan: mozkan87 - 17 Kasım 2013, 16:43:29
Karakter lcdlerde okuma işlemi ile bu sorunu aştık. İşlemci ara ara geri ekrandaki veriyi okuyup kontrol ediyor eğer hafızada kayıtlı olan son veriden farklıysa lcd yi tekrar init edip, veriyi tekrar gönderiyor.

Hocam buradaki geri ekrandan kastınız nedir?

z

LCD controller icindeki ramda text icerigi bozulduysa sorunu anlamak kolay. Fakat her durumda text icerigi bozulacak diye bir kaide yok.
Dolayisi ile sorunun cozumu biraz daha zor.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

CLR

LCD içeriği değişiyorsa muhtemelen Lcd beslemesinden kaynaklıdır(LCD enable pini değişmeden içine normalde yazılmaması gerekir, ki o da güçlü pull-down'da beklemeli ), bence hoş bir besleme filtresi çözer ama yinede benim aklıma gelen yapılabilecekler:

LCD'ye basılacak data bir ram'de tutulur, yeni şey yazacağın zaman ram'e yazarsın sonra ram'i lcd'ye, bu işlemi ister tazeleme için kullanırsın istersen, lcd'den okunan data ram bloğu ile karşılaştırılır.
Knowledge and Experience are Power

Ramiz

Şu 1x16, 2x16 veya 4x16 türde lcd lerden söz ediyorsak,

En güvenilir ve kolay yöntem şu. Bir timer (100 mSn olabilir) belirli bir zaman aralığına kurulur. Bu timer içersinde lcd resetlenip, kullanıma hazırlanıp, ekran verileri yeniden yazılır.

unsigned char Lcdline1[15];
unsigned char Lcdline2[15];
.
.
.

değişkenlerin içerisi değişir değişmez bu ekranda görülür ve bilgiler 100 msn de bir yazıldığı için ekranda hatalı karakter çıksada o karakterin ömrü 100msn olur.
Electrical & Electronics Engineering -> Step one

mistek

5v regülatör üzerinden üzerinden hem dc motor hemde lcd çalıştırdığım zaman anlamsız karakterler çıkıyor ekrana. Kapatıp açınca düzeliyor. Motoru tekrar bağlarsam yine bozuluyor. Anladığım kadarıyla 2x16 LCD ramindeki data bozulmuyor, dotmatrix ile ona komut veren devre arasında sorun oluyor.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

camby

Alıntı yapılan: z - 17 Kasım 2013, 16:13:09
Gecmis yillarda 5v islemcilerle calisirken endustriyel ortamlarda bazen islemci normal calismaya devam ettigi halde LCD sapitirdi. Cozum olarak LCD data kablolarini ekranlama yoluna falan giderek bu sorunu kismen  cozerdim.

Fakat gene de arada bir, motor ya da kontaktor vs devreye girdiginde ekran ya bembeyaz yada simsiyah yada ekrandaki bazi karakterlerin baska karakterlerle yer degistirmis oldugunu gorurdum.

LCD sapitmasi durumunu yazilimla algilamayi denedinizmi? Herhangi bir cozumunuz varmi?

Kart üzerinde her zaman kullandığım blink led var , yaklaşık 1 sn lik bir timer ile çalışıyor.

LCD_Init fonksiyonunu da bu timer kesmesi ile birlikte çağırıyorum. Dolayısıyla her 1 saniyede bir LCD_Init oluyor. Yani ekran saçmalarsa maksimum 1 saniye gözükecek.

İçerisindeki değer de zaten sürekli yenileniyor , gösterdiğim datanın da ne olduğunu takip etmeme gerek yok.


----
Yakın geçmişte sebebini bulamadığım ADC donması yaşamıştım F4 üzerinde. Asenkron olarak bir şekilde kitleniyordu bazen 1 saat bazen 1dk.

çözümü yine aynı , periyodik olarak init yapıyorum kitlense de hemen açılıyor. Tabi bu aslında geçici çözüm , kaynağı bulmam lazım.