RC reset circuit

I have an LCD display that requires it's /RST pin be low briefly on power up. For testing I've controlled it with a pull-down resistor and an I/O pin from the processor. But I would like to save that pin, if possible, so I wired a simple RC circuit to reset the LCD:

VCC --- R ------ C ---- GND
             |
            /RST

It works okay, but when I turn off the power there are frequently visible glitches on the screen in the form of horizontal lines. Now maybe this doesn't matter that much but it points to something not being quite right.

Is using a simple circuit like this for reset a bad idea? Or can I improve it without adding a boatload of components?

When you turn the device off, the cap is still charged, and probably discharges through the reset pin.
A small diode across the resistor could help discharging the cap faster.
What are the resistor/cap values…
Leo…

reset_rcd.gif

When you power down a device it will always behave in its own way. LCD displays will give you a crazy output when the capacitors on the power lines are going down in voltage after you switched off your circuit.

This is normal behavior and has nothing to do with the RESET pin.

Nothing to worry about.

I still cannot understand the problem

If your device works fine all the time you do NOT have a problem.

And the LCD electronics will simply give you funny outputs for half a second when the voltage breaks down.

This is normal.

arduinoaleman: When you power down a device it will always behave in its own way. LCD displays will give you a crazy output when the capacitors on the power lines are going down in voltage after you switched off your circuit.

This is normal behavior and has nothing to do with the RESET pin.

Nothing to worry about.

Yes completely correct. In fact, most HD44780 based LCD displays don't even HAVE a reset pin accessible from the outside.

Anyway, the LCD module is reset when the proper initialization sequence is performed.

Grab THIS datasheet (a PDF)

...then zip down to page 45 and start reading. It tells you how to init an LCD display, including how to set 4 bit mode or 8 bit mode and VERY IMPORTANTLY when to use and when NOT to use the "BUSY" flag.

Also, certain initialization instructions are done BEFORE the busy flag is valid and therefore hard coded delays are required until the LCD "boots up". All this is documented.

Then when you get what's going on, look at the Arduino "LiquidCrystal" library code and you'll see they're doing the same thing (what a coincidence, huh?) :)

@ Jcom_toronto
You only seem to yap non-technical and non-supporting nonsense.

@ jboyton
Please don’t delete posts.
There could be an active solution to that problem.
e.g. a small fet, like the 2N7000
Source to ground, 10k drain resistor to +5volt and drain to reset pin.
100k from gate to ground, 10n from gate to +5volt.
This way there is no cap on the reset line.
Not tried, but it should work.
Leo…

Sorry about the deletes. I don't like to feed trolls.

Your help is appreciated though. I don't have any FETs, but I will buy a few of them and try out your idea. Thanks.

First of all, thank you to the moderator(s) who restored my deletes. At least in this case I regretted deleting what I'd posted.

As for the question at hand, I finally got my 2N7000 FETs in the mail and set about making the little circuit Wawa suggested.

Just prior to the mailman arriving I had rewired the interface to my display. It's the same, but soldered in places instead of a breadboard. And I replaced the bulky 1uF electrolytic caps I had originally used with smaller multilayer capacitors.

With Wawa's circuit I unfortunately got those "glitches" on power down. However, I now get them even without his circuit.

So maybe the ale man is right?

I had forgotten that I had removed a 10K pull-down resistor from the original circuit. When I replace that the glitch goes away again.

So how might I modify Wawa's circuit to achieve the same thing, assuming it is reasonable to expect that I can do this reliably?

|312x500

Wawa's circuit is the one on top. The original is below that.


edit -- I don't want to post 4 times in a row, so in case anyone cares at some point, here's what I ended up doing:

Having so little background in electronics (I had never touched a FET before) I couldn't figure out how to solve the riddle that Wawa had sought to help me with.

So I took a different path. There are two device chip selects which would never both be active low at the same time during normal operation. But I realized they could briefly be that way during initialization without any conflict. That provided a free state in the truth table for those two CS pins that I could use to generate my reset pulse. So I built an OR gate out of two diodes and a 100K resistor and that did the trick.