I've got a remote control transmitter, with a segmented LCD display. The MCU has an integrated LCD driver that is driving the display.
I've got the MCU interfacing and working with the LCD. The LCD is only powered from the MCU. I have the LCD contrast and frequency set to where it looks nice. I can press buttons and update segments and everything works great.
However, when I turn on the TX IC to transmit (it sends a message in 100ms) it draws so much current in the whole circuit that the LCD doesn't have enough current for all the powered up segments. They go from 100% contrast to say 30% contrast.
It is not like the MCU drops out, just the current being provided to the LCD. As soon as the TX IC turns off, the display comes back to 100% contrast.
If I hook up the board to an external power supply when the TX IC flips on the current draw goes from 3mA to ~15mA. The external power supply is set to provide up to 100mA, so it isn't like there is a power shortage.
There is more than enough current available to all the components on the power, for when the TX IC flips on.
If the MCU acting as a sourcing output provides enough current to drive the segments normally, why when the TX IC turns on it would it cause that current drop at the LCD?
Does anyone have any ideas how to correct this? I've tried adjusting the contrast levels and bias resistors on the LCD driver on the MCU, but that doesn't seem to be what is causing the display "sag".
We have used this segmented display on a PIC16 with an LCD driver, and don't experience anywhere near this much display "sag" so I don't know if this is an issue with the integrated LCD driver, the TX IC doing something crazy, or something else with our design.
I appreciate any help!
I'm actually starting to think it is trace width issue. Even though my traces are sized correctly for 1oz copper pours, it could be my Asian board manufacturer maybe is not pouring true 1oz copper on the outer layers of this board, so the board is current starved when the TX IC turns on.
There is no reason my power source can't provide the 20ma max the MCU & TX IC use. I don't see any distortion of the AC waveform going to the LCD, it is just a voltage sag in the entire system.
I traced the voltage going from the battery and power jack, and you don't see them sag when the IC activates.
You only see the voltage sag where I drop the battery voltage across a diode, and it runs to the MCU and TX IC on the board.
One thing I notice, is that my battery charging IC on a 650mA rated trace, only provides 250mA (the resistor value it is set for should provide 400mA charging current) when it tries to charge the battery. Which makes me think there is not the specified amount of copper on the board.
One board mistake I see is that I used a 400mA rated trace from the diode to the power plane. If there is less copper, it seems like a stretch that 20mA is causing the system to choke from that trace to the power plane... but I don't see much else.
I'm going to re-confirm with the board house, and increase the main power supply trace widths and hopefully this will not be a further issue.