Tải bản đầy đủ (.doc) (34 trang)

MICROMOUSE đi THẲNG và TRÁNH vật cản DÙNG PIC (có code và layout)

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 (765.26 KB, 34 trang )

ĐỒ ÁN 2

MICROMOUSE ĐI THẲNG VÀ TRÁNH VẬT
CẢN


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ.........................................................................................VIII
DANH MỤC CÁC BẢNG BIỂU.......................................................................................IX
DANH MỤC CÁC TỪ VIẾT TẮT.....................................................................................X
CHƯƠNG 1.TỔNG QUAN VỀ MICROMOUSE TRÁNH VẬT CẢN.........................1
1.1

GIỚI THIỆU :

1

1.2

NGUYÊN LÝ CHUNG :

2

CHƯƠNG 2.TÌM HIỂU LINH KIỆN CỦA ĐỀ TÀI.......................................................2
2.1

LINH KIỆN CHÍNH TRONG MẠCH:

2

CHƯƠNG 3.THIẾT KẾ MẠCH.......................................................................................13


3.1

SƠ ĐỒ KHỐI 13

3.2

SƠ ĐỒ GIẢI THUẬT 14

3.3

NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH: 14



Khối cảm biến 14



Khối động cơ



Khối điều khiển 17

16

CHƯƠNG 4.THỰC THI PHẦN CỨNG..........................................................................18
4.1

MẠCH IN


18

4.2

MẠCH ĐỀ TÀI

19

CHƯƠNG 5.KẾT LUẬN....................................................................................................20



Ưu điểm20



Khuyết điểm



Hướng phát triển

20
20

TÀI LIỆU THAM KHẢO..................................................................................................21
PHỤ LỤC

22



DANH MỤC CÁC HÌNH VẼ
HÌNH 2-1: PIC16F877A.................................................................................................2
HÌNH 2-2:SƠ ĐỒ CHÂN PIC16F877A.............................................................................3
HÌNH 2-3: CẤU HÌNH PIC16SƠ ĐỒ KHỐI BÊN TRONG PIC16F877A..................4
SƠ ĐỒ KHỐI BÊN TRONG PIC16F877A........................................................................5
HÌNH2-4:SƠ ĐỒ KHỐI 16F87XA......................................................................................6
HÌNH 2-5:CẢM BIẾN SRF05............................................................................................11
HÌNH 2-7: L298N................................................................................................................12
HÌNH 3-1: NGUYÊN LÝ HOẠT ĐỘNG CỦA SRF05 Ở MODE 1.............................15
Hình 3-2 : Sơ đồ khối L298...............................................................................................16


DANH MỤC CÁC BẢNG BIỂU
BẢNG 1 TÓM TẮT ĐẶC ĐIỂM PIC16F877A:...............................................................3


DANH MỤC CÁC TỪ VIẾT TẮT
LCD
PCB

Liquid crystal display
Printed Circuit Board

PDF

Portable Document Format



ĐỒ ÁN 2
Trang 1/26

CHƯƠNG 1. TỔNG QUAN VỀ MICROMOUSE TRÁNH VẬT CẢN
1.1 Giới thiệu :
 Tính cần thiết của micromouse.
Hiện nay công nghệ chế tạo đã và đang được ứng dụng rộng rãi trong hầu hết các
ứng dụng của nền kinh tế trong mỗi quốc gia. Một trong những ứng dụng được sử
dụng gần đây nhất đó là ứng dụng công nghệ thông tin vào công nghệ chế tạo và
điều khiển robot thông minh.
Xu thế phát triển hiện nay trên thế giới khoa học và công nghệ luôn có những thay
đổi mạnh mẽ. Nền kinh tế tri thức cùng với công nghệ thông tin đã góp phần quan
trọng vào việc nâng cao chất lượng cuộc sống của con người. Trong nền kinh tế tri
thức sự phát triển của xã hội không thể tách khỏi sự phát triển của công nghệ kỹ
thuật và đặc biệt là sự phát triển của kỹ thuật, ngành khoa học công nghệ mới tạo ra
các sản phẩm robot mini và nghiên cứu ứng dụng chính hình gần đây được gọi là
Micromouse.
 Mục đích
Mục đính của đề tài là thiết kế 1 xe tự hành có khả năng tự tránh vật cản nhằm ứng
dụng vào thực tế :giảm 1 số tai nạn bất ngờ trong giao thông, làm nền tảng phát
triển 1 kỷ nguyên xe tự hành.
 Ưu điểm
- Tránh được vật cản trong tầm <20cm
- Không va chạm vào vật cản
 Khuyết điểm
- Ở góc hẹp có thể bị kẹt
- Còn hạn chế góc quẹo vì chỉ sử dụng 1 cảm biến .
 Ứng dụng thực tế

Micromouse đi thẳng & tránh vật cản



ĐỒ ÁN 2
Trang 2/26

-Tiềm năng ứng dụng của xe tự hành là lớn, có thể kể đến robot vận hành vật liệu,
hàng hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay hay thư viện, robot xe lăn
phục vụ người khuyết tật,….
1.2 Nguyên lý chung :
Ứng dụng SRF05 sử dụng nguyên lý phản xạ của sóng để đo khoảng cách. Khi
muốn đo khoảng cách SRF05 sẽ phát ra 1 bộ 8 xung với tần số 40KHz sau đó nó sẽ
chờ đợi xung phản xạ về. Thời gian từ lúc xung đi cho tới khi xung về có thể dễ
dàng tính ra khoảng cách từ SRF05 tới vật cản. Khi phát ra xung và chờ xung phản
xạ về, chân Echo của SRF05 được kéo lên mức cao(echo =1) khi có xung phản xạ
về chân Echo sẽ được kéo xuống thấp hay sau 30us nếu không có xung phản xạ
về.Sau đó lấy khoảng cách đó hiển thị ra LCD và dùng khoảng cách đó để xét điều
kiện cho micromoue tránh được vật cản tròng tầm 20cm.

CHƯƠNG 2. TÌM HIỂU LINH KIỆN CỦA ĐỀ TÀI
2.1 Linh kiện chính trong mạch:
 PIC16F877A

Hình 2-1: PIC16F877A

 PIC16F877A có 40/44 chân với cấu trúc như sau:
-Có 5 port xuất/ nhập. Có 8 kênh chuyển đổi A/D.
-Có port giao tiếp song song.
-Có bộ nhớ gấp đôi so với PIC16F873A/PIC16F874A.

Micromouse đi thẳng & tránh vật cản



ĐỒ ÁN 2
Trang 3/26

 Trình bày sơ đồ chân 16F877A:

Hình 2-2:Sơ đồ chân Pic16F877a

Bảng 2-1 tóm tắt đặc điểm PIC16F877A:
Đặc điểm

PIC16F877A

Tần số hoạt động

DC- 20MHz

Reset (và Delay)

POR, BOR (PWRT, OST)

Bộ nhớ chương trình Flash (14-bit

8K

word)
Bộ nhớ dữ liệu (byte)

368


Bộ nhớ dữ liệu EEPROM (byte)

256

Các nguồn ngắt

15

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 4/26

Các port xuất nhập

Các port A, B, C, D, E

Timer

3

Các module capture/compare/

2 PWM

Giao tiếp nối tiếp

MSSP, USART


Giao tiếp song song

PSP

Module A/D 10bit

8 kênh ngõ vào

Bộ so sánh tương tự

2

Tập lệnh
Số chân

35 lệnh

 40 chân PDIP
 44 chân PLCC
 44 chân TQFP
 44 chân QFN

 Cấu hình được minh họa như hình sau:

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 5/26


Hình 2-3: Cấu hình PIC16

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 6/26

SƠ ĐỒ KHỐI BÊN TRONG PIC16F877A

Hình 2-3 trình bày sơ đồ khối của PIC16F877A, gồm các khối:
 Khối ALU – Arithmetic Logic Unit.
 Khối bộ nhớ chứa chương trình – Flash Program Memory.


Khối bộ nhớ chứa dữ liệu EEPROM – Data EPROM.

 Khối bộ nhớ file thanh ghi RAM – RAM file Register.


Khối giải mã lệnh và điều khiển – Instruction Decode Control.

 Khối thanh ghi đặc biệt.
 Khối bộ nhớ ngăn xếp.
 Khối reset mạch khi có điện, khối định thời reset mạch khi có điện, khối định
thời ổn định dao động khi có điện, khối định thời giám sát, khối reset khi sụt
giảm nguồn, khối gỡ rối, khối lập trình bộ nhớ điện áp thấp.
 Khối ngoại vi timer T0, T1,T2.
 Khối giao tiếp nối tiếp.

 Khối chuyển đổi tín hiệu tương tự sang số –ADC.
 Khối so sánh điện áp tương tự.
 Khối tạo điện áp tham chiếu.
 Khối các port xuất nhập.

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 7/26

 SƠ ĐỒ CHÂN VÀ CHỨC NĂNG CÁC CHÂN PIC16F877A:
Sơ đồ chân của PIC gồm nhiều loại nhưng ở đây khảo sát loại PIC 40 chân
như hình 2-4. Chức năng của các chân như sau:

Hình2-4:Sơ đồ khối 16F87XA

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 8/26

 Chân MCLR /VPP (1): có 2 chức năng:
o MCLR : là ngõ vào reset tích cực mức thấp.
o VPP: ngõ vào nhận điện áp khi ghi dữ liệu vào bộ nhớ nội flash.
 Chân RA0/AN0 (2): có 2 chức năng:
o

RA0: xuất/ nhập số.


o AN0: ngõ vào tương tự của kênh thứ 0.
 Chân RA1/AN1(3):
o

RA1: xuất/nhập số.

o AN1: ngõ vào tương tự của kênh thứ 1.
 Chân RA2/AN2/VREF-/CVREF (4):
o

RA2: xuất/nhập số.

o AN2: ngõ vào tương tự của kênh thứ 2.
o

VREF-: ngõ vào điện áp chuẩn (thấp) của bộ ADC.

o

CVREF: điện áp tham chiếu VREF ngõ ra bộ so sánh

 Chân RA3/AN3/VREF+ (5):
o

RA3: xuất/nhập số.

o AN3: ngõ vào tương tự kênh thứ 3.
o


VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D.

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 9/26

 Chân RA4/TOCKI/C1OUT (6):
o

RA4: xuất/nhập số – mở khi được cấu tạo là ngõ ra.

o

TOCKI: ngõ vào xung clock từ bên ngoài cho Timer0.

o C1OUT: ngõ ra bộ so sánh 1.
 Chân RA5/AN4/SS /C2OUT (7):
o

RA5: xuất/nhập số.

o AN4: ngõ vào tương tự kênh thứ 4.
o

SS : ngõ vào chọn lựa SPI phụ.

o C2OUT: ngõ ra bộ so sánh 2.
 Chân RE0/RD/AN5 (8):

o

RE0: xuất/nhập số.

o

RD: điều khiển đọc port song song.

o

AN5: ngõ vào tương tự 5.

 Chân RE1/WR/AN6 (9):
o

RE1: xuất/nhập số.

o

WR: điều khiển ghi port song song.

o

AN6: ngõ vào tương tự kênh thứ 6.

 Chân RE2/CS /AN7 (10):

Micromouse đi thẳng & tránh vật cản



ĐỒ ÁN 2
Trang 10/26

o

RE2: xuất/nhập số.

o

CS : Chip chọn lựa điều khiển port song song.

o AN7: ngõ vào tương tự kênh thứ 7.
 Chân OSC1/CLKI (13): là ngõ vào kết nối với dao động thạch anh hoặc ngõ
vào nhận xung clock bên ngoài.
o

OSC1: ngõ vào dao động thạch anh hoặc ngõ vào nguồn xung ở bên
ngoài. Ngõ vào có mạch Schmitt Trigger nếu sử dụng dao động RC.

o

CLKI: ngõ vào nguồn xung bên ngoài.

 Chân OSC2/CLKO (14): ngõ ra dao động thạch anh hoặc ngõ ra cấp xung
clock.
o

OSC2: ngõ ra dao động thạch anh. Kết nối đến thạch anh hoặc bộ
cộng hưởng.


o

CLKO: ở chế độ RC, ngõ ra của OSC2, bằng ¼ tần số của OSC1 và
chính là tốc độ của chu kì lệnh.

 Chân RC0/T1OSO/T1CKI (15):
o

RC0: xuất/nhập số.

o

T1OSO: ngõ ra của bộ dao động Timer1.

o

T1CKI: ngõ vào xung clock từ bên ngoài Timer1.

 Chân RC1/T1OSI/CCP2 (16):
o RC1: xuất/nhập số.

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 11/26

o

T1OSI: ngõ vào của bộ dao động Timer1.


o CCP2: ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.
 Chân RC2/CCP1 (17):
o

RC2: xuất/nhập số

o

CCP1: ngõ vào Capture1, ngõ ra compare1, ngõ ra PWM1

 Chân RC3/SCK/SCL (18):
o

RC3: xuất/nhập số.

o

SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI.

o

SCL: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ I2C.

 Chân RD0/PSP0 (19):
o

RD0: xuất/nhập số.

o


PSP0: dữ liệu port song song.

 Chân RD1/PSP1 (20):
o

RD1: xuất/nhập số.

o PSP1: dữ liệu port song song.
 Các chân RD2/PSP2 (21), RD3/PSP3 (22), RD4/PSP4 (27), RD5/PSP5 (28),
RD6/PSP6 (29), RD7/PSP7 (30) tương tự chân 19, 20.
 Chân RB0/INT (33):

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 12/26

o RB0: xuất/nhập số.
o

INT: ngõ vào nhận tín hiệu ngắt ngoài.

 Chân RB1 (34): xuất/nhập số.
 Chân RB2 (35): xuất/nhập số.
 Chân RB3/PGM:
o

RB3: xuất/nhập số.


o

PGM: Chân cho phép lập trình điện áp thấp ICSP.

 Chân RB4 (37), RB5 (38): xuất/nhập số.
 Chân RB6/PGC (39):
o

RB6: xuất/nhập số.

o

PGC: mạch gỡ rối và xung clock lập trình ICSP.

 Chân RB7/PGD (40):
o

RB7: xuất/nhập số.

o PGD: mạch gỡ rối và dữ liệu lập trình ICSP.
 Chân RC4/SDI/SDA (23):
o

RC4: xuất/nhập số.

o SDI: dữ liệu vào SPI.
o

SDA: xuất/nhập dữ liệu I2C.


Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 13/26

 Chân RC5/SDO (24):
o

RC5: xuất/nhập số.

o

SDO: dữ liệu ra SPI.

 Chân RC6/TX/CK (25):
o

RC6: xuất/nhập số.

o

TX: truyền bất đồng bộ USART.

o

CK: xung đồng bộ USART.

 Chân RC7/RX/DT (26):

o

RC7: xuất/nhập số.

o

RX: nhận bất đồng USART.

o

DT: dữ liệu đồng bộ USART.

 Chân VDD (11,32) và VSS (12, 31): là các chân nguồn của PIC.
 Cảm Biến siêu âm SRF05

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 14/26

Hình 2-5:Cảm Biến SRF05









Các thông số kỹ thuật
Điện áp 5V DC
Dòng điện 2mA
Ngõ ra 5V
Góc nhận lại tín hiệu không quá 15 độ
Có thể nhận được khoảng cách từ 2cm-450cm
Độ chính xác cao lên đến 0.3cm
 Điện trở

Hình 2-6 Điện trở

Để đạt được điện áp và dòng điện theo ý muốn người ta sử dụng điện trở để hạn
chế dòng điện đi qua.

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 15/26

 LCD

Hình 2-7 màn hình LCD

Thông số kỹ thuật LCD
 Điện áp 5V DC
 Kích thước 80 x 36 x 12.5mm
 Chữ đen , nền xanh lá (hoặc chữ trắng ,nền xanh dương)
 Khoảng cách giữa 2 chân là 0.1 inch
 L298N


Hình 2-8: L298N

Thông số kỹ thuật về L298N:
 Điện áp cấp lên đến 46V
 Tổng dòng DC chịu đựng lên đến 4A
 Điện áp bão hoà
 Chức năng bảo vệ quá nhiệt
 Điện áp logic “0” từ 1.5V trở xuống.

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 16/26

CHƯƠNG 3. THIẾT KẾ MẠCH
3.1 Sơ đồ khối

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 17/26

3.2 Sơ đồ giải thuật
Bắt đầu

Đi thẳng


Kiểm tra khoảng
cách

Khoảng cách

Khoảng cách

<20cm

>20cm

Rẽ Phải

3.3 Nguyên lý hoạt động của mạch:
 Khối cảm biến
-Cảm biến SRF05 là một loại cảm biến khoảng cách dựa trên nguyên lý phát thu
sóng siêu âm. Cảm biến gồm 1 bộ thu & 1 bộ phát sóng siêu âm. Sóng siêu âm từ
đầu phát truyền đi trong môi trường 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
SRF05 nằm trong phạm vi từ 4cm đến 300cm.

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 18/26

-Để điều khiển cảm biến SRF05,ta cần cấp cho chân TRIGGER 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ẽ phát ra
sóng siêu âm, đồng thời đẩy chân ECHO lên mức 1 và sau khi nhận về được sóng

thì ECHO xuống mức 0,lấy thời gian ECHO trên mức 1 và nhân với vận tốc từ đó
suy ra được khoảng cách .

Hình 3-1: Nguyên lý hoạt động của SRF05 ở mode 1

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 19/26

 Khối động cơ

Hình 3-2 : Sơ đồ khối L298

IC L298 là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong. Với điện áp
làm

tăng

công

suất

nhỏ

như

động




DC

loại

vừa

Chức năng các chân của L298
- 4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 của
L298. Đây là các chân nhận tín hiệu điều khiển.
- 4 chân OUTPUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT)
được nối với các chân 2, 3,13,14 của L298. Các chân này sẽ được nối với động cơ.
- Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong L298. Nếu ở mức
logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ở mức logic “0”
thì mạch cầu H không hoạt động
Cách điều khiển chiều quay với L298:
- Khi ENA = 0: Động cơ không quay với mọi đầu vào.
- Khi ENA = 1:
INT1 = 1; INT2 = 0: Động cơ quay thuận.
INT1 = 0; INT2 = 1: Động cơ quay nghịch.
INT1 = INT2: Động cơ dùng ngay tức thì.
Với ENB cũng tương tự với INT3, INT4.

Micromouse đi thẳng & tránh vật cản


ĐỒ ÁN 2
Trang 20/26


 Khối điều khiển
-Khi cấp cho chân TRIGGER 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 quả 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ể.
-Sau đó bắt đầu lấy khoảng cách từ cảm biến về xuất ra khối hiển thị ra LCD và sau
đó so khoảng cách để xét điều kiện để tránh vật cản.Tạo các chương trình con
( chạy thẳng, dừng, rẽ phải ).
+Chạy thẳng :
INT1 = 1; INT2 = 0: Động cơ quay thuận.
INT3 = 1; INT4 = 0: Động cơ quay thuận.
+Dừng:
ENA = 0
ENB = 0
+Rẽ phải:
INT1 = 0; INT2 = 1: Động cơ quay thuận.
INT3 = 1; INT4 = 0: Động cơ nghịch.
Khi khoảng cách lấy về >20cm thì xe chạy thẳng đến khi khoảng cách đo được <
20cm thì xe dừng delay 1000ms rồi rẽ phải. Ra khỏi vùng có vật cản thì xe tiếp tục
chạy thẳng.

Micromouse đi thẳng & tránh vật cản


×