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

Xe dò line dùng vi điều khiển AT89S52 và cảm biến hồng ngoại

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 (923.83 KB, 35 trang )

TRƯỜNG ĐẠI HỌC QUY NHƠN
KHOA KỸ THUẬT VÀ CÔNG NGHỆ
----------

BÁO CÁO MÔN HỌC
ĐỒ ÁN THIẾT KẾ MẠCH ĐIỆN TỬ
Đề tài: “XE DÒ LINE DÙNG VI ĐIỀU KHIỂN AT89S52
VÀ CẢM BIẾN HỒNG NGOẠI”

Lớp:
Sinh viên thực hiện:

KTĐT – TT 37A

Quy Nhơn, 06/2017
Mục lục


LỜI NÓI ĐẦU
Ngày nay điều khiển tự động đã trở thành một nhu cầu không th ể
thiếu được của con người , dưới sự xuất hiện của các học thuy ết và các
ứng dụng cụ thể trong đời sống hằng ngày, có thể nói điều khiển tự
động đang chi phối dần cuộc sống của chúng ta. Con ng ười đang c ố
gắng tạo ra các xe dò line có khả năng làm việc thay cho con ng ười ,
chúng ta thường bắt gặp các xe dò line trong các dây chuy ền hang hóa
công nghiệp. Để tìm ra các ý tưởng sáng tạo hay để tổ chức các cuộc thi
bổ ích đó là tiền đề để tạo ra những xe dò line có khả năng áp d ụng vào
thực tế.
Tự động hóa là tổng hòa của nhiều lĩnh vực như cơ khí, điều khi ển,
công nghệ thông tin và cơ điện tử. Các lĩnh v ực này k ết h ợp v ới nhau
tạo thành các hệ thống tự động hóa và cao hơn nữa là tự động hóa toàn


bộ hệ thống sản xuất. Ngành công nghệ tự động hóa ngày càng có vai
trò quan trọng và hết sưc cần thiết để đáp ứng các m ục tiêu kinh tế,
nhất là trong quá trình công nghiệp hóa và hiện đại hóa nh ư hi ện nay.
Hiện có rất nhiều loại robot:
 Quy mô lớn như: những cánh tay máy như những dây chuy ền
sản xuất, những hệ thống sản xuất tự động…
 Nhỏ hơn là những robot có khả năng di chuyển, làm nh ững
công việc nguy hiểm thay thế con người, robot giúp người già,
robot bán hang…
Lần này nhóm thực hiện làm xe dò line. Đây là c ơ s ở, n ền t ảng đ ể
làm những cái lớn hơn, có ích hơn trong quá trình h ọc tập và làm vi ệc
sau này.
Cũng chính vì mục đích đó mà chúng em thực hiện đề tài xe dò line, nó
lại là bước khởi đầu trong lập trình vi điều khiển, đây ch ỉ là công việc
nhỏ của quá trình thiết kế và thi công đề tài đã để cho em nhiều bài
học và kinh nghiệm quý giá, tìm tòi những ứng dụng thực tiễn trong
cuộc sống.

2


Chương I. Tổng quan
1. Cảm biến hồng ngoại
1.1 Giới thiệu chung
Cảm biến hồng ngoại được chia ra làm 3 loại: cảm
biến hồng ngoại thường, cảm biến hồng ngoại kiểu
phản xạ (infrared reflective sensor) và cảm biến hồng
ngoại kiểu thấu xạ (infrared slotted sensor).
1.2 Các loại cảm biến
Cảm biến hồng ngoại thường: đây là loại cảm

biến mà bộ phát và bộ thu không được kết cấu trong một
khối. Bộ phát và bộ thu là 2 bộ phận riêng rẽ. Bộ phát
hồng ngoại (infrared emitter) có hình dạng như một
diode phát quang (LED). Tuy nhiên ánh sang phát ra là
hồng ngoại. Bộ thu hồng ngoại (infrared detector) là một
transistor quang. Khi transistor nhận được ánh sáng hồng
ngoại, nó sẽ dẫn bão hòa. Ngược lại, nó sẽ ngưng dẫn.
Cảm biến hồng ngoại kiểu
phản
xạ: là một linh kiện hình thang
được
thiết kế cho những ứng dụng đặc
biệt.
Trong linh kiện này có tích hợp một
transistor quang (rất nhạy đối với ánh sáng hồng ngoại)
và một bộ phát ánh sáng hồng ngoại. Khi có vật thể chắn
sáng, lượng áng sáng này sẽ được phản hồi đến
transistor quan nhờ vật chắn sáng, transistor quang bắt
đầu dẫn và ngược lại.
Cảm biến hồng ngoại kiểu thấu xạ: nguyên lý
hoạt động hoàn toàn giống với cảm biến hồng ngoại
3


kiểu phản xạ. Tuy nhiên, lượng ánh sáng phát ra sẽ được
đưa trực tiếp đến transistor quang. Nếu không có vật thể
chắn sáng giữa bộ phát và bộ thu (transistor quang),
transistor có thể nhận hoàn toàn lượng ánh sáng được
phát ra. Lúc này, transistor sẽ dẫn bão hòa. Ngược lại, khi
có vật thể chắn sáng giữa bộ phát và thu, lúc này

transistor sẽ không nhận được lượng ánh sáng phát ra.

1.3 Cảm biến hồng ngoại trong mạch dò đường

4


2. Vi điều khiển 8051
2.1 Giới thiệu chung

MCS-51 là họ vi điều khiển của hãng Intel. Vi mạch tổng quát c ủa
họ MCS-51 là chip 8051.
Chip 8051 có một số đặc trưng cơ bản sau:
• Bộ nhớ chương trình bên trong: 4 KB (ROM)
• Bộ nhớ dữ liệu bên trong: 128 byte (RAM)
• Bộ nhớ chương trình bên ngoài: 64 KB (ROM)
• Bộ nhớ dữ liệu bên ngoài: 64 KB (RAM)
• 4 port xuất nhập (I/O port) 8 bit.
• 2 bộ định thời 16 bit.
• Mạch giao tiếp nối tiếp.
• Bộ xử lý bit (thao tác trên bit riêng lẻ).
• 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit.
• Nhân / chia trong4 uS.
Ngoài ra, trong họ MCS-51 còn có một sô chip vi điều khi ển
khác có cấu trúc tương đương như:

5


CHIP


ROM trong

8031
8032
8051
8052
8751
8752
8951
8952

0 KB
0 KB
4 KB PROM
8 KB PROM
4 KB UV-EPROM
8 KB UV-EPROM
4 KB Flash ROM
8 KB Flash ROM

RAM trong
(byte)
128
256
128
256
128
256
128

256

Bộ định
thời
2
3
2
3
2
3
2
3

2.2. Các phiên bản chip vi điều khiển 8051
2.2.1 Bộ điều khiển AT8951
AT8951 là phiên bản 8051 có ROM trên chip là bộ nh ớ Flash.
Phiên bản này rất thích hợp cho các ứng dụng nhanh vì bộ nh ớ
Flash có thể được xóa trong vài giây. Dĩ nhiên là để dùng
AT8951 cần phải có thiết bị lập trình Rom hỗ trợ bộ nhớ Flash
nhưng không cần đến thiết bị xóa ROM vì bộ nhớ Flash được
xóa bằng thiết bị lập trình PROM.
Ký hiệu
AT89C51
AT89LV51
AT89C1051
AT89C2051
AT89C52
AT89LV52

ROM

(KB)
4
4
1
2
8
8

RAM
128
128
64
128
256
256

I/O Time
r
32 2
32 2
15 1
15 2
32 3
32 3

Ngắt Vcc
(V)
5
5
5

3
3
3
5
3
6
5
6
3

PIN
40
40
20
20
40
40
6


2.2.2 Bộ vi điều khiển 8052
8052 là một phiên bản của họ 8051, 8052 có tất cả các thông số
kỹ thuật của 8051, ngoài ra còn có thêm 128 byte RAM, 8 KB ROM
và ba bộ định thời.
Đặc tính kỹ thuật
ROM trên chip (KB)
RAM trên chip (byte)
Bộ định thời
Chân vào/ra
Cổng nối tiếp

Nguồn ngắt

8031
0
128
2
32
1
5

8051
4
128
2
32
1
5

8052
8
256
3
32
1
6

8051 là một trường hợp riêng của 8052. Mọi ch ương trình
viết cho 8051 đều có thể chạy được trên 8052 nh ưng ng ược
lại có thể không đúng.


2.3. Các chân của chip 8051

2.3.1. Sơ đồ khối và chức năng các khối của chip
8051

7


Sơ đồ khối của chip 8051

Chức năng các khối:
• CPU (Central Processing Unit): Đơn vị xử lý trung tâm
tính toán và điều khiển quá trình hoạt động của hệ thống.
• OSC (Oscillator): Mạch dao động tạo tín hiệu xung clock
cung cấp cho các khối trong chip hoạt động.
• Interrupt control: Điều khiển ngắt nhận tín hiệu ngắt từ
bên ngoài (INT0\, INT1\), từ bộ định thời (Timer 0, Timer
1) và từ cổng nối tiếp (Serial port), lần lượt đưa các tín
hiệu ngắt đến CPU để xử lý.
• Other registers: Các thanh ghi khác lưu trữ dữ liệu của
các port xuất/nhập, trạng thái làm việc của các khối trong
chip trong suốt quá trình hoạt động của hệ thống.
• RAM (Random Access Memory): Bộ nhớ dữ liệu trong
chip lưu trữ các dữ liệu.
• ROM (Read Only Memory): Bộ nhớ chương trình trong
chip lưu trữ chương trình hoạt động cuả chip.
• I/O port (In/Out ports): Các port xuất/nhập điều khiển
việc xuất nhập dữ liệu dưới dạng song song giữa trong và
ngoài chip thông qua các port P0, P1, P2, P3.
• Serial Port: Port nối tiếp điều khiển việc xuất nhập dữ

liệu dưới dạng nối tiếp giữa trong và ngoài chip thông qua
các chân TxD, RxD.
• Timer 0, Timer 1: Bộ định thời 0, 1 dừng để định gian
hoặc đếm sự kiện (đếm xung) thông qua các chân T0, T1.
• Bus control: Điều khiển bus điều khiển hoạt động của hệ
thống bus và việc đi chuyển thông tin trên hệ thống bus.
• Bus system: Hệ thống bus liên kết các khối trong chip lại
với nhau.

8


2.3.2. Sơ đồ chân và chức năng các chân của chip
8051

Sơ đồ chân chip 8051

2.3.2.1. Port 0
Port ) (P0.0 – P0.7) số thứ tự chân từ 32 – 39.
Port 0 có hai chức năng:
• Port xuất nhập dữ liệu (P0.0 – P0.7) không sử dụng bộ
nhớ ngoài.
• - Bus địa chỉ byte thấp và bus dữ liệu đa h ợp (AD0 – AD7)
có sử dụng bộ nhớ ngoài.
• Khi port 0 đóng vai trò là port xuất nh ập d ữ liệu thì ph ải
sử dụng các điện trở kéo lên cao.
• Ở chế độ mặc định (khi reset) thì các chân Port 0 (P0.0 –
p0.7) được cấu hình là port xuất dữ liệu. Muốn các chân
port 0 làm port nhập dự liệu thì cần phải lập trỉnh lại,
bằng cách ghi mức logic cao đến tất cả các bit của port

9


trước khi bắt đầu nhập dữ liệu từ port. Khi lập trình cho
ROM trong chip thì port 0 đóng vai trò là ngõ vào c ủa d ữ
liệu (D0 – D7).
2.3.2.2. Port 1
Port 1 (P1.0 – P1.7) có số thứ tự chân từ 1 -8.
Có một số chức năng:
• Port xuất nhập dữ liệu (P1.0 – P1.7) s ử dụng hoặc không
sử dụng bộ nhớ ngoài.
• Ở chế độ mặc định (khi reset) thì các chân Port 1 được c ấu
hình là Port xuất dữ liệu. Muốn các chân port 1 làm port
nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi m ức
logic cao đến tất cả các bit của port trước khi bắt đầu
nhập dữ liệu từ port.
• Khi lập trình cho ROM trong chip thì Port 1 đóng vai trò là
ngõ vào của địa chỉ byte thấp (A0- A7).
2.3.2.3. Port 2
Port 2 (P2.0 – P2.7) có số thứ tự chân từ 21 -28.
Port 2 có hai chức năng:
• Port xuất nhập dữ liệu. port 2 không sử dụng bộ nhớ
ngoài.
• Bus địa chỉ byte cao (A8 – A15) có sử dụng bộ nh ớ ngoài.
• Ở chế độ mặc định (khi reset) thì các chân port 2 đ ược c ấu
hình là port xuất dữ liệu. Muốn các chân port 2 làm port
nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi m ức
logic cao đến tất cả các bit của port trước khi bắt đầu
nhập dữ liệu từ port.
• Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là

ngõ vào của địa chỉ byte cao (A8 – A11) và các tín hi ệu
điều khiển.
2.3.3.4. Port 3
Port 3 (P3.0 – P3.7) có số thứ tự chân từ 10 -17.
Có các chức năng:
• Port xuất nhập dữ liệu không sử dụng bộ nhớ ngoài hoặc
các chức năng đặc biệt.
• Các tín hiệu điều khiển có sử dụng bộ nhớ ngoài hoặc các
chức năng đặc biệt.
10




Ở chế độ mặc định (khi reset) thì các chan Port 3 được cấu
hình là port xuất dữ liệu. Muốn các chân port 3 làm port
nhập dữ liệu thì cần phải lập trinhfh lại, bằng cách ghi
mức cao đến tất cả các bit của port trước khi bắt đầu
nhập ddiefu khiển.



Chức năng của port 3:

Bit
P3.0
P3.1
P3.2
P3.3
P3.4

P3.5
P3.6
P3.7

Tên
RxD
TxD
INT0\
INT1\
T0
T1
WR\
RD\

Địa chỉ bit
B0H
B1H
B2H
B3H
B4H
B5H
B6H
B7H

Chức năng
Nhận dữ liệu nối tiếp
Phát dữ liệu nối tiếp
Ngắt ngoài 0
Ngắt ngoài 1
Timer 0

Timer 1
Điều khiển ghi vào RAM ngoài
Điều khiển đọc từ RAM ngoài

2.3.2.5. Chân PSEN\
PSEN (Program Store Enable): cho phép bộ nhớ chương trình,
chân số 29.
Chức năng:
• Là tín hiệu cho phép truy xuất (đọc) bộ nh ớ ch ương
trình (ROM) ngoài.
• Là tín hiệu xuất, tích cực mức thấp.
PSEN\ = 0 trong thời gian CPU tìm – nạp lệnh t ừ ROM
ngoài.
PSEN\ = 1 CPU sử dụng ROM trong (không sử dụng ROM
ngoài).
Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\
thường được nối với chân OE\ của ROM ngoài để cho
phép CPU đọc mã lệnh từ ROM ngoài.
2.3.2.6. Chân ALE
ALE (Address Latch Enable): cho phép chốt địa chỉ, chân số 30.
11


Chức năng:
• Là tín hiệu cho phép chốt địa chỉ để th ực hiện việc
giải đa hợp bus địa chỉ byte thấp và bus dữ liệu đa
hợp (AD0 – AD7).
• - Là tín hiệu xuất, tích cực mức cao.
• ALLE = 1 trong thời gian bus AD0 – AD7 đóng vai trò
là bus D0 – D7.

• ALE = 1 trong thời gian bus AD0 – AD7 đóng vai trò
là bus A0 – A7.
• Khi lập trình cho ROM trong chip thì chân ALE đóng
vai trò là ngõ vào của xung lập trình (PGM\).
2.3.2.7. Chân EA\
EA (External Access): truy xuất ngoài, chân số 31.
Chức năng:
• Là tín hiệu cho phép truy xuất (s ử dụng) bộ nh ớ
chương trình (ROM) ngoài.
• - Là tín hiệu nhập, tích cưc mức thấp.
• EA\ = 0 chip 8051 sử dụng chương trình của ROM
ngoài.
• EA\ = 1 chip 8051 sử dụng chương trình của ROM
trong.
• Khi lập trình cho ROM trong chip thì chân EA đóng
vai trò là ngõ vào của điện áp lập trình (Vpp = 12V –
12,5V cho họ 89xx; 21V cho họ 80xx, 87xx).
• Chân EA\ phải được nối lên Vcc (nếu sử dụng
chương trình của ROM trong) hoặc nối xuống GND
(nếu sử dụng chương trình của ROM ngoài), không
bao giờ được phép bỏ trống chân này.
2.3.2.8. Chân XTAL1, XTAL2
XTAL (Crystal): Tinh thẻ thạch anh, chân số 18 -19.
Chức năng:
• Dùng để nối với thạch anh hoặc mạch dao động tạo
xung clock bên ngoài, cung cấp tín hiệu xung clock
cho chip hoạt động.
• XTAL1 ngõ vào mạch tạo xung cock chip.

12





XTAL2 ngõ ra mạch tạo xung clock chip.

2.3.2.9. Chân RST
RST (Reset): thiết lập lại, chân số 9.
Chức năng:
• Là tín hiệu cho phép thiết lập lại trạng thái ban đ ầu
cho hệ thống.
• Là tín hiệu nhập, tích cực mức cao.
• RST = 0 chip 8051 hoạt động bình thường.
• RST = 1 chip 8051 được thiết lập lại trạng thái ban
đầu.
2.3.2.10. Chân Vcc, GND
Vcc, GND: nguồn cấp điện, chân sô 40 và 20.
Chức năng:
• Cung cấp nguồn điện cho chip 8051 hoạt động.
• Vcc - +5V, 10% và GND = 0V

2.4. Tổ chức bộ nhớ của chip 8051
2.4.1. Bộ nhớ chương trình(ROM)
• Dùng để lưu trữ chương trình điều khiển cho chip
8051 hoạt động.
• Chip 8051 có 4 KB ROM trong, địa ch ỉ truy xuất:
000h – FFFh.
2.4.2. Bộ nhớ dữ liệu (RAM)
• Dùng để lưu trữ các dữ liệu và tham số.
• Chip 8051 có 128 byte RAM trong, địa ch ỉ truy xuất:

00h – 7Fh.
• RAM trong của chip 8051 được chia ra:

RAM đa chức năng

Gồm: 80 byte RAM
Địa chỉ truy xuất: 30h – 7Fh
Kiểu truy xuất dữ liệu
13


Trực tiếp Gián tiếp
• RAM định địa chỉ bit: Cho phép xử lý từng bit dữ liệu
riêng lẻ mà không ảnh hưởng đén các bit khác trong c ả
byte.
2.4.3. Thanh ghi chức năng đặc biệt
2.4.3.1. Thanh ghi A

A (Accumulator): thanh ghi tích lũy
E7

E6




E5

E4


E3

E2

E1

E0

Địa chỉ byte: E0h
Địa chỉ bit: E0h – E7h
Công dụng: chứa dữ liệu của các phép toán mà
vi điều khiển xử lý.

2.4.3.2. Thanh ghi B

Phép nhân 2 số 8 bit không dấu, kết quả là số 16 bit.
 Byte cao: chứa vào thanh ghi B
 Byte thấp: chứa vào thanh ghi A
 Phép chia 2 số 8 bit: thương số và số dư là s ố
8 bit.
 Thương số: chứa vào thanh ghi A.
 Số dư: chứa vào thanh ghi B.
2.4.3.3. Thanh ghi ngăn xếp (Stack Pointer)
Con trỏ SP (stack pointer) là thanh ghi 8 bit ở địa chỉ 81h.
SP chứa địa chỉ của dữ liệu hiện đang ở đỉnh của stack.
Các lệnh liên quan đến stack bao gồm lệnh cất dữ liệu
vào stack và lệnh lấy dữ liệu ra khỏi stack sẽ giảm SP.
Vùng stack của 8051 được giữ trong RAM nội và được giới
hạn đến các địa chỉ truy xuất được bởi kiểu định địa ch ỉ
gián tiếp. Các lệnh PUSH và POP sẽ cất dữ liệu vào stack

và lấy dữ liệu từ stack, các lệnh gọi chương trình con
(ACALL, LCALL) và lệnh trở về (RET, RETI) cũng cất và

14


phục hồi nội dung của bộ đếm chương trình PC (Program
counter).
2.4.3.4. Con trỏ dữ liệu DPTR
DPTR (data pointer) được dùng để truy xuất bộ nh ớ
chương trình ngoài hoặc bộ nhớ dữ liệu ngoài. DPTR là
một thanh ghi 16 bit có địa chỉ là 82h (DPL, byte th ấp) và
83h (DPH, byte cao).
2.4.3.5. Thanh ghi truyền thông nối tiếp (Serial Data
Buffer)
Bộ đệm truyền thông được chia thành hai bộ đệm, bộ
đệm truyền dữ liệu và bộ đệm nhận dữ liệu. Khi dữ liệu
được chuyển vào thanh ghi SBUF, dữ liệu sẽ được chuy ển
vào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho
đến khi quá trình truyền dữ liệu qua truy ền thông nối
tiếp kết thúc. Khi thực hiện việc chuyển dữ liệu từ SBUF
ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu của
truyền thông nối tiếp.
2.4.3.6. Thanh ghi của bộ định thời/bộ đếm
8051 có 2 bộ đếm/định thời (counter/timer) 16 bit để
định các khoảng thời gian hoặc để đếm các sự kiện. Các
cặp thanh ghi (TH0, TL0) và (TH1, TL1) là các thanh ghi
của bộ đếm thời gian. Bộ định thời 1 có địa chỉ 8Bh (TL1,
byte thấp) và 8Dh (TH1, byte cao). Hoạt động của bộ định
thời được thiết lập bởi thanh ghi chế độ định thời TMOD

(Timer Mode Register) ở địa chỉ 88h. Chỉ có TCON được
định địa chỉ từng bit.
2.4.3.7. Các thanh ghi điều khiển
Các thanh ghi điều khiển đặc biệt (IP, IE, TMOD, TCON,
SCON, PCON) là các thanh ghi điều khiển và ghi nhận
trạng thái của hệ thống ngắt, bộ đếm/định thời, truyền
thông nối tiếp.
15


2.5. Ứng dụng
Vi điều khiển được ứng dụng rất rộng rãi trong đời sống và
trong công nghiệp. Tất cả những thiết bị điện tử có phần
điều khiển tự động đều có thể có mặt vi điều khi ển, trong
nhu cầu công nghiệp hóa thì vi điều khiển đóng vai trò quan
trọng bậc nhất trong chuyên ngành tự động và điều khiển.
Ví dụ những ứng dụng đơn giản của vi điều khiển 8051:
• Vi điều khiển giao tiếp led đơn vi điều khiển 8051
• Kết nối vi điều khiển với Rơle
• Kết nối vi điều khiển với LCD
• Kết nối vi điều khiển với ma trận led


3. Robot dò đường
3.1. Giới thiệu về robot dò đường
• Robot dò đường là một biến thế đặc biệt của robot hướng
sáng. Sở dĩ nói như vậy là do chúng có cùng nguyên tắc
hoạt động là sử dụng cảm biến quang điện ( quang tr ở
hoặc diode hồng ngoại) để so sánh cường độ sáng từ đó
điều chỉnh hướng đi thích hợp. Khi robot đi lệch vào vùng

có vạch vẽ, ánh sáng phát ra từ robot không phản xạ lại
như bình thường mà bị đường kẻ hấp thụ 1 phần làm sai
lệch độ sáng giữa hai cảm biến. Việc còn lại là thiết kế
sao cho robot có hành vi khắc phục sự sai lệch đó và ta có
được loại robot đi theo đường vẽ.
• Nhiệm vụ của các cảm biến quang như sau:

Sơ đồ mô phỏng cách hoạt động của xe

16


Đường đi được vạch sẵn với chiều dài mặt cắt ngang xác
định. Đường đi được đặt trên nền có vật liệu khác loại.
Nếu đường đi là vật liệu phản quang thì nền không ph ản
quang và ngược lại.
• Robot sử dụng các LED phát chiếu xuống mặt đường đi
hoặc nền. Ánh sáng hồng ngoại sẽ phản xạ lại kkhi gặp
vật liệu phản quang. Sử dụng cảm biến quang robot xác
định được trạng thái của mình trên mặt đường , từ đó đưa
ra quyết định điều khiển tương ứng.
• Robot vận hành có 3 bánh, 2 bánh chủ động. Robot dẫn
động bằng 2 động cơ 1 chiều ở 2 bánh trước, bánh sau
làm nhiệm vụ điều hướng để xe chuyển h ướng nhẹ nhàng
hơn. Phần dò đường dùng 4 cặp cảm biến . Phần x ử lý
chọn vi điều khiển AT89S52.
3.2. Ứng dụng của robot dò đường
Được ứng dụng vào công nghệ dò đường di chuyển tự đ ộng
trong vận chuyển hàng hóa. Tuy còn sơ khai về nguyên tắc
điều khiển nhưng robot dò đường đã tạo m ột bước ngoặc

quan trọng trong công nghệ thiết kế và chế tạo robot, m ở ra
một kỷ nguyên mới về ngành công nghệ kỹ thuật tự động hóa
và đưa tự động hóa vào sản xuất.


Chương 2. Thiết kế mô hình
1. Cấu trúc cơ bản của robot dò đường
Sơ đồ khối:

KHỐI
SENSOR

KHỐI
SO SÁNH
TÍN HIỆU

KHỐI ĐIỀU
KHIỂN CHÍNH
DÙNG CHIP
AT89S52

KHỐI DAO ĐỘNG

KHỐI DRIVER
ĐIỀU KHIỂN
ĐỘNG CƠ DC

ĐỘNG

DC


17


2. Các khối cơ bản của robot
2.1.

Khối cảm biến dò đường

Khối cảm biến

18


Khối cảm biến dò đường là thành phần không thể thiếu trong
mô hình để điều khiển xe chạy một cách chính xác và đẹp m ắt.
Trong mô hình xe này sử dụng 4 cặp cảm biến thu phát h ồng
ngoại, được sắp xếp thành một hàng ngang, khi di chuy ển thì hàng
cảm biến này có phương vuông góc với đường line trên nền đất.
Sắp xếp sao cho 2 cặp cảm biến ở ngoài đường line và 2 c ặp ở
trong phạm vi độ rộng của đường line. Với 2 cặp c ảm bi ến n ằm
ngoài đường line thì ánh sáng hồng ngoài do led phát h ồng ngo ại
phát ra không bị vạch đen của đường line h ấp thu nên tín hi ệu
truyền về led thu ở mức cao, tương tự cho 2 cặp led ở trong đ ường
line nhưng ngược lại, ánh sáng hồng ngoại phát ra sẽ bị v ạch đen
hấp thụ một phần lớn, nên tín hiệu thu được ở mức thấp. Dựa vào
đó ta lập trình sao cho khi các điều kiện đó bị sai thì điều ch ỉnh t ốc
độ quay của 2 động cơ DC để xe đi theo đúng đường để các điều
kiện trở về trạng thái đúng như ban đầu của nó.


2.2.

Khối so sánh tín hiệu

Khối so sánh tín hiệu dùng IC LM324

Khối so sánh tín hiệu dùng IC LM324, là một IC công suất thấp
bao gồm 4 bộ khuếch đại thuật toán (OPAMP) trong nó.
19


Thông thường muốn sử dụng một bộ khuếch đại thuật toán (OpAmp) thì cần phải có nguồn đôi. Tức là phải có nguồn d ương và
nguồn âm. Chẳng hạn như OPAMP 741.
Tuy nhiên các OPAMP trong LM324 được thiết kế đặc biệt để sử
dụng với nguồn đơn. Tức là chỉ cần Vcc và GND là đủ.
Một điều đặc biệt nữa là nguồn cung cấp của LM324 có th ể hoạt
động độc lập với nguồn tín hiệu. Ví dụ nguồn cung cấp của LM324
là 5V nhưng nó có thể làm việc bình th ường với nguồn tín hiệu ở
ngõ vào V+ và V- là 15V mà không có vấn đề gì.

2.3.

Khối driver điều khiển động cơ DC và động cơ

Khối drvier điều khiển động cơ và động cơ DC

Khối điều khiển động cơ DC sử dụng IC driver
L298D, là một chip tích hợp 2 mạch cầu H trong gói 16 chân. Tất
cả các mạch kích, mạch cầu đều được tích hợp sẵn. L298D có
20



điện áp danh nghĩa cao (lớn nhất 36V) và dòng điện danh nghĩa
lớn nhất 1.2A nên rất thích hợp cho các các ứng dụng công su ất
nhỏ như các động cơ DC loại nhỏ và vừa.
Có 2 mạch cầu H trên mỗi chip L298D nên có thể điều khiển 2
đối tượng chỉ với 1 chip này. Mỗi mạch cầu bao gồm 1 đ ường
nguồn Vs (thật ra là đường chung cho 2 mạch c ầu), m ột đ ường
current sensing (cảm biến dòng), phần cuối của mạch cầu H
không được nối với GND mà bỏ trống cho người dùng n ối một
điện trở nhỏ gọi là sensing resistor.
Động cơ sẽ được nối với 2 đường OUT1, OUT2 (hoặc OUT3,
OUT4 nếu dùng mạch cầu bên phải). Một chân En (EnA và EnB
cho 2 mạch cầu) cho phép mạch cầu hoạt động, khi chân En
được kéo lên mức cao, mạch cầu sẵn sang hoạt động.

2.4.

Khối điều khiển trung tâm

Khối điều khiển trung tâm

21


Khối điều khiển trung tâm sử dụng chip vi điều khiển AT89S52,
là một vi điều khiển thuộc họ MCS-51, với 8 KB bộ nh ớ, có th ể
đọc/ghi dữ liệu khoảng 1000 lần. Điện áp đầu vào từ 4.0 – 5.5V, t ần
số cung cấp tĩnh từ 0 – 33 MHz, có 32 đường I/O l ập trình đ ược,
Timer/Counter 16 bit, 8 ngắt ngoài.

Vi điều khiển AT89S52 rất thích hợp để điều khiển động c ơ DC.
Tuy nhiên, do các động cơ trên mạch thường hoạt đ ộng không ổn
định hay do sự cố kỹ thuật nên có tốc độ không ổn định cũng nh ư
việc điều khiển đòi hỏi tốc độ động cơ phải thay đổi liên t ục nên có
thể thiết kế mạch công suất cho 2 động cơ để động cơ hoạt động
ổn định hơn.
Dòng xuất nhập của chip tương đối nhỏ, với các ứng d ụng s ử
dụng ít cổng I/O thì ta có thể sử dụng trực tiếp các cổng này. Nh ưng
trong mạch xe dò đường thì các cổng I/O được tận dụng tối đa nên
có thể thiết kế thêm các mạch đệm trước cổng I/O, các IC đ ệm có
thể cung cấp dòng lớn hơn cho tải.

3. Lập trình điều khiển

22


3.1.

Lưu đồ ý tưởng thuật toán

23


3.2.

Lưu đồ thuật toán chi tiết

24



3.3.

Code Assembly
in_1 bit p1.0
in_2 bit p1.1
in_3 bit p1.2
in_4 bit p1.3
out_1 bit p0.0
out_2 bit p0.1
out_3 bit p0.2
out_4 bit p0.3
org
00h
ljmp main
org
40h
main:
;Thiết lập cổng ra/vào
mov p1,#0ffh
mov p0,#00h
;Lùi tìm đường đi khi quá giới hạn
mov a,p1
add a,#00000001b
jc hoantat
;Kiểm tra tín hiệu
setb in_4
jnb in_4,kt2
setb in_2
jnb in_2,a1

ljmp kt1
a1:
call re_phai_gap
ljmp ktra_phai
kt2: setb in_2
jnb in_2,a2
call re_trai_gap
ljmp ktra_trai
a2:
call tien
kt1: setb in_1
jnb in_1,kt3
setb in_3
jnb in_3,a3
25


×