Difference between revisions of "Antenna Tracker"
Markgriffin (talk | contribs) |
Markgriffin (talk | contribs) |
||
Line 49: | Line 49: | ||
'''Notes:''' | '''Notes:''' | ||
The antenna tracker zero azimuth is to the NORTH (NORTH = 0, EAST = 90 WEST = -90, SOUTH = 180/0 degrees). | <li>The antenna tracker zero azimuth is to the NORTH (NORTH = 0, EAST = 90 WEST = -90, SOUTH = 180/0 degrees). | ||
<li>The elevation zero is totally horizontal, 90 is up and 180 is to the back. | |||
<li>The servo used must be able to do 180 degrees in order to get full 360 degree coverage from the tracker. | |||
The | <li>WARNING: The Pololu board limits servo travel to 1000-2000 microseconds. | ||
<li>WARNING: Use the Pololu board setup program to change the above limits. | |||
<li>Example: --tilt_epa=1100 sets the PW from 950 to 2050 microseconds. | |||
<li>Example: --pan_epa=-1000 sets the PW from 1000 to 2000 microseconds and reverses the servo direction. | |||
Example: --tilt_epa=1100 sets the PW from 950 to 2050 microseconds. | |||
Example: --pan_epa=-1000 sets the PW from 1000 to 2000 microseconds and reverses the servo direction | |||
<li>An EPA of 1100 sets the servo travel from 1500+(1100/2)=2050us to 1500-(1100/2)=950us. | |||
<li>Use programmable servos like the Hyperion Atlas. You can also use the proportional 360 degree GWS S125-1T as the Theta (Azimuth) servo or the mighty but expensive Futaba S5801. | |||
FOR THE 360 DEGREE PAN MODE: | FOR THE 360 DEGREE PAN MODE: | ||
<li>Mechanical zero (0 degrees or 1500 ms) is to the NORTH, 90 = EAST, +-180 = SOUTH and -90 = WEST. | |||
Mechanical zero (0 degrees or 1500 ms) is to the NORTH, 90 = EAST, +-180 = SOUTH and -90 = WEST. | <li>Elevation center is 45 degrees up (1500ms), 0 degrees = horizontal, 90 degrees is vertical (up). | ||
<li>Of course use this mode if your PAN servo can do a full 360 degrees rotation (GWS S125-1T for example). | |||
Elevation center is 45 degrees up (1500ms), 0 degrees = horizontal, 90 degrees is vertical (up). | |||
Of course use this mode if your PAN servo can do a full 360 degrees rotation (GWS S125-1T for example). | |||
FOR THE 180 DEGREE PAN MODE: | FOR THE 180 DEGREE PAN MODE: | ||
<li>Mechanical zero (0 degrees or 1500 ms) is to the NORTH, 90 = EAST, -90 = WEST. | |||
Mechanical zero (0 degrees or 1500 ms) is to the NORTH, 90 = EAST, -90 = WEST. | <li>Elevation center is 90 degrees up (1500ms), 0 degrees = horizontal, 180 degrees is horizontal to the opposite side. | ||
<li>When the azimuth is > 90 or < -90 the azimuth and elevation servos swap sides to obtain the full 360 degree coverage. | |||
Elevation center is 90 degrees up (1500ms), 0 degrees = horizontal, 180 degrees is horizontal to the opposite side. | <li>Of course your PAN and TILT servos must be true 180 degrees servos like the Hyperion ATLAS servos for example. | ||
When the azimuth is > 90 or < -90 the azimuth and elevation servos swap sides to obtain the full 360 degree coverage. | |||
Of course your PAN and TILT servos must be true 180 degrees servos like the Hyperion ATLAS servos for example. |
Revision as of 10:34, 28 November 2010
Basic Example
The ant_track.c code in the paparazzi3/sw/ground_segment/cockpit folder estimates the azimuth and elevation angles based on the information contained in the GPS and NAVIGATION telemetry messages through the IVY bus.
To use it,
1. Open a terminal window and go to the "/sw/ground_segment/cockpit/" folder.
2. Compile it with:
make ant_track
3. Run it with:
./ant_track
4. A GUI should appear. Click on AUTO.
5. Launch an aircraft in paparazzi (use the simulator) and you will see the azimuth/elevation updated on the GUI.
Sophisticated Pololu Based Tracker
The basic code has been modified to send the azimuth/elevation values through USB to the Pololu servo controller.
To use it,
1. Open a terminal window and go to the "/sw/ground_segment/cockpit/" folder.
2. Compile it with:
make ant_track_pmm
3. Run it with:
./ant_track_pmm
4. A GUI should appear. Click on AUTO.
5. Launch an aircraft in paparazzi and you will see the azimuth/elevation updated on the GUI.
The following input arguments are possible:
--port=xxx..x' opens port xxx..x, example --port=/dev/ttyACM0 (Default). --pan=xxx' sets pan mode to 180 or 360 degrees. Example --pan=180 (Default). --zero_angle=xxx' set the mechanical zero angle. Default is 0 (North). --id=xx' sets the Pololu board id. Example --id=12 (Default). --servo_acc=xxx' sets the servo acceleration. Example --servo_acc=3 (Default). --pan_servo=x' sets the pan (Theta) servo number. Example --pan_servo=0 (Default). --tilt_servo=x' sets the tilt (Psi) servo number.Example --tilt_servo=1 (Default). --pan_epa=xx..x' sets the Azimuth servo's max travel (Default is 1100us). --tilt_epa=xx..x' sets the elevation servo's max travel (Default is 1100us). HINT: a negative value EPA value reverses the servo direction. --pan_servo_center_pw=xx..x' sets the Azimuth servo's center position (Default is 1500us). --tilt_servo_center_pw=xx..x' sets the elevation servo's center position (Default is 1500us).
Notes: