Author Topic: LCD backlight controller  (Read 364 times)

0 Members and 1 Guest are viewing this topic.

Offline snax01Topic starter

  • Newbie
  • Posts: 2
  • Country: us
LCD backlight controller
« on: March 19, 2024, 09:41:11 pm »
Ive designed a board using a TPS61165 backlight controller, I am unable to control the brightness of the display using a PWM output of an ESP32. I have verified the CTRL signal at the backlight controller to match what I am commanding from the ESP32(12k Hz frequency and various duty cycles from 10 - 90%). I have tried the circuit with and without the R2 pullup resistor without any change.  Even driving the pin low with the ESP32 does not turn off the backlight, I am out of ideas at this point.
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 11561
  • Country: ch
Re: LCD backlight controller
« Reply #1 on: March 19, 2024, 09:55:57 pm »
What happens if you disconnect the ESP32 and drive the CTRL pin directly with a jumper lead to GND or to 3.3V? Does it react? Can you feed it a PWM signal from a function generator?

Also, share the PCB layout. This chip is fundamentally a boost converter, and a poor layout could cause all manner of issues.

And finally, check that there isn’t a short (like a solder bridge) between Vin and CTRL, since they are adjacent.
 

Offline moffy

  • Super Contributor
  • ***
  • Posts: 1749
  • Country: au
Re: LCD backlight controller
« Reply #2 on: March 19, 2024, 10:02:52 pm »
Is the TPS61165 going into 1 wire mode? As Tooki mentioned, disconnect the ESP32 and manually try the control to see if you have at least ON/OFF control. I would remove the pull up and make it a pull down.
 

Offline snax01Topic starter

  • Newbie
  • Posts: 2
  • Country: us
Re: LCD backlight controller
« Reply #3 on: March 20, 2024, 01:29:46 am »
I have checked for shorts on all pins and none found.  I have to admit my knowledge of how a boost converter is able to switch off a load when VIN is connected to SW through the inductor may be causing some confusion for myself. Manually pulling the control pin high or low has no effect. I am going to try and write a library to control the backlight controller over 1-wire but I am not expecting that to work since I am unable to control the chip at all.
 

Online jpanhalt

  • Super Contributor
  • ***
  • Posts: 3479
  • Country: us
Re: LCD backlight controller
« Reply #4 on: March 20, 2024, 08:47:45 am »
About 6 years ago I rewrote the code for a SparkFun 4x20 numeric display.*  Attached is the backlight (BL)control that was used.  It was simple PWM. (Code is in PIC MPASM Assembly and will be shared freely, if it will help.)

Perceived intensity of a BL is not linear.  You may perceive almost no difference over a wide range, and then it becomes dark quickly.  I suggest trying a simple LED-pwm system (like shown) and be sure that works.

John

*Once SF sold its remaining stock in that bad implementation of a good idea, it went obsolete.

EDIT: Here's a link to that project: https://forum.allaboutcircuits.com/threads/sparkfun-4x20-lcd-redo.148031/   
« Last Edit: March 20, 2024, 08:53:59 am by jpanhalt »
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 11561
  • Country: ch
Re: LCD backlight controller
« Reply #5 on: March 22, 2024, 09:48:29 am »
I have checked for shorts on all pins and none found.  I have to admit my knowledge of how a boost converter is able to switch off a load when VIN is connected to SW through the inductor may be causing some confusion for myself. Manually pulling the control pin high or low has no effect. I am going to try and write a library to control the backlight controller over 1-wire but I am not expecting that to work since I am unable to control the chip at all.
It can’t switch off the load as such. This boost topology means that the minimum Vout is Vin minus the Vf of the Schottky diode. (=Boost converters cannot reduce the voltage to less than the input voltage minus the diode drop.) The idea here is that with a typical e.g. 12-36V string of LEDs, the Vin-Vf will be much too low to light the LEDs, so boosting is necessary to get anywhere near a voltage that will light the LED string.

So maybe this is the issue: in your schematic you show a single LED. I initially assumed this was shorthand for some higher-voltage LED module that puts multiple LEDs in series. But if it is, in fact, a single LED (or multiple in parallel) with an LED Vf of e.g. 3.2V for white, then when you power it with 3.3V, it’s never actually boosting the voltage and thus cannot control the LED. Assuming a 0.3V drop in the Schottky, that means 3.0V is reaching the LED, which is easily enough to light a white LED.

FWIW, in a project I designed, the LCD backlight (4x 3.2V white LEDs in parallel) was controlled by one channel of an NXP PCA9634 LED driver. I like that model because it has a very high 97KHz PWM frequency, so no flicker whatsoever. But it’s overkill for a single channel, since it’s an 8-channel chip. The ESP32 can do high-speed PWM, so if your backlight is a single or parallel LED, you could just use a MOSFET to PWM the 3.3V to the backlight.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf