I've built this clock with a 3 1/2 digit static TN LCD (GYTN-0587). I drive the 28 LCD segments with an ATmega328 and four 74HC595N shift registers chained together.
Here are the (simplified) schematics (link to larger image):
And here's a picture of the board:
(The board also have an LT1111 regulator in boost configuration and a DS1307 RTC that are not shown in the schematics for simplicity.)
To save batteries and run the clock for several months on the same cells, I planned to run the ATmega in low power mode, waking it up only once per minute or so just to change the display and putting it back to sleep. However, I later learned that TN static LCDs must be refreshed at 10 to 30kHz (sorry, I couldn't find the document I read that - I couldn't find much information about driving TN LCDs out there).
Well, if I drive the shift registers at 30kHz it will leave me no time for the '328 to sleep. In the end that's what I'm doing, refreshing the LCD at 30kHz and the clock works ok. But the batteries run for only about 40h.
If I ignore the LCD refresh rate and leave the segments on for several seconds, the segments kind of vanish away (as in the picture below).
I couldn't find anything about the LCD power consumption and I haven't measured it, but I'm pretty sure the LCD consumes very little current (in the uA range). The '595 also won't use much current either since they are not sourcing much current and consume only 160 uA each. What's wasting all my batteries is the ATmega refreshing the LCD. I just need a different way to drive this LCD that doesn't take as much cycles from the MCU.
My questions are:
Can I drive this LCD in low power with this circuit I've built? If so, how?
If not, what changes should I make to my circuit so I can drive the LCD with minimum power consumption?
What is the Right Way (TM) of driving these LCDs?