1. Trang chủ
  2. » Tất cả

(Đồ án hcmute) giám sát và cảnh báo hoạt động phương tiện vận tải ô tô

112 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 112
Dung lượng 6,91 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG GIÁM SÁT VÀ CẢNH BÁO HOẠT ĐỘNG PHƯƠNG TIỆN VẬN TẢI Ô TÔ GVHD: NGUYỄN NGÔ LÂM SVTH: ĐỖ VĂN HẢI MSSV: 13141077 SKL 0 Tp Hồ Chí Minh, tháng 07/2018 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: GIÁM SÁT VÀ CẢNH BÁO HOẠT ĐỘNG PHƯƠNG TIỆN VẬN TẢI Ơ TƠ GVHD: Th.S Nguyễn Ngơ Lâm SVTH 1: Đỗ Văn Hải MSSV: 13141077 Tp Hồ Chí Minh – 07/2018 an TĨM TẮT Mục đích đề tài tạo thiết bị hộp đen cho ô tô số phương tiện vận tải khác Giúp người dùng dễ dàng giám sát xe hay tài sản cảnh báo cho người dùng tình trạng xe Nhóm nghiên cứu sử dụng hệ thống mạng di động toàn cầu GSM hệ thống định vị toàn cầu GPS tích hợp sẵn module sim 808 đồng thời kết hợp với số cảm biến như: cảm biến rung, cảm biến gia tốc…Cùng vi xử lý trung board Arduino Uno R3 để xác định xác vị trí xe di chuyển Hệ thống giúp bảo vệ an toàn cho người dùng thiết kệ tự động tắt máy xe có cố ngã hay va đập mạnh cảnh báo cho người xung quanh biết tình trạng xe gặp cố còi hú, đèn xi nhan sáng nhấp nháy,…để kịp thời giúp đỡ Đồng thời giúp người dùng cảnh báo tình trạng xe thơng qua cảm biến tin nhắn gọi điện nhờ hệ thống mạng di động toàn cầu GSM Điểm bật đề tài hệ thống dễ dàng sử dụng cho người dùng Ưu điểm khởi đông hệ thống hệ thống hoạt động tự động Sản phẩm có giá thành vừa phải, có tính ứng dụng cao khơng cho xe tơ mà cịn cho tất phương tiện vận tải khác xiii an MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iv Cam đoan vi Lời cảm ơn vii Mục lục viii Liệt kê hình vẽ x Liệt kê bảng vẽ xii Tóm tắt xiii Chương 1: TỔNG QUAN ĐẶT VẤN ĐỀ MỤC TIÊU NỘI DUNG NGHIÊN CỨU GIỚI HẠN BỐ CỤC Chương 2: CƠ SỞ LÝ THUYẾT 2.1TÌM HIỂU VỀ HỆ THỐNG GPS 2.1.1 Hệ thống định vị toàn cầu (GPS) 2.1.2 Cấu trúc hệ thống định vị toàn cầu GPS 2.1.3 Phương trình chuyển hướng 2.1.4 Thành phần tín hiệu gps 11 2.1.5 Cách thức làm việc hệ thống gps 15 2.2 TÌM HIỂU VỀ HỆ THỐNG MẠNG GSM 19 2.2.1 Mạng thông tin di động toàn cầu (GSM) 19 2.2.2 Cấu trúc mạng điện thoại di động 20 2.2.3 Các Thành Phần Của Mạng Điện Thoại Di Động 22 2.2.4 Một số tập lệnh AT sử dụng cho ứng dụng GSM 24 2.3 CÁC CHUẨN GIAO TIẾP 32 2.3.1 Chuẩn giao tiếp I2C 32 2.3.2 Chuẩn giao tiếp UART 34 2.3.3 Chuẩn NMEA0183 35 2.4 GIỚI THIỆU PHẦN CỨNG 42 viii an 2.4.1 Arduino UNO R3 42 2.4.2 Module SIM808 46 2.4.3 Cảm biến 50 Chương 3: TÍNH TỐN VÀ THIẾT KẾ 52 3.1 GIỚI THIỆU 52 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 52 3.2.1 Thiết kế sơ đồ khối hệ thống 52 3.2.2 Tính tốn thiết kế mạch 55 3.2.3 Sơ đồ nguyên lý toàn mạch 63 Chương 4: THI CÔNG HỆ THỐNG 65 4.1 GIỚI THIỆU 65 4.2 THI CÔNG HỆ THỐNG 65 4.2.1 Thi công bo mạch 65 4.2.2 Lắp ráp kiểm tra 67 4.3 ĐÓNG GÓI 68 4.4 LẬP TRÌNH HỆ THỐNG 69 4.4.1 Lưu đồ giải thuật 69 4.4.2 Phần mềm lập trình cho vi điều khiển 71 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 77 4.5.1 Viết tài liệu hướng dẫn sử dụng 77 4.5.2 Quy trình thao tác 79 Chương 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 80 5.1 KẾT QUẢ QUÁ TRÌNH THỰC HIỆN ĐỀ TÀI 80 5.1.1 Kết cảm biến 80 5.1.2 Kết giám sát cảnh báo 81 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ CHUNG 85 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 87 6.1 KẾT LUẬN 87 6.2 HƯỚNG PHÁT TRIỂN 87 TÀI LIỆU THAM KHẢO xiv PHỤ LỤC xv ix an LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: vệ tinh quay quanh trái đất Hình 2.2: Các thành phần cấu tạo hệ thống GPS Hình 2.3: Mơ hình ba mảng hệ thống định vị tồn cầu Hình 2.4: Phần thiết bị sử dụng dẫn đường GPS Hình 2.5: Trạm mặt đất sử dụng từ 1984-2007 Hình 2.6: Các quỹ đạo vệ tinh hệ thống GPS Hình 2.7: Mơ hình tín hiệu GPS truyền 13 Hình 2.8: Cấu trúc thành phần pha L1 14 Hình 2.9: Cấu trúc thành phần vuông pha L1 14 Hình 2.10: Tính khoảng cách từ thiết bị GPS đến vệ tinh 16 Hình 2.11: Thơng tin liệu 17 Hình 2.12: Lỗi giao thoa tín hiệu GPS 18 Hình 2.13: Mơ hình mạng điện thoại di động 20 Hình 2.14: Băng tần GSM 1800 MHz 21 Hình 2.15: Băng tần GSM 900MHz băng tần GSM 1800MHz 21 Hình 2.16: Mạng điện thoại di động GSM 22 Hình 2.17: IMEI: Số nhận dạng thiết bị di động quốc tế 23 Hình 2.18: Ý nghĩa số SIM 23 Hình 2.19: Ý nghĩa số thuê bao IMSI 24 Hình 2.20: Kết nối thiết bị vào bus I2C chế độ chuẩn (Standard mode) chế độ nhanh (Fast mode) 33 Hình 2.21: Hoạt động ua SDA, SCL truyền nhận liệu 33 Hình 2.22: Kết nối UART 34 Hình 2.23: Khung truyền giao tiếp UART 34 Hình 2.24: Hình mặt trước board Arduino UNO 43 Hình 2.25: Sơ đồ thành phần Arduino UNO R3 44 Hình 2.26: Module SIM808 hãng mlab 46 Hình 2.27: cảm biến rung 50 Hình 2.28: Cảm biến gia tốc MPU-6050 51 Hình 3.1: Sơ đồ khối hệ thống 53 Hình 3.2: Khối xử lý trung tâm 56 Hình 3.3: Khối SIM808 kết nối với Arduino 57 x an Hình 3.4: Khối cảm biến rung kết nối với Arduino 58 Hình 3.5: Khối cảm biến gia tốc kết nối với Arduino 59 Hình 3.6: Khối led kết nối với arduino 60 Hình 3.7: Khối Switch kết nối với Arduino 60 Hình 3.8: Khối chng báo kết nối với Arduino 61 Hình 3.9: Smartphone 61 Hình 3.10: Adapter 12V-2A 62 Hình 3.11: Sơ đồ nguyên lý toàn mạch 63 Hình: 4.1 Mạch in thiết kế Altium Designer 65 Hình 4.2: Sơ đồ bố trí linh kiện 66 Hình 4.3: Mạch in sau thi cơng 67 Hình 4.4: Góc nhìn 3D sơ đồ bố trí linh kiện Altium Designer 67 Hình 4.5: Mạch thực tế sau ráp linh kiện 68 Hình 4.6: Mạch sau đóng gói 68 Hình 4.7: Lưu đồ giải thuật hệ thống 69 Hình 4.8: Chương trình xe bị rung kiểm tra gọi đến 70 Hình: 4.9: giao diện phần mềm arduino IDE 72 Hình 4.10: Lưu đồ miêu tả lại trình bước vận hành thiết bị 79 Hình 5.1: Kết cảm biến rung hoạt động monitor 80 Hình 5.2: Kết cảm biến gia tốc liên tục đọc giá trị monitor 81 Hình 5.3: Thiết bị giám sát vị trí qua tin nhắn có gọi đến 82 Hình 5.4: Vị trí thiết bị vị trí Smartphone google map 83 Hình 5.5: Thiết bị cảnh báo bị rung qua tin nhắn 84 Hình 5.6: Thiết bị ngắt hoạt động xe sáng đèn xi-nhan bị ngã 85 xi an LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: Lệnh AT Command thiết lập cài đặt gọi 24 Bảng 2.2: Lệnh AT Command thiết lập cài đặt cho tin nhắn SMS 25 Bảng 2.3: Lệnh AT dành cho tin nhắn SMS 26 Bảng 2.4: Các lệnh AT Command đặc biệt cho SIM808C 29 Bảng 2.5: Chi tiết lệnh AT dành cho SIM808C 30 Bảng 2.6: Danh sách dạng liệu đầu 36 Bảng 2.7:Giao thức GGA 37 Bảng 2.8: Định dạng vị trí 38 Bảng 2.9 Giao thức GLL 38 Bảng 2.10: Giao thức GSA 39 Bảng 2.11: Giao thức GSV 40 Bảng 2.12: Giao thức RMC 41 Bảng 2.13: Giao thức VTG 42 Bảng 2.14: Thông số kỹ thuật Arduino UNO 45 Bảng 2.15: Chức chân SIM808 46 Bảng 5.1: Kết thống kê thông số kinh độ thiết bị phần mềm Google maps 85 Bảng 5.2: Kết thống kê thông số kinh độ thiết bị phần mềm Google maps 86 xii an CHƯƠNG 1: TỔNG QUAN Chương 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Quá trình phát triển kinh tế, cơng nghiệp hóa, đại hóa tiền đề cho q trình thị hóa Nhu cầu di chuyển (nhu cầu giao thơng) ln tăng theo q trình phát triển kinh tế - xã hội Chính nay, số lượng phương tiện tham gia giao thông ngày nhiều đa dạng xe gắn máy, ô tô, xe tải, xe buýt, Điều gây nhiều vấn đề ùn tắc tai nạn giao thơng Do gây khó khăn việc cảnh báo rủi ro xảy cho phương tiện người điều khiển xe Vì việc quản lý giám sát tình trạng phương tiện giao thơng trở nên quan trọng cần thiết người dùng Theo thơng tin cập nhật, phủ nghị định số 86/2014/NĐCP ban hành ngày 10/9/2014 thay cho nghị định 91/2009/NĐ-CP nghị định 93/2012/NĐ-CP Nghị định 86/2014 thay đổi bổ sung thêm số điều khoản việc lắp đặt thiết bị giám sát hành trình bắt buộc xe kinh doanh vận tải, nghị định có hiệu lực thi hành kể từ ngày 01/12/2014 quy định quản lý phương tiện vận tải, yêu cầu tất phương tiện vận tải phải lắp đặt hộp đen theo tiêu chuẩn Bộ Giao thông vận tải trước ngày 01 tháng năm 2018 áp dụng cho xe ô tơ kinh doanh vận tải hàng hóa có trọng tải thiết kế 3,5 Nhưng để quản lý hộp đen cách tiện dụng dễ dàng cần thiết bị giám sát cảnh báo kịp thời Xuất phát từ nhu cầu thực tế mà nhóm đưa định chọn đề tài: “Giám sát cảnh báo hoạt động phương tiện vận tải ô tô” để tiến hành nghiên cứu thực Ở đề tài này, nhóm đồ án thiết kế thiết bị có gắn định vị GPS cảm biến để lắp đặt phương tiện vận tải ô tô nhằm gửi thông số như: giám sát vị trí, cảnh báo rung xe, cảnh báo ngã xe smartphone Khi đó, Smartphone giám sát vị trí thiết bị google map đồng thời thấy cảnh báo ngã xe rung xe qua tin nhắn, gọi cách kịp thời 1.2 MỤC TIÊU Thiết kế thi công mạch giám sát hoạt động phương tiện vận tải ô tơ cảnh báo cho người dùng Lập trình Arduino để giám sát thiết bị thơng qua Smarphone BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an CHƯƠNG 1: TỔNG QUAN Ứng dụng tập lệnh Module SIM808 để gửi thông tin giám sát cảnh báo Smartphone 1.3 NỘI DUNG NGHIÊN CỨU Quá trình làm việc nhóm nghiên cứu thực qua bước sau:  Cài đặt phần mềm Altium để vẽ mạch phần mềm Arduino IDE để lập trình xử lý  Nghiên cứu GPS GSM  Nghiên cứu Arduino UNO R3 module SIM 808  Thiết kế, thi cơng mơ hình phần cứng  Lập trình giao tiếp Arduino với SIM808 GPS  Lập trình Arduino để giám sát thiết bị cảnh báo cho người dùng qua Smartphone  Lắp ráp khối vào mơ hình  Chạy thử nghiệm hệ thống giám sát cảnh báo phương tiện vận tải ô tô  Cân chỉnh hệ thống  Viết báo cáo đồ án tốt nghiệp  Báo cáo đề tài tốt nghiệp 1.4 GIỚI HẠN  Định vị vị trí ô tô đồ sai lệnh so với thực tế mức chấp nhận  Tốc độ cập nhật vị trí thơng số xe tơ tùy theo chất lượng sóng nhà mạng mà Smartphone sử dụng  Thiết kế thi công hệ thống giám sát cảnh báo phương tiện vận tải ô tô cách thi công mô hình 1.5 BỐ CỤC Chương 1: Tổng Quan Đặt vấn đề liên quan đến đề tài, tìm hiểu lý cần thiết để thực đề tài, mục tiêu hoàn thành, giới hạn bước từ đến cụ thể mà nhóm thực trình nghiên cứu đề tài Chương 2: Cơ Sở Lý Thuyết BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC PHỤ LỤC Chương trình kiểm tra nút nhấn chống trộm void kt_nut() { byte button3 = digitalRead(chong_trom); if (button3 == LOW) { chongtrom = 0; digitalWrite(led_gps, HIGH); rung_ok = 0; } else { chongtrom = 1; digitalWrite(led_gps, LOW); } } Chương trình bị rung void rung() { int value = analogRead(A0); Serial.println(value); delay(20); if (value < 900) { digitalWrite(coi, HIGH); delay(4000); digitalWrite(coi, LOW); char data_to_send_sms[160]; sprintf(data_to_send_sms, " XE BAN DANG BI RUNG"); SendSMS(phone_number_to_send, data_to_send_sms); Serial.println("send_ok_ok"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xv PHỤ LỤC delay(3000); } } Chương trình thiết lập đọc giá trị cảm biến gia tốc MPU-6050 void mpu() { Wire.beginTransmission(MPU_addr); Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H) Wire.endTransmission(false); Wire.requestFrom(MPU_addr, 14, true); // request a total of 14 registers AcX = Wire.read() 0) { Serial.println(respond); if (strcmp(respond, "\r\nOK\r\n") != 0) { digitalWrite (led_xinhan, HIGH); delay (3000); digitalWrite (led_xinhan, LOW); return false; } } } delay (2000); return false; } Chương trình thiết lập kết nối Arduino module SIM void ModemInit(void) { static bool is_modem_init_ok = false; int status_pin_level = 0; // to detect modem has been turn-on // Turnon modem: try_on: status_pin_level = analogRead(STATUS_PIN); if (status_pin_level < 500) // Check module on ? if not turn-off { is_modem_init_ok = false; Serial.write("No Sim808"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xxii PHỤ LỤC digitalWrite(PWK_PIN, HIGH); delay(2000); digitalWrite(PWK_PIN, LOW); delay(2000); goto try_on; // We try turn-on until module SIM ready too use } if (is_modem_init_ok == false) { Serial.write("Initting "); modemSerial.write("ATE0\r"); if (readSerialFrame(respond) > 0) { if (strcmp(respond, "\r\nOK\r\n") != 0) { goto try_on; } } else { goto try_on; } modemSerial.write("AT+CMGF=1\r"); if (readSerialFrame(respond) > 0) { if (strcmp(respond, "\r\nOK\r\n") != 0) { goto try_on; } } else { goto try_on; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xxiii PHỤ LỤC modemSerial.write("AT+CGNSPWR=1\r"); if (readSerialFrame(respond) > 0) { if (strcmp(respond, "\r\nOK\r\n") != 0) { goto try_on; } } else { goto try_on; } modemSerial.write("AT+CGNSSEQ=\"RMC\"\r"); if (readSerialFrame(respond) > 0) { if (strcmp(respond, "\r\nOK\r\n") != 0) { goto try_on; } } else { goto try_on; } modemSerial.write("AT+CMGF=1\r"); if (readSerialFrame(respond) > 0) { if (strcmp(respond, "\r\nOK\r\n") != 0) { goto try_on; } } else BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xxiv PHỤ LỤC { goto try_on; } modemSerial.write("AT+CNMI=2,2,0,0,0\r"); if (readSerialFrame(respond) > 0) { if (strcmp(respond, "\r\nOK\r\n") != 0) { goto try_on; } } else { goto try_on; } modemSerial.write("AT+CMGDA=DEL ALL\r"); if (readSerialFrame(respond) > 0) { if (strcmp(respond, "\r\nOK\r\n") != 0) { goto try_on; } } else { goto try_on; } is_modem_init_ok = true; Serial.write("Initted"); delay(2000); kt_ok = 1; } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xxv PHỤ LỤC int readSerialFrame(char result[]) { int i = 0; unsigned long currentMillis, previousMillis; previousMillis = millis(); currentMillis = previousMillis; while (1) { if (currentMillis - previousMillis >= 100) { return i; } else { if (modemSerial.available() > 0) { previousMillis = currentMillis; char inChar = modemSerial.read(); result[i] = inChar; i++; result[i] = 0; } } currentMillis = millis(); } } static int GetMessageFeilds(unsigned char **message_feildls, unsigned char *msg, unsigned char separate_char, int max_feild_get) { int count_feild = 0; *message_feildls = msg; message_feildls++; count_feild++; while (*msg != '\0') { if (*msg == separate_char) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xxvi PHỤ LỤC { *msg = '\0'; *message_feildls = msg + 1; message_feildls++; count_feild++; if (count_feild >= max_feild_get) return count_feild; } msg++; } return count_feild; } static void NMEA_GPRMC_Decoder(GPS_T *gps_data, char *data_bytes) { //Get data char *message_field[13]; if (GetMessageFeilds(message_field, data_bytes, ',', 13) == 13) { Serial.write(message_field[GPS_FSTS]); Serial.write(message_field[GPS_SPEED]); Serial.write(message_field[GPS_ORG]); Serial.write(message_field[GPS_LON]); Serial.write(message_field[GPS_TIME]); if (strcmp(message_field[GPS_FSTS], "1") == 0) { gps_data->State_gps = true; gps_data->State_gps = true; gps_data->SpeedGPS = atof(message_field[GPS_SPEED]); gps_data->OrGPS = atof(message_field[GPS_ORG]); gps_data->Lat = atof(message_field[GPS_LAT]); gps_data->Lng = atof(message_field[GPS_LON]); } else BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xxvii PHỤ LỤC { gps_data->State_gps = false; gps_data->Lat = 0; gps_data->Lng = 0; gps_data->SpeedGPS = 0; } gps_data->time_gps.time.sec = message_field[GPS_TIME][13] - '0' + 10 * (message_field[GPS_TIME][12] - '0'); gps_data->time_gps.time.minute = message_field[GPS_TIME][11] - '0' + 10 * (message_field[GPS_TIME][10] - '0'); gps_data->time_gps.time.hour = message_field[GPS_TIME][9] - '0' + 10 * (message_field[GPS_TIME][8] - '0'); gps_data->time_gps.time.date = message_field[GPS_TIME][7] - '0' + 10 * (message_field[GPS_TIME][6] - '0'); gps_data->time_gps.time.month = message_field[GPS_TIME][5] - '0' + 10 * (message_field[GPS_TIME][4] - '0'); gps_data->time_gps.time.year = message_field[GPS_TIME][3] - '0' + 10 * (message_field[GPS_TIME][2] - '0') + 100 * (message_field[GPS_TIME][1] - '0') + 1000 * (message_field[GPS_TIME][0] - '0'); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an xxviii S an K L 0 ... ? ?Giám sát cảnh báo hoạt động phương tiện vận tải ô tô? ?? để tiến hành nghiên cứu thực Ở đề tài này, nhóm đồ án thiết kế thiết bị có gắn định vị GPS cảm biến để lắp đặt phương tiện vận tải ô tô. .. Arduino để giám sát thiết bị cảnh báo cho người dùng qua Smartphone  Lắp ráp khối vào mơ hình  Chạy thử nghiệm hệ thống giám sát cảnh báo phương tiện vận tải ô tô  Cân chỉnh hệ thống  Viết báo cáo... TIÊU Thiết kế thi công mạch giám sát hoạt động phương tiện vận tải ô tơ cảnh báo cho người dùng Lập trình Arduino để giám sát thiết bị thơng qua Smarphone BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

Ngày đăng: 02/02/2023, 09:10