1. Smart Power Information/Management System
(Smartlet)
Joseph Staniowski
Tokini Briggs
Abstract
The Smart Power Information / Management
System (Smartlet) is designed to reduce consumer
power usage by creating awareness. This system
allows consumers to monitor and control power at
each outlet. Putting a monetary value to individual
appliances/home electronics allows the user to
understand power hungry devices and place them on
timed schedules or replace them with more energy
efficient options if necessary. Appliances left on are
also a source of excess power consumption, by
allowing users to remotely monitor the state and
power off these devices can be a huge energy saver.
Keywords: Power Management, Home Control,
Electrical Monitoring, Power Saving.
1. INTRODUCTION
The demand for power is constantly
increasing and with it so is the cost. There are really
only two solutions to resolve this issue:
1. Increase power production.
2. Decrease power consumption.
As a consumer there is not much reasonable
opportunity to generate your own power, which really
only leaves reducing consumption. Many power
companies understand the merit in reducing
production and offer incentives to do so. SaskPower,
for example, has programs to promote vehicle block
heater timers, as well as another program to help
phase out inefficient refrigerators [1]. Reducing the
load to power generation facilities can lessens the
need for development of new facilities. With every
new facility is a large capital cost that translates into
higher rates for the consumer.
To address this problem, we propose a
system that reduces consumption through user
awareness and added convenience. While our design
on its own will not reduce consumer usage, it does
educate the user to adjust habits to be more efficient.
For our solution to be successful must meet certain
criteria:
1. Saves more energy than it consumes.
2. Be economically feasible.
3. Socially adaptable and acceptable.
4. Easily integrated into existing infrastructure.
Failing to meet these guidelines may make our
solution impractical. To ensure our design meets
these criteria we set out specific metrics, which
include:
1. Power consumption of the controller should be
less than 15 Watts. (Equates to ~$15 annually
for controller).
2. Power consumption for each individual outlet
should be less than 1.5 Watts (Equates to
~$1.50 annually/outlet).
3. Measures broad range of currents accurately to
accommodate most home electrical/electronic
devices. (50mA – 15Amps within 10%
accuracy).
4. Must be rated to switch and control up to the
breaker current of 15A.
5. Must require no additional wiring to existing
outlets/switches (Must be wireless with
acceptable range for home use, such as 10
meters).
6. Adaptable for a reasonable number of
electrical outlets (Up to 100 outlets/
controller).
7. Information must be accurate and easily
accessible to the user, whether this is on the
main controller or web interface. This should
also be secure and private to the user.
8. Data should be stored for a reasonable amount
of time. (Up to 6 months depending on
resolution).
Our ability to meet these specifications is ultimately
the measure of our success for this project.
2. 2. METHODS AND MATERIALS
2.1 Electrical Outlets and Switches
There were many things we considered
when we designed the electrical outlet. The two most
important were safety and size, this had a serious
effect on the design and layout of the outlet circuit.
Trying to make the circuit as small as possible meant
using many surface mounted components and
customized routing of traces on the PCB (Printed
Circuit Board).
2.1.1 Current Measurement
The first stage in our design was to measure
the current used by the outlet/switch. This
measurement should include the consumption of our
circuit which is leaching power from the electrical
outlet. To measure the current, we had the option of
using a board mount device with an integrated chip
that gave a voltage based on the current drawn. This
device would have had to carry the full current
through the device and thus the PCB trace as well.
Since 15A through a PCB requires heavy trace, we
opted to shorten the trace length and use a CT
(Current Transformer). The CT is a passive device
and only requires low voltage connections. The CT
we used is a 1000:1 ratio, meaning that for every amp
seen by the CT it will output 1mA. Knowing this, we
place a 65Ohm shunt resistor across the terminals
creating a voltage range 3.25mV– 975mV AC for
50mA – 15A respectively. This signal is then
converted to a RMS (Root Mean Squared) voltage
which can be used to calculate the power used. This
is done using a chip known as a True RMS Converter
(LTC1966). The output of this chip is then processed
through an operational amplifier for two reasons:
1. The output impedance of the LTC1966 is
between 30k-95k ohms. This greatly exceeds
the allowable input impedance of the X-Bee
ADC (Analog to Digital Converter). Thus, a
buffer is required to lower the Impedance.
2. The ADC accepts a range between 0V-3.3V
and the output of the LTC1966 is between
0mV-0.707V. To allow a better resolution we
should try to scale this output up.
Using a non-inverting operation amplifier, we can
resolve both of these issues. This Data is then sent to
the X-Bee to be transmitted.
2.1.2 Power Regulation and Rectification
For the power circuit, we had the option of
creating our own supply or purchasing a pre-
developed component that would suit our needs. We
decided on using a RECOM module for a few
reasons. Firstly, it has a broad range of input voltages
between 90V-264V, is fairly efficient, has over
temperature protection, provides positive and
negative voltage outputs, and above all, ensures the
voltage is safely converted, protecting components
and the user. The specific module used was a
RAC06-05DC, which is a 6 Watt Module with dual
output.
2.1.3 Power Switching and Control
When the relay coil is energized, this is
easily the most costly circuit as it requires 80mA of
current at 5VDC. Because of this, we needed to have
power removed from the coil as much as possible.
This caused a problem as a general purpose relay
requires the coil to be energized to maintain one of its
two states. Using a standard relay would require that
either the on or off state draws excess current. We
resolved this by using a latching relay. This device
only requires a quick pulse to set the state of the
relay, by reducing the time the coil is energized
greatly reduced energy costs of the outlet.
The next concern is that the outputs of the
X-Bee are 3.3V and cannot source a lot of current.
This leads to a problem where the relay cannot be
directly controlled by the X-Bee. This was fixed by
using a low power motor driver. The DVR8832 takes
3.3V logical inputs and outputs -5V or +5V to the
relay depending on the inputs. This chip also is
capable of sourcing the required 80mA of current to
drive the relay.
Another problem encountered was that there
is no way to know which state the relay is in since the
relay only requires a momentary pulse. To fix this,
one of the pins on the X-Bee is set to correspond to
the state of the relay. This state remains unchanged
even if the entire system loses power. This is
beneficial as it can report the relay state to the
controller after power outages.
Lastly was the concern of being able to
switch a light On/Off from both the switch and the
controller. For this reason, we used a SPDT (Single
pole double throw) relay, meaning there are two
output states. This was then wired in the same
configuration as a 2-way switch.
3. 2.1.4 Wireless Transmission
For our wireless application, we chose to use
the X-Bee wireless transceiver. This module was
selected for the ease of use, multiple I/Os,
communication range, power consumption and its
integrated ADC converter. We set the outlet to send
twenty samples every two seconds. This was decided
to ensure the micro-controller would be able to
process the data if there were 100 outlets installed in
the system. Each outlet within the system has its own
unique address to ensure outlets are not confused
with each other. Due to the continuous sampling of
the system, the X-Bees do not enter a sleep mode at
any point. This insures no data is missed.
2.2 Control Module
The controller of this system is broken into
three major components, the micro, X-Bee, touch
display, and the Raspberry Pi Module.
2.2.1 Micro-Processor
To avoid complicating this project more
than necessary, we used a platform we are both
familiar with: the STM32F100. Based on the nature
of the project and how it requires multiple
peripherals, the timing is critical. To ensure data is
not lost and all operations are executed in a
reasonable timeframe, a real time operating system
was used. This system uses a priority task system
which allows important data to be processed as soon
as it is received. Task timing analysis was done to
ensure the system would meet any required deadlines.
Since there is limited RAM (Random access
memory) on the system (8KB), it is not possible to
monitor 100 outlets on this system without the use of
external RAM or writing to unused flash memory.
Since the data needs to be preserved even after power
failures, we opted to use the internal flash which is
non-volatile.
2.2.2 Wireless Transmission
The main purpose of the X-Bee on the
control module is to take incoming data from all the
outlets. This X-Bee communicates this data to the
micro and sends wireless commands to the electrical
outlets/switches.
2.2.3 Touch Display
This is the primary interface to connect the
user to all the data received from the controller. We
originally decided to use a 2-line display with a
keypad. This idea was replaced by a touch screen for
two reasons:
1. We desired a more user friendly interface
2. We hoped to learn a new platform/interface.
Initially, we purchased a touchscreen and planned to
program the graphics driver chip ourselves. This was
scrapped due to complexity and faulty parts. The next
module was a 4DSystems display that has its own
micro and uses UART to communicate. All graphics
and bitmaps needed to be designed and programmed
into the module. All user inputs are processed in the
screen module and then sent to the STM via UART.
2.2.4 Raspberry Pi
The RPi (Raspberry Pi) is a Linux based
credit card sized computer. It was chosen because of
its small size and relative low cost of $35. Initially
we were planning to use a SitePlayer for the web
interfacing. After realizing the cost and limitations
we changed to the RPi For this project. The focus
was to make use of the RPi as a web server. The RPi
has a processor speed of 700 MHz with a RAM size
of 256 MB, making it more than sufficient to handle
the web interface for an average home with low web
access traffic. In addition, the RPi has UART pin
outs. This would make integrating the control module
to other parts of the system a lot easy. This device
can handle the processes of the STM, but the STM
had more pins to access peripherals. The STM was
chose for the proof of concept as it would make the
physically easier to connect all the required devices
together.
2.3 PCB Design
PCB design was a crucial part of our project
since many of our components ended up being only
available in surface mount. It was also beneficial in
reducing our circuit size making it easy to implement
with existing outlets. There are four separate PCBs.
Three of them stack to create the electrical
outlet/switch circuit, and the other is for the
controller.
4. The stacking design was implemented for a few
reasons:
1. Reducing the space required on two
dimensions by building upwards.
2. Separation of 120VAC from logic level
voltages including isolation of RF
components.
3. Keeps the switched power signals on their
own board.
Using this layered design allowed for the finished
outlet to be compact and easy to connect the 120VAC
to.
2.3.1 Outlet PCB (Power Board)
This board only has the RECOM module on
it and serves only to convert the 120VAC signal to
±5V DC. This is used to power the X-Bee, the current
measuring circuit and the relay switching circuit.
2.3.2 Outlet PCB (Switching Board)
This layer is where the 120VAC connects to
the circuit. There are four terminals for 120VAC
connections:
1. 120VAC Hot
2. 120VAC Neutral
3. 120VAC Hot switched output.
4. 120VAC Alternate switched output.
These terminals connect to wires that can be easily
tied to the corresponding wires/connectors within the
electrical outlet/junction box.
The trace for this board is quite wide as
there may be up to 15A of current running through it.
This current can be interrupted by the latching relay
which is located on this board. The latching relay
outputs connect to the connectors (3) and (4) listed
above. The common terminal of the relay is
connected to terminal (1). This allows there to always
be an output of 120VAC from the board which is
required for switching lighting.
2.3.3 Outlet PCB (RF/Instrumentation)
This board required the most design of the
outlet PCBs. The majority of the components on this
board are surface mount and due to the larger number
of connections, it required a significant amount of
time for routing. Half of this PCB is designated for
conditioning the signal from the CT for the ADC
input on the X-Bee, while the other half is for the X-
Bee module. The RF half includes heavy grounding
around the X-Bee module. This was suggested to us
by a few instructors.
2.3.4 Controller PCB
The PCB for the controller was a two layer
PCB design. It accommodates the STM board, pin
headers for the Raspberry Pi, the X-Bee and pin
headers for external power connection. All the
devices made use of the 5 VDC except the X-Bee
which utilises 3.3 VDC. The Voltage regulator of the
STM converts 5 VDC to a 3.3 VDC output. This was
used as the power supply for the X-Bee. The
following techniques were used to ensure an efficient
design:
1. Most of the ground was restricted to the
bottom layer.
2. The ground was routed underneath power.
3. RESULTS
3.1 Outlet Results
Breaking down the functionality of the
outlets, they really only have two main functions:
1. Measuring the current.
2. Switching the state of the 120VAC outlet.
There were two outlets made for our project, each of
which are able to measure current up to 15A and can
switch the outlet as desired. The resolution of the
current measuring was not good enough to measure
the current of the leaching circuitry. This is not
necessarily a defect in our design since the current
drawn from the entire outlet module was roughly
250mW. At that power, the current measured by the
CT would be less than 2mV. When measuring the
current drawn for different devices, there was slight
variation in the accuracy. For devices that were under
100W, on average the current measure was accurate
but would fluctuate around the actual value. For
example, a 60W light bulb will read between 40-80W
and average around roughly 60W. We believe that
this is due to the size of the averaging capacitor used
on our LTC1966 output. Measuring devices over
100W proved to be much more accurate. We used a
Kill-A-Watt to measure the wattage on different
devices including a 1500W adjustable electric heater.
The Kill-a-Watt measured the 1429W and the outlet
measured 1412W. On a lower power setting, the Kill-
A-Watt measured 786W and the outlet measured
773W. Continuing to test with multiple electrical /
electronic devices, we maintained accuracy within
roughly 2%.
When taking into consideration the range of
the wireless transceivers, we were able to reach up to
20 meters without having data loss. This range
shortened due to the antennae connection on the X-
Bee weakening.
5. 3.2 Controller Results
For the controller, the power consumption
was 6W. This was higher than the outlets but was to
be expected considering the components used in the
controller. This was not of much concern because
unlike the outlets there is only one controller needed
for the entire system.
3.2.1 STM Micro-Controller
The controller had metrics that were a little
more difficult to measure. The performance of the
operating system and task analysis took considerable
work to accurately measure. There are a few critical
tasks on the operating system that must meet a
deadline. Of these, the fastest executed in 17us and
the slowest was 30ms. The execution time of the task,
which receives data from the X-Bee, was cause for
concern. The task executes within 30ms, but with 100
outlets, there would be a data packet every 20ms.
This means the system would not have time to
process the X-Bee’s receive task, let alone any others
the system requires.
3.2.2 Touchscreen Display Module
The touch display was a new experience and
required a lot of research and work to get operating as
desired. There were two different modules we tried.
Eventually, we went with the 4DSystems ULCD.
This system was much easier to interface with our
project, but still required research to get working. The
end result definitely made the work that went into it
worth it, as there are detailed graphics, smooth
control as well as a user friendly system.
3.2.3 Raspberry Pi Web/Database Interface
The Raspberry Pi is a convenient and
powerful device to work with. It took some time to
get use to understanding the Linux OS, and how to
program / interface other components with the RPi.
We were able to turn a LED ON/OFF, create a
database, and write an interactive Python script to
communicate with the STM board. The web site was
hosted onto the RPi but could not connect with the
database created. After some review and
consultations, we discovered that there was not a
complete understanding of the permission structure
(especially with respect to MySQL server access) on
the RPi.
3.2.4 X-Bee Transmissions and Data Received
To actually test the controller’s ability to
receive data packets additional software was
programmed onto the STM. This software had the
sole purpose of analyzing the received packets and
calculating the number of missed packets. For our
tests we consistently saw a success rate of 99%. This
value was for tests varying from ten minutes to
several hours. For this simulation, the sampling rate
was increased from 100ms to 1ms. This meant that
the STM would be experiencing data flow at a rate
similar to a 100 outlet system.
3.3 Cost
The overall development cost of our project
was significantly higher than expected. This was due
to components that were not used and development
tools. The total cost of our project was just over
$1600.00 and can be summarized as follows:
ITEM COST
ASSEMBLY $117.11
CURRENT MONITORING $114.02
DEVELOPMENT $98.71
DISPLAY $191.37
GENERAL PURPOSE $21.21
PCB $89.75
POWER $135.08
SHIPPING $410.62
SWITCHING CONTROL $64.74
TEMPERATURE $3.65
WEB CONNECTIVITY $258.43
WIRELESS COMM $110.90
TOTAL COST $1,615.58
SPONSORSHIP ($500.00)
OUR TOTAL COST $1115.58
4. DISCUSSION
For the majority of the project, the design
exceeded expectations. After completing portions of
the design, it was evident that our results were well
within specifications. There were a few unexpected
problems, but after some analysis they most were
resolved fairly quickly. Below you can see a
comparison of our results with our desired metrics.
6. 4.1 Outlet Specification
Outlet
Specification Desired Achieved
Power
Consumption 1.5W 0.25W
Current Measure
(Range) 50mA-15A 50mA-15A
Current Measure
(Accuracy) < 10% error
2% error for
most values
Transmission
(Range) 10m 20m
Switching On/Off for outlets
and lights at 15A
current rating
On/Off for
outlets at 15A
current rating
As it is evident, our specifications for the
outlet were met or exceeded. We did run into some
issues regarding accuracy with lower power devices.
With the lower power devices there seems to be a
larger error, this can be attributed to the ADC
resolution and the averaging capacitor. The outlets
were also tested for harmonic rich devices and
seemed to work equally as well. For our ability to
switch the outlets on and off this was achieved and
allowed complete control over the outlet/switch.
4.2 Controller Specifications
Controller
Specification Desired Achieved
Power
Consumption
15W
Max
6W
Max
Web Access Display Relevant
information,
Secure, Control
Outlets.
Parts operated as
desired
Transmission /
Received Data
95% of Packets
received.
98% of Packets
received.
Display User friendly,
Controls all the
outlets, displays
appropriate
information.
User friendly,
Controls all the
outlets, displays
appropriate
information.
4.2.1 Power Consumption
When we reviewed our power consumption
we noticed that our initial specification seemed high.
Our finalized controller only used 6W compared to
our targeted 15W.
4.2.2 Transmission and Received Data
For our data received, we figured less than
5% loss is acceptable. Our design was able to keep
that figure below 1%.
4.3 Cost
While we did not set a specific budget for
our project, we were surprised by our final expenses.
A summary of our final expenses can be seen below.
Total Outlet Cost $106.38
Total Controller Cost $261.67
TOTAL COST $1,103.58
TOTAL TAXES $101.38
TOTAL SHIPPING $410.62
NET TOTAL $1,615.58
SPONSORSHIP -$ 500.00
FINAL TOTAL $1,115.58
For each individual outlet our cost was $106.38.
There are many things we could do to reduce this cost
for scaled production. The most costly components
could easily be exchanged for less expensive
alternatives. An example is the X-Bee we used had
pin connectors; the same chip in a different package
can be a tenth the cost. The power regulation could
also be designed as opposed to buying a complete
module. The two changes alone bring the cost below
$50.
The economics of this project appear to be
justified as well. Considering that each outlet draws
only 2.2KwH annually at a rate of roughly 11₵/KwH,
each outlet costs less than 25₵/year. If this was
connected to a typical lighting fixture with three 60W
bulbs and reduced the time lights were on by ten
minutes a day. That translates to 11KwH/year, saving
nearly five times the energy used by that outlet.
5. CONCLUSION
Overall this project was very successful. We
met and exceeded our specification, learnt many new
skills, gained experience meeting with people within
industry, and honed our documentation skills. Some
issues were encountered, but that was to be expected.
Having a project that encountered no issues would
not have been a beneficial experience. Almost every
circuit designed for this project required components
that were new to us. This caused the design process
for this project to be very educational.
Neither of us had used wireless transceivers
before and this was an interesting experience for us.
The X-Bee transceiver utilized data packets that
needed to be understood before the devices could be
applied in any way.
Another new and exciting interface was the
touchscreen. The development kit we used allowed
for us to adjust the learning curve to best suit our
schedule. The basic features of this module were
simple to use, but the more advanced features and
interfacing with the micro were more difficult.
7. With regard to this project, there was the
opportunity to learn new scripting languages, work
with MySQL server and learn the Linux OS.
Despite all the devices we needed to learn in
order to complete this project, we were quite satisfied
with the overall outcome. The electrical outlet/switch
design exceeded our expectations and we feel there is
not much we would do differently in their design.
The controller module also operates exceptionally
well. The software for the controller module was
finished ahead of schedule and allowed for additional
features to be implemented, including:
1. Timers to control the outlet.
2. Overcurrent settings for each outlet.
3. Identifying which outlet is on which breaker.
4. Outlet circuit error detection.
For the user interfacing portion of the controller, the
only real changes to our design process would be the
addition of version control to our software. This
would have saved significant time when changes
were made that caused functionality problems. Aside
from this, the controller’s user interface exceeded our
expectations as well.
There were some issues with internet
connectivity, such as working outside the school
network. This would pose a big problem for real life
application. Using the RPi to transmit data to a web
host would be a more appropriate way of adding web
connectivity rather than hosting a LAMP stack on the
RPi.
If this project were to be pursued further,
there are endless possibilities for it. For the outlet/
switch circuit, circuit miniaturization would be
investigated. Low power accuracy issues would also
be addressed to account for a wider range of load
currents. The controller would have some additional
features implemented as well, including
automatically addressing new outlets as they are
installed and a procedure that evenly spaces the
timing for data being received by the controller.
For both the outlet and the controller, cost reduction
would be looked into as well. This would further
justify the feasibility of this project.
Overall, this project has been a very
interesting and educational experience with a
satisfactory outcome.
Acknowledgements
For our project we received a significant
amount of help from faculty within the University of
Regina. Many of our instructors went above and
beyond to ensure our project stayed on track and
operated properly.
There were many different development
tools used for this project. For the circuit schematics
and PCB design we used PCB artist from Advanced
Circuits. For the software within the STM Micro we
used Keil tools and their RTOS Library.
Aptana Studio 3 was used in web
simulations while JetBrain PyCharm was used for
scripting in python.
During our design we had one of our Touch
Display modules damaged and needed it replaced
quickly. Not only did 4DSystems ensure we received
the touchscreen module on time, they also covered
the cost of the replacement module, including
shipping. Parallax also provided us with replacement
components free of charge. This included one of our
X-Bee transceivers that were unresponsive.
A special thank you also goes out to SaskTel
and TRTech. They provided us with funding that
drastically reduced our expenses and allowed us to
improve our project significantly. They are also
giving us the opportunity to present and demonstrate
our project in a professional manner. We understand
the employees of SaskTel and TRTech have busy
schedules and their time and support is greatly
appreciated.