Iteration 1 overview
Iteration 1 was mainly about extending our software platform which we call Simple Platform Abstraction. This platform enables us to easily experiment with new hardware (sensors, mosfets etc.) and will be the fundament of our energy harvester application. See the pictures for some recent hardware hacking!
The software platform evolved quite a bit. We implemented the following drivers for the STM32F100 microcontroller:
- Pin configuration: to set a mcu pin in the correct mode (e.g. gpio, adc etc.)
- GPIO: for digital IO such as reading a switch or illuminating a LED
- PWM: which we will use to control the current flows in the energy harvester
- ADC: in order to be able to do analog measurements
Since the platform is called ‘Simple Platform Abstraction‘, we did our best to make the driver interfaces generic and platform-independent (however, this also means not all hardware specific features are exposed by the interface).
There are some supporting libraries as well for hardware features which are nearly always available:
- a LED library which supports blinking patterns, and
- a Button library which is able to use a Debouncing lib to tackle bouncing switches.
Our first piece of hardware did arrive: the PMD1 sensor board. It was developed by a freelance hardware engineer. We tested it up to 40A with an energy-burning, red-glowing dump load. Nice 🙂
The documentation package is up-to-date. The latest version can be found here.
Because the energy harvester is a real-time system, we also set a theoretical foundation on this aspect: see the real-time articles.
Planning: what is next?
Here is our long term planning again:

Energy Harvester Planning 1
The focus of iteration 2 is Power Management Decision 1 (wind power to diversion load or to charge controller?). We already have a sensor board but we need a switch solution (a relay or something else) to control the current flow as well. We have all software tools to build this part of the application: a toolchain, a real-time OS (FreeRTOS), ADC driver to measure the wind input power and GPIO driver to control the relay. We might need some extra debugging tooling though. For the moment we are thinking of a simple debugging protocol via the serial port (since we already have a serial driver as well :-)). The main challenge in PMD1 is the difficulties that arise when power switching (inductive load issues). An hardware engineer will assist when hardware is not doing what we expect it to do :-).
Speak Your Mind