1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ ÁN MÔN HỌC ĐỀ TÀI XE NÉ VẬT CẢN

15 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xe Né Vật Cản
Tác giả Tất Quỳnh Chi
Người hướng dẫn Nguyễn Hữu Châu Minh
Trường học Học Viện Hàng Không Việt Nam
Chuyên ngành Điện - Điện Tử
Thể loại Đồ án môn học
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 15
Dung lượng 1,52 MB

Nội dung

Điện áp hoạt động là 5V, dòng điện qua các chân này ở chế độ bình thường là 20mA, cấp dòng quá 40mA sẽ phá hỏng vi điều khiển.. -Sử dụng đầu vào 5V: miễn là đầu vào được cấp là 5V ổn địn

Trang 1

BỘ GIAO THÔNG VẬN TẢI

HỌC VIỆN HÀNG KHÔNG VIỆT NAM

KHOA ĐIỆN-ĐIỆN TỬ

ĐỒ ÁN MÔN HỌC

ĐỀ TÀI: XE NÉ VẬT CẢN

Giáo viên hướng dẫn: Nguyễn Hữu Châu Minh

Sinh viên thực hiện: Tất Quỳnh Chi-2255130024

Lớp học phần: 22ĐHTĐ01

Thành phố Hồ Chí Minh - 06/2024

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan đồ án môn học này là công trình nghiên cứu của bản thân, được đúc kết từ quá trình học tập và nghiên cứu thực tiễn trong thời gian qua Các thông tin và số liệu được sử dụng trong đồ án môn học này là hoàn toàn trung thực

Tp,HCM, tháng 0 6 , năm 2024

Người cam đoan Lời cảm ơn

Lời đầu tiên cho em gửi lời cảm ơn đến nhà trường, khoa Điện - Điện tử, các thầy cô đã truyền đạt kiến thức chuyên ngành và các lĩnh vực liên quan giúp chúng

em có những bài học bổ ích và thú vị để sau này có công góp phần xây dựng, làm việc, phát triển xã hội

Trong thời gian học tập em đã cố gắng để hoàn thành đề tài, vì có mặt hạn chế

về kiến thức và nội dung nghiên cứu nên sẽ có nhiều sai sót Em xin chân thành cảm ơn giảng viên Nguyễn Hữu Châu Minh đã giúp đỡ và hỗ trợ em trong quá trình thực hành đề tài Sự hướng dẫn của thầy là một yếu tố quan trọng để em được thành công trong đề tài này

MỤC LỤC

I.Giới thiệu chung Arduino UNR3

1.Khái niệm cơ bản

2.Thông số kĩ thuật

3.Cấu trúc Atmega328P

4.Cấp nguồn

II Module L298N

1 Khái quát

2.Cấu trúc, thông số

3.Nguyên lí hoạt động

III Cảm biến siêu âm HC-SR04

1.khái niệm

2 Thông số

3 Nguyên lí hoạt động

4.Đo khoảng cách dùng arduino

IV.Xe né vật cản

1 Linh kiện

2.Nguyên lí hoạt động

V.Tổng kết

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

….

………

………

………

………

………

………

………

………

………

………

………

………

………

Trình bày

Nội dung

Phản biện

Tổng điểm

Tp.HCM, ngày… , tháng … , năm 2024

Giáo viên hướng dẫn (ký tên và ghi rõ họ tên)

Trang 4

I Giới thiệu chung ARDUINO R3:

1 Khái niệm cơ bản:

-Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atmega328P Uno

có 14 chân I/O digital ( trong đó có 6 chân xuất xung PWM), 6 chân Input analog, 1 thạch anh 16MHz, 1 cổng USB, 1 jack nguồn DC, 1 nút reset

-2.Thông số kĩ thuật:

Vi điều khiển Atmega328P

Điện áp hoạt động 5V

ĐIện áp cấp (hoạt động tốt) 7-12V

Điện áp cấp(giới hạn) 6-12V

Chân I/O digital 14 chân (6 chân PWM)

Chân input analog 6 chân (A0-A5)

Dòng điện mỗi chân input 20mA

Dòng điện chân 3.3V 50mA

EEPROM 1KB

Tốc độ xung nhịp 16MHz

3.Cấu trúc của Atmega328P:

Trang 5

♦ Digital: Các chân I/O digital (chân số 2 – 13 ) được sử dụng làm chân nhập,

xuất tín hiệu số thông qua các hàm chính : pinMode(), digitalWrite(),

digitalRead() Điện áp hoạt động là 5V, dòng điện qua các chân này ở chế độ bình thường là 20mA, cấp dòng quá 40mA sẽ phá hỏng vi điều khiển

♦ Analog : có 6 chân Input analog (A0 – A5), độ phân giải mỗi chân là 10 bit

(0 – 1023 ) Các chân này dùng để đọc tín hiệu điện áp 0 – 5V (mặc định) tương ứng với 1024 giá trị, sử dụng hàm analogRead()

♦ PWM : các chân được đánh số 3, 5, 6, 9, 10, 11; có chức năng cấp xung

PWM (8 bit) thông qua hàm analogWrite()

♦ UART: Atmega328P cho phép truyền dữ liệu thông qua hai chân 0 (RX) và

chân 1 (TX)

4.Cấp nguồn cho Arduino:

-Cổng USB :có thể kết nối với máy tính để bàn hoặc máy tính xách tay Nếu kết nối được liệt kê, tức là máy tính nhận được thiết bị, dòng điện cung cấp cho bo mạch là 500mA ở 5V

-Sử dụng đầu vào 5V: miễn là đầu vào được cấp là 5V ổn định và được điều chỉnh Chân 5V bỏ qua bộ điều chỉnh điện áp và tất cả các biện pháp an toàn

có trên Arduino Uno, vì vậy nếu đầu vào vượt quá 5V bo mạch có thể bị hỏng

Trang 6

-Sử dụng pin lớn hơn 5V:Nối với pin 9V bằng cách nối cực dương với chân Vin và cực âm với chân GND Cổng Vin cho phép đầu vào từ 7 đến 12 V, nhưng nên sử dụng pin 9V

II Module L298N:

1.Khái quát:

L298N là module điều khiển động cơ trong các xe DC và động cơ bước Module có một IC điều khiển động cơ L298 và một bộ điều chỉnh điện áp 5V 78M05 Module L298N có thể điều khiển tối đa 4 động cơ DC hoặc 2 động

cơ DC với khả năng điều khiển hướng và tốc độ

2.Cấu trúc, thông số:

Tên chân Mô tả

IN1 & IN2 Các chân đầu vào điều khiển hướng quay động cơ A

IN3 & IN4 Các chân đầu vào điều khiển hướng quay của Động cơ B

ENA Kích hoạt tín hiệu PWM cho Động cơ A

VIB Kích hoạt tín hiệu PWM cho Động cơ B

OUT1 & OUT2 Chân đầu ra cho động cơ A

OUT3 & OUT4 Chân đầu ra cho Động cơ B

12V Đầu vào cấp nguồn 12

5V Cấp nguồn cho mạch logic bên trong IC L298N

Trang 7

GND Chân nối đất

Module điều khiển: 2A L298N

Chip điều khiển: Cặp H-Bridge L298N

Điện áp cấp cho động cơ (Tối đa): 46V

Dòng điện cấp động cơ (tối đa): 2A

Điện áp logic: 5V

Điện áp hoạt động của IC: 5-35V

Dòng điện hoạt động IC: 2A

Dòng logic: 0-36mA

Công suất tối đa (W): 25W

Cảm biến dòng điện cho mỗi động cơ

Có tản nhiệt cho hiệu suất tốt hơn

Có đèn báo LED bật nguồn

3 Nguyên lí hoạt động:

L298N có bốn bộ khuếch đại công suất làm việc độc lập.Hai trong số đó tạo thành mạch H-bridge A và hai bộ khuếch đại còn lại tạo thành mạch H-bridge

B Một H-bridge dùng để chuyển đổi cực điều khiển hướng quay của động cơ điện một chiều 2 mạch H-bridge điều khiển động cơ bước hai cực

Ứng dụng điều khiển động cơ

Trang 8

Bộ điều chỉnh điện áp chỉ được bật khi đặt jumper Khi nguồn điện nhỏ hơn hoặc bằng 12V thì mạch bên trong sẽ được cấp nguồn bởi bộ điều chỉnh điện

áp và chân 5V có thể sử dụng như một chân đầu ra để cấp nguồn cho vi điều khiển Không nên đặt jumper khi nguồn điện lớn hơn 12V

Các chân số D7, D6, D5 và D4 của Arduino sẽ nối tương ứng với IN1, IN2, IN3 và IN4 của L298

Chiều quay của động cơ được điều khiển bằng cách xuất các đầu ra HIGH hoặc LOW tại các chân INx

Ví dụ với động Cơ A: chân IN1 là chân OutA.1, chân IN2 là chân OutA.2 -Cấp cực dương vào IN1, cực âm vào IN2 => motor quay một chiều

-Cấp cực âm vào IN1, cực dương vào IN2 => motor quay chiều còn lại

Trang 9

III Cảm biến siêu âm HC-SR04:

1.Khái niệm:

-là một thiết bị cảm biến hoạt động dựa trên sóng siêu âm

-chủ yếu là để đo khoảng cách hoặc vận tốc Ngoài ra được sử dụng trong các ứng dụng như làm sạch bằng sóng siêu âm hoặc dùng trong siêu âm y khoa

2.Thông số:

Điện áp hoạt động: 5VDC

Dòng tiêu thụ: 10~40mA

Chân tín hiệu: Echo, Trigger

Góc quét:<15 độ

Tần số phát sóng: 40Khz

Khoảng cách đo được: 2~450cm

Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ)

3.Nguyên lí hoạt động:

Trang 10

-Sử dụng nguyên lý phản xạ sóng siêu âm Cảm biến gồm 2 module, 1

module phát ra sóng siêu âm và 1 module thu sóng siêu âm phản xạ về -Đầu tiên cảm biến sẽ phát ra 1 sóng siêu âm với tần số 40khz Nếu có

chướng ngại vật trên đường đi, sóng siêu âm sẽ phản xạ lại và tác động lên module nhận sóng

-Bằng cách đo thời gian từ lúc phát đến lúc nhận sóng ta sẽ tính được khoảng cách từ cảm biến đến chướng ngại vật

Khoảng cách = thời gian * vận tốc âm thanh (340 m/s) / 2

4.Đo khoảng cách dùng Arduino:

Bước 1: phát 1 xung rất ngắn (5 microSeconds - ú) từ chân Trig.

Bước 2: tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ hiều rộng của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biển và quay trở lại

Bước 3: In kết quả

Code mẫu

const int trig = 8; // chân trig của HC-SR04

const int echo = 7; // chân echo của HC-SR04

void setủp()

{

Serial.begin(9600);

pinMode(trig,OUTPUT);

pinMode(echo,INPUT);

}

void loop()

{

ủnsigned long dủration;

int distance;

Trang 11

/* Phát xủng từ chân trig */

digitalWrite(trig,0);

delayMicroseconds(2);

digitalWrite(trig,1

delayMicroseconds(5

digitalWrite(trig,0

/* Tính toán thời gian */

// Đo độ rộng xủng HIGH ở chân echo dủration = pủlseIn(echo,HIGH);

distance = int(dủration/2/29.412);

Serial.print(distance);

Serial.println("cm");

delay(200);

}

IV Xe tự né vật cản:

1 Linh kiện:

-Arduino UNO R3

-Module L298N

-Cảm biến siêu âm HC-SR04

-Dây cắm breadboar

-Pin Lithium 3,7V

-Khung xe

Trang 12

2.Nguyên lí hoạt động:

-Sau khi bật công tắc, arduino điều khiển 2 bánh xe chạy làm xe di chuyển

-Cảm biến siêu âm hoạt động và bắt đầu xác định vật cản xung quanh

-khi có vật cản được xác định, arduino điều khiển động cơ làm xe chạy lùi về sau và rẽ phải để né vật cản.

-Nếu không có vật cản, xe sẽ tiếp tục chạy thẳng

Code mẫu:

// Khai báo các chân kết nối

const int trigPin = 3;

const int echoPin = 4;

const int in1 = 6;

const int in2 = 7;

const int in3 = 8;

const int in4 = 9;

// Hàm đo khoảng cách từ cảm biến siêu âm

Trang 13

long readUltrasonicDistance() {

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

long duration = pulseIn(echoPin, HIGH);

return duration * 0.034 / 2; // Tính khoảng cách bằng cm }

// Hàm để động cơ di chuyển tiến

void moveForward() {

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

}

void moveBackward() {

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

}

void turnLeft() {

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

Trang 14

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

}

void stopMotors() {

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

}

void setup() {

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

Serial.begin(9600);

}

void loop() {

long distance = readUltrasonicDistance();

Serial.println(distance);

if (distance < 20) { // nếu khoảng cách nhỏ hơn 20 cm, tránh vật cản

stopMotors();

delay(500);

moveBackward();

delay(500);

Trang 15

stopMotors();

delay(500);

turnRight();

delay(500);

} else {

moveForward();

}

delay(100);

}

V.Tổng kết:

Ưu điểm:

-Nhỏ gọn, chi phí thấp, dễ lập trình

Nhược điểm:

- Tính ổn định chưa cao

- Còn hạn chế về góc đo của cảm biến, phạm vi xác định vật cản của xe Hướng phát triển:

- Nghiên cứu và phát triển thêm để đảm bảo tính ổn định của mạch Sử dụng them một động cơ servo để tăng góc đo cảm biến và phạm vi né vật cản

Kinh nghiệm rút ra:

- Học được cách tìm và đọc datasheet

- Hiểu sơ lược về các linh kiện, module trong đề tài

- Học được cách viết lập trình C++ cơ bản

- Học cách trình bày báo cáo đồ án

- Học cách lắp ráp phần cứng

Ngày đăng: 03/07/2024, 09:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w