Tải bản đầy đủ (.pdf) (28 trang)

Hệ thống Cửa tự động dùng IC AT89S52

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 (2.53 MB, 28 trang )

ĐẠI HỌC KHOA HỌC TỰ NHIÊN – ĐẠI HỌC QUỐC GIA TP. HCM
KHOA ĐIỆN TỬ VIỄN THÔNG
CHUYÊN NGÀNH MÁY TÍNH VÀ HỆ THỐNG NHÚNG
  








MÔN HỌC: THỰC HÀNH VI ĐIỀU KHIỂN
LỚP: 11DVT
GIẢNG VIÊN: NGUYỄN ĐỨC PHÚC
SINH VIÊN THỰC HIỆN:
PHAN LÝ TRÚC ANH 1020005
TRẦN MINH TÂN 1120151
NGUYỄN ĐỨC THẮNG 1120162

Tháng 06/2014
PHẦN I – MÔ TẢ ĐỀ TÀI
Trong cuộc sống hiện đại hóa, nhu cầu sử dụng phương tiện đi lại càng cao, ngoài
các phương tiện công cộng như xe buýt, tàu điện ngầm, số lượng phương tiện cá nhân
như xe gắn máy, xe ô tô cũng rất đông đảo. Ở các cơ quan, công ty, xí nghiệp, trường
học, khu giải trí đều phải có các bãi giữ xe, quản lý xe của nhân viên, khách hàng, v.v…
Và với số lượng lớn các xe, các bãi giữ xe cũng phải công nghệ hóa phương thức.
Nhắm vào mục tiêu tự động hóa bãi giữ xe, kiểm soát số lượng xe ra vào trong bãi,
kiểm soát số lượng xe đã và có thể chứa, cảnh báo trình trạng mất cắp, thực hiện nhanh
việc đóng mở cửa ra vào, thay cho động tác thủ công,… nhóm đã hướng tới xây dựng hệ
thống Cửa tự động để đáp ứng lại các mục tiêu trên.


Nhóm sử dụng vi điều khiển là IC chính cho hệ thống, cùng các IC chức năng như
khuếch đại tín hiệu, LED thu phát hồng ngoại, IC cho khối nguồn, động cơ bước DC,
LED hiển thị 7 đoạn, các linh kiện thiết yếu. Ngôn ngữ lập trình là ngôn ngữ C.
Khái quát chức năng: ngoài việc gặp người quản lý bãi xe, khi xe đến gần cửa
(hoặc người hay vật thể nào), sẽ chắn ngang tia hồng ngoại được tạo ra từ LED phát và
LED thu hồng ngoại, gửi dữ liệu đến hệ thống vi điều khiển, cửa sẽ tự động mở cho xe
qua, đồng thời hệ thống đếm số lượng xe hiện có trong bãi, giúp người quản lý kiểm soát
được tình trạng bãi xe, để người quản lý tiếp tục cho xe vào bãi hay báo đầy. Người quản
lý chỉ cần ngồi tại hệ thống quản lý, chỉ xử lý thêm các tình huống đột ngột.

PHẦN 2 – CƠ SỞ LÝ THUYẾT
I – VI ĐIỀU KHIỂN AT89S52:
AT89S52 là dòng vi điều khiển của hãng ATMEL, là chip vi điều khiển CMOS 8-
bit với năng lượng thấp và hiệu suất cao. AT89S52 có 8 kbytes bộ nhớ Flash có thể lập
trình hệ thống nội. Đặc biết có tích hợp mạch nạp ISP trên chip giúp người dùng dễ dàng
thực hiện các thí nghiệm với chi phí thấp.
1. Cấu tạo và chức năng các khối của vi điều khiển AT89S52:
- Bộ xử lý trung tâm CPU:
 Thanh ghi tích lũy A;
 Thanh ghi tích lũy phụ B;
 Đơn vị logic học ALU;
 Thanh ghi từ trạng thái chương trình;
 Bốn băng thanh ghi;
 Con trỏ ngăn xếp
- Bộ nhớ chương trình ROM gồm 8 bytes Flash.
- Bộ nhớ dữ liệu RAM gồm 256 bytes.
- Bộ UART, có chức năng truyền nhận nối tiếp. AT89S52 có thể giao tiếp với
cổng nối tiếp của máy tính thông qua bộ UART này.
- 3 bộ Timer/Counter 16 bits thực hiện chức năng định thời và đếm sự kiện.
- Watch Dog Timer (WDM) được dùng để phục hồi lại hoạt động của CPU nếu

nó bị treo.
- Khối điều khiển ngắt Interrupt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.
- Bộ lập trình cho phép người dùng có thể nạp các chương trình cho chip mà
không cần bộ nạp chuyên dụng. (ghi chương trình lên Flash ROM)
- Bộ chia tần số với hệ số chia là 12.
- 4 cổng xuất nhập với 32 chân (mỗi cổng có 8 chân)

Hình 1.1. Sơ đồ khối của vi điều khiển AT89S52

2. Chức năng các chân của AT89S52:

Hình 1.2. Sơ đồ chân của vi điều khiển AT89S52
 Port 0 (P0.0 -> P0.7)
Port 0 gồm 8 chân, ngoài chức năng xuất nhập port 0 còn là bus đa hợp
dữ liệu và địa chỉ (AD0 -> AD7), chức năng này sẽ được dùng khi
AT89S52 giao tiếp với các thiết bị ngoài có kiến trúc bus như các vi
mạch nhớ.
 Port 1 (P1.0 -> P1.7)
Port 1 gồm 8 chân, xuất nhập theo bit và theo byte.
Chân
Tên chân
Chức năng
P1.0
T2
Ngõ vào của Timer/Counter 2
P1.1
T2EX
Nút bấm Timer/Counter 2 ghi nhận/tải và điều
khiển trực tiếp
P1.5

MOSI
Dùng cho lập trình hệ tống nội ISP
P1.6
MISO
Dùng cho lập trình hệ tống nội ISP
P1.7
SCK
Dùng cho lập trình hệ tống nội ISP

 Port 2 (P2.0 -> P2.7)
Port 2 gồm 8 chân, ngoài chức năng là cổng vào/ra như Port 0 và 1 thì
nó còn là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài.
 Port 3 (P3.0 -> P3.7)
Chân
Tên chân
Chức năng
P3.0
RXD
Dữ liệu nhận cho Port nối tiếp
P3.1
TXD
Dữ liệu truyền cho Port nối tiếp
P3.2
INT0
Ngắt ngoài 0
P3.3
INT1
Ngắt ngoài 1
P3.4
T0

Ngõ vào của Timer/Counter 0
P3.5
T1
Ngõ vào của Timer/Counter 1
P3.6







Xung ghi bộ nhớ dữ liệu ngoài
P3.7






Xung đọc dữ liệu từ bộ nhớ ngoài hoặc thiết bị
ngoại vi

 Chân : chân số 9; là chân reset. Khi RST = 1 thì bộ vi điều khiển sẽ
khởi động lại thiết lập ban đầu.
 Chân , : chân số 19, 18; 2 chân này được nối song song
với thạch anh tần số max = 33 MHz để tạo dao động cho bộ vi điều
khiển.
 Chân 








(Program Store Enable): chân số 29; là chân điều khiển đọc
chương trình ở bộ nhớ ngoài.
 Chân 








(Address Latch Enable): chân số 30; ALE là tín hiệu
điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều
khiển. Tín hiệu ALE được dùng cho phép vi mạch chốt bên ngoài.
 Chân 




: chân số 31; tín hiệu 





cho phép chọn bộ nhớ chương
trình là bộ nhớ trong hay ngoài. Khi 




= 1 thì thực hiện chương trình
trong ROM nội, khi 




= 0 thì điều khiển chương trình từ bộ nhớ ngoài.
 VCC, GND: cung cấp nguồn nuôi cho vi điều khiển. AT89S52 dùng
nguồn 1 chiều có dãi điện áp từ 4V đến 5.5V.

II – LED THU PHÁT HỒNG NGOẠI:
- Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được
bằng mắt thường, có bước sóng khoảng từ 0.86μm đến 0.98μm. Tia hồng ngoại có
vận tốc truyền bằng vận tốc ánh sáng.
- Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó dễ bị hấp thụ,
khả năng xuyên thấu kém. Quan trọng nó khác với ánh sáng thường ở sự xuyên
suốt qua vật chất. Ta áp dụng tính chất này để phát hiện vật thể đến gần và cắt
đường truyền tia hồng ngoại.
- LED phát hồng ngoại có chân ngắn là chân Katot, được phân cực theo Anot
nối lên VCC và Katot nối xuống GND.

Hình 2.1. LED phát hồng ngoại dùng trong hệ thống.
- LED thu hồng ngoại có chân ngắn là chân Anot, được phân cực thuận: Anot nối
xuống GND, Katot nối lên VCC.


Hình 2.2. Led thu hồng ngoại dùng trong hệ thống

III – BỘ ĐỆM TÍN HIỆU LM358:
1. Các chân IC và chức năng của chúng:

Hình 3.1. Sơ đồ chân IC LM358
- 1OUT, 2OUT: Ngõ ra thứ nhất và thứ hai.
- 1IN 2IN-: Ngõ vào đảo thứ nhất và thứ hai.
- 1IN+, 2IN+: Ngõ vào không đảo thứ nhất và thứ hai.
- VCC, GND: cung cấp nguồn nuôi.

2. Cấu tạo bên trong IC LM358:

Hình 3.2. Sơ đồ bên trong IC LM358

LM358 xác định dòng ra khi so sánh điện thế giữa 2 chân IN- và IN+. Khi điện thế
chân IN- bé hơn điện thế chân IN+ thì có dòng ra.
Tín hiệu thu được qua led thu hồng ngoại sẽ là tín hiệu tương tự và có độ nhiễu
cao, chưa ổn định. Ta cần dùng LM358 có chức năng đệm và chống nhiễu để khắc phục
tình trạng trên.

IV – IC LM7805 CHO KHỐI NGUỒN:
LM7805 là IC chuyên dụng trong các nguồn cấp với ngõ ra ổn định +5V.


Hình 4. Hình ảnh thực IC LM7805

V – MẠCH CẦU H TRONG IC L298N:
L298N là mạch tích hợp đơn chip có kiểu vỏ công suất 15 chân và PowerSO20

(linh kiện dán công suất). Là IC mạch cầu đôi có thể hoạt động ở điện thế cao, dòng điện
cao. L298N dùng nguồn cấp từ +5V đến +36V, trong hệ thống ta chọn nguồn +12V.
1. Các chân IC L298N và chức năng:

Hình 5.1 Sơ đồ chân IC L298N
 Chân SENSE A, SENSE B: chân số 1 và 15; được nối qua điện trở cảm
ứng dòng xuống GND để điều khiển dòng tải.
 Chân OUTPUT 1, OUTPUT 2: chân số 2 và 3; ngõ ra của cầu A.
 Chân V
S
: chân số 4; cấp nguồn cho tầng công suất.
 Chân INPUT 1, INPUT 2: chân số 5 và 7; chân ngõ vào của cầu A.
 Chân ENABLE A, ENABLE B: chân số 6 và 11; chân ngõ vào enable cho
cầu A, B. Mức thấp ở chân này sẽ disable ngõ ra cầu A, B.
 Chân V
SS
: chân số 9; chân cấp nguồn cho khối logic.
 Chân GND: chân số 8; chân nối mass.
 Chân INPUT 3, INPUT 4: chân số 10 và 12. Chân logic ngõ vào của cầu
B.
 Chân OUTPUT 3, OUTPUT 4: chân số 13 và 14; ngõ ra của cầu B.

2. Cấu tạo bên trong của IC L298N:

Hình 5.2. Sơ đồ khối của IC L298N

VI – ĐỘNG CƠ DC:
1. IC L298N điều khiển động cơ DC:
Ta sẽ dùng IC L298N để điều khiển động cơ DC với sơ đồ mạch nguyên lý như
sau:


Hình 6.1. L298N điều khiển động cơ DC.
 Với mạch này, khi dòng điện cao, ngõ ra sẽ song song theo thứ tự kênh
D1 xong xong với kênh D4, kênh D2 song song với kênh D3.
 Mỗi cầu trong mạch cầu H của L298N được điều khiển bởi 3 cổng ngõ
vào INPUT 1, INPUT 2, ENABLE A, và INPUT 3, INPUT 4, ENABLE B.
 Các chân INPUT có tác dụng khi chân ENABLE ở mức cao, ngược lại
INPUT ở trạng thái cấm nếu ENABLE ở mức thấp.

2. Mô hình cửa bằng ổ đĩa CD:
- Thay vì dùng động cơ DC và mô hình cửa, ta sử dụng mô hình ổ đĩa CD để mô
hình hóa hệ thống.
- Ổ đĩa CD nối với mạch L298N qua 3 chân. Trong đó chân giữa được nối GND.
2 chân ngoài được dùng để xác định cửa đóng hay mở.
- Khi IN1 = 1 và IN2 = 0 thì động cơ quay thuận cho cửa mở
Khi IN1 = 0 và IN2 = 1 thì động cơ quay ngược cho cửa đóng
Khi IN1 = 0 và IN2 = 0 thì động cơ dừng.

Hình 6.2. Mô hình ổ đĩa CD
VII – IC CỔNG ĐẢO SN74HC14N:

Hình 7.1. Sơ đồ chân SN74HC14N Hình 7.2. Bảng chân trị SN74HC14N
SN74HC14N là IC cổng đảo dùng để đảo mức tín hiệu.
- Các chân 1A, 2A, 3A, 4A, 5A, 6A là chân dữ liệu vào
- Các chân 1Y, 2Y, 3Y, 4Y, 5Y, 6Y là chân dữ liệu ra tương ứng
- VCC, GND: là chân cấp nguồn và chân mass
PHẦN 3 – THIẾT KẾ MẠCH HỆ THỐNG CỬA TỰ ĐỘNG
I – SƠ ĐỒ KHỐI HỆ THỐNG:



II – THIẾT KẾ TỪNG KHỐI TRONG HỆ THỐNG:
 Khối nguồn

 Khối thu tín hiệu hồng ngoại và đệm tín hiệu: 2 bộ LED thu hồng ngoại được lắp
trước và sau cửa. LED thu và gửi tín hiệu đến bộ đệm dùng IC LM358 để xác
định dòng ra, lọc nhiễu và khuếch đại tín hiệu.
Tín hiệu sau đó được đưa qua cmos n-p-n vào 2 chân P3.4 và P3.5 của AT89S52,
nếu dòng ở mức cao thì cmos sẽ dẫn.

 Khối hiển thị LED 7 đoạn: nhận kết quả xử lý từ khối vi điều khiển và hiển thị số
xe còn trong bãi.
Để tiết kiệm chân IC, ta nối 2 led vào chung các chân P0.0-P0.6. Khi đó 2 LED sẽ
luân phiên sáng tắt với tần số cao, ta không thể nhìn thấ. Ở đây nhằm để 2 LED có
thể hiển thị 2 số khác nhau. Ví dụ, số xe trong bãi là 07 xe.


 Khối cầu H trong IC L298N nối với jump cắm để kết nối với mô hình ổ đĩa CD
3 chân ra từ ổ đĩa CD được mắc vào mạch L298. Chân giữa nối mass. 2 chân
ngoài nối vào P1.6 và P1.7 của AT89S52. Tùy thanh gạc ở vị trí làm mạch khép
kín thì cửa sẽ mở hoặc đóng.



 Khối vi điều khiển: nhận tín hiệu đã lọc nhiễu, xử lý hành động điều khiển động
cơ để đóng mở cửa, đếm số xe ra vào, hiện có trong bãi




III – SƠ ĐỒ NGUYÊN LÝ TOÀN HỆ THỐNG:



PHẦN 4 – LAYOUT, HỆ THỐNG THỰC TẾ
I – LAYOUT MẠCH IN:
 Mạch in mạch điều khiển chính được vẽ bằng Proteus 8 Professional

 Mạch điều khiển động cơ được vẽ bằng Proteus 8 Professional

II – HÌNH ẢNH HỆ THỐNG THỰC TẾ:

PHẦN 5 – CHƯƠNG TRÌNH
#include <REGX52.H>
#include <intrins.h>
#include <math.h>
#include <stdio.h>
// p0 ma led 7 doan, p2 quet led
//p1.0 va p1.1 cam bien, p1.2 dieu khien den
#define b1 P3_5
#define b2 P3_4

#define a1 P2_1
#define a2 P2_2
#define chay P1_0
#define chieu P1_1
#define c1 P1_6
#define c2 P1_7

unsigned char so[10]={0xC0,0xF9,0xA4,0xB0,0x99
0x92,0x82,0xF8,0x80,0x90}; // ma 7 doan


int sodem = 0; //dem
int m =0;

delay()
{
int k;
for (k = 0;k<200;k++){}
}

hienthi() //hien thi so dem ra 2 led 7 doan
{
int chuc,donvi,chuyen;
chuyen = sodem/10;
chuc = chuyen%10;
donvi = sodem%10;
a1 = 0;
a2 = 1;
P0 = so[donvi];
delay();
a1 = 1;
a2 = 0;
P0 = so[chuc];
delay();
}

void main(void)
{
while(1)
{
if(b1==1) // vao

{
while(c1==1)
{
chay=0;

×