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

Thiết kế hệ thống tưới cây tự động bằng 8051 và phần mềm visual basic

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 (1004 KB, 38 trang )

Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

MỤC LỤC
MỤC LỤC .......................................................................................................................1
NHẬN XÉT CỦA GIÁO VIÊN ......................................................................................2
LỜ I NÓ I ĐẦU.................................................................................................................3
CHƯƠNG 1: GIỚ I THIỆU VỀ VI ĐIỀU KHIỂN 8051 VÀ PHẦN MỀM VISUAL
BASIC .............................................................................................................................4
1.1 Giới thiệu về vi điều khiển 8051 ...........................................................................4
1.2 Giới thiệu về phần mềm Visual Basic ................................................................ 12
CHƯƠNG 2: THIẾT KẾ HỆ THỐNGTƯỚI HOA LAN TỰ ĐỘNG SỬ DỤNG 8051
.......................................................................................................................................18
2.1 Sơ đồ khối của hệ thống .....................................................................................18
2.2 Xác định yêu cầu công nghệ ...............................................................................18
2.2.1 Đặc tính và các yếu tố sinh trưởng của hoa lan (hoa lan Oncidium) ...........18
2.2.2 Yêu cầu công nghệ của hệ thống ...................................................................19
2.3 Tính chọn thiết bị và vẽ sơ đồ đấu dây ............................................................... 20
2.3.1 Tìm hiểu về cảm biến nhiệt độ LM35 ............................................................ 20
2.3.2 Tìm hiểu về cảm biến độ ẩm HS1101 ............................................................ 24
2.3 Mạch nguyên lý và mô phỏng: ...........................................................................29
2.4 Thiết lập lưu đồ thuật toán và viết chương trình...............................................30
2.4.1 Thiết lập lưu đồ thuật toán: ...........................................................................30
2.4.2 Viết chương trình ...........................................................................................31
CHƯƠNG 3: KẾT LUẬN............................................................................................. 38

GVHD: Phạm Văn Hùng

Trang1



Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

NHẬN XÉT CỦA GIÁO VIÊN
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................

......................................................................................................................................................

GVHD: Phạm Văn Hùng

Trang2


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

LỜI NÓI ĐẦU
Trong những năm trở la ̣i đây, nghề trồ ng cây, hoa cảnh rấ t phát triể n mang la ̣i
nguồ n lơ ̣i kinh tế cao mà không đòi hỏi nhiề u công lao đô ̣ng, chăm sóc. Nhưng
la ̣i cầ n sự tỉ mỉ là chính xác cao trong quá trình chăm sóc. Hoa lan là loa ̣i cây cảnh
có giá tri ̣về thẩ m mỹ và kinh tế rấ t cao không chỉ trong nước mà còn có thể xuấ t
khẩ u ra thi ̣ trường nước ngoài. Hiê ̣n nay, nghề trồ ng hoa lan rấ t phổ biế n, đa số
mo ̣i vùng đề u có thể trồ ng đươ ̣c. Trồ ng hoa lan không đòi hỏi diê ̣n tích quá rô ̣ng
nhưng đòi hỏi cao vầ kỹ thuâ ̣t trồ ng và chăm sóc. Người trồ ng phải tuân thủ những
quy tắ c khắ t khắ t khe khi trồ ng. Tuy khó khăn là vâ ̣y nhưng không ít người đã đi
lên làm giàu từ hai bàn tay trắ ng nhờ những cành lan.
Trong thể kỳ XX và XXI chúng ta đã chứng kiế n sự phát triể n vươ ̣t bâ ̣c của
công nghê ̣trong nhiề u liñ h vực. Các ngành tự đô ̣ng hóa cũng nằ m trong số đó, xu
thế của hiê ̣n ta ̣i là giảm tố i đa sức lao đô ̣ng của con người vào quá triǹ h sản xuấ t.
Thay vào đó là những hê ̣ thố ng, cơ cấ u đươ ̣c điề u khiể n tự đô ̣ng do con người lâ ̣p
triǹ h, thay con người làm viê ̣c. Góp phầ n giải phóng sức lao đô ̣ng. Tự đô ̣ng hóa
đã góp phầ n không nhỏ thúc đẩ y sự phát triể n của nông nghiê ̣p, hướng đế n mô ̣t
ngành nông nghiê ̣p không còn sự tham gia trực tiế p của con người vào quá trình
sản xuấ t. Ứng du ̣ng các loa ̣i cảm biế n và hê ̣thố ng tự đô ̣ng hóa vào quá trình chăm
sóc cây trồ ng không còn gì xa la ̣ mà ngày càng đươ ̣c ưa chuô ̣ng để hướng đế n mô ̣t

ngành nông nghiêp̣ hoàn toàn tự đô ̣ng.
Tuy nhiên, viê ̣c ứng du ̣ng mô ̣t hê ̣ thố ng tự đô ̣ng vào viê ̣c chăm sóc và nuôi
trồ ng hoa chưa phổ biế n ở Viêṭ Nam. Chính vì những lý do đó, chúng em đã quyế t
đinh
̣ lựa cho ̣n đề tài: “Nghiên cứu hệ thống tưới hoa lan tự động sử dụng PLC S7
– 300” để làm đề tài cho học phần: Đồ án tự động hóa trong Công Nghiệp.
Vì kiến thức và thời gian hoàn thành báo cáo còn hạn hẹp nên kính mong thầy
thông cảm và bổ sung thêm những kiến thức em còn thiếu. Em xin chân thành
cảm ơn thầy Phạm Văn Hùng đã giúp đỡ chúng em hoàn thành đúng tiến độ báo
cáo này!
THAY MẶT NHÓM THỰC HIỆN
Em xin chân thành cảm ơn!

GVHD: Phạm Văn Hùng

Trang3


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

CHƯƠNG 1: GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 8051 VÀ PHẦN
MỀM VISUAL BASIC
1.1 Giới thiệu về vi điều khiển 8051
1.1.1 Tổng quan về họ 8051

Vi điều khiển 8051
Đặc tính
ROM trên chíp

RAM
Bộ định thời
Các chân vào - ra
Cổng nối tiếp
Nguồn ngắt

Số lượng
4K byte
128 byte
2
32
1
6

Bảng 1 : Các đặc tính cơ bản của 8051.
1.1.2 Bộ Vi điều khiển 8051
Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051. Hãng Intel ký hiệu
nó như là MCS51. Bảng 1 trình bày các đặc tính của 8051.
1.1.3 Các thành viên khác của họ 8051
Có hai bộ vi điều khiển thành viên khác của họ 8051 là 8052 và 8031.
a- Bộ vi điều khiển 8052

GVHD: Phạm Văn Hùng

Trang4


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội


Bộ vi điều khiển 8052 là một thành viên khác của họ 8051, 8052 có tất cả
các đặc tính chuẩn của 8051 ngoài ra nó có thêm 128 byte RAM và một bộ định
thời nữa. Hay nói cách khác là 8052 có 256 byte RAM và 3 bộ định thời. Nó cũng
có 8K byte ROM. Trên chíp thay vì 4K byte như 8051.
Đặc tính

8051

8052

8031

ROM trên chíp

4K byte

8K byte

OK

RAM

128 byte

256 byte

128 byte

Bộ định thời


2

3

2

Chân vào ra

32

32

32

Cổng nối tiếp

1

1

1

Bảng 2: so sánh các đặc tính của các thành viên họ 8051.
Như nhìn thấy từ bảng 2 thì 8051 là tập con của 8052. Do vậy tất cả mọi
chương trình viết cho 8051 đều chạy trên 8052 nhưng điều ngược lại là không
đúng.
b- Bộ vi điều khiển 8031
Một thành viên khác nữa của 8051 là chíp 8031. Chíp này thường được
coi như là 8051 không có ROM trên chíp vì nó có OK byte ROM trên chíp. Để sử

dụng chíp này ta phải bổ xung ROM ngoài cho nó. ROM ngoài phải chứa chương
trình mà 8031 sẽ nạp và thực hiện. So với 8051 mà chương trình được chứa trong
ROM trên chíp bị giới hạn bởi 4K byte, còn ROM ngoài chứa chương trinh được
gắn vào 8031 thì có thể lớn đến 64K byte. Khi bổ xung cổng, như vậy chỉ còn lại
2 cổng để thao tác. Để giải quyết vấn đề này ta có thể bổ xung cổng vào - ra cho
8031. Phối phép 8031 với bộ nhớ và cổng vào - ra chẳng hạn với chíp 8255 được
trình bày ở chương 14. Ngoài ra còn có các phiên bản khác nhau về tốc độ của
8031 từ các hãng sản xuất khác nhau.
1.2 Giới thiệu Kiến trúc Vi điều khiển 8051
1.2.1 Tổ chức bộ nhớ
Các vi điều khiển thuộc họ 8051 đều tổ chức thành 2 không gian chương trình
và dữ liệu, hình 1 và hình 2 sẽ mô tả điều này. Kiến trúc vi xử lý 8 bit của 8051
này cho phép truy nhập và tính toán nhanh hơn đối với không gian dữ liệu nhờ
GVHD: Phạm Văn Hùng

Trang5


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

việc phân chia 2 không gian bộ nhớ chương trình và dữ liệu như trên. Tuy nhiên
bộ nhớ ngoài được truy nhập bởi hệ thống 16 bit địa chỉ vẫn có thể thực hiện nhờ
thanh ghi con trỏ.

Bộ nhớ chương trình (ROM, EPROM) là bộ nhớ chỉ đọc, có thể mở rộng tối đa
64Kbyte. Với họ vi điều khiển 89xx, bộ nhớ chương trình được tích hợp sẵn trong
chip có kích thước nhỏ nhất là 4kByte. Với các vi điều khiển không tích hợp sẵn
bộ nhớ chương trình trên chip, buộc phải thiết kế bộ nhớ chương trình bên ngoài.

Ví dụ sử dụng EPROM: 2764 (64Kbyte), khi đó chân PSEN phải ở mức tích cực
(5V).

Hình 1: Cấu trúc vi điều khiển 89C51
Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chương trình. Họ vi điều
khiển 8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở
rộng với bộ nhớ dữ liệu ngoài lên tới 64kByte. Với những vi điều khiển không
tích hợp ROM trên chip thì vẫn có RAM trên chip là 128byte. Khi sử dụng RAM
ngoài, CPU đọc và ghi dữ liệu nhờ tín hiệu trên các chân RD và WR. Khi sử dụng
cả bộ nhớ chương trình và bộ nhớ dữ liệu bên ngoài thì buộc phải kết hợp chân
RD và PSEN bởi cổng logic AND để phân biệt tín hiệu truy xuất dữ liệu trên
ROM hay RAM ngoài.
Bộ nhớ chương trình:

GVHD: Phạm Văn Hùng

Trang6


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

Hình 2: Cấu trúc bộ nhớ chương trình
ctrình

Hình 3: Địa chỉ các ngắt trên bộ nhớ

Hình 2 mô tả cấu trúc bộ nhớ chương trình. Sau khi khởi động, CPU bắt đầu
thực hiện chương trình ở vị trí 0000H. Hình 3 mô tả địa chỉ ngắt mặc định trên

bộ nhớ chương trình. Mối khi xảy ra ngắt, con trỏ của CPU sẽ nhảy đến đúng địa
chỉ ngắt tương ứng và thực thi chương trình tại đó. Ví dụ ngắt ngoài 0 sẽ có địa
chỉ là 0003H, khi xảy ra ngắt ngoài 0 thì con trỏ chương trình sẽ nhảy đến đúng
địa chỉ 0003H để thực thi chương trình tại đó. Nếu trong chương trình ứng dụng
không xử dụng đến ngắt ngoài 0 thì địa chỉ 0003H vẫn có thể dùng cho mục đích
khác (sử dụng cho bộ nhớ chương trình).
Bộ nhớ dữ liệu:

Hình 4: Cấu trúc bộ nhớ dữ liệu
trong
GVHD: Phạm Văn Hùng

Hình 5: Cấu trúc bộ nhớ

Trang7


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

Hình 4 mô tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của họ vi điều
khiển 8051. CPU sẽ dùng đến các chân RD và WR khi truy cập đến bộ nhớ dữ
liệu ngoài.
Hình 5 mô tả cấu trúc bộ nhớ dữ liệu trong chip, được chia thành 3 khối là 128
byte thấp, 128 byte cao và 128 byte đặc biệt.

Hình 6: Cấu trúc 128 byte thấp của bộ nhớ dữ liệu
trong
Hình 6 mô tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều khiển

8051. 32 byte đầu tiên (00H-1FH) được sử dụng cho 4 bộ 8 thanh ghi R0-R7.
Hai bit của thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi
điều khiển sẽ dùng trong khi thực thi chương trình.
8051 chứa 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trong các byte ở
địa chỉ từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa trong các
thanh ghi đặc biệt. Ngoài ra 8051 còn có các port xuất/nhập có thể định địa chỉ
từng bit, điều này làm đơn giản việc giao tiếp bằng phần mềm với các thiết bị
xuất/nhập đơn bit.
Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H đến 7FH, bên
dưới vùng này từ địa chỉ 00H đến 2FH là vùng nhớ có thể được sử dụng tương tự.
Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất tự
do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.
Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy
xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.
Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc
biệt SFR chiếm phần trên của Ram nội từ địa chỉ 80H đến FFH. Cần lưu ý là
không phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ có 21
địa chỉ được định nghĩa.
1.2.2 Các thanh ghi đặc biệt

GVHD: Phạm Văn Hùng

Trang8


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

8051 có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram nội từ

địa chỉ 80H đến FFH. Cần lưu ý là không phải tất cả 128 địa chỉ từ 80H đến FFH
đều được định nghĩa mà chỉ có 21 địa chỉ được định nghĩa.
Thanh ghi chính:
Thanh ghi tính toán chính của vi điều khiển 8051 ACC (Accumulator). Là thanh
ghi đặc biệt của 8051 dùng để thực hiện các phép toán của CPU, thường kí hiệu
là A.
Thanh ghi phụ:
Thanh ghi tính toán phụ của vi điều khiển 8051 là B. Thanh ghi B ở địa chỉ
F0H được dùng chung với thanh chứa A trong các phép toán nhân, chia. Lệnh
MUL AB nhân 2 số 8 bit không dấu chứa trong A và B và chứa kết quả 16 bit
vào cặp thanh ghi B, A (thanh chứa A cất byte thấp và thanh ghi B cất byte cao).
Lệnh chia DIV AB chia A bởi B, thương số cất trong thanh chứa A và dư số
cất trong thanh ghi B. Thanh ghi B còn được xử lý như một thanh ghi nháp. Các
bit được định địa chỉ của thanh ghi B có địa chỉ từ F0H đến F7H.
Thanh ghi trạng thái chương trình (PSW):
Thanh ghi trạng thái chương trình PSW (địa chỉ: D0H) là thanh ghi mô tả toàn
bộ trạng thái chương trình đang hoạt động của hệ thống. Bảng 7 và Bảng 8 sẽ mô
tả thanh ghi này.
7

6

5

4

3

2


1

0

CY

AC

F0

RS1

RS0

OV

-

P

Bảng 7: Thanh ghi trạng thái chương trình PSW
Bit


Hiệu

Địa
Chỉ

Mô tả Bit


PSW.7

CY

D7H

Cờ nhớ (Carry Flag): được Set nếu có Bit nhớ từ
Bit 7 trong phép cộng hoặc có Bit mượn cho Bit 7
trong phép trừ.

PSW.6

AC

D6H

Cờ nhớ phụ: được Set trong phép cộng nếu có Bit
nhớ từ Bit 3 sang Bit 4 hoặc kết quả trong 4 Bit
thấp nằm trong khoảng 0AH->0FH.

GVHD: Phạm Văn Hùng

Trang9


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội


PSW.5

FO

D5H

Cờ O: dành cho người sử dụng.

PSW.4

RS1

D4H

Chọn dãy thanh ghi (Bit 1)

PSW.3

RS0

D3H

Chọn dãy thanh ghi (Bit 0)
00=Bank 0: Địa chỉ 00H->07H
01=Bank 1: Địa chỉ 08H->0FH
10=Bank 2: Địa chỉ 10H->17H
11=Bank 3: Địa chỉ 18H->1FH

PSW.2


OV

D2H

Cờ tràn (Overflow Flag): được Set khi phép toán
có dấu có kết quả > +127 hoặc < -128.

PSW.1

-

D1H

Chưa dùng

PSW.0

P

D0H

Cờ kiểm tra chẵn lẻ: được Set hoặc Clear bởi
phần cứng sau mỗi 1 chu kỳ lệnh, để chỉ ra rằng có
1 số chẵn hoặc số lẻ Bit 1 trong thanh chứa.

Bảng 8: Chi tiết các bit trong thanh ghi PSW
Thanh ghi ngăn xếp (Stack Pointer):
Con trỏ stack SP (stack pointer) là 1 thanh ghi 8 bit ở địa chỉ 81H. SP chứa địa
chỉ của dữ liệu hiện đang ở đỉnh của stack. Các lệnh liên quan đến satck bao gồm
lệnh cất dữ liệu vào stack và lệnh lấy dữ liệu ra khỏi stack. Việc cất vào stack làm

tăng SP trước khi ghi dữ liệu và việc lấy dữ liệu ra khỏi stack sẽ giảm SP. Vùng
stack của 8051 được giữ trong RAM nội và được giới hạn đến các địa chỉ truy
xuất được bởi kiểu định địa chỉ gián tiếp. Các lệnh PUSH và POP sẽ cất dữ liệu
vào stack và lấy dữ liệu từ stack, các lệnh gọi chương trình con (ACALL, LCALL)
và lệnh trở về (RET, RETI) cũng cất và phục hồi nội dung của bộ đếm chương
trình PC (Program counter)
Con trỏ dữ liệu DPTR:
Con trỏ dữ liệu DPTR (data pointer) được dùng để truy xuất bộ nhớ chương
trình ngoài hoặc bộ nhớ dữ liệu ngoài. DPTR là một thanh ghi 16 bit có địa chỉ là
82H (DPL, byte thấp) và 83H (DPH, byte cao).
GVHD: Phạm Văn Hùng

Trang10


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

Thanh ghi các cổng P0-P3:
Các port xuất/nhập của 8051 bao gồm Port 0 tại địa chỉ 80H, Port 1 tại địa chỉ
90H, Port 2 tại địa chỉ A0H và Port 3 tại địa chỉ B0H. Tất cả các port đều được
định địa chỉ từng bit nhằm cung cấp các khả năng giao tiếp mạnh.
Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer):
Bộ đệm truyền thông được chia thành hai bộ đệm, bộ đệm truyền dữ liệu và bộ
đệm nhận dữ liệu. Khi dữ liệu được chuyển vào thanh ghi SBUF, dữ liệu sẽ được
chuyển vào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho đến khi quá trình
truyền dữ liệu qua truyền thông nối tiếp kết thúc. Khi thực hiện việc chuyển dữ
liệu từ SBUF ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu của truyền
thông nối tiếp.

Thanh ghi của bộ định thời/bộ đếm:
8051 có 2 bộ đếm/định thời (counter/timer) 16 bit để định các khoảng thời gian
hoặc để đếm các sự kiện. Các cặp thanh ghi (TH0, TL0) và (TH1, TL1) là các
thanh ghi của bộ đếm thời gian. Bộ định thời 0 có địa chỉ 8AH (TL0, byte thấp)
và 8CH (TH0, byte cao). Bộ định thời 1 có địa chỉ 8BH (TL1, byte thấp) và 8DH
(TH1, byte cao).
Hoạt động của bộ định thời được thiết lập bởi thanh ghi chế độ định thời TMOD
(Timer Mode Register) ở địa chỉ 88H. Chỉ có TCON được định địa chỉ từng bit.

GVHD: Phạm Văn Hùng

Trang11


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

1.2 Giới thiệu về phần mềm Visual Basic

Visual basic là ngôn ngữ lập trình hướng đối tượng, mỗi đối tượng lập trình như
nút nhấn, textbox… sẽ có một chương trình riêng bên trong, các đối tượng này
có các thuộc tính và các phương thức riêng để hoạt động.

1.2.1 Cấu trúc của một ứng dụng Visual Basic
Một ứng dụng thật ra là một tập hợp các chỉ dẫn trực tiếp đến máy tính để thi
hành một hay nhiều tác vụ. Cấu trúc của một ứng dụng là phương pháp trong đó
các chỉ dẫn được tổ chức, đó là nơi chỉ dẫn được lưu giữ và thi hành những chỉ
dẫn trong một trình tự nhất định.
Vì một ứng dụng Visual Basic, trên cơ bản là những đối tượng, cấu trúc mã

đóng để tượng trưng cho những mô hình vật lý trên màn hình. Bằng việc định
nghĩa, những đối tượng chứa mã và dữ liệu. Form, cái mà chúng ta nhìn thấy
trên màn hình là tượng trưng cho những thuộc tính, quy định cách xuất hiện và
cách cư xử. Cho mỗi form trong một ứng dụng, có một quan hệ module form
(với tên file mở rộng là .frm) dùng để chứa đựng mã của nó.
Mỗi module chứa những thủ tục sự kiện – những đoạn mã, nơi đặt những chỉ
dẫn, cái sẽ được thi hành trong việc đáp ứng những sự kiện chỉ định. Form có
thể chứa những điều khiển. Tương ứng với mỗi điều khiển trên form, có một tập
hợp những thủ tục sự kiện trong module form đó.
1.2.2 Ứng dụng của Visual Basic
GVHD: Phạm Văn Hùng

Trang12


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

Tạo giao diện người sử dụng
Giao diện người sử dụng có lẽ là thành phần quan trọng nhất của một ứng
dụng. Đối với người sử dụng, giao diện chính là ứng dụng ; họ không cần chú ý
đến thành phần mã thực thi bên dưới. Ứng dụng của chúng ta có thể phổ biến
được hay không phụ thuộc vào giao diện.
Sử dụng những điều khiển chuẩn của Visual Basic
Ta dùng những điều khiển để lấy thông tin mà người sử dụng nhập vào, và để
hiển thị kết xuất. Những điều khiển mà ta có thể dùng trong ứng dụng bao gồm
hộp văn bản, nút lệnh, và hộp danh sách,…. Những điều khiển khác cho ta truy
xuất những ứng dụng khác, xử lý dữ liệu của nó như là một thành phần mã trong
ứng dụng của bạn.

Lập trình với những đối tượng.
Những đối tượng là thành phần chủ yếu để lập tình Visual Basic. Những đối
tượng có thể là form, những điều khiển hay cơ sở dữ liệu.
Lập trình với phần hợp thành
Chúng ta đôi khi cần sử dụng khả năng tính toán của Microsoft Excel trong
ứng dụng Visual Basic, hay định dạng một tài liệu sử dụng thanh công cụ định
dạng của Microsoft Word, hoặc lưu trữ và xử lý dữ liệu dùng Microsoft Jet…
Tất cả những điều này có thể thực hiện được bằng cách xây dựng những ứng
dụng của chúng ta sử dụng những thành phần ActiveX. Thêm vào đó, Visual
Basic có thể giúp chúng ta tạo ra những điều khiển ActiveX riêng.
Đáp ứng những sự kiện chuột và bàn phím
Những ứng dụng Visual Basic có thể đáp ứng một lượng lớn sự kiện chuột và
bàn phím. Ví dụ form, hộp ảnh, và những điều khiển ảnh có thể phát hiện vị trí
con trỏ chuột, có thể quyết định phím trái hay phím phải được nhấn, và có thể
đáp ứng những tổ hợp của phím chuột với phím Shift, Ctrl, hay Alt. Sử dụng
những điều khiển phím, ta có thể lập trình những điều khiển và form để đáp ứng
các hành động phím hoặc phiên dịch và xử lý mã Ascii của ký tự.
Thêm vào đó, những ứng dụng Visual Basic có thể hỗ trợ sự kiện rê và thả cũng
như tính năng rê và thả OLE.
GVHD: Phạm Văn Hùng

Trang13


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

Làm việc với văn bản và đồ họa.
Visual Basic cung cấp khả năng đồ họa và văn bản phức tạp trong ứng dụng.

Những thuộc tính văn bản có thể giúp ta nhấn mạnh các khái niệm quan trọng và
các chi tiết cần quan tâm. Thêm vào đó, Visual Basic cung cấp khả năng đồ họa
cho phép ta linh động trong thiết kế, bao hàm các hình ảnh động bằng cách hiển
thị một loạt các hình ảnh liên tiếp nhau.
Gỡ rối mã và quản lý lỗi
Đôi khi có những lỗi xảy ra bên trong mã của ứng dụng. Những lỗi nghiêm
trọng có thể là nguyên nhân một ứng dụng không đáp ứng lệnh, thông thường
yêu cầu người sử dụng khởi động lại ứng dụng, và không lưu lại những gì ta đã
làm. Quá trình tìm ra và sửa lỗi gọi là gỡ rối. Visual Basic cung cấp nhiều công
cụ giúp chúng ta phân tích ứng dụng làm việc như thế nào. Những công cụ gỡ
rối đặt biệt hữu ích trong việc tìm ra nguồn gốc lỗi, nhưng chúng ta cũng có thể
dùng những công cụ này để kiểm tra chương trình hoặc tìm hiểu những ứng
dụng khác nhau làm việc như thế nào.
Xử lý ổ đĩa, thư mục và file
Khi lập trình trong Windows, nó rất quan trọng để có khả năng thêm, di
chuyển, tạo mới hoặc xóa những thư mục và file, lấy thông tin về và xử lý ổ đĩa.
Visual Basic cho phép chúng ta xử lý ổ đĩa, thư mục và file bằng hai phương
pháp : qua những phương htức cũ như là điều lệnh Open, Write#, và qua một tập
hợp các công cụ mới như FSO (File System Object)
Thiết kế cho việc thi hành và tính tương thích
Visual Basic chia xẻ hầu hết những tính năng ngôn ngữ trong Visual Basic cho
những ứng dụng, bao gồm trong Microsoft Office và nhiều ứng dụng khác.
Visual Basic, VBScript, một ngôn ngữ script Internet, đều là tập hợp con của
ngôn ngữ Visual Basic.
Phân phối những ứng dụng
Sau khi tạo một ứng dụng Visual Basic, ta có thể tự do phân phối bất kỳ ứng
dụng nào đã tạo bằng Visual Basic đến bất cứ ai dùng Microsoft Windows. Ta
có thể phân phối ứng dụng trên đĩa, trên CD, qua mạng, trên intranet hoặc
Internet.
1.2.3 Các toán tử trong Visual Basic

GVHD: Phạm Văn Hùng

Trang14


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

Toán tử Ý nghĩa
> So sánh xem số thứ nhất có lớn hơn số thứ hai không.
< So sánh xem số thứ nhất có nhỏ hơn số thứ hai không.
= So sánh xem số thứ nhất có bằng số thứ hai không.
< > So sánh xem số thứ nhất có khác hơn số thứ hai không.
>= So sánh xem số thứ nhất có lớn hơn hay bằng số thứ hai không.
<= So sánh xem số thứ nhất có nhỏ hơn hay bằng số thứ hai không.
 Truyền thông nối tiếp của Visual basic.
- Việc truyền thông nối tiếp trên Windows được thực hiện thông qua một
ActiveX có sẵn là Microsoft Comm Control. ActiveX này được lưu trữ trong
file MSCOMM32.OCX. Quá trình này có hai khả năng thực hiện điều khiển
trao đổi thông tin:
- Điều khiển sự kiện: Truyền thông điều khiển sự kiện là phương pháp tốt
nhất trong quá trình điều khiển việc trao đổi thông tin. Quá trình điều khiển
thực hiện thông qua sự kiện OnComm.
- Hỏi vòng: Quá trinh điều khiển bằng phương pháp hỏi vòng thực hiện thông
qua kiểm tra các giá trị của thuộc tính CommEvent sau một chu kỳ nào đó để
xác định xem có sự kiện nào xảy ra hay không. Thông thường phương pháp
này sử dụng cho các chương trình nhỏ.
- ActiveX MsComm được bổ sung vào một Visual Basic Project thông qua
menu Project > Components:

- Biểu tượng của MsComm và các thuộc tính cơ bản mô tả như sau:

Settings:
Xác định các tham số cho cổng nối tiếp.
Cú pháp: MSComm1.Settings = ParamString
MSComm1: tên đối tượng
ParamString: là một chuỗi có dạng như sau: "BBBB,P,D,S"
BBBB: tốc độ truyền dữ liệu (bps) trong đó các giá trị hợp lệlà:
110

2400

300

9600(mặc định) 56000

600

14400

188000

1200

19200

256000

GVHD: Phạm Văn Hùng


38400

Trang15


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

P: kiểm tra chẵn lẻ, với các giá trị:
Giá trị

Mô tả

O

Kiểm tra lẻ

E

Kiểm tra chẵn

M

Luôn bằng 1

S

Luôn bằng 0


N

Không kiểm tra

D: số bit dữ liệu (4, 5, 6, 7 hay 8), mặc định là 8 bit trong khung truyền.
S: số bit stop (1, 1.5, 2) .

CommPort:
Xác định số thứ tự của cổng truyền thông, cú pháp:
MSComm1.CommPort = PortNumber
PortNumber là giá trị nằm trong khoảng từ 1 đến 99, mặc định là 1

PortOpen:
Đặt trạng thái hay kiểm tra trạng thái đóng / mở của cổng nối tiếp.Cú pháp:
MSComm1.PortOpen = True / False
Giá trị xác định là True sẽ thực hiện mở cổng và False để đóng cổng đồng
thời xoá nội dung của các bộ đệm truyền, nhận.

Các thuộc tính nhận dữ liệu:
Input: nhận một chuỗi ký tự và xoá khỏi bộ đệm. Cú pháp:
InputString = MSComm1.Input
Thuộc tính này kết hợp với InputLen để xác định số ký tự đọc vào. Nếu
InputLen = 0 thì sẽ đọc toàn bộ dữ liệu có trong bộ đệm.

Các thuộc tính xuất dữ liệu:Bao gồm các thuộc tính Output, chức năn
g của các thuộc tính này giống như
thuộc tính nhập.VD: MSComm1.Output=giá trị cần xuất ra.

CommEvent:
Trả lại các sự kiện xảy ra tại cổng nối tiếp như sau:

Sự kiện

Giá trị

GVHD: Phạm Văn Hùng

Mô tả
Trang16


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

ComEvSend

1

Đã truyền ký tự

ComEvReceive

2

Khi có ký tự trong bộ đệm nhận

ComEvCTS

3


Có thay đổi trên CTS (Clear To Send)

ComEvDSR

4

Có thay đổi trên DSR (Data Set Ready)

ComEvCD

5

Có thay đổi trên CD (Carrier Detect)

ComEvRing

6

Phát hiện chuông

ComEvEOF

7

Nhận ký tự kết thúc file



Sự kiện OnComm.


Sự kiện OnComm xảy ra bất cứ khi nào giá trị của thuộc tính CommEve
nt thay đổi. Các thuộc tính RThreshold và SThreshold = 1 sẽ cho phép sự kiện
OnComm khi thực hiện nhận hay gửi dữ liệu.

GVHD: Phạm Văn Hùng

Trang17


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

CHƯƠNG 2: THIẾT KẾ HỆ THỐNGTƯỚI HOA LAN TỰ
ĐỘNG SỬ DỤNG 8051

2.1 Sơ đồ khối của hệ thống

2.2 Xác định yêu cầu công nghệ
2.2.1 Đặc tính và các yếu tố sinh trưởng của hoa lan (hoa lan Oncidium)
Lan Oncidium có khoảng 400-600 loài, xuất xứ từ châu Mỹ và vùng cận nhiệt
đới. Cành hoa có thể lưu giữ được từ 35 đến 45 ngày. Điều đặc biệt là hoa có thể
nở tất cả các mùa trong năm. + Ánh sáng: Loài lan này ưa bóng mát. + Độ ẩm:
70% - 80%. Cách tưới nước: Rễ của lan vũ nữ rất nhỏ, nên bồn trồng phải nhỏ
hơn các loại khác. Mùa đông mỗi ngày tưới một lần. Mùa hè tưới ngày 2-3 lần
vào lúc sáng sớm và chiều mát. Nếu ngày nắng nóng và gió nhiều thì tăng thêm
một lần tưới. Di chuyển vòi phun nước qua một lượt rồi tưới trở lại để cho thấm
đều vào chất trồng. Cách tưới : vào lúc sáng sớm hoặc chiều mát. Oncidium là
giống Lan thích nghi được với biên độ sinh thái khá rộng, chúng có thể trồng được
ở khắp nơi: các tfnh phía Nam, phía Bắc và trên vùng cao nguyên. Nhiệt độ thích

hợp là từ 20 – 30oC.

GVHD: Phạm Văn Hùng

Trang18


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

2.2.2 Yêu cầu công nghệ của hệ thống
Từ các đặc tính sinh trưởng trên ta có thể suy ra yêu cầu công nghệ cho hệ thống
như sau:


Nếu:

+ Nhiệt độ t0> 300
Hoặc

Hệ thống quạt hoạt động để làm mát
hoặc giảm độ ẩm đến nhiệt độ hoặc độ
ẩm tiêu chuẩn thì tự động dừng

+ Độ ẩm H% > 80 %

 Nếu:
+ Nhiệt độ t0< 200


Hệ thống đèn sưởi hoạt động để làm
tăng nhiệt độ đến nhiệt độ tiêu chuẩn
thì dừng

 Nếu:
+ Độ ẩm H% < 70 %

GVHD: Phạm Văn Hùng

Hệ thống tưới hoạt động để đưa độ
ẩm đến độ ẩm tiêu chuẩn

Trang19


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

2.3 Tính chọn thiết bị và vẽ sơ đồ đấu dây
Ở hệ thống này, em sử dụng các thiết bị sau:







Vi xử lý AT89S52
Cảm biến nhiệt độ LM35

Cảm biến độ ẩm HS 1101
Đèn sưởi 12V/5A
Quạt 12V/5A
Bơm 12V/5A

2.3.1 Tìm hiểu về cảm biến nhiệt độ LM35

+ Giới thiệu cảm biến đo nhiệt độ LM35
 Đặc điểm:
- Dải nhiệt độ biến đổi: 0 -100oC
- Nhiệt độ ra thẳng thang đo Celcius nghĩa là ở 25 độ C, điện áp là 0,25V
- Tương ứng 10mV/độ C
- Đảm bảo độ chính xác 0,5 độ C tại nhiệt độ 25 độ C
- Làm việc với nguồn nuôi 4V đến 30V
- Trở kháng ra thấp 0,1ohm với tải 1mA
- Khả năng tự làm nóng thấp 0,08 độ C trong không khí

GVHD: Phạm Văn Hùng

Trang20


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội

Cách mắc: nối chân +Vs với nguồn và chân GND với đất, chân OUTPUT nối
với chân Vin+ của PLC
 Dải nhiệt độ và sự thay đổi trở kháng theo nhiệt độ của LM35
Các bộ biến đổi (Transducer) chuyển đổi các đại lượng vật lý ví dụ như

nhiệt độ, cường độ ánh sáng, lưu tốc và tốc độ thành các tín hiệu điện phụ thuộc
vào bộ biến đổi mà đầu ra mà tín hiệu có thể là dạng điện áp, dòng, trở kháng hay
dung kháng. Ví dụ, nhiệt độ được biến đổi thành các tín hiệu điện sử dụng một bộ
biến đổi gọi là Thermistor (bộ cảm biến nhiệt), một bộ cảm biến nhiệt đáp ứng sự
thay đổi nhiệt độ bằng cách thay đổi trở kháng nhưng đáp ứng của nó không tuyến
tính.
Bảng 2.1.Trở kháng của bộ cảm biến nhiệt theo nhiệt độ
Nhiệt độ (độ C)
0
25
50
75
100

Trở kháng của cảm biến (kΩ)
29.490
10.000
3.893
1.700
0.817

Bảng 2.2.Hướng dẫn chọn các loại cảm biến nhiệt họ LM35
Mã sản phẩm
LM35A
LM35
LM35CA
LM35C
LM35D

Dải nhiệt độ

-55°C to +150°C
-55°C to +150°C
-40°C to +110°C
-40°C to +110°C
0°C to +100°C

Độ chính xác
+1.0°C
+1.5°C
+1.0°C
+1.5°C
+2.0°C

Đầu ra
10mV/F
10mV/F
10mV/F
10mV/F
10mV/F

Loạt các bộ cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác
cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius.
GVHD: Phạm Văn Hùng

Trang21


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội


Chúng cũng không yêu cầu căn chỉnh ngoài vì vốn chúng đã được căn chỉnh.
Chúng đưa ra điện áp 10mV cho mỗi sự thay đổi 1°C.
 ADC0804

Sơ đồ chân của ADC0804

ADC0804 là bộ chuyển đổi tương tự sang số. Chíp có điện áp nuôi +5V và độ
phân giải 8bit gồm 20 chân:
 CS (Chip select): Chân số 1, là chân chọn Chip, đầu vào tích cực mức thấp
được sử dụng để kích hoạt Chip ADC0804. Để truy cập ADC0804
thì chân này phải ở mức thấp.
 RD (Read): Chân số 2, là một tín hiệu vào, tích cực ở mức thấp.Các bộ chuyển
đổi đầu vào tương tự thành số nhị phân và giữ nó ở một thanhghi trong.
RD được sử dụng để có dữ liệu đã được chyển đổi tới đầu ra của
ADC0804. Khi CS = 0 nếu có một xung cao xuống thấp áp đến chân RD thì
dữ liệu ra dạng số 8 bit được đưa tới các chân dữ liệu (DB0 – DB7).
 WR (Write): Chân số 3, đây là chân vào tích c ực mức thấp được dùng
để báo cho ADC biết bắt đầu quá trình chuyển đổi. Nếu CS = 0 khi WR tạo ra
xung cao xuống thấp thì bộ ADC0804 bắt đầu quá trình chuyển đổi giá trị đầu
vào tương tự Vin về số nhị phân 8 bit. Khi việc chuyển đổi hoàn tất thì chân
INTR được ADC hạ xuống thấp.
GVHD: Phạm Văn Hùng

Trang22


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội


 CLK IN và CLK R: CLK IN (chân số 4), là chân vào nối tới đồng hồ
ngoài được sử dụng để tạo thời gian. Tuy nhiên ADC0804 c ũng có một bộ tạo
xung đồng hồ riêng. Để dùng đồng hồ riêng thì các chân CLK IN và CLK R
(chân s ố 19) được nối với một tụ điện v à một điện trở (như hình vẽ). Khi đó
tần số được xác định bằng biểu thức:
F = 1/ 1.1RC
Với R = 10 kΩ, C = 150 pF và tần số f = 606 kHz và thời gian chuyển
đổi l à 110 µs

Ngắt INTR (Interupt): Chân số 5, là chân ra tích cực mức thấp. Bình
thường chân này ở trạng thái cao v à khi việc chuyển đổi hoàn tất thì nó xuống
thấp để báo cho CPU biết là dữ liệu chuyển đổi sẵn sàng để lấy đi. Sau khi
INTR xuống thấp, cần đặt CS = 0 và gửi một xung cao xuống thấp tới chân
RD để đưa dữ liệu ra.

Vin (+) và Vin (-): Chân số 6 và chân số 7, đây là 2 đầu vào tương tự
vi sai, trong đó V in = Vin(+) – Vin(-). Thông thường Vin(-) được nối tới đất
và Vin(+) được dùng làm đầu vào tương tự và sẽ được chuyển đổi về dạng số.

Vcc: Chân số 20, là chân nguồn nuôi +5V. Chân này còn được dùng
làm điện áp tham chiếu khi đầu vào Vref/2 để hở.

Vref/2: Chân số 9, là chân điện áp đầu vào được dùng làm điện áp
tham chiếu. Nếu chân này hở thì điện áp đầu vào tương tự cho ADC0804 nằm
trong dải 0 đến +5V.Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự điện
áp đến Chân Vref/2 được dùng để thực hiện các điện áp đầu ra khác 0 đến
+5V
Bảng 1 – Quan hệ điện áp V ref/2 với Vin
Vref/2 (V Vin (V)

Kích thước bước (mV)
)Hở
0–5
5/256 = 19.53
2.0
0–4
4/256 = 15.62
1.5
0–3
3/256 = 11.71
1.28
0 – 2.56 2.56/256 = 10
1.0
0–2
2/256 = 7.81
0.5
0–1
1/256 = 3.90
 D0 - D7: D0 - D7, chân số 18 – 11, là các chân ra dữ liệu số (D7 là
bit cao nhất MSB và D0 là bit thấp nhất LSB). Các chân này được đệm
ba trạng thái và dữ liệu đã được chuyển đổi chỉ được truy cập khi chân CS = 0
và chân RD đưa xu ống mức thấp.
GVHD: Phạm Văn Hùng

Trang23


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội


Để tính điện áp đầu ra ta tính theo công thức sau: Dout = Vin / Kích thước bước
2.3.2 Tìm hiểu về cảm biến độ ẩm HS1101
Trong các ứng du ̣ng hàng ngày, nhu cầ u theo dõi nhiêṭ đô ̣ và đô ̣ ẩ m ngày càng
trở nên phổ biế n và thiế t thực, chúng sử du ̣ng trong:
 Sản xuấ t và chế biế n nông nghiêp̣
 Hiể n thi ̣và thực thi điề u khiể n (qua ̣t gió, máy sấ y, điề u hòa… hay báo
đô ̣ng)
 Datalog dữ liêụ về môi trường ta ̣i mô ̣t khu vực…
 Theo dõi môi trường, chế đô ̣ làm viê ̣c của mô ̣t số dây truyề n, thiế t bi co
̣ ́
yêu cầ u cao.
Trên thi trươ
̣
̀ ng có rấ t nhiề u loa ̣i cảm biế n đô ̣, nhiêṭ đô ̣: SHT75, SHT11,
HS1101… với đô ̣ chin
́ h xác và giá thành khác nhau. Tuy nhiên, để đa ̣t tiêu chí
kinh tế và đô ̣ chính xác yêu cầ u với hê ̣ thố ng thì cảm biế n đô ̣ ẩ m HS1101 là tố i
ưu nhấ t, với đô ̣ chiń h xác về đô ̣ ẩ m 2%RH.

Cảm biế n độ ẩm HS1101

GVHD: Phạm Văn Hùng

Trang24


Đo lường và Điều khiển bằng MT

Trường Đại Học Công nghiệp Hà Nội


+ Kích thước cảm biế n

+ Cấ u tạo cơ bản và nguyên lý hoạt động.
Cảm biến HS1101 cơ bản là 1 tụ biến dung theo độ ẩm. Khi độ ẩm thay đổi, điện
dung của HS1101 thay đổi. Do vậy, để đo được độ ẩm người ta thiết kế mạch đo
điện dung của HS1101.
Trong thực tế, người ta thường ghép nối HS1101 và IC NE555. Khi đó giá trị điện
dung của HS1101 thay đổi thì làm thay đổi tần số đầu ra của IC555. Như vậy chỉ
cần đo tần số đầu ra là có thể đo được điện dung của HS1101. Giá trị điện dung
của HS1101 thay đổi thì làm thay đổi tần số đầu ra của IC55 bài toán của chúng
ta bây giờ chính là đo tần số tại đầu ra của 555 từ đó tham chiếu đến datasheet của
HS1101 để tìm ra độ ẩm hiện tại.
Nguyên lý mạch là tạo ra dao động và tần số thay đổi tương ứng theo giá trị điện
dung hay chính là độ ẩm môi trường.

GVHD: Phạm Văn Hùng

Trang25


×