IDIOT - Intelligently Designed Internet Of Things.
Rather than just a single product I am submitting a family of products for the Energy Harvesting Solution To Go Challenge.
I've aptly named it the family the IDIOT to mean "Intelligently Designed Internet Of Things".
Why a family of products and not just one?
The reason why is because the Energy Solution To Go kit (EHSTG) and its parts are so versatile that the development and commercialisation of a single product would not have done it justice.
So many things can be made with just the EHSTG and a few additional parts its absolutely amazing!
Here is the list of additional parts I've used;
- IR LED - The ability to remotely control appliances.
- FRAM Module - The ability to give the product a non-volatile memory and resume where it left off.
- e-Paper - The ability to create daylight readable non-volatile signage and displays.
- NFC Energy Harvesting EEPROM - The ability to use obtain energy from NFC.
- Super Capacitor - The ability to extend operation time.
- Super Capacitor Intermediate Storage Module with auto power cutover - The ability to extend operation time and turn on quickly from harvested energy.
- Buttons and Keypad Module- The ability to accept user input.
- MIDI Interface Module made from an optcoupler and resistors
(Note: From heron EH = Energy Harvesting/Self powered, NFC = Near Field Communication)
With just the above parts, the IDIOT family currently includes;
EH Infrared Remote Control and variations including automatic channel scan and intervalometer.
EH Signage - many variations
EH e-Reader
NFC Signage
NFC e-paper notepad including Smart Phone Page Dump
EH MIDI Slave Unit
Along with the usual Timers, Thermometers, DataLogger s
And with the addition of the appropriate low powered sensors and actutators;
EH Safety Alarms
EH Dataloggers
EH Autonomous Control Units
A good example of a suitable lower powered sensor is the LMP91000. This directly connects to electrochemical sensors (such as CO sensors) and microprocessors using I2C and has an average power consumption of less than 10uA.
http://www.ti.com/lit/ds/symlink/lmp91000.pdf
All of these products have great potential to be tuned, commercialised and be further developed into products such as;
Energy Harvesting Sun Shades
Energy Harvesting Tyre Pressure Gauge
The sky's the limit!
I won't have enough room in a single post so I will have to submit it in serveral parts also I've only got one EHSTG Kit so I have to disassemble it and reassemble it to demonstrate each IDIOT member.
The first IDIOT member described is the Energy Harvesting Infrared Remote Control.
It is not the world's most complex project but it is ideal for demonstrating and teaching embedded system and energy harvesting concepts and mechanisms.
The simplest version can be built and commercialised really quickly.
I first described this in Part 007 in this series of blogs.
Infrared Remote Control Unit
This product demonstrates how simple it is to construct a fully working and commercially viable Infrared Remote Control Unit from the EHSTG Kit.
For its development all that is required in addition to the EHSTG and IDE (Integrated Development Environment) is;
- Infrared LED (IR LED)
That's it. Nothing else is required. Everything is provided in the EHSTG kit.
Energy Micro have even published a guide on its Lizard Lounge to assist with its development.
http://forum.energymicro.com/topic/32-ir-remoteintervalometer-for-nikon-d90-camera/
If more than two buttons are required you can add;
- A keypad with some signal diodes and current limiting resistors.
The IR LED is used to communicate to the remote device. It does not require a current limiting resistor because the I/O ports on the EFM32 can drive up to 20mA and its source voltage is about 3.3V.
However there is no reason why you can't install a current limiting resistor if desired.
The IR LED selected depend upon the device to be controlled. In many cases a peak spectral wavelength 940nm is ideal or acceptable.
The IR LED should also have a suitable transmission angle. In many cases 30 degrees is acceptable.
The functional specification is simple.
- Upon press of a button send out the desired remote control command.
- The unit obtains power to operate from its exposure to ambient light and on demand hand cranked generator.
This means that no previous state memory nor resume on power up module is needed.
So how's it done?
A remote control is a part time use device. It spends most of its life asleep and only turns on for a brief moment when one of its buttons is pressed so there is plenty of time for accumulate energy from its surroundings.
It can accumulate power from solar cells like those used in an electronic calculator.
If the accumulated power is insufficent quick crank of its hand crank generator will get it up and going.
When activated the infrared LED is toggled on and off with a known command to the remotely controlled device and then automatically turns off again.
The control of the LED toggling is performed using two timers.
- A timer for the carrier signal
- A timer for the modulation of the carrier signal.
A timebase is required but no crystal or crystal oscillator is required because the EFM32 has its own energy efficient RC oscillators.
The frequency is software selectable and for this product 1MHz was selected.
The 1MHz base frequency is divided down by the timers to create the required timings.
The development of the prototype demonstrated that the inbuilt RC oscillators proved to be adequately stable for the application.
Timer0 in conjunction with an assigned I/O pin is used to generate constant carrier signal.
Timer1 in conjunction with an assigned I/O pin is used to create the desired on/off periods for the carrier pulses.
The IR LED is connected between the two assigned I/O pins.
The IR LED being a diode will only conduct and transmit when forward biased.
This means that IR transmission will occur if the assigned I/O pin for the carrier signal is a logical high (+V) and the assigned I/O pin for the modulation is a logical low (0V).
i.e.
When the modulating pin is a logical '1' and the carrier signal is a logical '0' the LED is OFF because the LED is reverse biased.
When the modulating pin is a logical '1' and the carrier signal is a logical '1' the LED is OFF because the pins of the LED are at the same voltage.
When the modulating pin is a logical '0' and the carrier signal is a logical '0' the LED is OFF because the pins of the LED are at the same voltage.
It is only when the modulating pin is a logical '0' and the carrier signal is a logical '1' that the LED is ON because the LED is forward biased and current flows.
For the most basic model - the 2 user defined buttons on the STK3700 are used for user input.
- PB0 is set to Volume Down
- PB1 is set to Volume Up
These are configured as interrupt inputs to wake the EFM32.
When a button is pressed the selected Interrupt Service Routine (ISR) will commence.
The ISR;
- Transmits the assigned Remote command.
- Puts the EFM32 back to sleep.
Note: Notice that no detailed configuration information has been provided yet. This information will follow in a later section.
The million dollar question - How much energy does it require to operate?
The answer to that is not much.
The only energy consumption is driving the IR LED for about 70 milliseconds at 20mA (across 3.3 volts) plus the processing overhead and losses to do so.
If my calculations are correct this roughly equates to slightly more than:
Joules = Power(in watts) x Time(in hours)
= (3.3 x 0.020) x (0.070 / 3600)
around 1.3 microJoules
This is achievable by a small dynamo or solar cell and has been proven by experimentation.
The next post will contain more detailed information about each element(14?) that has been described and a video of the showing the Remote working with my TV.