Beruflich Dokumente
Kultur Dokumente
Guided By Syndicate
Lt Cdr Nikhil Jain Lt A Kalgan
Lt DT Poovaiah
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CERTIFICATE
(Nikhil Jain)
Lt Cdr
Project Guide
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
ACKNOWLEDGEMENT
We would like to extend our gratitude to our guide Lt Cdr Nikhil Jain, Lt Cdr S
Agarwal and Lt Cdr KN Bhat in helping us to complete this project. We would
also like to thank the FTP staff, for their unending support and also for
providing a conducive atmosphere to work in
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
1. The aim of project is to generate look angle for satellite tracking for use
with ship borne antennas. This can be accomplished by using a digital
IC namely ADXL 202 E as an accelerometer to sense roll and pitch and
using this data to compute necessary actuation signals given to
elevation and training motors to maintain the ship borne antenna in line
of sight with satellite.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CONTENTS
1. INTRODUCTION
3. DATA ACQUISITION
5. LOOK ANGLE
6. WORK UNDERTAKEN
7. FUTURE SCOPE
8. APPENDIX
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CHAPTER 1
INTRODUCTION
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
The aim of our project is determination of Look angle for ship borne
satellite tracking antenna. The parameters required for this are Roll and Pitch
of the ship, Satellite’s longitude and the latitude and longitude of the ship.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
(b) Acquisition of ships own position data, which would include the
latitude, longitude and the ship’s heading.
(d) Design of a control system for satellite auto tracking and antenna
platform stabilization. (The control system part of the design is not
included in the scope of this project.)
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
ADXL
202 PCB
CONTROL
SYSTEM FOR
ELEVATION
COMPUTER
GPS CONTROL
SYSTEM FOR
TRAINING
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CHAPTER 2
This was the field which was of the maximum concern and it was the
field where we faced the maximum problems. Firstly the ADXL IC was not
readily available in the market since it was not a commonly used one. It is a
dual axis accelerometer and is used only for specific purposes.
And above all the remote nature of this place made it little difficult to
acquire other components in time.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
This by far was the area in which we faced the biggest hurdles in our
project. Since the main component of our project, the dual axis accelerometer
ADXL202E was not available with us till the later stages of our project, we
faced difficulties in checking the correctness of the codes that we had written
and in designing the PCB layout for our project.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CHAPTER 3
DATA ACQUISITION
The heart of this project is ADXL 202 chip, which is a low cost, low
power, complete two axis accelerometer with the measurement range of +/-
2g. The ADXL 202 can measure both dynamic acceleration (e.g. vibrations)
and static acceleration (e.g. gravity)
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
The roll pitch data in RS 232 format is interfaced with the PC through a
COM port using the following logic. We use a baud rate of 9600, 8 bit data
with no parity bit here even though the freedom of resetting all the data is also
provided in the software foreseeing future enhancements.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CHAPTER 4
The parameters required for the computation of satellite look angle are
the latitude, longitude and the ship’s heading. These parameters can be
made available by using Global Positioning System (GPS).
4.1 Theory
The global positioning system is an earth orbiting satellite based
navigation system. GPS is an operational system, providing users world wide
with twenty four hour a day precise operation in three dimensions and precise
time traceable to global time standards. GPS is operated by the United States
under the direction of department of defense (DoD) and was designed for and
remains under control of US military. GPS applications have expanded to
include surveying, space navigation, and automatic vehicle monitoring,
mapping and geographic information.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
GPS receivers are equipped with quartz clocks that are synchronized to
GPS time via the data transmitted from the constellation. And timing is the
basis of the location computation. The satellites radiate the coded signals that
are received by the GPS users. The computation in its simplest form is space
based triangulation.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
When this process is repeated for another satellite that is in view, then
the two hemispheres will cut through each other. Repeating this process
again with a third satellite and the intersection of three hemispheres will form
a point, which is where our receiver is located. The accepted rule for most
receivers is that it must continuously track a minimum of four satellites to
produce a location that contains latitude, longitude and altitude.
Here using the same logic that we used for receiving the roll pitch data
can be used but due to non availability of the bit sequence being used we are
not directly being able to receive the data in VB programme viz. satellite
position, ships latitude and longitude. To overcome this data is being fed in
manually.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CHAPTER 5
LOOK ANGLE
The look angles are the angles (coordinates) to which the earth station
antenna must be pointed to communicate with the geosynchronous satellite.
These angles are the azimuth (A) and the elevation (E). These are calculated
on the basis of knowledge of latitude and relative longitude both in degrees of
the earth station, in fact theta is the absolute value of difference between the
geostationary satellite longitude and the earth station. Azimuth is usually
defined as the angle by which the antenna, pointing at the horizon must be
rotated clockwise around its vertical axis, from the geographical north, to
bring the antenna bore sight into the vertical plane containing the satellite
direction. Value of the azimuth angle is between 0 and 360 degrees. The
azimuth angle is calculated based on the following equation:
Cos θ
AZ = a tan
Sin Φ
Where,
Φ = earth station longitude.
θ = absolute value of the difference between the geostationary
satellite longitude and the earth station longitude.
Determination of Azimuth angle is based on the location of the satellite
and the earth station.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
The elevation angle is defined as the angle by which the antenna bore
sight should be rotated in the vertical plane that contains the satellite direction
from the horizontal to the satellite direction. The elevation angle is calculated
using the equation below:
With any initial transverse angle T and elevation angle E, if the hull is pitched
through an angle P and then rolled through an angle R, the initial x
component is cosT.cosE; the initial y component is sinT.cosE; and the initial z
component is sinE.
From which the new transverse angle T1 and the new elevation angle
E1 required to maintain the load position undisturbed after applying hull pitch
and roll angles can be solved as:
And,
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CHAPTER 6
The project group has undertaken the following for completion of project
The primary requirement for the project was to build a circuit for extracting
accelerometer output alon the two axes and give it in a suitable format to be
able to be processed by the PC. We went about designing the circuit with a
view of the following
(b) Accelerometer
There are various types of accelerometers which are available in the market.
However for our purpose we required a dual axis accelerometer which should
be compact as well as cost effective. Keeping the above considerations in
mind we chose ADXL 202E. However due to the remote nature of this place
the IC was not readily available. Owing to the absence of IC during the major
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
part of this phase the group concentrated on using a Pulse Width Modulation
generator to generate a duty cycle modulated output resembling the output
given by ADXL. The group worked with PWM generator with limited success
however on procurement of ADXL it has been groups endeavour to
incorporate the IC and complete the project as mentioned in the scope.
(c) Microcontroller
The group chose AT89S52 which is a low-power, high-performance CMOS 8-
bit microcontroller with 8K bytes of in-system programmable Flash memory.
The on-chip Flash allows the program memory to be reprogrammed in-
system or by a conventional nonvolatile memory programmer. C language
was chosen to program the microcontroller due to experience of the project
member with the language. The code developed is mentioned in the
appendix.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
All this can be done with conventional analog electronics, e.g. a particular
power supply and a couple of transistors .The necessary signal level
conversion with an integrated circuit (IC) from the MAX232 family It should be
noted that the MAX232 is just a driver/receiver. It does not generate the
necessary RS-232 sequence of marks and spaces with the right timing, it
does not decode the RS-232 signal, it does not provide a serial/parallel
conversion. All it does is to convert signal voltage levels. Generating serial
data with the right timing and decoding serial data has to be done by
additional circuitary.
The mounting of the components on to the PCB was major bottleneck for the
project group since the accelerometer is available in LCC package and
dimensions of the IC are extremely small and requires micro soldering setup.
The group generated the required PCB layout using available software. The
group has however taken external help required for soldering of ADXL to
PCB. The group has been successful in designing a PCB as required for the
achievement of the scope of the project.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
The group has developed Visual Basic code for calculation of the look angle
and the microcontroller code for reading the ADXL output and interfacing with
PC.
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
CHAPTER 7
FUTURE SCOPE
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
APPENDIX A
MICROCONTROLLER CODE
#include <at89x52.H>
#include <stdio.h>
#define LOW 0
#define HIGH 1
char command;
time1ms()
{
unsigned int i;
for (i = 0; i<125; i++) // the value is (1000 * n us)/8
;
}
delay_ms(int n)
{
unsigned int i;
for (i=0; i< n ; i++)
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
time1ms();
}
void myputchar(char c)
{
while(!TI);
TI=0;
SBUF = c;
}
putnum(unsigned char n)
{
unsigned char k;
char s[4];
s[0] = n/10+'0';
s[1] = n%10+'0';
for(k=0;k<2;k++)
myputchar(s[k]);
}
void ReadAccel()
{
unsigned int T2_X,T2_Y;
TR0 = 0;
TH0 = 0;
TL0 = 0;
while(XOUT);
while(!XOUT);
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
TR0 = 1;
while(XOUT);
T1X = TH0;
T1X <<= 8;
T1X |= TL0;
while(!XOUT);
TR0 = 0;
T2_X = TH0;
T2_X <<= 8;
T2_X |= TL0;
TR0 = 0;
TH0 = 0;
TL0 = 0;
while(YOUT);
while(!YOUT);
TR0 = 1;
while(YOUT);
T1Y = TH0;
T1Y <<= 8;
T1Y |= TL0;
while(!YOUT);
TR0 = 0;
T2_Y = TH0;
T2_Y <<= 8;
T2_Y |= TL0;
T_2 = (T2_X+T2_Y)/2;
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
void FindZActual()
{
ZXActual = ((unsigned long)ZXCal * (unsigned long)T_2) / T2Cal;
ZYActual = ((unsigned long)ZYCal * (unsigned long)T_2) / T2Cal;
}
void CalculateAccel()
{
if(T1X > ZXActual){
XAccel = ((unsigned long)K*(unsigned long)(T1X-ZXActual))/T_2;
XSign = '+';
}
else{
XAccel = ((unsigned long)K*(unsigned long)(ZXActual-T1X))/T_2;
XSign = '-';
}
void CheckCal()
{
unsigned char i;
unsigned long ZX,ZY,ZT2;
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
if(P0_7==0){
ZX=ZY=ZT2=0;
for(i=0;i<50;i++){
ReadAccel();
ZX += T1X;
ZY += T1Y;
ZT2 += T_2;
}
ZXCal = ZX/50;
ZYCal = ZY/50;
T2Cal = ZT2/50;
while(P0_7==0);
}
}
void main()
{
SCON = 0x52;
TMOD = 0x21;
TH1= 0xfd;
TR1 = 1;
delay_ms(500);
ZXCal = 3511;
ZYCal = 2708;
T2Cal = 6867;
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
while(1)
{
CheckCal();
ReadAccel();
FindZActual();
CalculateAccel();
myputchar('!');
myputchar(XSign);
putnum(XAccel);
myputchar(',');
myputchar(YSign);
putnum(YAccel);
myputchar(0x0A);
myputchar(0x0D);
delay_ms(500);
}
}
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
APPENDIX B
Dim n
Const PI = 3.14159265
Function Arcsin(X)
Arcsin = Atn(X / Sqr(-X * X + 1))
End Function
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
T1 = T * PI / 180
E1 = E * PI / 180
P = Val(Text6.Text) * PI / 180
R = Val(Text5.Text) * PI / 180
FTP/O148-SSCL229
SATELLITE TRACKING BY ROLL & PITCH DETERMINATION USING ADXL
End Sub
FTP/O148-SSCL229