I want to build a high precision plug and play solar tracker that can operate anywhere with no homing or initialization so it will need the following: GPS, compass and 3 axis gyro for solar panel. Ideally i'd also need a motor controller so that I don't mess with soldered relays. Plug and play means that anywhere in the world I power it on, it will find the Sun.
Which Arduino board would be suitable for this purpose and most important, cand I connect that many add-ons to it? Ideally it will have one alagoue input left for current feedback so that I can also implement a sort of mechanical maximum power point tracker.
Software wise I will just run a solar position algorithm based on the GPS coordinates and time and date received from the GPS sensor and based on the position of the module received from the panel gyro I will move motors until the panel is facing the Sun with minimal error.
I am a total beginner with Arduino, so sorry for asking what might be stupid questions. I want to order the gear and get started straight away.
Looks nice, but doubt I can connect to it a GPS module + compass + gyro + motor controller at the same time.
I wouldn't mind going for a duo aso long as I know it can do all the above. I'm on a very tight deadline so would like to put the order in and get started as soon as possible :).
but doubt I can connect to it a GPS module + compass + gyro + motor controller at the same time.
Why do you say that?
A gyro, compass and accelerometer can share the same two pins.
GPS at most two pins, 3 axis motor controller another six to nine (direction, speed, brake each) pins
Have a look at somewhere like Sparkfun - They'll have I2C gyros, compasses (magnetometers), sometimes combined with accelerometers (useful for levelling or checking that gravity is functioning correctly) in a device called an IMU.
They'll also have GPS and motor controllers.
I'd suggest an open architecture so you can integrate different devices - remember this is hobbyist kit, very much at the whim of the mainstream markets, so future availability is not guaranteed.
I see the purpose of the accels and the magnetometer, but the gyro really would not seem to do anything in an application where it should always be sitting still. I suppose you could put the gyro on the moving part of the tracker to determine angles, but there are better ways to do that. The gyro will help with GPS position error in a dynamic system, but if you are sitting still it will be no better than an average of the GPS readings. If it comes along with another sensor go ahead, but I would not go through the extra work of designing it in unless you know it will help you or you are mounting the solar tracker on top of your car.
I would be most concerned with heading measurement. Unless you walk around with the GPS it won't know what way you are facing, the gyro can see direction changes but doesn't know where to start, so only the magnetometer is giving you a heading, and they are not always supper accurate. I would be tempted to add a heading adjust knob to allow the user to get past magnetic errors. In a cornfield it wouldn't be of much use, but in a city with streets that run North-South it could be an easy way to get another few degrees of accuracy.
The user of the device has to know roughly the direction of the sun. It's not like it's erratic or unpredictable.
Yes, but it rather capriciously disappears at least once a day (unless at very high or low latitudes) then reappears some great number of degrees away, hours later.
Thanks for the input guys. I'm compiling a shopping list based on availability at German distributors rather than price as time is an issue.
I need the gyro to know the exact position of the solar panel at all times and not care about the position of its mast. Don't I? (Edit: ok, did some reading and apparently don't need a gyro, the accelerometer will give me all the info I need.)
The solar panel I want to use for this application is a concentrated PV module which uses lenses to focus sunlight on high efficiency solar cells. For starters I'd like to see if I manage to reach the focus point only with the algorithm. Failing that I may add a light sensing sensor. It's important that the device remains autonomaus, no outside intervention or tweaking of any kind.
I'r really like to get a good enough platform from the start so that I won't need to upgrade half way thourgh the project to another. It's essential though that this device will find the sun anywhere in the world it is powered up and regardless of terrain.
Just trying to figure out now which communication protocol each add-on uses and how to connect several to the board.
unariciflocos:
Just trying to figure out now which communication protocol each add-on uses and how to connect several to the board.
Gyros/accelerometers/magnetometers typically use I2C; you only require two wires (SDA and SCL) for one or more than one device on the bus. When you buy one make sure that it is "5V tolerant" or "compatible with 5V", etc. or you'll get stuck adding in level shifting. You probably won't find just an accelerometer/magnetometer combination; commodity boards will contain the gyro chip as well even though you have no use for it. Search eBay for "9DOF" or "10DOF".
GPS units will communicate via TTL serial (0 to 5V signals as opposed to RS232 which is -12V to 12V). See TinyGPS | Arduiniana. Try eBay with the search term "Ublox module".
I want to build a high precision plug and play solar tracker that can operate anywhere with no homing or initialization so it will need the following: GPS, compass and 3 axis gyro for solar panel.
I don't see those components in themselves guaranteeing you any real precision in solar tracking.
"capricious - given to sudden and unaccountable changes of mood or behaviour"
My earlier comments were made because the sun is not capricious. Its position in the sky can be predicted to better than one minute of time or 1 degree for location for thousands of years into the future. I doubt it's beyond the capacity of an Arduino to figure things out for 12 or so hours of darkness.
And the only task I have in mind for the user is to set the device pointing roughly south in the Northern hemisphere and North in the Southern hemisphere - just so it doesn't have to look behind itself, though even that could be catered for.
If the device is intended to be used in places where there is little or no expertise to maintain it then the simpler it is the better.
Chagrin:
Gyros/accelerometers/magnetometers typically use I2C; you only require two wires (SDA and SCL) for one or more than one device on the bus. When you buy one make sure that it is "5V tolerant" or "compatible with 5V", etc. or you'll get stuck adding in level shifting. You probably won't find just an accelerometer/magnetometer combination; commodity boards will contain the gyro chip as well even though you have no use for it. Search eBay for "9DOF" or "10DOF".
GPS units will communicate via TTL serial (0 to 5V signals as opposed to RS232 which is -12V to 12V). See TinyGPS | Arduiniana. Try eBay with the search term "Ublox module".
Thanks! That cleared up some things!
Why I want to avoid using a 4 quadrant light sensor for now is that it will need to be perfectly aligned perpendicular to tne panel and a droplet of water or sand or dust on one of the cells and you're already off focus.
My ideal scenario is finding the focus point via the algorithm and then going into power tracking by measuring current alone or power if I also manage to safely measure the voltage too.
@Robin2: As you correctly pointed-out, it is possible to build a heliostat using a handful of LDRs and a couple of H-bridges, but the POV of such a simple-minded device, the movement of the Sun is indeed capricious, and without assistance, it would not easily find the Sun the next morning.
Unless you filter out small differences it will only work until the first cloud passes and then the rest of the day is lost. I say this from practical experience.
Hi guys. Finally ordered the components in the list. I know some, well... most are overkill for this task, but I'd like to use them for future toys so I said I'll allow some headroom in terms of features and capabilities. Am I missing something? Any incompatibilities? From what I've read the IMU is I2C and the GPS is UART TTL which I hope is 3.3V. Do I need a motor driver for the 6V servos?
Arduino Due
MinIMU-9 v2 Gyro, Accelerometer, and Compass (L3GD20 and LSM303DLHC Carrier) EXP-R25-093
Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3 EXP-R15-027
Dagu Pan/Tilt Kit with servos EXP-R04-010
65 pcs Breadboard Jumper Wires with M/M connectors EXP-T04-017
M/M 200mm Jumper Wires (40 pcs) EXP-T01-007
Breadboard 830 (630/200) transparent EXP-T04-039