Tag Archives: energy harvesting

Adding energy harvesting to your project – translating batteries to capacitors for energy storage

This post is the first in a series on designing energy harvesting electronics. Such devices are not very common in the maker markets. I believe this is because much less content is available on the web that discusses their design and this is generally not a focus of education systems that pump out engineers. The potential of energy harvesting is very powerful, specifically when we talk about the Internet of Things and making it the Internet of Everything as self powered devices do not require batteries, wiring, or in some cases any maintenance.

The standard approach to powering small sensor nodes is slap on a CRxxxx battery, and this works well except for when the battery dies, and when we run out of raw materials making these batteries expensive. Much like a battery a capacitor can store energy. Unlike a battery it stores energy in an electric field instead of converting chemical to electrical energy. The most important difference to consider when using a capacitor to store energy is that as the energy decreases so does the voltage available. Generally batteries maintain a minimum voltage for ~90% of their rate lifetime. Se this Panasonic CR2016 datasheet and note that the voltage is fairly constant till the end of life. The voltage available from a capacitor increases or decreases based on the integral of the current based on time. If you want to know more here Wikipedia has the details but they are not going to be covered in this discussion vs a battery.

Calculating how long a battery lasts

The calculation of the run time with any battery is fairly simple as batteries are generally measured in mAh. This means that the battery will supply x milliamps of current for some amount of time. The CR2016 battery above is rated for 90mAh. This means it will supply 90mA of current for 1 hr at 3V.  If your system uses 1mA of current then it will last 90h. Generally this should be de-rated as the voltage will drop towards the last 15% of the batteries energy capacity so take a look at the data sheet. Also remember that batteries have resistance and cannot supply unlimited current. It may not be possible for the above battery to supply 360mA for 1/4 and hour depending on this value.

mAh can be converted to power by multiplying by the average voltage over the batteries lifetime. Electrical energy is voltage * current * time [V*I*t]  and a batteries data sheet supplies all three of these. The power the CR2016 has is 3V * .009A * (1hr * 60min * 60sec) =  97.2J.

So how does this equate to a capacitance value?

The energy in a capacitor is defined by its capacitance, the ability to store an electric field, and the voltage on the capacitor.  E=.5*CV^2. See here if you want to know why. In our system we know we need to maintain a minimum voltage so the electronics operate correctly. When the voltage is below this nothing will work. There will also be a maximum voltage based on how the energy harvesting circuitry that the capacitor can charge up to. This leaves us with a max voltage and minimum voltage. All the energy stored below the minimum voltage cannot be used so we get the following equation of usable energy in the capacitor. E[useable] = .5*C *(V[max]^2 – V[min]^2). E[useable] should match the energy in the battery and then solve for C.

Not all Capacitors are created equally.

Capacitors also enjoy a nice property known as leakage current. Different capacitors have different leakage currents, lower is better since this is wasted energy. The capacitors you use now probably wont work so well as a long term energy storage device. To further make things difficult data sheets don’t have this information available. I would not source these from ebay and would spend some time learning about the different commercially available capacitor types. Perhaps later a post can be devoted to this.

That is all for now. Next up will be a post on EH charging circuitry.


Leave a Comment

Filed under energy harvesting, stuff I've made

EnOcean USB300 and Python Via EnOcean Serial Protocol 3

There doesn’t seem to much out there in the hobby world with EnOcean. I find this interesting because EnOcean is pretty simple to use and has the unique advantage of energy harvesting devices anywhere. EnOcean sells a USB stick, the USB300 that speaks the EnOcean Serial Protocol 3 ( ESP3 (PDF)). I implemented part of this protocol, the ability to receive radio telegrams and transmit any ESP3 packet. In reality you probably only need to deal with a the small subset of ESP that is for sending and receiving radio telegrams. This would be the type 1 radio packets.

This python program doesn’t do much, but it lays the foundation for more and removes the burden of calculating check-sums. After starting you need to select the correct com port to use. If the connection is OK you will get back some details of the device, firmware version, chip ID etc. The main loop simply waits for 4bBS and RPS(four byte sensor and repeated switch) telegrams to be received from other EnOcean devices. It will print the data and source ID as well. The EnOcean Equipment Profiles EEP 2.5 (PDF)specifies how data looks coming in from different types of devices.ESP3_python Hopefully this helps you get started with ESP3 and adding EnOcean devices to your project.

The picture shows the program starting and some button presses and releases of a PTM210 wireless energy harvesting switch.

source code here: simple_serial_basic note the send ESP3 packet method is implemented as well.


Have fun…..


Filed under EnOcean, stuff I've made, tips and hacks

Arduino and Energy Harvesting Wireless Sensor Networks

I am beginning work on my first Arduino shield. This shield will allow you to connect with an EnOcean radio module.across the EnOcean serial procol v3. It will allow you to program the EnOcean module, or use it as a standalone EnOcean radio platform for powered or energy harvesting applications. This is particularly useful to adapt the batteryless energy harvesting switches EnOcean offers to additional platforms. Think, motor controllers, lighting controllers etc. Hopefully these will be available in Q1 of 2013.


Filed under EnOcean, stuff I've made