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

phát hiện 3 màu red blue green bằng module tcs3200 hiện thị lên máy tính

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 (1.09 MB, 34 trang )

Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

TRƢỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU
KHOA : ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN MÔN HỌC 1

ĐỀ TÀI : PHÁT HIỆN 3 MÀU RED-BLUE-GREEN BẰNG MODULE
TCS3200 HIỆN THỊ LÊN MÁY TÍNH

SVTH : Nguyễn Văn Sỹ
GVHD : Th.s Phạm Ngọc Hiệp

1
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp
LỜI CẢM ƠN

Trƣớc tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo
trong trƣờng Đại học BRVT nói chung và các thầy cô giáo trong khoa
ĐIỆN-ĐIỆN TỬ, đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh
nghiệm quý báu trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn đến thầy PHẠM NGỌC HIỆP, thầy đã tận
tình giúp đỡ, trực tiếp chỉ bảo, hƣớng dẫn em trong suốt quá trình làm đồ án. Trong
thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích


mà còn học tập đƣ c tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc,
hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và
công tác sau này.
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên,
đóng góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành đồ
án này.

2
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp
PHỤ LỤC

LỜI NÓI ĐẦU ...........................................................................................................1
CHƢƠNG I : MODULE TCS3200 ...........................................................................2
I: GIỚI THIỆU ...........................................................................................................2
II : CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG ................................................6
CHƢƠNG II : KẾT NỐI MODULE TCS 3200 VỚI CPU .......................................9
I : PHẦN CỨNG ....................................................................................................9
II : GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MSC-51 (8951) : ...................9
III : MODULE USB TO UART CP2100 ............................................................12
IV : SƠ ĐỒ KẾT NỐI .........................................................................................14
CHƢƠNG III : LẬP TRÌNH GIAO DIỆN HMI VÀ CODE CHIP 89S52 .............15
I : CODE CHIP 89S52 .........................................................................................15
II: THIẾT KẾ GIAO DIỆN HMI ........................................................................23
CHƢƠNG IV : THIẾT KẾ THI CÔNG PHẦN CỨNG .........................................27
I: VẼ MẠCH NGUYÊN LÝ................................................................................27

II : VẼ MẠCH IN ................................................................................................28
III : SẢN PHẨM THỰC TẾ ................................................................................29
CHƢƠNG V : KẾT LUẬN .................................................................................30

3
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

LỜI NÓI ĐẦU
Trong thời buổi hiện nay, việc sử dụng cảm biến trở nên thiết thực hơn bao
giờ hết, từ điện thoại di động, tivi, xe cộ, máy bay, máy móc dây chuyền sản xuất
công nghiệp đều sử dụng cảm biến để đo lƣờng và điều khiển.

Trên thị trƣờng hiện nay có rất nhiều loại cảm biến khác nhau, sử dụng cho
nhiều mục đích khác nhau, trong đó có cảm biến phân biệt màu TCS3200.

Việc phân biệt màu sắc bằng cảm biến đang đƣ c rất nhiều ngƣời quan tâm,
có thể ứng dụng trong dây chuyền sản xuất công nghiệp với độ chính xác cao, thời
gian làm việc dài giúp nâng cao năng suất giảm bớt nhân công lao động.

Với mục đích đó, trong đề tài này, em sẽ đi nghiên cứu và chế tạo module
phân biệt 3 màu sắc cơ bản RED-BLUE-GREEN. Từ đó phát triển theo các ứng
dụng thực tế với chi phí thấp, độ tin cậy cao

1
SVTH : Nguyễn Văn Sỹ



Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp
CHƯƠNG I : MODULE TCS3200

I: GIỚI THIỆU
Ánh sáng trắng là hỗn h p rất nhiều ánh sáng có bƣớc sóng màu sắc khác
nhau .
Khi ta chiếu ánh sáng trắng vào một vật thể bất kì .
Tại bề mặt vật thể sẽ xảy ra hiện tƣ ng hấp thụ và phản xạ ánh sáng .
Ví dụ : Một vật thể có màu sắc đỏ khi đƣ c chiếu ánh sáng trắng thì những ánh
sáng không nằm trong dải bƣớc sóng màu đỏ sẽ bị vật thể hấp thụ .
Còn ánh sáng có bƣớc sóng nằm trong dải màu đỏ sẽ bị phản xạ ngƣ c trở lại .Và
khiến mắt ta nhận biết vật thể đó là màu đỏ.
Dựa trên nguyên lý sự phản xạ , hấp thụ ánh sáng trắng của vật thể và sự phối chộn
màu sắc bởi 3 màu cơ bản Blue,Green,Red

Hình 1.1 : Màu sắc bất kì đƣ c tổng h p từ 3 mầu cơ bản Blue,Green,Red

2
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

TCS3200 có cấu tạo là 4 bộ lọc photodiode Blue,Green,Red và clear để

nhận biết màu sắc vật thể.
Tần số ra lớn nhất khi ánh sáng chiếu vào cảm biến cùng loại photodiode
đƣ c chọn vì khi đó photodiode sẽ hấp thụ nhiều nhất.

Hình 1.2 : Cảm biến TCS 3200

3
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

Hình bên dƣới là bảng test quá trình chuyển đổi từ ánh sáng mà 4 loại
photodiode nhận đƣ c thành tần số:

Hình 1.1.5 : Bảng test quá trình chuyển đổi từ ánh sáng ra tần số
Với điều kiện test là ánh sáng có bƣớc sóng λp = 470 nm(Dải màu Blue),
λp = 524 nm(dải màu Green),λp = 640 nm(dải màu Red) thì 4 bộ lọc photodiode sẽ
cho ra tần số khác nhau.
Tần số ra lớn nhất khi ánh sáng chiếu vào cảm biến cùng loại photodiode
đƣ cchọn vì khi đó photodiode sẽ hấp thụ nhiều nhất.
Bản chất của 4 loại photodiode trên nhƣ là các bộ lọc ánh sáng có mầu sắc
khác nhau .
Có nghĩa nó chỉ tiếp nhận các ánh sáng có cùng màu với loại photodiode
tƣơng ứng và không tiếp nhận các ánh sáng có màu sắc khác.

4
SVTH : Nguyễn Văn Sỹ



Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

Hình 1.1.3 : Nguyên lý của bộ lọc photodiot

Việc lựa chọn 4 loại photodiode này thông qua 2 chân đầu vào S2,S3 :

Hình 1.1.4 : Chọn Photodiot

5
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

II : CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG

Cấu tạo cảm biến TCS3200 gồm 2 khối nhƣ hình vẽ phía dƣới:

Hình 1.2.1 : Sơ đồ khối TCS3200
Khối đầu tiên là mảng ma trận 8x8 gồm các photodiode.
• Bao gồm 16 photodiode có thể lọc màu sắc xanh dƣơng (Blue),16
photodiode có thể lọc màu đỏ (Red),16 photodiode có thể lọc màu
xanh lá(Green) và 16 photodiode trắng không lọc (Clear).
• Tất cả photodiode cùng màu đƣ c kết nối song song với nhau ,và

đƣ c đặt xen kẽ nhau nhằm mục đích chống nhiễu.
Khối thứ 2 là bộ chuyển đổi dòng điện từ đầu ra khối thứ nhất thành tần số :

Hình 1.2.2 : Chọn Tần Số Xuất Ra

6
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

Tần số đầu ra có độ rộng xung 50% và tỉ lệ với ánh sáng có cƣờng độ và
mầu sắc khác nhau
Tần số đầu ra nằm trong khoảng 2Hz-500Khz .
Ta có thể lựa chọn tỉ lệ tần số đầu ra ở các mức khác nhau nhƣ bảng trên
cho phù h p với phần cứng đo tần số .

Tính năng :
Chuyển đổi cƣờng độ ánh sáng thành tần số có độ phân giải cao.
Lập trình lựa chọn bộ lọc màu sắc khác nhau và dạng tần số xuất ra.
Dễ dàng giao tiếp với vi điều khiển.
Điện áp đầu vào 2.7-5.5V.

Moudule Cảm biến mầu TCS3200 có 2 hàng jum để giao tiếp
S0,S1 : Đầu vào chọn tỉ lệ tần số đầu ra .
S2,S3 : Đầu vào chọn kiểu photodiode.
OE : Đầu vào cho phép xuất tần số ở chân OUT.
OUT : Đầu ra là tần số thay đổi phụ thuộc cƣờng độ và màu sắc.

Ta quan tâm tới chận S2,S3 và chân OUT , các chân khác là giá trị mạc định

7
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

Hình 1.2.2 : Module TCS 3200

8
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

CHƯƠNG II : KẾT NỐI MODULE TCS 3200 VỚI CPU

I : PHẦN CỨNG

Ta sử dụng các linh kiện











Module TCS3200
Ic 89s52
Module usb to uart cp2102
Dây nhảy
Thạch anh 11.0592 Mhz
Điện trở
Tụ điện
Board đồng
Máy vi tính

II : GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MSC-51 (8951) :
Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tƣơng tự
nhƣ nhau.
Ở đây giới thiệu IC8951 là một họ IC vi điều khiển do hãng Intel của Mỹ
sản xuất.

Các đặc điểm của 8951 đƣ c tóm tắt nhƣ sau :











8 kb EPROM bên trong
128 Byte RAM nội
4 Port xuất/nhập I/O 8 bit
Giao tiếp nối tiếp
64 kb vùng nhớ mã ngoài
64 kb vùng nhớ dữ liệu ngoại
Xử lý Boolean (hoạt động trên bit đơn )
210 vị trí nhớ có thể định bit
4 us cho hoạt động nhân hoặc chia

9
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

Sơ đồ khối của 89s51 :

Hình 2.1 : Sơ đồ khối 89s52

10
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1


GVHD : Th.s Phạm Ngọc Hiệp

Sơ đồ chân 8951

Hình 2.2 : Sơ đồ chân 89s52

11
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

III : MODULE USB TO UART CP2100

Module này sử dụng chip CP2102 của hãng SILICON LABS. Chip hỗ tr các loại
hệ điều hành phổ biến nhƣ: Win8, Win7, Vista, Server 2003, XP, Mac OS - X và
các hệ điều hành phổ biến khác.
Hỗ tr các tốc độ truyền nhƣ: 300, 600, 1200, 1800, 2400, 4000, 4800,
7200, 9600 , 14400, 16000, 19200, 28800, 38400, 51200, 56000, 57600, 64000,
76800, 115200 , 128.000, 153.600, 230.400 , 250.000, 256.000, 460.800,
500.000, 576.000, 921.600 và các loại tốc độ khác.
CP2102 không sử dụng thạch anh ngoài nhƣ các chip PL2303. Module có sẵn ngõ
ra điện áp 3.3V.
Trên mạch có 6 cổng đầu ra: 3.3V DTR 5V Tx Rx Gnd. Trong đó chân DTR đƣ c
sử dụng để reset vi điều khiển trong quá trình nạp.
LED nguồn sáng khi gắn vô máy tính và LED báo hiệu Tx / Rx, LED này sẽ sáng
khi module nhận, gửi dữ liệu.


Hình 2.3 : module usb to uart

12
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp
Mô tả chân như sau:

TXD: chân truyền dữ liệu UART, dùng kết nối đến chân Rx của các module
khác, không kết nối trực tiếp đến mức của RS232
RXD: chân nhận dữ liệu UART, dùng kết nối đến chân Tx của các module
khác, không kết nối trực tiếp đến mức của RS232
GND: chân mass hoặc nối đất.
5V: nguồn điện áp dƣơng (tối đa 500mA).
DTR: Chân reset để nạp cho vi điều khiển
3.3V: nguồn điện áp dƣơng 3.3V

13
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

IV : SƠ ĐỒ KẾT NỐI


MODULE TCS 3200

COMPUTER
Giải thích sơ đồ :

CPU 89S52

MODULE USB TO
UART CP2102

Chip 89s52 chọn lần lƣ t từng bộ photodiot cho Module TCS 3200 so sánh.
ứng với mỗi màu, bộ lọc sẽ cho ra tần số khác nhau
Module TCS3200 phát hiện màu sắc chuyển đổi sang dải tần số tƣơng ứng
gửi qua chip 89s52 xử lý.
Chip 89s52 nhận tín hiệu trả về từ Module TCS3200 so sánh ,với bộ lọc màu
nào cho ra tần số cao nhất thì màu phát hiện tƣơng ứng với bộ lọc đó truyền lên
máy tính thông qua module CP2102.
Máy vi tính nhận dữ liệu từ chíp hiện thị lên màn hình qua giao diện ngƣời
dùng, đƣ c viết bằng Microsoft Visual Stdio 2013

14
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

CHƯƠNG III : LẬP TRÌNH GIAO DIỆN HMI VÀ CODE CHIP 89S52
I : CODE CHIP 89S52


/************chip xu ly tin hieu tu TCS3200*************/
#include <REGX52.H>
/****************dinh nghia ************************/
unsigned int tanso,t,F_Test_RED,F_Test_BLUE,F_Test_GREEN;
sbit S0 = P1^1;
sbit S1 = P1^2;
sbit S2 = P1^3;
sbit S3 = P1^4;
unsigned char ChoPhep = 0 ,i,c,b;
sbit LED_RED = P1^5;
sbit LED_BLUE = P1^6;
sbit LED_GREEN = P1^7;
void nhandulieu(void) interrupt 4
{if (RI == 1)
{if (SBUF == 65)
{ ChoPhep = 1;}
if (SBUF == 66)
{ChoPhep = 0;}
RI = 0;
}}
15
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

/****************HÀM GỬI DỮ LIỆU LÊN MÁY TÍNH*********/

void send (unsigned int a)
{
SBUF =a;
while (TI==0){}
TI = 0;
}
/***********************************************************/
// **************ct delay**************************************/
void delay_ms (unsigned int time)
{
unsigned int i=0,j=0;
for (i=0;i{
for (j=0;j<113;j++)
{}
}
}

16
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

/*/..............20 miligiay ngat timer 0 de tinh toan tan so..................*/
void ngat_tran_timer0 (void) interrupt 1
{TR0 = TR2 = 0; //dung 2 timer
t = TH2;

t >>= 8;
t |=TL2;
tanso = t*50;
TH0 = 0xB1;

//nap lai gia tri 20miligaiy cho timer0

TL0 = 0xE0;
TL2 = 0;

//xoa gia tri trong counter 1

TH2 = 0;
}
/*****************************************************************/
/*..............kiem tra mau .............................*/
void check_color_RED (void)
{

S2 = 0;

//chon bo loc mau do

S3 = 0;
while (P1_0 ==0){}

//cho chan Input co canh len

TR0 = TR2 = 1;


//cho timer 0,timer1 chay de tinh toan tan so

delay_ms(30);

//delay 30mili giay de cho cho timer ngat va tinh

tan so

17
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1
F_Test_RED = tanso;
tan so cua mau do}

GVHD : Th.s Phạm Ngọc Hiệp
//lay tan so timer vua tinh toan duoc vao bien luu gia tri

void check_color_BLUE (void)
{
S2 = 0;

//chon bo loc mau xanh lam

S3 = 1;
while (P1_0 ==0){}
TR0 = TR2 = 1;
delay_ms(30);
F_Test_BLUE = tanso;

}
/*............................................*/
/*...........................................*/
void check_color_GREEN (void)
{

//chon bo loc mau xanh luc

S2 = 1;
S3 = 1;
while (P1_0 ==0){}
TR0 = TR2 = 1;
delay_ms(30);
F_Test_GREEN = tanso;
}

18
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

/*..................so sanh gia tri tan so ung voi moi bo loc mau..........................*/
void Loc_Mau (void)
{
if ((F_Test_RED > F_Test_BLUE) &&(F_Test_RED > F_Test_GREEN))
//kiem tra co phai mau do khong
{b = 1;

LED_RED = 1;

//neu dung thi xuat ra mau do

LED_BLUE = 0;
LED_GREEN = 0;}
else if ((F_Test_BLUE > F_Test_RED) &&(F_Test_BLUE > F_Test_GREEN))
//neu khong dung thi kiem tra co phai mau xanh lam khong
{
b = 2;
LED_RED = 0;
LED_BLUE = 1; //neu dung xuat ra mau xanh lam
LED_GREEN = 0;}
else if ((F_Test_GREEN > F_Test_RED) &&(F_Test_GREEN > F_Test_BLUE))
{
b = 3;
LED_RED = 0;
LED_BLUE = 0;
LED_GREEN = 1;
}
19
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1
else

GVHD : Th.s Phạm Ngọc Hiệp
// KHONG XAC DINH DUOC MAU


{
b = 4;
LED_RED = 0;
LED_BLUE = 0;
LED_GREEN = 0;
}
}
/*.......cai dat cho TCS2300......*/
void setup_TCS3200 (void)
{

S0 = 0;

S1 = 1; //tan so ra la tan so thap
}
/*................................................*/
void main ()
{
TMOD = 0x21;

//mode 2, cuonter

TH1 = 0xFD;

//xoa gia tri trong timer0

SCON = 0x50;
IE = 0x90; //ngat truyen thong
TR1 = 1;
TH0 = 0xB1;


20
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp

TL0 = 0xE0;

//20miligiay

T2CON = 0x02;
TH2 = 0;
TL2 = 0;
ET0 = 1;

//cho phep ngat tran timer0

EX0 = 1;

//cho phep ngat ngoai timer0

IT0 = 1;

//ngat canh xuong

EA = 1;


//cho phep ngat toan cuc

/*..............................................*/
// chuong trinh chinh
while (1)
{
if (ChoPhep == 1)
{
c = b;
for (i=0;i<=2;i++)
{
setup_TCS3200 (); //goi ham cai dat cho TCS3200
check_color_RED ();

//Kien tra voi bo loc mau do

check_color_BLUE (); //Kien tra voi bo loc mau Xanh Lam
check_color_GREEN (); //Kien tra voi bo loc mauXanh Luc
Loc_Mau ();
tuong ung

//So sanh Tan so Ung voi moi bo loc mau,xuat ra gia tri

21
SVTH : Nguyễn Văn Sỹ


Đồ Án Môn Học 1

GVHD : Th.s Phạm Ngọc Hiệp


}
if (c==b)
{send (c);}
else{
send (4);}
}
else if (ChoPhep == 0)
{
send (5);
}
}
}

22
SVTH : Nguyễn Văn Sỹ


×