Đồ Án: Hệ Thống Cảnh Báo và Xử Lí Va Chạm trên Ô Tô - ĐH KHTN

Chi tiết đồ án hệ thống cảnh báo va chạm ô tô. Tìm hiểu nguyên lý, sơ đồ khối, lựa chọn linh kiện và kết quả thực tế cho sinh viên tham khảo.

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2024

49
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

TÓM TẮT

MỤC LỤC

DANH MỤC HÌNH ẢNH

DANH MỤC CÁC BẢNG

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. VI ĐIỀU KHIỂN STM32F0407VGT6

1.1.1. Giới thiệu chung về vi điều khiển STM32

1.1.2. Vi điều khiển STM32

1.2. Vi điều khiển STM32F407VGT6

1.2.1. Giới thiệu về vi điều khiển STM32F407VGT6

1.2.2. Cấu tạo vi điều khiển STM32F407VGT6

1.2.3. Các thông số cơ bản của STM32F407VGT6

1.3. PHẦN MỀM STM32CUBEIDE

1.3.1. Giới thiệu phần mềm SMT32cubeIDE

1.3.2. Giao diện phần mềm STM32cubeIDE

1.4. CẢM BIẾN HC SRF04

1.4.1. Giới thiệu về cảm biến

1.4.2. Các thông số kĩ thuật của cảm biến

1.4.3. Nguyên lí hoạt động của cảm biến

1.4.4. Ứng dụng của cảm biến siêu âm

2. CHƯƠNG 2: THỰC THI

2.1. CODE VÀ GIẢI THÍCH HOẠT ĐỘNG

2.2. KẾT QUẢ SẢN PHẨM

3. CHƯƠNG 3: BÁO CÁO VÀ ĐÁNH GIÁ QUÁ TRÌNH HOẠT ĐỘNG NHÓM

3.1. PHÂN CÔNG VÀ ĐÁNH GIÁ TIẾN TRÌNH THỰC HIỆN

3.2. BÀI HỌC KINH NGHIỆM ĐẠT ĐƯỢC

3.3. TỰ ĐÁNH GIÁ VÀ NHẬN XÉT

3.4. ĐÁNH GIÁ VÀ NHẬN XÉT CỦA GIẢNG VIÊN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Hệ Thống Cảnh Báo Va Chạm Ô Tô Đồ Án Chi Tiết

Đồ án môn học về hệ thống cảnh báo va chạm ô tô 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. Trong bố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ụng cá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ông chỉ 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 đa dạ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, đảm bả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ển khai 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. Đồ án này 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ủa nhóm thực hiện. Thời gian thực hiện dự án là 5 tuần, từ ngày 06/05/2024 đến ngày 16/6/2024, do nhóm 34 lớp 22DTV1 thực hiện, dưới sự hướng dẫn của Thầy Trần Tuấn Kiệt và Thầy Nguyễn Như Hoàng. Mục tiêu của nhóm không chỉ là ứ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ướng nghiê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ụng hữu ích trong đời sống và công nghiệp.

1.1. Giới Thiệu Vi Điều Khiển STM32F407VGT6 Trong Đề Tài

STM32F407VGT6 là một vi điều khiển mạnh mẽ thuộc dòng sản phẩm STM32 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 cho cá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: 1 MB Flash và 192 KB RAM, cho phép lưu trữ và xử lý dữ liệu lớn; hỗ trợ nhiều giao thức giao tiếp như UART, SPI, I2C, CAN, USB 2.0 OTG và Ethernet MAC; 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; 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; 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ất cho 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ựa chọ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. Theo tài liệu, Board STM32F407VGT6 có các thành phần chính như: Vi điều khiển STM32F407VGT6, cổng mini USB cung cấp điện và cho phép nạp code, debug chương trình, nút nhấn cho người sử dụng, nút nhấn thực hiện chức năng Reset mạch,...Điều này tạo điều kiện thuận lợi cho việc xây dựng và thử nghiệm hệ thống.

1.2. Tóm Tắt Các Tính Năng Chính Của Hệ Thống

Hệ thống cảnh báo và xử lý va chạm trên ô tô sử dụng STM32 tích hợp nhiều tính năng quan trọng. Đầu tiên, khả năng phát hiện vật cản thông qua cảm biến HC-SR04, cho phép hệ thống xác định khoảng cách đến các vật thể xung quanh xe. Tiếp theo, hệ thống có khả năng cảnh báo người lái thông qua âm thanh hoặc hình ảnh khi phát hiện nguy cơ va chạm. Quan trọng hơn, hệ thống còn có khả năng tự động phanh hoặc điều khiển xe để tránh va chạm, tăng cường an toàn khi lái xe. Cuối cùng, hệ thống có khả năng tích hợp với các hệ thống khác trên xe, như hệ thống định vị GPS hoặc hệ thống điều khiển hành trình, để cung cấp thông tin và hỗ trợ toàn diện cho người lái. Các tính năng này giúp hệ thống trở thành một công cụ hữu ích để giảm thiểu tai nạn giao thông và bảo vệ người lái và hành khách.

II. Thách Thức Giải Pháp Xây Dựng Hệ Thống Cảnh Báo Va Chạm

Việc xây dựng một hệ thống cảnh báo va chạm hiệu quả không hề đơn giản, đòi hỏi giải quyết nhiều thách thức. Một trong những thách thức lớn nhất là đảm bảo độ chính xác và tin cậy của hệ thống, đặc biệt trong các điều kiện thời tiết khắc nghiệt như mưa lớn hoặc sương mù. Ngoài ra, việc xử lý dữ liệu từ cảm biến một cách nhanh chóng và hiệu quả là rất quan trọng để hệ thống có thể phản ứng kịp thời với các tình huống nguy hiểm. Thêm vào đó, việc tích hợp hệ thống vào xe một cách an toàn và không gây ảnh hưởng đến các hệ thống khác cũng là một vấn đề cần được xem xét. Để giải quyết những thách thức này, nhóm nghiên cứu đã tập trung vào việc lựa chọn các cảm biến chất lượng cao, phát triển các thuật toán xử lý dữ liệu thông minh, và thử nghiệm hệ thống trong nhiều điều kiện khác nhau để đảm bảo tính ổn định và tin cậy. Vi điều khiển STM32 đóng vai trò then chốt trong việc xử lý dữ liệu và điều khiển hệ thống, đảm bảo hoạt động chính xác và hiệu quả.

2.1. Các Yếu Tố Ảnh Hưởng Đến Độ Chính Xác Của Cảm Biến

Độ chính xác của cảm biến siêu âm HC-SR04 có thể bị ảnh hưởng bởi nhiều yếu tố. Nhiệt độ và độ ẩm của môi trường có thể ảnh hưởng đến tốc độ lan truyền của sóng siêu âm, dẫn đến sai số trong việc đo khoảng cách. Bề mặt của vật cản cũng có thể ảnh hưởng đến khả năng phản xạ sóng siêu âm, khiến cho việc phát hiện trở nên khó khăn hơn. Ngoài ra, nhiễu từ các nguồn khác, như tiếng ồn hoặc các thiết bị điện tử khác, cũng có thể gây ra sai số trong quá trình đo. Để giảm thiểu những ảnh hưởng này, nhóm nghiên cứu đã sử dụng các kỹ thuật lọc nhiễu, hiệu chỉnh cảm biến, và lựa chọn vị trí lắp đặt phù hợp để đảm bảo độ chính xác cao nhất.

2.2. Vấn Đề Xử Lý Dữ Liệu Nhanh Chóng Hiệu Quả Với STM32

Việc xử lý dữ liệu từ cảm biến một cách nhanh chóng và hiệu quả là rất quan trọng để đảm bảo hệ thống cảnh báo va chạm có thể phản ứng kịp thời với các tình huống nguy hiểm. STM32, với khả năng xử lý mạnh mẽ và tốc độ cao, cho phép hệ thống phân tích dữ liệu từ cảm biến một cách nhanh chóng và đưa ra quyết định chính xác. Nhóm nghiên cứu đã sử dụng các kỹ thuật lập trình tối ưu, như sử dụng ngắt và DMA, để giảm thiểu thời gian trễ trong quá trình xử lý dữ liệu. Ngoài ra, việc sử dụng các thuật toán lọc dữ liệu thông minh cũng giúp loại bỏ nhiễu và tăng độ chính xác của hệ thống.

III. Phương Pháp Sử Dụng Cảm Biến HC SR04 Trong Đồ Án Này

Trong đồ án này, cảm biến siêu âm HC-SR04 được sử dụng để phát hiện vật cản và đo khoảng cách. Cảm biến này hoạt động bằng cách phát ra sóng siêu âm và đo thời gian sóng phản xạ trở lại. Khoảng cách đến vật cản được tính toán dựa trên thời gian này. HC-SR04 có ưu điểm là giá thành rẻ, dễ sử dụng, và có khả năng đo khoảng cách trong phạm vi rộng. Tuy nhiên, cảm biến này cũng có một số hạn chế, như độ chính xác có thể bị ảnh hưởng bởi các yếu tố môi trường và bề mặt vật cản. Để đảm bảo độ chính xác cao nhất, nhóm nghiên cứu đã sử dụng các kỹ thuật lọc nhiễu và hiệu chỉnh cảm biến. Tín hiệu từ cảm biến được đưa vào vi điều khiển STM32 để xử lý và đưa ra quyết định.

3.1. Cách Kết Nối Cấu Hình Cảm Biến HC SR04 Với STM32

Để kết nối cảm biến HC-SR04 với STM32, cần kết nối chân VCC của cảm biến với nguồn 5V, chân GND với đất, chân Trigger với một chân GPIO đầu ra của STM32, và chân Echo với một chân GPIO đầu vào của STM32. Trong code, chân Trigger được kích hoạt để phát ra sóng siêu âm, và chân Echo được sử dụng để đo thời gian sóng phản xạ trở lại. Việc cấu hình các chân GPIO trên STM32 cần được thực hiện đúng cách để đảm bảo cảm biến hoạt động chính xác. Nhóm nghiên cứu đã sử dụng thư viện STM32CubeIDE để cấu hình các chân GPIO và thiết lập các thông số cần thiết cho cảm biến.

3.2. Thuật Toán Tính Khoảng Cách Từ Dữ Liệu Cảm Biến

Thuật toán tính khoảng cách từ dữ liệu cảm biến HC-SR04 dựa trên công thức: khoảng cách = (thời gian * tốc độ âm thanh) / 2. Trong đó, thời gian là thời gian sóng siêu âm phản xạ trở lại, và tốc độ âm thanh là khoảng 343 m/s (tùy thuộc vào nhiệt độ). Việc tính toán cần được thực hiện chính xác để đảm bảo độ chính xác của hệ thống. Nhóm nghiên cứu đã sử dụng các hàm toán học trong thư viện STM32CubeIDE để thực hiện các phép tính và đảm bảo độ chính xác cao nhất. Ngoài ra, các kỹ thuật lọc nhiễu cũng được sử dụng để loại bỏ các giá trị sai lệch và tăng độ tin cậy của dữ liệu.

IV. Ứng Dụng Module Điều Khiển Động Cơ L298N Trong Hệ Thống

Module điều khiển động cơ L298N đóng vai trò quan trọng trong việc điều khiển động cơ DC của mô hình xe tự động. Module này cho phép điều khiển tốc độ và hướng quay của động cơ một cách dễ dàng và hiệu quả. L298N có ưu điểm là giá thành rẻ, dễ sử dụng, và có khả năng điều khiển hai động cơ DC độc lập. Trong đồ án này, L298N được sử dụng để điều khiển động cơ DC của bánh xe, cho phép xe di chuyển và tránh vật cản. Vi điều khiển STM32 gửi tín hiệu điều khiển đến L298N để điều khiển động cơ.

4.1. Sơ Đồ Kết Nối Điều Khiển Động Cơ DC Bằng L298N

Để kết nối và điều khiển động cơ DC bằng L298N, cần kết nối chân OUT1 và OUT2 (hoặc OUT3 và OUT4) của L298N với hai đầu của động cơ DC. Chân IN1 và IN2 (hoặc IN3 và IN4) của L298N được kết nối với các chân GPIO đầu ra của STM32. Các chân ENA và ENB của L298N được kết nối với các chân PWM của STM32 để điều khiển tốc độ động cơ. Bằng cách thay đổi tín hiệu trên các chân IN1, IN2, IN3, và IN4, có thể điều khiển hướng quay của động cơ. Bằng cách thay đổi độ rộng xung của tín hiệu PWM trên các chân ENA và ENB, có thể điều khiển tốc độ động cơ.

4.2. Điều Chỉnh Tốc Độ Hướng Quay Động Cơ Sử Dụng PWM

PWM (Pulse Width Modulation) là một kỹ thuật điều khiển tốc độ động cơ bằng cách thay đổi độ rộng xung của tín hiệu. Khi độ rộng xung lớn, động cơ sẽ quay nhanh hơn, và khi độ rộng xung nhỏ, động cơ sẽ quay chậm hơn. STM32 cung cấp các chân PWM, cho phép tạo ra các tín hiệu PWM với độ chính xác cao. Bằng cách điều chỉnh độ rộng xung của tín hiệu PWM, có thể điều khiển tốc độ động cơ một cách chính xác. Để thay đổi hướng quay của động cơ, cần thay đổi tín hiệu trên các chân IN1 và IN2 (hoặc IN3 và IN4) của L298N.

V. Kết Quả Thử Nghiệm Đánh Giá Hiệu Quả Hệ Thống Va Chạm

Sau khi hoàn thành việc thiết kế và xây dựng mô hình, nhóm nghiên cứu đã tiến hành thử nghiệm hệ thống trong nhiều điều kiện khác nhau. Kết quả thử nghiệm cho thấy hệ thống có khả năng phát hiện vật cản và tránh va chạm một cách hiệu quả. Độ chính xác của cảm biến HC-SR04 đạt mức chấp nhận được, và hệ thống có khả năng phản ứng nhanh chóng với các tình huống nguy hiểm. Tuy nhiên, cũng có một số hạn chế, như độ chính xác có thể bị ảnh hưởng bởi các yếu tố môi trường và bề mặt vật cản. Nhóm nghiên cứu đã đề xuất một số cải tiến để tăng cường hiệu quả của hệ thống.

5.1. Báo Cáo Chi Tiết Về Khoảng Cách Phát Hiện Vật Cản

Các thử nghiệm đã được thực hiện để đánh giá khả năng phát hiện vật cản ở các khoảng cách khác nhau. Kết quả cho thấy hệ thống có khả năng phát hiện vật cản ở khoảng cách từ 2cm đến 400cm, với độ chính xác cao nhất ở khoảng cách gần. Khi khoảng cách tăng lên, độ chính xác có thể giảm do ảnh hưởng của các yếu tố môi trường và bề mặt vật cản. Tuy nhiên, hệ thống vẫn có khả năng phát hiện vật cản ở khoảng cách xa, cho phép người lái có đủ thời gian để phản ứng. Các kết quả thử nghiệm đã được ghi lại và phân tích để đánh giá hiệu quả của hệ thống.

5.2. Phân Tích Thời Gian Phản Ứng Của Hệ Thống Trong Thực Tế

Thời gian phản ứng của hệ thống là một yếu tố quan trọng để đảm bảo an toàn khi lái xe. Các thử nghiệm đã được thực hiện để đo thời gian từ khi hệ thống phát hiện vật cản đến khi hệ thống thực hiện hành động tránh va chạm. Kết quả cho thấy thời gian phản ứng của hệ thống là rất nhanh, cho phép người lái có đủ thời gian để phản ứng hoặc hệ thống tự động thực hiện hành động tránh va chạm. Nhóm nghiên cứu đã sử dụng các kỹ thuật lập trình tối ưu để giảm thiểu thời gian phản ứng của hệ thống.

VI. Kết Luận Hướng Phát Triển Hệ Thống Cảnh Báo Ô Tô

Đồ án môn học về hệ thống cảnh báo va chạm ô tô sử dụng STM32 đã đạt được những kết quả đáng khích lệ. Hệ thống có khả năng phát hiện vật cản và tránh va chạm một cách hiệu quả, góp phần tăng cường an toàn khi lái xe. Tuy nhiên, cũng có một số hạn chế cần được khắc phục. Trong tương lai, nhóm nghiên cứu sẽ tiếp tục phát triển hệ thống để tăng cường độ chính xác, giảm thiểu thời gian phản ứng, và tích hợp thêm các tính năng mới. Đồ án này là một bước tiến quan trọng trong việc phát triển các hệ thống hỗ trợ lái xe thông minh.

6.1. Gợi Ý Các Cải Tiến Để Nâng Cao Độ Chính Xác Cảm Biến

Để nâng cao độ chính xác của cảm biến, có thể sử dụng các kỹ thuật lọc nhiễu tiên tiến hơn, hiệu chỉnh cảm biến thường xuyên hơn, và sử dụng nhiều cảm biến để tăng độ tin cậy. Ngoài ra, có thể sử dụng các cảm biến khác, như cảm biến lidar hoặc radar, để bổ sung cho cảm biến siêu âm. Cần nghiên cứu và thử nghiệm các giải pháp khác nhau để tìm ra phương pháp tối ưu nhất.

6.2. Hướng Tích Hợp Thêm Các Tính Năng An Toàn Cao Cấp

Trong tương lai, có thể tích hợp thêm các tính năng an toàn cao cấp, như hệ thống phanh khẩn cấp tự động, hệ thống cảnh báo điểm mù, hệ thống hỗ trợ giữ làn đường, và hệ thống điều khiển hành trình thích ứng. Việc tích hợp các tính năng này sẽ giúp tăng cường an toàn khi lái xe và giảm thiểu tai nạn giao thông. Cần nghiên cứu và phát triển các thuật toán điều khiển thông minh để đảm bảo các tính năng này hoạt động hiệu quả.

15/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT I. VI ĐIỀU KHIỂN STM32F0407VGT6 1. Giới thiệu chung về vi điều khiển STM32 1.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ựa chọn hàng đầu trong nhiều ứng dụng nhúng và dự án IoT (Internet of Things).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 đặc biệ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ình phát triển.

- 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ình trở nên thuận tiện và chuyên nghiệp. Trang 5 - 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.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,.4 Các dòng vi điều khiển STM32 phổ biến Trang 6 Hình 1: Các dòng vi điều khiển STM32 2. Vi điều khiển STM32F407VGT6 2. 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ẩm STM32 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 cho cá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 7  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ất cho 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ựa chọ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. Cấu tạo vi điều khiển STM32F407VGT6 Trang 8 Hình 2: Board STM32F407VGT6 thực tế Các thành phần trên board STM32F407VGT6 bao gồm: 1.

Vi điều khiển STM32F407VGT6 2. Cổng mini USB cung cấp điện và cho phép nạp code, debug chương trình 3. Embedded ST-LINK/V2-A 4. Nút nhấn cho người sử dụng 5.

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 9 7. 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. 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 10 Hình 4: Sơ đồ mạch của vi điều khiển STM32F407VGT6 Trang 11 2. Các thông số cơ bản của STM32F407VGT6 Đặc tính Giá trị Kích thước bộ nhớ 1MB Độ rộng dữ liệu bus 32 bit Độ phân giải ADC 12 bit Tần số hoạt động tối đa 168 MHz Số lượng chân I/O 82 Kích thước RAM 192 kB Nguồn cấp điện áp 1.6V Nhiệt độ hoạt động -40C – 85C Số lượng kênh ADC 16 kênh Bộ dao động tinh thể 4 – 26 MHz Số lượng Timer 14 ( 12 timer 16-bit và 2 timer 32-bit) Năng lượng hoạt động Thấp Loại RAM dữ liệu SRAM 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 12 II. 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ôi trườ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ựa chọ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ệu quả và đáng tin cậy. Trang 13 Hì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 14 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ự án Trang 15 Hì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 Trang 16 III. 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êu bằng cách phát ra sóng siêu âm, sau đó âm thanh phản xạ được chuyển đổi thành tín hiệ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 tinh thể á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ế Số chân Tên chân Mô 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ảm biế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 17 Hì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 Đặc tính Giá trị Điện áp hoạt động +5VDC Dòng điện tĩnh < 2mA Dòng điện hoạt động 15mA Góc đo 300 Khoảng cách đo được 2-400cm Độ chính xác 3mm Độ rộng xung ngõ vào 10uS Kích thước 45mm x 20mm x 15mm Trọng lượng xấp xỉ 10gam Bảng 3: Các thông số kĩ thuật cơ bản của cảm biến HC-SR04 3.

Nguyên lí hoạt động của cảm biến Trang 18 Cả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ải vậ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ật cả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 độ x thờ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ời gian cần thiết để sóng siêu âm quay trở lại và bật chân Echo ở mức cao trong cùng mộ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ông qua 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ến nhỏ 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 mạch (nếu có). Các chân Trigger và Echo đều là các chân I/O và do đó có thể được kế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à Trang 19 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ