Building an Arduino
system that harvests energy from the environment provides a significant amount of freedom from wiring, but requires some close attention to the system design. Using power from the environment and wireless links frees up the board from any wiring and gives tremendous flexibility for placing the equipment.
Arduino is an open-source electronics prototyping platform that is specifically optimized for the hobbyist building systems that receive input from sensors. This is particularly appropriate for an energy harvesting design so that sensors can be placed in the right location without having to worry about power and signal wires.
It is based on flexible, easy-to-use hardware and software and intended for designers, hobbyists, and anyone interested in creating interactive environments. However, as a result, the device is not optimized for low power and has some challenges to overcome to use an energy harvesting approach.
The Arduino Nano
board is a small, complete, breadboard-friendly board based on the ATmega328
processor for the Arduino Nano 3.0 or the ATmega168
for the Arduino Nano 2.x family. It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one. The Nano was designed and is being produced by Gravitech. The 16 MHz processor runs from a recommended input voltage of 7-12V and has fourteen digital I/O pins with 40 mA of DC current per pin. There is 16 KB of flash in the ATmega168 version or 32 KB in the ATmega328, of which 2 KB used by the bootloader. Similarly, there is 1 KB of SRAM and 512 bytes of EEPROM with the ATmega168 or 2 KB of SRAM and 1 KB of EEPROM for the ATmega328.
The value of the Arduino boards lies in the range of open source software that has been developed by hobbyists and in the flexibility of the hardware. Manufacturers provide the circuit layouts, and it is easy to build an add-on card, or shield, to add sensor or communication functions.
Figure 1: The Arduino Nano board.
There are several issues for running such a board from an energy-harvesting source. The overall power budget has to be considered carefully, but with polling of inputs and data transmission, scalable energy sources such as solar panels, and adequate battery backup, this can be managed.
The other issue is getting the power from the battery to the board. This requires some sophisticated power management devices to handle the higher voltages of 7 to 12 V required by the Arduino board and the lower voltages and current inherent in an energy harvesting source.
The power budget for the design depends entirely on the application. Each of the fourteen pins support 40 mA DC current at 5 V, giving a potential power consumption of over 2.8 W for a wide range of sensors without adding in a wireless link. This is difficult for an energy-harvesting source to support. However, not all the lines will be active all the time – in fact, many will be barely used. Therefore, use case of the board is vitally important to determine the peak power requirements and mapping that to the energy source and battery.
Power can be further reduced by polling. With sensors that are polled perhaps once a second, and with a wireless link that is active once every 5 s, the current requirements are dramatically reduced and can more easily be met by an energy harvesting source.
There are also several power saving modes in the Arduino software, and as this is open source, new developments are constantly occurring. Using the watchdog and sleep functions to put the microcontroller chip into a hibernation mode between cycles could extend battery life from 4 days to over 3 years, demonstrating the lower power budget that is attainable for energy harvesting.
This can be implemented in the device using the Arduino open source programming language. This is based on the Wiring language, which has the same syntax and libraries as C++ but with simplifications and modifications. To make the language easy to use, there is the Arduino development environment, based on the Java-based Processing open source IDE. The development can be done on either a PC or Mac as a host under Windows, MacOS-X or Linux, or on the board itself.
The most effective energy-harvesting source for the relatively high power demands of an Arduino board is solar power. This can provide significant amounts of power both outdoors and inside to drive the board.
Sanyo Energy has been at the forefront of developing solar cells, with a focus on flexible cells with its Amorton technology. These can be ganged together to provide both the voltage and current requirements, and are light and flexible enough to be easily used in a hobbyist design.
Amorton is an integrated amorphous silicon solar cell that uses silane (SiH4) as its source gas and is made using a plasma vapor deposition process. Three amorphous silicon layers – p-layer, i-layer, and n-layer – are formed consecutively on a glass substrate and this p-i-n junction corresponds to the p/n junction of a crystal silicon solar cell. This creates an array of junctions that allows any desired voltage to be obtained for a variety of power outputs.
Unlike crystal silicon, amorphous silicon has irregular atomic arrangements that allow much more light to be absorbed, making the cell thinner for a given power output. This means that an ultra-thin amorphous silicon film of less than 1 µm can be produced and used for power generation.
Figure 2: Sanyo’s Amorton solar cell film.
The management of the power is the key to using energy harvesting to drive an Arduino board. EnerChip’s power management device uses Maximum Peak Power Tracking (MPPT) algorithms for high efficiency energy conversion and an energy harvesting transducer to implement system load impedance matching. It also provides a communications interface to the AVR microcontroller on the board and provides energy status indicators for incoming energy and storage energy levels.
The CBC915 performs the function of efficiently converting energy from an external power transducer to a voltage and current usable by the board by dynamically matching its input impedance to the output impedance of the transducer. At impedance match, maximum power will be extracted from the transducer. There are many different types of power transducers used in energy harvesting applications; they are broadly divided into two categories. Photovoltaic (PV) cells are unique and consequently in their own category due to the diode-like current-voltage (IV) characteristics of PV cells. The PV cell impedance changes with changes in incident light intensity. As the light intensity increases, the PV cell impedance decreases. For example, typical impedance for a 30 cm² two-series amorphous silicon cell array will be 1 kΩ at 1000 Lux and 5 kΩ at 200 Lux.
Therefore, transferring maximum power from the PV cell into CBC915 Energy Processor boost converter requires the input impedance of the boost converter to change dynamically in response to the variations in the light intensity, which comes from the changes in the PV cell impedance.
When presented with matched impedance, the output voltage of an efficient PV cell is fairly constant over varying incident light intensity. In contrast, the voltage at the peak power point of a less efficient voltage will change with variations in light intensity. The CBC915 adjusts its input impedance to match the output characteristics of any type or quality of PV cell. The CBC915 was designed to work with PV cell arrays of 1-series to 8-series cells, equating to approximately 0.5 V to 4 V at matched impedance. In most cases, it is most power efficient to use a PV array with two cells in series. Series-cell configurations with fewer cells have the advantage of not losing as much efficiency due to shading and have more efficiency per unit area because there are fewer gaps in the array that do not contribute to energy conversion.
Figure 3: The EnerChip CBC915 from Cymbet.
Another alternative is the EH4295 Micropower Step Up Low Voltage Booster. This is a self-powered voltage-booster module that converts a low DC voltage input from the solar cell to a higher AC or DC voltage output suitable for the Arduino board. It does not need a separate power supply to operate and it derives its power directly from the low input voltage energy-harvesting source, starting at as low as 2 µW, which enables an on-board self-starting oscillator.
Figure 4: The EH4295 step up low voltage booster from Advanced Linear Devices.
The EH4295 features nominal input impedance of 950 ?, making it suitable for many different energy generating sources and can also be used for trickle-charge applications such as battery charger or super-cap charger, including situations where the energy input is not well controlled or regulated.
The EH4295 self-starting oscillator oscillates at a natural frequency of about 400 Hz, which depends on the source impedance, the source voltage, the loading at the output and the resonating components in the device.
At its core is a MOSFET array. An on-board transformer that couples to a dedicated MOSFET array forms the heart of the self-starting oscillation circuit. The oscillator waveform is coupled to a transformer inside the module that provides an AC output signal that is limited in amplitude by the output loading. A typical output loading is a full wave rectifier that can handle AC inputs over 20 V and input power as limited by the output of the EH4295.
When coupled to the EH4295, the energy-generator source internal impedance and the EH4295 input impedance form a network where the energy-generator source starts to deliver power to the EH4295. As soon as the internal oscillation threshold power level is reached, oscillation begins, and energy transfer is initiated. Typically this power level is less than 10 µW for the EH4295, and varies across different models and units. Hence the EH4295 is excellent for high efficiency, low power applications where the minimum operating power range are very low, and where otherwise wasted energy cannot be captured and stored in a battery pack or capacitor storage bank using other means.
As input energy builds up at the energy-generator source, the amount of power transferred also changes accordingly. The maximum power rating of the EH4295 limits its power handling capability, but it does allow an external secondary DC-DC converter to take over at some higher power point. The AC output generated by the on-board oscillator enables the EH4295 to support other switching circuits to convert at a higher voltage and power level.
For many energy-harvesting applications, the EH4295, combined with EH300 Series Energy Harvesting Modules, offers a simple and efficient solution when used with a low-voltage, low-energy generating source that only delivers sporadic intermittent amounts of input power. The combined EH4295 and EH300 Series Modules can ramp from zero output power to useable levels for operating many remote sensor networks and circuits requiring DC supply voltages in the 1.8 V to 6.8 V range. The boosted AC or DC output voltage levels can also be used to generate a reference DC output to drive or to initiate other electronic circuits such as external Power Step-up DC-DC converters requiring DC supply voltages over 1.0 V in order to operate.
The EnerChip CC CBC3105 integrates a 5 µAh solid-state battery and can be charged over a wide supply range. By integrating the battery, it provides backup energy storage and power management for systems requiring power bridging and/or secondary power. A single EnerChip CC can charge up to ten additional EnerChips connected in parallel.
During normal operation, the EnerChip CC charges itself with a controlled voltage using an internal charge pump that operates from 2.5 V to 5.5 V. An ENABLE pin allows for activation and deactivation of the charge pump using an external control line in order to minimize current consumption and take advantage of the fast recharge time of the EnerChip.
Figure 5: The higher voltage mode of the EnerChip CBC3105 with solid-state battery providing 5V for the microcontroller.
The EnerChip CC can be operated from various power supplies such as a primary source or a non-rechargeable battery. With the ENABLE pin asserted high, the charge pump is active and charges the integrated battery. The EnerChip CC will be 80% charged within 10 minutes. Due to the rapid recharge it is recommended that, once the EnerChip CC is fully charged, the user de-asserts the ENABLE pin by forcing it low to reduce power consumption. A signal generated from the MCU could be used to enable and disable the EnerChip CC.
Providing energy from the environment for an Arduino board is not trivial, but with a combination of solar cells feeding a rechargeable storage cell and innovative power management devices, the right current and voltage can be provided to the board. As long as the power budget has been carefully analyzed, the right number of solar cells should provide the power required to give the Arduino system designer a high degree of flexibility.