MÔ HÌNH BIỂN THÔNG báo TRẠNG THÁI XE BUS tại các TRẠM sử DỤNG GPS dùng pic16f877a (có code và sơ đồ mạch bên dưới) MÔ HÌNH BIỂN THÔNG báo TRẠNG THÁI XE BUS tại các TRẠM sử DỤNG GPS dùng pic16f877a (có code và sơ đồ mạch bên dưới) MÔ HÌNH BIỂN THÔNG báo TRẠNG THÁI XE BUS tại các TRẠM sử DỤNG GPS dùng pic16f877a (có code và sơ đồ mạch bên dưới) MÔ HÌNH BIỂN THÔNG báo TRẠNG THÁI XE BUS tại các TRẠM sử DỤNG GPS dùng pic16f877a (có code và sơ đồ mạch bên dưới) MÔ HÌNH BIỂN THÔNG báo TRẠNG THÁI XE BUS tại các TRẠM sử DỤNG GPS dùng pic16f877a (có code và sơ đồ mạch bên dưới)
Trang 1MÔ HÌNH BIỂN THÔNG BÁO TRẠNG THÁI XE BUS TẠI CÁC TRẠM SỬ
DỤNG GPS
Trang 2DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX
CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1
1.1 MỤC ĐÍCH, Ý NGHĨA 1
1.2 NỘI DUNG 1
1.3 PHƯƠNG PHÁP 1
CHƯƠNG 2 THIẾT KẾ PHẦN CỨNG 3
2.1 SƠ ĐỒ KHỐI CHỨC NĂNG 3
2.2 KHỐI NGUỒN 4
2.3 KHỐI VI ĐIỀU KHIỂN 5
2.4 KHỐI GIAO TIẾP GPS 7
2.5 KHỐI GIAO TIẾP SIM 7
2.6 KHỐI HIỂN THỊ 9
CHƯƠNG 3 KẾT QUẢ MÔ PHỎNG 10
3.1 THIẾT KẾ MẠCH NGUYÊN LÝ 10
3.2 THIẾT KẾ MẠCH IN 11
3.3 THI CÔNG PHẦN CỨNG 12
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 13
4.1 KẾT LUẬN 13
4.2 HƯỚNG PHÁT TRIỂN 14
TÀI LIỆU THAM KHẢO 15 PHỤ LỤC A 16
Trang 3HÌNH 2.2: SƠ ĐỒ NGUYÊN LÝ CỦA MODULE LM2596 4
HÌNH 2.3: HÌNH ẢNH THỰC TẾ CỦA MODULE LM2596.[2] 5
HÌNH 2.4: SƠ ĐỒ CHÂN CỦA PIC16F887.[2] 6
HÌNH 2.5: HÌNH ẢNH THỰC TẾ CỦA PIC16F887.[4] 8
HÌNH 2-6: HÌNH ẢNH THẬT TẾ VÀ SƠ ĐỒ CHÂN CỦA MODULE SIM808 [3] 9 HÌNH 2-7: HÌNH ẢNH THỰC TẾ MODULE SIM900A [4] 10
HÌNH 2-8: HÌNH ẢNH THỰC TẾ VÀ SƠ ĐỒ CHÂN LCD [5] 11
HÌNH 3.1: MẠCH NGUYÊN LÝ 12
HÌNH 3.2: MẠCH IN SAU KHI THIẾT KẾ 13
HÌNH 3.2: MẶT SAU CỦA PHẦN CỨNG SAU KHI THI CÔNG 14
HÌNH 3.3: MẶT TRƯỚC CỦA PHẦN CỨNG 14
Trang 4BẢNG 1.2: THÔNG SỐ KĨ THUẬT CỦA PIC 6 BẢNG 1.3: THÔNG SỐ KĨ THUẬT CỦA MODULE SIM808 7 BẢNG 1-4: THÔNG SỐ KĨ THUẬT CỦA MODULE SIM900A 8
Trang 5GPS Global Positioning System
PIC Peripheral Interface Controller
PCB Printed Circuit Board
SIM Subscriber Identity Module
Trang 6CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI
1.2 Nội dung
Trên các tuyến xe bus, ta sẽ đặt một GPS với nhiệm vụ là gửi tin nhắn thông báotọa độ cho trạm Sau đó trạm sẽ nhận tọa độ và tính toán thời gian dự kiến xe bus tớitrạm Trạm sẽ hiển thi thông báo thời gian chờ dự kiến lên bảng thông báo
1.3 Phương pháp
Trên tuyến xe bus, ta sẽ sử dụng Module SIM808 để gửi thông tin tọa độ về cho PIC16F887 Sau khi nhận chuỗi tọa độ từ Module SIM808, PIC16F887 sẽ xử lý và gửi tin nhắn về trạm Tại trạm, ta sẽ sử dụng Module SIM900 Module SIM900A sẽnhận chuỗi tọa độ gửi thông số cho PIC16F887 xử lý số liệu tính ra khoảng cách Khi có được khoảng cách, PIC16F887 sẽ chia khoảng cách ấy với vận tốc trung bình của xe bus để có được thời gian dự kiến và xuất ra màn hình LCD để thông báo thời gian chờ dự kiến
Để thiết kế phần cứng, ta sẽ sử dụng phần mềm ALTIUM DESIGNER Phần mềm thiết kế mạch tự động AlTIUM DESIGNER là môi trường thiết kế mạch điện
tử đồng nhất, tích hợp nhiều chức năng bao gồm thiết kế mạch nguyên lý, mạch in PCB, lập trình hệ thống nhúng và FPGA
ALTIUM DESIGNER có thư viện đa dạng bao gồm cả 2D và 3D, người dùng
có thể thiết kế và vẽ mạch in một cách dễ dàng Phần mềm ALTIUM DESIGNER
Trang 7còn có thể sử dụng nhiều phím tắt để vẽ thiết kế nguyên lý và mạch in nhanh chóng.
Để lập trình cho vi điều khiển PIC16F887, ta sử dụng phần mềm CCS C
COMPILER CCS là trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC của hãng Microchip
Cũng như các trình biên dịch C khác cho PIC, CCS giúp người dùng nắm bắt nhanh những ứng dụng cũng như là dễ dàng sử dụng Cùng với đó, tài liệu hướng dẫn của CCS và có sẵn một bản chi tiết Help giúp người dùng có thể dễ dàng lập trình Tab Communication của CCS còn liệt kê hết tất cả kết nối mà một con PIC hỗtrợ như giao tiếp RS232, giao tiếp I2C…
Trang 8CHƯƠNG 2 THIẾT KẾ PHẦN CỨNG
1.4 Sơ đồ khối chức năng
Hình 2.1: Sơ đồ khối chức năng.
Nguyên lý hoạt động: khi khối nguồn 5VDC được cấp vào cho khối giao tiếp GPS GPS sẽ nhận tín hiệu từ vệ tinh GPS sẽ gửi thông tin tọa độ nhận được về chokhối vi điều khiển xử lý Vi điều khiển sau khi xử lý xong sẽ gửi lại cho khối giao tiếp GPS và gửi tin nhắn cho khối giao tiếp SIM Khối giao tiếp SIM sẽ gửi thông tin nhận được về cho khối vi điều khiển Khối vi điều khiển sẽ xử lý những thông tín đó và tính toán ra thời gian Sau khi tính toán thời gian, khối vi điều khiển sẽ xuất ra khối hiển thị
1.5 Khối nguồn
Khối nguồn ta sẽ sử dụng module LM2596 Module lm2596 là mạch giảm áp
DC LM2596 3A Mạch giảm áp DC có khả năng giảm áp từ 30V xuống còn 1.5V
KHỐI NGUỒN5VDC
VI ĐIỀUKHIỂN
VI ĐIỀU
KHIỂN
KHỐI GIAOTIẾP GPS
GIAO TIẾPSIM
THỊ
Trang 9mà vẫn đạt được hiệu suất cao Module LM2596 được sử dụng nhiều trong các ứng dụng chia nguồn, hạ áp, cấp nguồn cho các thiết bị như camera, motor, robot…
Hình 2.2: Sơ đồ nguyên lý của module LM2596
Hình 2.3: Hình ảnh thực tế của module LM2596.[2]
Thông số kĩ thuật của LM2596:
Trang 10Công suất 15W
Bảng 1.1: Thông số kĩ thuật của LM2696.
1.6 Khối vi điều khiển
Hiện nay, ngoài thị trường có rất nhiều vi điều khiển như 8051, AVR, ARM Nhưng sử dụng rộng rãi nhất là họ vi điều khiển PIC Vi điều khiển PIC có thể dễ dàng mua tại thị trường Việt Nam, giá thành lại không quá đắt, có đầy đủ các chức năng…
Kí hiệu vi điều khiển PIC:
- PIC12xxxx: độ dài lệnh 12 bit
- PIC16xxxx: độ dài lệnh 16 bit
- PIC18xxxx: độ dài lệnh 18 bit
Trang 11Hình 2.4: Sơ đồ chân của PIC16F887.[2]
Trang 12Bảng 1.2: Thông số kĩ thuật của PIC
Trang 131.7 Khối giao tiếp GPS.
Module SIM808 là mạch tích hợp nguồn xung và IC đệm với đầy đủ những tính năng GSM/GPRS/GPS Module SIM808 là bản nâng cấp của mạch Module
SIM908 cũ
Hình 2-6: Hình ảnh thật tế và sơ đồ chân của Module SIM808 [3]
Bảng 1.3: Thông số kĩ thuật của Module SIM808
1.8 Khối giao tiếp SIM
Mạch GSM, GPRS Sim900A mini V2 được thiết kế nhỏ gọn, chi phí thấp nhưng
có khả năng hoạt động tốt Mạch được thiết kế ra các chân cơ bản của SIM900A, cótích hợp khe SIM và ăng-ten GSM với khả năng bắt song ổn định
Trang 15Hình 2-8: Hình ảnh thực tế và sơ đồ chân LCD [5]
7-14 DB0-DB7 8 đường của bus để trao đổi dữ liệu với VĐK
CHƯƠNG 3 KẾT QUẢ MÔ PHỎNG
1.10 Thiết kế mạch nguyên lý
Trang 16Hình 3.1: Mạch nguyên lý
Khi cấp nguồn 5Vdc cho Module SIM808, Module SIM808 sẽ gửi tín hiệu về cho PIC16F887 PIC16F887 sẽ xử lý để tách chuỗi tọa độ của xe bus, và gửi tọa độ đó đến trạm thông qua GSM của Module SIM808
Ở trạm kế tiếp, khi Module SIM900A nhận được tin nhắn gửi chuỗi tọa độ về Module SIM900A sẽ gửi tín hiệu về cho PIC16F887 xử lý PIC16F887 sẽ xử lý tọa
độ và tính toán ra được khoảng cách từ xe bus tới trạm Từ khoảng cách đó và vận tốc trung bình của xe bus, PIC16F887 sẽ tính ra được khoảng thời gian dự kiến xe bus tới trạm và hiển thị lên LCD
1.11 Thiết kế mạch in
Trang 17Hình 3.2: Mạch in sau khi thiết kế
1.12 Thi công phần cứng
Hình 3.2: Mặt sau của phần cứng sau khi thi công
Trang 18Sau khi thực hiện xong, mạch mô hình biển thông báo trạng thái xe bus ở các trạm
xe sử dụng GPS đã đạt được những mục tiêu như sau:
- Lấy được tọa độ của xe bus để gửi về cho trạm xử lý
- Đưa ra được thời gian chờ dự kiến và hiển thị lên LCD để thông báo
- Mạch thiết kế tương đối nhỏ gọn, dễ sử dụng
- Giá thành rẻ, chi phí không quá cao
Tuy nhiên, còn một số hạn chế như:
- Không thể lấy chính xác vận tốc của xe bus
- GPS lấy tọa độ và PIC xử lý không nhanh
- GPS còn nhiều sai số
- Tốn nhiều tài nguyên gửi tin nhắn
Trang 201.14 Hướng phát triển
Mô hình biển thông báo trạng thái xe bus tại các trạm xe bus sử dụng GPS có nhiều hướng phát triển:
- Thiết kế một app di động để tiện theo dõi
- Thiết kế mạch nhiều lớp để thu gọn mạch hơn nữa
- Đưa ra tọa độ nhanh hơn và xử lý để lấy số liệu nhanh hơn
- Khắc phục sai số để đưa ra thông số chính xác hơn
Trang 21TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] http://hshop.vn
[2] https://vi.wikipedia.org
[3] http://banlinhkien.vn/
Trang 22#define LCD_ENABLE_PIN PIN_B5
#define LCD_RS_PIN PIN_B7
#define LCD_RW_PIN PIN_B6
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B3
#define LCD_DATA6 PIN_B2
#define LCD_DATA7 PIN_B1
#include "lcd.c"
int count=0, count1=0;
char data[]="000.000000,000.000000";//Khai báo mảng lưu tọa độ
int1 done=0;
const char GPS_RC[]="+UGNSINF:";//khai báo mãng chứa chuỗi tọa độ của GPSint count5=0;
int1 F_GPS_RC=0;
Trang 23const char KTTD[]="Kiem tra toa do";
Trang 29fprintf (UART, "\n\rAT+CMGS=%s\r",sdt);
delay_ms (500) ;//cho sim san sang nhan tn
fprintf (UART, "https://maps.google.com/maps?q=%s",data) fputc (0x1A, UART) ;
Trang 30GTD=0;
}
}
}