Tải bản đầy đủ (.doc) (17 trang)

ĐỒ ÁN MÔN HỌC VI ĐIỀU KHIỂN THIẾT KẾ LED

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 (328.44 KB, 17 trang )

BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN HỌC VI ĐIỀU KHIỂN
THIẾT KẾ BỘ ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ HIỂN
THỊ BẰNG MÀN HÌNH MÁY TÍNH
GIÁO VIÊN HƯỚNG DẪN
NGUYỄN ANH DŨNG
SINH VIÊN THỰC HIỆN
NGUYỄN ĐỨC THỐNG
NGUYỄN TUẤN ANH
TRẦN VĂN QUANG
HÀ NỘI-2014
LỜI NÓI ĐẦU
Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng
vào rất nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống
và còn nhiều lĩnh vực khác nữa. So với kỹ thuật số thì kỹ thuật 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ó khả năng lập
trình được để điều khiển. Nên rất tiện dụng và cơ động. Với tính ưu việt
của vi điều khiển thì trong phạm vi đồ án nhỏ này, em chỉ dùng vi điều
khiển để đo và khống chế nhiệt độ, đồng thời cho hiển thị lên máy tính
thông qua phần mềm hyper terminal của windows.
Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử
nghiệm những ứng dụng của vi điều khiển 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.
Việc thực hiện 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 nên không tránh
khỏi những thiếu sót. Vì vậy nhóm rất mong được sự góp ý của thầy cô
và các bạn.
CHƯƠNG 1:TỔNG QUAN THIẾT KẾ PHẦN CỨNG CHO ĐỒ ÁN

I. SƠ ĐỒ KHỐI TỔNG QUÁT


1.sơ đồ
KHỐI XỬ LÝ
TRUNG TÂM
8051
KHỐI
CẢM BIẾN
LM35
KHỐI
CHUYỂN ĐỔI
TƯƠNG TỰ
SỐ
ADC 0804
KHỐI GIAO TIẾP
MÁY TÍNH
MAX232
KHỐI HIỂN THỊ :
MÁY TÍNH
Đầu Ra Ứng Dụng
2 / sơ đồ nguyên lý
rd
wr
int
rd
wr
int
5
6
7
7
6

5
rst
rst
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7

32
P1.0/T2
1
P1.1/T2EX
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/W R

16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C52
VIN+
6
VIN-
7
VREF/2
9
CLK IN
4
A GND

8
RD
2
WR
3
INTR
5
CS
1
D GND
10
DB7(MSB)
11
DB6
12
DB5
13
DB4
14
DB3
15
DB2
16
DB1
17
DB0(LSB)
18
CLK R
19
VCC

20
U2
ADC0804
R1
10k
C1
150p
27.0
3
1
VOUT
2
U3
LM35
T1IN
11
R1OUT
12
T2IN
10
R2OUT
9
T1OUT
14
R1IN
13
T2OUT
7
R2IN
8

C2+
4
C2-
5
C1+
1
C1-
3
VS+
2
VS-
6
U4
MAX232
1
6
2
7
3
8
4
9
5
J4
CONN-D9M
C9
10u
C10
10u
C11

10u
C12
10u
D1
LED-GREEN
D2
LED-RED
D3
LED-YELLOW
X1
CRYSTAL
C2
33p
C3
33p
C4
104
C5
104
C6
104
R2
10k
1
1
C7
10u
1
2
J1

TBLOCK-I2
VI
1
VO
3
GND
2
U5
7805
C8
100u
C13
1000u
19%
RV1
1k
100%
RV2
1k
RXD
RTS
TXD
CTS
II. CÁC VI MẠCH CHÍNH SỬ DỤNG TRONG ĐỒ ÁN
1.trong khối cảm biến: có LM35;
2.Trong khối chuyển đổi: ADC 0804;
3.Trong khối xử lý trung tâm: AT89C52;
4.trong giao tiếp máy tính: Max232, cổng Com;
5.khối hiển thị :
III. CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG CƠ BẢN CỦA TỪNG

VI MẠCH.
1> Cảm biến nhiệt LM35.
1. Nguyên lý hoạt động chung của IC đo nhiệt độ.
IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển
thành tín hiệu điện dưới dạng dòng điện hay điện áp. Dựa vào đặc tính rất
nhạy của các bán dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ
thuận với nhiệt độ tuyệt đối. Đo tín hiệu điện ta biết được giá trị của nhiệt
độ cần đo. Sự tác động của nhiệt độ tạo ra điện tích tự do và các lỗ trống
trong chất bán dẫn. Bằng sự phá vỡ các phân tử, bứt các electron thành
dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo sự xuất hiện
các lỗ trống. Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật
hàm mũ với nhiệt độ.
+LM135, LM35
Ngõ ra là điện áp.
Độ nhạy 10mv/1
0
C
Sai số cực đại 1,5
0
C khi nhiệt độ lớn hơn 100
0
C.
Phạm vi sử dụng :0
0
C=>100
0
C
2> bộ chuyển đổi tương tự-số: ADC 0804;
a, cấu tạo
ADC 0804 là một bộ chuyển đổi tương tự số. Gồm có 20 chân.

DB0-DB7: là 8 chân ra dữ liệu.
RD: lối vào đọc
WR :lối vào ghi.
INTR: lối ra ngắt.
CLKR/CLKIN: các lối vào điều khiển xung nhịp.
VIN: lối vào analog dương
b, sơ đồ
c, nguyên lý hoạt động
 DB0- DB7: các lối ra số, dữ liệu chuyển đổi xuất hiện trên 8bit
này. Bộ biến đổi có độ phân giải là 5/256=19,53 mV.
 RD :là chân điều khiển đọc dữ liệu. RD=0: có dữ liệu lối ra.
RD=1: không có dữ liệu lối ra.
 WR: bình thường ở mức logic cao, và lối vào này sẽ được kéo
xuống mức thấp, sau đó lại trở về mức cao để bắt đầu quá trình
chuyển đổi.
 INTR: là lối ra ngắt của bộ biến đổi A/D. 1 sườn xung âm được tạo
lên chân này khi quá trình chuyển đổi kết thúc. Lối ra này thường
được sử dụng để tạo ra một ngắt trong vi điều khiển sao cho dữ liệu
đã chuyển đổi có thể được đọc.
 ADC 0804 chứa một bộ dao động bên trong và cần có 1 tụ điện và
1điện trở bên ngoài nối chân CLKR và CLKIN để khởi động bộ
dao động.
 VIN là chân lối vào của điện áp tương tự.
 Bít 0 và 1 của ADC phải có điện trở kéo lên, do lối ra bộ điều
khiển tại những chân này không có sẵn điện trở kéo lên.
3> vi điều khiển AT89C52;
a, cấu tạo và chức năng các khối của AT89S52.
• CPU( CPU centralprocessing unit) bao gồm:
 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 8Kbyte Flash.
• Bộ nhớ dữ liệu( RAM) gồm 256 byte.
• Bộ UART, có chức năng truyền nhận nối tiếp.
• 3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự
kiện.
• Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt
trong.
• Bộ lập trình( ghi chương trình lên Flash ROM) cho phép người sử
dụng có thể nạp các chương trình cho chíp mà không cần các bộ
nạp chuyên dụng.
• Bộ chia tần số với hệ số chia là 12.
• 4 cổng xuất nhập với 32 chân.
b, chức năng các chân của AT89C52
 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 sử dụng
khi 89c52 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ớ, mạch PIO…
 Port 1( P1.0=>P1.7)
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. Port1 có thể xuất nhập theo bit và theo byte.
 Port 2( P2.0=>P2.7)
Port 2 ngoài chức năng là cổng vào/ra như Port 0 và 1 còn là byte cao
của bus địa chỉ khi sử dụng bộ nhớ ngoài.
 Port 3
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:
Bit Tê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 bên ngoài 0
P3.3 INT1 Ngắt ngoài 1
P3.4 TO Ngõ vào của Timer/counter0
P3.5 T1 Ngõ vào của Timer/counter1
P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài.
P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài.
 Chân /PSEN : là chân điều khiển đọc chương trình ở bộ nhớ ngoài.
 Chân ALE.
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 như 7473.
 Chân /EA.
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay
ngoài. EA=1 thì thực hiện chương trình trong RAM nội. EA=0 thực hiện
ở RAM ngoài.
 RST( reset)
Ngõ vào reset trên chân số 9. khi RST=1 thì bộ vi điều khiển sẽ được
khởi động lại thiết lập ban đầu.
 XTAL1, XTAL2
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.
 Vcc, GND : cung cấp nguồn nuôi cho bộ vi điều khiển. cấp qua
chân 20 và 40.
c, sơ đồ AT89C52 trong mạch
d, nguyên lý hoạt động của các chân trong mạch
+Chân 9 được nối với mạch reset. Khi nhấn SW1 thì bộ vi điều khiển sẽ

được khởi động lại từ đầu.
+điện trở băng U5: có tác dụng làm điện trở kéo lên nguồn.
+ chân 18-19 được nối // với thạch anh 12Mhz. mạch có nhiệm vụ tạo dao
động cho vi điều khiển
+chân p1.0 => p1.7 được giao tiếp nối với ADC 0804 : nhiệm vụ đọc
nhiệt độ thu được của bộ chuyển đổi
+chân p2.5=> p2.7 điều khiển hiển thị led: khi nhiệt độ đo vượt quá
khoảng nhiệt độ khống chế thì 1 trong 3 led sẽ sáng
+chân p3.0 => p3.1 kết nối với Max232 nhiệm vụ hiển thị nhiệt độ đo
được
+chân p3.5=>p3.7 lần lượt nối với /RD và /WR , /INTR nhiệm vụ điều
khiển hoạt động của bộ điều khiển số - tương tự
4, HIỂN THỊ , GIAO TIẾP MÁY TÍNH
a, +Bộ vi điều khiển AT89S52 có thể giao tiếp vơí máy tính qua cổng nối
tiếp
+ người ta sử dụng mạch giao tiếp giữa vi điều khiển với máy tính qua
cổng RS232
+việc truyền một kí tự qua cổng nối tiếp thực chất là truyền mã ASCII
của kí tự
mà trong bài là truyền con số nhiệt độ
+windows cung cấp sẵn cho chúng ta một công cụ truyền tin qua cổng
nối tiếp là Hyper Terminal. Từ menu Start ->program -> accessories ->
communications -> chọn Hyper terminal. Sau đó chọn cổng nối tiếp và
thiết lập các thông số cho cổng nối tiếp.Lưu ý rằng các thông số này phải
giống như dã thiết lập cho cổng nôi tiếp của vi điều khiển
B,mạch trong bài
p3.1
p3.0
1
6

2
7
3
8
4
9
5
J1
CONN-D9M
C1
10u
T1IN
11
R1OUT
12
T2IN
10
R2OUT
9
T1OUT
14
R1IN
13
T2OUT
7
R2IN
8
C2+
4
C2-

5
C1+
1
C1-
3
VS+
2
VS-
6
U1
MAX232
C2
10u
C3
10u
C4
10u
B,Hiển thị cảnh báo
5
6
7
D1
LED-GREEN
D2
LED-RED
D3
LED-YELLOW
Chức năng hiển thị khi nhiệt độ đo được so sánh với nhiệt độ khống chế
+nếu nhiệt độ đo được nhỏ hơn nhiệt độ khống chế thì led đỏ sang
+nếu nhiệt độ đo được lớn hơn nhiệt độ khống chế thì led xanh sang

+nếu nhiệt độ đo bằng nhiệt độ khống chế thì led vàng sang
II, MẠCH THIẾT KẾ VÀ CHƯƠNG TRÌNH
1, Mạch nguyên lý
rd
wr
int
rd
wr
int
5
6
7
7
6
5
rst
rst
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0

39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0/T2
1
P1.1/T2EX
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7

8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/W R
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13

26
P2.6/A14
27
U1
AT89C52
VIN+
6
VIN-
7
VREF/2
9
CLK IN
4
A GND
8
RD
2
WR
3
INTR
5
CS
1
D GND
10
DB7(MSB)
11
DB6
12
DB5

13
DB4
14
DB3
15
DB2
16
DB1
17
DB0(LSB)
18
CLK R
19
VCC
20
U2
ADC0804
R1
10k
C1
150p
27.0
3
1
VOUT
2
U3
LM35
T1IN
11

R1OUT
12
T2IN
10
R2OUT
9
T1OUT
14
R1IN
13
T2OUT
7
R2IN
8
C2+
4
C2-
5
C1+
1
C1-
3
VS+
2
VS-
6
U4
MAX232
1
6

2
7
3
8
4
9
5
J4
CONN-D9M
C9
10u
C10
10u
C11
10u
C12
10u
D1
LED-GREEN
D2
LED-RED
D3
LED-YELLOW
X1
CRYSTAL
C2
33p
C3
33p
C4

104
C5
104
C6
104
R2
10k
1
1
C7
10u
1
2
J1
TBLOCK-I2
VI
1
VO
3
GND
2
U5
7805
C8
100u
C13
1000u
19%
RV1
1k

100%
RV2
1k
RXD
RTS
TXD
CTS
2,mạch in
3; CODE CHƯƠNG TRÌNH
#include<reg52.h>
sbit rd=P3^7; //Read signal P3.7
sbit wr=P3^6; //Write signal P3.6 //Chip Select P3.5
sbit intr= P3^5;
sbit d= P2^5;
sbit x=P2^6;
sbit v=P2^7; //INTR signal P3.4
char tempuart;
unsigned int adc_avg,adc;
void read()
{
wr=0;
wr=1;
while(intr);
rd=0;
adc_avg=P1;
rd=1;
}
uart_init()
{
TMOD = 0x20; //Timer 1 che do 2

TH1= 0xF3; //Toc do 2400 baud
SCON=0x50;
SCON=0x50;
TR1 =1;
TI = 1;
}
//Chuong trinh nhan du lieu tu PC
void getPC ()interrupt 4
{
//Nhan du lieu truyen den tu may tinh
while(RI==0);
tempuart = (SBUF); //Nhan menu dieu khien tu VB
RI = 0;
}
void sendPC(char m)
{
SBUF=m;
while(!TI);
TI = 0;
}
void sendPCstr(unsigned char *s)
{
while(*s!=0x00)
{
SBUF = *s;
while(!TI);
TI = 0;
s++;
}
}

void sendPCint(long int i)
{
int j,m;
char c=0;
unsigned char d[20];
if(i>=0)
c=0;
else if(i<0)
{
c=1;
i=0-i;
}
for(j=0;j<20;j++)
{
d[j]=i%10;
i/=10;
if(i==0)
{
m=j;
break;
}
}
if(c==1)
sendPCstr("-");
for(j=m;j>=0;j )
sendPC(d[j]+48);
}
void delay()
{
long x;

for(x=1;x<=10000;x++);
}
void main()
{
IE=0X84;
uart_init(); //Cai dat UART
d=v=x=1;
while(1)
{
sendPCstr(" Nhiet do hien tai\n");
sendPC(10);
read();
adc=adc_avg*0.14634;
sendPCint(abc);
delay();
sendPC(12);
if(adc>27)
{
x=1;
d=v=0;
}
if(adc==27)
{
d=1;
v=x=0;
}
if(adc<27)
{
v=1;
x=d=0;

}
}
}
II, ĐÁNH GIÁ VỀ SẢN PHẨM
1, ưu điểm
+ Với mạch đo nhiệt độ hiển thị trên máy tính
-đảm bảo độ chính xác cao
-mạch đơn giản dễ dàng thực hiện
-phạm vi đo nhiệt độ rộng từ -55 đến 150
0
c
-điện áp làm việc 4 đến 30v, dòng tiêu thụ nhỏ,nên hầu như không ảnh
hưởng tới kết quả đo
-sai số nhỏ
-số linh kiện sử dụng ít
-khả năng giao tiếp máy tính giúp người sử dụng giám sát dễ dàng
-khả năng ứng dụng cao, thích hợp với nhiều công việc tại các nhà máy
,xí nghiệp có liên quan dến nhiệt như lò nhiệt, sấy thực phẩm,hay như ấp
trứng gia cầm…
2, hướng phát triển
-ngày nay với sự phát triển của khoa học kĩ thuật ,đặc biệt là về công
nghệ kĩ thuật điện tử có vai trò rất quan trọng trong mọi lĩnh vực khoa
học kĩ thuật , tự động hóa…do đó chúng ta phải biết nắm bắt và ứng
dụng vào thực tế
-có thể ứng dụng việc kiểm soát nhiệt độ trong dây chuyền tự động hóa
tại các nhà máy do đó sử dụng hiệu quả tối đa trong việc kiểm soát ,tiết
kiệm nguyên nhiên liệu tại các lò nhiệt,lò sấy…
-có thể đo nhiệt độ để đưa ra các cảnh báo tức thời

×