Trong bối cảnh phát triển mạnh mẽ của công nghệ hiện đại, việc nghiên cứu và ứng dụng các hệ thống điều khiển tự động ngày càng trở nên quan trọng.. Đề tài này được chọn lựa nhằm mục đíc
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN MÔN HỌC
HỆ THỐNG CẢNH BÁO VÀ XỬ LÍ VA CHẠM
TRÊN Ô TÔ
GIẢNG VIÊN HƯỚNG DẪN
1 Thầy Trần Tuấn Kiệt
2 Thầy Nguyễn Như Hoàng
NHÓM SINH VIÊN THỰC HIỆN
Trang 2ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN MÔN HỌC
HỆ THỐNG CẢNH BÁO VÀ XỬ LÍ VA CHẠM
TRÊN Ô TÔ
GIẢNG VIÊN HƯỚNG DẪN
1 Thầy Trần Tuấn Kiệt
2 Thầy Nguyễn Như Hoàng
NHÓM SINH VIÊN THỰC HIỆN
Trang 3LỜI NÓI ĐẦU
Lời đầu tiên, chúng em xin chân thành cảm ơn thầy đã tạo điều kiện và cho phép chúng em thực hiện đề tài “Hệ thống cảnh báo và xử lí va chạm trên ô tô” Sự hỗ trợ từ thầy đã giúp chúng em có cơ hội áp dụng những kiến thức đã học vào thực tiễn, nâng cao kỹ năng và hiểu biết của mình Thầy đã giúp chúng
em tiếp cận được với khoa học công nghệ mà cụ thể là STM32 trong suốt quá trình học Chúng em rất trân trọng sự giúp đỡ của thầy, điều này là động lực lớn
để chúng em không ngừng cố gắng và phát triển.
Trong bối cảnh phát triển mạnh mẽ của công nghệ hiện đại, việc nghiên cứu và ứng dụng các hệ thống điều khiển tự động ngày càng trở nên quan trọng Một trong những lĩnh vực được quan tâm đặc biệt là các hệ thống điều khiển và cảm biến trên phương tiện di chuyển Đề tài này được chọn lựa nhằm mục đích khám phá và ứng dụng vi điều khiển STM32 trong việc xây dựng mô hình xe tự động có khả năng nhận diện và xử lý va chạm.
Vi điều khiển STM32, với khả năng xử lý mạnh mẽ và tích hợp nhiều tính năng tiên tiến, đã trở thành lựa chọn hàng đầu cho các ứng dụng trong lĩnh vực
tự động hóa và robot Bằng cách sử dụng STM32, mô hình xe cảm biến vật cản không chỉ có thể thực hiện các thao tác đơn giản mà còn có khả năng xử lý các tình huống phức tạp, đảm bảo sự linh hoạt và hiệu quả trong quá trình di chuyển.
Đề tài này tập trung vào việc thiết kế, lắp ráp và lập trình mô hình xe, sử dụng các cảm biến HC-SR04 để phát hiện vật cản và điều khiển động cơ nhằm xử
lý chướng ngại vật trên đường đi Quá trình nghiên cứu và thực hiện sẽ bao gồm nhiều bước từ khâu thiết kế mạch điện, lập trình phần mềm cho vi điều khiển, đến thử nghiệm và tối ưu hóa hệ thống.
Qua đề tài này, chúng em mong muốn mang lại một cái nhìn toàn diện về khả năng ứng dụng của vi điều khiển STM32 trong việc phát triển các hệ thống tự động hóa thông minh, đồng thời mở ra nhiều hướng nghiên cứu và phát triển mới trong tương lai Hy vọng rằng, những kết quả đạt được sẽ góp phần vào sự phát triển của khoa học công nghệ, cũng như tạo tiền đề cho các ứng dụng thực tiễn trong đời sống và công nghiệp.
Trang 4TÓM TẮTMôn học: Thực Hành Vi Điều Khiển
Tên đồ án: Hệ thống cảnh báo và xử lí va chạm trên ô tô
Đồ án tập trung vào việc thiết kế và xây dựng một mô hình xe tự động có khảnăng phát hiện, cảnh báo và xử lý va chạm nhờ sử dụng vi điều khiển STM32 Trongbối cảnh công nghệ tự động hóa ngày càng phát triển, việc nghiên cứu và ứng dụngcác hệ thống điều khiển thông minh trở nên vô cùng quan trọng Mô hình này khôngchỉ thể hiện khả năng xử lý mạnh mẽ của vi điều khiển STM32 mà còn minh họa sựkết hợp hiệu quả giữa phần cứng và phần mềm trong các ứng dụng thực tiễn
STM32 được chọn làm vi điều khiển chính cho mô hình xe do tính năng đadạng và khả năng xử lý cao Cảm biến HC-SR04 được tích hợp để phát hiện vật cản,cung cấp thông tin cho vi điều khiển để điều khiển động cơ một cách linh hoạt, đảmbảo xe có thể tránh các chướng ngại vật trên đường đi Quá trình thiết kế và triểnkhai mô hình bao gồm nhiều bước như lập trình vi điều khiển, thiết kế mạch điện, vàthử nghiệm hiệu quả hoạt động của hệ thống
Tóm lại, đồ án “Hệ thống cảnh báo và xử lí va chạm trên ô tô” là một minh
chứng rõ ràng cho khả năng ứng dụng của công nghệ vi điều khiển trong các hệthống tự động hóa hiện đại, đồng thời thể hiện sự sáng tạo và nỗ lực nghiên cứu củanhóm thực hiện
Thời gian thực hiện: 5 tuần: từ ngày 06/05/2024 đến ngày 16/6/2024
Nhóm trưởng: Lê Hoàng Huân
Nhóm: 34 - Lớp: 22DTV1
Mục tiêu: nhóm thực hiện không chỉ mong muốn ứng dụng thành công vi điều khiển
STM32 trong việc xây dựng hệ thống tự động mà còn hy vọng mở ra nhiều hướngnghiên cứu và phát triển mới trong lĩnh vực tự động hóa Những kết quả đạt được từ
đề tài có thể góp phần vào sự phát triển của công nghệ, mang lại những ứng dụnghữu ích trong đời sống và công nghiệp
Trang 5MỤC LỤC
LỜI NÓI ĐẦU
TÓM TẮT 1
DANH MỤC HÌNH ẢNH 3
DANH MỤC CÁC BẢNG 4
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 5
I VI ĐIỀU KHIỂN STM32F407VGT6 5
II PHẦN MỀM STM32CUBEIDE 12
III CẢM BIẾN HC SRF04 16
IV ĐỘNG CƠ L298N 21
V BUZZER 12095 5V 27
CHƯƠNG 2: THỰC THI 29
I CODE VÀ GIẢI THÍCH HOẠT ĐỘNG 3
II KẾT QUẢ SẢN PHẨM 5
CHƯƠNG 3: BÁO CÁO VÀ ĐÁNH GIÁ QUÁ TRÌNH HOẠT ĐỘNG NHÓM 4 I PHÂN CÔNG VÀ ĐÁNH GIÁ TIẾN TRÌNH THỰC HIỆN 5
II BÀI HỌC KINH NGHIỆM ĐẠT ĐƯỢC 6
III TỰ ĐÁNH GIÁ VÀ NHẬN XÉT 5
IV ĐÁNH GIÁ VÀ NHẬN XÉT CỦA GIẢNG VIÊN 5
LỜI CẢM ƠN 5
TÀI LIỆU THAM KHẢO 4
Trang 6DANH MỤC HÌNH ẢNH
Hình 1: Các dòng vi điều khiển STM32
Hình 2: Kit STM32F407VGT6 thực tế
Hình 3: Sơ đồ chân dòng vi điều khiển STM32F407xx
Hình 4: Sơ đồ mạch của vi điều khiển STM32F407VGT6
Hình 5: Các tính năng chính của phần mềm STM32CubeIDE
Hình 6: Giao diện thiết lập cấu hình cho vi điều khiển STM32F407VGT6
Hình 7: Giao diện vùng làm việc phần mềm STM32CubeIDE
Hình 8: Các biểu tượng điều khiển chính để chỉnh sửa, xây dựng và quản lí dự ánHình 9: Các comment chỉ rõ vị trí viết code chương trình
Hình 10: Cửa sổ Debug chương trình
Hình 11: Cảm biến siêu âm HC-SR04 trong thực tế
Hình 12: Mô phỏng cách nối chân của cảm biến siêu âm HC-SR04
Hình 13: Nguyên lí hoạt động của cảm biến siêu âm HC-SR04
Hình 14: Ứng dụng cảm biến siêu âm để phát hiện các vật cản cho xe ô tô
Hình 15: 1 số ứng dụng của cảm biến siêu âm trong công nghiệp
Hình 16: Module điều khiển động cơ L298N thực tế
Hình 17: Sơ đồ chân Module L298N
Hình 18: Mô hình mạch cầu H
Trang 7Hình 19: Mô tả động cơ quay theo chiều thuận và chiều nghịch
Bảng 3: Các thông số kĩ thuật cơ bản của cảm biến
Bảng 4: Giải thích sơ đồ chân Module L298N
Bảng 5: Các thông số kĩ thuật cơ bản của động cơ L298N
Bảng 6: Trạng thái hoạt động các công tắc trong mạch cầu HBảng 7: Các thông số kĩ thuật cơ bản của Buzzer 12095 5VBảng 8: Phân công công việc các thành viên trong nhóm
Bảng 9: Kết quả tự đánh giá và nhận xét các thành viên nhóm 34Bảng 10: Đánh giá và nhận xét của giảng viên
Trang 8CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1 Giới thiệu chung về vi điều khiển STM32
I.1 Vi điều khiển STM32
STM32 là một dòng vi điều khiển phổ biến được sản xuất bởi công ty
STMicroelectronics STM32 nổi tiếng với sự linh hoạt và hiệu suất cao, là sự lựachọn hàng đầu trong nhiều ứng dụng nhúng và dự án IoT (Internet of Things)
I.2 Đặc điểm của vi điều khiển STM32
- Kiến trúc ARM Cortex-M: các dòng STM32 thường sử dụng các lõi vi xử lý ARM
Cortex-M, cung cấp hiệu suất mạnh mẽ và tiêu thụ năng lượng hiệu quả
- Dải sản phẩm đa dạng: STM32 cung cấp nhiều dòng sản phẩm với các tính năng
và cấu hình khác nhau, từ dòng F0 dành cho ứng dụng giá rẻ, dòng F1 dành cho cácứng dụng đòi hỏi hiệu suất cao, đến dòng H7 với hiệu suất cao và các tính năng đặcbiệt
- Bộ nhớ dữ liệu và chương trình: hầu hết các dòng STM32 có các tùy chọn bộ nhớ
flash (ROM) và RAM khác nhau, cung cấp linh hoạt cho các ứng dụng khác nhau
- Tích hợp nhiều chức năng: STM32 thường được tích hợp với nhiều chức năng như
GPIO, USART, SPI, I2C, CAN, ADC, DAC, PWM, timers, và các tính năng khác,giúp giảm chi phí và diện tích mạch in PCB
- Hỗ trợ phần mềm đa dạng: STMicroelectronics cung cấp nhiều công cụ phần mềm
hỗ trợ như STM32CubeMX và STM32CubeIDE để giúp dễ dàng hóa quá trìnhphát triển
Trang 9- Thư viện chuẩn CMSIS và HAL: sử dụng thư viện CMSIS (Cortex Microcontroller
Software Interface Standard) và HAL (Hardware Abstraction Layer), việc lập trìnhtrở nên thuận tiện và chuyên nghiệp
- Hỗ trợ cộng đồng mạnh mẽ: cộng đồng người dùng STM32 rộng lớn, có nhiều tài
nguyên trực tuyến, diễn đàn, và mã nguồn mở để hỗ trợ người dùng
I.3 Ứng dụng vi điều khiển STM32
- Trong lĩnh vực điện tử tiêu dùng: máy tính bảng, điện thoại thông minh, tivi,
máy giặt, tủ lạnh,
- Trong công nghiệp: điều khiển động cơ, robot, hệ thống tự động hóa,
- Trong y tế: thiết bị y tế, máy đo sinh hiệu, dụng cụ chẩn đoán,
- Trong ô tô: hệ thống phanh ABS, hệ thống treo, hệ thống giải trí,
- Trong các thiết bị IoT: cảm biến, bộ điều khiển, cổng kết nối,
I.4 Các dòng vi điều khiển STM32 phổ biến
Trang 10Hình 1: Các dòng vi điều khiển STM32
2 Vi điều khiển STM32F407VGT6
2.1 Giới thiệu về vi điều khiển STM32F407VGT6
STM32F407VGT6 là một vi điều khiển mạnh mẽ thuộc dòng sản phẩmSTM32 của hãng STMicroelectronics, dựa trên lõi ARM Cortex-M4 32-bit với tần
số hoạt động lên đến 168 MHz Được thiết kế với khả năng xử lý hiệu suất cao,STM32F407VGT6 cung cấp nhiều tính năng và giao diện phong phú, thích hợp chocác ứng dụng nhúng phức tạp
Một số đặc điểm nổi bật của STM32F407VGT6 bao gồm:
Trang 11 Bộ nhớ: 1 MB Flash và 192 KB RAM, cho phép lưu trữ và xử lý dữ liệu lớn.
Giao diện ngoại vi: hỗ trợ nhiều giao thức giao tiếp như UART, SPI, I2C,
CAN, USB 2.0 OTG và Ethernet MAC
ADC/DAC: tích hợp 3 bộ chuyển đổi ADC 12-bit và 2 bộ DAC 12-bit, hỗ trợ
các ứng dụng yêu cầu chuyển đổi tín hiệu analog/digital chính xác
PWM và Timer: có nhiều bộ định thời và đầu ra PWM, lý tưởng cho các ứng
dụng điều khiển động cơ và hệ thống nhúng thời gian thực
DSP và FPU: tích hợp bộ xử lý tín hiệu số (DSP) và đơn vị xử lý dấu chấm
động (FPU) giúp nâng cao khả năng xử lý các phép toán phức tạp và tăng hiệu suấtcho các ứng dụng tính toán cao
Với nhiều tính năng đa dạng và hiệu suất cao, STM32F407VGT6 là sự lựachọn lý tưởng cho các dự án yêu cầu hiệu suất xử lý mạnh mẽ, tiết kiệm năng lượng
và khả năng mở rộng giao tiếp với nhiều thiết bị ngoại vi khác nhau
2.2 Cấu tạo vi điều khiển STM32F407VGT6
Trang 125 Nút nhấn thực hiện chức năng Reset mạch
6 Cổng Mini-Jack để cắm tai nghe
Trang 137 Cổng Micro-USB
8 LD1 (red/green LED) báo hiệu kết nối của USB
9 LD2 (red LED) báo hiệu kết nối với nguồn 3.3V
10 User LD3 tương ứng với orange LED
11 User LD4 tương ứng với greem LED
12 User LD5 tương ứng với red LED
13 User LD6 tương ứng với blue LED
Hình 3: Sơ đồ chân dòng vi điều khiển STM32F407xx
Trang 14Hình 4: Sơ đồ mạch của vi điều khiển STM32F407VGT6
Trang 152.3 Các thông số cơ bản của STM32F407VGT6
Số lượng Timer 14 ( 12 timer 16-bit và 2 timer 32-bit)
Loại giao diện CAN, I2C, SDIO, I2S / SPI, UART / USART, USB
Bảng 1: Các thông số kĩ thuật cơ bản của STM32F407VGT6
Trang 16II PHẦN MỀM STM32CUBEIDE
1 Giới thiệu phần mềm SMT32cubeIDE
STM32CubeIDE là một công cụ phát triển tích hợp (IDE) miễn phí và mạnh mẽdành cho vi điều khiển STM32 của STMicroelectronics Nó cung cấp một môitrường toàn diện để viết mã, biên dịch, gỡ lỗi và nạp chương trình cho các dòng viđiều khiển STM32, bao gồm:
Cấu hình ngoại vi: STM32CubeIDE cung cấp một trình hướng dẫn đồ họa trực quan
để cấu hình các ngoại vi STM32, giúp đơn giản hóa quá trình thiết lập phần cứng vàgiảm thiểu lỗi
Tạo mã tự động: IDE tự động tạo mã C/C++ tối ưu hóa cho các ngoại vi được cấu
hình, giúp tiết kiệm thời gian và công sức cho người lập trình
Biên dịch và liên kết: STM32CubeIDE tích hợp trình biên dịch và liên kết GCC, cho
phép biên dịch và liên kết mã C/C++ thành tệp thực thi cho STM32
Gỡ lỗi: IDE cung cấp trình gỡ lỗi GDB mạnh mẽ để gỡ lỗi ứng dụng STM32, giúp
xác định và sửa lỗi nhanh chóng và hiệu quả
Hỗ trợ nhiều hệ điều hành: STM32CubeIDE hỗ trợ nhiều hệ điều hành khác nhau,
bao gồm Windows, macOS và Linux
Ngoài ra, STM32CubeIDE còn có nhiều tính năng hữu ích khác như: hỗ trợnhiều dự án thực tế, quản lý thư viện cũng như có khả năng tích hợp với các công cụSTM32 khác Nhờ những tính năng mạnh mẽ và dễ sử dụng, STM32CubeIDE là lựachọn lý tưởng cho các nhà phát triển nhúng muốn tạo ra các ứng dụng STM32 hiệuquả và đáng tin cậy
Trang 17Hình 5: Các tính năng chính của phần mềm STM32CubeIDE
2 Giao diện phần mềm STM32cubeIDE
Hình 6: Giao diện thiết lập cấu hình cho vi điều khiển STM32F407VGT6
Trang 18Hình 7: Giao diện vùng làm việc phần mềm STM32CubeIDE
Hình 8: Các biểu tượng điều khiển chính để chỉnh sửa, xây dựng và quản lí dự án
Trang 19Hình 9: Các comment chỉ rõ vị trí viết code chương trình
Trang 20III CẢM BIẾN SIÊU ÂM HC-SR04
1 Giới thiệu về cảm biến
Cảm biến siêu âm là thiết bị điện tử đo khoảng cách của một đối tượng mục tiêubằng cách phát ra sóng siêu âm, sau đó âm thanh phản xạ được chuyển đổi thành tínhiệu điện Theo đó, bộ phát của cảm biến có khả năng tạo ra âm thanh nhờ sử dụng tinhthể áp điện Còn bộ thu có vai trò tiếp nhận âm thanh đến và đi từ các vị trí khác nhau
Hình 11: Cảm biến siêu âm HC-SR04 trong thực tế
1 Vcc Chân Vcc dùng để cấp nguồn cho cảm biến, thường là +5V
2 Trigger Chân trigger là chân đầu vào Chân này phải được giữ ở mức
cao trong 10us để khởi tạo phép đo bằng cách gửi sóng siêu âm
3 Echo Chân Echo là chân đầu ra Chân này tăng cao trong một khoảng
thời gian bằng với thời gian để sóng siêu âm quay trở lại cảmbiến
4 Ground Chân này được nối đất
Bảng 2: Giải thích sơ đồ chân cảm biến siêu âm HC-SR04
Trang 21Hình 12: Mô phỏng cách nối chân cảm biến siêu âm HC-SR04
2 Các thông số kĩ thuật của cảm biến
Trang 22Cảm biến siêu âm có nguyên lý hoạt động dựa trên quá trình cho và nhận, có nghĩa
là hệ thống cảm biến sẽ liên tục phát ra các sóng âm thanh ngắn với tần số cao hơn mức
mà con người có thể nghe và có tốc độ lan truyền mạnh Khi các sóng âm này gặp phảivật cản là chất rắn hay chất lỏng thì sẽ tạo ra các bước sóng phản hồi Sau cùng, thiết bịcảm biến sẽ tiếp nhận, phân tích và xác định chính xác khoảng cách từ cảm biến đến vậtcản
Hình 13: Nguyên lí hoạt động của cảm biến siêu âm HC-SR04
Cảm biến siêu âm hoạt động với công thức đơn giản: khoảng cách = tốc độ xthời gian
Vì chúng ta đang sử dụng sóng siêu âm nên tốc độ phổ quát của sóng siêu âm ởđiều kiện phòng là 330m/s Mạch điện tích hợp sẵn trên module sẽ tính toán thờigian cần thiết để sóng siêu âm quay trở lại và bật chân Echo ở mức cao trong cùngmột khoảng thời gian cụ thể, bằng cách này ta cũng có thể biết được thời gian đãthực hiện Bây giờ chỉ cần tính toán khoảng cách bằng vi điều khiển hoặc bộ vi xửlý
Cấp nguồn cho cảm biến bằng cách sử dụng nguồn +5V được điều chỉnh thôngqua các chân nối đất và Vcc của cảm biến Dòng điện được tiêu thụ bởi cảm biếnnhỏ hơn 15mA và do đó có thể được cấp nguồn trực tiếp bằng các chân 5V trên bo
Trang 23mạch (nếu có) Các chân Trigger và Echo đều là các chân I/O và do đó có thể đượckết nối với các chân I/O của vi điều khiển Để bắt đầu đo, chân trigger được đặt ởmức cao 10us và sau đó tắt Hoạt động này sẽ kích hoạt một sóng siêu âm ở tần số40Hz từ bộ phát và bộ thu sẽ đợi sóng quay trở lại Khi sóng được trả lại sau khi nó
bị phản xạ bởi bất kỳ đối tượng nào, chân Echo sẽ tăng cao trong một khoảng thờigian cụ thể bằng với thời gian cần thiết để sóng quay trở lại cảm biến Khoảng thờigian mà chân Echo vẫn ở mức cao được đo bởi vi xử lý hoặc vi điều khiển vì nócung cấp thông tin về thời gian cần thiết để sóng quay trở lại cảm biến Sử dụngthông tin này để tính khoảng cách được đo
4 Ứng dụng của cảm biến siêu âm
Sóng siêu âm giúp người sử dụng có thể đo khoảng cách từ điểm phát đến vật thể
mà không cần phải tiếp xúc nên cảm biến siêu âm được sử dụng rất rộng rãi trong thực
tế, điển hình như:
Công nghiệp ô tô: thiết bị cảm biến siêu âm được gắn vào đầu và đuôi xe để đokhoảng cách và báo hiệu khi xe di chuyển gần đến các vật cản Khi sử dụng, thiết bịnày sẽ tạo ra các tia sóng hình nón để đo khoảng cách giữa các phương tiện hoặcchướng ngại vật đang đứng yên hay di chuyển Khi phát hiện chướng ngại vật, hệthống sẽ gửi cho người lái cảnh báo âm thanh, hình ảnh kèm vạch màu xác địnhkhoảng cách cũng như vị trí giữa xe đến vật cản.
Công nghiệp sản xuất: thiết bị cảm biến ứng dụng trực tiếp trong quá trình phát
hiện các hư hỏng của sản phẩm hay dùng để xác định kích thước và đo mức nhiênliệu của chất rắn
Cảm biến vân tay: cảm biến hoạt động bằng cách thu lại sóng âm được phản hồi lại
từ làn da của người dùng Khi người dùng đặt tay lên màn hình điện thoại, sóng siêu
âm sẽ phát ra Con chip thông minh trong điện thoại sẽ dựa vào các sóng siêu âmđược phản xạ lại để vẽ dấu vân tay bằng hình ảnh 3D
Trang 24 Đo mức nước: người dùng sẽ đặt thiết bị cảm biến siêu âm bên trên các bồn chứa để
điều khiển hoặc báo động mức nước khi vượt cao hơn mức cho phép Nhờ đó,người sử dụng vẫn có thể đo được các loại chất lỏng có tính chất ăn mòn mà khôngcần phải tiếp xúc trực tiếp
Hình 14: Ứng dụng cảm biến siêu âm để phát hiện các vật cản cho xe ô tô