Directional sensor transmitter and receiver ideas

I am getting back into Arduino after almost a decade and I need some direction on a project I am doing.

I’m looking to make a transmitter that will find which direction the receiver is and then turn a servo (or stepper motor) to point at it. The receiver will always be a fixed distance of no more than to 100 ft (as close as 30ft) from the transmitter but will be moving in a 180-degree arch (half circle). The speed at which the receiver will go back and forth in the half circle could be as high as 30mph. There will always be clear line of sight. I only need pan, not tilt. I need the receiver to be something around the size of a deck of cards or smaller if possible. The transmitter, separate of the servo, should be relatively small as well but can be a bit bigger than the receiver.

I don’t have the luxury of having multiple receivers to triangulate. I can only have one transmitter and one receiver. Both the transmitter and receiver will be traveling forward at speeds of 0mph to 30mph together

I have researched the internet and found a few possible solutions:

  • GPS receiver transmitting back to the transmitter. I don’t know if the transmitter needs to have a GPS as well? The downside is the proximity of the transmitter and receiver may be too close (100ft or less) together and not be accurate enough. I don’t know this for sure though? I would also need at least a 5Hz GPS so it can update several times a second to keep up with tracking the moving receiver. I would need something like Xbee to transmit data between the transmitter and receiver.

  • Some sort of RF Beacon directional finding system. This seems promising but I don’t know enough about it yet. Dr. Monk's DIY Electronics Blog: Canine Radio Direction Finder - Part 1

  • Some combination of RF and GPS

  • RTL-SDR direction finder (Direction Finding And Passive Radar With RTL-SDR | Hackaday) . This option seems “bulky” though. I need the transmitter and receiver to be relatively small

I think the GPS route would be the best, but I don’t know that for a fact.

The main considerations for my project in order are:

  • Accuracy…it doesn’t need to be pinpoint, but it should be able to “effectively” track the receiver as it goes back and forth in the 180-degree half circle

  • Size…I need the receiver to fit in your hand if possible. The transmitter can be a bit bigger

  • Cost…I realize the more accurate and smaller these are, the more cost involved. I need a good blend of size and cost

Any help in pointing me in the right direction for hardware and coding would be appreciated! I haven’t used an Arduino in almost a decade so go easy on me, lol. I have time to research for this project but any amount of time somebody could cut off that would be appreciated!

Thanks!

For any radio transmitter/receiver to do what you ask, you must use something similar to radar, in the microwave region and use a disk or horn antenna on each end.

Paul

start by telling us the frequency band of the transmitter. I would not bother with RF directional tracking at or below 433 mhz; the antenna beamwidth is too wide. consider using the method described below by tracking a light on the vehicles roof. the higher the frequency, the shorter the wavelength, the higher the resolution

I would start with GPS > HC-12 > Arduino, and use that as a baseline to evaluate other techniques. a multi stage approach: get it in the right time zone with a simple mechanism, hone that with a more nuanced approach.

Do not think in terms of tracking a vehicle at 30 mph. think in terms of the rotational velocity of the antenna mount: you will have a peak speed measured in degrees per second. that is your Maximum Slew Rate.

how a snake tracks a mouse: 2 sensors that look like nostrils. they have an IR sensor deep inside. snake spots a heat source. he raises and lowers his head to peak the perceived heat, turns his head left and right to equalize the peaked heat source, opens his jaw, and a mouse is lunch.

how they tracked spacecraft in the early days:

  • a main antenna at the focal point of a parabolic dish.
  • a sprocket fixed on the tube that holds the feed point
  • a bar that rotates around that feed horn tube, powered by a separate sprocket
  • at the end of that bar, a second antenna that parallels the main antenna, connected by a chain to that fixed sprocket, same number of teeth on both ends
  • so the rotating antenna dipole remained parallel to the main antenna polarization
  • an encoding system to tell the tracking computer what angle of the side antenna was at, at any moment
  • and a computer that calculated: if the RSSI from the side antenna is highest up and to the right, drive the dish up and to the right

nutation. look it up before you laugh it off.

the modern way: antennas to both sides, one above, one below. measure the difference in signal strength in two dimensions and adjust azimuth and elevation accordingly.

this is how NASA tracks spacecraft with massive parabolic dishes with .001 degree accuracy. 2.3GHz S band.

GPS in both units can work. The stationary "pointer" unit also needs a magnetic compass.

Look at what people use for pointing dish antennas at balloons and drones for live video. Usually the hardest part of the project is the wireless link for the mobile unit to send its current position to the stationary unit.

Is this what you are talking about? https://www.allaboutcircuits.com/projects/gps-transmission-with-the-hc-12-transmitter/

MorganS:
GPS in both units can work. The stationary "pointer" unit also needs a magnetic compass.

Would 2 GPS units spaced only 100 ft apart be too close to each other to differentiate their positions? Can I assume the magnetic compass would be used to tell the degree of angle one unit is from another?

MorganS:
Look at what people use for pointing dish antennas at balloons and drones for live video. Usually the hardest part of the project is the wireless link for the mobile unit to send its current position to the stationary unit.

I'm not familiar with this...can you give an example?

Thanks!

No 100ft is not too close.

While the GPS accuracy may be worse than this, most of the errors apply equally to the two units. The transmission path through the ionosphere is almost identical for both, for example.

So while they will both be "wrong" by more than 100ft, the difference between the two is very small.

Why not have a flashing light , ultrasonic beam or similar , on the receiver , and use that to find the direction , and turn and point towards it - easier than the radio bit, which can still operate around it

MorganS:
No 100ft is not too close.

While the GPS accuracy may be worse than this, most of the errors apply equally to the two units. The transmission path through the ionosphere is almost identical for both, for example.

So while they will both be "wrong" by more than 100ft, the difference between the two is very small.

That makes sense...what about the compass on the transmitter? Can I assume you mean that lat/lon information on the receiver can be sent to the transmitter via HC-12 or RF. With the transmitter now having that information as well as its' own lat/lon information, it can then determine the angle at which the receiver is to itself based on the compass. Is this what you mean?

hammy:
Why not have a flashing light , ultrasonic beam or similar

The distance an ultrasonic beam can emit is not far enough for my purpose. I need something to reach out 100 ft.

bisctboy:
With the transmitter now having that information as well as its' own lat/lon information, it can then determine the angle at which the receiver is to itself based on the compass. Is this what you mean?

Yes. The angle is called a "bearing".

Can you move the receiver, e.g. mount it on a servo and sweep left and right?

I'm thinking of a radio or IR beacon. Both are easy to get directional on the receiver side, and omnidirectional at the transmitter side. That way you can quite accurately get the direction the transmitter is from the receiver. Both are small, easily fit in your pack of cards size.

wvmarle:
Can you move the receiver, e.g. mount it on a servo and sweep left and right?

I'm thinking of a radio or IR beacon. Both are easy to get directional on the receiver side, and omnidirectional at the transmitter side. That way you can quite accurately get the direction the transmitter is from the receiver. Both are small, easily fit in your pack of cards size.

While I'm sure this could be made, the constant sweeping back and forth by a servo is impractical for my project as it would drain a battery quickly. This is great idea, it just won't work for my purposes.

Out of curiosity, can you point me in a direction (pun intended, lol) for this type of hardware for an arduino?

Then use three directional receivers. Don't move the servo when the middle one receives your signal, move left/right if the left/right one has the signal. Minimal movement unless the target moves faster than you can follow.

For hardware, no specifics. Maybe IR works if you can get your beacon bright enough. A tube around an IR photodiode makes it very directional. Maybe you can hack an RF24 module, attach a directional antenna to it. HC12 may also work if 433 MHz is available in your locality.