HD44780 LCD Corruption - Page 1
Forum section: electronics / projects

author: pugglewuggle
author_rank: Contributor
timestamp: February 02, 2015, 03:06:55 am
content: Hi,I've got an HD44780 LCD I'm using in 4-bit mode. I'm having an issue where after sitting there for a little while random characters are appearing and changing on the screen. This happens when I'm transmitting data continuously using the cursor and not resetting the whole screen, AND also when I have no changes whatsoever on those data lines, and also if I write my MCU with a program that doesn't even use the lines (the display will leave what was on there but the screen will slowly begin getting totally corrupted. This is NOT a timing issue - again, this occurs when the MCU is not writing data to the screen at all. Being that in 4-bit mode you only use parallel lines D4-D7, I currently have D0-D3 completely disconnected per the datasheet saying 'These pins are not used during 4-bit operation" but not clarifying further about whether to shot them to VDD or GND, or use pull ups/downs or anything.This seems like some kind of transients issue (static maybe?) but I could use any advice in the right direction or how to deal with this. I've seen these little screens all over the place, like at Sonic restaurants here in the U.S. and on all sorts of these devices - and you see this problem a lot (and laugh a little). But now I'm having the same issue.Any ideas? Has anyone else had this issue?

author: dannyf
author_rank: Super Contributor
timestamp: February 02, 2015, 12:15:18 pm
content: QuoteMay not be timing issue (though I wouldn't rule that out) with regards to your code but something somehow is sending something to the display. Wiring? environment? loose connection? bad power? ......

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 02, 2015, 12:25:11 pm
content: How long is your wiring, what does it look like? What are you driving it from?

author: Gixy
author_rank: Regular Contributor
timestamp: February 02, 2015, 12:58:01 pm
content: Bad power or connection fault under the display: there is a flat ribbon cable under the display which can be loose. Try to firmly apply the display to its own PCB and see if it makes something.

author: Kalvin
author_rank: Super Contributor
timestamp: February 02, 2015, 01:54:26 pm
content: Does the MCU keep the I/O-lines driven actively high or low when the display is not used ie. if the MCU turns the I/O-lines into HI-Z state, strange things like this may happen.Have you tried adding 10k pull-downs for the D0-D3 and does that make any difference?Have you tried adding a 10k pull-down (or pull-down, which ever is appropriate) to ENABLE-line and does that make any difference?How is your wiring? If it is a (long) flat cable, there might be some crosstalk between the signals, which may corrupt the data while writing. Adding 100ohm serial resistors for each signal at the MCU side may reduce the crosstalk. There may be some coupling from the environment to the cable, which will produce random enable and writes to the display. If you are using a flat cable with every other signal as ground, you might solve the whole problem.

author: Siwastaja
author_rank: Super Contributor
timestamp: February 02, 2015, 02:16:20 pm
content: Try to add RC filtering to the clock ("enable") line. Maybe something like a 100 ohm resistor with a 10n ceramic between EN-GND directly on the display module. This should filter false pulses out. You may need to slow it down however. But try this first; you can at least see if the problem is noise in the clock signal. A better way is to use those small SMD ferrite beads so you can keep speed higher than with RC filtering.This being said, a display shouldn't do false triggering in normal conditions, even in unoptimal conditions; the MCU should keep the EN line at a low impedance state. I had some troubles with 3-4 meters of ribbon cable but it was in a freaking electric vehicle with a brushed DC motor and hundreds of amperes switching and no filtering at all in LCD lines.

author: OldN00b
author_rank: Contributor
timestamp: February 04, 2015, 10:06:33 pm
content: I got a garbled display on a HD44780 module while writing nothing to the LCD and it was caused by spikes on the power line caused by a MCU-operated solenoid.I solved it by soldering a 100n cap between the VSS and VDD pins of the display.Those displays actually often have empty SMD pads for such a cap.