Hobby Electronics Basics LCD controlling with comparators

Bookmark this page:  YahooMyWeb Yahoo!  Google Google  Windows Live Favorites Windows Live  del.icio.us del.icio.us  digg digg  Add to Netscape Netscape
Subject Author Date
LCD controlling with comparators Danny T 01-15-05
Posted by Danny T on January 16, 2005, 1:09 pm
Please log in for more thread options
John Fields wrote:

> You have what's called a "static" display, and the pins marked "com"
> are connected to the backplane, which is the transparent electrode
> which forms one side of the capacitor comprising each segment and the
> backplane. MOST static LCD displays aren't designed to be driven by
> DC, and what will happen is that the ITO will plate out of either the
> backplane or the segment and migrate to the opposite electrode, with
> the eventual result that the capacitor will be destroyed and the digit
> will become unreadable. The proper way to drive static LCDs is with
> square wave AC; the backplane and the segment being driven in phase
> when the segment isn't supposed to be displayed, and out of phase when
> it is, like this for the segment to be off:
>
> __ __ __ __ __ __
> SEGOFF__| |__| |__| |__| |__| |__|
>
> __ __ __ __ __ __
> BP __| |__| |__| |__| |__| |__|
>
>
> and like this for it to be on:
>
> __ __ __ __ __ __
> SEGON |__| |__| |__| |__| |__| |__
>
> __ __ __ __ __ __
> BP __| |__| |__| |__| |__| |__|
>
>
> This task _can_ be accomplished with a µC and a longish shift register
> By EXORring the backplane and the segments at about 30Hz., but it's
> often done with a device like a National MM5483 so all you have to do
> is shift data into it and strobe the output registers without any
> extra software overhead.
>
> http://cache.national.com/ds/MM/MM5483.pdf
>
> If you've got a 3-1/2 digit seven-segment display, that's 23 segments,
> and the 5483 can drive 32 segments and a backplane, so that leaves you
> with nine extra segment drivers for decimal points, annunciators, or
> the colon if you're doing a clock. Best of all, Digi-Key's got them
> in 40-pin DIP packages for about five bucks.

I see (oops)... What I don't understand though, if "com" is for the
backplane - what about ground? :-

--
Danny


Posted by John Fields on January 16, 2005, 3:23 pm
Please log in for more thread options

>John Fields wrote:
>
>> You have what's called a "static" display, and the pins marked "com"
>> are connected to the backplane, which is the transparent electrode
>> which forms one side of the capacitor comprising each segment and the
>> backplane. MOST static LCD displays aren't designed to be driven by
>> DC, and what will happen is that the ITO will plate out of either the
>> backplane or the segment and migrate to the opposite electrode, with
>> the eventual result that the capacitor will be destroyed and the digit
>> will become unreadable. The proper way to drive static LCDs is with
>> square wave AC; the backplane and the segment being driven in phase
>> when the segment isn't supposed to be displayed, and out of phase when
>> it is, like this for the segment to be off:
>>
>> __ __ __ __ __ __
>> SEGOFF__| |__| |__| |__| |__| |__|
>>
>> __ __ __ __ __ __
>> BP __| |__| |__| |__| |__| |__|
>>
>>
>> and like this for it to be on:
>>
>> __ __ __ __ __ __
>> SEGON |__| |__| |__| |__| |__| |__
>>
>> __ __ __ __ __ __
>> BP __| |__| |__| |__| |__| |__|
>>
>>
>> This task _can_ be accomplished with a µC and a longish shift register
>> By EXORring the backplane and the segments at about 30Hz., but it's
>> often done with a device like a National MM5483 so all you have to do
>> is shift data into it and strobe the output registers without any
>> extra software overhead.
>>
>> http://cache.national.com/ds/MM/MM5483.pdf
>>
>> If you've got a 3-1/2 digit seven-segment display, that's 23 segments,
>> and the 5483 can drive 32 segments and a backplane, so that leaves you
>> with nine extra segment drivers for decimal points, annunciators, or
>> the colon if you're doing a clock. Best of all, Digi-Key's got them
>> in 40-pin DIP packages for about five bucks.
>
>I see (oops)... What I don't understand though, if "com" is for the
>backplane - what about ground? :-

---
There _is_ no hard ground required, it's like this:

INn------------------------------------------+
|
INb----------------------+ |
| |
INa---+ | |
| | |
+--A +--A +--A
EXOR Y------+ EXOR Y------+ EXOR Y------+
INBP>-+--B | +--B | +--B |
| | | | | |
+------------|-----+------------|------+ |
|COM a| b| n|
+-|------------|------------------|-------------------|----+
| | | | | |
| | [SEGa] [SEGb] [SEGn] |
| | | | | |
| +------------+------------------+---------//--------+ |
| DISPLAY GLASS |
+----------------------------------------------------------+

Where the EXORs are part of the external drive circuitry, the "DISPLAY
GLASS" is the display itself, and SEGa, SEGb, and SEGn represent the
inherent capacitances between the various segment electrodes and the
backplane.

--
John Fields


Posted by Danny T on January 16, 2005, 9:26 pm
Please log in for more thread options
John Fields wrote:

>>>You have what's called a "static" display, and the pins marked "com"
>>>are connected to the backplane, which is the transparent electrode
>>>which forms one side of the capacitor comprising each segment and the
>>>backplane. MOST static LCD displays aren't designed to be driven by
>>>DC, and what will happen is that the ITO will plate out of either the
>>>backplane or the segment and migrate to the opposite electrode, with
>>>the eventual result that the capacitor will be destroyed and the digit
>>>will become unreadable. The proper way to drive static LCDs is with
>>>square wave AC; the backplane and the segment being driven in phase
>>>when the segment isn't supposed to be displayed, and out of phase when
>>>it is, like this for the segment to be off:
>>>
>>> __ __ __ __ __ __
>>>SEGOFF__| |__| |__| |__| |__| |__|
>>>
>>> __ __ __ __ __ __
>>>BP __| |__| |__| |__| |__| |__|
>>>
>>>
>>>and like this for it to be on:
>>>
>>> __ __ __ __ __ __
>>>SEGON |__| |__| |__| |__| |__| |__
>>>
>>> __ __ __ __ __ __
>>>BP __| |__| |__| |__| |__| |__|
>>>
>>>
>>>This task _can_ be accomplished with a µC and a longish shift register
>>>By EXORring the backplane and the segments at about 30Hz., but it's
>>>often done with a device like a National MM5483 so all you have to do
>>>is shift data into it and strobe the output registers without any
>>>extra software overhead.
>>>
>>>http://cache.national.com/ds/MM/MM5483.pdf
>>>
>>>If you've got a 3-1/2 digit seven-segment display, that's 23 segments,
>>>and the 5483 can drive 32 segments and a backplane, so that leaves you
>>>with nine extra segment drivers for decimal points, annunciators, or
>>>the colon if you're doing a clock. Best of all, Digi-Key's got them
>>>in 40-pin DIP packages for about five bucks.
>>
>>I see (oops)... What I don't understand though, if "com" is for the
>>backplane - what about ground? :-
>
>
> ---
> There _is_ no hard ground required, it's like this:
>
> INn------------------------------------------+
> |
> INb----------------------+ |
> | |
> INa---+ | |
> | | |
> +--A +--A +--A
> EXOR Y------+ EXOR Y------+ EXOR Y------+
> INBP>-+--B | +--B | +--B |
> | | | | | |
> +------------|-----+------------|------+ |
> |COM a| b| n|
> +-|------------|------------------|-------------------|----+
> | | | | | |
> | | [SEGa] [SEGb] [SEGn] |
> | | | | | |
> | +------------+------------------+---------//--------+ |
> | DISPLAY GLASS |
> +----------------------------------------------------------+
>
> Where the EXORs are part of the external drive circuitry, the "DISPLAY
> GLASS" is the display itself, and SEGa, SEGb, and SEGn represent the
> inherent capacitances between the various segment electrodes and the
> backplane.

Righto. I'll leave it as it is while I get my other chip working, then I
might play about with changing it as you suggest! :-)

--
Danny


Posted by John Fields on January 16, 2005, 3:53 pm
Please log in for more thread options

>John Fields wrote:
>
>>>>You have what's called a "static" display, and the pins marked "com"
>>>>are connected to the backplane, which is the transparent electrode
>>>>which forms one side of the capacitor comprising each segment and the
>>>>backplane. MOST static LCD displays aren't designed to be driven by
>>>>DC, and what will happen is that the ITO will plate out of either the
>>>>backplane or the segment and migrate to the opposite electrode, with
>>>>the eventual result that the capacitor will be destroyed and the digit
>>>>will become unreadable. The proper way to drive static LCDs is with
>>>>square wave AC; the backplane and the segment being driven in phase
>>>>when the segment isn't supposed to be displayed, and out of phase when
>>>>it is, like this for the segment to be off:
>>>>
>>>> __ __ __ __ __ __
>>>>SEGOFF__| |__| |__| |__| |__| |__|
>>>>
>>>> __ __ __ __ __ __
>>>>BP __| |__| |__| |__| |__| |__|
>>>>
>>>>
>>>>and like this for it to be on:
>>>>
>>>> __ __ __ __ __ __
>>>>SEGON |__| |__| |__| |__| |__| |__
>>>>
>>>> __ __ __ __ __ __
>>>>BP __| |__| |__| |__| |__| |__|
>>>>
>>>>
>>>>This task _can_ be accomplished with a µC and a longish shift register
>>>>By EXORring the backplane and the segments at about 30Hz., but it's
>>>>often done with a device like a National MM5483 so all you have to do
>>>>is shift data into it and strobe the output registers without any
>>>>extra software overhead.
>>>>
>>>>http://cache.national.com/ds/MM/MM5483.pdf
>>>>
>>>>If you've got a 3-1/2 digit seven-segment display, that's 23 segments,
>>>>and the 5483 can drive 32 segments and a backplane, so that leaves you
>>>>with nine extra segment drivers for decimal points, annunciators, or
>>>>the colon if you're doing a clock. Best of all, Digi-Key's got them
>>>>in 40-pin DIP packages for about five bucks.
>>>
>>>I see (oops)... What I don't understand though, if "com" is for the
>>>backplane - what about ground? :-
>>
>>
>> ---
>> There _is_ no hard ground required, it's like this:
>>
>> INn------------------------------------------+
>> |
>> INb----------------------+ |
>> | |
>> INa---+ | |
>> | | |
>> +--A +--A +--A
>> EXOR Y------+ EXOR Y------+ EXOR Y------+
>> INBP>-+--B | +--B | +--B |
>> | | | | | |
>> +------------|-----+------------|------+ |
>> |COM a| b| n|
>> +-|------------|------------------|-------------------|----+
>> | | | | | |
>> | | [SEGa] [SEGb] [SEGn] |
>> | | | | | |
>> | +------------+------------------+---------//--------+ |
>> | DISPLAY GLASS |
>> +----------------------------------------------------------+
>>
>> Where the EXORs are part of the external drive circuitry, the "DISPLAY
>> GLASS" is the display itself, and SEGa, SEGb, and SEGn represent the
>> inherent capacitances between the various segment electrodes and the
>> backplane.
>
>Righto. I'll leave it as it is while I get my other chip working, then I
>might play about with changing it as you suggest! :-)

---
OK. One thing I didn't mention is that INBP should be a square wave
and that INa, INb, and INn should be logic level highs or lows; high
to make the corresponding segment visible and low to make it
invisible. Also, be aware that all this circuitry is internal to the
5483, so all you need to do is set the frequency of its internal RC
oscillator, then treat it like a 32 bit shift register and it'll do
the rest of the work for you.

If you want to play around with it and do it with 8 bit serial-in
parallel-out shift registers (with output latches) you'll need three
of them plus six quad EXORs.

--
John Fields


Posted by Anthony Fremont on January 16, 2005, 1:01 am
Please log in for more thread options

> Anthony Fremont wrote:
>
> > What kind of LCD do you have? You may need to be careful with how
you
> > drive the digits.
>
> 57-0160 from rapidelec.co.uk

I found it, but no datasheet.

> It seems to be available in a 4-pin option, but I ordered the "31/2"
> assuming it meant 21 pins on each side, but it only has 40 (no idea
what
> the "4" flava is then!)
>
> CBarn24050 just suggested I shouldn't be driving it from DC - is this
> really a big problem? It seems to be working fine, my clock has two
> digits! Other two can wait till after tea - I've already wired about
60
> pins together across 4 PICs...

Matrix type LCDs have to be scanned, the pixels can never be allowed to
see any DC voltage or they will cook. Your display does not appear to
be in this category. Your display is a very fixed purpose display.
Your display will only display 3 1/2 digits, that means the first column
can't show all the numbers 0 - 9, only 0-1 or 0-3 depending on the
display.

> http://dantup.me.uk/tmp/wires.jpg

You should see the BASIC-52 computer I made with scads of jumpers for
the external latches and ram for the 8052. Kinda neat about 3.5" square
and runs on a 9V battery, just hook up to the serial port, push the
reset button, hit the space bar (or is it return) and it's 1977 again.
;-)

> > There's a bunch of ways this can be done, but yours wins the Rube
> > Goldberg award. ;-) You should multiplex the digits from just one
pic.
> > You can use PORTB to connect to all the segments in parallel and
then
> > turn on the anode (or cathode whichever it is) from PORTA pins. You
put
> > the segments for the first digit on PORTB and then drive PORTA, 0
low
> > (or high) to illuminate the first digit. You then turn off the
PORTA,0
> > pin and put the data values for the second digit onto PORTB, then
turn
> > on PORTA, 1. Cycle thru PORTA, 2 and PORTA, 3 then back to PORTA,
0.
> >
> > If you setup say a timer interrupt to occur every 10mS or so, you
can
> > switch digits in the ISR and leave them till the next interrupt 10mS
> > later. That would update the entire display every 40mS or 25 times
per
> > second. Your eyes will never know the difference and it will only
need
> > 11 i/o pins.
>
> This sounds like a fantastic idea *but* of the 40 pins on my display,
> the only ones marked on the datasheet are one for every segment/dp on
> the screen, plus two "com" (one on each side). I assumed it meant
> "common" and grounded it, while connecting the other pins to pic
> outputs, and they drive fine. I assume your method isn't useful for
this
> particular LCD?

This appears to be the case. If you don't have access to the cathodes
of each individual segment, then you can't multiplex it in the way I
described. You should be using a Hitachi type LCD display anyway, or 7
segment LEDs. ;-)



Similar ThreadsPosted
LCD controlling with comparators January 15, 2005, 6:50 pm
Magnitude Comparators December 7, 2007, 5:40 am
Connect two comparators' output together.. January 23, 2006, 10:58 pm
What is the benefit with comparators that have a Hysteresis pin? May 18, 2008, 3:20 pm
Controlling 12V from 5V June 29, 2005, 3:35 pm
controlling April 10, 2007, 6:25 am
controlling many switches from the PC December 2, 2004, 6:46 am
op amp controlling a mosfet July 18, 2006, 1:20 pm
Controlling hundreds of LEDs December 21, 2004, 8:41 pm
Controlling a motor with a transistor and a PIC June 7, 2006, 11:14 pm
Re: Controlling a relay via cellular phone..... July 12, 2006, 6:23 pm
Re: Controlling a relay via cellular phone..... July 12, 2006, 7:03 pm
Re: Controlling a relay via cellular phone..... July 12, 2006, 8:50 pm
controlling 2 stepper motors along x and y axis September 11, 2006, 1:03 pm
controlling dc motor direction (help a newbie, please) October 28, 2006, 2:09 am