1. Trang chủ
  2. » Luận Văn - Báo Cáo

xe tự động tránh vật cản

55 444 5

Đ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

Định dạng
Số trang 55
Dung lượng 2,35 MB

Nội dung

xe tự động tránh vật cản

Trang 1

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

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

Trang 2

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

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

Khoa Điện Tử Viễn Thông

TÊN ĐỀ TÀI:

XE TỰ ĐỘNG TRÁNH VẬT CẢN

G

iáo v i ê n h ư ớ n g d ẫ n : Sinh v i ê n t hực h i ệ n : ThS NGUYỄN THỊ LINH PHƯƠNG

Trang 3

Em xin gửi lời cảm ơn chân thành đến Th.s Nguyễn Thị Linh Phương, đã hướng, giúp đỡ em trong quá trình làm tiểu luận.

Em đã nỗ lực hết mình trong suốt quá trình làm đề tài này nhương với lượng kiến thức còn hạn chế nên tiểu luận còn nhiều thiếu sót Em rất mong nhận được những ý kiến đóng góp của thầy cô và các bạn để đề tài của em được hoàn thiện hơn Em xin chân thành cảm ơn

Trang 4

LỜI CAM ĐOAN

Tôi cam đoan rằng tiểu luận tốt nghiệp này là do chính tôi thực hiện, các số liệu và kết quả trong báo cáo là trung thực, không sao chép từ bất kỳ đề tài nghiên cứu khoa học nào

Ngày……tháng……năm 2017 Sinh viên thực hiện

Trang 5

NHIỆM VỤ TIỂU LUẬN TỐT NGHIỆP

LỚP: NGÀNH: Điện tử viễn thông

1 Tên tiểu luận tốt nghiệp:

Xe tự động tránh vật cản

2 Nhiệm vụ tiểu luận tốt nghiệp:

Tìm hiểu các linh kiện, bộ xử lý, chương trình điều khiển của xe, thiết kế tạo ra sản phẩm thực tế

3 Ngày giao tiểu luận tốt nghiệp: 6/4/2017

4 Ngày nộp tiểu luận tốt nghiệp: 22/5/2017

5 Họ tên cán bộ hướng dẫn

ThS Nguyễn Thị Linh Phương

(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)

Trang 6

NHẬN XÉT CỦA GIÁO VIÊN

HƯỚNG DẪN

TpHCM, ngày … tháng …… năm …… Giáo viên hướng dẫn

[Ký tên và ghi rõ họ tên]

Trang 7

NHẬN XÉT CỦA GIÁO VIÊN

PHẢN BIỆN

TpHCM, ngày … tháng …… năm …… Giáo viên phản biện

[Ký tên và ghi rõ họ tên]

Trang 8

MỤC LỤC

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu của đề tài 1

1.3 Phương pháp nghiên cứu 1

1.4 Đối tượng và phạm vi nghiên cứu 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3

2.1 Arduino UNO R3 3

2.1.1 Giới thiệu tổng quan về Arduino UNO R3 3

2.1.2 Một vài thông số của Arduino UNO R3 4

2.1.3 Vi điều khiển 5

2.1.4 Nguồn 6

2.1.5 Bộ nhớ 8

2.1.6 Các cổng vào/ ra 9

2.1.7 Lập trình cho Arduino 11

2.2 Module điều khiển động cơ L298 12

2.2.1 Thông số kỹ thuật 12

2.2.2 Các chân tín hiệu 12

2.3 Cảm biến siêu âm SRF05 14

2.3.1 Sóng siêu âm 14

2.3.2 Giới thiệu chung 16

2.3.3 Nguyên lý làm việc 17

2.3.4 Lập trình điều khiển 20

2.4 Động cơ điện một chiều 21

2.5 Module bluetooth HC-05 23

Trang 9

2.5.1 Giới thiệu 23

2.5.2 Các chế độ hoạt động 25

CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG 27

3.1 Sơ đồ khối và nguyên lý hoạt động của mạch 27

3.2 Lưu đồ thuật toán 30

3.3 Lưu đồ thuật toán chương trình tự động 31

3.4 Sơ đồ nguyên lý 32

3.5 Mạch thực tế 33

3.6 Kết quả kiểm thử mạch 34

CHƯƠNG 4 KẾT LUẬN VÀ KIẾN NGHỊ 35

4.1 Kết luận 35

4.2 Kiến nghị 35

Trang 10

PHỤ LỤC HÌNH ẢNH

Hình 2.1 Arduino UNO R3 3

Hình 2.2 Vi điều khiển 5

Hình 2.3 Các cổng vào ra 9

Hình 2.4 Cửa sổ lập trình 11

Hình 2.5 Các chân tín hiệu L298 12

Hình 2.6 Sóng siêu âm 15

Hình 2.7 Cảm biến siêu âm 16

Hình 2.8 Cấu hình SRF 05 ở mode 1 17

Hình 2.9 Nguyên lý hoạt động của SRF 05 ở mode 1 18

Hình 2.10 Cấu hình SRF 05 ở mode 2 19

Hình 2.11 Nguyên lý hoạt động của SRF 05 ở mode 2 19

Hình 2.12 Động cơ DC 21

Hình 2.13 module bluetooth HC-05 23

Hình 2.14 Sơ đồ chân HC - 05 24

Hình 3.1 Sơ đồ khối tổng quát 27

Hình 3.2 Lưu đồ chương trình chính 30

Hình 3.3 Lưu đồ chương trình tự động 31

Hình 3.4 Sơ đồ nguyên lý 32

Hình 3.5 Mạch thực tế 33

Trang 11

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý do chọn đề tài

Hiện nay, đời sống ngày càng được nâng cao, các máy móc tự động ngày càng được sử dụng rộng rãi trong đời sống nhằm phục vụ cho con người với nhiều mục đích khác nhau như: nhà thông minh, nông trại thông minh, máy hút bụi tự động, xe dò đường Do kiến thức còn hạn chế trong bài tiểu luận này em chọn làm xe tự động tránh vật cản Đề tài này có thể thêm chức năng, nâng cấp để tạo ra những robot tự động cao cấp hơn

1.2 Mục tiêu của đề tài

Thiết kế và thi công xe tự động tránh vật cản bằng việc áp dụng cảm biến siêu âm SRF 05, module điềukhiển động cơ L298, module bluetooth HC 05 và vi điều khiển (Arduino Uno) cho quá trình xử lý tín hiệu trong hệ thống

1.3 Phương pháp nghiên cứu

Tìm hiểu về lý thuyết về vi xử lý arduino, cách kết nối, sử dụng cảm biến siêu âm SRF 05 và module điều khiển động cơ L298 và module bluetooth HC 05 với arduino Từ đó kết nối các linh kiện

và sử dụng phần mềm Arduino IDE để viết chương trình điều khiển cho xe hoạt động như ý muốn

Trang 12

1.4 Đối tượng và phạm vi nghiên cứu

 Đối tượng nghiên cứu:

+ Vi xử lý: Arduino Uno R3: đóng vai trò là bộ xử lý tring tâm của hệ thống+ Module điều khiển động cơ L298: dùng để kết nối điều khiển hai động cơ DC+ Động cơ DC: Dùng gắn hai bánh để xe di chuyển

+ Động cơ servo: Để gắn cảm biến siêu âm giúp cảm biến có thể quét rộng hơn+ Cảm biến siêu âm SRF 05: Dùng để quét phát hiện các vật cản

+ Module bluetooth HC 05: Kết nối xe với app android dùng để điều khiển xe+ Phần mềm Arduino IDE: Dùng để viết, biên dịch chương trình điều khiển

 Phạm vi nghiên cứu: Thi công mô hình và thử nghiệm tại trường

Trang 13

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Arduino UNO R3

2.1.1 Giới thiệu tổng quan về Arduino UNO R3

Arduino board có rất nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như: Arduino Mega, Aruino LilyPad Trong số đó, Arduino Uno R3 là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí và tính linh động của nó

Do Arduino có tính mở về phần cứng, chính vì vậy bản thân Arduino Uno R3 cũng có những biếnthể của để phù hợp cho nhiều đối tượng khác nhau

Hình 2.1 Arduino UNO R3

Vì vậy, để có thể tận dụng tối đa sức mạnh của Arduino board, ta cần phải biết rõ được thông số

kỹ thuật của từng loại, nắm được các khác biệt giữa các phiên bản từ đó có giải pháp xử lý phù hợp

2.1.2 Một vài thông số của Arduino UNO R3

Vi điều khiển ATmega 328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Trang 14

Tần số hoạt động 16MHz

Điện áp vào khuyên dùng 7 – 12 V DC

Điện áp vào giới hạn 6 – 20 V DC

Số chân Digital 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA

Trang 15

2.1.3 Vi điều khiển

Hình 2.2 Vi điều khiểnArduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328

Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác

2.1.4 Nguồn

Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO

Các chân nguồn:

 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng các thiết bị

sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau

 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA

 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA

 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND

Trang 16

 IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này.

Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn

 RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ

Lưu ý:

 Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó bạn phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy mình khuyên bạn nên dùng nguồn từ cổng USB nếu có thể

 Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏng board Điều này không được nhà sản xuất khuyến khích

 Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board

 Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển

Trang 17

2.1.5 Bộ nhớ

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho

bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu

2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình

sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực

sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất

1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống

như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM

Trang 18

2.1.6 Các cổng vào/ ra

Hình 2.3 Các cổng vào raArduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết

 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit(giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một cách đơn

Trang 19

giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.

 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác

 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn

sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit

Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác

2.1.7 Lập trình cho Arduino

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung Và Wiring lại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++ Riêng mình thì gọi nó là “ngôn ngữ

Arduino”, và đội ngũ phát triển Arduino cũng gọi như vậy Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đãcũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE

(Intergrated Development Environment) như hình dưới đây

Trang 20

Hình 2.4 Cửa sổ lập trình

2.2 Module điều khiển động cơ L298

2.2.1 Thông số kỹ thuật

Driver: L298 tích hợp hai mạch cầu H

Điện áp điều khiển: +5V ~ +12V

Dòng tối đa cho mỗi cầu H là: 2A

Điện áp của tín hiệu điều khiển: +5V ~ +7V

Dòng của tín hiệu điều khiển: 0 ~ 36mA

Công suất hao phí: 20W (khi nhiệt độ T = 75oC)

Nhiệt độ bảo quản : -25 oC ~ +130 oC

Trang 21

2.2.2 Các chân tín hiệu

Hình 2.5 Các chân tín hiệu L298

1 DC motor 1 “+” hoặc stepper motor A+

2 DC motor 1 “-” hoặc stepper motor

A-3 12V jumper – tháo jumper ra nếu sử dụng nguồn trên 12V Jumper này dùng để cấp nguồn cho IC ổn áp tạo ra nguồn 5V nếu nguồn trên 12V sẽ làm cháy IC nguồn

4 Cắm dây nguồn cung cấp điện áp cho motor vào đây từ 6V đến 35V

5 Cắm chân GND của nguồn

6 Ngõ ra nguồn 5V, nếu jumper đầu vào không rút ra

7 Chân Enable của motor 1, chân này dùng để cấp xung PWM cho motor nếu dùng vi điều khiển thì rút jumper ra và cắm chân PWM vào Giữ nguyên khi dùng với động cơ bước

8 IN1

9 IN2

10 IN3

11 IN4

Trang 22

12 Chân Enable của Motor 2, chân này dùng để cấp xung cho motor nếu dùng vi điều khiển thì rút jumper ra và cắm chân PWM vào Giữ nguyên khi dùng với động cơ bước

13 DC motor 2 “+”, hoặc stepper motor B+

14 DC motor 2 “-“, hoặc stepper motor

B-2.3 Cảm biến siêu âm SRF05

2.3.1 Sóng siêu âm

Sóng siêu âm (sonar) là một loại sóng cao tầng mà con người không thể nghe thấy được Tuy nhiên, ta có thể thấy được sự hiện diện của sóng siêu âm ở khắp mọi nơi trong tự nhiên Ta có các loàiđộng vật như dơi, cá heo dùng sóng siêu âm để liên lạc với nhau, để săn mồi hay định vị trong không gian

Dựa trên việc quan sát các quan sát hoạt động của chúng, ta thấy được nguyên tắc mà các loài vật sử dụng sóng âm để định vị rất đơn giản, có thể tóm gọn trong 3 bước sau:

 Vật chủ phát ra sóng âm

 Sóng âm này va chạm với môi trường xung quanh và phản xạ lại

 Dựa vào thời gian phát / thu, khoảng cách giữa vật chủ và môi trường xung quanh được tính ra

Việc tính toán khoảng cách cũng còn phụ thuộc rất nhiều vào môi trường truyền dẫn, ví dụ như sóng âm truyền trong môi trường nước hay kim loại sẽ nhanh hơn rất nhiều so với sóng âm được truyền trong môi trường không khí

Trang 23

Hình 2.6 Sóng siêu âm

Cảm biến siêu âm SRF05 cũng hoạt động theo như nguyên tắc ở trên, thiết bị gồm có 2 loa - thu

và phát - cùng với 5 chân để kết nối với Arduino Theo tài liệu của nhà sản xuất thì tầm hoạt động tối

đa của cảm biến này nằm trong khoảng 5m

Trang 24

Hình 2.7 Cảm biến siêu âm

2.3.2 Giới thiệu chung

Cảm biến SRF 05 là một loại cảm biến khoảng cách dựa trên nguyên lý thu phát siêu âm Cảm biến gồm một bộ phát và một bộ thu sóng siêu âm Sóng siêu

âm từ đầu phát truyền đi trong không khí, gặp vật cản (vật cản đo khoảng cách tới) sẽ phản xạ ngược trở lại và được đầu thu ghi lại Khoảng cách đo được của SRF 05 nằm trong phạm vi từ 4cm đến 300cm

2.3.3 Nguyên lý làm việc

SRF 05 có thể thiết lập 2 mode hoạt động khác nhau thông qua các chân điều khiển Nối hoặc không nối chân OUT xuống GND cho phép cảm biến được điều khiển thông qua giao tiếp dùng 1 chân hay 2 chân IO

 Mode 1: Tách chân Trig và chân Echo dùng riêng:

Trong mode này, SRF 05 sử dụng cả 2 chân trig và echo cho việc giao tiếp với vi điều khiển Để xử dụng mode này, ta chỉ cần để trống chân OUT của module, điện trở bêntrong module sẽ kéo chân pin này lên mức 1

Trang 25

Hình 2.8 Cấu hình SRF 05 ở mode 1

Để điều khiển SRF 05, ta cẩn cấp cho chân trig một xung điều khiển với độ rộng tối thiểu 10us Sau đó một khoảng thời gian, đầu phát sóng siêu âm sẽ phát ra sóng siêu âm,

vi xử lý tích hợp trên module sẽ tự xác định thời điểm phát sóng siêu âm và thu sóng siêu

âm Vi xử lý tích hợp này sẽ đưa kết qua thu được ra chân echo Độ rộng xung vuông tại chân Echo tỉ lệ với khoảng cách từ cảm biến tới vật thể

Hình 2.9 Nguyên lý hoạt động của SRF 05 ở mode 1

 Mode 2:Chân Trig và echo dùng chung

Trang 26

Được thiết kế nhằm cho mục đích tiết kiệm chân pin cho vi điều khiển, nên trong mode này, SRF 05 chỉ sử dụng 1 chân pin cho 2 chức năng trig và echo Để sử dụng mode này, ta kết nối chân OUT xuống GND

Hình 2.10 Cấu hình SRF 05 ở mode 2

Để điều khiển SRF 05, đầu tiên xuất một xung với độ rộng tối thiểu 10us vào chân trig – echo Sau đó vi xử lý tích hợp trên cảm biến sẽ phát ra tín hiệu điều khiển đầu phát siêu âm Sau 700us kể từ lúc kết thúc tín hiệu điều khiển, từ chân trig – echo có thể đọc

ra một xung mà độ rộng tỉ lệ với khoảng cách từ cảm biến tới vật cản

Hình 2.11 Nguyên lý hoạt động của SRF 05 ở mode 2

Ngày đăng: 15/01/2019, 12:12

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w