Author Topic: EEVblog #248 - LCD Enabled Microcontroller Selection  (Read 4841 times)

0 Members and 1 Guest are viewing this topic.

Offline sacherjjTopic starter

  • Frequent Contributor
  • **
  • Posts: 993
  • Country: us
EEVblog #248 - LCD Enabled Microcontroller Selection
« on: February 28, 2012, 07:15:37 pm »
I didn't realize there were specific LCD driver Micros.  I've always done the Drive Common to GND, drive on Segs High and off Segs Low.  Wait.  Drive Common High, On Segs Low, Off Segs High, Wait.  Repeat at 60 Hz or whatever the LCD needs.

I'm assuming the LCD outputs, just automate this so you don't have to do it in code?
 

Offline TerminalJack505

  • Super Contributor
  • ***
  • Posts: 1310
  • Country: 00
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #1 on: February 28, 2012, 07:40:43 pm »
The MCU's LCD controller will typically also drive multiplexed LCD displays.  What you're referring to is a static display.

A multiplexed display will have more than one common terminal.  Because of this they require really weird voltage levels that you can't get from a simple digital pin.
 

Offline sacherjjTopic starter

  • Frequent Contributor
  • **
  • Posts: 993
  • Country: us
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #2 on: February 28, 2012, 08:17:25 pm »
The MCU's LCD controller will typically also drive multiplexed LCD displays.  What you're referring to is a static display.

A multiplexed display will have more than one common terminal.  Because of this they require really weird voltage levels that you can't get from a simple digital pin.

Ah.  I figured there was more to it than I could see.
 

Offline DarkPrince

  • Regular Contributor
  • *
  • Posts: 107
  • Country: us
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #3 on: March 01, 2012, 01:44:03 pm »
I didn't realize there were specific LCD driver Micros.  I've always done the Drive Common to GND, drive on Segs High and off Segs Low.  Wait.  Drive Common High, On Segs Low, Off Segs High, Wait.  Repeat at 60 Hz or whatever the LCD needs.

I'm assuming the LCD outputs, just automate this so you don't have to do it in code?

Yeah unfortunately driving a lcd is a little bit more complicated. The overall dc component of each segment should be zero, such that if you drive it +Seg/-Com, then eventually (relatively short time) it should be driven -Seg/+Com for the same duration.

As quoted from http://www.lxdinc.com/application_notes/lcd_direct_drive_techniques
Quote
LCD's require an AC drive voltage with minimal DC component. Prolonged DC operation may cause electrochemical reactions inside the displays which will cause significantly reduced life. The initial indications of display degradation because of excessive DC current is an electro-plating of liquid crystal components onto the surface electrodes. These will appear as a mirror-like "burn-in" of the electrode pattern that was energized with DC. Elevated temperature will accelerate this effect.
I can't confirm the accuracy of this source. I just know that the DC bias is bad. :)

I am unfamiliar with non-pic driving technology, but if you look in one of those pic datasheets they do go into  the waveform that is generated. Plus there is probably an app-note. Overall if it works awesome, but you may run into problems eventually. I would write this better but I go to run out the door.

Until later.
 

Offline sacherjjTopic starter

  • Frequent Contributor
  • **
  • Posts: 993
  • Country: us
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #4 on: March 01, 2012, 03:21:50 pm »
Yep, DarkPrince.  As I mentioned in my first post, this isn't hard to do manually for static displays.  Just some book keeping and swapping pins for 30-90 Hz cycles.   

The multiplexed displays are something I've never worked with.  I've done some research after TerminalJack's post.  You can see a simple description of the multiplexed LCD driving here:  http://www.pacificdisplay.com/lcd_multiplex_drive.htm
« Last Edit: March 01, 2012, 03:23:31 pm by sacherjj »
 

Offline DarkPrince

  • Regular Contributor
  • *
  • Posts: 107
  • Country: us
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #5 on: March 02, 2012, 02:09:20 am »
Ah yes good point. Actually please pardon my ill-materilized post. I did not clearly read the posts, rather rushed through it. Just to throw my 2c out there... I love how little much power is necessary to drive them... actually nearly nothing. :)
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #6 on: March 04, 2012, 06:12:27 am »
LCD displays are to be driven with AC voltages. Same phase across a segment = transparent segment. Opposite phase = spin the crystal = dark crystal.

You can drive LCD with a Dc signal but it won't live very long. Why you ask ? Electrophoresis and electromigration . The electrodes of an lcd display are made of a Indium-tin oxide layer that is sputtered on the glass and then chemically etched into the correct pattern.
Apply a static voltage and you start ion migration that gives two effects : it eats away molecules of the ITO and dposits them in unwanted area's. Consequences : white spots where the ITO is eaten away and shorts between segements or segments and backplane where the ITO is deposited.

Drive it with AC and the ions don;t get a chance to accumulate in one spot.
So even an lcd display with one backplane uses a 50Hz duty cycle to drive it.
 
a real LCd controller also has a deadtime between switching segments. The backplane signal is 49% Vdl , 1 % 1/2Vd , 49 % Vdh , 1% 1/2Vd.
where Vd is vdrive or the vpp of the drive signal. Vdl is the low level and Vdh is the high level.
contrast is controlled by the offset of Vdl and Vdh ( amplitude between as well as offset from the segment drive voltage )

Real display controllers allow you to program Vdl and Vdh to allow for temperature compensation ( colder lcd's need different voltage to get correct contrast than a warm lcd )

This gets even more complicated if you start playing with displays that have mulitple backplanes. then you have 4 backplane signals each with their own vdl and vdh that are non overlapping in range. the segment drivers need to switch in-band or out of band. this is a very complex signal.

The problem with microcontollers that have built in lcd controller sis the very slim pickings in terms of other functions. plus you sacrifice so much pins to drive the display... you are better off using a dedicated lcd controller chip. NXP has some really cool ones in the PCF82xx series. 4 backplanes with 64 or 80 segments each. All driven from a 2 wire I2c interface. They are a few dollars and you slap them where they need to be.
LCD drive signals are noisy since they are switching all the time. keep them away from you A/D inputs ...
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline sacherjjTopic starter

  • Frequent Contributor
  • **
  • Posts: 993
  • Country: us
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #7 on: March 06, 2012, 02:44:18 pm »
Good info.  Thanks, free_electron.
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: EEVblog #248 - LCD Enabled Microcontroller Selection
« Reply #8 on: March 06, 2012, 03:41:01 pm »
+1!


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf