ĐỒ Á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
cơ
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