Shop OBEX P1 Docs P2 Docs Learn Events
Solar position object question, help me! — Parallax Forums

Solar position object question, help me!

micman2micman2 Posts: 18
edited 2012-04-24 02:05 in Propeller 1
Hi, I want try the object for calculation solar position, but I need help for setting in my location.
The object is this : http://obex.parallax.com/objects/807/

I try with "Solar_Almanac"

How setting this parameter: ?

'
Set Time and Date Defaults
ClockTime , ... this is Ok is my real time ..time but in fractional format ?
SolarTime , How calculus this??

--->These Ok !
Year:=2012 'I: Year Divisable by 4 are leap years
Month:=1 'I: Month Set for Testing
Day:=26 'I: Day Set for Testing
DST:=0.0 'FP:Daylight Saving, 1.0=true, 0.0=false

--->These Ok !
'
Set Location to 599 Menlo Park, Rocklin CA
Longitude:=121.296104 'FP: (Positive to West)
Latitude:=38.813112 'FP:

--->What are these? How calculus these?
'
Set Heliostat Target
North:=100.0 'FP: Distance of Heliostat Target toward South
East:=10.0 'FP: Distance of Heliostat Target West of Center
Height:=3.0 'FP: Height of Heliostat Target Above Heliostat

Comments

  • jmgjmg Posts: 15,183
    edited 2012-04-17 18:13
    micman2 wrote: »
    --->What are these? How calculus these?
    '
    Set Heliostat Target
    North:=100.0 'FP: Distance of Heliostat Target toward South
    East:=10.0 'FP: Distance of Heliostat Target West of Center
    Height:=3.0 'FP: Height of Heliostat Target Above Heliostat

    My reading of that is you do not 'calculus these', but rather you measure them.
    They will be used to derive angles for the Heliostat Target, so dimension units need merely all be the same
    If you have an array of 90 controlled mirrors, every one will have a different value for N,E,H
  • Prophead100Prophead100 Posts: 192
    edited 2012-04-20 18:10
    For basic solar almanac, you can ignore the variables. The variables North, East, South and Height are used if you plan to use the heliostat demo where you are reflecting the sun to a target. You can use any units of measure (feet,meters, inches, etc.) as long as you use the same units for all. For example the demo shows a situation where the reflecting mirror was 100 inches to the north of the target. The target was 10 inches to the east of the mirror and was 3 inches higher.
  • micman2micman2 Posts: 18
    edited 2012-04-21 00:48
    Hi thanks for reply!

    To calibrate the initial position, how did you do?

    I was thinking of taking a AHRS (UM6-LT) of chrobotics. In this mode I know the degree of system in real time.
  • Prophead100Prophead100 Posts: 192
    edited 2012-04-21 19:41
    To Calibrate the initial servo position, I had to calibrate the servos and align the system. (see below for procedures) If you are using the sensor for compass and attitude mounted on the panel then you probably need only have your servos or drive system calculate the difference between the calculated azimuth and altitude then move in that direction until they match with little or no calibration for the servo/drive system needed other than watching for maximum or minimum angles defined by your hardware. You may need to follow the sensor manufacturer's steps for calibration of the sensor itself to make sure it is reading right though. They usually include sample code on how to do that.

    To keep the time set automatically, you may also want to consider using a low cost DS1302 clock chip (604-00005) instead of the clock emulator so it will keep time even if you power down overnight or go into low power mode (e.g. only 1 cog running slowly to reduce power by 97%). For mobile applications you could also set the time and location with a GPS module (28500) to have a truly self calibrating and aiming system. If you do that, be sure to post your project because many people could learn from it.

    manual calibration without sensors
    Without the sensors here is how to do it: To calibrate the servos you set both the center of travel and offsets. The first step is to measure the range of degrees the servo moves from the center of travel ( where pulse width is 1500 ) and calculate a scalar (ratio of degrees and pulse width) that you can use to make sure the travel clockwise or counter clockwise to full deflection matches the number of physical degrees. That works for both altitude and azimuth. You can use a protractor or a scaled compass rose affixed to your servo for this step. Once you have your scalars you can add them to the code.

    To align the system with the physical world, you then need to center both the azimuth and altitude on a flat surface as measured with level. The azimuth can aligned by setting the degrees to 180 (South) and then rotating the unit until it points directly south (180) as measured with a compass. The altitude can be aligned by adjusting the degrees to 90 and using square, protractor or miter as measured against the flat surface. You adjust the altitude either by physically tilting the unit as needed or by adding a line of code to add or subtract from the altitude variable until it holds at 90 degrees. Once you have the offset then you can add it to your code.
  • micman2micman2 Posts: 18
    edited 2012-04-24 02:05
    Hi, Thanks you for replay!
    I'm trying various IMU sensors, but with sensor the precision is difficult to have, specially the Magnetometer , Soft- and Hard-Iron Calibration are very difficult (for me).
    But I not surrender, I try again
Sign In or Register to comment.