The Problem of Power Consumption in IoT
The Internet of Things with its arrival brought some interesting topics to be addressed. These include issues such as safety, ergonomics, communications technology, but mainly low-power equipment. IoT devices are often powered by a battery because they do not have direct access to a power supply. This is often caused by being located in places where access to the electric network is simply not possible.
Finding ways to ensure low consumption of energy certainly did not come with IoT. Long ago we had calculators, remote controls, digital games, and laptops or mobile phones. All of these devices were powered by batteries. However, IoT devices represent a special set of devices where they are expected to be able to operate without user intervention for months or years. And before the battery runs out of power, they will alert you in advance that the battery needs to be replaced. Energetically autonomous devices are the fundamentals of IoT.
In case of IoT devices we cannot afford the same as in the case of standard devices powered by the power grid and thus - converting excess energy into heat.
With the increasing number of portable devices, new and new technologies are being developed to increase battery capacity. Equally, procedures are being developed to ensure low energy consumption. There are several of these procedures, but in principle they can be divided into two basic groups:
- procedures to reduce consumption when designing software, and
- procedures to reduce consumption when designing hardware
IoT devices often do not require for their activity to be continuously powered. For example, when measuring room temperature, it is not necessary that the reading of the temperature sensor takes place every second. In this case it is sufficient to have the measurements every few minutes. Until this interval expires, the device does nothing. Nothing, may mean that the process is suspended for a necessary period of time by calling delay()
(for example, the Arduino Uno prototype board). This may seem like the microcontroller does nothing, because the delay()
function is inhibit, but the device will still consume power. However, if it enters into sleep mode for a required amount of time, its power consumption will be minimal.
Putting the microcontroller into sleep mode is not the only way to reduce electricity consumption. Martin Malý, in his book Hradla, volty, jednočipy, also mentions the following procedures:
- reducing the power supply voltage (at least to 3,3V)
- slowing down the work of the microcontroller ( put to sleep or reduce its working frequency)
- use CMOS technology, which has low energy consumption on standby
It is, of course, possible to reduce the power consumption by selecting the appropriate components. Often, it can be the unnecessary LEDs which compared to other light sources, are low in demand, but they can reliably and quickly discharge the power supply when they are constantly lit. In the case of IoT devices, the interesting are the components which ensure the communication. There are technologies that are absolutely unsuitable for this type of communication, while others have been designed for this type of devices.
While designing hardware, it is also good to remember that overall consumption affects the consumption of individual components. Some more demanding sensors on a short-term, require a very high current, even though during normal operation, their consumption is minimal. After waking up or connecting (e.g., some communication modules), they are also able to require 2A in a short term. Thus, the battery must be prepared depending on the IoT components of the device even on a such short-term load.
In the next two chapters the options of both main approaches to reduce electricity consumption will be gradually introduced. First, there will be options in case of designing IoT software solutions, and then there will be options in case of designing the IoT hardware solutions.