Skip to content

Controller Overview

NachtRave edited this page Mar 1, 2023 · 4 revisions

Introduction

What is it?

Helioduino is an Arduino-based automation controller program that automates the management of axis aligned solar panels via the use of consumer-grade off-the-shelf equipment available at many different hobbyist and hardware stores. It's intended to be used by anyone interested in throwing some fun hobbyist electronics together and making some of their own energy, using low-power IoT Arduino-compatible microcontrollers (MCUs).

What are some uses of it?

It can be set up as a fun classroom experiment managed by a knowledgeable teacher, as well as a weekend project thrown together by someone who enjoys tinkering. It can be a gift to a loved one, as well as just a fun project to experiment with. It can also be set up to manage small to medium sized solar farms, so long as your microcontroller has the capacity to keep track of everything.

What's it cost?

Helioduino is distributed for free using the non-restrictive MIT license: do whatever you want with it, modify it and redistribute it however you wish, we ask for nothing in return, but also offer zero guarantees. However, if you find this program to be useful and you would like to help support its furthered development please consider a subscription to our Patreon.

Overview

Helioduino manages a digital copy of what equipment you have available, and then figures out, based upon the system you have programmed into it, how best to utilize it. This includes driving a panel's axis devices, maintaining panel alignment across the day, returning to its home position at night, amongst a variety of other activities like running daily scheduling processes.

Usage

Helioduino is expected to be ran either as a library that one programs against in their own Arduino sketch, or as one of the examples that offers various complete programs for common setups. The best option is of course to simply build the full system example through the Arduino IDE after installing it from the Libraries Manager - in either case, it will be required to at least view the top of the example sketch to ensure your MCU's pin connections match.

How it Works

Helioduino interacts with the various actuators that can independently enable/disable various external equipment in use (such as an AC socket on relay), but also expects to interact with a variety of sensors, both analog and digital, each with their own savable user calibration data. Whatever sensor data is available is utilized to make the best decisions on how to orient solar panels, which are linked together via attachments. Power management can also be set up to limit total equipment activations allowed at once to maintain power to already active equipment.

Linkages between objects, specified by the end user during system configuration, allow specialized behavior between such objects to occur, such as TODO. Other common linkages can include TODO.

TODO: #2 in Helioduino

Limitations

Storage

The limit to how much Helioduino can keep track of and manage depends entirely on how much Flash, free RAM, are open I/O pins are available on the MCU used. Helioduino is programmed with microcontroller-level RAM limitations in mind (doing its best to instead prefer longer and more costly operations to save on memory usage), and is targeted to a minimum Mega2560-like spec (256kB Flash, 8kB RAM) for the simple example / bare-bones system sketch. Larger sketches, such as the full system example sketch, will require a more modern MCU, but may also require exporting of library data to an external storage device (such as SD card or EEPROM - see data writer example) if not enough Flash space is available.

Brought to you by the generous support of our Patreons. Please consider a subscription if you find this software useful.

Clone this wiki locally