Pages: [1] 2   Go Down
Author Topic: Has anyone ever tried to build own GPS-System?  (Read 6366 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

has anyone of you ever tried to build an own positioning system like gps with arduino? I would like to know whether or not arduino is fast enogh for doing such things.

I would like to build some kind of reverse gps, where a small beacon is sending a time-stamp signal and 4 stations will receive that signal and where you can triangulate the position of the beacon, because you know the exact position and reception time of the receiver-antennas.
but because the signal is travaling sat such high speeds the resolution of the receiver hardware has to be very high and thus the frequency/tackting of the analog-to-digital-converter.

do you think such a project can be done with arduino? because at the end, I want to have receiving antennas ata distance of 10m and the beacon should be detectable in between with a decent resolution in between.

best regards,

Andreas
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 525
Posts: 26523
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Are the receivers all talking to each other to indicate what time they got a common signal?
They need to be in sync with a common time source also.

How far is the signal, transmitted at 299,792,458 metres per second, 186,282 miles/Sec,
going to travel in the arduino's 62.5nS per clock cycle?
18.73m.
Say you just recorded the time a simple pulse occured - how accurately can you tell when that pulse occurred?
Every clock pulse that your time is off increases the circle of error in your triangulation calculation.

So in my mind you need a few things to test this out:

- transmitter
- min 3 receivers, all able to communicate with each other, and spaced far enough apart to have a meanigful result that won't envelop your receivers.
- software to take in the data and do the math.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

Time synching of the receiver stations do I want to do with gps time itself or with the radio signal for radio controlled clocks. Both need the antennas as well but the sender still doesn't need more then a clock and radio.

I just wanted to know how accurate arduino and a shield can be with this task and a minimum distance of 18m sounds allmost okay but should be better.

Processing of the data of all 4 receiver stations can be done with the math that you can find in the gps article in wikipedia. Realtime processing would be nice but when the single arduinos at the receiver antenna will strore the data for later processing, that is fine. I just want to track the beacon.

Andreas
« Last Edit: October 17, 2011, 12:09:41 am by -horn- » Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 525
Posts: 26523
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I would think you'd want all devices used to be sync'ed to the same time source.
I am thinking like phase-lock-loop synced, so when they get the 1Hz GPS time pulse they are all dead-on.
If the receivers are 1 or 2 clock pulses different, then you kiss your accuracy goodbye.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I would think you'd want all devices used to be sync'ed to the same time source.
I am thinking like phase-lock-loop synced, so when they get the 1Hz GPS time pulse they are all dead-on.
If the receivers are 1 or 2 clock pulses different, then you kiss your accuracy goodbye.

hi,

the linking of 4 antennas, that will be deployed at distances where I can't connect them via cable or even radio will be dificult at the end.
so the time-synching via gps-time will be one of the few ways left.
and a 1hz time pulse isn't that much, but perhaps interpolation in betwwen 2 of them will solve that.

Andreas
Logged

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

OP,

You have no idea of how fast EM waves propagates despite CrossRoads pointed out. The time is in nano-seconds as indicated. So sync needs to be as good as nano-seconds as well. On GPS satellites, there are atomic clocks doing this type of work. What do you have? Even different length of wiring to the say 3 transmitters will result in delay too big. Your 1Hz gps time is no match with this and higher gps timing accuracy can be obtained if you have a friend very high up in the military rank. I think the problem with sync will break the project.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

we all have friends in high places smiley-wink.
and you are right about gps time and that is what I want to use. this signal can be received at the receiver-points that will set and correct their timesources. that is allready done in each and every handheld navigation device.
so there is no need to wire all 4 receiver-points to synch them by their own and keep them synched.

it's still hard enough to do it with gps-time as a "synch" source, but it's possible. and there are still things like buffer time and incorrect time calculations (because gps signals at the receiver-points have to be corrected as well) will influence the position measuring.
BUT I don't need a position as exact as a millimeter, if it's 10 meters it's okay. even when it's 50 m, it's still okay for my purposes.

and there are even more ways to get a time, like clock radio signals are even more precise and more frequently broadcastet, but you have a different standard for it in every country. that's bad for global deployment.

best regards,

Andreas
Logged

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Andreas,

The point is, GPS broadcast is essential encrypted time stamps but only expensive GPS reveals this time stamp. Commercial units can only decrypt a limited amount of digits in the time and thus have less accuracy. I don't think the 1 second update is accurate to 1ns and you need more or less that accuracy for measuring distances in meters or 10 meters.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

The 1sec timeupdate is okay, you can log a time, count the cpu cycles log the next gps timestamp and you can interpolate.

Nevertheless I'm not fixed to have 1m accuracy, when it's 100m but the concept is proven it's okay.
I still want to play around with hardware and would like to get an advise what arduino -communication shield - gps shield is a good start.
I want to build at least one reception point and a beacon. First has to have com-link and gps, beacon only needs com-link. But perhaps it's wise to have 2 reception points that can also be switched to beacon mode. Shipping just one gps shield for turning the beacon into a reception point is the most expensive thing smiley-wink.

Andreas
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 525
Posts: 26523
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Take a look at this

http://dexterindustries.com/Arduino-GPS_Shield.html
http://arduino.cc/forum/index.php?topic=51836.0

I think if you take this, add RF Tx/Rx as needed for comms between units, something like this
http://www.robotshop.com/433mhz-high-sensitivity-transmitter-receiver-pair-rxa30.html?utm_source=google&utm_medium=base&utm_campaign=jos

than can start writing s/w...
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Rapa Nui
Offline Offline
Edison Member
*
Karma: 60
Posts: 2066
Pukao hats cleaning services
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

..not sure the gps works as you think it does.. it uses spread spectrum, not sure the time/position information is extracted by measuring "pulses with ns resolution", I think other method is used..
The "public"/"commercial"/"military" - all those are using specific separate channels in the gps band with special coding. The 1sec comming from gps is precise from long term prospective, usually there is a jitter caused by the gps receiver.p.
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 525
Posts: 26523
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I think what -horn- wants to do is have the beacon send a message, the receivers all get iot and note the time it was received, talk among them selves to share those times, and then do the math to figure out where the beacon is.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

that's it! smiley
And talking to themselves and doing math is a further step. Because the reception arduinos don't have to share them to eachothers. The data will be collected and analysed on a PC afterwards, because I don't need to have it in realtime. I just want to get a "when was it where" result.
Realtime, where all arduinos will communicate with eachother or with a master-node isa further step, someday smiley

Andreas
Logged

Rapa Nui
Offline Offline
Edison Member
*
Karma: 60
Posts: 2066
Pukao hats cleaning services
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

..interesting project, indeed! The only issue is to have a synchronised time across all the receiving arduinos, a big issue, I would say  smiley-roll-sweat..
People usualy use the gps' 1 second pulse for disciplining a txco. You can hardly use it directly as the jitter is big for that kind of measurement. I would recommend you to study how navigation tools work, like LORAN or others.. The measuring time of receiving the ping from beacon is the last thing one would do  smiley when having only one beacon. When having two or more beacons, each with its own synchronised atomic time, then it would be much easier as you can measure differences..
To measure with one beacon only and 100m precision required you need the time information accross all the components with a +/-150ns time alignment (all within 300ns).. To synchronise two xtal clocks with such even short-time precision would be hard for NIST as well.. smiley
PS: Maybe other approach may work - the "beacon" will play a role of a "repeater". so the arduino's will send a ping (with their own ID) and the ping will be relayed back. Knowing the roundtrip time may give you some info on the distance. When all the arduinos will repeat the pings from each other, they do not need absolute time knowledge, I guess.. But I doubt one ping will be enough as the jitter caused by the processing in arduino and the transceiver is very large, so you have to ping many times and make some averaging, or something like that..
« Last Edit: October 23, 2011, 04:01:53 pm by pito » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi pito,

I will have a look at LORAN http://en.wikipedia.org/wiki/LORAN

And this project is for http://shackspace.de/wiki/doku.php?id=project:hgg where some persons started to work on receiving signals, others are trying to find adequate hardware and I would like to build a proof of concept prototype with arduino. and IF/WHEN this works, we will change hardware to better andfaster equipment, but arduino is a nice and cheap way to check, if it is possible at all.
that's why accuracy is not so important for me, at least in this phase of the project.

Andreas
Logged

Pages: [1] 2   Go Up
Jump to: