You are on page 1of 31

Hệ thống thời gian thực

NHÓM SV THỰC HIỆN:


Nguyễn Hoàng Hùng
Nguyễn Văn Phước Nguyên
Nguyễn Thọ Thành
Lê Văn Viên
Trần Công Truyền
I - Giới thiệu chung về hệ thống thời gian
thực

II - Yêu cầu dự án

III - Phương án thiết kế


NỘI DUNG
IV - Semaphore và Mutex

V – Chi tiết về dự án
I-GIỚI THIỆU CHUNG
• Hệ thống thời gian thực: là 1 hệ thống chỉ cần hoàn thành các công việc, các tác vụ trong 1
khoảng thời gian cho phép.
• Áp dụng hệ thống thời gian thực và vận chuyển tự động trong nhà máy
• Chia làm 2 loại dựa trên tiêu chí đánh giá hậu quả của việc
không đáp ứng ràng buộc về thời gian:
 Thời gian thực cứng (hard real-time):
 Phải tiếp nhận và nắm bắt được scheduling
deadline của nó tại mỗi và mọi thời điểm
 Sai sót sẽ dẫn đến hậu quả khôn lường.
Ví dụ về hệ thời gian thực cứng:
 Thời gian thực mềm (soft real-time):
 Hệ thống có thể thỉnh thoảng bị trễ mà không
gây ra hậu quả nghiêm trọng
 Giảm độ tin cậy và chất lượng của đối tượng
đối với hệ thống.
• Trên thực tế, có rất nhiều hệ thống phối hợp cả 2 loại trên
•Ví dụ về hệ thống thời gian thực mềm:
II-YÊU CẦU DỰ ÁN
• Yêu cầu dự án: Thiết kế và
xây dựng hệ thống robot có thể
chạy thẳng và tránh chướng
ngại vật có ứng dụng ioT
• Ứng dụng hệ thời gian thực với kế hoạch ưu tiên
• Đảm bảo những xử lý không vượt quá thời gian
cho phép
• Các dịch vụ có thể truy cập vào phần cứng với
khoảng thời gian ngắn nhất
Môi trường
III – PHƯƠNG ÁN THIẾT
KẾ
Cảm biến
Cảm biến
phát hiện
siêu âm
zone

SƠ ĐỒ
KHỐI CỦA
STM32F4
DỰ ÁN Arduino Uno
NUCLEO
Động cơ

Module
Lora The Thing Network Cayenne
RFM95
Phương án đo khoảng cách
• Cho xe xuất phát với tốc độ 200
• Khi cảm biến siêu âm phát hiện khoảng cách Ostracle_Distance < 20
• Điều khiển servo có gắn cảm biến siêu âm quay mỗi lần 30 độ, phát hiện vật cản 2 hướng trái
và phải
• So sánh khoảng cách 2 bên, bên nào nhỏ hơn thì sẽ rẽ hướng đó
1 . Vi đ i ề u k h i ể n
• Sử dụng vi điều khiển STM32F4

• Thư viện HAL phần mềm miễn phí toàn diện bao gồm
nhiều ví dụ về phần mềm

• Được hỗ trợ bởi nhiều môi trường phát triển tích hợp (IDE)
bao gồm các IDE dựa trên IAR, Keil, GCC
2.Board
• Tên: Arduino Uno

• Sử dụng vi điều khiển ATmega328 (8-bit)

• Nguồn sử dụng: 5VDC (qua MicroUSB hoặc Vin)

• Số chân Digital I/O: 14 (6 chân PWM), Analog: 8 (độ phân


giải 10-bit)

• EEPROM: 1KB

• Kích thước: 1.85cm x 4.3cm


2.Module truyền
thông
• Tên: RFM95

• Nguồn: DC 1.8V ~ 3.7V

• Công suất truyền: 20dBm

• Kháng trở ăng ten: 50 Ohm

• LoRa 0,018K ~ 37,5Kbps (AT)

• Tốc độ truyền: 200Kbps

• Giao diện dữ liệu: Giao diện SPI

• Tần số hoạt động: 923 MHZ

• Chế độ điều chế: LoRA / FSK / GFSK / 00K

• Khả năng chống nhiễu: IIP3 = -12,5dBm

• Khoảng cách kết nối:> 8000m (AT)


3.Cảm biến
I - Cảm biến siêu âm

• Tên: HC-SR04

• Được dùng chủ yếu để đo khoảng cách

• Điện áp làm việc: 5VDC, dòng điện tĩnh: <2mA.

• Tín hiệu đầu ra: tín hiệu logic, mức cao 5V, mức thấp 0V.

• Góc đọc cảm biến: <15 độ.

• Khoảng cách phát hiện: 2-450cm.


3.Cảm biến
II
• -  Cảm biến gia tốc
• Tên: GY-521 6DOF IMU MPU6050

• Điện áp sử dụng: 3 ~ 5 Vdc

• Chuẩn giao tiếp: I2C

• Được sử dụng để đo 6 thông số:


• 3 trục góc quay Gyro có giá trị trong khoảng: , 500,
1000, 2000 degree/second
• 3 trục gia tốc hướng Accelerometer có giá trị trong
khoảng: , 4, 6, 8 g
Giãn đồ quy trình
Distance Arduino Module Lora The Thing
Encoder Photoresistor STM32F411 Gateway Cayenne
sensor sr04 Uno RFM95 Network

distance
UART SPI LORA 3G
pulse Ethernet
Zone 1 Backhaul

UART SPI LORA 3G


pulse Ethernet
Zone 2 Backhaul

UART SPI LORA 3G


pulse Ethernet
Zone 3 Backhaul
F r e e RTO S

1 2 3
IV – SEMAPHORE VÀ
MUTEX
Là một cơ chế khóa

Dùng để ngăn chặn 2 task cùng truy


MUTEX cập vào 1 tài nguyên tại 1 thời điểm

Cơ chế mutex được dùng trong cả


thiết kế hardware và software.
SEMAPHORE

Là một advance mutex dùng để quản lý và bảo vệ tài


nguyên dùng chung

Là một cơ chế báo hiệu trong đó một task ở trạng thái


chờ được báo hiệu bởi một task khác để thực hiện.

Được sử dụng để giao tiếp các sự kiện.


• Có 2 loại semaphore:
• Binary semaphore:
• Có 2 giá trị nguyên là 0 và 1
• Được dùng để đồng bộ giữa các tasks và giữa task và ngắt
• Counting semaphore:
SEMAPHORE
• Có giá trị lớn hơn 0
• Được dùng để đếm sự kiện
• Giá trị đếm là sự khác biệt giữa số lượng sự kiện đã xảy ra và
số lượng đã được xử lý
III – CHI TIẾT VỀ DỰ ÁN
C ô n g v i ệ c đ ư ợ c c h i a t h à n h 2 t a s k :
Ta s k 1 : đ ọ c c ả m b i ế n v à đ i ề u k h i ể n đ ộ n g c ơ
Ta s k 2 : t r u y ề n t h ô n g
H ì n h ả n h t h ự c t ế s ả n p h ẩ m G ử i d ữ l i ệ u k h o ả n g c á c h l ê n C a y e n n e
Quy trình triển khai dự án

Phân tích tính


Truyền thông Uart
năng trong hệ Truyền thông Lora
STM32 - Arduino
thống

Tìm hiểu module, Code đọc cảm Đưa dữ liệu lên


đọc datasheets & biến, tính toán giá The Thing
reference designs trị analog Network, Cayenne

Hiệu chỉnh sản


Xác định công Code PWM động
phẩm,hoàn thiện
thức tính toán tốc cơ bám tốc độ
sản phẩm, đánh
độ, khoảng cách mong muốn
giá tính ổn định
CẢM ƠN THẦY VÀ CÁC
BẠN ĐÃ LẮNG NGHE

You might also like