This page is a short document on the proof-of-concept passive LCD project.
Pre-release quality, may contain lot of error and spelling mistakes.
Passive LCD displays comes in all shape and sizes, probably the most popular ones are the seven segment numerical displays used in digital clocks. This type of display is not very popular within the hobbyist community due to the lack of advantage of using one. LED displays can be utilized for most applications. The only type of LCD used are alpha numeric type with build-in drivers.
With the improvement of the technology, there are new microprocessors available that consume very little power, thus opens up a whole new field of applications for the embedded processor. Due to the low power requirement of the application, traditional LED and LCD with build-in controller can not be used.
My objective is to design projects that can run for years on each battery. LED is completely not feasible because each LED draws around a milliamp each. LCD modules also consumes three to four milliamp of current, which is still too much. The ideal choice thus is passive LCDs.
I decided to create this page because I found that there are few projects available from the web regarding using passive LCDs. Partially due to the fact it is hard to drive and there is little incentive to use them. Thus, for those who like to design battery powered gadgets, this page is for you.
The project is to build a clock that runs on battery. You might think this is pretty stupid because I took a LCD display from a clock to build another clock. Why don't I just use the clock? Well, this is only a prof of concept project and I can reuse the code for this project for another project easily. A clock is easy to build and very useful, thus it is an ideal project for beginner.
The microprocessors used for this project is from the nano-watts processor from Microchip Technology. The specific processor used is 16F648A. This processor only consumes 10uA~20uA of current at a clock speed of 32kHz, which is perfect for all sort of battery powered projects.
The LCD used in this project comes from an old clock. I have no idea where the clock gone to, I just found the LCD in my workshop junk box, which works great. There are LCD panels available from Digikey with pin pre-attached. For this particular LCD panel, I used pins from IC sockets to connect the LCD panel to the PCB. Epoxy glue is used to cure the IC socket pins to the display.
Before the LCD can be used, the pinout must be traced first. Unless you order the display from Digikey which the pin-out readily available. One way is to do it is to trace the connection through visual inspection. The conductive film on the glass will look greenish when reflected at a particular angle. Coat a layer of rubbing alcohol on top of the glass can make the trace more visitable. However, it is still very hard to trace the entire LCD display using this method. Thus I recommend the second method of actually driving the LCD and see with segment lights up.
The LCD must be driven with AC current. DC current will not work! If you have access to a function generator, set the output of a square wave with an amplitude of 3 to 5 Volts peak to peak. The frequency can be anywhere from 50Hz to 500Hz. If you can't find a function generator, you can use a small transformer that outputs 3 to 6Volts AC and use a variable resistor to divide the voltage to a suitable level.
With the AC generator, now it's time to probe the display.
For the particular display used for the clock project, there are two common lines. One activates the upper half of the display while the other one activates the lower half. The segment elements that make up the digits are multiplexed using these two common lines. There are two elements attached to each row line. Because the digits are multiplexed, the number of signal that is required to drive the LCD is reduced in half.
Unlike LED display, the LCD display is driven with AC waveform. The common line that is not driven can not be tied to either the ground or the power line, since the AC waveform driven into the other common line will cause the digit that is suppose to be off to light up. The solution to this problem is to kept the unused line at a voltage level half way between the power and ground. The circuit I implemented is to create the half voltage using a set of voltage divider. For the type of display I'm using only two elements are multiplexed using the same line. Care must be taken when driving displays that has many elements multiplexed one the same column driver, especially matrix type of display as as the number of elements increases, the crosstalk between elements becomes harder to control.
This is the problem of using PIC16F648. I need 16 output lines to drive the entire LCD, however, one of the output on the microprocessor is a open collector output. Thus an constant current source is place as the load for the line to make sure the output can swing from ground to power. However, doing so caused the circuit to consume 10uA more. This can be avoided by using a bigger microprocessor with more I/O lines. However, larger microprocessors also consumes more power. For now, the workaround will do the trick.
The drive waveform is selected to be around 60Hz. Anything below 60Hz cause the display to flicker. Because the microprocessor runs at such low speed, the refresh rate is selected to be as low as possible, thus not to use too much of the CPU resource.