Using the Energy Harvester to Power a Wireless Sensor Node December 17 2012
This blog post will demonstrate how to use the energy harvester breakout board to power a wireless sensor node. In this application, the wireless sensor node measures the temperature using a thermistor and transmits the data. A microcontroller will monitor the energy harvester’s power good pin and deliver power to the radio module using the energy harvester’s secondary output enable pin. The microcontroller will also control the maximum frequency that the radio module is allowed to transmit. In this application, energy will be harvested from a solar cell, but other energy sources will be discussed as well.
Wireless Temperature Sensor
This section will discuss how to setup a wireless temperature sensor without an energy harvester. Before integrating an energy harvester into an application, it is important that the application already works with a conventional power supply. This is important because you don’t want to troubleshoot your application while troubleshooting the energy harvester circuitry. Also, if your application is already working, then you can easily identify the load requirements which will be discussed in the next section.
Because of their popularity, two XBee radio modules are used in this application: one for the wireless sensor node and a second connected to a PC for receiving the data. Two XBee Explorers from SparkFun are used to simplify connecting the XBee to the PC and to breakout the XBee pins. A thermistor circuit is connected to the analog to digital converter (ADC) pin (see Figure 1). The wireless sensor node is configured to periodically transmit the voltage on the ADC pin. The data is received by the XBee connected to the PC. A script running on the PC waits for an incoming packet from the XBee and calculates the temperature using the voltage reported by the wireless sensor node (see Figure 2). RREF is the nominal value of the thermistor and A1, B1, C1, and D1 are properties of the thermistor which can be found in the thermistor datasheet. The calculated temperature is then written to the console. The configuration for the XBee modules and the script is contained in the “xbee” directory in the GitHub repository.
The output capacitor on the primary output (VOUT) stores the energy which will be delivered to the load. The energy harvester is suitable for powering low power electronics with periodic pulses of higher power consumption. For instance, the wireless sensor node consumes very little power when idle, but when transmitting it consumes about 165 mW. It is important that a large enough capacitor is selected or not enough energy will be delivered to the load and that energy will be effectively wasted. The minimum capacitor size is determined by three parameters: peak current (ILOAD), pulse width (tPULSE), and maximum voltage drop (ΔVOUT). The minimum capacitor size calculation is shown in Figure 4.
ILOAD and tPULSE can be easily identified with an oscilloscope and a current probe. If a current probe is not available, then a current shunt amplifier can be used. If an oscilloscope is not available, then these parameters can be estimated. ΔVOUT is how much the voltage on the output can drop before the load stops working. For instance, the nominal operating voltage of the XBee is 3.3 volts and the minimum is 2.9 volts, giving a maximum voltage drop of 0.4 volts. However, we want to increase the voltage drop if possible, decreasing the minimum capacitor size. By setting the energy harvester’s voltage output to 5 volts and using the XBee Explorer’s 3.3 volt low dropout regulator (LDO), we increase the voltage drop to about 1.5 volts. The tradeoff is that the overall efficiency is decreased by the LDO. Note that the energy harvester is set to output 5 volts by pulling VS1 and VS2 high (see Figure 3). Refer to the LTC3108 datasheet for information on how to set the other output voltages (2.35, 3.3, or 4.1 volts).
Minimizing the capacitor size has several advantages. In general, smaller capacitors cost less. Also, a smaller capacitor will charge faster. It will take the energy harvester a relatively long time to charge the capacitor from empty, so minimizing the size will be helpful in this regard.
It is important to select the correct energy harvester for your application. The EH1D is optimized for harvesting energy from thermoelectric generators and other voltage sources between 20 mV and 0.5 volts. The EH2D is optimized for harvesting energy from solar cells and other voltage sources between 100 mV and 2.5 volts. The main difference between the two variants is the ratio of the step-up transformer. The EH1D has a 1:100 step-up transformer which allows for input voltages as low as 20 mV. The EH2D has a 1:20 step-up transformer which allows for input voltages as low as 100 mV. Although the EH2D has a higher minimum voltage, it is up to 20 % more efficient than the EH1D (refer to the LTC3108 datasheet for more information).
It is important to note that both the EH1D and EH2D are most efficient at the lower end of their input voltage range. For instance, although a EH1D could potentially be used to harvest energy from a solar cell, the EH1D is only about 5% efficient at 0.5 volts. However, the EH2D is about 20 % efficient at 0.5 volts. Some might criticize the energy harvester for its relatively low efficiency, but remember that we are talking about energy harvesters, not high efficiency power supplies. These devices harvest energy from freely available sources; converting energy from these sources into something useable requires energy, thus the lower efficiency.
Delivering Power to the Load
An AVR microcontroller, powered by the energy harvester’s 2.2 volt LDO, is used to monitor the power good pin (PGD) as shown in Figure 6. When the PGD pin is asserted, the AVR pulses the secondary output enable pin (VOUT2_EN). The input of a 3.3 volt LDO is connected to the secondary output (VOUT2). The output of the 3.3 volt LDO is connected to VCC of the XBee. This effectively turns on the XBee when enough energy has been harvested discharging the output capacitor through VOUT2. Note that when asserted, VOUT2_EN connects VOUT and VOUT2 internally through a pass transistor. I couldn’t find a good indicator of when the XBee has finished transmitting, so the AVR just pulses VOUT2_EN for 1500 ms. This is a possible area of improvement for this project.
As mentioned above, the AVR also controls the maximum frequency that the XBee is allowed to transmit. This is important because if the XBee always transmits as soon as power is available, then no energy will be stored in the storage capacitor or rechargeable battery. This means that the circuit would stop working as soon as no energy is available from the energy source. In the case of a solar energy harvester, the circuit would stop working as soon as the sun goes down. The AVR controls the maximum frequency by using an external watch crystal as its time base. The AVR sleeps most of the time, consuming just a few microamps, and wakes only to service timer overflows and power good interrupts.
Storing Excess Energy
A super capacitor or rechargeable battery connected to the VSTORE pin can be used to store excess energy. It is important to note that if a super capacitor is used, then it must be rated for at least 5.25 volts. Capacitors can be combined in series to increase their voltage rating. However, note that this will decrease the effective capacitance. The VSTORE pin is internally limited to a few milliamps, so it can be used to trickle charge a rechargeable battery. Only use VSTORE to charge a battery if you are certain that the battery is suitable for trickle charging at 5.25 volts. For instance, lithium-ion and lithium-polymer batteries should NOT be charged under these conditions. Perhaps a future blog post will explore this topic further.
This blog post has demonstrated one possible way to use the energy harvester to power a wireless temperature sensor. This blog post also demonstrated how to integrate an AVR microcontroller to monitor the power good (PGD) pin, pulse the secondary output enable (VOUT2_EN), and control the transmit frequency. Checkout the GitHub repository for the AVR source code and XBee configurations. Also, checkout the LTC3108 datasheet for more information related to the energy harvester. Finally, checkout the ATMEGA328P datasheet for more information about sleep modes and asynchronous timer operation using a watch crystal. Checkout the energy harvester product page for more information about the energy harvester breakout used in this project. As always, I welcome any questions and comments. Thanks for reading.