Nghiên cứu thiết kế và chế tạo mạch đo các thông số và điều khiển nhiệt độ trong nhà kính - Pdf 40

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
KHOA CƠ ĐIỆN

ĐỒ ÁN VI XỬ LÝ TRONG ĐIỀU KHIỂN
Đề tài:

“Nghiên cứu thiết kế và chế tạo mạch đo các thông số và điều
khiển nhiệt độ trong nhà kính’’
Giáo viên hướng dẫn:
Nhóm sinh viên thực hiện:
Lớp

Lại Văn Song
Lê Minh Hà
566487
Hàn Việt Đỉnh 566480
Lã Việt Anh
566463
K56TDH

Năm 2017

1


Giới thiệu
Một trong những lợi ích của việc trồng cây trong nhà kính là khả năng kiểm soát
tất cả các khía cạnh của môi trường sản xuất . Một trong những yếu tố chính ảnh
hưởng đến cây trồng tăng trưởng là nhiệt độ . Cây trồng khác nhau có nhiệt
độ sinh trưởng tối ưu khác nhau và các tối ưu nhiệt độ có thể khác nhau cho gốc
và môi trường , và cho giai đoạn phát triển khác nhau trong cuộc sống của chúng

đây:
- Lập trình bằng vi xử lý AT89S52-8051
- Thiết kết chế tạo mạch điều khiển nhiệt độ
- Thiết kết mô hình thí nghiệm nhà kính
- Tìm hiểu 1 số linh kiện có trong đồ án
- Các loại relay có trong đồ án
1.4 Phương pháp nghiên cứu
Phương pháp kế thừa: Kế thừa từ các tài liệu, công trình nghiên cứu trước đó về
hai mảng chính của đề tài: Cấu trúc vi điều khiển 8051 và điều khiển nhiệt độ
Phương pháp thực nghiệm kiểm chứng: Sau khi đã xây dựng xong cơ sở lý
thuyết của đề tài sẽ tiến hành thử nghiệm sự hoạt động trên các thiết bị hiện có.
Các bước tiến hành nghiên cứu là tìm hiểu cơ sở lý thuyết về vấn đề nghiên cứu,
tiến hành thiết kế chương trình điều khiển và mạch điều khiển, sau đó thử nghiệm
trên mô hình để đưa ra kết luận.

3


CHƯƠNG II: GIỚI THIỆU VỀ VI ĐIỀU KHIỂN VÀ
CÁC THIẾT BỊ KHÁC

2.1 Vi điều khiển AT89S52
2.1.1 Tổng quan về AT89S52
AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất. Các sản phẩm
AT89S52 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và
các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy
xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của
những lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia. Nó cung cấp những
hổ trợ mở rộng trên chip dùng cho những biến một bit như là kiểu dữ liệu
riêng biệt cho phép quản lý và kiểm tra bit trực tiếp trong hệ thống điều khiển.

8051(ví dụ 8751, 89S52, 89C51,
DS5000) đều có các kiểu đóng vỏ khác
nhau, chẳng hạn như hai hàng chân
DIP (Dual In-Line Pakage), dạng vỏ
dẹt vuông QPF (Quad Flat Pakage) và
dạng chip không có chân đỡ LLC
(Leadless Chip Carrier) thì chúng đều
có 40 chân cho các chức năng khác
nhau như vào ra I/O, đọc RD , ghi WR
, địa chỉ, dữ liệu và ngắt. Cần phải lưu

6


ý một số hãng cung cấp một phiên bản 8051 có 20 chân với số cổng vào ra ít
hơn cho các ứng dụng yêu cầu thấp hơn. Tuy nhiên vì hầu hết các nhà phát
triển sử dụng chíp đóng vỏ 40 chân với hai hàng chân DIP nên ta chỉ tập trung
mô tả phiên bản này.
b) Chức năng của các chân 89S52
Port 0:từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: trong
các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các
đường IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus
địa chỉ và bus dữ liệu.
Port 1:từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao
tiếp với thiết bị bên ngoài nếu cần.

Port 2:từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một port có tác dụng
kép dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với
các thiết bị dùng bộ nhớ mở rộng.



P3.3

INT1

Ngõ vào ngắt cứng thứ 1.

P3.4

T0

Ngõ vào TIMER/ COUNTER thứ 0.

P3.5

T1

Ngõ vào của TIMER/ COUNTER thứ 1.

P3.6

WR

Tín hiệu ghi dữ liệu lên bộ nhớ ngoài.

P3.7

RD

Tín hiệu đọc bộ nhớ dữ liệu ngoài.

Các giá trị tụ và điện trở được chọn là:
R1=10Ω, R2=220Ω, C=10 µF.

Hình 2.3 Sơ đồ kết nối chân RST

Các ngõ vào bộ dao động X1,
X2:
Bộ tạo dao động được tích hợp
bên trong 89S52. Khi sử dụng
89S52, người ta chỉ cần nối thêm
thạch anh và các tụ. Tần số thạch
anh tùy thuộc vào mục đích của người sử dụng, giá trị tụ thường được chọn là
33p.
Hình 2.4 Sơ đồ kết nối chân X1,X2

9


2.1.3 Tổ chức bên trong AT89S52
Bộ nhớ trong 89S52 bao gồm ROM và RAM. RAM trong 89S52 bao
gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữđịa chỉ hóa từng bit,
các bank thanh ghi và các thanh ghi chức năng đặc biệt.
AT89S52 có bộ nhớ được tổ chức theo cấu trúc Harvard: có những
vùng bộ nhớ riêng biệt cho chương trình và dữ liệu. Chương trình và dữ liệu
có thể chứa bên trong 89S52 nhưng 89S52 vẫn có thể kết nối với 64K byte bộ
nhớ chương trình và 64K byte dữ liệu bên ngoài.
Bản đồ bộ nhớ Data bên trong Chip 89S52 được tổ chức như sau:
Địa chỉ

Địa chỉ

Các bank thanh ghi này được đại diện bằng các thanh ghi từ R0 đến R7. Sau
khi khởi động thì hệ thống bank 0 được chọn sử dụng.
Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh
ghi được truy xuất bởi các thanh ghi R0 đến R7. Viêc thay đổi bank thanh ghi
được thực hiện thông qua thanh ghi từ trạng thái chương trình (PSW).

11


d) Các thanh ghi có chức năng đặc biệt
Các thanh ghi trong 89S52 được định dạng như một phần của RAM
trên chip vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm
chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực
tiếp). Cũng như R0 đến R7, 89S52 có 21 thanh ghi có chức năng đặc biệt
(SFR: Special Function Register) ở vùng trên của RAM nội từ địa chỉ 80H
đến 0FFH.
Sau đây là một vài thanh ghi đặc biệt thường được sử dụng:
Thanh ghi trạng thái chương trình (PSW: Program Status Word)
BIT

SYMBOL

ADDRESS

DESCRIPTION

PSW.7

CY


RS0

D3H

Register Bank Select 0
00=Bank 0; address 00H÷07H
01=Bank 1; address 08H÷0FH
10=Bank 2; address 10H÷17H
11=Bank 3; address 18H÷1FH

PSW.2

OV

D2H

Overlow Flag

PSW.1

-

D1H

Reserved

PSW.0

P


0

0

0

1

1

1

0

2

1

1

3

Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn Bank tích cực tương
ứng là Bank 0, Bank1, Bank2 và Bank3.
- Cờ tràn OV (Over Flag):
Cờ tràn được set sau một hoạt động cộng hoặc trừ nếu có sự tràn toán
học.
- Bit Parity (P):

13

dụng vi điều khiển. Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự
kiện và giải quyết sự kiện đó trong khi một chương trình khác đang thực thi.
- Tổ chức ngắt của 89S52:
Có 5 nguồn ngắt ở 89S52: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port
nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và
được cho phép từng cái một bằng phần mềm. Mức độ ưu tiên của các ngắt
được lưu trong thanh ghi IP (Interrupt Priority) hay nói cách khác thanh ghi
IP cho phép chọn mức ưu tiên cho các ngắt (giá trị thanh ghi IP khi reset là
00h).
Bit

Ký hiệu

Địa chỉ bit

IP.7
IP.6
IP.5

_
_
ET2

_
_
BDH

IP.4

ES

Chọn mức ưu tiên
tại ngắt ngoài 1
B9H
Chọn mức ưu tiên
tại timer 0
B8H
Chọn mức ưu tiên
tại ngắt ngoài 0
Tóm tắt thanh ghi IP

cao (=1) hay thấp (=0)
cao (=1) hay thấp (=0)
cao (=1) hay thấp (=0)
cao (=1) hay thấp (=0)
cao (=1) hay thấp (=0)
cao (=1) hay thấp (=0)

 Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có nào có mức ưu tiên cao hơn sẽ
được phục vụ trước.

15


 Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên thì thứ tự ưu tiên
được thực hiện từ cao đến thấp như sau: ngắt ngoài 0 – timer 0 – ngắt ngoài 1
– timer 1 – cổng nối tiếp – timer 2.
 Nếu chương trình của một ngắt có mức ưu tiên thấp đang chạy mà
có một ngắt xảy ra với mức ưu tiên cao hơn thì chương trình này tạm dừng để
chạy một chương trình khác có mức ưu tiên cao hơn.
- Cho phép và cấm ngắt:


ADH

Cho phép ngắt từ Timer 2 (8052)

IE.4

ES

ACH

Cho phép ngắt port nối tiếp

IE.3

ET1

ABH

Cho phép ngắt từ Timer 1

IE.2

EX1

AAH

Cho phép ngắt ngoài 1

IE.1


RST

0000H

Bên ngoài 0

IE0

0003H

Timer 0

TF0

000BH

Bên ngoài 1

IE1

0013H

Timer 1

TF1

001BH

Port nối tiếp

- Sơ đồ kết nối vi xử lý:

18


- Nguyên lý hoạt động:
Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2
bước:
o Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.
o Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và
nhiệt độ đo được.
- Bước 1: gửi tín hiệu Start

19


o MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong
khoảng thời gian >18ms. Trong Code mình để 25ms. Khi đó DHT11 sẽ hiểu
MCU muốn đo giá trị nhiệt độ và độ ẩm.
o MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.
o Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us
mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với
DHT11.
o Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong
80us. Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp
được với DHT11 ko. Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện
quá trình giao tiếp của MCU với DHT.
- Bước 2: đọc giá trị trên DHT11
o DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đó:
Byte 1: giá trị phần nguyên của độ ẩm (RH%)

và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao
tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ…
2.3.2 Tổng quan về LCD
Hình dáng và kích thước:
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên
hình 2.7 là loại LCD thôngdụng.

Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên
trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh
số thứ tự và đặt tên như hình 2.8 :

22


Chức năng các chân
Chân Ký hiệu
1
2
3
4

5
6

7 - 14

15
16

Mô tả

GND cho đèn nền

Bảng 2.3 Chức năng các chân của LCD
* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx.
Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân
DBx.

23


Hình 2.5 Sơ đồ khối LCD HD44780

Giải thích sơ đồ khối
a> Các thanh ghi :
Chíp HD44780 có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR
(Instructor Register) và thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua
tám đường bus DB0-DB7. Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ
ràng. Người dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi
IR. Nghĩa là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ
tra bảng mã lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó.
VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)
Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110
- Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng
RAM DDRAM hoặc CGRAM
(ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi ra cho

24




1

1

Đọc dữ liệu từ DR

Bảng 2.3 Chức năng chân RS và R/W theo mục đích sử dụng
b> Cờ báo bận BF: (Busy Flag)
Khi thực hiện các hoạt động bên trong chíp, mạch nội bên trong cần một
khoảng thời gian để hoàn tất. Khi
đang thực thi các hoạt động bên trong chip như thế, LCD bỏ qua mọi giao tiếp
với bên ngoài và bật cờ BF (thông qua chân DB7 khi có thiết lập RS=0,
R/W=1) lên để báo cho MPU biết nó đang “bận”. Dĩ nhiên, khi xong việc, nó
sẽ đặt cờ BF lại mức 0.
c> Bộ đếm địa chỉ AC : (Address Counter)
Như trong sơ đồ khối, thanh ghi IR không trực tiếp kết nối với vùng RAM
(DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC. Bộ đếm này lại nối
với 2 vùng RAM theo kiểu rẽ nhánh. Khi một địa chỉ lệnh được nạp vào thanh
ghi IR, thông tin được nối trực tiếp cho 2 vùng RAM nhưng việc chọn lựa
vùng RAM tương tác đã được bao hàm trong mã lệnh.
Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn
vị và nội dung của AC được xuất ra cho MPU thông qua DB0-DB6 khi có
thiết lập RS=0 và R/W=1 (xem bảng tóm tắt RS - R/W).
Lưu ý: Thời gian cập nhật AC không được tính vào thời gian thực thi lệnh mà
được cập nhật sau khi cờ BF lên mức cao (not busy), cho nên khi lập trình
hiển thị, bạn phải delay một khoảng tADD khoảng 4uS-5uS (ngay sau khi
BF=1) trước khi nạp dữ liệu mới. Xem thêm hình bên dưới.

25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status