12
1 Energy Management and Task Scheduling of an Energy Harvesting, Structural Health Monitoring System Jamie Steck UC San Diego [email protected] Junjie Su UC San Diego [email protected] 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 systems, sensors, actuation, Zigbee 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 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

Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

1

Energy Management and Task Scheduling of an Energy

Harvesting, Structural Health Monitoring System

Jamie Steck

UC San Diego

[email protected]

Junjie Su

UC San Diego

[email protected]

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 systems,

sensors, actuation, Zigbee

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

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

Page 2: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

2

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, super-

capacitors, 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

Page 3: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

3

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

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 super-

capacitor 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

Page 4: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

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. 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 arithmetic and minimal

lines of code.

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

tasks such as data actuation and acquisition

(Act/Acq), data processing (Processor

radio communication (Radio) according

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 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 how long it should

sleep before checking the energy again. This

prediction algorithm uses past

data to estimate future readings.

4

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

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,

point arithmetic and minimal

an energy prediction and

designed for energy

harvesting and event triggering systems,

design uses an

energy prediction algorithm combined with

management unit to schedule

actuation and acquisition

processing (Processor), and

) according to

requirements. The

relationship between the energy

management unit and the energy prediction

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

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

timate how long it should

sleep before checking the energy again. This

prediction algorithm uses past solar panel

Figure 3. Energy Management Design

These algorithms were tested

using sample solar panel dat

these algorithms and the results are beyond

the scope of this paper, but can be found

[14].

2.3 Other Related Work

[1] presents an overview of design

considerations for Energy Harvesting

Embedded Systems (EHES) at both the

system level and the software level.

notable technique mentioned,

Power Point Tracking (MPPT)

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 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 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 consumption of the

system. [1] gives background on the

considerations for an EHES at a high level,

energy-aware view. Our project is

essentially putting these considerations into

action. The information regarding the MPPT

confirms the necessity of the second solar

Figure 3. Energy Management Design

were tested in Mat Lab

sample solar panel data. The details of

these algorithms and the results are beyond

, but can be found

[1] presents an overview of design

considerations for Energy Harvesting

Embedded Systems (EHES) at both the

l and the software level. One

mentioned, Maximum

Power Point Tracking (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

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

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

ower consumption of the

[1] gives background on the

considerations for an EHES at a high level,

aware view. Our project is

essentially putting these considerations into

action. The information regarding the MPPT

the necessity of the second solar

Page 5: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

5

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 general-

purpose, 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 energy-

management 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

Page 6: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

6

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

Page 7: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

7

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.

Page 8: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

8

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.

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.

3.3 Communication

SHiMmer communicates with external

devices using Maxstream’s XBee OEM RF

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 6. XBee and XBee-PRO

Diagrams

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-to-

Send 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.

Page 9: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

9

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 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

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 identifier-

specific 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 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

Page 10: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

10

packet that indicates the packet was sent

successfully.

Figure 10. X CTU Console

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.

Figure 11. XBee Energy Consumption

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

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.

4.2 Simulation

Page 11: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

11

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 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.

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.

6. CONCLUSION

Page 12: Energy Management and Task Scheduling of an Energy ...seelab.ucsd.edu/shimmer/resources/su-steck.pdf · Energy Management and Task Scheduling of an Energy Harvesting, Structural Health

12

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, 1-

16.

[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/sos-

2x/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: long-

life, 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.