![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Đệ tử 6 túi
|
2. Cách kết nối phần cứng tối thiểu để GPS hoạt động.
Mình làm việc với UB93 GPS module, vì vậy mình trình bày kết nối phần cứng cho module này. Loại module khác cũng sẽ tương tự.
- Kết nối phần cứng: Xem hình ảnh đính kèm. Chú ý: + Tùy chọn sử dụng loại External hay Internal anten. Tuy nhiên, kinh nghiệm của mình thì Internal anten(nhỏ gọn, sắp xếp đặt được ngay trên mạch PCB được) hoạt động tốt không thua kém gì External(to, dây dài để có thể kéo ra bên ngoài). + Chân 1PPS: chân này được nối qua 1 Led. Ý nghỉa như su: * Led tắt: chưa thu được tín hiệu từ vệ tinh. * Led sáng: đang dò tìm tín hiệu từ vệ tinh * Led chớp tắt: Tín hiệu thu được từ vệ tinh là tốt. Khi kết nối GPS thành công, cứ khoảng 1s, GPS sẽ nhận được tín hiệu từ vệ tinh và khi đó ta chỉ cần quan sát Led này chớp tắt có nghỉa là việc thu tín hiệu đã tốt. + Chân TX0: Chân truyền dữ liệu từ GPS module. Để có thể xử lý data từ GPS module thông qua việc giao tiếp với Microcontroller, ta sẽ dụng chân này. Tuy nhiên, GPS module sử dụng 3.3V, microcontroller thông dụng lại là 5V. Vì vậy việc thêm 2 transistor(xem hình) là cần thiết. Ngõ ra TX_GPS sẽ đuợc nối vào chân RX của microcontroller.
__________________
-------------------------------------------------------------------------------------- Phùng Minh Tuân Email: tuan.phmt@gmail.com "Cuộc đời sóng gió nuôi ta lớn Bao lần thất bại dạy ta khôn". thay đổi nội dung bởi: longtu, 22-12-2011 lúc 10:37 AM. Lý do: Attach hình ảnh. |
|
|
|
|
|
#2 |
|
Đệ tử 6 túi
|
3. Cách tách data cần thiết từ chuỗi data nhận được từ Vệ tinh
Việc kết nối GPS module(chân TX0) với Microcontroller qua chân RX, ta sử dụng ngắt RDA để thực hiện việc lấy chuỗi data cũng như tách lấy dữ liệu cần lấy.
Ví dụ: Chuỗi data cần lấy: $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,1 30694,004.2,W*70 Ghi nhận: *Sau dấu "," thứ nhất: Thông tin thời gian *Sau dấu "," thứ 2: thông tin Latitude *Sau dấu "," thứ 4: thông tin Longitude * .... Code:
char GPSbuffer[70];
char GPRMC[6]={"$GPRMC"};//Nếu muốn lấy chuỗi data ta GPRMC
char Comma_position[13];
int8 check= 0;
/* Find comma in GPS datas -------------*/
Void FindComma()
{
int8 i, counter= 0;
for(i= 0;i<70; i++)
{
if(GPSbuffer[i]== ',' )
Comma_position[counter++]= i;
}
}
/*Received data from GPS module: ------------*/
#INT_RDA
Void Receive_GPSbuffer()
{
char c;
c= getc();
if(check == 69) return;
GPSbuffer[check++]= getc();
if(check<7)
{
if((GPSbuffer[check-1]) != (GPRMC[check-1]))
check= 0;
}
}
Void TimeGPS()//Vi dụ mang tính minh họa lấy thời gian từ GPS module.
{
char i;
i= Comma_position[0]; //ngay sau vị trí dấu , đầu tiên là thông tin THOI GIAN
printf("TIME(HHMMSS): %c%c:%c%c:%c%c\r\n",GPSbuffer[i+1],GPSbuffer[i+2],
GPSbuffer[i+3],GPSbuffer[i+4],
GPSbuffer[i+5],GPSbuffer[i+6]);
delay_ms(10);
}
Void LatitudeGPS()
{
char i;
i= Comma_position[2];
...
}
Vode LongitudeGPS()
{
char i;
i= Comma_position[4];
...
}
Void GetData()
{
FindComma();
TimeGPS();
LatitudeGPS();//*Sau dấu "," thứ 2: thông tin Latitude
LongitudeGPS();//*Sau dấu "," thứ 4: thông tin Longitude
//...
check= 0;//The next get GPS datas.
}
void main()
{
if(check == 69) GetData();
}
__________________
-------------------------------------------------------------------------------------- Phùng Minh Tuân Email: tuan.phmt@gmail.com "Cuộc đời sóng gió nuôi ta lớn Bao lần thất bại dạy ta khôn". thay đổi nội dung bởi: longtu, 22-12-2011 lúc 11:16 AM. |
|
|
|
|
|
#3 |
|
Đệ tử 6 túi
|
Tổng kết:
- Hy vọng qua các bài viết ở trên, các bạn có thể hiểu cách thức làm việc với GPS module. Từ đó tuỳ biến sử dụng cho sản phẩm của mình.
- Nếu có chổ nào chưa thật rõ ràng, các bạn cần thêm thông tin, hãy gửi email cho mình(xem chữ ký).
__________________
-------------------------------------------------------------------------------------- Phùng Minh Tuân Email: tuan.phmt@gmail.com "Cuộc đời sóng gió nuôi ta lớn Bao lần thất bại dạy ta khôn". |
|
|
|
|
|
#4 |
|
Đệ tử 6 túi
|
4. Một số lưu ý khi vẽ PCB
Một số chú ý khi vẽ PCB cho đường RF và các đặt GPS module trên mạch PCB.
__________________
-------------------------------------------------------------------------------------- Phùng Minh Tuân Email: tuan.phmt@gmail.com "Cuộc đời sóng gió nuôi ta lớn Bao lần thất bại dạy ta khôn". |
|
|
|
|
|
#5 | |
|
Đệ tử 1 túi
Tham gia ngày: Oct 2010
Bài gửi: 18
: |
Trích:
|
|
|
|
|
![]() |
|
|