About two weeks ago, I published some four thesis topics and behold, I already have one bachelor student signed up. His name is Lukáš Vydržel and the topic he chose is the Full Battery Emulator.
It’s not one of my cloud computing topics, but nevertheless, it should be rather useful. As the reader might know, modern laptops use lithium batteries which contain a circuit called “battery gauge”, which prevents the battery from overheating during charging. Overcharging a bare Li-Ion cell, in contrast to the older nickel and lead technologies, can result in “venting of flame” (R), therefore it can’t be used without a protection circuit. The other function of the circuit is tracking of total and remaining battery capacity.
Seeing how many minutes of power you have left is a good thing, but as soon as you want to do something more adventurous with the laptop’s battery connector, it will pose an obstacle. With older laptops which used a Ni-MH battery pack, powering the laptop off a lead-acid battery was as easy as connecting the positive and negative leads of the battery to the laptop and leaving the thermistor, which was the sole overcharge protection of nickel cells, in place. With the lithium powered laptops, it’s not that easy. The laptop is expecting a power-good signal from the battery gauge circuit and won’t power on until it gets it.
This is where the Full Battery Emulator will step in. In the form of a microcontroller connected to the I2C/SMBus leads of the battery connector, it will implement the Smart Battery Data Specification protocol. It will measure voltage and current at the connector, but it will always report the battery as full.
And what is it good for? Well, there are several applications where you need to power a laptop off a big battery, for example in robotics or wireless networks. There are also people who prefer to carry a big battery around in the backpack so that they can boast about the extreme 10 hour battery uptime. Laptops are usually quite powerful while being energy efficient, which makes them good in all these areas.
The alternative to implementing the Smart Battery protocol is to connect the battery to the power adapter plug on the laptop. To do that, you must use a DC-DC step-up power inverter to get the 20V (the usual voltage of power adapters for laptops) from the 12V at the battery. Those are switching power sources in principle and as such have an efficiency of 50 to 80%. Yes, and there is another step-down switching power source in the laptop to get back the 12V needed to power the motherboard. Definitely not a good thing for uptime.