They have been covered for a while using copper pipe insulation but thanks, after rechecking I see a few missing spots.Having a closet full of batteries myself, I'm impressed with your project.
I would like to suggest some rubber insulation for those copper pipe battery interconnects. I've seen a socket wrench 'evaporate' when it was dropped across a 48 volt battery bus bar. Such accidents aren't supposed to happen, but if it's exposed and there are things above it, then you really should protect it from that happenstance.
Most are listed in the source code header below. I'm in the process of adding a thermistor adc channel so I can account for sensor temp drift and battery SOC changes. Both the hardware and software are works in process so things are still changing. The current software lacks a clear design process but should be the basis for a much larger scale system I plan to build in a few years.Nice! How many separate pieces of data are you sampling?
/*
* This program controls and monitors solar power battery arrays on a 12vdc system
* MBMC
* standard program units:
* Voltage in (unsigned long) millivolts, current in (long) tenths of amps
* power in (unsigned long) Watts, battery capacity in (long) tenths of Ah
*
* USART2 is the host comm port 38400
* USART1 SD card dump comm port 115200
* Timer0 1 second clock
* Timer1 work thread , background I/O clock ~20HZ
* Timer2
* PORTA analog inputs
* adc0 vbatol PIC Controller supply voltage to 5VDC regulator
* adc1 solar Charging voltage at battery from CC
* adc2 currentin 50A AMPLOC sensor input from PV array
* adc3 rawp1/inputvoltage Voltage from PV array
* adc4 rawp2/primarypower[B1] Voltage a primary inverter battery
* PORTF analog inputs
* adc5 current 300A AMPLOC sensor battery output to inverter
* adc6 rawp3/primarypower[B2] Voltage for backup battery
* adc8 currentcharger 50A AMPLOC sensor on 15vdc 10A ps for external charger.
* adc_cal[10-13] current sensors zero offset stored in eeprom 10=a50, 11=a50c, 12=a300, 14=future
* cal table 98,123,127,161,119,127,127,127,127
* currentload The current going the power the inverter or other load.
*
* PORTD switch input
* PORTE battery/charge relays
* PORTJ load/input relays
* PORTB external control i/o
* PORTH0 run flasher led on-board.
* PORTC0 C40 charge controller led input
* 4x20 LCD status panel and led status lights.
*
* nsaspook@nsaspook.com Copyright 2011
* Fairview, Oregon
* MMC-SD card routines from ELM-CHAN,www.captain.at,www.microchipc.com and others
*/
unsigned char pick_batt ( unsigned char choice, unsigned char bn )
{
static unsigned char z, pick, boi = 0, D_ON = 0, D_OFF = 0;
static long iweight, vloaded;
static float weight;
/* look at cell and history data for next battery to charge or if all are good float on primary battery
* choice is 0 for normal logic or 1-4 for battery to switch float to
* bn = battery c40 is currently connected to, or 0
* 0 = float charge on primary if all charged
* 1-4 = battery to run full C40 charge sequence on
* return codes -1 = error, 0 = float, 1-4 charge this battery
*/
Awesome! What do you use the power for exactly?When all batteries are charged and there is excess power a diversion relay can send a signal to switch external AC loads to PV off-grid power.
I have an isolated power system that runs a outdoor media room with a small TV, music system and lighting.Awesome! What do you use the power for exactly?
I will take a look at github. There's nothing new or special being used or programmed by me on this project but the long term plan is to have a 4KW off-grid system for my retirement home on a plot of land I own in central Texas.That's really cool. I've had the same daydreams but haven't taken it nearly that far. I got sidetracked with the make it run outdoors in an isolated spot, solar stuff. It seems like you're ready to share the code and designs. Have you considered posting the files up on git hub or somewhere similar? https://github.com/
Maybe it will take off and you'll help make a dent in gazillion barrels of oil we buy each year.
If my inverter and the grid power frequency and phase were locked it would be that easy. In my case they are not, so I would have to use two module sets with a XOR lockout so both can't be enabled at the same time by accident. To switch over power sources when not in sync you have to command the online SSR set to off, wait at least 1 full cycle, then switch the other SSR set on to reduce a DC offset power surge. Most consumer electronics won't see less than 10 missing cycles but a good online UPS might.So you'll replace the 20A relay with the zero-crossing SSR modules? The ssr modules are new to me. So they are used to cleanly switch under load? So you could switch power to your Computer from the inverter to the grid power and not miss a beat?
On the current setup for your relay box. Does the relay just interrupt one side of the AC? I don't know much about the 110VAC house current either. Does it matter if you switch the black or white wire with the relay?
by Jake Hertz
by Jeff Child