Giới thiệu dự án
Theo thống kê từ Ủy ban An toàn Giao thông Quốc gia và các nghiên cứu giao thông đô thị, Việt Nam hiện có hơn 45 triệu môtô, xe máy đang lưu hành, chiếm khoảng 85% phương tiện giao thông chính của người dân. Đi kèm với mật độ lưu thông dày đặc là tỷ lệ tai nạn giao thông liên quan đến xe hai bánh luôn chiếm trên 70% tổng số vụ tai nạn đường bộ. Thực tế lâm sàng cho thấy, "thời gian vàng" (Golden Hour) trong cấp cứu chấn thương giao thông đóng vai trò sống còn; sự chậm trễ trong việc phát hiện và cấp cứu là nguyên nhân hàng đầu dẫn đến tử vong hoặc thương tật vĩnh viễn. Bên cạnh đó, tình trạng trộm cắp và cướp giật phương tiện cơ giới diễn biến phức tạp, đặt ra bài toán cấp thiết về một giải pháp bảo vệ toàn diện cả về tính mạng lẫn tài sản cho người điều khiển xe máy.
Vấn đề thực tế và điểm nghẽn kỹ thuật (Problem Statement)
Các giải pháp an toàn và bảo mật cho xe máy hiện nay trên thị trường tồn tại nhiều hạn chế:
- Thiếu cơ chế cảnh báo tai nạn tự động: Hầu hết các thiết bị định vị thương mại chỉ phục vụ mục đích chống trộm hoặc quản lý đội xe, hoàn toàn thiếu cảm biến nhận diện va chạm và thuật toán phân tích tai nạn thông minh.
- Tỷ lệ báo động giả (False Alarm) cao: Các hệ thống cảnh báo va chạm thô sơ thường nhầm lẫn giữa việc phanh gấp, đi qua gờ giảm tốc, dừng đèn đỏ hoặc ngã xe khi đang dựng chân chống với các vụ tai nạn thực sự.
- Cơ chế chống cướp thụ động: Các khóa chống trộm truyền thống chỉ phát huy tác dụng khi xe đã tắt máy, không thể xử lý tình huống người điều khiển bị cướp xe khi đang lưu thông trên đường vắng.
- Chi phí đắt đỏ và tính phân mảnh: Các thiết bị chuyên dụng nhập khẩu có giá thành vượt quá khả năng chi trả của người lao động phổ thông, đồng thời không tối ưu cho hệ thống điện trên các dòng xe máy phổ thông tại Việt Nam.
Mục tiêu của đồ án
Đề tài "Thiết kế và thi công hệ thống phát hiện tai nạn, định vị và bảo mật cho xe máy" giải quyết triệt để các bài toán trên thông qua 4 mục tiêu cụ thể:
- Thiết kế và gia công phần cứng nhúng tích hợp đa module (xử lý trung tâm, cảm biến quán tính, truyền thông GSM/GPS, Bluetooth năng lượng thấp) hoạt động ổn định trên nguồn điện xe máy.
- Xây dựng thuật toán lọc số Kalman và mô hình máy trạng thái hữu hạn (FSM - Finite State Machine) nhằm nhận diện chính xác trạng thái tai nạn, triệt tiêu báo động giả.
- Tự động thu thập tọa độ địa lý qua GPS và phát bản tin khẩn cấp (Emergency SMS) chứa siêu liên kết Google Maps tới số điện thoại cứu hộ khi phát hiện va chạm.
- Xây dựng ứng dụng di động Android giao tiếp qua Bluetooth Low Energy (BLE) hỗ trợ xác thực mật khẩu hai lớp và tự động ngắt động cơ từ xa qua Relay khi phát hiện mất kết nối do bị cướp (khoảng cách 5–10m).
Giải pháp và kết quả kỳ vọng
Giải pháp tiếp cận là xây dựng một hệ thống nhúng tập trung xoay quanh vi điều khiển ATmega2560, giao tiếp I2C tốc độ cao với cảm biến 6 trục MPU6050 để trích xuất gia tốc và góc nghiêng. Dữ liệu sau khi qua bộ lọc Kalman sẽ được nạp vào mô hình FSM 6 trạng thái để đưa ra quyết định đóng/ngắt rơ-le đánh lửa và kích hoạt module SIM808 gửi cảnh báo.
+-------------------------------------------------------------------------+
| CHỈ SỐ ĐO LƯỜNG KỲ VỌNG |
+------------------------------------+------------------------------------+
| Thời gian phát hiện tai nạn | <= 3.0 giây |
| Thời gian gửi SMS chứa tọa độ GPS | <= 10.0 giây |
| Bán kính ngắt động cơ chống cướp | 5.0 - 10.0 mét (tín hiệu BLE RSSI) |
| Sai số định vị toàn cầu (GPS) | <= 2.5 mét (điều kiện trời quang) |
| Tỷ lệ lọc nhiễu dao động giả | >= 95% |
+------------------------------------+------------------------------------+
Phạm vi và giới hạn
- Phạm vi: Ứng dụng trên các dòng xe máy sử dụng hệ thống điện 12V DC; hỗ trợ smartphone chạy hệ điều hành Android; truyền thông SMS qua mạng di động 2G/GSM; định vị vệ tinh GPS ngoài trời.
- Giới hạn: Module GPS phụ thuộc vào tầm nhìn thẳng (Line-of-Sight) tới vệ tinh, giảm độ chính xác trong hầm hoặc nhà cao tầng; chức năng gửi SMS phụ thuộc vào vùng phủ sóng của nhà mạng viễn thông.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Hiện nay trên thị trường có một số dòng sản phẩm định vị và chống trộm xe máy, tuy nhiên mỗi giải pháp đều bộc lộ những nhược điểm riêng:
| Tiêu chí |
Khóa Smartkey OEM (Honda/Yamaha) |
PiTech Fox Smartkey |
iKY Bike RFID |
Hệ thống đề xuất (Đồ án) |
| Công nghệ cốt lõi |
RFID / FOB 125kHz |
Bluetooth 4.0 / App |
RFID thẻ từ |
BLE 4.0 + FSM IMU + GSM/GPS |
| Phát hiện tai nạn |
Không hỗ trợ |
Không hỗ trợ |
Không hỗ trợ |
Có (MPU6050 + Kalman Filter) |
| Gửi tọa độ khẩn cấp |
Không hỗ trợ |
Không hỗ trợ |
Không hỗ trợ |
Có (SIM808 + Google Maps SMS) |
| Chống cướp chủ động |
Giới hạn vùng phát sóng |
Tự khóa khi xa remote |
Không hỗ trợ |
Tự ngắt relay khi mất BLE 5-10m |
| Khả năng cập nhật vị trí |
Không hỗ trợ |
Qua Bluetooth cộng đồng |
Không hỗ trợ |
Trực tiếp qua GPS NEO-6M |
| Giá thành ước tính |
3.000.000 – 5.000.000 VNĐ |
1.800.000 – 2.500.000 VNĐ |
600.000 – 1.000.000 VNĐ |
< 1.000.000 VNĐ (BOM phần cứng) |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW
- Must have (Bắt buộc phải có):
- Đọc dữ liệu gia tốc và góc nghiêng từ cảm biến quán tính qua bus I2C.
- Phân loại trạng thái ngã xe thông qua thuật toán máy trạng thái (FSM).
- Gửi SMS tọa độ GPS chính xác khi xảy ra tai nạn hoặc khi nhận tin nhắn yêu cầu vị trí.
- Khóa hệ thống đánh lửa xe máy qua Relay nếu mất kết nối BLE khi xe đang chạy.
- Should have (Nên có):
- Ứng dụng Android có giao diện đổi mật khẩu hệ thống trực quan.
- Cảnh báo âm thanh đa cấp độ qua còi Buzzer (1 tiếng dài: lỗi/sai mật khẩu; 3 tiếng ngắn: mở khóa thành công).
- Tối ưu hóa dòng tiêu thụ tĩnh (quiescent current) khi xe tắt máy.
- Could have (Có thể mở rộng):
- Đồng bộ trạng thái xe lên máy chủ Cloud thông qua giao thức MQTT/GPRS.
- Tích hợp thêm cảm biến va đập lực cao (piezoelectric shock sensor).
- Won't have (Chưa thực hiện trong giai đoạn này):
- Tích hợp camera hành trình chụp ảnh hiện trường tai nạn.
- Gọi thoại trực tiếp 2 chiều (Voice Call Full-Duplex) qua module GSM.
Thiết kế kiến trúc hệ thống
+-------------------------------------------------------------------------+
| SƠ ĐỒ KHỐI PHẦN CỨNG HỆ THỐNG |
+-------------------------------------------------------------------------+
[ Nguồn 12V DC ] ---> [ Module Buck LM2596 ] ---> Cấp nguồn 5V DC
|
+------------------------------------------------------+
|
v
+-----------------------------------------------------------------------+
| KHỐI XỬ LÝ TRUNG TÂM (ATmega2560) |
+-----------------------------------------------------------------------+
| (UART1) | (UART2) | (UART3) | (I2C)
v v v v
+-------------+ +-------------+ +-------------+ +-------------+
| Module GSM | | Module GPS | | Module BLE | | IMU 6-DoF |
| SIM808 | | NEO-6M | | CC2541 AT09 | | MPU6050 |
+-------------+ +-------------+ +-------------+ +-------------+
| | |
v v v
[ Mạng GSM ] [ Vệ tinh GPS ] [ Smartphone ]
(Gửi tin SMS) (Tọa độ Lat/Lon) (Android App)
|
+---> [ Module Relay 12V ] ------> [ Hệ thống đánh lửa xe máy ]
|
+---> [ Còi Buzzer 5V ] ---------> [ Cảnh báo âm thanh ]
Ngăn xếp công nghệ (Technology Stack)
- Bộ vi điều khiển: Microchip ATmega2560 (8-bit AVR RISC, 16MHz, 256KB Flash, 8KB SRAM, 4KB EEPROM, 4 cổng phần cứng USART, 1 bus TWI/I2C).
- Cảm biến chuyển động: InvenSense MPU-6050 (Tích hợp con quay hồi chuyển 3 trục $\pm 2000^\circ/\text{s}$ và gia tốc kế 3 trục $\pm 16\text{g}$, tích hợp bộ chuyển đổi ADC 16-bit).
- Truyền thông di động & Định vị:
- SIMCom SIM808: Quad-band GSM 850/900/1800/1900MHz, tập lệnh chuẩn AT Command, dòng truyền nhận tối đa 2A xung ngắn.
- u-blox NEO-6M: 50 kênh nhận tín hiệu GPS L1 C/A (1575.42 MHz), độ nhạy thu $-161\text{ dBm}$, tốc độ làm tươi 5Hz, chuẩn đầu ra NMEA-0183 ($GPRMC, $GPGGA).
- Giao tiếp tầm gần: Module CC2541 (Bluetooth Low Energy 4.0 AT-09, công suất phát 0 dBm, dòng tiêu thụ chế độ ngủ 400µA – 1.5mA, chế độ hoạt động 8.5mA).
- Hệ thống điều khiển hạ tầng & Ứng dụng:
- Mạch hạ áp Buck DC-DC LM2596 (Hiệu suất chuyển đổi ~92%, dải đầu vào 4.5V–40V, đầu ra điều chỉnh 5V/3A).
- Relay cách ly Optocoupler 12V/10A điều khiển hệ thống khóa điện/đánh lửa (CDI/ECU).
- Phần mềm di động: Android Studio 2.3, viết trên nền tảng Java/XML native, tương thích Android SDK 21+.
Implementation và kết quả
Xây dựng thuật toán lọc nhiễu và định dạng chuyển động (Kalman Filter)
Tín hiệu thô từ cảm biến gia tốc MPU6050 trên xe máy thường chịu ảnh hưởng nặng nề bởi độ rung cơ học từ piston động cơ và bề mặt đường. Để trích xuất chính xác góc nghiêng ($\theta$), thuật toán Kalman 1D kết hợp dữ liệu từ con quay hồi chuyển (Gyroscope) và gia tốc kế (Accelerometer) được triển khai:
// Triển khai thuật toán Kalman Filter cho góc nghiêng trục Roll/Pitch
typedef struct {
float Q_angle; // Phương sai quá trình cho góc (Process noise variance)
float Q_bias; // Phương sai quá trình cho trôi lệch (Bias noise variance)
float R_measure; // Phương sai đo lường (Measurement noise variance)
float angle; // Góc ước lượng (State output)
float bias; // Độ lệch con quay hồi chuyển (Gyro bias)
float rate; // Tốc độ góc sau khi trừ bias
float P[2][2]; // Ma trận hiệp phương sai sai số (Error covariance matrix)
} Kalman_t;
void Kalman_Init(Kalman_t *Kalman) {
Kalman->Q_angle = 0.001f;
Kalman->Q_bias = 0.003f;
Kalman->R_measure = 0.03f;
Kalman->angle = 0.0f;
Kalman->bias = 0.0f;
Kalman->P[0][0] = 0.0f;
Kalman->P[0][1] = 0.0f;
Kalman->P[1][0] = 0.0f;
Kalman->P[1][1] = 0.0f;
}
float Kalman_GetAngle(Kalman_t *Kalman, float newAngle, float newRate, float dt) {
// Bước 1: Dự đoán trạng thái (Prediction Step)
Kalman->rate = newRate - Kalman->bias;
Kalman->angle += dt * Kalman->rate;
// Cập nhật ma trận hiệp phương sai Pk|k-1 = F * Pk-1 * F^T + Q
Kalman->P[0][0] += dt * (dt * Kalman->P[1][1] - Kalman->P[0][1] - Kalman->P[1][0] + Kalman->Q_angle);
Kalman->P[0][1] -= dt * Kalman->P[1][1];
Kalman->P[1][0] -= dt * Kalman->P[1][1];
Kalman->P[1][1] += Kalman->Q_bias * dt;
// Bước 2: Đo lường và tính Kalman Gain (Update Step)
float S = Kalman->P[0][0] + Kalman->R_measure; // Hiệp phương sai đổi mới
float K[2]; // Hệ số khuếch đại Kalman (Kalman Gain)
K[0] = Kalman->P[0][0] / S;
K[1] = Kalman->P[1][0] / S;
// Cập nhật góc ước lượng với sai số đổi mới y = z - H * x
float y = newAngle - Kalman->angle;
Kalman->angle += K[0] * y;
Kalman->bias += K[1] * y;
// Cập nhật ma trận Pk|k = (I - K * H) * Pk|k-1
float P00_temp = Kalman->P[0][0];
float P01_temp = Kalman->P[0][1];
Kalman->P[0][0] -= K[0] * P00_temp;
Kalman->P[0][1] -= K[0] * P01_temp;
Kalman->P[1][0] -= K[1] * P00_temp;
Kalman->P[1][1] -= K[1] * P01_temp;
return Kalman->angle;
}
Triển khai mô hình máy trạng thái hữu hạn (FSM) xác định tai nạn
Để phân biệt chính xác giữa hành vi vận hành bình thường (dừng đèn đỏ, vào cua, rung lắc khi nổ máy) và tình huống ngã xe thực sự, hệ thống triển khai máy trạng thái 6 cấp:
[ ĐỨNG YÊN ] <------------ (Khởi động / Dừng hẳn)
|
+---> (Có dao động nhỏ) ----> [ RUNG ] ---> (Sau 1500ms không chạy) ---> [ ĐỨNG YÊN ]
|
+---> (Gia tốc > Ngưỡng) ---> [ CHẠY ]
|
v (Giảm tốc đột ngột)
[ KIỂM TRA NGỪNG XE ]
|
+---> (Trôi qua 3 giây)
|
v
[ XE DỪNG ]
|
+--------------------------+--------------------------+
| (Gia tốc < 10 && Độ nghiêng > 20 độ) | (Góc thẳng đứng)
v v
[ TÉ NGÃ / TAI NẠN ] [ ĐỨNG YÊN ]
(Gửi SMS khẩn cấp + Khóa máy)
Đoạn mã điều khiển thực thi logic trạng thái trên ATmega2560:
typedef enum {
STATE_IDLE, // Đứng yên
STATE_VIBRATION, // Rung cục bộ
STATE_RUNNING, // Xe đang chạy
STATE_CHECK_STOP, // Kiểm tra giảm tốc đột ngột
STATE_STOPPED, // Xe đã dừng hẳn
STATE_ACCIDENT // Xác nhận tai nạn
} VehicleState_t;
VehicleState_t currentState = STATE_IDLE;
unsigned long stateTimer = 0;
void ProcessAccidentDetection(float accelTotal, float tiltAngle) {
unsigned long currentMillis = millis();
switch (currentState) {
case STATE_IDLE:
if (accelTotal > 15.0f) { // Phát hiện gia tốc chuyển động
currentState = STATE_RUNNING;
} else if (accelTotal > 10.5f && accelTotal <= 15.0f) {
currentState = STATE_VIBRATION;
stateTimer = currentMillis;
}
break;
case STATE_VIBRATION:
if (currentMillis - stateTimer > 1500) {
currentState = STATE_IDLE;
} else if (accelTotal > 15.0f) {
currentState = STATE_RUNNING;
}
break;
case STATE_RUNNING:
if (accelTotal < 11.0f) { // Xe có dấu hiệu dừng hoặc giảm tốc mạnh
currentState = STATE_CHECK_STOP;
stateTimer = currentMillis;
}
break;
case STATE_CHECK_STOP:
if (currentMillis - stateTimer >= 3000) { // Duy trì trạng thái giảm tốc trong 3s
currentState = STATE_STOPPED;
stateTimer = currentMillis;
} else if (accelTotal > 14.0f) {
currentState = STATE_RUNNING; // Tiếp tục chạy lại
}
break;
case STATE_STOPPED:
// Điều kiện tai nạn: Trong vòng 3s, gia tốc < 10 và góc nghiêng 2 trục > 20 độ
if (accelTotal < 10.0f && tiltAngle > 20.0f) {
currentState = STATE_ACCIDENT;
TriggerEmergencyProtocol(); // Kích hoạt còi, ngắt Relay, gửi SMS
} else {
currentState = STATE_IDLE;
}
break;
case STATE_ACCIDENT:
// Hệ thống duy trì trạng thái khóa đến khi người dùng xác thực lại mật khẩu qua App
break;
}
}
Xử lý tập lệnh AT và truyền thông tin GPS qua SMS
Khi điều kiện STATE_ACCIDENT được kích hoạt hoặc nhận được tin nhắn yêu cầu định vị hợp lệ, vi điều khiển trích xuất chuỗi NMEA từ NEO-6M và điều khiển SIM808 gửi tin nhắn văn bản chứa tọa độ GPS trực tiếp:
void TriggerEmergencyProtocol(void) {
char googleMapsUrl[120];
char atCommand[160];
// Ngắt hệ thống đánh lửa động cơ ngay lập tức
digitalWrite(PIN_RELAY_IGNITION, LOW);
// Đọc tọa độ từ GPS NEO-6M (Ví dụ: Vĩ độ 10.8505° N, Kinh độ 106.7719° E)
snprintf(googleMapsUrl, sizeof(googleMapsUrl),
"CANH BAO TAI NAN! Vi tri nan nhan: https://maps.google.com/?q=%.6f,%.6f",
gps_latitude, gps_longitude);
// Điều khiển SIM808 qua UART1
Serial1.print("AT+CMGF=1\r\n"); // Chuyển sang chế độ Text SMS
delay(200);
snprintf(atCommand, sizeof(atCommand), "AT+CMGS=\"%s\"\r\n", EMERGENCY_PHONE_NUMBER);
Serial1.print(atCommand);
delay(200);
Serial1.print(googleMapsUrl);
delay(100);
Serial1.write(0x1A); // Ký tự Ctrl+Z kết thúc gửi tin
}
Thử nghiệm và đánh giá thực nghiệm
Quá trình thử nghiệm được tiến hành trên mô hình thực nghiệm và xe máy thực tế với nguồn điện ắc quy 12V:
+-------------------------------------------------------------------------+
| KẾT QUẢ ĐO KIỂM THỰC NGHIỆM HỆ THỐNG |
+------------------------------------+--------------------+---------------+
| Kịch bản kiểm thử | Số lần thử nghiệm | Tỷ lệ chuẩn |
+------------------------------------+--------------------+---------------+
| Phanh gấp khi đang chạy (30-40km/h)| 30 lần | 100% không giả|
| Dừng chờ đèn đỏ (thời gian 30-60s) | 30 lần | 100% không giả|
| Dựng chân chống nghiêng (đỗ xe) | 25 lần | 100% không giả|
| Ngã xe thực tế / Tai nạn va chạm | 20 lần | 95% phát hiện |
| Mất kết nối BLE khi xe đang chạy | 20 lần | 100% ngắt máy |
| Độ trễ nhận tin SMS định vị | 40 tin | 4.2 - 8.6 giây|
+------------------------------------+--------------------+---------------+
+-------------------------------------------------------------------------+
| ĐẶC TÍNH NĂNG LƯỢNG TIÊU THỤ PHẦN CỨNG |
+------------------------------------+--------------------+---------------+
| Trạng thái hoạt động | Mẫu thử 1 (HC-05) | Mẫu thử 2(BLE)|
+------------------------------------+--------------------+---------------+
| Chế độ chờ (Standby / Bluetooth On)| ~45 mA | ~12.5 mA |
| Chế độ hoạt động (Đang thu nhận GPS| ~140 mA | ~95 mA |
| Chế độ phát sóng GSM (Gửi SMS Max) | ~1.8 A (xung ngắn) | ~1.8 A (xung) |
| Tiết kiệm năng lượng khi nghỉ | Kém | Giảm 72.2% |
+------------------------------------+--------------------+---------------+
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
- Kiến trúc phân tầng FSM kết hợp bộ lọc Kalman: Giải quyết triệt để vấn đề nhiễu cơ học từ động cơ đốt trong tác động lên cảm biến MPU6050. Việc phân tách rõ ràng trạng thái "Rung", "Kiểm tra ngừng xe" và "Té ngã" giúp giảm thiểu tỷ lệ báo động giả xuống dưới 5%, vượt trội so với các thuật toán so sánh ngưỡng (threshold-based) đơn giản.
- Cơ chế phòng vệ kép (Dual-Layer Anti-Theft & Hijack): Tích hợp giữa xác thực mật khẩu trên App Android trước khi đề máy và cơ chế "Dead-man switch" không dây qua sóng BLE 4.0. Nếu chủ xe bị cướp ép rời khỏi phương tiện, khi khoảng cách vượt quá ngưỡng suy hao tín hiệu BLE (5–10m), rơ-le lập tức kích hoạt khóa máy an toàn, ngăn chặn việc tẩu thoát của đối tượng.
- Độc lập hạ tầng máy chủ: Hệ thống hoạt động theo kiến trúc Peer-to-Peer trực tiếp giữa module nhúng và điện thoại của người thân/cứu hộ thông qua mạng viễn thông GSM/SMS và tọa độ NMEA chuẩn của GPS, không phụ thuộc vào máy chủ trung gian (Serverless), đảm bảo tính khả dụng ngay cả khi mạng 3G/4G chập chờn.
Đóng góp thực tiễn cho ngành kỹ thuật máy tính
- Cung cấp một bản thiết kế phần cứng hoàn chỉnh (PCB 1 lớp tự gia công, tối ưu chi phí) tích hợp 4 module truyền thông/cảm biến trên nền tảng vi điều khiển 8-bit ATmega2560.
- Cung cấp mẫu hình mã nguồn mở cho sinh viên và kỹ sư nhúng về kỹ thuật xử lý đồng thời (Concurrent Processing) nhiều cổng UART phần cứng kết hợp I2C thời gian thực trên hệ vi điều khiển tài nguyên giới hạn.
Ứng dụng thực tế và triển khai
Tình huống vận hành thực tế
- Tai nạn đơn phương trên đường vắng: Người điều khiển xe máy bị trượt ngã hoặc va chạm vào ban đêm. Hệ thống nhận diện trạng thái va chạm và bất động quá 3 giây, tự động gửi tin nhắn SMS chứa link Google Maps chính xác đến số điện thoại khẩn cấp của người thân để kịp thời ứng cứu.
- Bị cướp giật phương tiện: Khi người dùng bị cướp xe giữa đường, tên cướp nổ máy chạy đi. Do smartphone của chủ xe vẫn nằm trong túi người dùng, khi xe chạy cách xa 5–10m, kết nối BLE ngắt đột ngột $\rightarrow$ ATmega2560 phát hiện ngắt kết nối $\rightarrow$ Tự động ngắt Rơ-le nối tiếp với cuộn kích CDI/Bơm xăng $\rightarrow$ Động cơ chết máy lập tức, đồng thời còi Buzzer phát âm thanh báo động.
Hướng dẫn đấu nối và triển khai trên xe máy
- Hạ tầng nguồn điện: Nối dây âm (GND) vào sườn xe hoặc cọc âm ắc quy; nối dây dương (+12V DC) qua cầu chì 3A trước khi cấp vào đầu vào IN+ của module LM2596.
- Đấu nối mạch ngắt động cơ: Nối tiếp 2 tiếp điểm thường đóng (NC - Normally Closed) của Rơ-le 12V vào dây công tắc chân chống phụ hoặc dây tín hiệu kích mobin sườn (CDI Ignition trigger wire).
- Bố trí cảm biến: Module MPU6050 phải được bắt vít cố định trên khung sườn chính của xe theo phương ngang (mặt phẳng song song với mặt đất) để đảm bảo độ chính xác của trục gia tốc $X, Y, Z$.
- Vị trí ăng-ten: Ăng-ten GPS gốm (Ceramic Patch Antenna) hướng thẳng lên trời, đặt dưới lớp vỏ nhựa (mặt nạ xe) để tránh suy hao sóng vệ tinh.
+-------------------------------------------------------------------------+
| BẢNG DỰ TOÁN CHI PHÍ PHẦN CỨNG (BOM) |
+------------------------------------+---------------+--------------------+
| Linh kiện / Module | Số lượng | Đơn giá ước tính |
+------------------------------------+---------------+--------------------+
| Vi điều khiển ATmega2560 Pro Mini | 01 | 160.000 VNĐ |
| Module GSM/GPRS SIM808 | 01 | 280.000 VNĐ |
| Module GPS NEO-6M kèm Ăng-ten | 01 | 120.000 VNĐ |
| Module BLE 4.0 CC2541 (AT-09) | 01 | 65.000 VNĐ |
| Cảm biến 6-DoF MPU6050 | 01 | 35.000 VNĐ |
| Mạch hạ áp Buck LM2596 | 01 | 20.000 VNĐ |
| Module Relay 12V 10A cách ly quang | 01 | 18.000 VNĐ |
| Mạch in PCB, còi chip, phụ kiện | 01 bộ | 70.000 VNĐ |
+------------------------------------+---------------+--------------------+
| TỔNG CHI PHÍ PHẦN CỨNG (BOM) | | 768.000 VNĐ |
+------------------------------------+---------------+--------------------+
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Phụ thuộc mạng viễn thông 2G: SIM808 sử dụng băng tần GSM 2G. Khi các nhà mạng viễn thông tại Việt Nam và quốc tế tiến hành tắt sóng 2G hoàn toàn, module sẽ cần được nâng cấp.
- Tiêu hao năng lượng liên tục: Dù đã chuyển đổi sang BLE 4.0, hệ thống khi bật GPS liên tục vẫn tiêu thụ dòng khoảng 90–100mA, có thể gây hao ắc quy nếu xe không khởi động trong 2–3 tuần.
- Định vị trong không gian hẹp: GPS NEO-6M mất tín hiệu khi xe đi vào tầng hầm bê tông hoặc đường hầm vượt sông.
Kế hoạch nâng cấp và nghiên cứu tiếp theo
- Chuyển dịch sang kiến trúc 4G LTE Cat-1 / NB-IoT: Thay thế SIM808 bằng SIM7600CE hoặc A7672S hỗ trợ 4G LTE và tích hợp định vị đa hệ GNSS (GPS/GLONASS/BeiDou), hỗ trợ định vị cell-ID (LBS) khi mất sóng vệ tinh.
- Ứng dụng Machine Learning trên biên (TinyML): Huấn luyện mạng nơ-ron nhân tạo (ANN) siêu nhẹ trên vi điều khiển 32-bit (như STM32F4 hoặc ESP32-S3) với tập dữ liệu hành vi lái xe thực tế để nhận diện té ngã với độ chính xác đạt >99%.
- Phát triển ứng dụng đa nền tảng: Chuyển đổi phần mềm điều khiển từ Android Java sang Flutter/React Native để hỗ trợ đồng bộ cả người dùng iOS và Android.
Đối tượng hưởng lợi
- Sinh viên ngành Kỹ thuật Máy tính / Điện tử - Viễn thông: Nắm vững quy trình thiết kế hệ thống nhúng hoàn chỉnh, từ sơ đồ nguyên lý mạch, layout PCB, lập trình thanh ghi/giao tiếp UART đa kênh, lọc số Kalman đến lập trình Mobile App điều khiển phần cứng.
- Kỹ sư phát triển IoT & Ô tô - Xe máy (Automotive Engineers): Tham khảo kiến trúc máy trạng thái chống báo động giả và giải pháp bảo mật xe máy sử dụng BLE RSSI.
- Doanh nghiệp sản xuất phụ kiện xe máy & Startup công nghệ: Bản thiết kế BOM phần cứng tối ưu chi phí (<800.000 VNĐ) là cơ sở khả thi để thương mại hóa hàng loạt thiết bị hỗ trợ lái xe an toàn cho thị trường Đông Nam Á.
- Người tham gia giao thông: Được bảo vệ toàn diện về tính mạng nhờ khả năng tự động gọi cứu hộ khi xảy ra tai nạn và bảo vệ tài sản trước nguy cơ trộm cướp.
Câu hỏi thường gặp
1. Hệ thống có gây hao bình ắc quy xe máy khi để lâu ngày không sử dụng?
Ở chế độ bình thường, dòng tiêu thụ của hệ thống là ~95mA. Khi xe tắt máy, hệ thống có thể chuyển sang chế độ Sleep Mode của ATmega2560 và BLE, chỉ duy trì dòng chờ dưới 15mA. Với ắc quy xe máy tiêu chuẩn dung lượng 3.5Ah – 5Ah, xe có thể duy trì trạng thái chờ an toàn trong hơn 10–14 ngày mà không gây cạn ắc quy.
2. Nếu xe chỉ bị ngã khi đang dựng chân chống nghiêng (không phải tai nạn), hệ thống có gửi SMS báo động không?
Không. Nhờ mô hình FSM 6 trạng thái, trạng thái "Té ngã" (STATE_ACCIDENT) chỉ được kích hoạt khi trước đó xe đã chuyển từ trạng thái STATE_RUNNING sang STATE_CHECK_STOP và STATE_STOPPED. Khi xe đang dựng chân chống, hệ thống nằm ở STATE_IDLE hoặc STATE_VIBRATION, do đó việc nghiêng xe đơn thuần không thỏa mãn điều kiện kích hoạt bản tin khẩn cấp.
3. Tín hiệu Bluetooth bị che chắn bởi khung sườn kim loại của xe có làm giảm phạm vi chống cướp không?
Ăng-ten PCB của module CC2541 được thiết kế phát xạ đa hướng. Khi lắp đặt trong dàn áo nhựa của xe, phạm vi kết nối duy trì ổn định ở mức 5–10 mét. Khi người dùng cầm điện thoại bị đẩy ra xa ngoài bán kính này, sự suy hao công suất thu tín hiệu (RSSI) sẽ khiến module ngắt kết nối ngay lập tức, kích hoạt mạch khóa Relay.
4. Chi phí duy trì SIM trên thiết bị hàng tháng là bao nhiêu?
Hệ thống sử dụng phương thức gửi tin nhắn văn bản SMS truyền thống khi có sự kiện (Event-driven). Bình thường thiết bị không phát sinh cước dữ liệu Data 3G/4G, chi phí duy trì chỉ bao gồm cước gửi SMS khẩn cấp (khoảng vài trăm đến vài nghìn đồng/tháng).
5. Khả năng tương thích của hệ thống với các dòng xe phun xăng điện tử (FI) và xe tay ga đời mới?
Hệ thống hoàn toàn tương thích với mọi loại xe máy. Mạch Relay cách ly quang học có thể can thiệp an toàn vào dây cấp nguồn bơm xăng (Fuel Pump), dây nguồn ECU hoặc rơ-le ngắt chân chống điện mà không làm ảnh hưởng đến xung điện tử nội bộ của phương tiện.
Kết luận
Đồ án "Thiết kế và thi công hệ thống phát hiện tai nạn, định vị và bảo mật cho xe máy" đã giải quyết xuất sắc bài toán tích hợp giữa an toàn tính mạng và bảo vệ tài sản cho người điều khiển phương tiện giao thông hai bánh. Bằng việc kết hợp hài hòa giữa phần cứng nhúng ATmega2560, thuật toán lọc số Kalman trên cảm biến MPU6050, máy trạng thái FSM nhận diện tai nạn chính xác và cơ chế chống cướp không dây qua Bluetooth Low Energy, đề tài đã chứng minh tính khả thi kỹ thuật vượt trội cùng tiềm năng ứng dụng thực tế to lớn. Đây là giải pháp công nghệ mang tính nhân văn sâu sắc, sẵn sàng mở rộng và thương mại hóa để nâng cao chuẩn an toàn giao thông cho hàng chục triệu người dân Việt Nam.