1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

XE tự HÀNH bám TƯỜNG TRÁI DÙNG PIC (có code và layout)

25 465 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 25
Dung lượng 751 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

XE tự HÀNH bám TƯỜNG TRÁI DÙNG PIC (có code và layout) XE tự HÀNH bám TƯỜNG TRÁI DÙNG PIC (có code và layout) XE tự HÀNH bám TƯỜNG TRÁI DÙNG PIC (có code và layout) XE tự HÀNH bám TƯỜNG TRÁI DÙNG PIC (có code và layout) XE tự HÀNH bám TƯỜNG TRÁI DÙNG PIC (có code và layout) XE tự HÀNH bám TƯỜNG TRÁI DÙNG PIC (có code và layout)

Trang 1

XE TỰ HÀNH BÁM TƯỜNG TRÁI

Trang 2

DANH MỤC CÁC BẢNG BIỂU VII DANH MỤC CÁC TỪ VIẾT TẮT VIII CHƯƠNG 1 TỔNG QUAN VỀ XE TỰ HÀNH BÁM TƯỜNG 1

1.1 GIỚI THIỆU 1

1.2 HƯỚNG NGHIÊN CỨU 1

CHƯƠNG 2 TÌM HIỂU LINH KIỆN 2

CHƯƠNG 3 TIẾN TRÌNH THỰC HIỆN 10

3.1 THIẾT KẾ PHẦN CỨNG VI ĐIỀU KHIỂN PIC 16F877A 10

Trang 3

HÌNH 2-2: SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC 16F877A 4

HÌNH 2-3: CẢM BIẾN SIÊU ÂM SRF 05 5

HÌNH 2-4: IC L298N 6

HÌNH 2-5: LCD 1602 7

HÌNH 2-6: SƠ ĐỒ CHÂN LCD 1602 7

HÌNH 2-7: ĐỘNG CƠ DC 9

HÌNH 2-8: CẤU TẠO ĐỘNG CƠ DC 9

HÌNH 3-1: MẠCH NGUYÊN LÍ VI ĐIỀU KHIỂN PIC 16F877A 10

HÌNH 3-2: MẠCH IN VI ĐIỀU KHIỂN PIC 16F877A 11

HÌNH 3-3: SƠ ĐỒ CẤU TRÚC CƠ BẢN CỦA XE TỤ HÀNH 12

Hình 3-4: Sơ đỒ giẢi thuẬt cỦA xe bám tưỜng trái 13

Trang 5

PIC Programable Intelligent Computer

LCD Liquid Crystal Display

DC Direct Current

Trang 6

CHƯƠNG 1 TỔNG QUAN VỀ XE TỰ HÀNH BÁM TƯỜNG

1.1 Giới thiệu

Di chuyển theo tường (wall following) là một tác vụ thường thấy ở xe tự hành,trong các môi trường biết trước hoạc không biết trước Tác vụ này được dùng vớicác nhiệm vụ: tránh chướng ngại vật, bám theo tường,

1.2 Hướng nghiên cứu

- Nghiên cứu các bộ điều khiển cho xe bám tường

- Thiết kế đế di chuyển

- Thiết kế cảm biến gắn lên xe tự hành để đo khoảng cách với tường

- Lập trình cho xe tự hành

- Nhận xét kết quả và kết luận

Trang 7

CHƯƠNG 2 TÌM HIỂU LINH KIỆN

Hình 2-1: Sơ đồ chân vi điều khiển 16F877A

- Vi điều khiển PIC 16F877A có 5 cổng xuất nhập bao gồm PORTA, PORTB,PORTC, PORTD, PORTE

 PORTA bao gồm 6 I/O pin Đây là các chân có thể vừa xuất và nhập, đượcđiều khiển bởi thanh ghi TRISA

 PORTB bao gồm 8 I/O pin, thanh ghi điều khiển xuất nhập tương ứng làTRISB Bên cạnh đó một số chân của PORT B còn được sử dụng trong quátrình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau

 PORTC bao gồm 8 I/O pin, thanh ghi điều khiển xuất nhập tương ứng làTRISC Bên cạnh đó, PORTC còn chứa các chức năng của bộ so sánh, bộtimer 1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART

Trang 8

 PORTD bao gồm 8 I/O pin, thanh ghi điều khiển xuất nhập tương ứng làTRISD PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (ParallelSlave Port).

 PORTE bao gồm 3 I/O pin, thanh ghi điều khiển xuất nhập tương ứng làTRISE Các chân của PORTE có ngõ vào analog Bên cạnh đó, PORTE còn làcác chân điều khiển của chuẩn giao tiếp PSP (Parallel Slave Port)

- Cấu trúc bộ nhớ của vi điều khiển 16F877A gồm bọ nhớ chương trình (ProgramMemory) và bộ nhớ dữ liệu (Data Memory)

 Bộ nhớ chương trình của vi điều khiển PIC 16F877A là bộ nhớ flash, dunglượng bộ nhớ 8K word (1 word= bit) và được phân thành nhiều trang

 Bộ nhớ dữ liệu của vi điều khiển PIC 16F877A là bộ nhớ EEPROM đượcchia ra làm 4 bank Mỗi bank có dung lượng 128 bit, bao gồm các thanh ghi cóchức năng đặc biệt nằm ở các vùng địa chỉ thấp và các thanh ghi mục đíchchung nằm ở vùng địa chỉ còn lại trong bank

- Bộ định thời:

 TIMER 0: Là bộ đếm 8 bit được kết nối với bộ chia tần só 8 bit Cấu trúccủa Timer 0 cho phép ta lựa chọn xung clock tác động và cạnh tích cực củaxung clock Ngắt Timer 0 sẽ xuất hiện khi Timer 0 bị tràn Bit TMR0IE là bitđiều khiển Timer 0 TMR0IE=1 cho phép ngắt Timer 0 tác động, TMR0IF=0không cho phép ngắt Timer 0 tác động

 TIMER 1: Là bộ định thời 16 bit, giá trị của Timer 1 sẽ được lưu trong 2thanh ghi (TMRH1:TMR1L) Cờ ngắt của Timer 1 là bit TMR1IF, bit điềukhiển của Timer 1 sẽ là TMR1IE Tương tự như Timer 0, Timer 1 cũng có 2chế độ hoạt động: chế độ định thời và chế độ đếm

 TIMER 2: Là bộ định thời 8 bit và được hỗ trọ bởi 2 bộ chia tần sốprescaler và postscaler Thanh ghi chứa giá trị đếm của Timer 2 là TMR2 Bitcho phép ngắt Timer 2 tác động là TMR2ON Cờ ngắt của Timer 2 là bitTMR2IF

Trang 9

Bảng 2-1: So sánh các Timer

TIMER0 TIMER1 TIMER2Kích thước thanh ghi 8 bits 16 bits 8 bitsNguồn CLOCK bên

trong

Fosc/4 Fosc/4 Fosc/4

Nguồn CLOCK bên

Trang 10

2.2 Cảm biến siêu âm SRF 05

Hình 2-3: Cảm biến siêu âm SRF 05

Module cảm biến siêu âm SRF05 dùng để đo khoảng cách đến vật chắn bằng sóngsiêu âm Module có 2 đầu thu và phát sóng, khoảng cách được xác định bằng cách

đo khoảng thời gian mà sóng siêu âm được phát ra từ module truyền đến vật chắnrồi phản hồi về

Sử dụng bằng cách truyền 1 xung vào chân trigger của module, sau đó chờ 1 xungtrả về trên chân echo, độ dài của xung phản hồi tương ứng với thời gian của sóngsiêu âm truyền trong không khí, từ đó tính ra được khoảng cách đến vật thể chắn.Thông tin cơ bản: [2]

- Điện áp hoạt động: 5 V

- Dòng cấp: 30 mA

- Tần số: 40 KHz

- Khoảng cách đo được xa nhất: 3 m

- Phát hiện vật cản trong khoảng: 3 cm đến 3 m

Trang 11

2.3 Mạch cầu H dùng IC L298N

L298 là IC kết hợp 2 mạch cầu H bên trong, thích hợp ứng dụng công suất nhỏ nhưđộng cơ DC loại vừa

Hình 2-4: IC L298N

Chức năng các chân của L298:

- 4 chân input: IN1, IN2, IN3, IN4 được nối 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 được nối với các chân 2, 3, 13,

14 của L298 Các chân này được nối với động cơ

- 2 chân ENA và ENB là hai chân điều khiển các mạch cầu H trong L298 Nếuchân điều khiển ở mức “1” thì cho phép mạch cầu hoạt động và ngược lại

Điều khiển chiều quay với L298:

- Khi ENA=0: Động cơ không quay

- Khi ENA=1:

+ INT1=1 và INT2=0: Động cơ quay thuận

+ INT1=0 và INT2=1: Động cơ quay nghịch

+ INT1=INT2: Động cơ dừng lại

Trang 13

Chân số 1 - VSS: Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này vớiGND của mạch điều khiển.

Chân số 2 - VDD: Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân nàyvới VCC=5V của mạch điều khiển

Chân số 3 - VE: Điều chỉnh độ tương phản của LCD

Chân số 4 - RS: Chân chọn thanh ghi Nối chân RS với logic "0" hoặc logic "1"

để chọn thanh ghi:

 Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ

“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

 Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

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

Chân số 6 - E: Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên busDB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E

Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghibên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chânE

Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên(low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân Exuống mức thấp

Chân số 7 đến Chân số 14 - D0 đến D7: 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: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7

Chế độ 4 bit: Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB làDB7

Chân số 15 - A: Nguồn dương cho đèn nền

Chân số 16 - K: Nguồn âm cho đèn nên [3]

Trang 14

2.5 Động cơ DC

Hình 2-7: Động cơ DC

Động cơ DC là động cơ điện hoạt động với dòng một chiều, chuyển đổi năng lượngđiện thành năng lượng cơ

Hình 2-8: Cấu tạo động cơ DC

Khi cấp một dòng điện, động cơ sẽ xoay dựa theo hiệu ứng điện từ của nam châm

Trang 15

CHƯƠNG 3 TIẾN TRÌNH THỰC HIỆN

3.1 Thiết kế phần cứng vi điều khiển PIC 16F877A

Thi công phần cứng mạch kit PIC 16F877A

Yêu cầu: Thi công mạch đúng với mạch nguyên lí, mối hàn chắc chắn, thẩm mĩ

Hình 3-1: Mạch nguyên lí vi điều khiển PIC 16F877A

Trang 16

Hình 3-2: Mạch in vi điều khiển PIC 16F877A

3.2 Thi công, lắp ráp xe tự hành

Lắp ráp động cơ và bánh xe vào khung xe, sắp xếp các linh kiện hợp lí để xe dichuyển dễ dàng

Trang 17

3.3 Thiết kế phần mềm

Hình 3-3: Sơ đồ cấu trúc cơ bản của xe tự hành

Khối Sensor

Khối hiển thị

Khối hiển thị

Khối điều khiển

Khối điều khiển

Trang 19

CHƯƠNG 4 NHẬN XÉT

4.1 Ưu điểm

Cảm biến chính xác khoảng cách đến tường để bám vào

4.2 Khuyết điểm

- Xe chạy chưa ổn định, khung và bánh xe chưa chắc chắn

- Nguồn năng lượng có giới hạn nên không thể vận hành khoảng thời gian quálâu

4.3 Hướng phát triển

Phát triển thành các robot tự hành, ứng dụng vào thực tế để giúp ích con người, pháttriển đời sống xã hội

Trang 20

TÀI LIỆU THAM KHẢO

Tiếng Việt:

[1] Giáo trình vi điều khiển PIC 16F877- Nguyễn Đình Phú.[2] http://hqdt.vn/bai-viet/thong-tin-linh-kien-dien-tu/

[3] http://bachkhoadientu.com/

Trang 21

#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

#include <lcd.c>

int1 range_ok=0;

int32 temp = 0;

void SRF05_Range();

Trang 22

set_timer1(10);

enable_interrupts(GLOBAL);

delay_ms(100);

Ngày đăng: 04/05/2018, 18:05

TỪ KHÓA LIÊN QUAN

w