Energy Management and Task Scheduling of an Energy Harvesting

advertisement
Energy Management and Task Scheduling of an Energy
Harvesting, Structural Health Monitoring System
Jamie Steck
Junjie Su
UC San Diego
jlbradle@ucsd.edu
UC San Diego
jusu@ucsd.edu
of the bridge [3]. Due to the need for better
bridge inspection methods and in response
to advances in sensor technology, sensors
networks are being employed to enhance
this two-year inspection requirement. These
sensor networks can measure qualities of a
structure such as strain, temperature, and
seismic activity, and using data processing,
these measurements can indicate possible
failure or need for repair.
Monitoring certain features of a structure
over time and evaluating these features to
determine the health of a structure is
referred to as Structural Health Monitoring
(SHM). Structural Health Monitoring is a
popular area of research in the fields of
embedded
systems
and
structural
engineering and encompasses not only
bridges, but also other structures such as
buildings, aircraft, spacecraft, and oilrigs.
Currently, most deployed SHM systems are
wired, and thus take a significant amount of
time to install and are usually expensive.
Current research, such as the work of
SHiMmer, is working to develop wireless
SHM systems in order to reduce cost, time
of
installation,
and
maintenance
requirements.
Over the years, many methods have been
developed to identify and detect damage in a
structure. One of the most promising
methods for SHM is the integration of smart
materials into the structures and utilization
of these smart materials as sensors and
actuators. For example, due to its chemical
ABSTRACT
Monitoring certain features of a structure
over time and evaluating these features to
determine the health of a structure is
referred to as Structural Health Monitoring
(SHM). SHiMmer, a solar-powered wireless
SHM system, monitors a structure,
processes the results, and transmits the data
to an external device. In this paper, we
examine the components of SHiMmer and
reveal both its capabilities and limitations.
We describe an energy management
simulation that will prove to be important in
SHiMmer’s future. We test the three task
components, integrate the XBee API
operation into the communication task, and
measure the energy consumption for two
tasks.
General Terms
Performance, Experimentation
Keywords
Energy harvesting, embedded
sensors, actuation, Zigbee
systems,
1. INTRODUCTION
Every two years, a team of engineers and
technicians inspects all United States
government-owned bridges in order to
determine the "health" of the structure.
However, as seen in the recent crash of a
bridge in Minneapolis, these inspections do
not always accurately reflect the condition
1
makeup, Lead-Zirconate-Titanate (PZT) can
be used to both generate and sense signals.
Because the electrical impedance of PZT
sensor/actuator is directly related to the
structure's mechanical impedance, this
impedance-based method can use high
frequency vibrations to monitor the
structure's mechanical impedance in order to
detect and locate the damage of a structure.
In addition, lamb waves are a type of elastic
perturbation that can propagate in and reveal
certain characteristics about a solid. The
speed of a lamb wave is dependent on the
frequency of the solid and can be generated
by an Electromagnetic-acoustic transducer
(EMAT) or a smart material such as PZT
transducers.
Some SHM systems only require nodes
to actuate, sense, and transmit data, but for
this project, the sensor node will also
process the data. In order to effectively
control the sensor node, acquire, process,
and transmit the sampled data or results,
the SHM node requires several software
components. While an entire operating
system can be used, such as TinyOS, only
certain OS features are needed to adequately
control the node. Software is needed to turn
the node on and off, communicate with the
external agent (via radio or the like), as well
as monitor the power and current energy
supply. In addition, software should be used
to control the sensors and/or actuators to
acquire the data (through sampling) and then
process the data. Data can either be directly
sent to the external agent or analyzed on the
node itself. Analysis involves storing the
data, transforming the data using a Fourier
transform or the like, and then performing
analysis to determine if damage exists in the
structure.
Some issues to consider when designing
an
SHM
system
include
energy,
maintenance,
installation,
cost,
and
reliability. While it is possible to create a
wired SHM system, a wireless system is
much more attractive due to the difficulties
of installing these systems on structures.
Wireless systems, however, are limited by
power, and thus must conserve energy in
every part of the system. Using batteries
increases the maintenance requirements, and
on a bridge, accessing sensor nodes may be
dangerous and difficult. In addition, it is
essential that an SHM system is reliable and
accurate. Citizens depend on these systems
to provide correct and constant results for
the safety purposes.
This project focuses on SHiMmer, an
area of current research here UCSD. The
rest of this paper is organized as follows:
Section 2 provides the background of
SHiMmer, a relevant energy management
algorithm, and other related work. Section 3
describes the progress made in each of the
three SHiMmer tasks, while section 4
introduces the energy management for
SHiMmer. In section 5, we describe future
work and then conclude the paper in section
6.
2. BACKGROUND
2.1 SHiMmer
[11] describes SHiMmer, a wireless SHM
system that uses solar power, supercapacitors, and on-node data processing.
SHiMmer monitors a structure, processes
the results, and transmits the data to an
external device, such as an Unmanned
Aerial Vehicle (UAV). The SHiMmer
project employs the impedance-based
technique and lamb waves technique
mentioned in the previous section to detect
damage in the structure. Both of these
techniques are non-destructive evaluation
methods that utilize PZTs to actuate and
sense, and both techniques have advantages
and disadvantages. Under observations, the
lamb waves technique is more effective for
thin plates, while the impedance-based
technique is more suitable for detecting
damage near structure joints
and
2
EEPROM (Microchip 25AA256) via the SPI
interface. The DSP is interfaced to 1MB of
SRAM (CY7C1021), a DAC (DAC902),
and two signal conditioning stages
(actuation and sensing). As mentioned
before, the piezoelectric transducers act as
both the sensors and actuators. The DAC
takes the signals from the DSP and
generates the voltage actuation waves to the
PZTs. One PZT produces a vibration that is
sensed by another PZT and then converted
back into voltage. The SRAM stores the
samples generated by the ADC integrated in
the DSP. Also, the DSP controls a
multiplexer that selects a different PZT as
sensor or actuator from a group of 16 PZTs.
In order to provide sufficient energy for
the sensor node to perform and reduce the
maintenance cost, the SHiMmer sensor node
employs an energy harvesting circuit, which
collects solar power and stores it in a
supercapacitor. Compared to other energy
harvesting methods, the solar energy
harvesting is the most efficient. The supercapacitor provides a much higher durability
(up to 20 years) than rechargeable batteries,
and also has slower performance
degradation than batteries.
Currently, the SHiMmer sensor node is
under development and is facing significant
challenges. The energy harvesting system of
the node cannot collect enough energy to
provide the node the ability to function
properly during cloudy days. Because the
solar panel collects energy based on the
sunlight density, it collects very little energy
during cloudy days compared to sunny days.
If the node continues to perform tasks when
the energy stored in the supercapacitor is
low, the system will consume all the energy
and eventually die. Currently, this energy
crisis is the most challenging part of the
SHiMmer sensing platform. Another
challenge involves installing the sensor
nodes properly. Many structures have
different shapes, so it is very challenging to
connections. Therefore, the SHiMmer
project combines these two techniques to
provide a better structural health monitoring
method.
Figure 1. SHiMmer Hardware Design
Figure 2. Current SHiMmer Board
The diagram of the sensor node used by
SHiMmer is shown in Figure 1, and the
actual SHiMmer board is shown in Figure 2.
The tasks for the node are to 1)
communicate with the UAV, 2) control the
piezoelectric transducers to collect data, and
3) perform analysis on the collected data.
The microcontroller (ATMega128L) is
connected to a passive radio trigger circuit,
which wakes up the microcontroller when
the UAV sends a signal. The microcontroller
controls the power for the rest of the
functional units using a CMOS switch
network. Once the microcontroller is woken
up, it communicates with the UAV via the
XBee radio module. Based on the
instruction received from the UAV, the
microcontroller then fetches the instructions
for the DSP (TMS320C2811) stored in the
3
place all the sensor nodes in a location that
can absorb sunlight. When nodes are placed
in shady areas, such as underneath a bridge,
it is imperative that the node can absorb
enough energy to stay alive.
ve. A final
challenge is the implementation of the
algorithms used to process the sampled data
on the DSP. Because of the energy
constraints
highlighted
above,
the
algorithms must be extremely efficient,
using fixed-point
point arithmetic and minimal
lines of code.
Figure 3. Energy Management Design
These algorithms were tested in Mat Lab
using sample solar panel data.
dat The details of
these algorithms and the results are beyond
the scope of this paper,, but can be found
[14].
2.2 Energy Management
[14] describes an energy prediction and
management scheme designed for energy
harvesting and event triggering systems,
such as SHiMmer. The design uses an
energy prediction algorithm combined with
an energy management unit to sc
schedule
tasks such as data actuation and acquisition
(Act/Acq), data processing (Processor
(Processor), and
radio communication (Radio)) according to
the corresponding energy requirements. The
relationship
between
the
energy
management unit and the energy prediction
algorithm is shown in Figure 2.
Readings from the solar panel are taken
every minute and used to estimate the
current voltage (and corresponding energy)
in the supercapacitor. (Because the voltage
in the supercapacitor cannot be measured
directly, it is imperative
erative that the recharge
rate of the supercapacitor is accurately
calculated.) If enough energy is available,
one of the three tasks is executed, and
energy is consumed. If there is not sufficient
energy, however, the EMU uses a prediction
algorithm to estimate
timate how long it should
sleep before checking the energy again. This
prediction algorithm uses past solar panel
data to estimate future readings.
2.3 Other Related Work
[1] presents an overview of design
considerations for Energy Harvesting
Embedded Systems (EHES) at both the
system levell and the software level. One
notable technique mentioned, Maximum
Power Point Tracking (MPPT),
(MPPT) seeks to
maximize the power output by controlling
the level at which power is drawn from the
energy source. MPPT requires that the input
intensity be known, which
ch can be done
either after conversion or by an alternate
method, such as using a light sensor to
estimate solar power. On the software level,
the paper describes the challenges of a
Power Management Policy in an EHES. The
goal of an EHES is to maintain energy
en
neutrality, or only consuming the amount of
energy that is harvested. To do this, the
power of the transducer must be analytically
modeled. With this information, the Power
Management Policy must adapt the
performance and power
ower consumption of the
system. [1] gives background on the
considerations for an EHES at a high level,
energy-aware
aware view. Our project is
essentially putting these considerations into
action. The information regarding the MPPT
confirms the necessity of the second solar
4
panel and the prediction algorithm to
maximize the power output. The power
management policy mentioned is also highly
indicative of the goal of the Energy
Management Policy.
[2] compares two different operating
system approaches designed for embedded
systems as well as presenting OS extensions
that enable effective power management in
energy-restricted systems. First, a generalpurpose, multi-tasking OS can be adapted to
support embedded systems. General-purpose
OSes, however, have high context switching
overhead and do not have built in energymanagement mechanism. For example, eCos
spends about 50% of the code size can be
attributed to communication overhead. A
second approach to embedded system OS
design is an event-driven architecture, which
can be easily modeled as a graph of
components that communicate via events.
TinyOS specifically targets this type of
communication, and when compared to
eCos, requires significantly less memory,
has eight times less OS overhead, and uses
twelve times less power. Despite its
advantages, however, TinyOS does not
provide global system level scheduling and
power management. Possible extensions to
TinyOS include: replacing the FIFO task
scheduler, implementing components in
hardware, allowing some tasks to go to
hardware instead of software, adding event
queues, and adding global power control
mechanisms. While
[2]
provides
an
important contrast between conventional and
event-driven OSes, we did not use TinyOS
for our project. Previous students tried to
port it to the microcontroller with no
success. Instead, we used Free RTOS, an
open source real-time embedded operations
system, further described in section 4.1.
[3] describes SOS, a new operating
system designed for sensor nodes. Due to
the dynamic nature of embedded systems,
specifically sensor nodes, SOS is composed
of a traditional core kernel and loadable
kernel modules. The SOS kernel supports
the ability to insert and remove modules at
run-time, flexible priority scheduling, and
dynamic memory. Modules are binaries that
implement a specific task or function.
Modules can easily be inserted into the
kernel at run-time using a user-friendly API.
Modules not only can communicate via
messages, but can also use faster function
calls to increase the speed and thus reduce
overhead. SOS schedules tasks using
priority queues, sharing the processor
through
cooperative scheduling. [3]
compares SOS to both TinyOS and Mate’.
SOS consumes significantly less energy
when updating code than TinyOS, and
provides greater system flexibility. [3]
presented an attractive option for the OS in
our project. SOS provides a high-level
programming interface for developing
modules and integrating them into the SOS
kernel at run-time; the source code for SOS
is free and available at [4]. It was decided
that SOS is excessive for the minimal needs
of our system, but was considered as a
viable alternative to our choice of Free
RTOS.
[5] presents the Lazy Scheduling
Algorithm (LSA), an algorithm for an
energy-driven scheduling scenario. A
previous work by the authors proves that the
LSA is optimal for a system with energy and
timing constraints. [5], as follows, presents
the implementation of the LSA followed by
some simulations. In the LSA, tasks are
scheduled according to the current energy
capacity of the system, task deadlines, and
the power dissipation of the tasks. A task is
characterized by its arrival time, energy
demand, and deadline and is considered to
be preemptive. The goal of the LSA is to
find an optimal start time for a task by
considering both the task time requirements
and the system energy capacity. In order to
find this optimal start time, the LSA requires
5
knowledge of the power flow for future
times. [5] does not mention how to find this,
but suggests an analysis of past harvested
power. [5] does not take into consideration
dependencies between tasks, which is
essential for the SHM sensor node. Data
cannot be processed until it is collected and
so forth. It is reasonable that this algorithm
could be altered to include dependencies.
For our proposed project, tasks do not have
deadlines; rather, the scheduler tries to
schedule as much as possible in a given time
according to energy capacity.
[6] presents a modeling circuit that
simulates the solar panel. Based on the
modeling circuit, the authors use simplified
parameters extraction procedure to find out
the value of the parameters (IL, I0, Rsh, Rs).
The reason to develop such a modeling
circuit is to find the MPP (maximum power
point) using very small Photovoltaic Cell
(such as those in embedded system). MPP
tracking requires substantial amount of
energy, which is hard to do in embedded
system. The modeling circuit works together
with a lighting pilot cell to achieve MPP,
which’s errors are within 5%. The goal of
this circuit is to keep tracking of the MPP. In
our platform, we do not use MPP tracking
because of the supercapacitor’s voltage
limitation. However, this circuit could be
used to simulate the solar panel behavior
and provide input to our microcontroller
prediction.
Everlast is a wireless sensor node that
utilizes a solar panel and supercapacitor to
power the node. [7] demonstrates the
feasibility of operating on a supercapacitor
recharged by a solar cell to power a sensor
node. It also introduces a PFM (pulse
frequency modulated) regulator and a PFM
controller, which are responsible for
controlling the voltage and current that
charging the supercapacitor in order to
improve the charging efficiency. Although
the
Everlast
sensor
has
different
functionality compared to our sensor,
Everlast uses the solar panel and
supercapacitor for the energy solution,
which is very similar to our sensor node.
Currently, our sensor node’s power circuit
tree is not working properly; however, in the
future, the PFM regulator and controller
could be a solution for our sensor node to
obtain better charging efficiency.
[9] proposes a highly efficient solar
energy harvest technique for embedded
system, namely, the MPPT (Maximum
Power Point Tracking) method. Power
equals the voltage times the current.
Therefore, for certain voltage and current
relationships, there exists a maximum power
point. [9] measures a linear relationship
between the maximum power voltage and
the open circuit voltage of the solar panel.
Utilizing this property, they built a solar
energy harvesting platform to perform the
MPPT. Getting the open circuit voltage from
the pilot cell, the tracker can adjust the
operating voltage to oscillate around the
maximum power voltage point to achieve
maximum power. [9] proposes a highly
efficient solar energy harvest technique,
MPPT. We cannot use MPPT due to the
extra energy consume in tracking MPP, but
can still use the concept to have a better
prediction of the future power.
3. TASK PROGRESS
SHiMmer is designed to perform three
primary tasks: actuation and acquisition,
data processing, and communication. The
progress made in each of these tasks is
described in the sections below.
3.1 Actuation and Acquisition
Actuation and acquisition are the most
crucial tasks for SHiMmer. The entire
purpose of the platform is to actuate and
sense in order to detect damage.
In order to monitor the structure’s
condition, we must first determine what
6
signal should be sent out and what signal
should be received. Per the recommendation
of a structural engineer, a pulse of sine
waves is preferred, because the sine wave
has a very narrow bandwidth and can easily
hit the lamb wave of the structure. Because
the actuation signal travels in all directions
and eventually all signals will bounce back
to the receiving node, the receiving signal
will become a dampened sine wave. The
frequency of the sine wave is chosen based
on which frequency will produce the best
shape at the receiving end. After running
several tests, we found that 32kHz is the
optimal frequency for the sine wave. At this
frequency, the sine wave produces the best
received signal in the testing material.
Currently, the DSP on SHiMmer cannot
read the code in EEPROM due to hardware
issues. Because of this, we decided to use
the DSP development platform, eZdsp,
together with a testing board that includes
the actuation and sensing circuits, to test the
actuation and acquisition. First, we store the
digital value of a sine wave in an array;
every clock cycle, we output one of the
values. After 40 cycles, the digital value
forms a sine wave cycle shape. The DAC
and op-amp circuit on the testing board then
convert the digital signal to analog so that
we can actuate this analog sine wave signal
to the PZTs.
The following diagram is a snap shot that
was taken in the oscilloscope. The green
signal is the actuation sine wave from -10V
to 10V. The blue signal is the receiving
signal at the receiving PZT. The top of the
sine wave has been chopped. This is because
the op-amp circuit’s resistance and
capacitance were designed poorly; the
mismatch of the resistance and capacitance
causes the offset. Ideally, the receiving
signal should be a smooth, dampened sine
wave. Unfortunately, this offset affects the
receiving signal and creates spikes in the
receiving signal.
Figure 4. Actuation and Acquisition
However, this problem can be easily
solved by adjusting the values of the resistor
and capacitor. We might need to double
check the anti-aliasing filter’s resistor and
capacitor’s value in order to make sure the
sensing circuit will perform correctly.
After we are able to successfully actuate
the sine wave into the circuit, we would like
to know how much energy the actuation
consumes. Unfortunately, we cannot isolate
the DSP from the eZdsp platform. The
eZdsp
platform
has
many circuit
components in addition to the actual DSP.
Based on the information from the
datasheet, we know that the DSP consumes
0.2415 J in idle mode and 0.6315 J in
regular operation mode. The maximum
energy consumption of the DSP is 0.91J.
As a result, we can only measure the
energy consumption of the testing board.
We changed some of the DSP code to
actuate continously, and then we measured
the current going into the testing board for
every power supply pin. Lastly, we can
estimate the energy consumption as the sum
of the products of the current and voltage of
every power supply pin. We can calculate
how much energy the testing board
consumes in each sine wave cycle by
dividing the energy by the number of sine
waves. Figure 5 shows the energy
consumption as it depends on the number of
cycles of sine waves.
7
Module. The XBee module uses the IEEE
802.15.4 Zigbee standard protocol and
operates in the ISM 2.4 GHz frequency
band. The radio can transmit to distances up
to 100 meters, assuming line of sight.
Further specifications of the functionality of
this module can be found in [15]. The
diagram of both the XBee and XBee PRO
modules is show in Figure 6. On The
SHiMmer board, only a subset of the
available pins are connected, specifically:
PIN 1 (supply voltage), PIN 2 (UART data
out), PIN 3 (UART data in), PIN 9 (sleep
control line), and PIN 10 (ground).
Figure 5. Energy Consumption per Sine
Wave
Based on this graph, our energy
mangement unit can then determine how
many cycles of sine waves we can actuate
and acquire under different energy
conditions.
Figure 6. XBee and XBee-PRO
Diagrams
3.2 Data Processing
One of the unique features that SHiMmer
has is its ability to do on-node processing.
Currently, we have two data processing
algorithms in the DSP code. The first one
finds the maximum point of the receiving
signals. The other algorithm is the Fast
Fourier Transform (FFT). FFT can
transform the signal from its time domain to
its frequency domain. It is very important to
provide the structural engineers the
receiving signal in both the time and
frequency domain, as their algorithms use
both to detect damage.
We apply the FFT function in the DSP
code by calling the FFT built-in function in
the TI library. When the microcontroller
chooses the FFT algorithm, our DSP code
will select the function and perform the FFT.
The XBee module interfaces with a host
device through a serial port and, thus, can
communicate with the Atmel 128L
microcontroller using SHiMmer UART’s
interface. Figure 7 shows the relationship
between SHiMmer and the XBee module.
Data is sent from the SHiMmer
microcontroller over the DI pin and back
through the DO pin. Because the Clear-toSend and Request-to-Send pins are not
connected on the SHiMmer platform, the
DI06 and DI07 configurations were
disabled, and, thus, hardware flow control
cannot be used. Instead, software flow
control must be implemented in order to
avoid buffer overflow.
3.3 Communication
SHiMmer communicates with external
devices using Maxstream’s XBee OEM RF
8
essential to determining if data is sent
successfully.
In order to make use of the API
operations, the code of the Atmel 128L was
modified to send data to the UART interface
using the specified frame formats. Whenever
data is to be transmitted, the Transmit
Request frame format is used, as shown in
Figure 9. Each API frame needs a start
delimiter, the MSB and LSB of the data
length, the API identifier, the identifierspecific data, and a checksum. If the
checksum fails, the packet will be quietly
dropped. Within the TX Request frame, the
frame ID, destination address, and options
must also be set. Finally, the RF data
contains the preciously defined SHiMmer
packet format, which is interpreted at the
receiving end.
Figure 7. XBee System Flow Diagram
XBee can operate in two modes:
transparent and API. In transparent
operation, the XBee module acts as a serial
line replacement, transmitting only the
UART
data
received
from
the
microcontroller and passing the exact
received data back to the UART; no
additional information is added. Due to the
fact that hardware flow control cannot be
used, it is necessary to use software
techniques when interacting with the XBee
module, such as ensuring that size of the
data sent to the module is smaller than the
size of the DI buffer, as shown in Figure 8.
In addition, there is no way in transparent
operation to check if a packet has been sent
successfully or whether another attempt
should be made.
Figure 9. Transmit Packet Structure
In the same manner, when data is
received from the XBee module, the
interrupt service routine processes the
received packet as either a transmit status
packet or a received packet, which can be
determined by the API identifier. If the
transmit status packet indicates a failure, the
previously sent packet must be resent.
Figure 10 shows the X CTU console
running on a desktop that was used to test
the SHiMmer platform. Initially, the X CTU
receives a packet (API identifier 81) from
SHiMmer, containing the contents “hello”.
Next, the console sends a packet to
SHiMmer with the contents “01” and
subsequently, receives a transmit status
Figure 8. Internal System Flow Diagram
In API mode, however, the XBee module
packages data in a structured interface and
provides the desired functionality for
SHiMmer. Data sent over the DI pin must be
contained in the specified frame, defining
what type of event is to be performed
(transmit, AT command, etc.) Using the API
operations enables SHiMmer to receive the
status of a transmitted packet, which is
9
packet that indicates the packet was sent
successfully.
4. Energy Management
Because SHiMmer operates using energy
harvested from a solar panel and stores
energy in a supercapacitor, a design, such as
that in [14], is needed to efficiently and
optimally to both schedule tasks and
conserve energy. To begin incorporating
these energy management algorithms into
the SHiMmer control, a real time operating
system was needed to provide timing and
communication between the prediction
algorithm and the energy management
algorithm.
4.1 Free RTOS
Figure 10. X CTU Console
Free RTOS, as described in [13], is an
open source operating system designed for
embedded systems. Free RTOS provides the
desired services to be used in the control of
SHiMmer. Specifically, Free RTOS is real
time, and thus can be used for the prediction
and energy management schemes designed
in [14].
Free RTOS is structured as a set of
independent tasks. Each task can operate in
real time, has its own stack, and has no
dependencies on other tasks. Tasks are
scheduled by the real-time scheduler based
on a set priority, operating in their own
context and having no knowledge of the
scheduling or preemption. Free RTOS also
provides several options for inter-task
communication. Queues are the primary
form of communication between both tasks
and interrupt routines and operate in a FIFO
manner. Queues also provide mutual
exclusion between tasks, preventing race
conditions or inaccurate data. Other options
for mutual exclusion and communication are
semaphores and mutexes, which prevent two
tasks from modifying a guarded resource
simultaneously.
Because XBee is a low-power radio
designed for embedded systems, the cost for
communication is relatively low. Transmit
power is 1 mW, and, at 3.3 V, the TX
current is 45 mA, and the RX current is 50
mA. In order to estimate the required energy
to send packets of various sizes, we
measured the time required to send packets
from size 19 bytes to size 119 bytes. For our
tests, we used 2.5 volts, and thus the current
for both sending and receiving measured
around 51 mA. Figure 11 shows the results
of these tests. As expected, there is a
roughly linear relationship between packet
size and energy consumed.
4.2 Simulation
Figure 11. XBee Energy Consumption
10
To begin testing the algorithms described
in [14], we used the AVR STK500
Developer Platform that uses the ATmega
128, the same microcontroller used by
SHiMmer. As seen in Figure 12, an
expansion board was also added to this
platform.
Figure 13. Example Simulation Data
5. FUTURE WORK
There is still significant work to be done
before SHiMmer is deployable. First, we
need a new SHiMmer platform with correct
op-amp resistor and capacitor settings.
Currently, our Zigbee chip, microcontroller,
DSP, and actuation and sensing circuits are
all tested separately. We have to integrate all
the parts into one complete system. The
actuation sine wave is chopped due to the
incorrect resistance and capacitance value. A
new SHiMmer platform will help to resolve
many of these issues.
Second, we will implement additional
data processing algorithms into the DSP
code. Finding the maximum and performing
the FFT is not enough information to
analysis complicated structural conditions.
We will need to measure the energy
consumption of different algorithms so that
our energy management unit can schedule
tasks based on the energy level and needs.
Finally, we need to continue work on the
simulation, pending fixes in the energy
management data. The most challenging part
of this will be inter-task communication and
consistency, but the Free RTOS features are
expected to be sufficient for our needs.
Figure 12. AVR STK500 Developer
Platform
The simulation running on this
microcontroller is still in early stages of
development. Solar panel data collected over
a period of twenty days is stored in an array
in memory. Every minute, the evolutionSP
task retrieves a value from the array to
simulate sampling the solar panel. This
value is then used to estimate the charge of
the supercapacitor, based on experimental
recharge rates that depend on the solar panel
voltage. Tasks were created for task
execution task and prediction task but have
not been combined with the evolutionSP
task yet.
Figure 13 shows the simulation using
solar panel data from two days. Initially, the
supercapacitor voltage is set to 1.8 V but,
after the first day, charges to capacity.
Unfortunately, the exact recharge rates of
the supercapacitor relative to the solar panel
voltage have still not been confirmed and
will likely change in the future. The graph
gives an idea of how the relationship
between the two components changes
depending on the solar panel voltage.
6. CONCLUSION
11
[3] Han, C., Kumar, R., Shea, R., Kohler, E., and
Srivastava, M. 2005. A dynamic operating system
for sensor nodes. In Proceedings of the 3rd
international Conference on Mobile Systems,
Applications, and Services (Seattle, Washington,
June 06 - 08, 2005). MobiSys '05. ACM, New
York, NY, 163-176.
[4] SOS Embedded Operating System,
https://projects.nesl.ucla.edu/public/sos2x/doc/index.html.
[5] Moser C, Brunelli D, Thiele L, Benini L (2006a)
Lazy scheduling for energy-harvesting sensor
nodes. In: Fifth working conference on distributed
and parallel embedded systems, DIPES 2006,
Braga, Portugal, 11–13 October 2006, pp 125–
134.
[6] Dondi, D.; Brunelli, D.; Benini, L.; Pavan, P.;
Bertacchini, A.; Larcher, L., "Photovoltaic cell
modeling for solar energy powered sensor
networks," Advances in Sensors and Interface,
2007. IWASI 2007. 2nd International Workshop
on , vol., no., pp.1-6, 26-27 June 2007.
[7] Simjee, F. and Chou, P. H. 2006. Everlast: longlife, supercapacitor-operated wireless sensor
node. In Proceedings of the 2006 international
Symposium on Low Power Electronics and
Design (Tegernsee, Bavaria, Germany, October
04 - 06, 2006). ISLPED '06. ACM, New York,
NY, 197-202.
[8] Yun Zhong; Jiancheng Zhang; Gengyin Li; Aiguo
Liu, "Research on Energy Efficiency of
Supercapacitor Energy Storage System," Power
System Technology, 2006. PowerCon 2006.
International Conference on , vol., no., pp.1-4,
Oct. 2006.
[9] D. Brunelli, S. Raggini, L. Benini , C. Moser and
L. Thiele, “An efficient solar energy harvester for
wireless sensor nodes.”, Submitted to
International Symposium on Low Power
Electronics in Portland, 27-29 Aug, 2007.
[10] SHiMmer Overview,
http://www.cs.ucsd.edu/~trosing/shm/.
[11] D. Musiani, K. Lin, T. Simunic Rosing, “An
active sensing platform for structural health
monitoring”, IPSN-SPOTS’07.
[12] SHM Article,
http://www.scienceprogress.org/2008/01/catching
-crumbling-infrastructure/.
[13] Free RTOS Documentation and Porting
Instructions, http://www.freertos.org/.
[14] J. Recas, C. Bergonzini, and T. Rosing,
“Management of Solar Harvested Energy in
Actuation-based and Event-triggered Systems.”
[15] XBee RF Module Product Manual,
http://ftp1.digi.com/support/documentation/manu
al_xb_oem-rf-modules_802.15.4_v1.xAx.pdf.
We have examined the many components
of SHiMmer and learned more about both
the capabilities and the limitations of the
platform. We learned how the hardware
works and also how to break it.
We began work on a simulation that will
prove to be important in SHiMmer’s future.
We tested the three task components,
integrated the XBee API operation into the
communication task, and measured the
energy consumption for two of the three
tasks. We will continue to work on
SHiMmer and combine the individual
components.
Acknowledgements
The origin of SHiMmer can be traced
back to Danielle Musiani, who designed the
original platform. Since then, many other
students have contributed to the progress of
SHiMmer, including: Benjamin Lee, Kaisen
Lin, Carlo Bergonzini, and Joaquin Recas.
Most importantly, we would like to thank
the many people who assisted us in this
project. Our advisor, Tajana Rosing,
provided indispensable guidance, and Carlo
Bergonzini and Eric Flynn answered some
pressing questions. Joaquin Recas and David
Mascarenas gave up many hours of their
time to teach us concepts we did not
understand, and we are indebted to them for
their help.
7. REFERENCES
[1] Raghunathan, V. and Chou, P. H. 2006. Design
and power management of energy harvesting
embedded systems. In Proceedings of the 2006
international Symposium on Low Power
Electronics and Design (Tegernsee, Bavaria,
Germany, October 04 - 06, 2006). ISLPED '06.
ACM, New York, NY, 369-374.
[2] Li, S., Sutton, R., and Rabaey, J. 2003. Low
power operating system for heterogeneous
wireless communication system. In Compilers
and Operating Systems For Low Power, L.
Benini, M. Kandemir, and J. Ramanujam, Eds.
Kluwer Academic Publishers, Norwell, MA, 116.
12
Download