Home Contents Start Next

Solar Tracking

Experiments in solar tracking

rotation

Solar Tracker

Introduction

I played around with solar tracking many years ago, using differential amps, relays, motors and photo-diodes. Oddly enough, solar trackers are not cost effective these days as installing a few extra panels is less than the cost of investing in a tracker. However, that is not the point, its more about doing it just because you can.

Overview

An arduino and H-bridge shield will make the electronics control much simpler than having to balance differential amplifiers etc and will enable the use of LDRs rather than requiring the sensitivity of photodiodes. Mechanically, solar trackers typically rely on the use of linear actuators and these are generally quite pricey. I aim to build a model for a small 5W panel, and will use a solution that does not need linear actuators to see if it could be scaled to a larger panel design.

I want to build a 'portable' tracker that will track the sun in two dimensions, but will initially build a 1 dimensional solution, that can be mounted on a spinning turntable to add the second dimension afterwards.

Goal

Build a solar tracker prototype for a small 5W panel

Mechanics

I see the electronics/programming side as fairly straightforward, but the mechanical side is more of challenge. Obviously, because this is a small model, many of the pitfalls of a larger system can be avoided, but if it works well, it should be possible to scale-up if the need arises. To track the sun overhead in mid-summer, the panel well need to be able to twist nearly 180 degrees. During the winter months, it may need to pan around the horizon. This could be done by adjusting the angle every season, but if we make the base swivel, then this can be achieved automatically. So initially, I will make a 1D tracker and then mount it on a swivel base to get the 2D tracking.

I could build a custom linear actuator for the sake of the model but feel this is just a construction exercise. My plan is to use a normal motor with a two-way winch, one side that pulls at any one time, while the other releases. This way the panel is always held on both edged by wire, and pivots at the centre. This is a very cheap solution and should be simple to build although I imagine setup may be a bit fiddly.

Construction

Panel Frame

As this is a prototype, I'll build it out of wood as is is easy to work with.

Firstly, I drilled and mounted two m4 bolts at the centre-line of the panel. These will act as the pivot-point. The pivot could be lengthwise or width-wise. I reasoned that length-wise, would make the sun-movement detection more accurate (larger turning moment), but more susceptible to wind. It is a fairly arbitrary choice so I decided to minimize wind-resistance and pivot on the shorter side.

panelaxis

Two wooden side struts were made and drilled to accept the pivot bolts. No bearings here, just some washers! These were in turn mounted on a wooden base and the whole structure allowed the panel to rotate easily. I made the side struts higher than needed, just to give room to experiment with things below the panel.

pivot

attachingpanel

frame

rotation

Double Winch

There is probably a name for this device but I do not know what it is. The idea is for a wire to wind clockwise around a spindle and be attached to one side of the panel. Another wire is wound counter-clockwise around the same spindle and attached to the other side of the panel. As the spindle turns, it shortens one wire and lengthens the other (thereby tilting the panel in one direction). If the spindle is turned in the opposite direction, the other wire gets shorted and the first wire lengthens, so tilting the panel in the other direction.

I experimented with a few ways of doing this and found one wire fed through the centre of the spindle worked well and was easier to adjust than the two separate wires. It was possible to build this as a stand-alone unit which could then be attached to the base of the panel mount. I used an old geared motor from Lawna and I made a spindle from a 8mm dowel and a wooden 'bearing block' to support the other end. I experimented with wire and various string/cord. I think for a full scale panel, multi-strand wire and a fat spindel would be ok, for my prototype, simple nylon cord was fine.

motor

The winch block was mounted on the tracker frame base and the cords attached to holes in the panel frame. I found that keeping the cords at a narrow angle to the winch point gave better results than using a larger angle. Ideally, you want each cord to wind just next to the previous coil as it winds up.

winch

This is an open-loop system. There are no encoders or feedback to know where the panel is. For this reason, we need some limit switches to detect when we have reached the end of travel.

And here we see it in action:

Sun Sensors

We need two LDRs each with a series resistor with the aim of balancing the voltage generated by each chain when sunshine strikes both LDRs. If only one LDR is illuminated, its resistance will fall and we need to move the LDRs until both are in the sun again. If we put the LDRs on the panel frame, the panel will move towards the sun.

To move the panel in 2 dimensions, it will be necessary to have another set of sensors at right angles to the first. With this in mind, I will build a sensor pod that can be used for the 2D design.

It will be necessary to make some shielding walls that cast shadows over the LDRs if incorrectly aligned. Then the whole thing needs to be put in a watertight but transparent enclosure. I will not spend time here, I just want to prove the idea now.

Sensitivity

So here is the base board for the sun-sensor before mounting any shields between the LDRs. In bright sunlight the LDRs have a resistance of 100-300 ohms, and about 20k-30k in overcast shadow. Resistance becomes much higher (100k+) in darkness. To have high sensitivity in bright sunlight, the series resistor chosen was 470 ohms. This will give a wide range of output voltage in sun and shade and become less sensitive as it starts to get dark. With a simple test on an arduino, I was reading 900 in bright (winter) sun, down to 300 in much darker conditions which fits the 0-1023 range I have to play with. This will give an output of just about zero when it gets dark which is ideal.

I did find there was a bit of a spread in the LDR characteristics but then decided to average the outputs of the two top LDRs and also average the output of the two bottom LDRs to give more consistent values to compare. This worked well and gave better results. Shining a torch and shading the LDRs gave a good difference so I'm pretty happy this is going to work well. When I move to 2 DOF, we can use the same technique, averaging the two left LDRs and also the two right LDRs.

ldr_brd

bracket2

Software

This tracker will be controlled by an arduino with a motor shield. We need two analog inputs per direction and compare the input voltages to determine which way to turn the motors. There needs to be some hysteresis and tolerance in here to cater for differences in the LDRs parameters. I'll make a point of buying them all together and hopefully get them from the same manufacturing batch. As described above, I ended up using all 4 LDRs and averaging them in sets.

We could constantly compare the inputs but in practice, checking every few minutes is enough. It depends how much we can nudge the panel at a time. If the mechanics are such that it moves several degrees, maybe we would be better to check every 10 or 15 minutes.

Finally, we need to detect when it gets dark. The software should then return the panel to point eastwards, ready for the new day.


June 2019


Home Contents Start Next