In this post I will discuss about the GPS simulation in Proteus. In the previous post I have discussed about the simulation of other commonly used sensors and actuators in Proteus. This post will be oriented around the discussion on the GPS (Global Positioning System) and its simulation in Proteus.
After reading this post the reader will be able to learn about the Global Positioning System (GPS), Global Positioning System module, Arduino interfacing with GPS and the simulation of the Global Positioning System in Proteus. So sit back, keep reading and enjoy learning.
Global Positioning System:
The Global Positioning System is a radio navigation system based on the satellites and that is owned is by the United States of America and operated by the U.S Air Force. The GPS system is the global navigation satellite system that provides the geo-location and time information to the GPS receiver anywhere on or near the earth where there is the unhindered line of sight. GPS signals that are transmitted from the satellite to the GPS receiver are weaken by the mountains and buildings. The GPS system transfers the information about the position of the user and the user cannot transmit any information to the satellite and can only receiver it.
The Global Positioning Satellite is basically the network of thirty satellites that are orbiting around the earth at the distance of 20,000 kilometers. The Global Positioning System can pinpoint your location using the process called Trilateration. The in depth discussion on the GPS is out of the scope of this post however I will discuss it in detail in coming articles. Here I will stick to the GPS module and its simulation in Proteus only.
Here it is important to note that the GPS system now comes integrated in the commonly used gadgets. For example almost every mobile phone is equipped with GPS system nowadays. In addition the wrist watches also come integrated with GPS technology and also the modern cars have GPS systems embedded in them. All of these are intended for navigation. But besides the application of the GPS technology as the navigation system the GPS technology is also used for other purposes as well.
The GPS system can also be used for fault location in the power system. For example if the fault occurs at any location in the power system the exact location of the fault can be pinpoint using the GPS receiver. It should be noted that besides the GPS technology being integrated in the electronics products and gadgets the GPS receiver also comes in the modular form which can add the functionality to your embedded system or prototypes. The GPS module looks like the one in the following image:
Before diving deep into the discussion on the Arduino interfacing with the GPS module let us first have the brief introduction of the GPS module. As learned in the previous section that the GPS module is the modular system that receives the position of the user from the satellite. Let us have the brief introduction of the pinout of the GPS module.
3V3: This terminal gives the output voltage. That is you can provide the power to any component in your system. This terminal gives the regulated and clean output.
GND: This terminal should be connected to the GND terminal of the power supply.
EN: This pin will enable or disable the GPS module. When pulled down this pin will turn off the GPS module.
Vin: This pin is connected to the power supply. You can use voltage from 3V3 to 5 volts.
Vbat: Vbat is an input pin. This terminal of the GPS module is connected to the battery backup.
Tx: This pin is the transmit pin of the GPS module. With the help of this pin the GPS module delivers the data to the microcontroller
Rx: With the help of this pin you can receive the data from the microcontroller to the GPS module.
FIX: This pin is the output pin.
PPS: This pin is the Output pin.
Arduino and GPS simulation in Proteus:
In this section I will discuss about the simulation of the Arduino and GPS system in the Proteus. It is important to mention here that it always beneficial to simulate the behavior of the circuit before actually implementing it. By simulating the behavior of the circuit before actually developing its hardware the designer can look for the glitches in the coding and the error in the circuit. Thus the simulation can save both time and money. It is important here to note that if you want to simulate the behavior of any circuit it is important that the simulation models of all the components that are being used to design the circuit should be present in the library of the software. Of the simulation model of any component is not present in the library of the software the software will be unable to simulate the behavior of the circuit. So it is important that the simulation models of all the components should be available in the library of the Proteus. The simulation model of the GPS module is not present in the library of the Proteus. So before simulating it is important that the simulation model of the GPS should be installed in the library of the Proteus. Let us now see the process step by step. Here I am assuming that you have already downloaded and installed the files containing the simulation models of the GPS module.
First of all place all the components in the workspace of the Proteus as shown in the following image:
Now connect the circuit as shown in the following figure:
The circuit is quite straightforward.
Now attach the simulation model HEX file to the GPS symbol in the workspace of the Proteus as shown in the following below:
The pop up window as shown in the above figure appears by double clicking the symbol of the GPS.
Now write the code of the Arduino and attach the HEX file of the Arduino code to the Arduino in the Proteus as shown in the following figure:
That is all for now. I hope this post would be helpful for you. In the next post I will come up with more interesting applications of the Proteus and more interesting topics of the engineering. Till then stay connected, keep reading and enjoy learning