Professional Documents
Culture Documents
Bao Cao Xe Do Duong
Bao Cao Xe Do Duong
Bao Cao Xe Do Duong
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.
Chương I. Tổng quan
1. Cảm biến hồng ngoại
2
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.
3
2. Vi điều khiển 8051
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ư:
4
8951 4 KB Flash ROM 128 2
8952 8 KB Flash ROM 256 3
5
Bộ định thời 2 2 3
Chân vào/ra 32 32 32
Cổng nối tiếp 1 1 1
Nguồn ngắt 5 5 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
6
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.
7
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 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.
8
Ở 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.
Ở 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.
9
Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Nhận dữ liệu nối tiếp
P3.1 TxD B1H Phát dữ liệu nối tiếp
P3.2 INT0\ B2H Ngắt ngoài 0
P3.3 INT1\ B3H Ngắt ngoài 1
P3.4 T0 B4H Timer 0
P3.5 T1 B5H Timer 1
P3.6 WR\ B6H Điều khiển ghi vào RAM ngoài
P3.7 RD\ B7H Điều khiển đọc từ RAM ngoài
10
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\).
11
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.
12
A (Accumulator): thanh ghi tích lũy
E7 E6 E5 E4 E3 E2 E1 E0
13
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.
14
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:
Đườ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
15
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.
Sơ đồ khối:
16
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 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
17
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ó.
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ó.
Thông thường muốn sử dụng một bộ khuếch đại thuật toán (Op-
Amp) 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ì.
18
2.3. Khối driver điều khiển động cơ DC và động cơ
19
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.
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.
20
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.
21
3.2. Lưu đồ thuật toán chi tiết
22
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
23
jnb in_3,a3
call tien
ljmp main
a3: call re_trai
ljmp main
kt3: setb in_3
jnb in_3,a4
call re_phai
ljmp main
a4: call tien
ljmp main
hoantat:
call lui
ljmp main
ktra_trai:
setb in_2
jnb in_2,b1
setb in_4
jnb in_4,ktra_xong
call re_trai_gap
call delay
call tien
ljmp ktra_trai
b1: setb in_4
jnb in_4,b2
ljmp ktra_xong
b2: call re_trai_gap
call delay
call tien
ljmp ktra_trai
ktra_phai:
setb in_4
jnb in_4,b3
setb in_2
jnb in_2,ktra_xong
call re_phai_gap
call delay
24
ljmp ktra_phai
b3: setb in_2
jnb in_2,b4
ljmp ktra_xong
b4: call re_trai_gap
call delay
ljmp ktra_phai
ktra_xong:
ljmp main
;Quyết định
ngung:
clr out_1
clr out_2
clr out_3
clr out_4
call delay_thap
ljmp main
tien:
setb out_1
setb out_3
clr out_2
clr out_4
call delay
ljmp ngung
ret
lui:
setb out_2
setb out_4
clr out_1
clr out_3
call delay_thap
call ngung
ret
re_trai:
setb out_3
clr out_1
clr out_2
clr out_4
25
call delay_re
call delay_re
clr out_3
clr out_1
clr out_2
clr out_4
call delay_re
ret
re_phai:
setb out_1
clr out_2
clr out_3
clr out_4
call delay_re
call delay_re
clr out_3
clr out_1
clr out_2
clr out_4
call delay_re
ret
re_trai_gap:
setb out_2
clr out_3
clr out_1
clr out_4
call delay_re
call delay_re
setb out_3
clr out_2
clr out_1
clr out_4
call delay_re
call tien
call tien
call tien
call tien
ret
re_phai_gap:
clr out_1
26
setb out_4
clr out_2
clr out_3
call delay_re
call delay_re
setb out_1
clr out_3
clr out_2
clr out_4
call delay_re
call tien
call tien
call tien
call tien
delay:
MOV R1,#1
L1: MOV R2,#20
L2: MOV R3,#100
L3: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R3,L3
DJNZ R2,L2
DJNZ R1,L1
ret
delay_re:
MOV R1,#1
d1: MOV R2,#25
d2: MOV R3,#100
d3: NOP
NOP
NOP
NOP
NOP
NOP
27
NOP
NOP
DJNZ R3,d3
DJNZ R2,d2
DJNZ R1,d1
ret
delay_thap:
MOV R1,#1
x1: MOV R2,#15
x2: MOV R3,#100
x3: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R3,x3
DJNZ R2,x2
DJNZ R1,x1
ret
end
28
Mạch in modul 4 cặp cảm biến hồng ngoại
29
Mạch in khối điều khiển trung tâm
Một số hình ảnh sản phẩm sau khi lắp ráp hoàn thành:
30
Ảnh sản phẩm thực tế
Trong mô hình xe dò đường này có sử dụng các chi tiết, linh kiện:
31
Động cơ giảm tốc
32
2.1. Ưu điểm
Mô hình robot dò đường thiết kế chạy ổn định,
bám vạch chính xác, chạy đúng thuật toán yêu
cầu và hoàn thành nhiệm vụ.
Thể hiện được khả năng hoàn toàn tự động của
mô hình, hoạt động theo chương trình đã lập
trình.
Đây là bước ngoặc quan trọng mở để Robot
tiến xa hơn nữa trong quá trình tự động hóa.
33
TÀI LIỆU THAM KHẢO
Tiếng Anh
Tiếng Việt
34