The system “GPS Navigator Circuit using ATmega 16” is implemented to detect the position/location of anything under consideration, and hence it is suited for navigation activities.
The term GPS has been so popular in the recent times. The credit for its quick recognition is due to the list of multiple features this system offers. Elaborated as Global positioning system (GPS) it has already been established as a reliable technology which has made our lives much easier. Just with the involvement of GPS, we have observed a drastic change in accuracy and efficiency of the project. Probably for the same reason, mobile phones development team have incorporated in-built GPS receiver, which is the reason why we can trace the location of the place we are standing at an instant. However, this instant location identification is possible when there is a distinct line-of-sight communication with four or more satellites.
Trusting GPS for reasons listed above, we built a device called GPS Navigator Circuit using ATmega 16. With this device, the GPS signal from around the vicinity is collected and then it is further processed so as to extract details about its current location. To extend the flexibility of the system, we did include a tracking record system. This feature will serve us best in two definite ways; one is to check on the path travelled so far which will ensure our safety, as we can always travel back to the point where we started in case when we feel lost at unknown locality.
Circuit and Working of GPS Navigator Circuit using ATmega 16
The complete circuit diagram of this device is given clearly in fig. 1. As we see the chief component of this project is a simple microcontroller called ATmega16 (IC1) around which the entire circuit is fabricated. Besides this, other components like 5V voltage regulator 7805 (IC2), GPS module, graphical LCD (GLCD1) and a few other components are included in this project.
Talking about the supply, we have implemented a 9V/12V adaptor to power the circuit. The circuit consumes regulated 5V supply from the regulator IC2 for efficient operation. When circuit feeds on the power, a LED1 glows to notify about the power consumption scenario.
A clock frequency of 16 MHz is required to operate the microcontroller IC1. So as to establish communicating path between GPS receiver modem and IC1, a serial protocol is used. The GPs receiver connects simultaneously transfers data through Tx pin to the Rx (PD0) pin of IC1. The rate of data transfer is approximately 1 Hz.
Here we use a special type of LCD called GLCD to display the information collected. A normal LCD cannot display such enormous data and so a GLCD which is 128×64-pixel and KS0108-controller-based device is used. To interface it with microcontroller, port pins PB0-PB7 of IC1 are connected to data pins D0-D7 of GLCD1. Similarly, few pins from port D; PD2-PD6 are configured to provide control signals RS, R/W, EN, CS1 and CS2 to GLCD1, respectively. And, of course, we have Switch S1 to make necessary reset arrangements related to navigation.
Finally, let’s discuss about how this navigating device works. When the adequate supply is offered to the circuit, first of all the microcontroller is turned on and it quickly stores the initial values of longitude and latitude data marking the start point. And, as we move on with that device in hand, the varying values of longitudes and latitudes are continuously plotted in it forming the path we traveled; clear picture for this explanation is given in fig.1. So as to include a wide area into a small screen, we use certain rules of measurement such that 30 meters distance traveled on the field is equivalent to 1 division change on the screen. Hence, after the recorded distances are plotted on the screen with respective latitude and longitudes values, what we get is the distinct view of the path we traveled so far and the details about turns and directions we followed. Besides this, from the map developed, other information regarding the current latitude, longitude, speed, altitude, date, time etc are known. In addition, the total number of satellites our GPS modem can capture can also be known.
Software for GPS Navigator Circuit using ATmega 16
The fact that ‘C’ language is used in coding makes it easier to implement. For the compiling purpose, we use WINAVR Programmers Notepad. WINAVR is a GCC–based compiler for AVR. To burn the code into the microcontroller we can use any program burner/loader with FUSE BYTE settings mentioned below:
The data is sent continuously by GPS receiver modem to IC1 through USART at 9600 baud rate. The data sent by GPS is initiated by a ‘$’ sign which is further followed by National Marine Electronics Association (NMEA) output sentences. For additional details, refer Table I.
On the other hand, the microcontroller is ready to continuously capture and store all bytes for each NMEA output sequence. Now, the total bytes are partitioned and distinctly sampled into a small packet that contains information about time, date, longitude, latitude, altitude, speed, etc. All such values are continuously monitored and updated on the GLCD screen.
Construction and testing of GPS Navigator Circuit using ATmega 16
The figure of actual size of single-side PCB layout for the GPS navigator circuit is illustrated in Fig. 2. The respective component layout is given by Fig. 3. Follow the pattern as in the circuit to assemble the components on the PCB and reduce possible errors during assembling. To protect IC1, use IC base. For the supply, we can implement a 9V/12V adaptor. It can also be replaced with any other suitable DC source.
Figure 2: Solder Side PCB design of GPS Navigation Circuit Using ATmega 16
Figure 3: Component Side PCB design of GPS Navigation Circuit Using ATmega 16
For testing the entire circuit, make sure at Vcc of IC2 there is 5V power supply with respect to GND pin. And, at Tx pin of GPS module, with the help of oscilloscope we can view the data transmitted by the GPS modem.
PARTS LIST OF GPS NAVIGATOR CIRCUIT USING ATMEGA 16
|Resistor (all ¼-watt, ± 5% Carbon)|
|R1 = 680 Ω
R2 = 10 KΩ
R3 = 470 Ω
VR1 = 10 KΩ
|C1 = 470 µF, 25V
C2 = 0.1 µF
C3 = 10µF, 16V
C4, C4 = 22pF
|IC1 = 7805, 5V regulator
IC2 = ATmega 16 microcontroller
LED1 = 5mm LED
LCD1 = 2-pin 128*64 Graphic LCD (KS0108 Controller Based)
|SW1 = Tactile Switch
XTAL1 = 16 MHz crystal oscillator
GPS = GPS-2062 Module
DC jack Connector