ĐỒ ÁN MÔN VĐK
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
MỤC LỤC
trang
Lời nói đầu……………………………………………………………………2
PHẦN 1: Ý tưởng, mục đích thiết kế đề tài …………………………………3
1. Giới thiệu chung…………………………………………………..
2. Sơ đồ khối…………………………………………………………
3. Các thanh ghi……………………………………………………..
PHẦN 2 : Thiết kế đồ án………………………………………………
1. Sơ đồ khối…………………………………………………………
2. Các modun mạch ……………………………………………………
PHẦN 3: Cấu tạo và nguyên lí hoạt động …………………………...
……………
1. Mạch Nguyên lý ……………………………………….
2. Phân tích các mạch modul thành phần………………………………
3. Nguyên lý hoạt động…………………………………………..
PHẦN 4: Chương trình lập trình…………………………………………….
1. Lưu đồ thuật toán……………………………………………..
2. Chương trình lập trình………………………………………….
PHẦN 5 Kết luận………………………………………………………......
1. Ưu Nhươc điểm và Hướn phát triển………………………………..
2. Tài liệu tham khảo..…………………………………………………
GVHD:
Trang 1
ĐỒ ÁN MÔN VĐK
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
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 sáng tạo ra các con robot có khả năng làm
việc thay cho con người. chúng ta thường bắt gặp các con robot trong các dây
chuyền công nghiệp sản xuất tự động hay robot giúp việc trong gia đình. Để tìm
ra các ý tưởng sáng tạo hay hàng năm đề diễn ra cuộc thi robocon châu á thái
bình dương đó là tiền đề để tạo ra những con robot có khả năng áp dụng vào
thực tế.
Cũng chính vì mục đích đó mà chúng em thực hiện đồ án điều khiển robot dò
đường. nó lại là bước khởi đầu trong lập trình robot để robot có thể thực hiện các
công việc tiếp theo. Đây chỉ là một công việc nhỏ của lập trình điều khiển robot
nhưng qua quá trình thiết kế và thi công đề tài chúng em đã rút ra được rất nhiều
kinh nghiệm thực tiễn quý báu. Mục đích của đề tài hướng đến là tạo ra bước
đầu cho sinh viên thử nghiệm những ứng dụng của vdk trong thực tiễn để rồi từ
đó tìm tòi, phát triển nhiều ứng dụng khác trong đời sống hằng ngày cần đến.
Mặc dù đã cố gắng hết sức mình để hoàn thành xong đồ án môn học bằng các
kiến thức đã học, một số sách tham khảo và một số nguồn tài liệu khác nhưng
cũng không tránh khỏi những thiếu sót. Do vậy, chúng em rất mong được sự
góp ý quý báu của thầy cô và các bạn để đề tài có thể hoàn thiện ở mức cao
nhất.
Chúng em xin chân thành cảm ơn !
Nhóm sinh viên thực hiện :
1. Phạm Đình Bình
2. Vũ Văn Hưng
3. Trần Anh Quang
Lớp ĐH CNCĐT2-K3
GVHD:
Trang 2
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
PHẦN 2: GIỚI THIỆU VỀ 89S52
1) Giới thiệu chung
AT89s52 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS, chất lượng
cao, công xuất thấp với 8 KB Flash. Thiết bị này được chế tạo bằng cách sử
dụng kỹ thuật bộ nhớ không bốc hơi nhiệt độ cao của ATMEL và tương thích
với chuẩn MCS-51 về tập lệnh và các chân ra. Flash on-chip cho phép bộ nhớ
lập trình được lập trình trong hệ thống bởi một lập trình viên bình thường. bằng
cách nối 1CPU 8 bit với một Flash trên chip đơn, AT89s52 là một vi điều khiên
mạnh nó có khả năng sử lí với tốc độ cao và là giải pháp về giá cả đối với nhiều
ứng dụng vi điều khiển.
AT89s52 cung cấp những đặc tính chuẩn như sau : 8 KB bộ nhớ chỉ đọc
có thể xóa và lập trình nhanh, 256 Bytes RAM, 32 đường xuất nhập , 3
timer/counter 16 bit, 6 vector ngắt có cấu trúc 2 mức ngắt. một potr nối tiếp ,
mạch tạo xung clock và bộ dao động on-chip. Thêm vào đó, AT89s52 được thiết
kế với logic tĩnh cho hoạt động đến mức không tân số và hỗ trợ hai chế độ phần
mềm có thể chọn chế độ tiết kiệm công xuất, hay chế độ lười sẽ dừng CPU trong
khi vẫn cho phép RAM, timer/counter, port nối tiếp và hệ thông ngắt tiếp tục
hoạt động. chế độ giảm công xuất lưu nội dung RAM nhưng sẽ treo bộ dao
động làm mất khả năng hoạt động của tất cả những chức năng khác cho đến khi
reset hệ thống.
Các đặc điểm chủ yếu:
• Tường thích hoàn toàn với họ MCS-51 cua intel
• Bộ nhớ chương trình 8K Byte thuộc loại Flash memory
• Độ bền :1000 lần ghi xóa
• Tần số hoạt động: 0 đến 24 MHz
• 3 chế độ khóa bộ nhớ
• Bộ nhớ dữ liệu (RAM) gồm 256 byte
• 32 đường I/O lập trình được (4 port)
• 6 nguồn ngắt
• Chế độ hạ nguồn và chế độ lười tiêu tốn công suất thấp
GVHD:
Trang 3
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
Hình 4.Sơ đồ chân AT89S52
GVHD:
Trang 4
ĐỒ ÁN MÔN VĐK
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Hình 5.Sơ đồ khối AT89S52
2.các thanh ghi bộ định thời (chỉ nói về timer 0 và timer 1)
Thanh ghi chế độ định thời TMOD
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho timer
0 và timer 1
GATE1 C/#T1
GVHD:
M1
M0
GATE0 C/#T0
M1
M0
Trang 5
ĐỒ ÁN MÔN VĐK
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Hình : thanh ghi TMOD
Bit
7
6
5
4
3
2
1
0
Tên
Timer Mô tả
GATE1 1
Bit mở cho timer 1, khi được dặt bằng 1
thì timer 1 chỉ chạy khi chân INT1 ở
mức cao
C/#T1 1
Bit chọn chế độ timer/counter cho timer
1= đếm sự kiện
0= định khoảng thời gian
M1
1
Bit chọn chế độ timer 1
M0
1
Bit chọn chế độ timer 1
00: chế độ 0 - timer 13 bit
01:chế độ 1 - timer 16 bit
10: chế độ 2 – 8 bit tự động nạp lại
11: chế độ 3 – tách timer
GATE0 0
Bit mở cho timer 0, khi được dặt bằng 1
thì timer 0 chỉ chạy khi chân INT0 ở
mức cao
C/#T0 0
Bit chọn chế độ timer/counter cho timer
1= đếm sự kiện
0= định khảng thời gian
M1
0
Bit chọn chế độ timer 0
M0
0
Bit chọn chế độ timer 0
• Thanh ghi điều khiển timer (TCON)
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho timer 0 và
timer 1.
TCON.7 TCON.6
TF1
TR1
TCON.5
TF0
TCON.4
TR0
TCON.3 TCON.2 TCON.1
IT1
IE1
IT0
TCON.0
IE0
Thanh ghi TCON
GVHD:
Trang 6
ĐỒ ÁN MÔN VĐK
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Bit
TCON.7
TCON.6
TCON.5
TCON.4
TCON.3
TCON.2
TCON.1
TCON.0
Kí hiệu
TF1
TR1
TF0
TR0
IT1
IE1
IT0
IE0
Địa chỉ
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
Mô tả
Cờ báo tràn của timer 1
Bit điều khiển timer 1 hoạt động
Cờ báo tràn của timer 0
Bit điều khiển timer 0 hoạt động
Cờ ngắt do timer 1
Cờ ngắt ngoài 1
Cờ ngắt do timer 0
Cờ ngắt ngoài 0
2.thanh ghi ngắt
• Thanh ghi cho phép ngắt IE
EA
Bit
IE.7
IE.6
IE.5
IE.4
IE.3
IE.2
IE.1
IE.0
-
Kí hiệu
EA
ET2
ES
ET1
EX1
ET0
EX0
ET2
ES
Địa chỉ bit
AFH
AEH
ADH
ACH
ABH
AAH
A9H
A8H
ET1
EX1
ET0
EX0
Mô tả
Cho phép hoặc cấm toàn bộ
Không được đihj nghĩa
Cho phép ngắt từ timer 2
Cho phép ngắt port nối tiếp
Cho phép ngắt timer 1
Cho phép ngắt ngoài 1
Cho phép ngắt từ timer 0
Cho phép ngắt ngoài 0
• Thanh ghi ưu tiên IP:
-
-
PT2
PS
PT1
Bit
IP.7
IP.6
IP.5
IP.4
kí hiệu
PT2
PS
Địa chỉ bit Mô tả
IP.3
IP.2
IP.1
IP.0
PT1
PX1
PT0
PX0
BBH
BAH
B9H
B8H
BDH
BCH
PX1
PT0
PX0
Ưu tiên ngắt từ timer 2
Ưu tiên ngắt port nối
tiếp
Ưu tiên ngắt từ timer 1
Ưu tiên ngắt ngoài 1
Ưu tiên ngắt từ timer 0
Ưu tiên ngắt ngoài 0
• Các cờ ngắt
GVHD:
Trang 7
ĐỒ ÁN MÔN VĐK
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Ngắt
rst
Bên ngoài 0
Timer 0
Bên ngoài 1
Timer 1
Port nối tiếp
Timer 2
Cờ
RST
IE0
TF0
IE1
TF1
TI hoặc R1
TX2
Số hiệu
0
1
2
3
4
5
Khi chỉ đến cờ ngắt, cờ ngắt tự động bị xóa bởi phần cứng, ngoại trừ R1 và TI
phải xóa bằng phần mềm.
PHẦN 2: THIẾT KẾ ĐỒ ÁN
GVHD:
1)
Sơ đồ khối
2)
các modun mạch
•
mạch tạo xung và reset
•
mạch cảm biến
•
mạch công suất
Trang 8
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
3)
ĐỒ ÁN MÔN VĐK
Các Linh Kiện chính trong mạch:
• IC ổn áp LM7805 ha điện áp trong dải 0—36v xuống 5v
• Tran công suất 2SD1275
1:chan bazơ
2:chân colecter
3:chân emiter
Khi cấp tín hiệu điều khiển vào chân 1 thì dòng dc phép chạy từ chân số 2 sang
chân số 3,dòng tải chịu dc lên tới 1,5A
opto TLP521
GVHD:
Trang 9
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
Opto dùng để cách ly phần công suất với phần VDK,cấu tạo có 1led phát bên
trái và phototransiter bên phải.
• LM324
Có 4 bộ opam dánh số từ 1 đến 4 như trong hình,
GVHD:
Trang 10
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
PHẦN 3: CẤU TẠO VÀ NGUYÊN LÍ HOẠT ĐỘNG
1. Mạch Nguyên lý:
2. Phân tích các mạch Modul:
• Modul tạo xung:
AT89S52 có một bộ chia tần số bên trong chip, bộ này sẽ cung cấp xung
clock cho các khối trong chip từ nguồn dao động bên ngoài sử dụng mạch tạo
dao động từ thạch anh qua 2 chân là XTAL1 và XTAL2.
Trong đồ án này mạch dao dộng thạnh anh tạo tần số12Mhz
GVHD:
Trang 11
ĐỒ ÁN MÔN VĐK
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Mạch tạo xung
• Modul Reset:
Sử dụng nút nhấn để reset cho chip thông qua chân RST là ngõ reset của chip.
Khi tín hiệu được đưa lên mức cao trong ít nhất 2 chu kỳ máy thì các thanh ghi
trong bộ vi điều khiển được tải những giá trị thích hợp để khởi động hệ thống.
Sơ đồ nguyên lí mạch reset
• Modul Cảm biến:
mạch sử dụng 4 cặp led thu phát. Khi 4 led phát được bật nếu gặp nền trắng sẽ
phản quang lại led thu nhận được. (led thu chính là quang trở ) khi được chiếu
sáng làm quang trở thông tín hiệu được đưa qua bộ so sánh op amp (của LM324)
ta tín hiệu đầu ra của bộ so sánh Op Amp với mức logic=1 đưa về chân của vi
điều khiển và ngược lại nếu không gặp nền trắng quang trở sẽ không thông tín
hiệu được đưa qua bộ so sánh op amp ta được tín đầu ra của bộ so sánh Op Amp
với mức logic =0 tín hiệu trả về chân vi điều khiển.
GVHD:
Trang 12
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
Sơ đồ nguyên lí mạch cảm biến
•
Mạch công suất
Khi vi điều khiển nhận được tín hiệu của cảm biến sẽ cung cấp độ rộng xung
thích hợp vào chân của rơle thông qua opto. Khi tín hiệu vào rơle rơle sẽ cấp
dòng thích hợp cho động cơ. làm động cơ chuyển động với tốc độ mong muốn.
Sơ đồ nguyên lí mạch công suất
• Nguyên lí hoạt động
Nguyên tắc hoạt động của của robot là : khi cấp nguồn cho robot thi mạch tạo
xung bắt đầu hoạt động, cảm biến sẽ được bật. Tín hiệu từ cảm biến sẽ truyền
GVHD:
Trang 13
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
đến vi điều khiển. Vi điều khiển sẽ xử lí tín hiệu và cung cấp độ rộng xung thích
hợp cho động cơ.
PHẦN 4 CHƯƠNG TRÌNH LẬP TRÌNH
1.
Lưu đồ thuật toán
2.
Code cho Vi Điều Khiền:
#include
#include
// dinh nghia cac chan dieu khien dong co
sbit DC_R=P1^1;
sbit DC_L=P1^0;
GVHD:
// chan dk dong co phai
// chan dk dong co trai
Trang 14
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
// dinh nghia cac trang thai cua cam bien quang ung voi gia tri doc dc tu port 2 * * * * * * * *
#define N 0xC0 // 0x11 00 0000 lech han ra ngoai
#define L5 0XE0 // 0x11 10 0000 lech trai cap 5
#define L4 0xF0 // 0x11 11 0000 lech trai cap 4
#define L3 0xD0 // 0x11 01 0000 lech trai cap 3
#define L2 0xD8 // 0x11 01 1000 lech trai cap 2
#define L1 0xC8 // 0x11 00 1000 lech trai cap 1
#define T 0xCC // 0x11 00 1100 chay thang
#define R1 0xC4
#define R2 0xC6
#define R3 0xC2
#define R4 0xC3
#define R5 0xC1
// 0x11 00 0100
// 0x11 00 0110
// 0x11 00 0010
// 0x11 00 0011
// 0x11 00 0001
lech phai cap 1
lech phai cap 2
lech phai cap 3
lech phai cap 4
lech phai cap 5
unsigned char lech_trai,lech_phai;
// bien nho trang thai lech cua robot
unsigned char TRANGTHAI,dem=0;
// tranthai va bien dem
unsigned char PWML,PWMR;
// bien bam xung
void delay(unsigned int a)
{
unsigned int i;
for(i=0;i dc fai
case L2: { PWML=60;PWMR=40; lech_trai=1;lech_phai=0;break;} //che do lech trai
cap2, cap xung dc trai >> dc fai
case L3: { PWML=65;PWMR=35; lech_trai=1;lech_phai=0;break;}
case L4: { PWML=70;PWMR=30; lech_trai=1;lech_phai=0;break;}
case L5: { PWML=75;PWMR=25; lech_trai=1;lech_phai=0;break;}
//------------------------------------------------------------------case R1: { PWMR=45;PWML=55; lech_trai=0;lech_phai=1;break;}
lech phai cap1, cap xung dc trai < dc fai
case R2: { PWMR=40;PWML=60; lech_trai=0;lech_phai=1;break;}
lech phai cap1, cap xung dc trai << dc fai
case R3: { PWMR=35;PWML=65; lech_trai=0;lech_phai=1;break;}
GVHD:
//....
//che do
//che do
//....
Trang 15
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
case R4: { PWMR=30;PWML=70; lech_trai=0;lech_phai=1;break;}
case R5: { PWMR=25;PWML=75; lech_trai=0;lech_phai=1;break;}
//------------------------------------------------------------------case N: {//che do lech han ra ngoai dc nho huong lech boi bit lenh_trai va lech_phai
if(lech_trai==1) { PWML=50; PWMR=0;} //lech han ben trai; dc trai quay, dc
phai dung lai
if(lech_phai==1) { PWMR=50; PWML=0;} //lech han ben phai; dc phai quay,
dc trai dung lai
}
}
}
//****************** CHUONG TRINH CHINH ***************
void ngatT0 (void) interrupt 1
{
dem++;
// moi lan timer0 dem dc 10 lan thi ngat tran. bien dem tang len 1
if (dem<=PWML) // neu bien dem dang con <= PWML(bien nay dc set o ham
do_duong)
DC_L=0;
// thi tat dong co trai
else
DC_L=1;
// neu ko thi bat dong co trai
if (dem<=PWMR)
DC_R=0;
else
DC_R=1;
if (dem==200)
lai bien dem =0
dem=0;
}
void main(void)
{
P0=P1=P2=P3=0xff;
// tuong tu... neu bien dem dang <= PWMR
// thi tat dpng co phai
// neu ko thi thi bat dong co phai
// khi bien dem tang den 200, nghi la da ngat dc 200 lan thi set
TMOD=0X02;
// timer0 che do 2,che do tu nap lai
TH0=TL0=-10;
// nap gia tri 10 cho thanh ghi, timer dem 10lan thi tran.
TR0=1;
// cho phep timer hoat dong
TF0=0;
// xoa co tran
IE=0x82;
// cho phep ngat timer1
IP=0;
// muc uu tien =0
delay(1000); // goi ham delay, va cho delay 1000 lan
while(1)
// vong lap vo han.
{
do_duong(); // goi ham do_duong
}
}
// finish (^_^)
GVHD:
Trang 16
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
PHẦN 5: KẾT LUẬN
1.Ưu-Nhươc điểm:
Đồ án đã cơ bản hoàn thành về các yêu cầu thiết kế và đã đạt được yêu cầu
về kỹ thuật và ứng dụng, robot đã có thể dò đương trên đường cong. Song bên
cạnh đó đồ án của chúng em còn một số hạn chế như: khả năng chính xác chưa
được cao, tốc độ xử lí của robot con chậm…
Do hạn chế về thời gian và kiến thức nên đồ án của nhóm em vẫn còn nhũng
hạn chế và thiếu sót. Rất mong nhận được sự đóng góp ý kiến của các bạn sinh
viên, của các thầy cô giáo để đồ án của nhóm em được hoàn thiện hơn.
2.Hướng phát triển đề tài:
Từ ứng dụng điều khiển robot dò đường, ta có thể ứng dụng trong nhiều mặt
như thám hiểm, vận chuyển hàng hóa trong nhà máy,xe không người lái….
Cụ thể chúng ta có thể lập trình cho robot thông minh hơn và có khả năng làm
nhiều công việc khác khi đã di chuyển linh hoạt. Kĩ thuật do đường là vô cùng
quan trọng trong các cuộc thi robocon chúng ta có thể tiếp tục phát triển nó để
làm ra các con robot có tính ứng dụng cao.
3.Tài liệu tham khảo
1.VI ĐIỀU KHIỂN Cấu trúc – Lập trình và Ứng dụng(Kiều Xuân Thực)
-NXB Giáo Dục
2.Internet:
www.dientuvietnam.net
www.alldatasheet.com
www.keil.com/c51
www.atmel.com/atmel/acrobat/doc1919.pdf
GVHD:
Trang 17
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN VĐK
http://cdtvn.net/
3.Các box thảo luận về điện tử trên mạng internet.
GVHD:
Trang 18