Documente Academic
Documente Profesional
Documente Cultură
TECHNOLOGY
LBS REPORT
INSTRUMENTATION LANDING SYSTEM
Bhavesh Chetwani
Rahul Goswami
Prajakta Nalawde
Chandni Nanwani
Prachiti Waghambare
D14-A
Guided By:
Mrs Swati Zope
(ETRX Dept.)
CERTIFICATE
This is to certify that Mr.Bhavesh Chetwani, Mr.Rahul Goswami, Ms.Prajakta Nalawde,
Ms.Chandni Nanwani, Ms.Prachiti Waghambare has satisfactorily completed the partial
fulfilment of LBS (Looking Beyond Syllabus) project in Instrumentation Landing System
under my supervision in VESIT during the academic year 2014 15.
Dr.Saylee Gharge
Index
Sr No.
Topic
Page no.
1.
Introduction
2.
Motivation
3.
Problem definition
4.
5.
Design of Project
6.
Specifications
11
7.
Advantages
16
8.
Applications
17
9.
Conclusion
18
10.
References
19
11.
Appendix
20
PICTURE INDEX
Sr. No
1.
2.
3.
4.
5.
6.
7.
Picture
Block diagram of system.
Working model
ATmega 16 development board
ATmega 16 pin diagram
HC-SR04
Timing diagram of HC-SR04
ADXL-335
Introduction
3
Page No.
08
09
10
11
14
14
15
Motivation
Also very costly earthworks may be required and at some airports ILS cannot be made
to work. It is quite sensitive to reflections from terrain and buildings which disturb the
4
course. Hence we decided to make an instrumentation landing system which will use sensors
instead of the costly arrays involved in the actual system. Thus the system becomes costeffective & compact since the use of arrays is eliminated.
Problem Definition
First the distance of the aeroplane will be measured from the ground. Then the tilt of
the aeroplane is sensed in X axis & Y axis & the information is conveyed to the pilot.
Vertical guidance:
Programming of Atmega:
We faced the initialization problem in ultrasonic sensor. Also since both the sensors
were programmed differently combining them together in a single program was a
problem.
DESIGN OF PROJECT
7
Ultrasonic sensor
Accelerometer
The Atmega 16 microcontroller acts as the heart of the system & is programmed in order
to get the required output.
The ultrasonic sensor is interfaced to port C of Atmega 16. The 2 main pics of
ultrasonic sensor which are the Trigger & Echo are connected to C0 & C1 pins
respectively of microcontroller. For the operation of sensor a 100 kHz signal is provided
by the microcontroller on its trigger pin & the output of the sensor is obtained on its Echo
pin. This output is in the form of pulses which is given to microcontroller. The
microcontroller displays the output of distance in cm on the LCD which is interfaced to
port B of Atmega 16.
The Accelerometer is interfaced to port A of Atmega 16 which also has an inbuilt
ADC. Accelerometer has 3 axis- X, Y & Z. We have connected only X axis & Y axis
output to pins A0 & A1 of the microcontroller. Accelerometer measures acceleration on
these axis & provides a proportional analog output voltage which is given to
8
microcontroller. The internal ADC converts this analog voltage into digital & provides the
corresponding output on LCD.
Working:
The two eyes of the system are the ultrasound sensor (HC-SR04) and accelerometer
(ADXL-335). To determine the correct position of the plane and to correct it, in the
first step, the ultrasonic detects the height of the prototype from the ground. We have
kept the optimum height between 15-20 cm. But, the sensor can very well work with
height up to 4 metres. If the height of the plane is not in the defined range, the atmega
displays message through LCD to go up or down accordingly.
Once the condition of height is set, the accelerometer tests the condition of tilt
in right or left. For a proper landing, the plane must be straight. It tests the condition
of right or left in Y-axis. If the plane is tilted in either of the directions, the atmega
processes it and displays accordingly.
Being in the optimum landing height and being straight, the accelerometer
determines the tilt in forward direction (X-axis) and thus displays message
accordingly. When all three conditions of height, right or left tilt and forward tilt are
satisfied, the plane is ready and safe to land.
SPECIFICATIONS
9
10
11
MOTOR DRIVERS:
Motor drivers are essentially little current amplifiers; their function is to take a low-current
control signal, and turn it into a proportionally higher-current signal that can drive a motor.
The motor driver provided on board is IC L293D.
LCD DISPLAY:
The board has provisions for connecting a standard 16 pin LCD Display. However, it must be
noted that the port provided for LCD interfacing using the ATmega is for 4- bit interfacing
and not 8-bit wherein the pins B0, B1, B2 of the MCU are used for RS, R/W and E and the
pins B4, B5, B6, B7 are used for data bus lines.
RF communication:
The board includes provision for connecting 433 MHz ASK Transmitter and Receiver
Modules to transmit and receive serial data with a 100 m range in open space.
USBasp:
USBasp is a USB programmer used for burning the codes into the MCU on your
development board.
When programming your development for the first time, put a jumper on the pins with
SLOW SCK and firmware written near them. (You dont need to this, weve already
programmed it once for you) Putting the SLOW SCK jumper reduces your
programming speed, which is desirable at times, when it fails to program at a faster
speed.
Of the extreme pins, whose wires are connected to the development board, the one
having an initial G near it printed on the board, is the ground pin. The pin adjacent to
it is the VCC pin. The remaining 4 are the programming pins which go 15 to pins 6-9
of the ATMEGA. So, the 6-wire ribbon from the programmer board goes to the 6-11
pins of the ATMEGA.
The power target (pwr target) jumper when put on, allows the MCU to be powered by
the PC, when connected to the PC.
The glowing of red LED signifies that the process of programming is on. The green
LED should ideally glow when the programmer is connected to the PC (with the
power target jumper on the board) and is idle.
12
4 PWM Channels
Serial USART
SPI Interface
5V Supply
Trigger Pulse Input
Echo Pulse Output
0V Ground
13
Electric Parameter:
Working Voltage DC 5 V
Working Current 15mA
Working Frequency 40Hz
Max Range 4m
Min Range 2cm
Measuring Angle 15 degree
Trigger Input Signal 10uS TTL pulse
Echo Output Signal Input TTL lever signal and the range in proportion
Dimension 45*20*15mm
Timing Diagram:
14
Timing diagram The Timing diagram is shown below. You only need to supply a short 10uS
pulse to the trigger input to start the ranging, and then the module will send out an 8 cycle
burst of ultrasound at 40 kHz and raise its echo. The Echo is a distance object that is pulse
width and the range in proportion .You can calculate the range through the time interval
between sending trigger signal and receiving echo signal. Formula: uS / 58 = centimeters or
uS / 148 =inch; or: the range = high level time * velocity (340M/S) / 2; we suggest to use
over 60ms measurement cycle, in order to prevent trigger signal to the echo signal.
Accelerometer:
The ADXL335 is a small, thin, low power, complete 3-axis accelerometer with signal
conditioned voltage outputs. The product measures acceleration with a minimum full-scale
range of 3 g. It can measure the static acceleration of gravity in tilt-sensing applications, as
well as dynamic acceleration resulting from motion, shock, or vibration.
The user selects the bandwidth of the accelerometer using the CX, CY, and CZ
capacitors at the XOUT, YOUT, and ZOUT pins. Bandwidths can be selected to suit the
application, with a range of 0.5 Hz to 1600 Hz for the X and Y axes, and a range of 0.5 Hz to
550 Hz for the Z axis.
The ADXL335 is available in a small, low profile, 4 mm 4 mm 1.45 mm, 16-lead,
plastic lead frame chip scale package (LFCSP_LQ).
ADVANTAGES
15
Precision Approach :
This system gives the direct readout digitally instead of complex analog meters as
used in actual system.
APPLICATIONS
16
Visually Impaired :
The ILS can be used for guiding the visually impaired, for eg if we install the
vertical guidance part of our system in the shoes ,then it will be helpful for
guiding the way whenever that person is walking on the stairs.
Used in cranes :
If we mount this system on the cranes then it will help to put cranes at proper
position from a particular distance.
CONCLUSION
17
REFERENCES
18
Cisropedia.net
ibatnam.net
Wikipedia.org
Appendix
19
Code:
#include <avr/io.h>
#include <util/delay.h>
#include "lcd.h"
#include "lcd.C"
#define US_PORT PORTC
#define
US_PIN
#define US_DDR
PINC
DDRC
#define US_TRIG_POS
PC0
#define US_ECHO_POS
PC1
#define US_ERROR
-1
#define
US_NO_OBSTACLE -2
void InitADC()
{
ADMUX=(1<<REFS0);
// For Aref=AVcc;
ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
=128
}
/*
Function to read required analog channel and returns the value
Argument:
Channel number from 0-7
Return Vale:
Result of conversion on selected channel
ranges from 0-1023
*/
20
ADCSRA|=(1<<ADIF);
_delay_ms(200);
return(ADC);
}
void HCSR04Init();
void HCSR04Trigger();
void HCSR04Init()
{
US_DDR|=(1<<US_TRIG_POS);
}
void HCSR04Trigger()
{
21
//wait 15uS
US_PORT&=~(1<<US_TRIG_POS);
//low
}
uint16_t GetPulseWidth()
{
uint32_t i,result;
break;
else
}
if(i==600000)
return US_ERROR; //Indicates time out
//High Edge Found
//Setup Timer1
TCCR1A=0X00;
TCCR1B=(1<<CS11);
//Prescaler = Fcpu/8
TCNT1=0x00;
//Init counter
if(i==600000)
return US_NO_OBSTACLE; //Indicates time out
//Falling edge found
result=TCNT1;
//Stop Timer
TCCR1B=0x00;
if(result > 60000)
return US_NO_OBSTACLE; //No obstacle
else
return (result>>1);
}
/*
Simple Delay function
*/
void Wait(uint8_t t)
{
uint8_t i;
for(i=0;i<t;i++)
23
_delay_loop_2(0);
}
void main()
{
LCDInit(LS_NONE);
//Initialize ADC
InitADC();
_delay_ms(1000);
//Put some intro text into LCD
Test
");
//_delay_ms(1500);
Wait(150);
LCDClear();
uint16_t r;
_delay_ms(100);
LCDClear();
int16_t x,y,z; //X,Y,Z axis values from accelerometer.
//Wait for LCD to Startup
_delay_loop_2(0);
//Initialize LCD, cusror style = NONE(No Cursor)
while(1)
{
//Send a trigger pulse
HCSR04Trigger();
//Measure the width of pulse
r=GetPulseWidth();
//Handle Errors
if(r==US_ERROR)
{
LCDWriteStringXY(0,0,"Error !");
}
else if(r==US_NO_OBSTACLE)
{
LCDWriteStringXY(0,0,"Clear !");
}
else
{
int d;
d=(r/58.0);
//Convert to cm
LCDWriteIntXY(0,0,d,4);
_delay_ms(1500);
LCDWriteString(" cm");
25
_delay_ms(1500);
if(d<15)
{
LCDWriteStringXY(0,1,"Go Up");
_delay_ms(1500);
lcd_clear();
}
else if(d>20)
{
LCDWriteStringXY(0,1,"Go Down");
_delay_ms(1500);
lcd_clear();
}
else
{LCDWriteStringXY(0,1,"Set Accelerometer");
_delay_ms(1500);
lcd_clear();
_delay_ms(1500);
x=ReadADC(0);
y=ReadADC(1);
z=ReadADC(2);
LCDWriteInt(x,3);
LCDWriteString(" Y=");
LCDWriteInt(y,3);
_delay_ms(10000);
Wait(20);
if(x<=75){
LCDWriteStringXY(0,1,"READY");
_delay_ms(2000);
}
else
{LCDWriteStringXY(0,1,"Tilt F");
_delay_ms(2000);}
if(y>110){
LCDWriteStringXY(9,1,"Tilt L");
_delay_ms(2000);
}
else{
if(y<90){
LCDWriteStringXY(9,1,"Tilt R");
_delay_ms(2000);
}
else {
LCDWriteStringXY(9,1,"READY");
_delay_ms(2000);
lcd_clear();
27