Thứ Năm, 27 tháng 2, 2014

Robot dò line

Đồ án môn học 1
Page 5


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH

2. Hệ thống điều khiển:
Bo mạch chủ sử dụng chip AVR Atmega8

Hình 1: Chip Atmega8
3. Sơ đồ nguyên lý mạch điều khiển:
• Mạch Nguồn:

Hình 2: Sơ đồ mạch nguồn
Mạch nguồn dùng ic ổn áp 7805 từ nguồn 12 v để tạo ra điện áp 5v cung cấp
cho vi điều khiển và cầu chì bảo vệ ic.



Đồ án môn học 1
Page 6


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH

• Mạch điều khiển:

Hình 3: Sơ đồ mạch điều khiển
Tín hiệu từ sensor được đọc về các chân trên Port.C của IC.
Vì chip Atmega8 chỉ có 2 chân PWM nên PIND.4 được dùng làm chân điều chế xung
để điều khiieenr góc quay của động cơ RC Servo.
Bốn PIN 0,5,6,7 của Port.D được dùng để đưa tín hiệu điều khiển 2 cầu H L298_A và
L298_B.
Hai chân PINB.1, PINB.2 điều chế xung PWM điều khiển 2 cầu H qua đó điều chỉnh
tốc độ của hai động cơ.








Đồ án môn học 1
Page 7


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH

• Mạch công suất:

Hình 4: Sơ đồ phần mạch công suất
Trong mỗi IC L298 được tích hợp 2 cầu H, mỗi cầu H chịu được dòng 2 Ampe. Khi
nối các chân có cùng chức năng của 2 cầu H trên IC với nhau thì IC có thể cung cấp
được dòng 4 Ampe đủ để cho động cơ hoạt động hết công suất.
Cần gắn tản nhiệt cho IC L298 vì trong quá trình hoạt động IC rất nóng dễ hỏng IC.
II. HOẠT ĐỘNG
1. Đặc tả đường đua:
Cấu tạo đường đua như sau:
Đồ án môn học 1
Page 8


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH

* Dày 30mm
* Rộng 300mm

Hình 5
Mặt đường chạy của đường đua (xem hình 6) bao gồm màu trắng, màu đen,
và màu xám. Trong đó phần màu trắng dùng để xác định khúc đường cua
hay chuyển làn đường.

Hình 6
Toàn bộ đường đua là sự kết hợp của đường thẳng, đường vòng, đường
ngoặt (góc cua 90
0
), đường vòng hình chữ S (bán kính bên trong tối thiểu là
450mm) và độ dốc khi lên xuống không quá 70
0
(xem trong hình 7)
Đồ án môn học 1
Page 9


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH



Hình 7
Ở khúc ngoặt 90
0
sẽ có 2 vạch màu trắng để báo hiệu, độ rộng của mỗi vạch
màu trắng là 20mm, khoảng cách của 2 vạch màu trắng này là 30mm, và
chúng được đặt cách khúc ngoặt từ 500mm đến 100mm (xem hình 8).

Hình 8
Ở khúc chuyển làn đường, chiều dài và bề rộng ở khúc chuyển làn đường
đều là 600mm. Có 2 vạch màu trắng để báo hiệu, độ rộng của mỗi vạch
trắng này là 20mm, khoảng cách của 2 vạch màu trắng này là 30mm, chúng
được đặt một bên (bên trái hay bên phải) tùy thuộc vào hướng của phần
chuyển đường và cách khúc ngoặt từ 300mm đến 1000mm. Đường màu
trắng trung tâm sẽ xuất hiện từ điểm 200mm đến 400mm (xem hình 9).
Đồ án môn học 1
Page 10


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH


Hình 9
2. Hoạt động của động cơ servo:


Hình 10: Cấu tạo động cơ Servo
RC servo là một loại động cơ điện đặc biệt có khả năng quay cơ cấu chấp hành
tới một vị trí chính xác và giữ cứng tại vị trí đó ngay cả khi cơ cấu chấp hành bị
đẩy trở lại. Dải góc quay chuẩn của đầu trục ra thường là là 90 và 180 độ.
Đồ án môn học 1
Page 11


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH


Động cơ servo được điều khiển bằng mạch điều khiển. mạch điều khiển bằng
xung vuông có độ rộng 1ms ->2ms, tần số 50 -> 60 hz.
Để điều khiển servo quay theo các góc cố định thì chip điều khiển phải phát
xung với độ rộng từ 1ms đến 2ms. Trên hình bên là mô tả về tín hiệu điều khiển này:
1ms ứng với góc quay nhỏ nhất -90
0
và 2ms ứng với góc quay lớn nhất của servo 90
0

nên góc quay ở giữa 0
0
ứng với độ rộng xung là 1,5 ms.
Vì thế RC servo được sử dụng để điều khiển hướng di chuyển của robot một
cách chính xác và đáp ứng tốt yêu cầu đặt ra.
3. Hoạt động của sensor dò đường:
Cần dò đường đưa ra phía trước, gồm có 6 cặp quang trở-Led siêu sáng nằm
song song với nhau. Khi hoạt động ánh sáng từ led chiếu xuống đường nếu gặp đường
line màu trắng ánh sáng phản chiếu trở lại quang trở tương ứng, lúc đó tín hiệu được
truyền về chân tương ứng ở PortC của Vi điều khiển là mức [1].Nếu ánh sáng từ led
chiếu xuống gặp nền đen của đường đua thì ánh sáng bị hấp thụ hết, lúc đó tín hiệu từ
sensor báo về portD vi điều khiển là mức [0].

Đồ án môn học 1
Page 12


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH


4. Ý tưởng giải thuật:
Khi xe hoạt động, sensor dò đường báo tín hiệu về Vi điều khiển để biết được vị
trí tương đối của xe so với đường đi. Tương ứng với từng tín hiệu Vi điều khiển sẽ
phát lệnh điều khiển đến RC Servo và 2 động cơ kéo 2 bánh xe truyền động.
Việc điều khiển bẻ Servo cần liên tục và chính xác để khi xe chạy tốc độ cao
vẫn luôn bám được line chỉ đường. Vì thế ta sử dụng ngắt tràn timer0 để tạo ra thời
gian kiểm tra của servo là 20ms. Khi đó cứ mỗi 20ms thì servo được điều chỉnh hướng
quay một lần đảm bảo robot di chuyển đúng line.
Khi gặp vạch báo hiệu bẻ góc 90
0
hoặc chuyển line thì vi điều khiển phát lệnh
xuống 2 động cơ giảm tốc độ cho xe để xe dễ dàng xử lý sau đó chờ tín hiệu tiếp theo
để bẻ góc hoặc chuyển line.
Tốc độ của xe được điều khiển bằng 2 chân điều chế xung PWM (PWM1A và
PWM1B) cũng hỗ trợ trong việc điều chỉnh hướng di chuyển của xe.





Đồ án môn học 1
Page 13


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH

5. Code điều khiển:
/*****************************************************
Project : DO AN MON HOC 1 ( Robot do line)
Version : 1.0
Date : 20/12/2010
Author : Pham Quoc Gia
Company : Lop 08-DTD
Comments:
Chip type : ATmega8
Program type : Application
Clock frequency : 12.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega8.h>
#include <delay.h>
// Declare your global variables here
int x=0;
/***************************************************
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 12000.000 kHz
// Mode: Fast PWM top=ICR1
// OC1A output: N on-Inv.
// OC1B output: N on-Inv.
// Input Capture on Falling Edge
***************************************************/
Đồ án môn học 1
Page 14


GVHD: TS.Nguyễn Thanh Phương SVTH: Phạm Quốc Gia
ThS. Phạm Quốc Phương Lớ p 08DDC-HUTECH

void setup_pwm()
{
TCCR1A=0xA2; //Thiet lap PWM cho TCCR1A& 1B
TCCR1B=0x19;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0X00;
ICR1L=0xff;
}
//
void set_pwm1A(int duty1A)
{
OCR1AH=0x00;
OCR1AL=(duty1A);
}
//
void set_pwm1B(int duty1B)
{
OCR1BH=0x00;
OCR1BL=(duty1B);
}
//
void SPEED(int L, int R)
{
set_pwm1A(R-8);
set_pwm1B(L);
}
//

Xem chi tiết: Robot dò line


Không có nhận xét nào:

Đăng nhận xét