Çöken lcd problemi

Başlatan certy, 23 Haziran 2016, 02:16:55

certy

Merhaba arkadaşlar. 3-4 gündür bu sorunla uğraşıyorum. Bir makinede ac motor aç-kapa ve yön kontrolü yapıyorum. Motor 220V 15W. 3 uç çıkıyor. Biri sabit bağlanıyor. Diğerleriyle de yön kontrolü yapılıyor. İşimi görür diye elimde olan 16F877A kullandım. 20MHz'de çalıştırıyorum. Girdiğim sayı kadar ileri geri yapıyor otomatik. Sorun şu ki röleler çek-bırak anında (her seferinde değil, ortalama 20-30 çek bıraktan sonra) lcd ekranda yazılar silinip üst satırda kareler çıkıyor ve öyle bekliyor sanki init edilmemiş gibi. Ancak pic sorunsuz çalışmaya programı koşturmaya devam ediyor. Şu zamana kadar yaptıklarım:

Lcd'nin üstüne Vdd-Vss arasına 1000uF ve 100nF koydum,
Lcd'nin Vee bacağıyla şase arasına 100nF koydum,
Lcd bağlantı kablosuna (flat kablo, 15 cm) alüminyum folyo sarıp şaseledim.
Pic ve lcd beslemesini smps+LM2576 ile sağladım. Olmayınca normal trafoya döndüm. Onunda primerine paralel 100nF+120R ekledim. Yine olmadı.
LM2576 çıkışını LC filtre ile filtreledim.
Röle kontakları arasına snubber ekledim. (100nF+120R)
Bazen aç-kapa ve yön röleleri aynı anda veya çok kısa aralıklar ile açıp kapanıyorlardı program gereği. İki röle arasındaki minimum çalışma boşluğunu 500 ms olarak ayarladım.

Röle sürücü transistörlerini 1k ile pic çıkışından sürüyorum.
Röle bobinine paralel diyotlar zaten vardı.

Kısacası kafayı yemek üzereyim. Daha neler yapabilirim? Tavsiyelerinizi bekliyorum.
TA1USS

muhendisbey

Saniyede bir ekrani clear edip tamamen yenile.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

certy

Alıntı yapılan: muhendisbey - 23 Haziran 2016, 03:43:24
Saniyede bir ekrani clear edip tamamen yenile.

Bunu zaten yapıyorum. Yazmayı unutmuşum.
TA1USS

Maxim

lcd nin 4. ve 6. ayakları ile gnd arasına 1nf koyun.
(rs ve e)

muhendisbey

PIC'i ve LCDyi besleyen kolun beslemesini röleden ayır ve PIC ve LCD için LDO regülatör kullan. 7805 gibi.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

RaMu

Alıntı yapılan: certy - 23 Haziran 2016, 02:16:55
...
Sorun şu ki röleler çek-bırak anında (her seferinde değil, ortalama 20-30 çek bıraktan sonra) lcd ekranda yazılar silinip üst satırda kareler çıkıyor ve öyle bekliyor sanki init edilmemiş gibi. Ancak pic sorunsuz çalışmaya programı koşturmaya devam ediyor.
...


Alıntı yapılan: muhendisbey - 23 Haziran 2016, 03:43:24
Saniyede bir ekrani clear edip tamamen yenile.
Alıntı yapılan: certy - 23 Haziran 2016, 04:05:00
Bunu zaten yapıyorum. Yazmayı unutmuşum.

Lcd init i saniyede bir tekrarlıyorsan,
mcu nun programı koşturmaya sorunsuz devam ettiğini nasıl anlıyorsun?

Yani siyah kareler çıkıp en fazla 1 saniye sonra kaybolması lazım.
Böyle mi oluyor, başka şekilde mi oluyor?

Sorunu çözülemeyen lcd ler için,
bir lcd metin bölgesi tanımlayıp,
şu anda lcd de yazması gerekenleri oraya yazıp,
20-30 milisaniyelik bir timer kurup
her timer kesmesinde bir
lcd yi tekrar init edip,
lcd ye  lcd metin bölgesini tekrar yazan
bir algoritma kullanmak
lcd deki görüntü açısından problemi çözer.

Yinede problemi lcd nin saçmalamasını önleyecek şekilde
donanım açısından çözmek faydalı olur.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

certy

#6
@Maxim, @muhendisbey, @RaMu

Donanım açısından ne yaptıysam olmadı. Bende program kısmına yöneldim. Lcd init konusunu niye olmuyor diye düşünürken o anda devreden bağımsız lcd'nin enerjisini ayırıp tekrar verdim. Ve anladım ki lcdyi bir kere init ettikten sonra enerji kesip vermeden tekrar init olmuyor. Lcd'yi değiştirdim bende. Sorun yok şimdilik.

Tavsiyeleriniz için teşekkürler.
TA1USS