Tải bản đầy đủ (.docx) (27 trang)

XE tự HÀNH NHẬN BIẾT LINE 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 (979.8 KB, 27 trang )

ĐỒ ÁN 2

XE TỰ HÀNH NHẬN BIẾT LINE VÀ
TRÁNH VẬT CẢN DÙNG PIC


MỤC LỤC

DANH MỤC CÁC HÌNH VẼ

DANH MỤC BẢNG BIỂU

2


DANH MỤC CÁC TỪ VIẾT TẮT
PIC

Programable Intelligent Computer

RAM

Random Access Memory

EEPROM

Electrically Erasable Programmable Read-Only Memory

3



ĐỒ ÁN 2
Trang 4/22

CHƯƠNG 1.

GIỚI THIỆU ĐỀ TÀI

Đề tài làm về: Xe tự hành nhận biết line và tránh vật cản, ứng dụng của đề tài này là
nhận biết được số vùng đã đi qua và dễ dàng di chuyển nơi có nhiều vật cản.
Yêu cầu đề tài:
• Thiết kế và thi công xe tự hành có khả năng nhận biết số đường line đã đi
qua hiển thị LCD và tránh vật cản (quẹo phải /trái tùy điều kiện môi trường).
• Nguồn dùng pin, processor: PIC
Cấu trúc cuốn báo cáo:





Chương 1: Giới thiệu đề tài
Chương 2: Thiết kế
Chương 3: Thi công
Chương 4: Kết luận

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 5/22


CHƯƠNG 2.

THIẾT KẾ

2.1 Thiết kế hệ thống
Sơ đồ khối của hệ thống

Hình 2-1: Sơ đồ khối hệ thống

• Khối nguồn: sử dụng Pin 9-12VDC cấp nguồn cho các khối Sensor, điều
khiển, hiển thị, điều khiển động cơ.
• Khối Sensor: cảm biến hồng ngoại, cảm biến siêu âm lấy dữ liệu về số line
và khoảng cách vật cản đưa dữ về cho PIC16F877A để xử lý.
• Khối điều khiển: PIC16F877A nhận dữ liệu từ các cám biển, xử lý và xuất
dữ liệu ra LCD và L298.
• Khối điều khiển động cơ: module điều khiển động cơ L298 nhận dữ liệu từ
pic để điều khiển động cơ.
• Khối hiển thị: LCD nhận dữ liệu từ pic và xuất dữ liệu ra màn hình.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 6/22

2.2 Thiết kế chi tiết
2.2.1

Sơ đồ chi tiết


2.2.1.1Sơ đồ toàn mạch

Hình 2-2: Sơ đồ toàn mạch

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 7/22

2.2.1.2Sơ đồ điều khiển

Hình 2-3: Sơ đồ điều khiển

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 8/22

2.2.1.3Sơ đồ điều khiển động cơ

Hình 2-4: Sơ đồ điều khiển động cơ

2.2.1.4Sơ đồ hiển thi

Hình 2-5: Sơ đồ hiển thi

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN



ĐỒ ÁN 2
Trang 9/22

2.2.2






Chọn linh kiện chính

PIC16F877A
Cảm biến siêu âm
LCD 16x2
Module điều khiển động cơ L298
Cảm biến hồng ngoại

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 10/22

2.3 Tìm hiểu linh kiện chính
2.3.1

PIC16F877A


Hình 2-6: Sơ đồ chân PIC16F877A[1]

Vi điều khiển PIC16F877A bao gồm:







Năm port I/O (33 chân): A, B, C, D, E.
Ba bộ timer
Hai bộ Capture
Hỗ trợ các chuẩn giao tiếp SSP, USART, PSP
Tốc độ hoạt đông tối da cho phép là 20Mhz.
Bộ nhớ chương trình được tính theo 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte
RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 11/22

Hình 2-7: Sơ đồ khối vi điều khiển PIC16F877A [1]

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2

Trang 12/22

2.3.2

Cảm biến siêu âm

Hình 2-8: Cảm biến siêu âm[2]
Bảng 2-1: Thông số cảm biến siêu âm.

Tên chân
Vcc
Gnd
Echo

Chức năng
5Vdc
0Vdc
OUTPUT, chân trả tín hiệu về cho vi
điều khiển
INPUT, chân nhận tín hiệu từ vi điều
khiển

Trigger

Nguyên lý hoạt động:

Trigger = 1
T=10ms
Trigger=0
Dem=0


8xung f =40Khz
Echo=1
Dem++
Cảm Biến Siêu Âm

PIC16F877A

Echo=0
Dem

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN

Vât Cản

8 xung f=40Khz


ĐỒ ÁN 2
Trang 13/22

2.3.3

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

Hình 2-9: Cầu H trong L298[3]



Module sử dụng IC L298 gồm 2 cầu H để điều khiển động cơ DC có thể điều

khiển chiều quay và tốc độ động cơ. Mặt khác còn có các diode bảo vệ chống
dòng ngược bên ngoài.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 14/22

Hình 2-10: Module L298[4]

• Chân nguồn gồm chân 12V nối nguồn công suất cho motor. Chân GND nối
GND nguồn công suất và GND PIC16F877A. 4 chân OUT: OUT 1 và 2 cho
motor 1, OUT 3 và 4 cho motor 2. 4 chân In: In1 và 2 nối PIC16F877A để
điều khiển motor 1, In3 và 4 nối PIC16F877A để điều khiển motor 2. Khi có
chênh lệnh điện thế giữa 2 chân in thì motor sẽ chạy.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 15/22

2.3.4

Cảm biến hồng ngoại

Hình 2-11: Cảm biến hồng ngoại[5]

• VCC: điện áp chuyển đổi từ 3.3V đến 5V (có thể nối trực tiếp đến vi điều

khiển 5V và 3.3V).
• GND: GND ngoài
• OUT: đầu ra kỹ thuật số (0 và 1)
• Nguyên lý của cảm biến này như sau: mắt phát hồng ngoại sẽ phát ra sóng
ánh sáng có bước sóng hồng ngoại, ở mắt thu bình thường thì có nội trở rất
lớn (khoảng vài trăm kilo ôm ) , khi mắt thu bị tia hồng ngoại chiếu vào thì
nội trở của nó giảm xuống (khoảng vài chục ôm). Lợi dụng nguyên lý này
người ta chế tạo ra các cảm biến IR. Giống với quang trở nên chắc chắn các
bạn dễ hình dung nguyên lí của nó. Khi có vật cản phía trước led hồng ngoại
sẽ chiếu vào vật ánh sáng hồng ngoại "mắt thường không nhìn được" nếu
như trong khoảng cách đủ gần để cường độ ánh sáng này bức xạ tới led thu
làm tha đổi giá trị nội trở của nó trùng với giá trị điều trỉnh của biến trở thì


opam sẽ cho chúng ta giá trị logic là 1 hay 0 nếu ngược lại.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 16/22

• Khi chưa phát hiện line

Hình 2-12: Sơ đồ hồng ngoại 1

• Khi phát hiện line

Hình 2-13: Sơ đồ hồng ngoại 2


XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 17/22

2.3.5

LCD16x2

Hình 2-14: Lcd16x2[6]

Chức năng các chân:
• Chân 1 (VSS) chân nối đất cho LCD, khi thiết kế mạch ta nối chân
này với GND của mạch điều khiển.
• Chân 2 (VDD) chân cấp nguồn cho LCD, khi thiết kế mạch ta nối
chân này với VCC=5V của mạch điều khiển.
• Chân 3 (VEE) điều chỉnh độ tương phản của LCD.
• Chân 4 (RS) chân chọn thanh ghi (Register select). Nối chân RS với
logic “0” (GND) hoặc “1” (VCC) để chọn thanh ghi.
 Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của


LCD hoặc nối với bộ đếm địa chỉ của LCD.
Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên

trong LCD.
• Chân 5 (R/W) chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W
với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1”
để LCD ở chế độ đọc.

• Chân 6 (E) chân cho phép (Enable) sau khi tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của
chân E.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 18/22

• Chân 7-14 (DB0-DB7) Tám đường cùa bus dữ liệu dùng để trao đổi
thông tin với MPU.Có 2 chế độ sử dụng 8 đường bus này: chế độ 8 bit
và chế độ 4 bit.
• Chân 15: nguồn dương cho đèn nền.
• Chân 16: GND cho đèn nền.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 19/22

CHƯƠNG 3.

THI CÔNG

3.1 Sơ đồ giải thuật

BẮT ĐẦU


KHỞI TẠO I/O

ĐẾM=0

CÓ ĐƯỢC ĐI
THẲNG

KHÔNG
CÓ LINE

ĐẾM=ĐẾM+0
CO

CO
ĐẾM=ĐẾM+1

HIỂN THỊ LCD

ĐI THẲNG

HIỂN THỊ LCD

Hình 3-15: Sơ đồ giải thuật

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN

KHÔNG

RẼ TRÁI



ĐỒ ÁN 2
Trang 20/22

3.2 Nguyên lý hoạt động
Đầu tiên xe lấy dữ liệu từ cảm biến siêu âm, nếu khoảng cách từ cảm biến
đến vật cản lớn hơn 20 cm xe được phép chạy thẳng, ngược lại nếu khoảng cách từ
cảm biến đến vật cản nhỏ hơn 20 cm xe rẻ trái. Đồng thời khi xe hoạt động nếu trên
đường đi có line cảm biến hồng ngoại cho phép đếm sau đó hiển thị lên LCD số line
mà xe chạy qua.
3.3 Kết quả thi công

Hình 3-16: Kết quả thi công

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 21/22

CHƯƠNG 4.

KẾT LUẬN

4.1 Kết luận
• Hoàn thiện khung xe, lắp ráp nối dây hoàn chỉnh và kết thúc đồ án với đáp ứng đủ
nhiệm vụ chính.
• Có sai lệch số liệu do các yếu tố khách quan, nhưng sai số không nhiều do làm đúng
theo nguyên lí hoạt động của từng phần và kết nối lại với nhau.
• Xe chạy tiến không được đường thẳng do bánh xe và động cơ không ngay khớp với

nhau. Có thể thay đổi động cơ, bánh xe để có thể chạy thẳng hơn.
4.2 Hướng phát triển
• Thay thế các khối để xe có thể chạy tốt hơn, thêm nhiều cảm biến phục vụ nhu cầu
nhiều hơn trong đời sống.
• Điều khiển xe bằng nhiều giao tiếp khác nhau, tăng khoảng cách điều khiển, gắn
nhiều cảm biến, camera theo nhiều mục đích khác.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 22/22

TÀI LIỆU THAM KHẢO
[1]

/>C16F877A.html.

[2]

/>
[3]

/>CTRONICS/L298.htmltailieuhoctap.vn.

[4]

www.arduino.vn.
[5]


/>
[6]

www.alldatasheet.com.

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 23/22

PHỤ LỤC
void dithang()
{

output_bit(PIN_C4,0);
output_bit(PIN_C5,1);
output_bit(PIN_C6,0);
output_bit(PIN_C7,1);
set_pwm2_duty(130);
set_pwm1_duty(130);

}
void quaytrai()
{
output_bit(PIN_C4,1);
output_bit(PIN_C5,0);
output_bit(PIN_C6,0);
output_bit(PIN_C7,1);
set_pwm2_duty(130);

set_pwm1_duty(120);
}

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 24/22

void quayphai()
{

set_pwm2_duty(120);
set_pwm1_duty(120);
output_bit(PIN_C4,0);
output_bit(PIN_C5,1);
output_bit(PIN_C6,0);
output_bit(PIN_C7,0);

}
void dilui()

{ set_pwm2_duty(120);
set_pwm1_duty(120);
output_bit(PIN_C4,1);
output_bit(PIN_C5,0);
output_bit(PIN_C6,1);
output_bit(PIN_C7,0);
}
void dunglai()

{
output_bit(PIN_C4,1);

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


ĐỒ ÁN 2
Trang 25/22

output_bit(PIN_C5,1);
output_bit(PIN_C6,1);
output_bit(PIN_C7,1);
}

XE TỰ HÀNH NHẬN BIẾT LINE VÀ TRÁNH VẬT CẢN


×