Follow our illustrated blog on Embedded Software Architecture

How to build a hybrid solar/wind energy harvester?

Energy Harvester Telemetry

Everything becomes networked Development focus is very important in order to prevent scope creep, however it does not hurt to look a bit further in the future to try to see how things evolve. Our development track for the energy harvester is progressing nicely, but what will be next? We think that information sharing and […]

Share

The energy harvester is ready for iteration 4

Iteration 3 overview Essentially, a charge controller is a high-power switching device. The switching core determines how much energy flows to batteries, and how much excess energy is burned by a dump load. Next picture is key and PMD2 of our system design: Of course, for our experiments in iteration 3 we needed devices and more specifically, […]

Share

To smarter battery charging

Each battery(bank) has properties such as voltage and maximum load amperage and It also behaves differently (in our context of energy harvesting) depending on its state of charge (empty, half, full). To charge a battery efficiently and safely the (average) voltage and (average) load current must be measured, filtered and checked continuously. First thing a […]

Share

Dual channel power switching: testing different PWM configurations

Switching power between battery and dump load is an important functionality of a charge controller. Switching fast by means of PWM allows for efficient battery charging: the battery (bank) is charged with an appropriate algorithm (bulk, absorption, float, pulse) while unnecessary energy is diverted to a dump load. Since relays are not well-suited for fast PWM switching, […]

Share

STM32 bootloader

Flashing via USART Most STM32 devices have an on-board (first-level) boot-loader (see Table1 of AN2606 for an overview of supported devices). The boot-loader allows developers to flash MCU’s internal ROM memory via SPI, CAN, USB, I2C etc. but for our project we want to connect via USART to the STM32 MCU. The USART protocol that is […]

Share

Storing settings and data on an embedded device

Every once and a while, one needs to persistently store settings, information or other data on an embedded device. This poses risks. There are a few (simplified) categories of embedded data storage solutions to look at. More ‘advanced’ and relatively larger embedded systems… …use file systems. Many times, we have heard it is a question […]

Share

STM32F100: configuring two PWM channels, polarity and alignment

Introduction In our project one source supplies power to two different loads and we need to control how much power goes to which load. To achieve this, we use an STM32F100 processor to PWM high-power mosfets. These mosfet channels do or do not conduct green energy to the different loads which are a battery (bank) […]

Share

Embedded device boot

Eventually an embedded device’s micro controller or processor is expected to execute the designed-for-the-purpose software. But before that happens, some vendor specific voodoo is required. Only then, it understands it should run your code, which is located at the place where you put it. First-level boot-loader Most modern micro-controllers nowadays have first-level boot-loaders. They initialize […]

Share

Recycling a VAWT as a HAWT

A few years ago, I bought a Chinese manufactured Vertical Axis Wind Turbine from a vendor in Canada. After it travelled the world, and was delivered at my doorstep, it seemed it had fallen down or been thrown about a couple of times. Anyway, a bit naive, I then thought it would still work well […]

Share

High-side mosfet board: an elance experience

Introduction A few months ago – as a prototyping experiment – we decided to develop two types of high-power switching boards: one for high-side switching and another one for low-side switching. Goal was to gain some experience on different switching techniques for charge controllers. We contacted several hardware development / prototyping companies and, at the […]

Share