GPS+Compas+accelerometer to track Polaris star

Hello,

I'm trying to build a Pan&Tilt head for a digital camera (http://www.grozeaion.com/electronics/arduino/149-motorized-pan-and-tilt-head.html) Right now I'm using two quadrature optical encoders from a PS2 mouse to get the position of the head with a resolution of 0.05deg.

I want to use this head to track stars or meteor showers and for this (from what i've found so far) i will need a gps, a compass and accelerometer Can anyone suggest me the electronics or the combination to get the resolution mentioned above? I will need to integrate all these sensors in one small package to mount it on my frame and also to use a minimum number of pins on arduino

Thank you

The resolution of 0.05 degrees is dead easy, it just depends over what range you need this resolution.

I am a bit of a flat earther, the practical workings of the solar system remain a mystery to me. The title of the post is "GPS+Compas+accelerometer to track Polaris star". If the pole star is in the Earth's axis of rotation then don't you just point the camera at the pole star and, as the Earth rotates, it will remain in the center of view?

I can see that a GPS would give you latitude and longitude which would be useful. A compass will tell you which way magnetic north is so to point true north you would need to know the magnetic deviation of your location (or point towards the pole star), but where does the accelerometer fit in? I guess maybe it gives tilt, but can't you tell that from the servos?

When you say you are going to "track" meteor showers what do you mean, are you going to calculate their path and then use the calculations to move the camera?

I know I am asking questions rather than answering yours but I am quite interested in understanding more.

radman is right. For the North Star, it doesn't move in the sky. Just point your camera at it... No tracking hardware necessary.

For other stars, it's not much harder. You only need one axis of movement that moves at 15 degrees per hour, or 0.25 degrees per minute. However, this axis or rotation has to be parallel to the earth's axis, so from the ground surface, it will be canted at the precise angle as your latitude. (i.e. perpendicular to the surface at either pole, and parallel to the surface at the equator.)

Tracking moving targets (planets, moons, ect.) is more tricky.

Hi, The "tracking" is a bit exaggerated word that i use, i apologize for using it, maybe the best term in "pointing".

The pan head will move 360deg in H plane and 180 in V plane and will be used mostly for panoramic photos but i also want to use it for night sky photography. AWOL, can you recommend some chips that have this kind of resolution? because the best i can find is 1 deg

RADMAN, yes, i can point the camera at Polaris or any other star/constellation and take the picture but my goal is to just mount the camera on the Pan&Tilt Head, select the object that i want from a predefined list and the head will move in H and V directions regardless of the initial position and point the camera to the required object(something like a very light Google Night Sky XD). One other application that just pop out (and this involves tracking) is to photograph the ISS.

I want to replace my quadrature encoders with the accelerometer so that all electronics will be fitted in one small board mounted on the head. I've found something similar here(http://www.liquidware.com/shop/show/SEN-GEO/GeoShield a bit expensive) and i want to build it myself.

In the case of meteor shower i just want to point the camera in a sky region and take the picture of the trails. The head is slow moving and in this case it will be impossible to just move the camera (i'm not saying nothing about the arduino floating calculation power - maybe due will be the best for this kind of job)

Thank you,

gvi70000:
Thank you,

gvi70000:
RADMAN, yes, i can point the camera at Polaris or any other star/constellation and take the picture but my goal
is to just mount the camera on the Pan&Tilt Head, select the object that i want from a predefined list and the head will move
in H and V directions regardless of the initial position and point the camera to the required object(something like a very light Google Night Sky XD).

…so you want a ‘GOTO’ telescope mount. Why reinvent the wheel? Too much work, IMHO, but good luck!

Texy

i just want do do it myself and when i get stuck i ask for help

Are you going to be using servos or stepper motors? I think servos are often limited to 180deg though there may be ways round that.

Does the accuracy of your movement not just depend on the gearing between your motor and the camera? If you work out your initial position from a compass and it is out by 1 deg does that matter as long as the subsequent moves are all accurate?

Here is the schematic of the device you linked to: http://www.liquidware.com/system/0000/3669/GeoShield-RevB.pdf

Here is a new item with a library that is being developed: MPU-6050 6-axis accelerometer/gyroscope http://www.i2cdevlib.com/devices/mpu6050

Here is a Eagle file for using the new chip..it is tiny :astonished: https://github.com/jrowberg/keyglove/tree/master/hardware/eagle/kgm-9dof

I'm using modified servos for continuous rotation. On the output shaft of the gear i use a worm gear mechanism (1:40) and the encoder wheel is attached to the servo shaft so here i have a resolution of 2 deg so the resolution at the output of the worm gear is 0.05deg. At the moment i have to start the mechanism from a "home" position in order no know the limit only in vertical plane, on the horizontal it doesn't matter The 3d design and kinematic simulation is here http://www.grozeaion.com/electronics/arduino/149-motorized-pan-and-tilt-head.html

By using a accurate compass (i think 0.5deg deviation is ok, but smaller will be great) i will not worry about the position of the tripod and the position of the head in horizontal plane. In theory the initial position will matter, but if i mount the camera on the head with a small deviation of optical axis from the head axis the accuracy of start position will not matter so much.

PS: thanks for the links. I know the GeoShield, but i want something more accurate. I will take a good look at other link.

Here is a tilt compensated magnetic compass with a resolution of 0.1deg BUT it is only accurate to 0.5%.

http://www.robot-electronics.co.uk/acatalog/Compass.html

It is worth reading the compass FAQ.

A GPS will tell you where you are and a compass will tell you where magnetic north is but you still don't know where you are in relation to true north unless you know the magnetic declination for where you are and this varies with location and over time.

http://en.wikipedia.org/wiki/Magnetic_declination

Magnetic declination varies both from place to place and with the passage of time. As a traveller cruises the east coast of the United States, for example, the declination varies from 20 degrees west (in Maine) to zero (in Florida), to 10 degrees east (in Texas), meaning a compass adjusted at the beginning of the journey would have a true north error of over 30 degrees if not adjusted for the changing declination.

The declination at a given place may change by as much as 1/3deg /year.

I imagine True North is what you really need if you want to orientate with celestial objects so converting accurately from magnetic north to true north may be an issue.

I did a much cruder version of this here http://arduino.cc/forum/index.php/topic,72921.msg547020.html#msg547020 with pan and tilt just done with a couple of servos. I just use servo positioning to point rather than any sort of encoders. It's fine for my purposes(directing my eye at objects of interest) but it could never hold or smoothly move a camera.

I can give you a couple of observations though:

  • I can't believe you would be happy replacing the encoders with accellerometers. They are just way too crude and prone to jitter. A 1 g accellerometer has a theoretical resolution of 2/3 degree but they are wildly non-linear so sometimes a 1 bit change would be 1/10 degree and sometimes a couple of degrees. The bottom couple of bits will jitter around continually.
  • I feel the same way about compasses but I have less direct evidence. If you get something working well I'll be next in line to buy one
  • You probably know this but I was surprised to note that 1 degree is a lot when it comes to the night sky - 2X the diameter of the full moon
  • Again you probably know this but my biggest surprise was that geographic north is 14 degrees off magnetic where I am. It's easy to account for though and of course it won't change very much very quickly.

I'll track your project here and hope to learn as you progress. I'll be poking at my tracker as well so i'll incorporate anything good. I actually have a "go to" scope mount in the basement that I never use - this has been way more fun and educational.

I wanted to replace the encoders because i have too many wires on the device, but now i'm reconsidering this I will do in depth research about this and see what will came out of it

Thanks for your support

Maybe use some old school methods like a protractor and a string plumbob to find your current latitude using the north star as a reference, or just use a north star sighting rod on the camera mount.

just use a north star sighting rod on the camera mount

If you sight on the Pole Star then read your compass bearing that will give you the declination (the earlier wikipedia article explained this). However that means you need a diplay of some kind so you can read the compass bearing and input an offset.

If you sight on the Pole Star then read your compass bearing that will give you the declination (the earlier wikipedia article explained this). However that means you need a diplay of some kind so you can read the compass bearing and input an offset.

Why are you trying to find the magnetic declination involving a compass when the origional issue seemed to be finding true north for the rotational axis of the earth?

What do you intend to do while you have got your camera pointed in the right direction?

If you're only going to take a sequence of short exposure images, I assume you can afford to have the camera stationary (in fact that would probably be the only way to get vibration low enough to get any sort of image over those distances). But if you're planning to do some sort of low light long term exposure, you would need to track the target (not just point at it) and with a very high degree of accuracy in both speed and position.

If you're looking for something that will take a sequence of short exposure images and just keep the camera point in generally the right direction between frames, one possible option would be to apply image stabilisation techniques to the sequence of images so that you can identify the target's position in adjacent frames and use a simple feedback algorithm to keep the target centered in the frame. I suspect that would work best if you were positioning the camera interactively based on the pictures and then wanted to select one of those specs and say "track that".

If you're looking for something that will take a sequence of short exposure images and just keep the camera point in generally the right direction between frames, one possible option would be to apply image stabilisation techniques to the sequence of images so that you can identify the target's position in adjacent frames and use a simple feedback algorithm to keep the target centered in the frame. I suspect that would work best if you were positioning the camera interactively based on the pictures and then wanted to select one of those specs and say "track that".

So, how do you do all that with an arduino? ;)

zoomkat:

If you're looking for something that will take a sequence of short exposure images and just keep the camera point in generally the right direction between frames, one possible option would be to apply image stabilisation techniques to the sequence of images so that you can identify the target's position in adjacent frames and use a simple feedback algorithm to keep the target centered in the frame. I suspect that would work best if you were positioning the camera interactively based on the pictures and then wanted to select one of those specs and say "track that".

So, how do you do all that with an arduino? ;)

You don't, of course; you put the image tracking logic somewhere else. Presumably the Arduino isn't the thing dealing with the camera image. So send the image to a PC, do your little bit of image tracking logic there and send a steering signal back to the Arduino to nudge the camera into place for the next frame. You don't have to do [u]everything[/u] on an Arduino, you know!

You don't have to do everything on an Arduino, you know!

Just curious about the non relevant hanger flying. :)