Tải bản đầy đủ (.pptx) (23 trang)

Thiết kế mạch cảnh báo lùi xe cho ô tô

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.35 MB, 23 trang )

CHÀO MỪNG THẦY
VÀ CÁC BẠN ĐÃ
ĐẾN VỚI BÀI
THUYẾT TRÌNH
CỦA NHĨM


Môn: Đồ án thiết kế hệ thống nhúng
Bài Tập Lớn
Đề tài Thiết kế mạch cảnh báo lùi xe cho ô tô
Giáo viên hướng dẫn: N . N . Minh


Đồ án thiết kế hệ thống nhúng

I. Cơ sở lí thuyết
III. Mạch nguyên lí và
Ứng dụng

II. Triển khai hệ thống


1

Tổng quan về vi điều khiển STM32 và
STM32F103C8T6

I. Cơ sở lí thuyết
 STM32 là một trong những dịng chip phổ biến của ST
với nhiều họ thông dụng như F0, F1, F2, F3, F4…
Stm32f103 thuộc họ F1 với lõi là ARM COTEX M3.


STM32F103 là vi điều khiển 32 bit, tốc độ tối đa là
72Mhz. Giá thành cũng khá rẻ so với các loại vi điều
khiển có chức năng tương tự. Mạch nạp cũng như
cơng cụ lập trình khá đa dạng và dễ sử dụng.


 Hand tracking là công nghệ được phát triển để theo dõi
 Mộtchuyển
số ứngđộng
dụngvà
chính:
dùng cho
để của
điềubàn
khiển
dụng,
mơ phỏng
lại driver
mơ hình
tayứng
trong
điềukhơng
khiểngian.
ứng Việc
dụngnày
thơng
thường,
thiếtbằng
bị cầm
và thuốc,

được
thực hiện
cáctay
phân
tích cácmáy
tínhhình
và thiết
bị ngoại
vi video.
chơi game,
ứng
trong
ảnh thơng
qua
Và sauGPS
đó cơ
bànbản,
tay các
được
mơdụng
phỏng
cơng
lập trình PLC, biến tần, máy in, máy qt, hệ
lạinghiệp,
bằng mơthiết
hìnhbị3D.
thống cảnh báo, thiết bị liên lạc nội bộ…
Tổng quan về đề tài
 Cấu hình chi tiết của vi điều khiển STM32F103C8T6


2


M3chỉ
vớibàn
clocktay,
max
là 72Mhz.
 ARM
Đề tài32-bit
NhậnCortex
dạng cử
chúng
em sẽ xây dựng dựa
trên 3 cơng việc chính:
• Bộ nhớ:
• Xây dựng ứng dụng nhận diện bàn tay và vẽ ra 21 điểm
3D trên bàn tay
64dựng
kbytes
bộnăng
nhớđếm
Flash
• o Xây
chức
số (bộ
ngónnhớ
tay lập trình).
20kbytes
• o Xây

dựng tròSRAM.
chơi kéo búa bao


• Bộ nhớ:
o Điện áp hoạt động 2.0V -> 3.6V.
o Power on reset(POR), Power down reset(PDR), programmable voltage
detector (PVD).
o Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz.
o Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz.
o Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC.


2

HC-SR04

 Cảm biến HC-SR04 sử dụng sóng siêu âm và có thể đo
khoảng cách trong khoảng từ 2 -> 300cm.

Cảm biến HC-SR04 có 4 chân là: Vcc, Trig, Echo, GND.
Vcc
Trig
Echo

5V

Một chân Digital output
Một chân Digital input
GND


GND


 Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (10us) từ chân
Trig, sau đó cảm biến sẽ tạo ra 1 xung HIGH ở chân Echo cho đến
khi nhận lại được sóng phản xạ ở chân này. Chiều rộng của xung
sẽ bằng với thời gian sóng siêu âm được phát ra từ cảm biến và
quay trở lại.
 Tốc độ của âm thanh trong khơng khí là 340m/s, tương đương
29,412 us/cm. Khi tính được thời gian, ta sẽ chia cho con số này
để tính khoảng cách.
 Thơng số kỹ thuật của cảm biến siêu âm HC-SR04:






Điện áp 5V DC
Dịng hoạt động < 2Ma
Mức cao: 5V, mức thấp: 0V
Góc quét tối đa: 15 độ
Khoảng cách đo: 2cm- 450cm(± 0.3 cm)


2

Tổng quan về hệ điều hành thời gian thực RTOS


 RTOS là viết tắt của cụm từ Real-time operating system hay hệ
điều hành thời gian thực thường được nhúng trong các dòng vi
điều khiển dùng để điều khiển thiết bị một cách nhanh chóng và
đa nhiệm (multi tasking). Để hiểu rõ ràng nó là gì thì trước hết ta
sẽ làm rõ khái niệm về hệ điều hành.

 Hệ điều hành (Operating System – OS) là một phần mềm
dùng để điều hành, quản lý toàn bộ tất cả thành phần
(bao gồm cả phần cứng và phần mềm) của thiết bị điện
tử.


 Vậy đơn giản hệ điều hành giống như hội đồng quản trị. Họ có
quyền quyết định ai làm gì và thời gian như thế nào. Các nhân
viên cũng như các ứng dụng, nhận lệnh của cấp trên và thực thi
các cơng việc theo đúng chức năng của mình.
 Thực tế hệ điều hành thời gian thực còn chia thành 2 loại:
 Soft-realtime: Sử dụng cho các ứng dụng cruise control (điều
khiển hành trình) trong ơ tơ và các ứng dụng viễn thông.
 Hard-realtime: Sử dụng trong các ứng dụng điều khiển máy
bay, động cơ điện.
 RTOS được sử dụng rất nhiều khi lập trình ESP32, ESP8266, STM32
và các dịng chip khác.


 Ưu điểm khi sử dụng hệ diều hành thời gian thực RTOS
• Chia sẻ tài nguyên một cách đơn giản: cung cấp cơ chế để phân
chia các yêu cầu về bộ nhớ và ngoại vi của MCU
• Dễ debug và phát triển: Mọi người trong nhóm có thể làm việc
một cách độc lập, các lập trình viên thì có thể tránh được các

tương tác với ngắt, timer, với phần cứng
• Tăng tính linh động và dễ dàng bảo trì: thơng qua API của RTOS,

 Cách hoạt động của RTOS
• RTOS là một phân đoạn hoặc một phần của chương trình, trong
đó nó giải quyết việc điều phối các task, lập lịch và phân mức ưu
tiên cho task, nắm bắt các thơng điệp gửi đi từ task.
• RTOS khá phức tạp, nói một cách dễ hiểu hơn là nó thực hiện
việc xử lý các trạng thái máy (State Machine).


 Để giải quyết một bài toán nhiều trạng thái máy, thông thường
chúng ta sử dụng code sau:


 Chương trình sẽ thực thi từ states 1 tới states 4 sau đó quay
vịng lại. Bất kì khi nào states thay đổi, chương trình sẽ nhảy qua
phục vụ task đó.
 Ví dụ: nếu trong task 1 có lệnh states = 4, thì ngay sau khi Task 1
được thực thi xong chương trình sẽ nhảy qua Task 4 mà bỏ qua
Task 2 và 3.
 Nhược điểm của phương pháp này đó là tài nguyên sử dụng
chung, tốc độ chuyển chậm khi thay đổi states bởi nó phải hồn
thành mỗi Task trước khi chuyển sang Task khác, khó kiểm sốt
khi nhiều tác vụ (Task)
 Vậy nên RTOS ra đời giải quyết các nhược điểm trên.


1


II. TRIỂN KHAI ỨNG DỤNG

Sơ đồ khối của hệ thống


 Hệ thống của chúng em gồm cảm biến HCSR04, vi điều khiển
STM32F103C8T6 , màn hình hiển thị (OLED) và Led báo.
 Cách thức hoạt động của hệ thống
 Cảm biến HCSR04 sẽ làm nhiệm vụ đo khoảng cách từ vị
trí đến vật thể rồi gửi dữ liệu cho vi xử lí STM32. Từ vi xử
lí STM32 truyền dữ liệu để hiện thị khoảng cách lên màn
hình OLED. Nếu như khoảng cách nhỏ hơn giới hạn quy
định thì sẽ bật cách báo ở Led => Led sáng báo hiệu sắp
có va chạm với vật thể để chủ xe kịp thời xử lí.
 Đưa vào hệ thống điều hành thời gian thực RTOS
 STM32 là vi xử lí trung tâm
 Có 3 task xử lí chính : Sensor, Oled, Led


• Task Sensor (đọc cảm biến)
o Thực hiện xử lí cho HCSR04, tính khoảng thời gian (biến time) từ
khi ta phát 1 xung rất ngắn (10us) từ chân Trig, sau đó cảm biến
sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được
sóng phản xạ ở chân này.
o Tốc độ của âm thanh trong khơng khí là 340m/s, tương đương
29,412 us/cm. Như vậy ta có thể tính khoảng cách (biến lenght)
từ vị trí đến bất kì vật thể nào trong phạm vi khi ta đã có thời
gian và vận tốc.
o Code



Code task Sensor


• Task OLED (hiển thị dữ liệu)
o Oled sẽ lấy dữ liệu của Sensor để hiển thị lên màn hình, vì màn
hình oled chỉ có 48px nên ta sẽ ánh xạ dữ liệu Sensor từ khoảng
0:137 -> 0:47 để có thể hiển thị dữ liệu lên màn Oled.
o Vì để tránh mất mát dữ liệu nên sẽ tạo ra một Queue gồm có
200 ơ để chứa dữ liệu. Sensor sẽ truyền vào trong ơ chứa dữ
liệu của Queue sau đó Oled lấy dữ liệu trong Queue để hiển thị
lên màn hình.
o Code


Code Task OLED


 Task Task Led (điều khiển bật tắt)
o Tạo biến count = 0, đặt chân 13 là SetBit, chân 7 là ResetBits khi
Sensor check = 1, chân 13 sẽ thành ResetBit, chân 7 sẽ thành
SetBit khi đó led sẽ bật để cảnh báo khoảng cách dưới 10.Sau đó
khi Sensor check = 0 là khi khoảng cách trên 10, chân 13 sẽ
thành SetBit, chân 7 sẽ thành ResetBit khi đó led sẽ tắt.
o Code

Code Task Led


1


Sơ đồ khối của hệ thống

III. Mạch nguyên lí và Ứng dụng

Mạch cảnh báo khi gặp vật cản





×