Homebrew solar tracker.

Back in Broken Link Removed I mentioned my simple discrete component method and Broken Link Removed you say

We are singing from the same hyme sheet here. Just haggling over a comparator or two or a micro.

The micro, if you get it a bit wrong just do a bit of keying.

I've got a 16 bit micro in the van programmed as a loop alarm for the bikes. Absurd, certainly, but it was there, it cost about £3 and I can alter the sound or duration with a few keystrokes.

Incredible value:
http://uk.farnell.com/texas-instrum.../dp/1172234?in_merch=true&MER=i-9b10-00001460

How about this:
http://uk.farnell.com/jsp/search/productdetail.jsp?SKU=1779157&MER=baynote-1779157-pr
 
Kinda reminds me of the apocryphal story about how NASA invested millions during the 60's Space Race to develop a Biro which would write in a vacuum & upside down...








[HI]...the Russians just took a pencil [/HI]:Cool: !

[The Fisher Space Pen is pretty cool though, even today]

My people tell me that this is an urban myth and the pencil stuff never actually happened...

I have a Space Pen and it is BRILLIANT...:thumb:

JJ
 
Kinda reminds me of the apocryphal story about how NASA invested millions during the 60's Space Race to develop a Biro which would write in a vacuum & upside down...
...the Russians just took a pencil :Cool: !

[The Fisher Space Pen is pretty cool though, even today]

I've heard that before and I believe it, that's how the wonderful Russian brain works.

A major national pastime for the Russians is chess, a major national pastime for the yanks is eating burgers in front of a TV.
 
Firstly. We're so glad that everybody has a strong opinion on how best to approach this project. You are all generating lots of alternative plans and ideas some of which might turn out to be better (or simpler, or easier) than what we are doing. It all shows that there is real interest here!

Thanks for sticking with us through this mountain of technical and sometimes outright insane trail of thoughts!

We are reading along with intent interest in what you guys have to say and all of the alternatives we can consider. We can say without a shadow of a doubt that if we find ourselves stuck we would seriously consider the other solutions you have all suggested.

It's a good read. Though I can't believe how difficult you are making it.
...
No maths. No GPS. No compass. Little debugging. No pain.

I suppose we are making it difficult. Certainly, we are getting quite involved with the coding aspects. As for maths... Ste is currently doing a PhD in this field, so that's probably not a HUGE problem. We understand what you are saying, however, we think it might be a bit involved coming up with a reliable algorithm to search for the highest voltage point... then there's the power expended in doing that, clouds, etc... It's a viable solution but in the end plugging numbers in an equation to tell you where the sun is isn't so difficult (and there's existing code to do this).

Gromett is also right. This is a lot about seeing what we can do. In the course of this project we've learnt a lot about GPS's, compasses, arduino, microprocessors, motors, breadboading, perfboarding. You name it... it has been the ultimate hobby project!

As a matter of interest, here is (was) my world. "We bought this stacker but the electronics are shot, make us some new ones". It stacks boards coming off the the band saw into packs ready for banding. It's so exciting, so fulfilling I can appreciate Snowbird doing this.

That looks seriously interesting! Do you have any more photos/links etc? You solved the issue with discretes? I have to say there is something satisfying in knowing that you "fully" understand what you have implemented.

However, to achieve the objective surely the simplest solution is to have the solar mounted on a turntable which turns slowly at the speed the sun passes through the sky ???

Glad you are trying to follow! Every reader helps (if not with the main project then at least with the motivation...hehe).

In response to your question, I think this would work quite well. You are right it would not get you every microwatt, it would certainly get you more than laying flat. Remember also that the sun appears higher/lower (has a different elevation) in the sky during the day and also at different times of the year... we would probably have to at least adjust the elevation angle for the time of the year if we wanted to use a turntable solution. In addition to this the sun does not move from east to west at a constant rate! And this varies with the time of the year! In the end it would take a bit of thought to implement this solution it is almost identical mechanically and electrically (since we already have the oyster tracker)... but would be much simpler to code or time. We thought we'd aim for the stars then be disappointed when we fail instead :Laughing:.

Brief description of WHY the sun doesn't move at a constant rate and elevation:
http://solar-center.stanford.edu/FAQ/Qsunaspattern.html

Just understand what the sun is doing during the day was a major learning curve for us. I can honestly say I hadn't appreciated how complex the earth-sun system is.

My "turn it to get highest voltage" is a few degrees of accuracy. Mine may go pear shaped with a lot of clouds. I have a plan B of a detector consisting of 8 photo diodes in a ring, this could detect the brightest part of the sky silently the when sure drive the panel to the same heading.

I wonder if the moon or local lighting could be used at night !!

I like plan B a lot. This would probably work well assuming it was kept clean and tuned down to not be chasing after every brightest spot like a mad dog. As for the moon and local lighting... I also considered this! With an LDR system you could probably implement this... then I really thought I was getting too far from the main goal of this project... tracking the sun! Interesting thought though for sure. Probably worth making the panel lay flat during the night on the off chance this makes any difference.

Agree with the micro making this kind of thing much easier. Even for a simple circuit... using LDRs or something like that... it's so much easier to change the response and tweak things with a laptop over usb than soldering things... at least for somebody like me with more experience coding than soldering!

I found an interesting article on positioning FIXED panels. I like it because they have actually collected a lot of data and analysed it pretty professionally.
Panels that track the movement of the sun throughout the day can receive 10% (in winter) to 40% (in summer) more energy than fixed panels.
Remember, this figure is compared to fixed panels that are repositioned 4 times a year to their optimal angles. The panels on most motor homes are laying flat on the roof which is far from optimal! Some of the Winter angles are nearly 70 degrees... so a tracker is going to give vastly more power than a panel at 0 degrees (roof of a motor home). I find this all pretty promising.
Link:
http://www.macslab.com/optsolar.html

In every case. Please keep reading and commenting! Your expertise, experience and ideas are certainly helping us not get too focused on our ways.

Please also, if you are reading and not posting, jump in... we don't expect everybody to understand the finer technical points but your interest certainly motivates us!

Last but certainly not least... as for the space pen debate:
http://www.snopes.com/business/genius/spacepen.asp

I call snopes! I agree, the lesson is an important one and I am TRYING to keep things simple where I can... but I also have a bit of an uncompromising mind. It's an affliction. "It'll do" is just something I can't say. We may change plan and we may compromise... but only if it's because there's no other way or it's the best way to get the job done with the tools at hand!

 
Last edited:
Fantastic post. Lots of interesting information.

I have been thinking about the cloud issue and jumping around. Also things like dirt and bird crap messing up the ldrs.

I think a solution to this would be as follows. Hard to describe my mental image so stick with me.

Imagine an upside down cup. Inside this cup about an inch up from the rim are 12 LDR's pointing towards the center of the cup equally spaced.

There is then a cone shape made up of 12 triangles with the point going all the way to the top of the cup. The base of these triangles are curved out of the cup.

Each of the LDRs are separated by a wall from the others.

What happens is light hits the base of the cup and is reflected into the cavity defined by the wall of the cup, the dividers between the LDR and the cone.

A network of op amp comparators would be able to distinguish which sector of the cup is receiving the most light. If all sectors are receiving the same the sun must be overhead or as near as damnit.

The shape of the cup, the cone and the base would all need to be experimented with to get the optimal results. The material of the reflector would also need to be considered. Either plain white or a mirror?

Because of the configuration of the cup there wouldn't be an issue of leaves or bird crap obscuring a particular LDR.

I am however going off the idea off the idea of sensors and warming to the idea of an electronic compass, GPS and maths to get the job done.

I last played with a digital compass some 10 years or so ago and they were wildly inaccurate and super sensitive to any steel nearby. They wouldn't work in or very close to a van for instance. I hear the new ones are much much better?

Subscribers  do not see these advertisements

 
Last edited:
Hey Gromett.

I think I can vaguely picture the kind of thing you are talking about. I kind of get that a leaf etc... would block ALL the sensors and so you could have some kind of "too dark" trigger that would stop the panel from tracking. This might fix the issues with that setup I suppose. I'm not sure I understand how exactly you'd get the light into the cup or why you'd point the LDRs at the centre. Would this not just reduce the contrast and so worsen their ability to track?


Glad that you are coming around to the compass, GPS, micro, math way of thinking as this is certainly going to be the first thing we try. As we've previously documented we have each of these parts working individually now.


You might be right about the compass, this is still a bit of an unknown quantity. The honest answer is: I don't know if it is good enough. I should play with it in the van vs an analogue compass.


As I reported earlier, in my study with very little calibration it was pointing "roughly" where I would have thought north was. I've not read any stories of them being so sensitive as to be useless but then I guess most people took them out in a field to test them. They are certainly prone to soft and hard iron distortions and it is possible to calibrate them using a micro to mostly correct for this (for example, you would do this IN the van). They have several gain settings to reduce the sensitivity and the unit we have also corrects for tilting which is a big problem for most electronic compasses I understand. It uses accelerometers to do this.


Since we bought our compass a new version was released and this is apparently even more accurate. Not too worried about this at the moment.


To add to the confusion, we also have to consider magnetic declination. For tracking the sun we care about the position of TRUE north not MAGNETIC north. We notice that currently most of the UK and Europe are on roughly the same isogonic line so for the regions the van is likely to visit calibrating in the UK will be good enough for <1 degree accuracy hopefully!

Maybe after all it may use some LDRs with a paper cross and a "calibrate" button to lock it bang on target. Or maybe a table of magnetic declinations. Thinking...
 
Last edited:
A. I knew the Russian Pencil story was a load of tosh but it's still a good story to illustrate 'KISS'
B. Buy one of these Solar tracking panels :Rofl1:

Nevertheless, I admire your doggedness in overcoming challenges you never knew existed such as the sun's inconsiderate speed variations throughout the day.
Sometimes the journey is the thing, not the destination.

[ps. apparently the Russkies bought 100 Fisher Space Pens for use in their programme!]
 
Last edited:
I last played with a digital compass some 10 years or so ago and they were wildly inaccurate and super sensitive to any steel nearby. They wouldn't work in or very close to a van for instance. I hear the new ones are much much better?

Have glanced over the Application Note for the LSM303DLH Compass we have. Section 3 describes the calibration procedure.
All ST MEMS accelerometers are factory calibrated, allowing the user to avoid any further calibration for most of the applications now present in the market. However, to reach a heading accuracy of below 2°, an easy calibration procedure is hereafter described.
It is necessary to determine 12 parameters, mostly by waving it around, recording data and performing analysis on it.

In Appendix C they show this procedure and in Section 4 they describe how to test the accuracy of the compass. Something we should do before relying on it!

Did you perform this calibration with the compass you had?

They claim that this can correct for "hard iron" effects - static magnetic fields, like a lump of iron in the van, or "soft iron" effects - for example the current in the circuit... something that varies with the direction you're facing.

Interestingly they say on the datasheet to keep it at least a few mm away from high current wires (which of course produce a magnetic field). I planned to have it pretty close to the motor power feed and control feed. This might not be the best plan as it will probably go crazy when the motors are turned on!
 
Last edited:
Hey funsters!

We've set up the motor driver. We thought rather than bore you with the tedious details we'd post a video instead.

[ame]http://www.youtube.com/watch?v=xANwqmQPj9w[/ame]

We show a Sparkfun thumb joystick & breakout board used via an Arduino Uno to control a Pololu Dual VNH5019 Motor Driver Shield for Arduino connected to two brushed DC motors. This setup is used to test the performance of the Motor Driver Shield and Arduino.

This setup was useful for putting the driver through its paces and should be useful for checking the limits of the oyster unit. Of course, once built, the solar tracker will automatically track using the Arduino. However, we may leave the thumb joystick in place when mounted to still have manual control (for emergencies).

Please let us know your thoughts!
 
Bump...........For Gromets thoughts.

Subscribers  do not see these advertisements

 
Loving it :BigGrin:

I am thinking about buying a small cnc milling machine for a bit of a hobby. I may be in touch with you shortly:thumb:
 
Loving it :BigGrin:

I am thinking about buying a small cnc milling machine for a bit of a hobby. I may be in touch with you shortly:thumb:

You might well be our new best friend if you do that Gromett! :BigGrin:
 
I am looking at ones similar to this one.

Link Removed

It only works to 200mm x 300mm x 50mm.

But this should be enough to do small gears and connector plates to make larger items.

It is no good for steel though.

I intend to use it to make some small custom parts for motorhomes and also do nameplates in metal and wood. Maybe some other stuff as well.
 
Look very nice.

I notice it's parallel port controlled... most computers don't have that now but you can buy a usb to parallel port cable for £10.

These CNC millers are quite pricey!
 
My laptop has a parallel and serial ports. I need them for my business:thumb:

Subscribers  do not see these advertisements

 
We need an electrician, electrical engineer or hobbyist!

I need to make two of the motor read circuits I gave the schematic for in an earlier post: Broken Link Removed

I am going to make the circuits on Matrix board: Link Removed

I have drawn a diagram of how I think I should make the connections. Since the LM393 chip has TWO op amps in it we are only using one physical chip for both circuits. I have linked the LM393 datasheet and the 4N25 datasheet for checking the pinout.

Can somebody please check it against the schematic and tell if you can see any mistakes (or ways to make the layout vastly simpler)?

We're totally new to this kind of thing!

We have tied the battery 12v and GND together in the two circuits, we have tied the Arduino 5v and GND together in the two circuits and we have tied the Arduino enable together in the two circuits. Have we done this correctly (in parallel) and should this work?

LAYOUT 1:
MotorRead.png



NOTES FOR READING LAYOUT:
- MOUNT COMPONENTS ON OTHER SIDE OF BOARD (OF COURSE)!

VERTICAL BLACK LINES = COPPER TRACE CUT
HORIZONTAL BLACK LINES = PIN ON DIP SOCKET BUT NOT ON CHIP

LM393 = LM393 OP AMP (8 PIN)
OC1A/OC1B/OC2A/OC2B = 4N25 OPTOCOUPLER (6 PIN)

BAT = BATTERY PCB TERMINAL BLOCK
HA/HB = HALL A/HALL B PCB TERMINAL BLOCK
DAT = ARDUINO DATA PCB TERMINAL BLOCK
AEN = ARDUINO ENABLE PCB TERMINAL BLOCK
ABAT = ARDUINO 5V/GND PCB TERMINAL BLOCK

DATASHEETS:
4N25 - http://www.vishay.com/docs/83725/4n25.pdf
LM393 - http://pdf1.alldatasheet.com/datash...OLA/LM393/+2058uplRMROLDdOSvGC+/datasheet.pdf

Thanks guys. I imagine I've made a ton of mistakes on this despite being pretty careful!
 
Last edited:
Ok guys,

I'm going to give this motor read circuit design another visual check and then start putting it together.


If you've been looking at it and think you have spotted a mistake or problem please speak now or forever hold your peace!
 
Problem spotted with circuit: blue wire connecting DAT (bottom connection) to BAT GND (bottom connection). This wire should not be here.

I probably copied the A side a bit too quickly, on the A side it correctly connects the OC2A emitter to BAT GND.

Updated layout below.

LAYOUT 2:
MotorRead2.jpg
 
you can buy a usb to parallel port cable for £10.

You can buy a USB/Parallel printer port but the chances of it emulating the old IBM standard for bit bashing is about zero.

They really need to convert that to USB.
 
The first birthday of our solar tracker!

In a 5 minute period the machine demonstrates tracking the sun over 11 hours (from sunrise to sunset).

A solar panel will be mounted on the back of the arm where "OYSTER" is written and will be used to charge a battery bank.

More work still to be done... :thumb:

[ame]http://www.youtube.com/watch?v=CQWf8yWxRIA[/ame]

Subscribers  do not see these advertisements

 
Is it tracking the ceiling light bulb? :Rofl1:

JJ :Cool:
No JJ, Its much more sophisticated than that. Its tracking via compass settings. This is really revolutionary and will set the world on fire when finished :Eek!:.
If you watch the video and imagine the Oyster facing North-South you will notice the arm that the panel will be fixed too first going East at dawn, then as the day goes on it tracks the sun till sunset. Then goes to the home position. The following day it does exactly the same again until its switched off for transit. It does all this automatically anywhere in the world regardless of which way the motorhome is facing. Ste will be home tonight to answer any techy questions.
That is of course unless the Chinese kidnap him on route for the plans :Doh:.
 
Have you repeated this with a decent weight strapped to it ?
I have not put a weight on it Brian as I didn't think it necessary as you cant stop the thing manually. Its that low geared. The vertical gearing is by a bronze worm drive and the horizontal by heavy duty nylon cogs. Good question though :thumb:.

Subscribers  do not see these advertisements

 
Smooth movement

Nice video! do you share your code? I hear the "pwm ramping" of the motors!:Eek!:
 
Nice video! do you share your code? I hear the "pwm ramping" of the motors!:Eek!:

Hey Pinguino, welcome to MotorhomeFun!

I'm glad you like the video. Things are still far from completion but it's nice to let everybody know where we are up to and we're more than happy for people to chip in with their ideas and expertise. :thumb:

You can indeed hear the pwm ramping! Keen ears. At the start and end of each motion the machine lowers the pwm duty cycle to ensure it smoothly reaches its destination. This helps to keep the machine in working order (fewer sharp changes of motion) and helps us to move the machine more precisely as we are less likely to move too many "hall pulses" past our target position.

The reason the pwm ramping is audible is due to an issue with the Pololu motor driver when used with the Arduino Mega. We posted this issue to Pololu (under the pseudonym Bob101) and a member of the Pololu forums has solved this issue here. We have not updated our motor driver library yet as we quite like hearing what the machine is doing in the testing phase :Rofl1:.

In the spirit of opensource we are of course happy to share our code! It is attached to this post and available here. Feel free to have a dig around and ask us questions. If you spot anything that looks like an error please let us know. At this stage the code is just telling the machine to simulate a single day at a single location, the GPS and compass code are not yet integrated. Please note that if you are building your own machine you should not just upload this code and expect it to work, this code is very specifically designed for our unit, but do feel free to modify or borrow our code for your own projects.

Then central algorithm for calculating the position of the sun was written by Gabriel Miller and is taken from here: http://cerebralmeltdown.com/forum/index.php?topic=325.0 (We use SunCalculations.ino from Mega_SunTracker_Heliostat_Program_V097_b.zip ). The relevant parts are already included in our attached code.

To use our code you will also need a few libraries:
- Pololu motor driver library (written by Pololu): https://github.com/pololu/Dual-VNH5019-Motor-Shield
- Arbitrary precision (BigNumber) library (written by Nick Gammon): http://arduino.cc/forum/index.php/topic,85692.0.html (tracking the sun takes a lot of decimal places)
- The BigNumberMath library (written by yours truly): http://cerebralmeltdown.com/forum/index.php?topic=342.0

Just drop each of these in the /libraries/ folder in your Arduino IDE.

Hope you find this useful. Please let us know what you're upto with our code... it'd be great to see it used in another project.
 

Attachments

Thanks!

Hi Snowbird, thanks for the code, unfortunately I do not have a Dual VNH5019 Motor Shield , just a simple h-bridge based on TIPs transistors, there are two logic level compatible inputs, PWM operation works with frequencies from 50 to 300Hz.
I will try to adapt the program or the circuit, (I will need a lot of luck:Sad:) and I'll tell you my progress. Thanks again!
 
Well things may have gone quiet here but behind the scenes plenty is still happening!

So what have we been up to?

Over at cerebralmeltdown we have been working hard to improve the speed and accuracy of the solar tracking algorithm. After implementing arbitrary precision trigonometry functions for calculating the position of the sun the time taken to compute went up from 4.5 seconds to 14 seconds. We have now managed to bring that down to 1 second whilst maintaining the accuracy. This means the code is now more accurate and faster than it ever was. The lead author (Gabriel) will now integrate this code in the official release of the Arduino Mega solar tracking program. This will all help in the testing of our unit.

We have written test scripts that use the TinyGPS library to neatly obtain our location and the exact time and pass that information to the solar tracking algorithm. This required some reprogramming of our GPS receiver so it only provides RMC data. We wrote a short Arduino Mega compatible program for reprogramming serial devices (using Serial passthrough):
Code:
void setup(){ 
Serial.begin(9600); 
Serial1.begin(9600); 
} 
void loop(){ 
if (Serial1.available()){ 
Serial.write(Serial1.read()); 
} 
if (Serial.available()){ 
Serial1.write(Serial.read()); 
} 
}
The venus gps software was then used to reprogram the unit. This all seems to be working well now!

On other fronts we have also been looking for a way to predict the magnetic declination given a GPS location and time. There does not seem to be too much in the way of Arduino libraries to do this... in fact... I couldn't find anything I would trust. Any help looking would be welcome! If the search comes up empty then we will probably try to create a NOAA compatible library so that it can be easily updated in future. Not sure if this is even possible... if not we'll just hack something up! :Rofl1:

In addition we have been trying to improve the reliability of the unit by dealing with a rare issue that causes the unit to see the switches as closed when they are not. We asked for help here and now we need to implement one of the answers!

We are also now ready to start building a frame for mounting the solar panels on the unit. Likely we will use aluminium box section. Using U bolts through the arm to hold a box section frame attached to the panel with stainless bolts. As the panel will be attached to the rear of the arm as opposed to how the sat dish was fitted I think spacers will be required to level things up.

Off on a bit of a tangent but when coding up the trigonometric functions I came across a beautiful bit of mathematics (for those who are that way inclined it is a way to use Möbius transformations to range reduce ArcTan to any given range in a single step). Out of mercy I didn't post it here on fun but I describe it in 2 posts starting here.

I think things are starting to come together...
 
On other fronts we have also been looking for a way to predict the magnetic declination given a GPS location and time. There does not seem to be too much in the way of Arduino libraries to do this... in fact... I couldn't find anything I would trust. Any help looking would be welcome! If the search comes up empty then we will probably try to create a NOAA compatible library so that it can be easily updated in future. Not sure if this is even possible... if not we'll just hack something up! :Rofl1:

I think we've found something we can use. As pointed out over at arduino.cc there already exists an Arduino compatible NOAA adaptation available here. Checked this out on the Arduino Mega and everything seems to be compiling correctly. Initial tests suggest that for most places on earth we'll know declination to within a degree. Accurate enough for me! :thumb:

Now we just have to hope that our compass is accurate enough in situ.

Subscribers  do not see these advertisements

 

Join us or log in to post a reply.

To join in you must be a member of MotorhomeFun

Join MotorhomeFun

Join us, it quick and easy!

Log in

Already a member? Log in here.

Latest journal entries

Back
Top