MICROMOUSE đi THẲNG và TRÁNH vật cản DÙNG PIC (có code và layout) MICROMOUSE đi THẲNG và TRÁNH vật cản DÙNG PIC (có code và layout) MICROMOUSE đi THẲNG và TRÁNH vật cản DÙNG PIC (có code và layout) MICROMOUSE đi THẲNG và TRÁNH vật cản DÙNG PIC (có code và layout) MICROMOUSE đi THẲNG và TRÁNH vật cản DÙNG PIC (có code và layout)
Trang 1MICROMOUSE ĐI THẲNG VÀ TRÁNH VẬT
CẢN
Trang 2DANH 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
Trang 3HÌ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
Trang 5PCB Printed Circuit Board
PDF Portable Document Format
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ MICROMOUSE TRÁNH VẬT CẢN1.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 ứngdụ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áttriển 1 kỷ nguyên xe tự hành
Trang 7-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ănphụ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
Trang 8 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
Trang 9Các port xuất nhập Các port A, B, C, D, E
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
Trang 10Hình 2-3: Cấu hình PIC16
Trang 11SƠ ĐỒ 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 địnhthời ổn định dao động khi có điện, khối định thời giám sát, khối reset khi sụtgiả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
Trang 12 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
Trang 13 ChânMCLR /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 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
Trang 14 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
Trang 15o 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ố
Trang 16o T1OSI: ngõ vào của bộ dao động Timer1
o CCP2: ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2
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 RB0/INT (33):
Trang 17o SDI: dữ liệu vào SPI
o SDA: xuất/nhập dữ liệu I2C
Trang 18 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
Trang 20 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
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
Trang 21CHƯƠNG 3 THIẾT KẾ MẠCH3.1 Sơ đồ khối
Trang 223.2 Sơ đồ giải thuật
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 thusó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áchtới) sẽ phản xạ ngược trở lại và được đầu thu ghi lại Khoảng cách đo được củaSRF05 nằm trong phạm vi từ 4cm đến 300cm
<20cm
Trang 23-Để điều khiển cảm biến SRF05,ta cần cấp cho chân TRIGGER một xung điềukhiển với độ rộng tối thiểu 10uS Sau đó một khoảng thời gian, đầu phát sẽ phát rasóng siêu âm, đồng thời đẩy chân ECHO lên mức 1 và sau khi nhận về được sóngthì 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
Trang 24 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 áplàm tăng công suất nhỏ như động cơ DC loại vừaChứ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ủaL298 Đâ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ứclogic “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ì
Trang 25 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 xungvuô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ụcchạy thẳng
Trang 26CHƯƠNG 4 THỰC THI PHẦN CỨNG
4.1 Mạch in
Thiết kế PCB mạch đề tài
Hình 4-1 : PCB mạch đề tài Xuất PCB ra PDF
Hình 4-2 : PCB xuất ra PDF
Trang 27CHƯƠNG 5 KẾT LUẬN
Xe hoạt động được là do khối động cơ L298 cho phép động cơ quay thuậnhay quay nghịch điều này cho phép xe có thể chạy tới chạy lùi và rẽ các hướng tuỳchỉnh.Song song đó xe tránh vật cản được là do cảm biến siêu âm SRF05 lấykhoảng cách về để xét điều kiện tránh vật cản.Và quan trọng nhất là phần lập trình
vi điều khiển PIC16F877A để kết hợp giữa khối động cơ và khối cảm biến giúp xehiểu và hoạt động
- Xe mắc quá nhiều dây và cố định phần cảm biến không tốt
- Ở những điểm mù cảm biến không lấy chính xác được khoảng cách
Hướng phát triển
Có thể hoàn thiện và cải tiến thành xe hơi tự hành tránh vật cản,các robot và xe lănthông minh trong tương lai
Trang 28TÀI LIỆU THAM KHẢO
Trang 29#DEFINE LCD_RS_PIN PIN_B3
#DEFINE LCD_RW_PIN PIN_B4
#DEFINE LCD_ENABLE_PIN PIN_B5
#DEFINE LCD_D4_PIN PIN_D4
#DEFINE LCD_D5_PIN PIN_D5
#DEFINE LCD_D6_PIN PIN_D6
#DEFINE LCD_D7_PIN PIN_D7
#DEFINE SRF05_TRIGGER1 PIN_B1
#DEFINE SRF05_ECHO PIN_B0
#DEFINE ENA PIN_C0
#DEFINE ENB PIN_C3
#DEFINE IN1 PIN_C7
#DEFINE IN2 PIN_C2
#DEFINE IN3 PIN_C1
Trang 30#DEFINE IN4 PIN_D1
Trang 32setup_ccp2(CCP_PWM);