Tuesday, April 22, 2014

Take DIY Off Grid Energy Control to the Next Level

Off grid energy control just got easier.   Currently, I use a low power laptop to log and do some rudimentary control of the power system.  Drawbacks are it requires 120V.   I can turn the house off and turn it back on when the laptop battery gets low.  The generator is turned on/off via AUX relay using voltage set points and other basic controls provided by the Outback's MATE and FlexNet devices.  Another AUX relay is controlled by another voltage set point, timer and wall wart and another relay to drive the generator block heater.  I have a manual override switch to turn the block heater off if we expect to get power through solar or wind.  Is there a better way to get more control?
The Raspberry Pi would be a good next step, but I need a rock solid solution.  Introducing the MotherBone(TM)PiOne(TM) motherboard from APlus Mobile, Inc. (System Reference).


There are an amazing amount of features on this board.  Pair the motherboard with a Beagle Board Black (BBB) and you have an amazing low power supply and controller that can snuggle right into a 24V off grid power system.

With the data logging system, nominal power use is about 76W.   Bringing the house down to minimum levels at night and during the days, I can reduce the load to about 22W.  That is a 70% savings during non-peak utilization and I can still log data and turn the power back on when needed.

Another smashing feature of this board is on-board USB ports and five, FIVE!, solid state relays.  With the BBB and some fancy Python programming, we can use the relays to improve our current situation above (or even geek out and go nuts with more relays).

Example Application

MotherBone(TM)PiOne(TM)+BBB+Linux+Python
Outback Mate (ver 1/serial) + FlexNetDC

USB #1: Mate serial input (logged by python): Shunt and battery voltage data.
USB #2: Outdoor temperature sensors (4 channel DS18S20)
USB #3: Indoor temperature sensors (4 channel DS18S20)

Relay #1: Replace the Mate AGS on/off.  We can now throw this relay when we know the block heater has been running for a predetermined time.
Relay #2: Replace the block heater circuit.  Turn generator block heater on/off.
Relay #3: Override for on-demand heat.
Relay #4: Dump load on/off to heat trace to water tank.
Relay #5: Vent fan on/off for generator shed.

Now we have full control over generator functions.  Instead of doing some funny business with the Mate's AGS settings to pre-heat the generator before it turns on, we can actually do the programming.  When the voltage is low, turn on the block heater.  After two hours, turn the block heater off and turn the genset on.  After we are done charging, turn the genset off.   We can go further, depending on the outdoor temperature, vary the amount of time needed to pre-heat the generator.  If it is darn right balmy outside, we can just turn the generator on.

The generator shed does get warm!  Now we have a relay and temperature sensors to turn the fan on and off in the shed.

During the winter, we occasionally have to dump extra power.  For now, it just is dumped to a heater in the garage.  We can MANUALLY, plug in a heat trace to our water tank to absorb some of the load or AUTOMATICALLY with the new control system.  For this relay setup, we use the low power relay from the MotherBone(TM)PiOne(TM) to drive a high power relay (RIBU1C).

What is relay #3 doing?  Heating systems typically use low voltage 24 V AC and thermostats to provide an "on-demand" signal to the burner control.  If the thermostats are set at 70F, when the temperature falls, the thermostat will send a "demand" signal to the burner by closing a relay on the 24V AC circuit.  Should we have a way to detect that power will be coming in the future and we want to delay the heater from coming on, we can use a relay to "break" the circuit -- temporarily overriding the "demand" signal to the heater.  If it gets below a lower set point, say 65F, then we can turn the relay off allowing the heater to turn on.  So, this relay on the 24V AC we would be using the N/C function instead of the typical N/O function.

Let's get this board on the market so we can play!  Kickstart it today!