# How Do Solar Panels Behave?

#### revesz

Summary
Looking to understand Solar Panels better for a DIY project I am working on
Hello,
I am looking at using solar panels to accomplish two things:
-I want to power a heating element submerged in a water tank to act as a thermal battery for heating a chicken coop
-I want to also charge a relatively small 12V battery by connecting the panels to charge controller.

What I don't understand is how the voltage will change once the heater is connected. The heater has a low resistance of 0.46 ohms, so I imagine it will act as a short circuit, meaning that the voltage that the charger will see will not be sufficient to charge the batteries. If I can understand how the voltage and current from solar panels works and how it varies with load and light intensity, then I can plan this out better. I have also read that the voltage of a panel rated at 12V can actually peak quite a bit higher, and this will be important to plan for.

I am thinking this may turn into an arduino project, to break the short, and allow the batteries to charge for a few minutes each hour. I'll leave this post for now, but return tomorrow and perhaps I can draw some circuit diagrams to illustrate the various configurations I'm considering.

Related Electrical Engineering News on Phys.org

#### alan123hk

I think the core issue of solar power systems is how to maximize efficiency through load matching, which can be a very complex task, depending on the relevant optimizations required.

Of course, for low cost solar panel power systems used in many consumer products, the output power may only be optimized at a single specified irradiance.

Last edited:

#### anorlunda

Mentor
@alan123hk nailed it. A maximum power point tracking controller (MPPT) will adapt the load to the panel's capabilities.

If you did it as an Arduino project, your project would become a DIY MPPT controller. You should be able to find descriptions of MPPT online. If you buy a MPPT controller, prices start below $100. By the way, direct solar hot water heating is even more attractive and efficient than solar PV plus an electric water heater. If possible, consider putting up some solar hot water panels and some solar PV electric panels. #### revesz Interesting. I imagine I would need to have a multitude of burners installed so that I can vary the resistance of the load to match the panel output. I am now thinking it would be better to draw the load from the battery and allow the controller to do all the MPPT stuff for me. My concern now is how I will draw from the battery only when the sun is shining so that I am not depleting the battery. I'm considering arduino now has a voltage sensor to the panel side of the controller and closes a relay for the heater only when the voltage it senses is higher than some set value. This way the only time the heater can draw from the battery is when the panels are maintaining a high voltage(ie. during the day). and will not drain the battery at night or on cloudy days. Thank you, I will read up on those links. #### anorlunda Mentor I am now thinking it would be better to draw the load from the battery and allow the controller to do all the MPPT stuff for me. Good. My concern now is how I will draw from the battery only when the sun is shining so that I am not depleting the battery. Huh? The whole reason you have a battery at all is to store energy while the sun shines so that you can use the energy later when the sun is not shining. If you don't need energy when the sun is down, then eliminate the battery entirely. #### revesz Good. Huh? The whole reason you have a battery at all is to store energy while the sun shines so that you can use the energy later when the sun is not shining. If you don't need energy when the sun is down, then eliminate the battery entirely. There is a good reason for doing this. The batteries are very expensive. I need the heat at night. To store all that heat in batteries will cost over$1000
To store the heat in water will cost a small fraction of that(think of the water as a battery).
But I still want to be able to turn on high efficiency light bulbs when I am busy in the coop. I will still want some small amount of 120volt power available to use when the sun is down for powering light bulbs for short times. The amount of energy I need to store to power those light bulbs is quite minimal, so the battery can be small.

With that small battery being intended to power lights periodically, it should not be forced to power the heating load, thus causing it to fully deplete every night, and quickly degrade and likely fail do to freezing temperatures.

#### anorlunda

Mentor
OK, got it. You do need some limited power at night.

As you said, hot water is a wonderful way to store energy. You should consider solar hot water panels. It is less expensive and more efficient to heat the water directly rather than with electricity. You can have separate PV electric panels for lighting purposes.

#### revesz

I have considered the water heating panels as well. For this project I want to focus on using only PV panels. The coop is not expected to be kept as warm as say a house, and I think it is likely that the liquid in the system will freeze(i'm in Canada). Antifreeze could be used, but I'd prefer to just stick with PV panels. The goal is to learn about PV systems as much as it is to help heat the coop.

There is the complication of how to dump energy to the water heater only when the batteries are fully charged and the sun is shining. I have two options that I can think of:

-Do I create my own MPPT code in arduino and run multiple burners to adjust resistance. This has the benefit that I can open the circuit to the burners for say 10% of the time to ensure battery remains charged. Disadvantage is that I will have dig deep into MPPT theory and calculate the appropriate resistances to use at varying PV outputs.

-Or I can run the heater off the battery, ensuring a consistent 12V, which allows me to optimize the heater resistance for a single voltage. The disadvantage is that I will have to carefully program the arduino to know when to stop pulling from the batteries based on subtle changes in voltage at either the batteries or the panels. I am apprehensive of that plan, due to the effect that temperature changes and battery age can have on battery at full capacity.

I want my setup to be something I can do once, and not have to worry about parameters shifting over time.

#### tech99

Gold Member
It is very expensive to obtain even 100W of reliable solar power and I think you will need kilowatts for heating.

#### revesz

I'm at all expecting to keep the coop "warm". But hopefully can keep one small section of the coop above freezing temperature. My dad is the one who wants to have this project done, and he is convinced that it is worthwhile. He knows that it will not make the coop warm but only add a few degrees warmth in a region around the water barrel

#### anorlunda

Mentor
Do I create my own MPPT code in arduino and run multiple burners to adjust resistance.
That is similar to other MPPT controllers. The goal is to operate the PV panel close to the "knee" of the curves shown by @alan123hk in post #2. Most controllers do that by dynamically adjusting the voltage on the load side of the controller (voltage on the panel side of the controller is different.) But you can do it by switching in more or fewer heater coils (you call them burners). It doesn't have to be perfect. If you can measure power to the heaters, then all you need to know is how many header coils draws the most power. Too many or too few means less power.

Your Arduino code can do that by trail and error. For example, say you have 4 burner coils. Then once every 15 minutes do the following. Turn on only 1 coil, measure power P1. Turn on 2 coils, measure power P2. Turn on 3 coils, measure power P3. Turn on 4 coils, measure power P4. Which power P is the largest 1, 2, 3 or 4? Leave that many coils on for the next 15 minute period. The period could be adjusted for longer or shorter periods. That will do a decent job of MPPT as the time of day changes. It will not be fast enough to catch the opportunity to adjust as a cloud passes overhead.

Or I can run the heater off the battery, ensuring a consistent 12V, which allows me to optimize the heater resistance for a single voltage.
You're confusing yourself here with the battery. Putting the battery in the middle has nothing to do with MPPT power from the panels.

If the battery is used only for nightime lights, then I would not route the water heater power through the battery at all. Heater power and battery charging power should both draw from the load side of the MPPT controller in parallel.

You still need a battery charge controller to avoid overcharging. Some commercial MPPT controllers include the smart battery charging function correctly. They have two wires in from the panels. Two wires out for battery charging and another two wires out for other loads such as water heaters.

But you can also get inexpensive PWM battery charge controllers that protect from overcharging without being "smart".

If you do it with Arduino, what are the physical outputs of the Arduino? A relay for each heater coil? Plus a relay for the battery charging on/off?

It is very expensive to obtain even 100W of reliable solar power and I think you will need kilowatts for heating.
Pay attention to what tech99 said. A hand waving answer "just a little warm" is not good enough. You need to know how many kWh of energy you need to keep the coop at the minimum acceptable temperature on the coldest night. You need a number, not an adjective.
You can determine that by experiment if necessary.

I reviewed this thread; so far you said nothing that establishes how much energy you need, and thus how many panels, and thus how much money.

#### revesz

It's not my chicken coop. It is my dad's. He wants to do something to help them keep warm. I don't think tangible results are his priority, as much as him satisfying his curiosity of solar panels, and knowing that he did something to spoil his prized chickens. Chickens don't actually need a heat source through the winter, it is just him being eccentric. He is going to pay me to do this, so I am willing to give it a shot, as I am also curious about solar and I'm sure I will learn a few things. I don't want there to be no net positive effect for his chickens so I'm doing my best to brainstorm ways to make some positive effect on the internal temp of the coop. I don't have an exact upper price limit, but I also don't want to make my dad waste too much money on this. He doesn't have a problem with spending $800 Canadian on panels and$800 on batteries. The water heater idea is my idea to try and reduce the battery cost.

I've been looking at 4 100 watt panels and 200AH 12V battery charged by a 30amp PWM controller. I expect that in middle of winter conditions I should get an average of 0.8 kWh of energy from the panels each day. With that I would like to use 0.5 kWh each day to run lighting. Any excess power generated when the batteries are full can be stored in a water tank as heat. The actual temp of the tank isn't important, it is just to help keep the coop a few degrees warmer at night.

Personally if it were my chicken coop I wouldn't try to add heating, and if I really wanted to pamper my chickens I would add excessive insulation to the walls. But this project has been handed to me, and I'm currently laid off due to the GM strike, so I'm going for it.

#### anorlunda

Mentor
During Toronto winters, 5 hours per day of sunlight is a lot.

0.3 kWh over 5 hours is 60 watts average.

With 60 watts of power, you can heat a 100 liter water tank 3 degrees C in about 6 hours.
With 60 watts of power, you can heat a 30 gallon water tank 4 degrees F in about 5 hours.

Now you're going to circulate that water through some kind of radiator to get the heat from the tank to the coop. Pump power??? You could skip the radiator and pump if the walls of the water tank were not insulated. The chickens could cuddle up to the tank. But if uninsulated all day long, almost all the heat will leak out during the day. Maybe you could send your dad out to take the insulation blanket off at night and put it back in the morning.

Is that enough to make a measurable difference in nighttime coop temperature? We don't know how tight the coop is. How many air exchanges per hour? You might be challenged to measure any temperature difference at all.

Edit: Solar PV power is very attractive. But direct hot water heating is perhaps the least attractive application of solar PV that I can imagine.

Last edited:

#### revesz

Thanks for all these replies. I think I am getting a pretty good idea of what I want to achieve.

I like the idea of using an old water tank. If I can buy a used one in decent quality it may help save some money.
I want the majority of the surface to be well insulated. I'm thinking lay the cylinder on its side and cut away the insulation along an area of to do be determined surface area. I will have to calculate the size based on the rate of heat transfer away from the tank I expect, and balance that with the amount of heat added per 24 hours.

Chickens have a body temp of 40C. So I will aim to have the tank maintained at between 40 and 45 C, so that this area of the coop can be used by the chickens as a warm up location, where they can directly pick up heat from the water tank. A thin blanket material can be used to soften the surface and ensure that the 45C is not able to burn the chickens. The lower limit of 40C ensures that at no point is the surface(which will have a fairly high thermal conductivity be pulling body heat out of the chickens.

This means I will be moving away from the idea of heating up the entire coop by a few degrees, and instead focusing on heating a small surface area to a specific temperature, with a limited 24 hour temperature fluctuation.

This will also mean that when the project is complete, we will be able to see whether or not the chickens are benefiting, based on if they actually spend any time huddling around the warm spot.

There could also be the possibility of incubating eggs on this surface, without requiring the hens to brood on them. There are 5 hens, and 1 rooster, with the intention of having the hens produce eggs.

There will also be the bonus that all the heat lost from the tank does also act to warm the rest of the coop however slightly.

I'm considering a 1m x 0.2m surface area maintained between max 45C and minimum 40C. Once I determine what I expect the heat loss rate from that surface will be on the coldest days of the year, I can determine how many watts of panels I will require.

I also expect that because this is in winter, in canada, with a small amount of shade during morning and evening, there will not be nearly the full amount of power from the sun. My current estimation is that the panels will get 20% of the rated wattage for 5 hours per day on average(accounting for cloudy days etc.). This is just a guess, and I may need to update that estimate before I can get an accurate idea of the wattage of the panels.

#### revesz

The idea of a heat exchanger and a pump is interesting. I will continue to look into that. It could mean not having to cut into the side of the water heater. It could also mean I can vary the rate of heat output from the tank by adjusting the water pump speed. My only concern with that sort of thing is it introduces the possibility of a pump not working and the water line freezing,

#### revesz

So I am breaking this project into three phases:
Phase 1: spec and buy all the parts of a typical solar installation
Phase 2: Install, debug, test etc. the solar panels. Have the system up and functioning as a source of power
Phase 3: Purchase a water heater tank. Modify it to suit my needs. Install an Arduino as a load diversion controller.

I have been "researching" quite a bit. Which mostly means I've been spending many hours looking into various products and deciding which products I want to buy.

The hard part that I'm not sure about is phase 3.
I don't know how I will design my own load controller. I don't really want to spend $500 extra to buy a controller that only does load diversion after you install a$200 additional module, plus a \$100 relay.
I think I can come up with something myself, but I'm not 100% sure how that will work.

In the meantime I'll continue looking at products until I settle on a good all around system in the ballpark of 1400W.

#### anorlunda

Mentor
It sounds like you understand engineering pretty well. Now is the time to apply the most important engineering principle of all. Define your requirements before beginning design.

What does your project need to do to be considered a success? Is it necessary to combine both lights and heaters into the same project sharing the same panels? Is it necessary to be optimized with MPPT at day 1, or could the project be phased?

It's OK if your goal is just to have fun tinkering to see what you can do, but you should state that first.

#### revesz

Yes I agree.
Not having a clear goal, budget, or understanding of motivation does make this challenging.

I am going to propose that the system be capable of providing 100W power 24/7 under 90% of weather conditions. That is a clear mathematical goal that i can design for.

#### HunterT

In my case, I use roll out solar panels on my roof. Very flexible and simple connection.

#### anorlunda

Mentor
In my case, I use roll out solar panels on my roof. Very flexible and simple connection.
Good for you. Flexible panels are attractive in some cases and often overlooked.

How do you prevent them from blowing away?

Does the manufacturer say anything about an air gap between the panel and the roof to allow a cooling air flow?

How many watts per ft2 do they make?

#### revesz

We've already got the panels in place. They are sitting facing southwest about 20 degrees west of true south as that was the best angle we could get. They are also tilted to about 30 degrees off horizontal, which was just the angle of the roof we mounted to. Maybe not perfect but should work well. The trees in the way are to be cut down in the next few weeks. We installed 4 panels, of 305 watts each, and 24V nominal.

Now I'm on to ordering Lifepo4 batteries, solar charge controller, BMS, circuit breakers, cables, etc. I'll be building the box to house all the circuitry in my small shop(living room), and that way I can simply drive it over to him and install it in a few minutes once I have the whole thing set up and ready to go. Should be pretty cool.

Once he has a fully functioning solar system, it will be on to the next phase of installing a water heater and having the arduino decide when to dump power to it(and maintain temperature without causing it to boil). The Arduino can also function as a timer allowing lights to come on and off automatically each day. If there is any issue with over-draining the battery I can make adjustments to the power usage.

I should be started on building the box soon, so I will post some photos as the thing comes together.

#### revesz

So I hit a bit of a snag in my plan.
I had intended the charge controller to switch dump load on to divert extra energy to heat water when batteries are full. Turns out that the Victron charge controller that I spent a lot of money on doesn't have this feature(even though it's common on all the cheaper controllers).

So I need to find a way to activate dump load without relying on my Charge controller to do it for me. I think I have a plan.

I am planning to probe the positive voltage off the first cell in the battery I am building from 8 LiFePo4 cells. Because I am using a BMS to keep cells balanced, I should only need to probe a single cell to get a rough reading of the overall voltage of the battery. I can use that voltage, which is below the 5V limit of the inputs on the arduino, to roughly determine the state of charge of the battery. So I should be able to write a simple code that says IF the voltage from the cell is above some limit of say 3.55 volts, AND the temperature reading from a temperature sensor at the water heater is below some limit of say 60*C,THEN the heater element relay will be activated.

I originally though I would probe across all cells and use resistors to bring the voltage down within the 5V input limit of the arduino, but then I realized I could just use one cell and simplify the circuitry as well as keep the math simple.

I hope that works alright.

#### revesz

I'm also facing a bit of a challenge in how I will turn off my inverter when the battery voltage is low. Because I am using LiFePo4 batteries, and because I also want to extend the lifespan of these batteries as much as possible, I would like to have control over the voltage at which the inverter switches off. The inverter is designed to cut off when voltage drops below 19volts which is too low for my 8 LiFePo4 batteries.

To get around that I have a BMS which cuts off load current flow at a low voltage determined by user in a bluetooth app.
The issue is that I don't trust this BMS to handle the large current my inverter and other DC loads may draw from the batteries. So I was going to use the BMS merely as a signal with no current actually flowing through the mosfets on the BMS. This would be simple if there was a pin for this purpose on the inverter, but there is not. This inverter does not have an on/off switch but rather a momentary switch to toggle on and off. So I was going to send the signal from the BMS, first to my arduino and use code to send a pulse signal to the inverter to mimic a momentary switch. The problem is that the arduino must know the state of the inverter to determine whether a pulse should be sent or not. For example if the inverter is already off, and during this time the batteries fall below the low voltage threshold of the BMS, the BMS will send an off signal to the arduino. If the arduino does not know the state of the inverter, it will not know whether to send a pulse to turn off the inverter.

So I need to find some way to tell the arduino the state of the inverter. I don't think I want to mess around with probing the 120V AC output of the inverter. What I may have to do is open up the case of the inverter and solder a sensor lead to the small LED that indicated ON for the inverter. There is also a 5V USB charge port on the front of the inverter. I'm not sure if this is active when the inverter is OFF. If it is only active when the inverter is ON, then I may be able to use that as a signal to the arduino to determine the state.

#### revesz

I think I found a better way to give the ON/OFF state signal to the arduino.

There is a remote momentary switch that connects to the inverter using a RJ11 connection and a push button momentary switch.

The cable has 4 wires,
Black: gives constant 24V output
Red: sensor to detect momentary switch circuit close
Green: Closes to ground when inverter is in ON state(allowing an LED to illuminate on remote switch panel)
Yellow: closes to ground when inverter is in FAULT state(allowing an LED to illuminate on remote switch panel)

I can use a RJ11 splitter to connect the inverter to the switch, and also to the arduino.

I am pretty confused by what I read on my voltmeter from the RJ11 connector. For the black and red everything makes sense. For the green and yellow if I probe across to the constant 24V from the black wire, I only see the 24V when those circuits are activated. I would have expected a totally different circuit design so I am a bit confused. If I were to design this circuit it would have a neutral in it somewhere, and then I would be able to send 24V to an LED, and drain that current through the neutral wire. Instead what I see is that for the 2 LED circuits, the leads are not positive but instead become neutral and when those LEDs are active, so allow the 24V to drain from the constant 24V black wire. I came to this conclusion by probing between the black wire and the green and yellow while cycling the inverter through ON and FAULT. I imagine this is something to do with transistors going open and closed to complete those circuits.

This means that I may have a hard time detecting the ON state from the inverter since I will be probing directly to a transistor. It seems there is some voltage when in the open state, so I was reading something like 0.4V when open. So I may be able to get a reliable reading with 0.4V being OFF, and 0V being ON for the inverter. I will probably have to rig something up and do a bunch of testing to make sure this works reliably.