One of the nice features of the IS31FL3733 LED driver is that it has separate power supply pins for various parts, which allows running the I²C communication at a different voltage than the LEDs. I could therefore leave the communication at 3.3 V as required by the microcontroller, but connect the LED drivers directly to the battery at up to 4.2 V, which means the LED current would not have to go through the voltage regulator of the TinyPICO and part of the power be dissipated as heat there. Would that allow me to save power, a desirable thing when planning to use a battery as small as a 100 mAh LiPo? I took some measurements to find out.
In the final series of measurements, I powered the TinyPICO through its BAT pin from my bench power supply at different voltages – simulating a battery at different charge levels – and measured the total current there, with all LEDs fully on, but with different global brightness values, and with the power pins of the LED driver connected to either the BAT pin or the 3V3 pin on the TinyPICO. As a brightness reference, I used a PewPew Lite and adjusted the global brightness on the prototype until their brightnesses visually matched.
The results were not what I initially expected, but in hindsight completely explainable: It made no difference at all to the total current consumption at the same brightness whether the LED driver was connected at 3.3 V through the voltage regulator or directly to the battery. The current was constant independently of the supply voltage (once the voltage was high enough to actually reach that current, which except at the highest brightness setting generally happened earlier than the ESP32 would even run), varying from 50 mA at the lowest brightness to 350 mA at the highest. The brightness would not vary with the supply voltage, the match with the reference PewPew was always at the same setting. In other words, the additional power available with the higher voltage did not make it into light as I had hoped, but was dissipated somewhere in the driver chip or in the LEDs themselves.
Thinking about it afterwards, I realized that this was exactly the way it needed to be. The average current through an LED needs to be held constant not just over various numbers of LEDs being on, but also over various supply voltages, because on a power supply with a nonnegligible internal resistance, the voltage will automatically vary with the number of LEDs being on, and we do not want the brightness to vary then. Also, since the brightness of an LED is approximately proportional to the current, its power efficiency decreases with increasing voltage, and it is not beneficial to run it at a higher voltage but lower PWM duty cycle.
Another effect of connecting the LED power to the BAT pin is that when the system is running without a battery, powered from USB or the 5V pin, the LEDs are powered through the battery charger. It turned out that the charger was very confused by that load that didn’t act like a battery and would sometimes deliver little current and sometimes a lot, resulting in a randomly shifting display brightness.
In conclusion, since there was no power consumption advantage to connecting the LED power directly to the battery, but a disadvantage in the case of running without a battery, I decided to connect it to 3.3 V along with the logic power. This would also make the circuit simpler, and the voltage regulator of the TinyPICO, rated at 700 mA, should take it easily.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
No, unless I’m making a mistake in my thinking myself – the power dissipation will just happen in the LED rather than in the transistor of the LDO. For the same average brightness you need the same average current, thus for a lower PWM duty cycle a proportionally higher on-state current, which means a (less than proportionally) higher on-state voltage, therefore on-state power consumption higher by both of these factors, and only one of them is canceled out by the shorter duration of the on state.
Are you sure? yes | no
But the LDO always eats at least its own drop volatage. With a direct connection, you should at least save on that?
Are you sure? yes | no
No? That voltage drop will just be in the LED instead, and equally unproductive there. Or can you show me with a calculation that I’m missing something?
Are you sure? yes | no
I'm really an amateur here and have no idea how to make such calculations, but just thinking logically you get:
1. with the LDO:
a) the LDO drops the voltage by its internal drop, plus the voltage difference between the battery and 3.3V. That difference is lost, used to heat the LDO,
b) the LED has its own voltage drop — the energy from that is used for heating and light,
c) the ISSI chip makes sure that the LED gets constant amount of energy, but does that with PWM, so there is almost nothing lost here (some inductance and capacitance loses, probably, but more or less constant?),
2. without the LDO:
b) the LED has the same voltage drop,
c) the ISSI chip does the same PWM, with the same frequency, but lower duty cycle, as the voltage is now higher by the LDO's drop.
So in total, you are not losing energy for heating the LDO, so it should be more efficient?
Are you sure? yes | no
That’s basically what I meant by calculation. A chain of reasoning that I can compare to mine. (All you need to calculate beyond that is P=U*I and the characteristic curves of LEDs.)
> the LDO drops the voltage by its internal drop, plus the voltage difference between the battery and 3.3V
Irrelevant here, but: not “plus”, the internal drop is part of the difference. It’s simply the minimum difference you can have, if the battery voltage goes below 3.3V + drop, then the ouput voltage goes below 3.3V. (I may be mistaken, but in that case I would find it confusing to label that regulator as “3.3V” when it actually outputs 3.3V - drop.)
> 2b) the LED has the same voltage drop
That’s where I disagree. All these voltage drops have to somehow add up to the battery voltage (which we assume to be constant, right?), so if one goes down (disappears), another has to go up.
Are you sure? yes | no
Well, that's the funny thing with LEDs — their forward voltage doesn't change much, that's why it's so easy to burn them when you don't limit the current — look at this diagram: https://i.stack.imgur.com/qEPmL.png — for the red LED, the voltage doesn't change more than about 1V, so it won't drop more than that.
I guess the missing part of the puzzle is how the constant-current driver in the ISSI chip is built.
Are you sure? yes | no
I didn’t say it changes *much*, but it does change. The fallacy in my original thinking was that I assumed that the fact that the current increases over-proportionally with voltage meant that running at a higher voltage and current but reduced duty cycle would result in lower total power consumption, but that is not true, it’s higher.
(What I don’t know is how high you can go with the current, if you just make the pulses short enough, until other effects than average heat deposit start doing damage. The maximum ratings in LED data sheets are usually stated at something like 10% duty cycle, but what if you do 1% or 0.1%?)
If I understand the “power dissipation” section of the data sheet correctly, the ISSI in fact does not put the whole input voltage on the LED, but has some current limitiation, and possibly doesn’t use PWM at all for the constant-current driving (only for the per-pixel brightness). I think the data sheet is not very clear about when it’s talking about average current and when about on-state current.
Regardless, under the assumption that to get the same visual brightness you need the same average current through the LED (and I may be wrong about that assumption), the fact remains that if all components are connected in series and no current bypasses the LED, that current drains the battery exactly as much, no matter whether it passes through an LDO or not and through a current-limiting resistance in the ISSI or not. The heat dissipation just shifts to different places.
Are you sure? yes | no
I used this with one of my badge prototypes, but instead of measuring it like you did, I simply patted myself on the back believing it works. But if the ISSI chip does the power regulation with PWM, it should still be more efficient than an LDO?
Are you sure? yes | no