My Bachelor Thesis Project presents the details of designing a microcontroller based positioning system, which has to be able to display the actual coordinates and log them in order to display the roamed path on PC. I used SD card to store the coordinates for this feature. My task was to realize the device too.
The first step of my work was to concretize the requirements, in other words, to create the specification.
Based upon the specification, I had to select, and get acquainted with all the components which were needed to accomplish the task. In this semester I used a new circuit designer software, which I had never before, so first of all I needed to get acquainted with it as well. After that I had created the schematic, I designed the layout, from which I generated all the Gerber files, which were necessary for the fabrication of the PCB.
After I received the PCB, I soldered up all my components on it. Thereafter I checked everything very accurately, I found some mistakes, which had to be corrected.
After I had corrected these mistakes, I had to get acquainted with the main modules (Microcontroller,GPS module, LCD module) from programming aspect, which were necessary to accomplish the task. After that I had to write the basic program modules of these components.
Thereafter I had to manage the storage of the GPS datas on the SD card in the right format in order to visualize them on some kind of map on PC. The SD cards commonly use FAT file system. It would have be a hard task to write the FAT manager modules by own, so I looked for a function library which does that. To save flash memory space I had to optimize it to my task, and to my microcontroller. After that I writed the low level disk IO routines, which serve the written, higher level application interface functions.
In the last step of the designing, I systematized the written modules, I bulit up the menu, so I wrote the main. Because of the time was limited, I couldn’t utilize every possibility in the software, which are provided by the hardware, instead I made a lot of tests. The results of these tests is that the device is functionally okay, so I reached the initial goals.