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

Đồ án tốt nghiệp điều khiển thiết bị điện qua mạng lan CHUONG 3

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.13 MB, 27 trang )

ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG
3.1 Sơ đồ khối của hệ thống:

WEB

SWITCH

KHỐI GIAO TIẾP
MẠNG
(ENC 28J60)

KHỐI NGUỒN
(IC 7805,
AMS 1117)

CẢM BIẾN
NHIỆT
(LM35)
KHỐI VI XỬ LÝ
(PIC 18F4680)

KHỐI CÔNG
SUẤT
(CÁC THIẾT
BỊ ĐIỆN)

KHỐI


HIỂN THỊ
LCD

Hình 3.1: Xây dựng sơ đồ tổng quát của hệ thống

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 46


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

Trong đó :
- Khối hiển thị : dữ liệu và các yêu cầu ứng dụng sẽ được hiển thị lên máy tính
điều khiển va Lcd .
- Khối xử lý :là vi điều khiển Pic18f460.
- Switch là bộ chia cổng mạng .
- Khối cảm biến :sử dụng cảm biến LM35 để đo nhiệt độ môi trường .
- Khối ENC28J60 :là khối giao tiếp mạng .
- Khối nguồn : dùng để cấp nguồn cho Pic ,ENC va khối công suất .
- Khối công suất : thực hiện các yêu cầu điều khiển như bật tắt đèn ,quạt, còi và
các thiết bị khác cho việc ứng dụng cao hơn.
- Web :được ứng dụng cho việc điều khiển .
Với sự liên kết trên ta sẽ bước đầu hình dung ra cách thức hoạt động của các thành
phần điều khiển và ứng dụng .
3.2 Thi công phần cứng:
3.2.1 Mạch nguồn:
Sơ đồ mạch :

- Do mạch cung cấp không đòi hỏi về công suất quá cao nên ta chọn nguồn được
lấy từ adaptor với ngõ vào input là 220V/240V, 50/60Hz và output là 12V 1000mA
sau đó điều chỉnh thành nguồn 5V và 3.3V như mong muốn.
- Nguồn 5V được sử dụng để cung cấp cho hầu hết các linh kiện của mạch điện:
Là nguồn nuôi cho bộ vi xử lý, mạch công suất.
Nguồn 3.3V dùng để cấp nguồn cho khối giao tiếp với mạng.
V CC=12V

V CC=5V

1A

AD APTO R 220V AC _12V D C

IC 1 7 8 0 5

+

1

IN

IC 2
O U T

3

1

G N D


-

1000mF

0 .1 m F

O U T

3

R7
220

2

330

2

C1

A SM1117

IN

R22
C3

C2

Jac k D C 12V _5m m

V C C = .3 .3 V

G N D

C A U D IO D E

0 .1 m F
D11
L ED X A N H

C4
10uF

D5
LED V A N G

Hình 3.2: Sơ đồ mạch nguồn ổn áp 5V và 3.3 V

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 47


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

Thiết kế:

Ta chọn IC 7805 với các thông số tương đối phù hợp:
- Điện áp ngõ vào chịu có thể chịu được: VIN = 35 → 40V .
- Công suất tiêu thụ tương đối vừa phải : PD = 20.8W .
- Tầm nhiệt độ chịu được khi kéo tải: T = −30 → 150 0 C .
- Để hoạt động trong việc có tải dòng ra đạt: I 0 = 100mA .
- Để phục vụ cho khối công suất ta chọn IC ASM1117 với những tính chất như
7805:
- Điện áp ngõ vào có thể chịu được: VIN = 5 → 12V .
- Dòng ra khoảng 10mA.
- Điện áp ngõ vào của LM7805 và AMS1117 tối thiểu phải cao hơn điện áp ngõ
ra 2V để mạch hoạt động tốt. Trong đó C1, C2 dùng để lọc (nguồn DC chưa ổn
định) để ổn định điện áp ngõ vào, C3 dùng để lọc nhiễu, C4 làm cho áp được phẳng
hơn.
3.2.2 Khối xử lý trung tâm:

J2
6
5
4
3
2
1

2
3
4
5
6
7
C 8


13
20M

J14
7
6
5
4
3
2
1
PO R T B

A
A
A
A
A
A

0
1
2
3
4
5

/A N
/A N

/A N
/A N
/T O
/A N

0
1
2
3
C
4

/C V R E F
/V R E F /V R E F +
KI
/S S /H L V D IN

33pF

PO R T A

C 9

R
R
R
R
R
R


R A 6 /C L K O /O S C 2

Y 2
33pF

IN T O

14
33
34
35
36
37
38
39
40

R A 7 /C L K I/O S C 1
R
R
R
R
R
R
R
R

B
B
B

B
B
B
B
B

0
1
2
3
4
5
6
7

VC C =5V
32
11
31
12

VD D
VD D
VSS
VSS

/IN T O /F L T O /A N 1 0
/IN T 1 /A N 8
/IN T 2 /C A N T X
/C A N R X

/K B IO /A N 9
/K B I1 /B G M
/K B I2 /P G C
/K B I3 /P G D

R C 0 /T 1 O S O /T 1 3 C K I
R C 1/T1 O S I
R C 2 /C C P 1
R C 3 /S C K /S C L
R C 4 /S D I/S D A
R C 5 /S D O
R C 6 /TX/C K
R C 7 /R X/D T
R D O /P S P O /C 1 IN +
R D 1 /P S P 1 /C 1 IN R D 2 /P S P 2 /C 2 IN +
R D 3 /P S P 3 /C 2 IN R D 4 /P S P 4 /E C C P 1 /P 1 A
R D 5 /P S P 5 /P 1 B
R D 6 /P S P 6 /P 1 C
R D 7 /P S P 7 /P 1 D

1
1
1
1
2
2
2
2

5

6
7
8
3
4
5
6

1
2
2
2
2
2
2
3

9
0
1
2
7
8
9
0

1
2
3
R C 3 /S C K

R C 4 /S D I
R C 5 /S D O

1
2

R ESET EN C
C S
R
R
R
R

D
D
D
D

1
2

4
5
6
7

J11
R E 0 /R D /A N 5
R E 1 /W R /A N 6 /C 1 O U T
R E 2 /C S /A N 7 /C 2 O U T


8
9
10

VC C =5V

1
2
3
R 4
4 .7 K

PO R T E

R E 3 /V P P /M C L R

PO R T C

1
SW 1

P IC 1 8 F 4 6 8 0

C 5
10uF

R ESET

Hình 3.3: Khối xử lý Pic 18F4680


SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 48


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

- Khối xử lý sử dụng Pic để điều khiển. Pic 18F4680 có nhiệm vụ nhận dữ liệu từ
khối Ethenet sau đó xử lý dữ liệu ,truyền đến cơ cấu chấp hành thực hiện .
- Chân 1 của Pic nối đến mạch Reset.
Khi tín hiệu này được đưa lên mức cao tối thiểu hai chu kì máy thì các thanh ghi
trong PIC 18F4680 được tải các giá trị để khởi động hệ thống. Chân Reset được
thiết kế Reset bằng tay qua một nút nhấn.
Để Reset hệ thống, chân Reset phải ở mức cao tối thiểu hai chu kì máy (T= 2 µ s) và
VRST phải áp cực tiểu là 2.5V.
Chọn VRST = 3V ⇒ RRST = 10k Ω .
T = 40 ms

⇒ C = (40.103)/ [8.2.103.ln(5/3) ] = 9.6x10-6 (F)  chọn C = 10 µ F.

- Mạch dao động dùng thạch anh 20MHz, tụ C11 và C12 lấy theo giá trị chuẩn là
33pF ± 10%.
3.2.3 Khối công suất:
- Chọn Relay 1 ,Relay 2 , Relay 3, Relay 4 là Relay 5V, dòng đóng ngắt Relay
khoảng 100mA~150mA.
- Dòng ra chân Pic khoảng 5mA – 25mA, điện trở R7, R8,R9 và R10 dùng để
hạn dòng vào cực B của Q1, Q2 và Q3,Q4. Chọn Q1, Q2 và Q3 ,Q4 là transistor

PNP A1015 làm việc ở chế độ bão hòa với k = 4, β = 80 , dòng ra từ chân Pic tối
thiểu 5mA để tính toán.
- Ta có :
IB = k

IC
β

⇒ IC =

β .I B 80.5mA
=
= 100mA
k
4

IC = 100mA đủ để kích relay.
RB =

V B − V BE 5V − 0,8V
=
= 0,84 KΩ
IB
5mA

Chọn RB = R7 = R8=R9 = R10 = 1K

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 49



ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

1
2
1
2

R 3
220

Nguon DC

R ELAY 1
2

V CC=5V

5
1
4

VD D

LED D O

2


J2
1
2

1

1

D 8

D 6
1N 4148

R ELAY 5V

LM35

R 7
2

G N D

VO U T

D A U N O I T H IE T B I D IE N

Q 1
A1015


3

1K

R 3
220

R ELAY 2

J2

2
1
2
3
4
5

N
R
R
R
R

D
L1
L2
L3
L4


D 8

5

1N 4148

1
4

LED D O

2

1
2

1

J2

D 6

D A U N O I T H IE T B I D IE N

R ELAY 5V
R 8

Q 2
A1015


1K

R 3
220

R ELAY 3

J2

2

5

1N 4148

1
4

LED D O

2

1
2

1

D 8

D 6


D A U N O I T H IE T B I D IE N

R ELAY 5V
R 9

Q 3
A1015

1K

R 3
220

R ELAY 4

J2

2

5

1N 4148

1
4

LED D O

2


R ELAY 5V
R 10

1
2

1

D 8

D 6

D A U N O I TH IE T B I D IE N

Q 4
A1015

1K

Hình 3.4: Khối công suất

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 50


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA


Hình 3.5: Hình thực tế của khối công suất
3.2.4 Khối hiển thị LCD:
L C D 1 6 x2

VC C =5V

K

1
16

D
D
D
D

4
5
6
7

G N D

11
12
13
14

0

1
2
3
D
D
D
D
7
8
9
10

R S
R W
E

VEE

A

3

15

Character LCD

VD D

4
5

6

2

2
10K

1

R
R
R
R

3
2
1

D
D
D
D

4
5
6
7

3


J11

Hình 3.6: Khối hiển thị LCD
Các chân 11,12,13,14 của LCD được nối với các chân D4, D5, D6, D7 của Pic.
Chân số 3 của Lcd được nối với một biến trở .
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 51


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

Chân 4,5,6 được nối với E2,E1,E0 của vi điều khiển Pic.
Chân 1,16 được nối với mass, chân 2,15 được nối với nguồn .
3.2.5 Khối giao tiếp mạng :
R C 3 /S C K
R C 5 /S D O
SO
C S
IN T
R E SET_EN C
LED A
LED B
C LK O U T

8
7
6

9
4
10
27
26
3

SC K
VD D O SC
SI
O SC 2
SO
O SC 1
C S
VSSO SC
IN T
VD D R X
R E S E T TP IN T +
LED A
TP IN LED B
VSSR X
C LKO U T V D D TX
TP O U T+
TP O U TV SS TX
VD D PLL
VSSPLL
R B IA S
VC AP

2

2
2
2
1
1
1
1
1
1
1
1
2
2
1
1

C 3 EN C

5
4
3
2
9
3
2
1
5
7
6
8

0
1
4

V D D = .3 .3 V
O SC 2_EN C
O SC 1_EN C
G N D
V D D = 3 .3 V
T P IN T +
T P IN T G N D
V D D = 3 .3 V
TP O U T+
TP O U TG N D
V D D = 3 .3 V
G N D

O SC 1_EN C

33

25M
X1

C 2 EN C

O SC 2_EN C
33

IC 7 4 0 8

1
SO

3

2

R C 4/S D O

IC 7 4 0 8

E N C 28J60
C 1
104

R 6
2 .7 K

4
IN T

6

5

IN T O

TPO U T_

V C C = 3 .3 V


TPO U T+

C 6
104

C 2 EN C 1
104
R 9
51

R 8
51

T P IN T +

T P IN T _
R 10

51

R 11

51

C 10
104

R 5


220

LED A

1
2
3
4
5
6
7
8
R J 45

LED B
220

R 1

Hình 3.7: Khối giao tiếp mạng

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 52


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA


Hình 3.8 : Hình thực tế của khối nguồn,khối giao tiếp mạng, khối điều khiển.

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 53


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

3.3 Lưu đồ thuật toán và giao diện điều khiển:
3.3.1 Mô hình của hệ thống:
- Trong mô hình, bộ điều khiển được đặt trong một mạng LAN (và coi như
một phần tử trong mạng) trong mạng gồm 1 SWITCH, 1 DHCP Server và bao gồm
nhiều máy trạm (các máy PC) có cài chương trình duyệt WEB, các phần mềm
duyệt web phổ biến là IE (Internet Explorer), FireFox, ..
- Bộ điều khiển này đóng vai trò như một Mini Web Server, tất cả các máy trong
mạng có yêu cầu Web đến địa chỉ IP của bộ điều khiển đều được trả về dưới dạng 1
trang WEB. Như vậy, tất cả các máy trong mạng, dù bất kỳ ở đâu cũng đều nhận
được thông tin và điều khiển được nhờ một trình duyệt web sẵn có.

Hình 3.9: Mô hình hệ thống điều khiển thông qua mạng LAN.

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 54


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN


GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

Hình 3.10: Sản phẩm hoàn thành

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 55


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

3.3.2 Giao diện điều khiển:

Hình 3.11: Giao diện đăng nhập

Hình 3.12: Giao diện điều khiển chính
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 56


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

3.3.3 Lưu đồ giải thuật:
BẮT ĐẦU


ĐỌC CẤU HÌNH TỪ
FLASH

IP TỰ
ĐỘNG

S
KHỞI ĐỘNG
VỚI CẤU
HÌNH CŨ

Đ
YÊU CẦU IP
TỪ DHCP

KHỞI TẠO
WED,ĐỌC
ADC

LM 35

TRUYỀN NHIỆT
ĐỘ,TRẠNG THÁI
THIẾT BỊ LÊN
WEB

YÊU CẦU
NGƯỜI
DÙNG


Đ

BẬT TẮT
THIẾT BỊ

S
SO SÁNH NHIỆT ĐỘ
ĐỌC VỀ VỚI NHIỆT
ĐỘ CẢNH BÁO

Đ

HIỂN THỊ
CẢNH BÁO
BẬT THIẾT
BỊ

S
HIỂN THỊ CẢNH
BÁO TẮT THIẾT
BỊ

END
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Hình 3.13: Lưu đồ giải thuật
Trang 57



ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

CHƯƠNG 4: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
Sau 1 thời gian tìm hiểu và thực hiện với sự hướng dẫn của cô Lê Thị Kiều Nga.
Đề tài: “ĐIỀU KHIỂN VÀ GIÁM SÁT CÁC THIẾT BỊ ĐIỆN QUA MẠNG
LAN” đã hoàn thành đúng thời gian quy định. Đề tài đã thỏa mãn được các yêu cầu
đạt ra như sau :
- Điều khiển tắt ,mở và giám sát các thiết bị như: Đèn, Quạt ….
- Giám sát nhiệt độ, đọc nhiệt độ và hiển thị lên Web máy tính và LCD.
Mặc dù đã đạt được những kết quả nhất định, tuy nhiên do kiến thức có hạn và thời
gian tìm hiểu ngắn nên không tránh khỏi những thiếu xót, mong được sự góp ý của
thầy cô và các bạn để đề tài ngày càng hoàn thiện và đạt được nhiều thành công hơn
nữa.
Hạn chế của đề tài:
- Việc sử dụng và làm chủ chưa được hoàn toàn.
- Ứng dụng của đồ án mới dừng lại ở mức đơn giản về thiết kế do điều kiện thời
gian và cơ sở vật chất còn hạn chế.
Hướng phát triển đề tài :
- Mở rộng quy mô điều khiển để có thể điều khiển được nhiều thiết bị hơn nữa.
- Cải tiến cách điều khiển : từ việc điều khiển tắt/mở thiết bị đến việc điều khiển
thiết bị làm việc với nhiều mức độ công suất khác nhau.
- Việc tiếp tục phát triển đồ án với những ứng dụng lớn hơn là rất cần thiết như
ứng dụng vào phòng điều khiển giám sát tốc độ động cơ, Camera của phòng điều
khiển…
Một lần nữa nhóm xin chân thành cảm ơn nhà trường, quý thầy cô và các bạn đã
tạo điều kiện và giúp đỡ cho nhóm hoàn thành đề tài này đúng thời gian quy định.

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG


Trang 58


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

PHỤ LỤC 1
- Chương trình điều khiển được viết bởi phần mềm CCS
- Một số thư viện ,hàm phục vụ cho việc lập trình được lấy từ trang Wed chính thức
của hãng Microchip. Để xem bộ thư viện xin hãy tham khảo bản soft copy trên đĩa
CD kèm theo.
- Chương trình có sử dụng một số mã nguồn được lấy từ Internet.
#define STACK_USE_CCS_PICENS

1

#define STACK_USE_MAC 1
#include <18f4680.h>
#use delay(clock=20000000)
#fuses HS
#fuses NOFCMEN
#fuses NOXINST
#fuses NOIESO
#fuses NOPBADEN
#fuses MCLR
#fuses NOPROTECT
#fuses NOWDT
#fuses NODEBUG

#fuses NOSTVREN
#define STACK_USE_PICDEM_LCD
#define STACK_USE_DHCP

TRUE

TRUE

#define STACK_USE_ARP

TRUE

#define STACK_USE_UDP

TRUE

#define STACK_USE_ANNOUNCE TRUE
#define STACK_USE_MCPENC TRUE
#define STACK_USE_ICMP
#define STACK_USE_TCP
#define STACK_USE_HTTP

TRUE
TRUE
TRUE

#include "tcpip/stacktsk.c"
#include "ccshelper.c"
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG


Trang 59


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

#include "ccshelperui.c"
const char HTML_INDEX_PAGE[]=
"<html><title>DO AN TOT NGHIEP</title>
<head>
<script type=\"text/javascript\">
function varify(){
var youracct = \"admin\"; //define your username here
var yourpw = \"123\"; //define your password here
if(document.getElementById(\"acct\").value

!=

youracct

||

document.getElementById(\"pw\").value != yourpw){
alert(\"User or Pass incorrect\");
return false;
}
window.location=\"/main\";
return true;
}

</script>
</head>
<body bgcolor=#FFFFF5 text=#000000>
<img src= \"file:///c:/home.jpg\">



style=\"color:#00C\">ĐỒ

ÁN

TỐT

NGHIỆP

style=\"color:#00C\">ỨNG

DỤNG

ĐIỀU

KHIỂN QUA MẠNG




<img src= \"file:///c:/login.gif\">


User name <input id=\"acct\" name=\"acct\" type=textarea value=\"\" />

Password <input id=\"pw\" name=\"pw\" type=password value=\"\" />




SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 60


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

<input type=button value=\"Login\" onclick=\"varify()\"/>

<span id=\"mesg\"></span>
</body>


</html>";
const char HTML_MAIN_PAGE[]=
"<html><title>ĐỒ ÁN TỐT NGHIỆP</title>
<meta http-equiv=\"refresh\" content=\"5\">
<body bgcolor=\"#000000\" text=#000000>
<script language=\"JavaScript\">
function showtime ()
{
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var timeValue = hours;
timeValue += ((minutes < 10) ? \":0\" : \":\") + minutes
return timeValue ;
}

</script>
<table align=\"center\" bgcolor=\"#ffcc99\">
<tr><td align=\"center\">
<table width=\"600px\">
<tr>
<td align=\"center\">

<img src= \"file:///c:/home.jpg\">
<font color=\"#33FFFF\"><b>

behavior=\"alternate\"

scrollamount=\"20\"

bgcolor=\"#800000\"

direction=\"right\">
ĐÒ ÁN TỐT NGHIỆP
</marquee>

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 61


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

</b></font><font color=\"#FFFFFF\"><b>\"x\"<br


width=\"762\" height=\"94\"></b></font>



<font color=\"#008000\"><b>Nhiệt độ hiện
tại là:</b></font>%1


%Q%W



<form method=post>
<table border=1>
<tr>
align=left>
1</font></th><td>
color=\"#009900\">Trạng
type=\"radio\"

thái

name=\"led1\"

Role

value=1

%5></td><td>ON</td>
<td><input type=\"radio\" name=\"led1\" value=0 %6></td><td>OFF</td></tr>
<tr>
align=left>


2</font></th><td>
color=\"#0000FF\">Trạng
type=\"radio\"

thái

name=\"led2\"

Role

value=1

%7></td><td>ON</td>
<td><input type=\"radio\" name=\"led2\" value=0 %8></td><td>OFF</td></tr>
<tr><th align=left>Thời gian hiện tại</th>
<td><b><script>
var sToday = showtime ();
document.write(sToday);
</script></b></td></tr>
</table>

type=\"hidden\"

name=\"msgStack\"

value=\"LCD/LEDs


changed!\"

><input type=\"submit\" value=\"Apply\"></form></td>
<tr>

align=center><b>
href=\"/\">
color=\"#800000\">Thoát</font>
color=\"#800000\">

chương
trình</font></a></b>       &n
bsp;        
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 62


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

<b>


href=\"/about2\">

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

color=\"#800000\">Thông</font>
color=\"#800000\"> tin đồ án</font></a></b></td>
</tr>
</table>
</td></tr>
</table>
</body></html>";
const char HTML_ABOUT_PAGE[]=
"<html><title>DO AN TOT NGHIEP</title>
<body bgcolor=#FFFFF5 text=#000000>
<img src= \"file:///c:/home.jpg\">


<img src= \"file:///c:/about.gif\">


<a href=\"/\">Đăng nhập</a>



href=\"/main\">Chương

trình

điều

khiển</a>


<a href=\"/about2\">Thông tin đồ án</a>


</body>
</html>";
char g_HTTPMessageStack[16]="";

char g_HTTPLCDMessage[16]="Nhiet do: ";
int8 g_LEDState[2]={0,0};
int32 http_get_page(char *file_str)
{
int32 file_loc=0;
static char index[]="/";
static char about[]="/main";
static char about2[]="/about2";
if (stricmp(file_str,index)==0)
file_loc=label_address(HTML_INDEX_PAGE);
else if (stricmp(file_str,about)==0)
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 63


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

file_loc=label_address(HTML_MAIN_PAGE);
else if (stricmp(file_str,about2)==0)
file_loc=label_address(HTML_ABOUT_PAGE);
return(file_loc);
}
int http_format_char_checked(int8 flag, char *str)
{
int len=0;
if (flag)
{

sprintf(str,"checked=\"checked\"");
len = 7;
}
return(len);
}
int8 http_format_char(int32 file, char id, char *str, int8 max_ret)
{
char new_str[25];
int8 len=0;
float i; int nd;
set_adc_channel(ADC_CHAN_0);
delay_us(100);
i=read_adc();
nd = (int)(i*500/1023);
switch(id) {
case '0':
sprintf(new_str,"<B>AN%U = </B>0x%X",ADC_CHAN_0,i);
len=strlen(new_str);
break;
case 'Q':
if(nd>32)
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 64


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA


{
sprintf(new_str,"<B>Nhiet do qua cao</B>");
}
else
{
if(nd<25)
sprintf(new_str,"<B>Nhiet do qua thap</B>");
else
sprintf(new_str,"<B>Nhiet do o muc</B>");
}
len=strlen(new_str);
break;
case 'W':
if(nd>32)
{
sprintf(new_str,"<B>, quat nen bat</B>");
}
else
{
if (nd<25)
{
sprintf(new_str,"<B>, quat nen tat</B>");
}
else
sprintf(new_str,"<B> trung binh</B>");
}
len=strlen(new_str);
break;
case '4':
strncpy(new_str, g_HTTPLCDMessage, sizeof(new_str));

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 65


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

new_str[sizeof(new_str)-1] = 0;
len = strlen(new_str);
break;
case '5':
len = http_format_char_checked(g_LEDState[0], new_str);
break;
case '6':
len = http_format_char_checked(!g_LEDState[0], new_str);
break;
case '7':
len = http_format_char_checked(g_LEDState[1], new_str);
break;
case '8':
len = http_format_char_checked(!g_LEDState[1], new_str);
break;
case 'F':
strncpy(new_str, g_HTTPMessageStack, sizeof(new_str));
new_str[sizeof(new_str)-1] = 0;
len = strlen(new_str);
g_HTTPMessageStack[0] = 0;
break;

}
if (len){
strncpy(str, new_str, max_ret);
}
else
*str=0;
return(len);
}
void http_exec_cgi(int32 file, char *key, char *val)
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 66


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

{
static char led1_key[]="led1";
static char led2_key[]="led2";
static char lcd_key[]="lcd";
static char msgStack_key[]="msgStack";
int8 v;
if (stricmp(key,led1_key)==0)
{
v=atoi(val);
g_LEDState[0]=v;
}
if (stricmp(key,led2_key)==0)

{
v=atoi(val);
g_LEDState[1]=v;
}
if (stricmp(key, msgStack_key)==0)
{
strncpy(g_HTTPMessageStack, val, sizeof(g_HTTPMessageStack));
g_HTTPMessageStack[sizeof(g_HTTPMessageStack)-1] = 0;
}
if (stricmp(key,lcd_key)==0)
{
strncpy(g_HTTPLCDMessage, val, sizeof(g_HTTPLCDMessage));
g_HTTPLCDMessage[sizeof(g_HTTPLCDMessage)-1] = 0;
}
}
void splash(void)
{
#IF STACK_USE_PICDEM_LCD
printf(lcd_putc,"\fDia chi IP");
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 67


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

#ENDIF
#if STACK_USE_ANNOUNCE

InitAnnounce(" - EX_ST_WEBSERVER");
#endif
}
void main(void)
{
int32 i;
int temp;
init();
splash();
while (TRUE)
{
restart_wdt();
if (second_counter>=1)
{
if (g_LEDState[0])
output_low(USER_LED1);
else
output_high(USER_LED1);
if (g_LEDState[1])
output_low(USER_LED2);
else
output_high(USER_LED2);
set_adc_channel(ADC_CHAN_0);
delay_us(100);
i=read_adc();
temp = (int)(i*500/1023) ;
if(temp>32)
{
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG


Trang 68


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN

GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

output_low(USER_LED3);
}
else
{
if (temp<25)
{
output_high(USER_LED3);
}
}
printf(lcd_putc,"\fNhiet do: %d",temp);
display_ip_lcd();
second_counter=0;
}
StackTask();
}
}

SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 69


ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG LAN


GVHD: HUỲNH NGUYỄN ĐĂNG KHOA

PHỤ LỤC 2
LIỆT KÊ HÌNH :

Trang

CHƯƠNG 1: DẪN NHẬP...................................................................................1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.....................................................................2
Hình 2.1: Sơ đồ khối của họ PIC 18Fxxx.............................................................2
Hình 2.2 : Sơ đồ chân PIC....................................................................................3
Hình 2.3 : Sơ đồ chân PIC....................................................................................4
Hình 2.4: Sơ đồ khối của PIC 18F4680................................................................5
Hình 2.5: Sơ đồ tạo dao động...............................................................................6
Hình 2.6: Lựa chọn tụ theo thach anh dao động...................................................6
Hình 2.7: Chế độ dao động RC.............................................................................6
Hình 2.8: Sơ đồ chế độ Reset của PIC 18f4680....................................................8
Hình 2.9: Sơ đồ logic của tất cả các ngắt trong vi điều khiển Pic 18F4680........10
Hình 2.10: Bộ nhớ chương trình của PIC 18F4680.............................................11
Hình 2.11: Bộ nhớ dữ liệu Pic 18F4680.............................................................12
Hình 2.12: Chức năng của các chân Port A.........................................................16
Hình 2.13: Chức năng của các chân Port B.........................................................17
Hình 2.14: Chức năng của các chân Port C.........................................................18
Hình 2.15: Chức năng của các chân Port D........................................................19
Hình 2.16: Chức năng của các chân Port E.........................................................20
Hình 2.17: Sơ đồ khối của bộ chuyển đổi ADC..................................................21
Hình 2.18: Cảm biến nhiệt độ LM35..................................................................22
Hình 2.19: ENC28J60.........................................................................................23
Hình 2.20 : Giao diện cơ bản ENC28J60............................................................23

Hình 2.21: Các vùng nhớ của ENC28J600.........................................................24
Hình 2.22: Vùng đệm truyền nhận của ENC28J60.............................................25
Hình 2.23: Giao diện cơ bản của giao tiếp SPI...................................................28
Hình 2.24: Sơ đồ nguyên lý của khối SPI tích hợp trong Vi Điều Khiển PIC.....30
Hình 2.25: Thứ tự chân của IC họ 78xx..............................................................31
Hình 2.26: Hình dáng loại LCD thông dụng.......................................................31
Hình 2.27: Tên chân và chức năng LCD.............................................................32
SVTH: NGUYỄN THANH VINH-VĂN MINH HÙNG

Trang 70


×