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

Thiết kế và thi công mạch đo nhiệt độ đa điểm dùng PIC16f887 và IC DS18b20

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.61 MB, 40 trang )

Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

LỜI CẢM ƠN
Em xin chân thành cảm ơn quý thầy cô trong bộ môn điện tử công nghiệp đã trang bị
cho em đầy đủ kiến thức để em có khả năng nghiên cứu và làm đồ án này.
Đặc biệt em xin chân thành cảm ơn Thầy hướng dẫn, Thạc Sỹ Trương Ngọc Anh đã tận
tình giúp đỡ trong quá trình em lựa chọn đề tài và hỗ trợ em trong quá trình thực hiện đồ án
Tuy đã cố gắng hết sức nhưng do kiến thức còn thiếu xót cũng như chưa có kinh nghiệm
trong việc thiết kế và thi công mạch điện nên đề tài còn nhiều mặt hạn chế. Kính mong nhận
được góp ý tận tình của thầy cô.
Em xin chân thành cảm ơn !

NHẬN XÉT CỦA GVHD
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Ngày … tháng … năm 2015
GVHD


SVTH: Châu Huỳnh Tài

1


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

LỜI CAM ĐOAN
Em xin cam đoan đây là nghiên cứu của em, toàn bộ những kết quả nêu trong đồ án
môn học đều là công sức do em tự thiết kế và thi công.
Tp. Hồ Chí Minh, ngày…tháng…năm 2015.
( ký tên và ghi rõ họ tên )
………………………..

SVTH: Châu Huỳnh Tài

2


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

MỤC LỤC
Đề Mục

Trang

Chương 1: GIỚI THIỆU YÊU CẦU – GIỚI HẠN ............................................................. 5
1.1.

1.2.

Giới thiệu ........................................................................................................ 5
Giới hạn .......................................................................................................... 5

Chương 2: THIẾT KẾ .......................................................................................................... 6
2.1. Giới thiệu ........................................................................................................ 6
2.2. Sơ đồ khối....................................................................................................... 6
2.2.1. Thiết kế sơ đồ nguyên lý ............................................................................ 7
a. Khối cảm biến ds18b20 .............................................................................. 7
b. Khối lcd16x2 .............................................................................................. 12
c. Khối vđk pic16f887.................................................................................... 14
d. Khối relay-optotriac ................................................................................... 17
e. Khối nguồn 5v ............................................................................................ 19
f. Khối tải 220v .............................................................................................. 20
2.2.2. Sơ đồ nguyên lý toàn mạch ........................................................................ 20
a. Sơ đồ........................................................................................................... 20
b. Giải thích sơ đồ .......................................................................................... 22
2.2.3. Lưu đồ và chương trình .............................................................................. 22
a. Yêu cầu điều khiển ..................................................................................... 22
b. Lưu đồ ........................................................................................................ 22
c. Chương trình .............................................................................................. 25
d. Các lệnh và chức năng ............................................................................... 31
Chương 3: THI CÔNG MẠCH ............................................................................................ 32
3.1. Vẽ sơ đồ nguyên lý ......................................................................................... 32
3.1.1. Giới thiệu phần mềm .................................................................................. 32
3.1.2. Các linh kiện sử dụng ................................................................................. 32
3.2. Vẽ PCB ........................................................................................................... 33
3.3. Gia công, lắp ráp, kiểm tra lỗi ........................................................................ 35
Chương 4: KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN ........................................................ 36

4.1.
4.2.
4.3.

Kết quả thực hiện ........................................................................................... 36
Kết luận .......................................................................................................... 36
Hướng phát triển............................................................................................. 36

TÀI LIỆU THAM KHẢO .................................................................................................... 37
PHỤ LỤC ............................................................................................................................. 38

SVTH: Châu Huỳnh Tài

3


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

LỊCH TRÌNH THỰC HIỆN

SVTH: Châu Huỳnh Tài

4


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

Chương 1:

GIỚI THIỆU YÊU CẦU – GIỚI HẠN CỦA ĐỀ TÀI
1.1. GIỚI THIỆU:
Trong cuộc sống hiện nay, có rất nhiều yếu tố ảnh hưởng tới quá trình sản xuất, sự tiện
nghi trong cuộc sống và đặc biệt là về sự an toàn đối với mỗi người. Trong đó yếu tố nhiệt độ
gây ảnh hưởng rất lớn. Trong sản xuất, nếu nhiệt độ môi trường quá cao sẽ dễ gây ra cháy nổ,
hỏng hóc trang thiết bị,… Còn trong cuộc sống thường ngày, nhiệt độ cũng ảnh hưởng đến sự
thoải mái, tiện nghi của con người, bên cạnh đó cuộc sống của con người cũng bị đe dọa do
cháy nổ mà không được báo động và kiểm soát kịp thời. Do đó, sự ra đời của các thiết bị đo
và kiểm soát nhiệt độ là một vấn đề tất yếu. Cùng với sự phát triển mạnh mẽ của khoa học kỹ
thuật, hiện nay, việc chế tạo ra một thiết bị đo và kiểm soát nhiệt độ với độ chính xác cao không
còn là một việc khó khăn nữa.
Để đo nhiệt độ, hiện nay trên thị trường có rất nhiều loại cảm biến đo nhiệt độ với độ
chính xác cao điển hình là LM35, DS18b20, các cảm biến này có kích thước nhỏ gọn và rất dễ
sử dụng.

1.2. GIỚI HẠN:
Với quy mô đồ án môn học 2, nên đề tài sẽ còn một số giới hạn :
-

Đồ án chỉ sử dụng 2 cảm biến DS18b20
Dùng các bóng đèn AC 220v để thay thế cho các thiết bị công suất như động cơ, máy
điều hòa, máy bơm nước,….
Hiển thị trên màn hình LCD 16x2.

SVTH: Châu Huỳnh Tài

5


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM

BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

Chương 2:
THIẾT KẾ
2.1. GIỚI THIỆU:
Với mạch đo nhiệt độ sử dụng cảm biến một dây DS18B20 ta có thể cùng lúc đo nhiệt
độ ở nhiều nơi mà không giới hạn về số lượng cảm biến.
Theo giới hạn của đề tài, đồ án sẽ sử dụng 2 cảm biến DS18B20. 2 cảm biến này được
đặt ở 2 vị trí khác nhau và tín hiệu được đưa về chip vi xử lý PIC16F887. Nhiệt độ đo được
sẽ được chuyển đổi và hiển thị ra màn hình LCD 16x2 đồng thời dựa vào nhiệt độ tham
chiếu của mỗi cảm biến sẽ điều khiển một bóng đèn AC 220V.

2.2. THIẾT KẾ SƠ ĐỒ KHỐI:
Theo yêu cầu của đề tài thì sơ đồ khối được thiết kế như sau:
KHỐI
CẢM
BIẾN
DS18B2

KHỐI HIỂN
THỊ LCD

KHỐI

16X2

VI XỬ LÝ
PIC16F887
KHỐI
RELAY

OPTOTRIAC

KHỐI
NGUỒN
5V-12V

KHỐI ĐÈN
AC 220V

Chức năng từng khối:
 Khối nguồn: có chức năng cấp nguồn cho toàn bộ mạch để hoạt động.
 Khối cảm biến DS18B20: có chức năng thu tín hiệu nhiệt độ từ môi trường.
 Khối vi xử lý PIC16F887: có chức năng nhận tín hiệu nhiệt độ từ khối cảm biến
DS18B20, xử lý tín hiệu nhiệt độ đó, hiển thị nhiệt độ ra LCD16x2, cài đặt nhiệt độ
tham chiếu để điều khiển đóng/cắt khối Relay-Optotriac.
 Khối hiển thị LCD16x2: hiển thị nhiệt độ cảm biến đo được, hiển thị nhiệt độ tham
chiếu cài đặt, hiển thị trạng thái ON/OFF của đèn AC220V.
 Khối Relay-optotriac: có chức năng là thiết bị trung gian để điều khiển đèn AC220V.
 Khối đèn AC 220v: kết nối đèn AC 220V với lưới điện 220V và được điều khiển
đóng/cắt bởi khối Relay-optotriac.
SVTH: Châu Huỳnh Tài

6


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

2.2.1.THIẾT KẾ SƠ ĐỒ NGUYÊN LÝ:
a. KHỐI CẢM BIẾN DS18B20:

Đặc điểm và thông số:
-

-

Sử dụng giao diện 1-Wire nên chỉ cần có một chân ra để truyền thông.
Giải đo nhiệt: -55’C đến +125’C (sai số 0.5’C khi nhiệt độ từ -10’C đến 85’C)
Độ phân giải khi đo nhiệt độ từ 9 đến 12 bit
Nguồn cấp từ 3.0V đến 5.5V và có thể cấp qua đường dữ liệu.
Mỗi vi mạch DS18B20 có mã nhận diện lên đến 64 bit chứa trong bộ nhớ ROM trên
chip, giá trị nhị phân được khắc bằng tia laze, nên nhiều vi mạch DS18B20 có thể kết
nối vào một bus 1-Wire mà không có sự nhầm lẫn.
Thời gian chuyển đổi tối đa là 750ms cho mã hóa 12 bit.
Sơ đồ chân:

Hình 2.1 : Sơ đồ chân DS18B20.
Tổng quan:
Đầu đo nhiệt độ DS18B20 đưa ra số liệu để biểu thị nhiệt độ đo được dưới dạng mã nhị
phân từ 9 đến 12 bit.

SVTH: Châu Huỳnh Tài

7


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Sơ đồ khối của DS18B20:

Hình 2.2: Sơ đồ khối DS18B20.

-

Mã 64 bit trong ROM: Mỗi cảm biến nhiệt DS18B20 có một dãy mã 64 bit duy nhất
được lưu trữ trong bộ nhớ ROM được khắc bằng kĩ thuật laze.

Hình 2.3: Mã 64bit ROM duy nhất của mỗi DS18B20.
 8 bit đầu là mã định danh họ một dây, mã của DS18B20 là 28h.
 48 bit tiếp theo là mã xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS18B20 chỉ
có một mã.
 8 bit cuối có ý nghĩa nhất là byte mã kiểm tra CRC (cyclic redundancy check),
byte này được tính toán từ 56 bit đầu tiên của dãy mã trên ROM.
Bộ nhớ SCRATCHPAD: Bộ nhớ DS18B20 bao gồm 9 thanh ghi 8 bit.

Hình 2.4: bộ nhớ SCRATCHPAD của DS18B20.
SVTH: Châu Huỳnh Tài

8


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
 Byte 0 và 1 chứa LSB, MSB của thanh ghi nhiệt độ. Byte này chỉ đọc.

Hình 2.5: Thanh ghi nhiệt độ
 Byte 2, 3: Cập nhật thanh ghi TH và TL, lưu giá trị nhiệt độ ngưỡng.

Hình 2.6: Thanh ghi nhiệt độ ngưỡng.
 Byte 4: Chứa dữ liệu của thanh ghi cấu hình hoạt động của DS18B20
(Configuration Register).


Hình 2.7: Thanh ghi cấu hình hoạt động.
 Byte 5, 6 và 7 không sử dụng.
 Byte 8: thanh ghi chỉ đọc và chứa mã kiểm tra CRC từ byte 0 đến byte 7.
Dữ liệu trong byte 2,3,4 được ghi thông qua lệnh Write Scratchpad [4Eh] và dữ liệu
được truyền đến DS18B20 với bit LSB của byte 2, sau khi ghi dữ liệu có thể được đọc lại thông
qua lệnh Read Scratchpad [BEh] và khi đọc Scratchpad thì bit LSB của byte 0 sẽ được gửi đi
trước tất cả các byte đều được đọc, nhưng chỉ ghi được byte 2,3 và 4. Để chuyển giá trị TH và
TL từ bộ nhớ vào EEPROM thì cần gửi lệnh Copy Scratchpad [48h] đến DS18B20. Và dữ liệu
từ EEPROM cũng có thể được chuyển vào thanh ghi TH, TL thông qua lệnh Recall E2 [B8h].
SVTH: Châu Huỳnh Tài

9


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Phương thức giao tiếp:
Việc trao đổi dữ liệu giữa VĐK và DS18B20 thông qua 3 bước:
-

-

Bước 1: Khởi tạo xung reset và nhận tin hiệu hiện từ DS18B20.
Quá trình khởi tạo bao gồm 1 xung reset do VĐK gửi đến DS18B20, sau đó xung
presence từ DS18B20 gửi đến VĐK, để báo hiệu cho VĐK biết sự hiện diện của
DS18B20, và quá trình hoạt động trao đỏi dữ liệu có thể bắt đầu.
Bước 2: Lệnh điều khiển ROM
Các lệnh này làm việc với mã 64 bit trong ROM, lệnh này được phát ra sau quá trình
khởi tạo. Lệnh cho phép VĐK biết có bao nhiêu thiết bị và thiết bị loại gì trên bus.


Có 5 lệnh ROM: READ ROM (33h), MATCH ROM (55h), SKIP ROM (CCh), SEARCH
ROM (F0h), ALARM SEARCH (ECh).
READ ROM (33h): Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao
gồm: 8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC. Lệnh này chỉ
dùng khi trên bus có 1 cảm biến DS1820, nếu không sẽ xảy ra xung đột trên bus do tất cả các
thiết bị tớ cùng đáp ứng.
MATCH ROM (55h): Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép
bộ điều khiển bus chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến
DS1820 cùng nối vào. Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit
vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo. Còn các cảm biến DS1820 có
64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset. Lệnh này được sử dụng cả trong
trường hợp có một cảm biến một dây, cả trong trường hợp có nhiều cảm biến một dây.
SKIP ROM (CCh): Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh
bộ nhớ của DS1820 mà không cần gửi chuỗi mã 64 bit ROM. Như vậy sẽ tiết kiệm được thời
gian chờ đợi nhưng chỉ mang hiệu quả khi trên bus chỉ có một cảm biến.
SEARCH ROM (F0h): Lệnh này cho phép bộ điều khiển bus có thể dò tìm được số
lượng thành viên tới đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng
bằng một chu trình dò tìm.
ALARM SEARCH (ECh): Tiến trình của lệnh này giống hệt như lệnh Search ROM,
nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo
nhiệt độ cuối cùng. Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo được lớn
hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã
được đặt trên thanh ghi trong bộ nhớ của cảm biến.
Lưu ý: Nếu ta chỉ thực hiện đo nhiệt đọ và hiển thị nhiệt độ đơn giản với IC DS18B20
thì có thể bỏ qua các lệnh: MATCH ROM, SEARCH ROM, ALARM SEARCH,…
-

Bước 3: Lệnh chức năng DS18B20
Sau khi VĐK định địa chỉ thiết bị cần giao tiếp thông qua các lệnh ROM, VĐK sẽ gửi
các lệnh điều khiển hoạt động của DS18B20. Những lệnh này cho phép VĐK ghi và


SVTH: Châu Huỳnh Tài

10


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
đọc dữ liệu từ bộ nhớ Scratchpad của DS18B20, bắt đầu quá trình chuyển đổi nhiệt độ
và xác định chế độ cấp nguồn.
Có 6 lệnh chức năng DS18B20: WRITE SCRATCHPAD (4Eh), READ
SCRATCHPAD (BEh), COPYSCRATCHPAD (48h), CONVERT T (44h), READ
POWER SUPPLY (B4h), RECALL E2 (B8h)
WRITE SCRATCHPAD (4Eh): Lệnh này cho phép ghi 3 byte dữ liệu vào bộ nhớ
nháp của DS1820. Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte
thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp). Byte thứ 3 được ghi vào thanh
ghi cấu hình (byte 4). Dữ liệu truyền theo trình tự đầu tiên là bit thấp nhất đầu tiên. Cả ba byte
này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc khi có dữ liệu khác xuất
hiện.
READ SCRATCHPAD (BEh): Lệnh này cho phép VĐK đọc nội dung bộ nhớ nháp.
Quá trình đọc bắt đầu từ bit LSB của byte 0 và tiếp tục cho đến byte thứ 9 (byte 8 – CRC).
Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như
chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc.
COPYSCRATCHPAD (48h): Lệnh này copy nội dung của 3 thanh ghi TH và TL, cấu hình
Configuration (byte 2, byte 3 và byte 4) vào bộ nhớ EEPROM. Nếu cảm biến được sử dụng
trong chế dộ cấp nguồn l bắt đầu việc đo.
CONVERT T (44h): Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt
độ thành số (nhị phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh
ghi nhiệt độ 2 byte trong bộ nhớ nháp. Thời gian chuyển đổi không quá 200 ms, trong thời gian
đang chuyển đổi nếu thực hiện lệnh đọc thì các giá trị đọc ra đều bằng 0.

READ POWER SUPPLY (B4h): Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820
đang sử dụng chế độ cấp nguồn như thế nào, giá trị đọc được bằng 0 nếu cấp nguồn bằng chính
đường dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng.
RECALL E2 (B8h): Lệnh này sẽ lấy giá trị của 2 thanh ghi TH và TL và thanh ghi cấu
hình từ trong EEPROM ra bộ nhớ nháp.
Kết nối với VĐK và đấu mạch cảm biến:

Hình 2.8: Cách kết nối DS18B20 với VĐK.
SVTH: Châu Huỳnh Tài

11


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Sơ đồ kết nối :

Hình 2.9: sơ đồ kết nối cảm biến với PIC16F887

b. KHỐI HIỂN THỊ LCD16x2:
Giới thiệu LCD16x2:
LCD có rất nhiều dạng, phân biệt theo kích thước, từ vài kí tự đến vài chục kí tự, từ vài
hàng đến vài chục hàng. Ví dụ LCD16x2 có nghĩa là LCD có 2 hàng và mỗi hàng chứa được
16 kí tự, tương tự ta có các LCD20x4, LCD32x2, LCD40x2, v.v…

Hình 2.10 : LCD16x2 trong thực tế.

Sơ đồ chân của LCD 16x2:
Pin No


Name

I/O

Description

1

Vss

Power

GND

2

Vdd

Power

5V

3

Vo

Analog

Contrast Control


4

RS

Input

Register Select

5

R/W

Input

Read/Write

6

E

Input

Enable

SVTH: Châu Huỳnh Tài

12


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM

BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
7

D0

I/O

Data LSB

8

D1

I/O

Data

9

D2

I/O

Data

10

D3

I/O


Data

11

D4

I/O

Data

12

D5

I/O

Data

13

D6

I/O

Data

14

D7


I/O

Data MSB

Bảng 2.1: Các chân của LCD
Trong 14 chân của LCD được chia làm 3 dạng tín hiệu như sau:
 Các chân cấp nguồn: chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối với nguồn
+5V. Chân thứ 3 để chỉnh contrast, thường được nối vơi biến trở.
 Các chân điều khiển: chân số 4 là chân RS dùng để điều khiển lựa chọn thanh ghi. Chân
R/W dùng để điểu khiển quá trình đọc và ghi. Chân E là chân cho phép dạng xung chốt.
 Các chân dữ liệu từ D0 đến D7: chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ
liệu giữa VĐK và LCD.
Chức năng:
Hiển thị nhiệt độ đo được, cảm biến đang được chọn và nhiệt độ tham chiếu cài đặt.
Sơ đồ nguyên lý khối LCD:

Hình 2.11: Sơ đồ kết nối LCD
SVTH: Châu Huỳnh Tài

13


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

c. KHỐI VI ĐIỀU KHIỂN PIC16F887:
Chức năng : nhận tín hiệu nhiệt độ từ Khối cảm biến DS18B20, xử lý tín hiệu nhiệt độ
nhận được, điều khiển các thiết bị ngoại vi theo yêu cầu đề tài và điều khiển các thông tin hiển
thị trên khối hiển thị LCD 16x2.

Sơ đồ chân và hình dạng thực tế:

Hình 2.12: Sơ đồ chân PIC16F887.

Hình 2.13 : Hình dạng thực tế PIC16F887.

Giới thiệu sơ lược về Vi điều khiển PIC16F887.
PIC16F887 là vi điều khiển thuộc họ PIC16xxxx với tập lệnh bao gồm 35 lệnh có độ
dài 14bits. Mỗi lệnh đều được thực hiện trong 1 chu kỳ xung clock. Tốc độ tối đa cho phép là
20MHz, với mỗi chu kỳ xung clock là 200ns. Bộ nhớ flash chương trình là 8192 words, bộ
nhớ dữ liệu là 368 bytes SRAM và 256 bytes EEPROM. Có 5 PORT xuất nhập được bố trí
trên 33 chân I/O.

SVTH: Châu Huỳnh Tài

14


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Các đặc tính ngoại vi bao gồm các khối chức năng:
-

Timer0: bộ nhớ 8 bits với bộ chia tần số 8 bits.
Timer1: bộ nhớ đếm 16 bits với bộ chia tần số có thể thực hiện chức năng đếm dựa vào
xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
Timer2: bộ đếm 8 bits với bộ chia tần số, bộ postcaler.
2 bộ capture/ so sánh/ điều chế độ rộng xung.
Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), ISP và I2C.
Chuẩn giao tiếp nối tiếp UART với 9 bits địa chỉ.

Cổng giao tiếp song song PSP ( Parallel Slave Port) với các chân điều khiển RD, WR,
CSở bên ngoài.

Các đặc tính Analog:
-

14 kênh chuyển đổi ADC 10bits.
2 bộ so sánh.

Một số tính năng khác :
-

-

Bộ nhớ flash có khả năng ghi/xóa 100 000 lần.
Bộ nhở EEPROM có khả năng ghi xóa 1 tỷ lần.
Dữ liệu bộ nhớ EEPROM có khả năng lưu trữ trên 40 năm.
Khả năng tự nạp chương trình với sự điểu khiển của phần mềm.
Nạp chương trình ngay trên mach điện ICSP ( In Circuit Serial Progamming) thông qua
2 chân ICSPCLK và ICSPDAT.
Watchdog timer với bộ giao động trong.
Chức năng bảo mật mã chương trình.
Chế độ sleep.
Có thể hoạt đông với nhiều dang Oscillator khác nhau.

SVTH: Châu Huỳnh Tài

15



Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Sơ đồ khối Vi điều khiển PIC16F887:

Hình 2.14 : Sơ đồ khối PIC16F887

SVTH: Châu Huỳnh Tài

16


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Các cổng I/O của PCI16F887:
-

-

-

-

Port A: có 6 bits, tương ứng với 6 chân từ RA0 đến RA5. Các bit ở thanh ghi TRISA
sẽ xác định các chân là IN hay OUT. Ngoài ra, các chân ở PORTA còn là các chân
ANALOG.
Port B: có độ rộng là 8 bit với các chân tương ứng từ B0 đến B7. Ngoài ra, một số chân
ở PORT B cũng mang chức năng là chân ANALOG. Các bit trên thanh ghi TRISB sẽ
quyết định IN/OUT của chân tương ứng.
Port C: Rộng 8 bit với các chân tương ứng từ RC0 đến RC7. Các bit trên thanh ghi
TRISC sẽ quyết định IN/ OUT cho các chân tương ứng. Các chân RC3 và RC4 dùng để

kết nối, truyền/nhận thông tin với các thiết bị ngoại vi.
Port D: có 8 bit với các chân tương ứng từ RD0 đến RD7. Các bit trên thanh ghi TRISD
sẽ quyết định IN/OUT cho các chân tương ứng.
Port E: Chỉ có 4 bit từ RE0 đến RE3. Port C có thể là đầu vào điều khiển I/O khi bit
TRISE được xác lập. Ngoài ra, các chân ở Port E cũng là các chân Analog.

d. KHỐI RELAY – OPTOTRIAC3020:
-

Relay:
Chức năng: dùng để điều khiển tải đèn 220v bằng tín hiêu từ PIC16F887.

Hình 2.15: hình ảnh thực tế của relay 5V – 250V/10A.

Hình 2.16: Cấu tạo của relay
SVTH: Châu Huỳnh Tài

17


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Sơ đồ nguyên lý:

Hình 2.17: Sơ đồ kết nối relay
-

Optotriac MOC3020:
Chức năng:
Dùng để cách ly tín hiệu điều khiển với điện áp lưới 220v


Hình 2.18: hình ảnh thực tế.

Hình 2.19: cấu tạo MOC3020

SVTH: Châu Huỳnh Tài

18


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Sơ đồ kết nối với PIC16F887

Hình 2.20: sơ đồ kết nối.

e. KHỐI NGUỒN 5V:
Chức năng:
Cung cấp nguồn cho toàn bộ mạch điện.
Linh kiện sử dụng:
-

Về điện áp :Theo thiết kế, tất cả các linh kiện trong mạch điện đều sử dụng nguồn 5V
nên chỉ cần 1 nguồn 5V là đủ sử dụng.
Về dòng điện:
+ DS18B20 : dòng điện ở chế độ hoạt động là 1,5 mA
+ LCD16x2: dòng điện tối đa cần cung cấp là

5𝑉
220Ω


+ LED nguồn : dòng điện tối đa cần cung cấp là

≃ 24𝑚𝐴
5𝑉

10000Ω

≃ 0.5𝑚𝐴

+ Transistor NPN C1815: ở chế độ bảo hòa có Icmax = 100mA, Ibmax = 10mA
+ PIC16F887: dòng điện cần cung cấp vào khoảng 100mA
 Nhìn chung, ta có thể thấy rằng dòng điện toàn mạch cần dùng chưa tới 1A. Dựa vào 2
yếu tố trên, ta chọn IC ổn áp LM7805 làm IC ổn định nguồn cho toàn mạch.
Hình ảnh thực tế và sơ đồ chân LM7805:

Hình 2.21: LM7805
SVTH: Châu Huỳnh Tài

19


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V
Sơ đồ nguyên lý mạch nguồn:

Hình 2.22: sơ đồ nguyên lý mạch nguồn.

f. KHỐI TẢI
Đèn 220V được nối trực tiếp với lưới điện dân dụng.


2.2.2.SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH
a. SƠ ĐỒ
SƠ ĐỒ NGUYÊN LÝ

SVTH: Châu Huỳnh Tài

20


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

Sơ đồ nguyên lý

SVTH: Châu Huỳnh Tài

21


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

b. GIẢI THÍCH SƠ ĐỒ NGUYÊN LÝ
Nguồn điện từ LM7805 sẽ cung cấp nguồn điện cho toàn mạch hoạt động. Tín hiệu
nhiệt độ sẽ được lấy từ 2 cảm biến và đưa vào PIC16F887 qua chân RA0. Tại Vi điều khiển
PIC16F887, tín hiêu nhiệt độ sẽ được chuyển đổi thành số thập phân và hiển thị ra màn hình
LCD16x2. 3 nút chức năng làm nhiệm vụ chọn cảm biến cần đo và điều chình nhiệt độ tham
chiếu, tín hiệu nhiệt độ sau khi được chuyển đổi sẽ được so sánh với nhiệt độ tham chiếu để
điều khiển relay và optotriac đóng/cắt. 2 đèn tín hiệu Channel1 và Channel2 sẽ thông báo cho

ta biết là DS18b20 nào đang được chọn.

2.2.3.LƯU ĐỒ VÀ CHƯƠNG TRÌNH:
a. YÊU CẦU ĐIỀU KHIỂN:
-

Sử dụng 2 cảm biến DS18B20 mắc cùng 1 dây tín hiệu.
Điều chỉnh được nhiệt độ tham chiếu.
So sánh nhiệt độ đo được với giái trị nhiệt độ tham chiếu để điều khiển đèn 220V tương
ứng với cảm biến.
Chỉ đọc tín hiện trực tiếp, không cần cài đặt ngưỡng đo.

b. LƯU ĐỒ:

SVTH: Châu Huỳnh Tài

22


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

Begin

Cấu hình cổng
Đặt mode = 0, đặt tcc = 35

Khởi tạo LCD

Đọc giá trị nhiệt

độ từ DS18b20

4

Nút mode
đc nhấn

S

Đ

Mode = mode ++

S

Mode >= 2

Đ

Mode = 0
Đ
S

S

Mode = 0

SVTH: Châu Huỳnh Tài

Mode = 1


23

1

2

3


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

1

2

Đọc DS18B20 thứ I, Bật
đèn Channel I

Đọc DS18B20 thứ II, Bật
đèn channel 2

S

Nhấn
nút UP

S


Nhấn nút
DOWN

Nhấn
nút UP

Đ

Đ

Tăng giá trị tham
chiếu lên 1

Đ

Tăng giá trị tham
chiếu lên 1

S

Giảm giá trị tham
chiếu xuống 1

S

Tđo >=
Ttham chiếu

Đ


Đ

Cho chân điều khiển II = 1

Cho chân điều khiển I = 1

Hiển thị LCD

4

3
END

SVTH: Châu Huỳnh Tài

24

S

Nhấn nút
DOWN

Đ

Giảm giá trị tham
chiếu xuống 1

Tđo >=
Ttham chiếu


S


Đồ án môn học 2 - THIẾT KẾ VÀ THI CÔNG MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG CẢM
BIẾN DS18B20 CÀI ĐẶT NHIỆT ĐỘ ĐIỀU KHIỂN BÓNG ĐÈN 220V

c. CHƯƠNG TRÌNH
 Chương trình chính
#include <16F887.h>
#fuses
NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP,NOCPD,NOW
RT
#use delay(clock = 20M)
#define One_wire_pin Pin_A0
#include <lcd_4bit.c>
#include <one_wire.c>
#define select Pin_C0
#define up Pin_C1
#define down Pin_C2
#define led1 Pin_B0
#define led2 Pin_B1
// cau hinh doc kenh 1 =====================================
float ds18b20read_1()
{ int8 temp1, temp2;
signed int16 temp3;
float result;
OneWire_Reset();
OneWire_Write(0x55);
OneWire_Write(0x28);
OneWire_Write(0x8f);

OneWire_Write(0x24);
OneWire_Write(0x48);
OneWire_Write(0x06);
OneWire_Write(0x00);
OneWire_Write(0x00);
SVTH: Châu Huỳnh Tài

25


×