-
-
Notifications
You must be signed in to change notification settings - Fork 3
Controller Overview
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).
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.
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.
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.
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.
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.
Attachments 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
The limit to how much Helioduino can keep track of and manage depends entirely on how much Flash, free RAM, and 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 (512kB+ Flash, 32kB+ RAM), 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.