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

Đo độ ẩm sử dụng cảm biến điện dung

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

ĐỒ ÁN I

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN

ĐỒ ÁN I
ĐỀ TÀI:

Đo độ ẩm sử dụng cảm biến điện
dung
Nhóm 3
Lớp: Kĩ thuật Điều khiển – Tự động hóa 01 –K57
Giáo viên hướng dẫn:

TS. Nguyễn Thị Lan Hương

Hà Nội 26/04/2015
1


ĐỒ ÁN I

MỤC LỤC

DANH MỤC HÌNH

2


ĐỒ ÁN I



I.

Giới thiệu đề tài: Thiết kế mạch đo và hiển thị độ ẩm
môi trường với dải đo từ 0% đến 90%, ngưỡng nhạy
5%

Đo độ ẩm là một vấn đề rất quan trọng trong công nghiệp cũng như
trong cuộc sống. Hiểu được tầm quan trọng này, nhóm em xin chọn đề
tài “Thiết kế mạch đo và hiển thị độ ẩm môi trường với dải đo từ 0%
đến 90% , ngưỡng nhạy 5%”.
• Với những kiến thức đã được học trong môn vi xử lý cùng với sự tìm tòi
nghiên cứu, nhóm em đã cố gắng hoàn thành đồ án này.
• Phạm vi đồ án I là đo độ ẩm môi trường, dựa trên cơ sở này có thể
phát triển thành các hệ thống đo độ ẩm lớn sử dụng trong công nghiệp
như đo độ ẩm của các quá trình trong công nghiệp.


II.

Phương pháp thiết kế
1.

Giao tiếp
máy tính

Sơ đồ khối:

Cảm biến


Chuyển đổi điện
dung thành tần số

Vi điều khiển

Hiển thị

 Nguyên lý hoạt động
 Khối cảm biến nhận độ ẩm từ môi trường ngoài chuyển

thành điện dung đi vào khối chuyển điện dung thành tần
số.
 Khối chuyển điện dung thành tần số sẽ chuyển đổi tín hiệu
tần số đo được từ cảm biến đi vào vi điều khiến.
 Vi điều khiển nhận dữ liệu từ khối chuyển điện dung thành
tần số, xử lý dữ liệu và đưa ra khối hiển thị để hiển thị độ
ẩm môi trường.
 Khối hiển thị dùng phương pháp quét led để hiển thị độ ẩm
môi trường ra led 7 thanh.
3


ĐỒ ÁN I

2.

Nguyên lý linh kiện sử dụng cho từng khối
2.1.

Khối cảm biến: Sử dụng cảm biến độ ẩm HS1101

Cảm biến HS1101 là cảm biến độ ẩm với chính xác về độ
ẩm là 2%RH. Cảm biến này cơ bản là 1 tụ biến dung theo
độ ẩm, giá trị của nó thay đổi theo độ ẩm. Mạch theo kèm
thường là họ IC555 để chuyển đổi từ điện dung sang tần
số.

Hình 2.1: Hình ảnh HS1101

2.2.

Khối chuyển đổi điện dung thành tần số: Sử dụng IC
NE555
• NE555 là một IC dùng để tạo xung vuông.

Hình 2.2a: Hình ảnh NE555


Nó cung cấp cho các nhà thiết kế mạch điện tử với
chi phí tương đối rẻ, ổn định và những mạch tổ hợp
cho những ứng dụng cho đơn ổn và không ổn định.
4


ĐỒ ÁN I

Theo kiểu đóng gói D, FE thì NE555 gồm có 8 chân.
Điện áp đầu vào từ 4.5V-16V, dòng tiêu thụ nhỏ hơn
15mA, công suất tiêu thụ max loại chân cắm (Dip):
là 600mW. NE555 dùng để tạo xung vuông, điều chế
độ rộng xung, điều chế vị trí xung. Trong phạm vi đồ

án này, nó được dùng để tạo xung vuông.



Sơ đồ chân của NE555:

Hình 2.2b: Sơ đồ chân của NE555


Sơ đồ mắc cảm biến HS1101 với NE555 như sau:

Hình 2.2c: Sơ đồ mắc cảm biến HS1101 với NE555
5


ĐỒ ÁN I



Công thức tính tần số ngõ ra của NE555:

Trong đó : F là tần số ngõ ra của NE555, C@%RH là
điện dung theo độ ẩm.
• Ta có công thức liên hệ giữa độ ẩm và điện dung:

C ( pf ) = C @ 55% × (1.25 × 10−7 ) × RH 3 − 1.36 × 10−5 × RH 2 + 2.19 × 10 −3 RH + 9.010−1
C@55% được lấy làm giá trị tham chiếu, theo datasheet tại nhiệt độ phòng thì
C@55% = 180pF.
2.3.


Vi điều khiển: Sử dụng vi điều khiển AT89C52

6


ĐỒ ÁN I

Hình 2.3a: Sơ đồ bố trí chân của 8052
Trong 40 chân thì có 32 chân danh cho các cổng P0, P1, P2
và P3 với mỗi cổng có 8 chân. Các chân còn lại được dành
cho nguồn Vcc, đất GND, các chân dao động XTAL1, XTAL2,
chân Reset RST, chân cho phép cất chương trình PSEN.


Chân VCC
• Chân số 40 là VCC, có chức năng cấp điện áp nguồn
cho chíp. Nguồn điện áp là +5V.



Chân GND
• Chân số 20 là GND, được nối với đất.



Chân XTAL1 và XTAL2
• 8051 có một bộ dao động trên chíp nhưng nó yêu
cầu có một xung đồng hồ ngoài để chạy nó. Một bộ
dao động thạch anh sẽ được nối tới các chân đầu
vào XTAL1 (chân 19) và XTAL2 (chân 18). Bộ dao

động thạch anh được nối tới XTAL1 và XTAL2 cũng
cần hai tụ gốm giá trị khoảng 30pF. Một phía của tụ
điện được nối xuống đất.



Chân RST:
• RST là chân số 9 - Reset. Nó là một chân đầu vào có
mức tích cực cao (bình thường ở mức thấp). Khi cấp
xung cao tới chân này thì bộ vi điều khiển sẽ được
Reset và kết thúc mọi hoạt động. Điều này thường
được coi như là sự tái bật nguồn. Khi kích hoạt tái
bật nguồn sẽ làm mất mọi giá trị trên các thanh ghi.

7


ĐỒ ÁN I

Hình 2.3b: Sơ đồ mạch Reset


Chân EA
• EA có nghĩa là truy cập ngoài (External Access): là
chân số 31 trên vỏ kiểu DIP. Nó là một chân đầu vào
và phải được nối hoặc với Vcc hoặc GND. Hay nói
cách khác là nó không được để hở.




Chân PSEN
• PSEN là chân đầu ra cho phép cất chương trình
(Program Store Enable) trong hệ thống. Trên vi điều
khiển 8031, chương trình được cất ở bộ nhớ ROM
ngoài thì chân này được nối tới chân OE của ROM.



Chân ALE
• Chân cho phép chốt địa chỉ ALE là chân đầu ra tích
cực cao. Khi nối 8031 tới bộ nhớ ngoài thì
cổng P0 dùng để trao đổi cả địa chỉ và dữ liệu. Hay
nói cách khác 8031 dồn cả địa chỉ và dữ liệu qua
cổng P0 để tiết kiệm số chân. Chân ALE được sử
dụng để phân kênh địa chỉ và dữ liệu.



Cổng P0
• Cổng P0 chiếm tất cả 8 chân (từ chân 32 đến 39).
Nó có thể được dùng như cổng đầu ra, để sử dụng
các chân của cổng P0 vừa làm đầu ra vừa làm đầu
vào thì mỗi chân phải được nối tới một điện trở treo
bên ngoài.
8


ĐỒ ÁN I

Hình 2.3c: Sơ đồ kết nối cổng P0



Cổng P0 là đầu vào: Với các điện trở được nối tới
cổng P0 nhằm để tạo nó thành cổng đầu vào thì nó
phải được lập trình bằng cách ghi 1 tới tất cả các bit
của P0.



Cổng P1
• Cổng P1 cũng chiếm tất cả 8 chân (từ chân 1 đến
chân 8) nó có thể được sử dụng như đầu vào hoặc
đầu ra. So với cổng P0 thì cổng này không cần đến
điện trở treo vì nó đã có các điện trở kéo bên trong.
Trong quá trình Reset thì cổng P1 được cấu hình
như một cổng đầu ra.
• Cổng P1 là đầu vào: Tương tự P0, để biến
cổng P1 thành đầu vào thì nó phải được lập trình
bằng cách ghi 1 đến tất cả các bit của nó.



Cổng P2
• Cổng P2 cũng chiếm 8 chân (các chân từ 21 đến
28). Nó có thể được sử dụng như đầu vào hoặc đầu
ra, giống như cổng P1, cổng P2 cũng không cần điện
trở kéo vì nó đã có các điện trở kéo bên trong. Khi
Reset, thì cổng P2 được cấu hình như một cổng đầu
ra.
• Cổng P2 là đầu vào: Để tạo cổng P2 như đầu vào thì

nó phải được lập trình bằng cách ghi các số 1 tới tất
cả các chân của nó.



Cổng P3
9


ĐỒ ÁN I

Cổng P3 chiếm tổng cộng là 8 chân từ chân 10 đến
chân 17. Nó có thể được sử dụng như đầu vào hoặc
đầu ra. Cống P3 không cần các điện trở treo cũng
như P1 và P2. Mặc dù cổng P3 được cấu hình như
một cống đầu ra khi Reset, nhưng đây không phải là
cách nó được sử dụng phổ biến nhất.
• Các bit P3.0 và P3.1 cung cấp tín hiệu nhận và phát
dữ liệu trong truyền thông dữ liệu nối tiếp.
• Các bit P3.2 và P3.3 được dành cho các ngắt ngoài.
• Bit P3.4 và P3.5 được dùng cho bộ định thời 0 và 1.


2.4.

Khối hiển thị: Sử dụng led 7 thanh 2 số Anot chung:

Hình 2.4: Sơ đồ ghép nối LED 7 thanh

2.5.


Khối giao tiếp với máy tính: Sử dụng LabWindows/CVI
10


ĐỒ ÁN I

LabWindows/CVI là 1 phần mền phát triển dựa trên môi
trường C. LabWindows/CVI cung cấp đầy đủ các thư viện và
thanh công cụ dùng cho việc hỗ trợ thu thập và phân tích dữ liệu.
Bạn có thể biên dịch, debug, liên kết các chương trình ANSI C
trong môi trường phát triển LabWindows/CVI. Các ứng dụng của
LabWindows/CVI bao gồm: giao tiếp với người sử dụng, thu thập
dữ liệu, phân tích dữ liệu và điều khiển chương trình. Việc giao
tiếp với người sử dụng thông qua đồ họa, đồ thị và các điều
khiển khác. Bạn cũng có thể tạo đồ họa hiển thị, các menu, nút
ấn… để hiển thị dữ liệu được yêu cầu. Sau khi bạn yêu cầu dữ
liệu, bạn phải phân tích chúng để thực hiện formatting, scaling,
signal processing và curve fitting. Cuối cùng, chương trình điều
khiển sẽ phối hợp chúng lại với nhau. Chương trình sử dụng bao
gồm các khối logic điều khiển về quản lí các chức năng hỗ trợ
người sử dụng và thực hiện chương trình. Để có thêm độ tin cậy
và tối ưu hóa được hiệu quả lập trình code, bạn có thể sử dụng
NI LabWindows/CVI Execution Profiler Toolkit. Bạn cũng có thể
tận dụng lợi thế của công nghệ FPGA bằng cách sử dụng FPGAInterface C API trong LabWindows/CVI để tạo ra một ứng dụng
ANSI C giao tiếp với code FPGA đang chạy. Với việc tích hợp
phần cứng, người lập trình có thể gắp thả các chức năng driver
API vào code của mình, dễ dàng tạo ra các ứng dụng cho điều
chỉnh đo và I/O phần cứng. Ứng dụng cụ thể của phần mền
labWindows/CVI: cảnh báo và hiển thị nhiệt độ trong kho lạnh,

kho bảo quản thuốc... sử dụng cảm biến nhiệt độ và độ âm chính
xác cao; giám sát các lỗi hệ thống trong trong công nghiệp, đưa
ra các cảnh báo tức thời như nhiệt độ, áp suất, nguồn lỗi, hệ
thống lỗi, mất điện, có điện…; giám sát an ninh cho các tủ điện,
tủ điều khiển ngoài trời…Kết hợp với các nguồn dự phòng hoặc
nguồn năng lượng mặt trời tạo thành hệ thống khép kín và độc
lập với bên ngoài, tránh được các phá hoại và vô hiệu hóa hệ
thống an ninh.

3.

Sơ đồ thiết kế chi tiết
3.1.

Khối cảm biến và chuyển đổi từ điện dung sang tần số
11


ĐỒ ÁN I

Hình 3.1: Hình ảnh về ghép nối cảm biến HS1101 với NE555

3.2.

Khối hiển thị

12


ĐỒ ÁN I


Hình 3.2: Hình ảnh về sơ đồ ghép nối khối hiển thị
3.3.

Sơ đồ toàn mạch

Hình 3.3: Sơ đồ toàn mạch

3.4.

Khối giao tiếp với máy tính

13


ĐỒ ÁN I

4.

Đặc tính kĩ thuật của thiết bị đo
4.1.





4.2.




Thời gian đo (tính từ lúc bắt đầu đo tới khi kết quả đo
được)
Thời gian cảm biến HS1101 đo: Không đáng kể.
Thời gian chuyển đổi trong NE555: Không đáng kể.
Thời gian 8051 xử lý tín hiệu: 20ms.
Thời gian LED 7 thanh hiển thị: Không đáng kể.
 Suy ra thời gian đo = thời gian 8051 thực hiện =
20ms.
Sai số của thiết bị đo
Sai số của cảm biến độ ẩm HS1101: 2%RH.
Sai số tần số đầu ra NE555: 5%

5. Phương pháp đo: Sử dụng cảm biến HS1101
5.1.
Lí do chọn phương pháp này

Hiện nay có rất nhiều phương pháp đo độ ẩm môi trường như
phương pháp xác định độ ẩm bằng biến trở, phương pháp xác
định độ ẩm bằng cảm biến độ ẩm, phương pháp xác định độ ẩm
bằng khúc xạ ánh sáng… Ở đây, nhóm em sử dụng phương
pháp đo độ ẩm bằng cảm biến độ ẩm. Qua tìm hiểu, nhóm em
được biết trên thị trường có 1 số loại cảm biến như SHT75,
SHT11, HS1101, DS18B20… với độ chính xác khác nhau. Cảm
biến HST75 có độ chính xác 1.8%RH với giá thành là 1050000đ,
cảm biến HST11 có độ chính xác 3%RH với giá thành là
280000đ, cảm biến HS1101 có độ chính xác 2%RH với giá thành
là 80000đ. Do yêu cầu đồ án mạch đo độ ẩm có độ chính xác
5%RH và do điều kiện kinh tế nên nhóm em chọn cảm biến độ
ẩm HS1101. HS1101 cơ bản là 1 tụ điện biến dung theo độ ẩm,
giá trị của nó sẽ thay đổi khi độ ẩm thay đổi. Hay nói cách khác,

ứng với mỗi giá trị độ ẩm môi trường thì cảm biến sẽ xuất ra 1
giá trị điện dung tương ứng. Nhiệm vụ của nhóm: làm cách nào
để đo, xử lí giá trị điện dung đó và hiển thị giá trị độ ẩm ra led 7
thanh. Ta có 2 cách để thực hiện điều đó: Cách 1, biến đổi điện
dung thành tần số và dùng vi điều khiển để xử lí tần số đó. Cách
2, biến đổi điện dung thành điện áp. Do nhóm em đã được học vi
điều khiển 8051 nên nhóm em xin chọn phương án 1.
Cách thực hiện
Các linh kiện có trong mạch đô độ ẩm: cảm biến độ ẩm
HS1101 dùng để đo độ ẩm, IC NE555 dùng để chuyển đổi điện
5.2.

14


ĐỒ ÁN I

dung thành tần số, vi điều khiển dùng để đo và xử lí tần số, led 7
thanh dùng để hiển thị đồ ẩm và các linh kiện đi kèm như điện
trở, tụ điện, transistor, thạch anh…Trên thực tế, HS1101 thường
đi kèm với mạch họ IC555 để xác định tần số. Ở đây, nhóm em
mong muốn dải tần số từ 6000Hz đến 7500Hz. Dựa vào công
thức ở mục 2.2, nhóm em tính được (R2 + 2R4) nằm trong
khoảng từ 1.1MegaOm đến 1.3MegaOm. Qua tìm hiểu các loại
trở có ở Việt Nam, nhóm em đã chọn R4= 560k, R2= 56k. Sau
khi đo được giá trị tần số, ta sẽ xử lí giá trị tần số đó trong vi điều
khiển AT89C52. Chân timer 0 được nối với mạch NE555, khi
timer 2 chạy 20ms thì đồng thời giá trị của 2 thanh ghi trong timer
0 cũng tăng theo, vi điều khiển xử lí dữ liệu và và led 7 thanh
hiển thị độ ẩm. Giá trị trong 2 thanh ghi đó chính bằng 20ms

nhân với tần số ở đầu ra của mạch NE555. Ta có bảng liên hệ
giữa các biến: độ ẩm môi trường, điện dung, tần số, biến đếm
như sau:
Độ ẩm Tần số Biến
đếm
0
7573
151
1
7554
151
2
7536
151
3
7519
150
4
7501
150
5
7484
150
6
7468
149
7
7451
149
8

7435
149
9
7419
148
10
7403
148
11
7387
148
12
7372
147
13
7357
147
14
7342
147
15
7327
147
16
7312
146
17
7298
146
18

7283
146
19
7269
145
20
7255
145
21
7242
145
22
7228
145
23
7214
144

Điện
dung
162
162
163
163
164
164
164
165
165
165

166
166
166
167
167
167
168
168
168
169
169
169
170
170

Độ
ẩm
46
47
48
49
50
51
52
53
54
55
56
57
58

59
60
61
62
63
64
65
66
67
68
69

Tần
số
6925
6913
6901
6889
6876
6864
6852
6840
6827
6815
6802
6790
6777
6764
6752
6739

6726
6713
6700
6687
6674
6660
6647
6634

Biến
đếm
139
139
139
138
138
138
137
137
137
136
136
136
136
135
135
135
135
134
134

134
133
133
133
133

Điện
dung
177
177
178
178
178
179
179
179
180
180
180
181
181
181
182
182
182
183
183
183
184
184

185
185
15


ĐỒ ÁN I

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45


III.

7201
7188
7175
7162
7149
7136
7123
7110
7098
7085
7073
7060
7048
7035
7023
7011
6999
6986
6974
6962
6950
6938

144
144
144
143
143

143
142
142
142
142
141
141
141
141
140
140
140
140
139
139
139
139

170
171
171
171
172
172
172
173
173
173
173
174

174
174
175
175
175
176
176
176
177
177

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88

89
90

6620
6606
6592
6578
6565
6550
6536
6522
6507
6492
6478
6463
6448
6432
6417
6402
6486
6470
6454
6438
5422

132
132
132
132
131

131
131
130
130
130
130
129
129
129
128
128
128
127
127
127
126

185
186
186
186
187
187
188
188
189
189
189
190
190

191
191
192
192
193
193
194
194

Thuật toán và chương trình
1.

Sơ đồ thuật toán
1.1.

Lưu đồ đo độ ẩm

XỬ LÝ

DPTR <= #BANG TRA BIEN
DEM
18H <=R0
1
A <=00H
A <= @A+DPTR
16


ĐỒ ÁN I


2

A==18H

Đ

S

C==1

S DPTR<=DPTR+1

2

Đ

1

A<=DPL
DPTR <= #BANG TRA DO AM
A <= @A+DPTR
R3<=A
RET

1.2.

Lưu đồ hiển thị ra LED 7 đoạn

BCD_7SEG


R3 <=DPTR
250 <= #MA_LED_7THANH

HIENTHI

DELAY

P0 <= R0
SETB P2.0

A <=R0

NOP

A <= @A+DPTR

NOP

R0 <= A

S

A <=R1

DELAY
V

CLR P2.0

R3==0


A <= @A+DPTR
R1 <= A

P0 <= R1
CPL P0.7
SETB P2.1

17


ĐỒ ÁN I

Đ

RET

A <=R2
A <= @A+DPTR
R2 <= A
RET

DELAY

CLR P2.1

P0 <= R0
SETB P2.2
DELAY


CLR P2.2

RET

2.

Code chương trình
;---------------------------------;CAC BIEN: R0-->BIEN DEM
;
R1-->SO HANG CHUC
;
R2-->SO HANG DON VI
;
R3-->DO AM
;---------------------------------ORG 0000H
LJMP MAIN
ORG 00BH
LJMP ISR_T0
RETI
ORG 0030H
18


ĐỒ ÁN I

MAIN:
MOV TMOD,#51H
MOV TL0,#0DFH
MOV TH0,#0B1H
MOV TL1,#00H

MOV TH1,#00H
MOV IE,#82H
MOV R1,#0C0H
MOV R2,#0C0H
SETB P3.5
SETB TR0
SETB TR1
ACALL HIEN_THI
ISR_T0:
CLR TR1
CLR TR0
MOV R0,TL1
ACALL XU_LY
ACALL HEXA_BCD_7SEG
MOV TL0,#0DFH
MOV TH0,#0B1H
MOV TL1,#00H
SETB TR0
SETB TR1
RETI
XU_LY:
MOV DPTR,#BANG_TRA_BIEN_DEM
MOV 18H,R0
HERE:
MOV A,#00H
MOVC A,@A+DPTR
CJNE A,18H,NOT_EQUAL
SJMP EXIT
NOT_EQUAL:
JNC NEXT

SJMP EXIT
NEXT:
INC DPTR
SJMP HERE
EXIT:
MOV A,DPL
MOV DPTR,#BANG_TRA_DO_AM
MOVC A,@A+DPTR
MOV R3,#00H
19


ĐỒ ÁN I

MOV R3,A
RET
HEXA_BCD_7SEG:
MOV A,R3
MOV B,#0AH
DIV AB
MOV R1,A
MOV R2,B
MOV DPTR,#MA_LED_7THANH
MOV A,R1
MOVC A,@A+DPTR
MOV R1,A
MOV A,R2
MOVC A,@A+DPTR
MOV R2,A
RET

HIEN_THI:
MOV P0,R1
SETB P2.1
ACALL DELAY
CLR P2.1
MOV P0,R2
SETB P2.2
ACALL DELAY
CLR P2.2
SJMP HIEN_THI
RET
DELAY:
MOV R5,#1
BACK1:
MOV R6,#250
BACK2:
NOP
NOP
DJNZ R6,BACK2
DJNZ R5,BACK1
RET
ORG 300H
BANG_TRA_BIEN_DEM:
DB 151,150,148,147,145,144,142,141,140,139,138,
136,135,134,132,131,130,128,126,125,122
ORG 400H
20


ĐỒ ÁN I


BANG_TRA_DO_AM:
DB 0,5,10,15,20,25,30,35,40,45,50,
55,60,65,70,75,80,85,90,95,100
ORG 500H
MA_LED_7THANH:
DB 0C0H,0F9H,0A4H,0B0H,099H,
092H,082H,0F8H,080H,090H
END

IV.

Kết quả thực nghiệm
Ưu điểm: Mạch dễ thực hiện, mạch có chức năng kết nối máy tính hiển
thị đồ thị độ ẩm thay đổi theo thời gian, có cảnh báo bằng còi khi độ ẩm
vượt quá giá trị đặt trước.
Nhược điểm: Giá trị độ ẩm trên led 7 thanh bị nhấp nháy, chưa cách li
giữa phần tương tự và phần số nên có thể bị nhiễu.
Hướng phát triển: Kết hợp thêm mạch đo nhiệt độ, đi sâu vào phần kết
nối với máy tính.

V.

Tài liệu tham khảo:
1.
2.

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 Hải. NXB Khoa học và kĩ thuật .
Datasheets

21


ĐỒ ÁN I

HS1101: />• NE555: />• AT89C51: />• CVI: />•

22



×