1
\$\begingroup\$

I am testing a 16x2 LCD screen specifically the 'MCCOG21605B6W-FPTLWI' from 'MIDAS'. It is connected to the with the 'msp430g2553 launchpad'. The connections are described in the commented code fragment that I have attached in this message. The backlight adjusts it through the working cycle of the PWN which connects it to the anode (this works correctly). The character are written correctly on the LCD but the problem is the contrast, it is very very low. To see the characters I have to turn the LCD and at some angle you can see that there is written text. As is an LCD by i2c, the contrast adjustment is done by commands, not by any potentiometer. As you can see in the code, I initialize the LCD as indicated by the datasheet for a 3V power supply:

/*

MSP4302553|         |LCDDriver
|Pin 1 Boost Capacitor 1
|Pin 2 Capacitor 2 N
|Pin 3 Capacitor 2 P
Vcc (3.5V) |---------|Pin 4 Vdd (Boost Capacitor 1)
Gnd |---------|Pin 5 Gnd
P1.7|---------|Pin 6 (SDA)
P1.6|---------|Pin 7 (SCL)
P2.5|---------|Pin 8 (RST)
P2.4|---------| A (Backlight Anode)
Gnd |---------| K (Backlight Cathode)

*/
.
.
.

char TxData[] =     // Table of LCD display initialization commands
{ 0x00,
    0x38,
    0x00,
    0x39,
    0x14,
    0x74, //Contrast set
    0x54,
    0x6F, //Follower control
    0x0C, //Display On, Cursor On, Cursor Blink On
    0x01
};

. . .

The initialization of the LCD is the one proposed by the manufacturer for 3V power supply:

INITIALIZE: (3V)
 MOV I2C_CONTROL,#00H ;WRITE COMMAND
 MOV I2C_DATA,#38H ;Function Set
 LCALL WRITE_CODE
 MOV I2C_CONTROL,#00H ;WRITE COMMAND
 MOV I2C_DATA,#39H ;Function Set
 LCALL WRITE_CODE

 MOV I2C_DATA,#14H ;Internal OSC frequency
 LCALL WRITE_CODE
 MOV I2C_DATA,#74H ;Contrast set
 LCALL WRITE_CODE
 MOV I2C_DATA,#54H ;Power/ICON control/Contrast set
 LCALL WRITE_CODE
 MOV I2C_DATA,#6FH ;Follower control
 LCALL WRITE_CODE
 MOV I2C_DATA,#0CH ;Display ON/OFF
 LCALL WRITE_CODE
 MOV I2C_DATA,#01H ;Clear Display
 LCALL WRITE_CODE

I have tested with various values of the commands that can cause the characters not to be seen: 'Display ON / OFF', 'Follow Control' and 'contrast set' but without any result. It always looks with contrast practically 0. Do you know why the initial configuration proposed by the manufacturer does not work?

This is the datasheet: MIDAS LCD 16X2 Datasheet

\$\endgroup\$
6
  • 1
    \$\begingroup\$ Since you are using a 3V power supply, have you used the required 2x external capacitors and, if so, which value and capacitor type? \$\endgroup\$
    – SamGibson
    Commented Jul 17, 2017 at 16:54
  • 1
    \$\begingroup\$ For the benefit of other readers, I just noticed that you have asked the same question yesterday on the TI E2E forums: "MSP430G2553: 16x2 LCD connected to the launchpad msp430g2553 by i2c: increase the contrast of the characters.". So to avoid duplicated effort with the discussion already in progress there, readers here might want to check what is being said there. \$\endgroup\$
    – SamGibson
    Commented Jul 17, 2017 at 17:03
  • \$\begingroup\$ Thank you San. You're right, I should have notified and posted the TI E2E Forums link. I answered your question, I used two electrolytic capacitors of 1 uF. I have also tested it with 2.2 uF and 4.7 uF but it has not changed the contrast. Thanks again. \$\endgroup\$ Commented Jul 17, 2017 at 19:57
  • \$\begingroup\$ Thanks for the update. Personally I would not have chosen electrolytic capacitors, because you've got to get the polarity correct :-) (The LCD display datasheet shows unpolarised capacitors). Can you measure the voltage between the VOUT and VSS pins, with a DMM set to measure DC volts? I believe VOUT is the output of a capacitive voltage doubler built-in to the display's PCB, so I'm hoping for something around 6V on VOUT. I would also like to view VOUT with a 'scope, if you have one. \$\endgroup\$
    – SamGibson
    Commented Jul 17, 2017 at 20:22
  • \$\begingroup\$ Hi SamGibson and sorry for the delay. You were right, the VOUT is the output of a capacitive voltage doubler built-in to the display of the PCB, VOUT is around 6V. I measured it and it was only Vcc (around 3V) so I detected that there was a bad connection on my prototype board. I reconnected everything again and it works perfectly. Thanks for your time. Greetings. \$\endgroup\$ Commented Jul 30, 2017 at 16:59

1 Answer 1

1
\$\begingroup\$

Using the correct bias voltages is essential to get the correct contrast on LCD displays. An incorrect bias voltage could cause the low contrast which you described.

My hypothesis was that this LCD display is really optimised for 5V, and contains a capacitor charge pump (hence the need to add two capacitors) to double the supply voltage in order to generate the required LCD bias voltage, when used with a 3V power supply.

As we see in the datasheet, they use terms "voltage converter" and "voltage booster" for this functionality, although they don't explain that capacitors are only part of the charge pump; the other charge pump components must be already built into the display's PCB.

Based on its name, I expected that the output of the charge pump was the "VOUT" pin, and that is why I suggested measuring the voltage there, expecting something like 6V (i.e. the 3V supply voltage doubled by the charge pump to ~6V).

This was my troubleshooting suggestion, originally a comment:

Can you measure the voltage between the VOUT and VSS pins, with a DMM set to measure DC volts? I believe VOUT is the output of a capacitive voltage doubler built-in to the display's PCB, so I'm hoping for something around 6V on VOUT.

From your comment, that was indeed the area of the problem:

You were right, the VOUT is the output of a capacitive voltage doubler built-in to the display of the PCB, VOUT is around 6V. I measured it and it was only Vcc (around 3V) so I detected that there was a bad connection on my prototype board. I reconnected everything again and it works perfectly.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.