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

thiết kế hệ thống đếm sản phẩm dùng cảm biến hồng ngoại. hệ thống có thể đếm được tối đa 59999 sản phẩm nếu vượt qua con số này, hệ thống phải tự động đưa ra cảnh báo

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 (280.79 KB, 22 trang )

Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
BÁO CÁO NHÓM 05 :

LỜI CAM ĐOAN
Nhóm 05 xin cam đoan báo cáo đồ án môn này là kết quả nghiên cứu của các
thành viên trong nhóm, dưới sự chỉ dẫn của thầy Nguyễn Văn Dũng.
Nhóm 05 sẽ chịu hoàn toàn trách nhiệm về bản báo cáo này nếu có sai phạm và
tranh chấp bản quyền với những bản báo cáo khác.
Hà Nội, Ngày 20 tháng 6 năm 2013
Thay mặt nhóm 05
Nhóm trưởng
VÕ MẠNH TƯỜNG
NHẬN XÉT CỦA GIÁO VIÊN








Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 1
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử


















LỜI NÓI ĐẦU
Hiện nay vi điều khiển rất phát triển, nó được ứng dụng vào rất nhiều lĩnh vực
như: Sản xuất công nghiệp, tự động hoá và rất nhiều lĩnh vực khác. So với kỹ
thuật số thì vi điều khiển nhỏ gọn hơn rất nhiều do nó được tích hợp lại và được
lập trình để điều khiển.
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 2
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Tiếp xúc và nghiên cứu vi điều khiển ban đầu cũng có nhiều điều bỡ ngỡ và
lúng túng trong lập trình; Nhưng qua học tập và được sự hướng dẫn nhiệt tình
của các thầy cô bộ môn và đặc biệt là thầy giáo bộ môn Nguyễn Anh Dũng thì
chúng em cũng từng bước nắm được những kiến thức về vi điều khiển cũng như
những yêu cầu sử lý:
Với đề tài : Mạch đếm sản phẩm hiện thị LCD sử dụng cảm biến hồng ngoại
chúng em hy vọng sẽ đạt kết quả tốt. Có thể trong quá trình thiết kế và ứng dụng
có nhiều vấn đề có thể chưa được như mong muốn, chúng em mong được sự
nhận xét chỉ bảo của các thầy để chúng em có thể hoàn thành tốt hơn những đồ
án về sau.
Chúng em xin chân thành cảm ơn!!!
Phần một: Cơ sở lý thuyết.
I: Giới thiệu về bộ vi điều khiển 8051(89S52):
1: Đặc điểm của IC vi điều khiển.

2: Cấu trúc bên trong của 8051(89S52).
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 3
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
3: Các Port của 89S52.
a: Port 1 (P1.0-P1.7)
b: Port 2 (P2.0-P2.7)
c: Port 3 (P3.0-P3.7)
4: Nghiên cứu tổng thể về vi điều khiển.
4.1: Hoạt động định thời:
4.2: Cổng nối tiếp:
4.2: Ngắt và xử lý ngắt:
III: Bộ cảm biến hồng ngoại:
1: Cấu tạo:
2: Hoạt động:
Phần hai :Nội dung thiết kế sản phẩm.
1: Sơ đồ nguyên lý:
2: Nguyên lý hoạt động:
3: Thuật toán chương trình:
4: Phần mềm:
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 4
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
5: Thuyến trình phần mềm:
Phần ba: kết luận ưu nhược điểm của sản phẩm.
1: Ưu điểm:
2: Nhược điểm:
3: Khắc phục nhược điểm:
4: Ứng dụng thực tế:
Phần ba: Tài liệu tham khảo
PHẦN MỘT
CƠ SỞ LÝ THUYẾT

I: Giới thiệu sơ lược về bộ vi điều khiển 8051(89S52):
1: IC vi điều khiển thuộc họ MCS51 có các đặc điểm sau:
4 kbyte ROM,128 byte RAM,4 port I/O 8 bit
2 bộ định thời ,1 cổng nối tiếp,6 nguồn ngắt
Nhưng thực tế hiện nay ta hay sử dụng 8052 (89S52) cũng là một thành viên họ
8051 . 8052 có tất cả các đặc tính của 8051 ngoài ra còn có thêm 4 kbyte ROM,
128 byte RAM và một bộ định thời nữa.
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 5
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Hình1 : Vi điều khiển 8051
2: Cấu trúc bên trong IC8051:
Phần chính của vi điều khiển 8051 là bộ vi xử lý trung tâm ( CPU: central
processing unit).
Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn có khả
năng đưa một tín hiệu giữ nhịp từ bên ngoài.
Chương trình đang chạy có thể dừng lại nhờ một khối điều khiển ngắt ở bên
trong. Các nguồn ngắt có thể là : Các biến cố ở bên ngoài, sự tràn của bộ đếm
định thời hoặc cũng có thể là giao diện nối tiếp.
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 6
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Ba bộ định thời 16bit hoạt động như một bộ đếm.
Các cổng Port0, Port1, Port2, Port3. Sử dụng vào mục đích điều khiển và xuất
nhập tín hiệu. Ở cổng Port3 có thêm các đường dẫn điều khiển dùng để trao đổi
với bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp, cũng như các đường
ngắt dẫn ở bên ngoài.

Hình2 : Sơ đồ khối 89S52.
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm
việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong dải rộng
và được ấn định bằng một bộ định thời.

Trong vi điều khiển 8051 có hai thành phần quan trọng khác đó là bộ nhớ và các
thanh ghi:
Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lưư trữ dữ liệu và mã
lệnh.
Các thanh ghi sử dụng để lưư trữ thông tin trong quá trình xử lý. Khi CPU làm
việc nó thay đổi nội dung các thanh ghi.
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 7
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
3: Các Port của 89S52:
a :Port1 (P1.0-P1.7):
Đối với 8051, chức năng duy nhất của Port 1 là chức năng xuất nhập, cũng như
các Port khác Port 1 có thể xuất nhập theo bit hoặc theo byte.
Hình 3: Cấu trúc của các chân trên Port 1 và Port3
b :Port2 (P2.0-P2.7):
Port 2 là một Port công dụng kép trên các chân 21-28 được dùng như các đường
xuất nhập hoặc là byte cao cua Bus địa chỉ với các thiết kế dùng bộ nhớ mở rộng
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 8
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Hình 4: Cấu trúc các chân trên Port 2
c :Port3 (P3.0-P3.7):
Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng riêng, cụ
thể như sau :
Port Tên Chức năng chuyển đổi
P3.0 RXD Dữ liệu nhận cho Port nối tiếp
P3.1 TXD Dữ liệu phát cho Port nối tiếp
P3.2 INT0\ Ngắt 0 bên ngoài
P3.3 INT1\ Ngắt 1 bên ngoài
P3.4 T0 Ngõ vào của Timer/Counter 0
P3.5 T1 Ngõ vào của Timer/Counter 1
P3.6 WR\ Xung ghi bộ nhớ dữ liệu ngoài

P3.7 RD\ Xung đọc bộ nhớ dữ liệu ngoài
4 : Nghiên cứu tổng thể về vi điều khiển :
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 9
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Nhìn tổng thể chúng ta có thể tìn hiểu về vi điều khiển trong 3 mảng vấn đề
chính là: Các bộ định thời Timer, Port nối tiếp và Ngắt.
4.1: Hoạt động định thời :
Các thanh ghi:
Timer 0 và Timer 1 : Thanh ghi chế độ định thời (TMOD)
Thanh ghi điều khiển Timer ( TCON)
Các thanh ghi chứa giá trị của các bộ định thời.
Timer 2 : Thanh ghi T2CON.
Thanh ghi T2MOD
Thanh ghi TH2 và TL2,RCAP2H và RCAP2L
Các chế độ hoạt động của Timer:
Timer 0 và Timer 1: Chế độ 0 : Timer 13 bit.
Chế độ 1: Timer 16 bit.
Chế độ 2 : 8 bit tự động nạp lại.
Chế độ 3 : Tách Timer
Timer 2 : Chế độ thu nhận (Captuer) : 16bit tự nạp lại
Chế độ tự nạp lại (Auto-Reload) : 16bit thu nhận
Chế độ cung cấp tốc độ Baud cho cổng nối tiếp.
4.2: Cổng nối tiếp:
Các thanh ghi cổng nối tiếp: Thanh ghi điều khiển cổng nối tiếp (SCON), thanh
ghi đệm truyền nhận ở cổng nối tiếp (SBUF).
Các chế độ hoạt động: Chế độ 0 và chế độ 1, chế độ 2.
Ứng dụng truyền nhận qua cổng nối tiếp và truyền thông đa xử lý.
4.3: Ngắt và xử lý ngắt:
Thanh ghi cho phép ngắt IE ( Interrupt Enable).
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 10

Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Thanh ghi ưu tiên ngắt IP.
Các vector ngắt và số hiệu ngắt.
Ngắt Cờ Địa chỉ vector Số hiệu
Reset hệ thống RST 0000H
Bên ngoài 0 IE0 0003H 0
Timer 0 TF0 000BH 1
Bên ngoài 1 IE1 0013H 2
Timer 1 TF1 001BH 3
Port nối tiếp TI hoặc RI 0023H 4
Timer 2 TX2 hoặc EXF2 002BH 5
89S52 có 6 nguồn ngắt: Ngăt ngoài INT0\
Ngắt ngoài INT1\.
Ngắt do bộ Timer 0.
Ngắt do bộ Timer 1.
Ngắt do bộ Timer 2.
Ngắt do Port nối tiêp.
Các ngắt ngoài sảy ra khi có mức thấp hoặc sườn xuống trên chân INT0 hoặc
INT1 của vi điều khiển. Đây là chức năng chuyển đổi của các bit Port 3 (P3.2
và P3.3).
Ngắt cổng nối tiếp xảy ra khi cờ phát (TI) hoặc cờ ngắt thu (RI) được đặt lên
mức1. Ngắt phát xảy ra khi một ký tự đã nhận xong và đang đợi trong SBUF để
được đọc.
Các ngắt cổng nối tiếp khác với các ngắt Timer. Cờ gây ra ngắt cổng nối tiếp
không bị xáo bằng phấn cứng khi CPU chuyển tới ngắt, do có hai nguồn ngắt
cổng nối tiếp TI và RI. Nguồn ngắt phải được xác định trong ISR và cờ tạo ngắt
sẽ được xoá bằng phần mềm. Các ngắt Timer cờ ngắt được xoá bằng phần cứng
khi CPU hướng tới ISR.
III : Bộ cảm biến hồng ngoại:
1 : Cấu tạo : Gồm có phần phát và phần thu.

Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 11
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Phần thu là 1con led màu đen,phần phát là 1con led thường
2: Hoạt động:
Để cảm nhận mỗi lần sản phẩm đi qua thì cảm bíên hồng ngoại của phấn phát
phát ra ánh sáng hồng ngoại và phần thu hấp thụ ánh sáng hồng ngoại vì ánh
sáng hồng ngoại có đặc điểm ít bị nhiễu so với các loại ánh sáng khác. Hai bộ
phận phát và thu hoạt động cùng tần số. Khi có sản phẩm đi qua giữa phần phát
và phần thu ánh sáng hồng ngoại bị che bộ phận thu sẽ hoạt động với tấn số
khác so với tần số phát như thế tạo ra một xung tác động tới bộ phận xử lý. Vậy
bộ phận phát và thu phải có nguồn tạo dao động.
PHẦN HAI
1: Sơ đồ nguyên lý mạch đếm sản phẩm hiện thị LCD:
Hình 5: Sơ đồ nguyên lý mạch đếm sản phẩm
2: Nguyên lý hoạt động của mạch:
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 12
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
Khi cấp nguồn 5v cho toàn mạch thì LCD bắt đầu hiển thị. Do ic89s52 đã
được nạp chương trình trước do đó khi có sản phẩm đi qua thì bộ cảm biến
hồng ngoại sẽ nhận tín hiệu cấp xung cho c1815 và kích mở transitor 1815
và tín hiệu xung sẽ được đưa đến ic89s52, ic89s52 sẽ xuất dữ liệu cho các
đầu ra và hiển thi lên LCD16x2.
Hình 6: Sơ đồ pcb của mạch
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 13
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
4:Phần mềm:
#include <REGX52.H>
#include <stdio.H>
// dinh nghia cac chan lcd 4 bit
#define RS P2_7

#define RW P2_6
#define EN P2_5
#define D4 P2_3
#define D5 P2_2
#define D6 P2_1
#define D7 P2_0
#define LOA P3_0
int result,result1,i;
/************ Cac chuong trinh delay**************/
void delay(unsigned int time_delay)
{
while(time_delay );
}
void delay_ms(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<125;j++);
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 14
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
}
/************ Cac chuong trinh cho LCD 16x2***********/
void write_cmd(unsigned char Data)
{
RS = 0;
RW = 0;
D4 = (Data&0x10)>0?1:0;
D5 = (Data&0x20)>0?1:0;
D6 = (Data&0x40)>0?1:0;
D7 = (Data&0x80)>0?1:0;

EN = 1;
delay(40);
EN = 0;
D4 = (Data&0x01)>0?1:0;
D5 = (Data&0x02)>0?1:0;
D6 = (Data&0x04)>0?1:0;
D7 = (Data&0x08)>0?1:0;
EN = 1;
delay(40);
EN = 0;
}
void write_char(unsigned char Data)
{
RS = 1;
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 15
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
RW = 0;
D4 = (Data&0x10)>0?1:0;
D5 = (Data&0x20)>0?1:0;
D6 = (Data&0x40)>0?1:0;
D7 = (Data&0x80)>0?1:0;
EN = 1;
delay(80);
EN = 0;
D4 = (Data&0x01)>0?1:0;
D5 = (Data&0x02)>0?1:0;
D6 = (Data&0x04)>0?1:0;
D7 = (Data&0x08)>0?1:0;
EN = 1;
delay(80);

EN = 0;
}
void lcd_init(void)
{
write_cmd(0x02);
write_cmd(0x28);
write_cmd(0x0c);
write_cmd(0x06);
write_cmd(0x01);
}
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 16
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
void write_str(char const *str)
{
while(*str)
{
write_char(*str);
str++;
}
}
void lcd_numb(unsigned int numb)
{
write_char(numb/10000+48);
write_char((numb%10000)/1000+48);
write_char(((numb%10000)%1000)/100+48);
write_char((((numb%10000)%1000)%100)/10+48);
write_char(numb%10+48);
}
void move(unsigned char a,unsigned char b)
{

unsigned char vitri[3] = {0,0x80,0xc0};
write_cmd(vitri[a]+b);
}
/*************Ngat timer**********/
void ISR_init()
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 17
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
{
TMOD = 0x01;
IE = 0x84;
IT1 = 1;
result = 0;
result1 = 0;
LOA = 0;
}
void Count_Inc(void) interrupt 2
{
EA=0;
result++;
if(result > 59999)
{
result = 59999;
for(i = 0; i < 60; i++)
{
LOA = !LOA;
delay_ms(50);
}
LOA = 0;
}
delay_ms(100);

EA=1;
}
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 18
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
/***************Main**********/
void main()
{
lcd_init();
ISR_init();
delay_ms(500);
move(1,2);
write_str("DT3_K2");
move(2,1);
write_str(" CDNCNC HN ");
delay_ms(2000);
write_cmd(0x01);
delay_ms(5);
move(1,4);
write_str("DO AN");
move(2,0);
write_str("DEM SAN PHAM LCD");
delay_ms(2000);
write_cmd(0x01);
delay_ms(5);
move(1,4);
write_str("SVTH ");
move(2,1);
write_str("TUONG_DOAN_TUAN ");
delay_ms(2000);
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 19

Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
write_cmd(0x01);
delay_ms(5);
move(1,0);
write_str(" SO SAN PHAM LA");
move(2,0);
write_str("= SP");
while(1)
{
if(result1 != result)
{
result1 = result;
move(2,2);
lcd_numb(result);
}
}
}
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 20
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
PHẦN BA
KẾT LUẬN ƯU NHƯỢC ĐIỂM CỦA SẢN PHẨM
1: Ưu điểm:
Cho phép tăng năng suất lao động.
Đảm bảo độ chính sác.
Cho phép đếm với tần số cao.
Khi phần phát và thu xa nhau ta co thể ứng dụng vào thực tế để đếm những sản
phẩm lớn.
Tổn hao công suất bé, do đó mach có thể dung pin, biến áp…
Giá thành rẻ.
2: Nhược điểm:

Do sử dụng cảm biến hồng ngoại nên nếu có 2 sản phẩm đi qua cùng lúc thì sẽ
dẫn đến đếm nhầm sản phẩm.
Hai con thu phát làm việc với tần số giống nhau nên nhiều khi không ổn định.
Tầm nhìn của hồng ngoại yêu cầu độ chính xác.
3: Khắc phục nhược điểm:
Nhược điểm lớn nhất của mạch là những linh kiện thụ động và bộ cảm biến
hồng ngoại vậy nên khi lắp mạch ta cần phải chọn các linh kiện tốt có tính ổn
định cao.
4: Ứng dụng thực tế:
Mạch được ứng dụng trong các hệ thống cửa tự động, trong các khách sạn, công
ty…
Dùng để đếm sản phẩm thu được trong các dây truyền nhà máy như: Các siêu
thị… Và còn nhiều ứng dụng khác nữa.
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 21
Trường Cao đẳng Nghề Công Nghệ Cao Hà Nội Khoa Điện – Điện tử
PHẦN BỐN
TÀI LIỆU THAM KHẢO
1:Cấu trúc và lập trình họ vi điều khiển 8051
Nguyễn Tăng Cường- Phan Quốc Thắng.
2: Vi điều khiển với lập trình C
Ngô Diên Tập
3:Giáo trình vi điều khiển
4:diendandientu.com
5:dientuvietnam.net
6:dientuphuongdung.com
Báo cáo : Đồ án kết thúc môn vi điều khiểnPage 22

×