Arduino'da 16x2 LCD Ekranda Hata Ayıklama


9

Ben standart 16x2 LCD ekran (Ben Hitachi HD44780 uyumlu olduğuna inanıyoruz - aşağıda özet ve şartname bakınız) sahip anlatıldığı gibi, 4 veri işaretçilerine kullanarak bir Arduino Uno için çengel, burada ben paralel 2x 220ohm direnişçiler ekledik olsa (yani 110ohm direnç) pin 16 (Arka ışık topraklama) üzerinde ve Vo üzerinde 4V oluşturmak için Pot'u statik dirençlerle değiştirdi.

Kısacası, RW toprağa bağlanır ve RS, Etkinleştir ve Data4-7, Arduino pinlerine bağlanırken, 0-3 Verileri yüzer.

Arduino'nun farklı pimlerine bağlı başka şeylerim (sensörler, optoizolize SSR'li bir transistör ve bir şebeke rölesi, bazı düğmeler) var. Kullandığım kod, saniyede birkaç kez ekrana metin yazar ve normalde ekran mükemmel çalışır.

Bununla birlikte, röle kapandığında (yaklaşık 10ma sürer ve Arduino pimlerinden birinden kontrol edilen bir transistör tarafından kontrol edilir), bazen LCD bozulur. Genellikle röle bir sonraki kapanana kadar, bazen de röle açıldığında veya sıfırlamak için birkaç açma / kapama döngüsünün ardından bozuk kalır. Kavga her zaman röle açıldığında veya kapandığında aynı anda başlar ve durur.

"Bozuk" derken, İngilizce karakterleri yazmaktan ziyade, bozulduktan sonra ona her yazdığımda, genellikle veri sayfasında tanımlayamadığım bir dizi karakter alıyorum (bazılarını yapabiliyorum). Bu bozuk karakter dizisi, LCD'ye yeni metin yazarken ekran boyunca sola hareket etme eğilimindedir.

Aynı metni Seri monitöre aynı anda yazdığımdan ve bozuk olmadığından Arduino'nun kafasının karıştığından emin değilim.

O zamandan beri RW pinini bir Arduino çıkışına ve Data0-3'ü toprağa bağlamayı denedim, ama bu yardımcı olmuyor. Tüm cihazı 9V pil veya USB ile çalıştırdım ve yardımcı olmuyor. Pili değiştirdim ... değişiklik yok.

Çalışıyor gibi görünen tek şey röleye hiçbir yükün takılı olmaması, ancak bu amacı yendi :-)

Bir sinyal analizcim ya da multimetre, dizüstü bilgisayar ve arduinodan daha sofistike bir şeyim yok ... Bu hata ayıklamama yardımcı olacak herhangi bir ipucu var mı?

LCD Özet Sayfası: http://oomlout.com/LCDD/LCDD-SUMM-BC1602A.pdf

LCD Özellikleri: http://oomlout.com/LCDD/LCDD-DATA-BC1602A.pdf

Bozuk metin örneği: bozuk metin


1
Güç raylarınıza en az 1 uF kapasitör eklemeyi deneyin, yani kapasitörün bir ucu Vcc'ye, diğeri GND'ye. Elektrolitik ise kapasitörün yönüne dikkat edin :)
abdullah kahraman

1
Bu gerçekten tuhaf. Bu büyük röleyi doğrudan sürmüyorsunuz, satın aldığınız röle kutusunda, gücü büyük röleye çeviren küçük bir DIP SSR var ve büyük röle AC hattından çıkıyor. Bu nedenle, harekete geçen röle tarafından üretilen back-emf'in devreye girmesi için hiçbir yol olmamalıdır.
Connor Wolf

Topraklama / ayırma problemi gibi kokuyor. Ekmek tahtasındaki güç raylarınızda ne kadar kapasitansınız var?
Connor Wolf

Ayrıca, röle kutusu devre kesimli devreye ne kadar yakın? Röle kutusu ve devrenin geri kalanı arasına birkaç fit tel koyabilir misiniz? Bu, herhangi bir manyetik kuplaj olasılığını ortadan kaldıracaktır.
Connor Wolf

Yanıtlar için teşekkürler. Rölenin bir SSR ve diğer çeşitli bileşenlerle ayrıldığından emin olabilirsiniz. Bir diyot denedim ve daha sonra LCD'nin yakınındaki güç raylarında 5V ve GND arasında bir 220 uF elektrolitik kapasitör denedim. Bunların hiçbirinin bir etkisi yoktu. İkisini birlikte denemedim (henüz).
Richard Russell

Yanıtlar:


5

Rölenizde bir diyot var mı? Değilse, kapatma / açmadaki endüktif yükselmeler muhtemelen sorunlara neden olacaktır.

Örneğin, bir röleden akan akımı durdurduğunuzda, onu devam ettirmeye çalışır, eğer deşarj yolu yoksa büyük bir voltaj oluşturur (esas olarak bir rota bulana kadar yükselmeye devam eder).
Özellikle formül V = L'dir (dI / dT). Bu, indüktörün, akım değişim oranıyla orantılı bir voltaj geliştirerek içinden geçen akım değişikliklerine karşı çıktığı anlamına gelir .

Normal akım akışına karşı gelecek şekilde rölenin üzerine bir diyot yerleştirmeyi deneyin.

EDIT - ürün sayfasını kontrol etmek, çevre bileşenleri eklenmiş bir kutuda "hazır haddelenmiş" bir röle gibi görünüyor, bu yüzden yukarıda olması muhtemel değildir. Buna rağmen diyotu rölenin gücü boyunca yerleştirmeyi denerdim.
Ayrıca, tedarikinizin yorumlarda belirtildiği gibi iyi filtrelendiğinden emin olun. IC'lerin ve LCD'nin yanına en az 1 uF'luk birkaç kapasitör ve bir yere> 100 uF'lık bir toplu kapak yerleştirin (hepsi güçten yere)


"Röle" veri sayfasına bakın. Röleye giriş aslında gerçek gücü rölenin kendisine geçiren küçük bir SSR kullanıyor. Röle olayının girişi bir SSR girişi olduğundan, bir diyotun gerçekten bir şey yaptığını görmüyorum.
Connor Wolf

(Daha önce bulamadım) bir göz vardı ve katılıyorum, sadece daha fazla bilgi olmadan öneri "incitemez" tür oldu. Umarım yakında eklenen ayırma ile nasıl bir güncelleme alırız.
Oli Glaser

Yanıtınız için teşekkürler. Rölenin bir SSR ve diğer çeşitli bileşenlerle ayrıldığından emin olabilirsiniz. Diyotu denedim ve daha sonra LCD'nin yakınındaki güç raylarında 5V ve GND arasında bir 220 uF elektrolitik kapasitör denedim. İkisini birlikte denemedim (henüz).
Richard Russell

Ayrıca AC devresini bilinçli bir şekilde 5V devresinden bir ayak uzağa hareket ettirmeye çalıştım, sadece 5V röle sinyal telini birbirine bağladı, ancak bu yardımcı olmadı. Deneylerimde, röle üzerindeki küçük bir yükün (85W halojen lamba) ekranda çok fazla bir etkisi olmadığını keşfettim, ancak büyük bir yüküm varsa (2000W su ısıtıcısı), hataya neden olma olasılığı daha yüksektir. Nadiren de olsa bu problemi daha önce lamba ile gördüm.
Richard Russell

1 uF veya benzeri bir seramik kapak geçici akımlar için daha iyi olur, 220 uF ile paralel bir tane ekleyin. Röle kablolarının yanında + 5V ve GND boyunca bir veya iki> 100 uF kapak daha eklemeyi deneyin. Bize kurulumunuzun daha iyi bir resmini gösterebilir misiniz?
Oli Glaser

1

Arduino bir SainSmart opto-izole röle kartını da kontrol ederken 16x4 LCD ekranla aynı problemi yaşadım . Röle kontakları bağlı değilken her şey yolunda gitti. Ancak röle endüktif yükü (24 VAC güç rölesi) değiştirdiğinde ekran bozuldu. Hiçbir güç izolasyonu ve filtre kapasitörü yardımcı olmadı.

Sorunu çözen, SainSmart röle kontakları boyunca bir snubber (kapasitör ve seri direnç) idi. Düzgünlük için önceden paketlenmiş bir Cornell Dubilier EMI / RFI filtresi kullandım, ancak 47 ohm dirençli seri olarak bahçe tipi 0.1 ufd kapasitör muhtemelen de işe yarayacaktı.


kapasitör ve direnci röle ile nasıl seri hale getirdiğinize dair devre şemasını görebilir miyim? TEŞEKKÜRLER
Jam Ville

1

Kafamın neden LCD'm "bozuk" olduğunu ve Arduino GND'imi breadboard'a bağlamadığım ortaya çıktı (eğer birisine yardım ederse). Saygılarımızla


Bu, mevcut yorumlara fazla bir şey katmaz.
David

-1

çıkışta blendajlı kablo kullanın ve topraklayın. Sorunu benim için çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.