Hi forum,
I have many 5 volt LCDs. Here's an idea for using them on 3.3 volt MSP430 systems, other 3 volt systems and LaunchPads.
Let's think of the typical 16 char x 2 row LCD, with a 16 pin connector (pin 1 = GND, pin 2 = Vcc, pin 3 = Vee, etc) and operate the MSP and LCD off only one 3volt source. No extra power supplies.
I've been using this technique for a long while, its nothing new, you may have already seen it.
PROBLEM
STATEMENT - how to use a 5volt LCD unit on a 3.3 volt system without creating a separate 5v supply.
SOLUTION
SUMMARY - use a simple circuit to create a negative voltage from the MSP 430 ACLK. This negative voltage then drives the LCD Vee on pin 3. The ACLK ***must*** be enabled in your software. You can enable ACLK in either CCS or Energia.
Current measurements and waveforms are shown below.
Clearly, you have to sacrifice use of the PORT P1_0 (red LED) pin, but this can be a reasonable trade off. If you can't do this, then you can use another MSP output to generate the negative voltage.
HARDWARE -
a-- create a simple negative voltage charge pump (two capacitors, 2 diodes).
- input is from MSP ACLK pin +- 12 KHz.
- output is to LCD Vee, which is almost always pin 3.
b-- here is a simple charge pump circuit:
(please do google this if you've a question, it is really simple)
| | ||
ACLK -->---| |---------O----------||<|------O--------->---- to Vee, pin3 on LCD.
| | | || |
C1 | D2 |
| |
=== =====
D1 \ / C2 =====
======= |
| |
| |
| |
GROUND GROUND
Typical component values are not critical. I used: C1 = C2 = 1 uF. D1 = D2 = Germanium 1N569.
Results are below.
c-- then connect the LCD module as follows:
- pin1 to GROUND
- pin2 to +3.3 volts (same line as the MSP430 positive supply)
- pin3 to the charge pump inverter circuit, above in para 'b'.
- all the other pins (RS R/W E DATA0-7) to PORT pins suitable for your application.
d-- the scope output of the waveform in actual operation is shown in the scope screen shot below.
SOFTWARE - you must enable the ACLK / VLO to be output from the MSP430:
P2SEL |= 0x07; // aclk P2_0 pin8. smclk P2_1 pin9. ta0 3
P2DIR |= 0x07;
BCSCTL3 = LFXT1S_2; // aclk = vloclk abt 12khz
This can be done in CCS or in Energia 'SETUP'.
CURRENT CONSUMPTION -
.... With this configuration:
- MSP430F2272 at 1MHz, PORTs 1,3,4 all set to OUTPUT LOW. PORT 2 set up as above.
4 x 20 LCD with blue backlight (powered by 3.3volts to a reasonable back light output)
.... here is the typical current consumption I measured:
- MSP430F2272 running tight loop, 1MHz 1.1 mA
- loop + charge pump 1.55 mA <<<< so, only 0.45 mA for the charge pump
- loop + charge pump + LCD backlight 9.44 mA (these are high efficiency blue LEDs)
PLUS POINTS -
- only one power supply needed for a simple 430 + LCD project.
- rather low current consumption
- even lower current consumption by switching ACLK off
(but then you should turn off the LCD Vcc +3.3 - use another PORT pin as the LCD Vcc)
MINUS POINTS -
- you have to use a MSP430 port pin
ALTERNATIVES -
- use a timer / int driven PORT pin to replace the ACLK.
- LCD too much contrast? :
- insert series resistor to LCD Vee from charge pump to reduce neg volts
- LCD not enough contrast? :
- use a negative voltage triple / quadrupler.
Hope someone can use this idea.....
Cheers.