SlideShare a Scribd company logo
1 of 34
https://thuviengiaoan.vn/
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ
--------
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA
TRẬN NỐI TIẾP
GVHD: NGUYỄN PHÚ CÔNG
SINH VIÊN THỰC HIỆN MSSV
DƯƠNG HÀO QUANG 2032170077
TP. HỒ CHÍ MINH, 14 tháng 07, năm 2020
https://thuviengiaoan.vn/
TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
TP. HCM, ngày….tháng…..năm……..
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỒ ÁN: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI
TIẾP
Giảng viên hướng dẫn: Nguyễn Phú Công
Thời gian thực hiện: Từ ngày 01/05/2020 đến ngày 15/07/2020
Sinh viên thực hiện: Dương Hào Quang
Nội dung đề tài:
- Tìm hiểu tổng quan lý thuyết.
- Xây dựng mục tiêu đề tài.
- Thiết kế và thi công mô hình hiển thị nhiệt độ trên led ma trận
- Thực nghiệm và đánh giá đề tài
Kế hoạch thực hiện:
- Từ ngày 01/05/2020 đến ngày 31/05/2020: Nhận đề tài
- Từ ngày 01/06/2020 đến ngày 23/06/2020: Nghiên cứu đề tài
- Từ ngày 24/06/2020 đến ngày 30/06/2020: Tiến hành thi công lắp ráp và thử
nghiệm
- Từ ngày 01/07/2020 đến ngày 14/07/2020: Viết báo cáo
Xác nhận của giảng viên hướng dẫn TP. HCM, ngày….tháng …..năm…..
Sinh viên
NHẬN XÉT ĐỒ ÁN CHUYÊN NGÀNH
CỦA GIẢNG VIÊN HƯỚNG DẪN
Tên đồ án:
ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI TIẾP
Sinh viên thực hiện: Giảng viên hướng dẫn:
Dương Hào Quang
2032170077
Nguyễn Phú Công
Đánh giá Đồ án
1. Về cuốn báo cáo:
Số trang _______ Số chương _______
Số bảng số liệu _______ Số hình vẽ _______
Số tài liệu tham khảo _______ Sản phẩm _______
Một số nhận xét về hình thức cuốn báo cáo:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
2. Về nội dung đồ án:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
3. Về tính ứng dụng:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
TP. HCM, ngày….tháng…..năm……..
……………………………………………………………………………………………………
……………………………………………………………………………………………………
4. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
Đánh giá chung:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
Điểm sinh viên:
Dương Hào Quang: …../10 Người nhận
(Ký tên và ghi rõ họ tên)
LỜI CẢM ƠN
Để hoàn thành chuyên đề báo cáo đồ án chuyên ngành điều khiển – tự động hóa
trước hết em xin gửi đến quý thầy, cô giáo trong Khoa Công nghệ Điện-Điện tử,
trường Đại học Công nghiệp thực phẩm Thành phố Hồ Chí Minh lời cảm ơn chân
thành. Đặc biệt, em xin gửi đến thầy Nguyễn Phú Công, người đã tận tình hướng dẫn,
giúp đỡ em hoàn thành chuyên đề báo cáo đồ án chuyên ngành điều khiển – tự động
hóa này lời cảm ơn sâu sắc nhất.
Mặc dù nhóm em đã cố gắng hết sức mình, nhưng do lượng kiến thức eo hẹp
nên không tránh khỏi những thiếu sót. Do vậy, chúng em rất mong nhận được sự góp ý
quý báu của thầy, cô để nhóm có thể hoàn thiện và tốt hơn nữa cũng như tích lũy kinh
nghiệm để hoàn thành tốt báo cáo đồ án tốt nghiệp sao ngày.
Sau cùng, em kính chúc quý thầy cô thật dồi dào sức khỏe, luôn tràn đầy nhiệt
huyết cùng với thành công trong sự nghiệp cao quý.
TP. HCM, ngày 14 tháng 07 năm 2020
Sinh viên thực hiện
Dương Hào Quang
LỜI NÓI ĐÀU
Như chúng ta biết, nhiệt độ là một trong những thành phần vật lý rất quan
trọng. Việc thay đổi nhiệt độ của một vật chất ảnh hưởng rất nhiều đến cấu tạo, tính
chất, và các đại lượng vật lý khác của vật chất. Ví dụ, sự thay đổi nhiệt độ của 1 chất
khí sẽ làm thay đổi thể tích, áp suất của chất khí trong bình. Vì vậy, trong nghiên cứu
khoa học, trong công nghiệp và trong đời sống sinh hoạt, thu thập các thông số và
điều khiển nhiệt độ là điều rất cần thiết.
Trong các lò nhiệt, máy điều hoà, máy lạnh hay cả trong lò viba, điều khiển
nhiệt độ là tính chất quyết định cho sản phảm ấy. Trong ngành luyện kim, cần phải
đạt đến một nhiệt độ nào đó để kim loại nóng chảy, và cũng cần đạt một nhiệt độ nào
đó để ủ kim loại nhằm đạt được tốt các đặc tính cơ học như độ bền, độ dẻo, độ chống
gỉ sét, … . Trong ngành thực phẩm, cần duy trì một nhiệt độ nào đó để nướng bánh,
để nấu, để bảo quản, … . Việc thay đổi thất thường nhiệt độ, không chỉ gây hư hại
đến chính thiết bị đang hoạt động, còn ảnh hưởng đến quá trình sản xuất, ngay cả trên
chính sản phẩm ấy.
Sự ra đời của mạch Arduino đã thúc đẩy sự yêu thích, tìm tòi nghiên cứu, ứng
dụng thành tựu khoa học kỹ thuật của lĩnh vực tự động hóa vào đời sống và công
nghiệp. Với những ưu điểm riêng của mình, Arduino dần khẳng định được vị thế, vai
trò của mình trên trường quốc tế, được giới học sinh, sinh viên và cả giới nghiên cứu
sử dụng một cách rộng rãi.
Chính vì thấy được những ưu điểm của Arduino cùng với kiến thức sau một
thời gian học tập và tìm hiểu tài liệu về Arduino, em đã chọn dùng Arduino chọn đồ
án 2 với đề tài: “Điều khiển nhiệt độ hiển thị trên led ma trận nối tiếp”
1
https://thuviengiaoan.vn/
MỤC LỤC
MỤC LỤC............................................................................................................................. 1
DANH MỤC HÌNH ẢNH .................................................................................................... 2
DANH MỤC BẢNG BIỂU .................................................................................................. 2
CHƯƠNG 1: TỔNG QUAN VỀ ĐÈ TÀI............................................................................ 3
1.1. Đặt vấn đề ..................................................................................................................................... 3
1.2. Yêu cầu và kết cấu đồ án............................................................................................................... 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT..................................................................................... 4
2.1. Giới thiệu về cảm biến nhiệt độ DS18B20 ................................................................................... 4
2.1.1 Tổng quan ................................................................................................................................. 4
2.1.2 Đặc điểm DS18B20 .................................................................................................................. 4
2.1.3 Giao tiếp với DS18B20............................................................................................................. 5
2.2. Arduino Uno R3............................................................................................................................ 9
2.2.1 Tổng quan về Arduino .............................................................................................................. 9
2.2.2 Một vài thông số của Arduino Uno R3..................................................................................... 9
2.2.3 Nguồn...................................................................................................................................... 10
2.2.4 Bộ nhớ..................................................................................................................................... 11
2.2.5 Các cổng vào ra....................................................................................................................... 12
2.2.6 Ngôn ngữ lập trình cho Arduino............................................................................................. 12
2.3. Led ma trận ................................................................................................................................. 13
2.3.1 Giới thiệu về led ma trận ........................................................................................................ 13
2.3.2 Hiển thị với IC MAX7219...................................................................................................... 14
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG................................................. 16
3.1. Tìm hiểu về đề tài........................................................................................................................ 16
3.1.1 Nhiệm vụ đặt ra....................................................................................................................... 16
3.1.2 Hướng giải quyết .................................................................................................................... 16
3.2. Nguyên lý hoạt động của các khối .............................................................................................. 16
3.2.1 Khối cảm biến......................................................................................................................... 16
3.2.2 Khối hiển thị nhiệt độ ............................................................................................................. 18
3.2.3 Khối nút nhấn.......................................................................................................................... 20
3.2.4 Khối điều khiển đèn................................................................................................................ 21
3.3. Thông số nguồn điện của các linh thiết bị................................................................................... 22
3.4. Phần mềm và giải thuật............................................................................................................... 23
2
https://thuviengiaoan.vn/
3.4.1 Phần mềm ............................................................................................................................... 23
3.4.2 Lưu đồ giải thuật..................................................................................................................... 25
CHƯƠNG 4: ĐÁNH GIÁ VÀ KẾT LUẬN....................................................................... 27
4.1. Kết quả thực nghiệm ................................................................................................................... 27
4.2. Khuyết điểm................................................................................................................................ 28
4.3. Hướng khắc phục và phát triển ................................................................................................... 28
DANH MỤC HÌNH ẢNH
Hình 1. 1: Điều khiển nhiệt độ máy lạnh ........................................................................3
Hình 2. 1: Cảm biến DS18B20........................................................................................4
Hình 2. 2: Sơ đồ chân cảm biến DS18B20......................................................................4
Hình 2. 3: Sơ đồ khối DS18B20......................................................................................5
Hình 2. 4: Cấu trúc vùng nhớ mã ROM của DS18B20...................................................5
Hình 2. 5: Cấu trúc vùng nhớ DS18B20 .........................................................................6
Hình 2. 6: Lưu đồ lệnh ROM ..........................................................................................7
Hình 2. 7: Lưu đồ lệnh chức năng DS18B20 ..................................................................8
Hình 2. 8: Khe thời gian khởi tạo....................................................................................9
Hình 2. 9: Khe thời gian đọc,viết ....................................................................................9
Hình 2. 10: Arduino Uno R3 ...........................................................................................9
Hình 2. 11: Vi điều khiển ..............................................................................................10
Hình 2. 12: Các cổng vào ra ..........................................................................................12
Hình 2. 13: Giao diện phần mềm Arduino IDE. ...........................................................13
Hình 2. 14: Sơ đồ cấu tạo led ma trận ...........................................................................14
Hình 2. 15: MAX7219...................................................................................................14
Hình 3. 1: Sơ đồ khối.....................................................................................................16
Hình 3. 2: Kết nối DS18B20 với Arduino.....................................................................17
Hình 3. 3: Sơ đồ kết nối giữa MAX7219 với led ma trận.............................................18
Hình 3. 4: Điện trở điều chỉnh dòng điện......................................................................19
Hình 3. 5: Phân đoạn dòng điện so với bảng giảm điện áp chuyển tiếp từ dữ liệu.......19
Hình 3. 6: Kết nối dây giữa module led ma trận với Arduino.......................................20
Hình 3. 7: Kết nối nút nhấn với Arduino.......................................................................20
Hình 3. 8: Kết nối điều khiển đèn với Arduino.............................................................21
Hình 3. 9: Kết nối điều khiển quạt với Arduino............................................................21
Hình 3. 10: Adapter 5V .................................................................................................23
Hình 3. 11: Sơ đồ giải thuật...........................................................................................26
DANH MỤC BẢNG BIỂU
Bảng 2. 1: Một vài thông số của Arduino UNO............................................................10
Bảng 3. 1: Sơ đồ kết nối chân DS18B20 với Arduino ..................................................17
Bảng 3. 2: Sơ đồ kết nối chân Led ma trận với Arduino...............................................18
Bảng 3. 3: Sơ đồ kết nối nút nhấn với Arduino.............................................................20
Bảng 3. 4: Sơ đồ kết nối relay với Arduino...................................................................22
Bảng 3. 5: Thông số thiết bị ..........................................................................................22
3
https://thuviengiaoan.vn/
CHƯƠNG 1: TỔNG QUAN VỀ ĐÈ TÀI
1.1. Đặt vấn đề
Ngày nay, với sự phát triển của khoa học kỹ thuật, trong cuộc sống hằng ngày
việc đo và đặt nhiệt độ theo mong muốn trong một không gian giới hạn nào đó như:
trong nhà máy, xí nghiệp, trong bệnh viện, trong công ty, nhà ở,…là rất cần thiết theo
nhu cầu của con người. Điều đó chứng tỏ con người ngày càng muốn giao tiếp nhiều
hơn với môi trường. Vì vậy điều khiển nhiệt độ là điều rất cần thiết và với sự phát
triển của khoa học kỹ thuật, việc thực hiện một mô hình điều khiển nhiệt độ hiển thi
trên led ma trận với độ chính xác cao mà không mất nhiều chi phí.
Hình 1. 1: Điều khiển nhiệt độ máy lạnh
Giúp sinh viên củng cố lý thuyết môn học Vi xử lý trong điều khiển. Hiểu
thêm về cấu trúc của các dòng vi điều khiển nói chung và ARDUINO nói riêng. Biết
về cách lập trình cho vi điều khiển và thực hiện được một số bài toán điều khiển cơ
bản.
Giúp sinh viên có thêm kỹ năng giải quyết một số bài toán điều khiển đơn
giản ứng dụng các dòng vi điều khiển. Có khả năng phân tích bài toán điều khiển để
tìm biện pháp giải quyết vấn đề, biết lựa chọn giải pháp hợp lý và biết cách chọn lựa
thiết bị vật tư sử dụng cho công việc.
Rèn thêm tư duy thực hiện và cách thức trình bày để sinh viên tiếp cận dễ
dàng hơn đối với các đồ án môn học khác và đặc biệt là đồ án tốt nghiệp sau này khi
sinh viên làm Khóa luận tốt nghiệp.
1.2. Yêu cầu và kết cấu đồ án
Điều khiển được nhiệt độ thông qua cảm biến và vi sử lý hiển thị lên led ma
trận mắc nối tiếp và thực hiện theo đúng tiến độ đã đặt ra.
Kết cấu đồ án được trình bày theo 4 phần chính :
• Chương 1: Tổng quan về đề tài
• Chương 2: Cơ sở lý thuyết
• Chương 3: Thiết kế và thi công
• Chương 4: Đánh giá và kết luận
4
https://thuviengiaoan.vn/
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu về cảm biến nhiệt độ DS18B20
2.1.1 Tổng quan
DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân,hình ảnh thức tế như
hình dưới.
Hình 2. 1: Cảm biến DS18B20
Hình 2. 2: Sơ đồ chân cảm biến DS18B20.
2.1.2 Đặc điểm DS18B20
Các đặc điểm kỹ thuật của cảm biến DS18B20 có thể kể ra một cách tóm tắt
như sau:
• Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông.
• Độ phân giải khi đo nhiệt độ từ 9 bit tới 12bit. Dải đo nhiệt độ -
55°C đến 125°C, từng bậc 0.5°C, có thể đạt độ chính xác đến 0.1°C
5
https://thuviengiaoan.vn/
bằng việc hiệu chỉnh qua phần mềm.
• Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có
thể được nối trên một bus, bus này được gọi là bus một dây (1-wire).
• Không cần thêm linh kiện bên ngoài.
• Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3.0 V đến
5.5 V DC và có thể được cấp thông qua đường dẫn dữ liệu.
• Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
• Thời gian lấy mẫu và biến đổi ra digital 12 bit không lớn quá 750ms.
• Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong
bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia
laze.
Sơ đồ khối bên trong của cảm biến:
Hình 2. 3: Sơ đồ khối DS18B20.
2.1.3 Giao tiếp với DS18B20
Đầu đo nhiệt độ số DS18B20 đưa ra số liệu để biểu thị nhiệt độ đo được dưới
dạng mã nhị phân 12 bit. Các thông tin được gửi đến và nhận về từ DS18B20 trên
giao diện 1-wire, do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và
một đường làm dây GND là đủ để kết nối vi điều khiển đến điểm đo. Nguồn nuôi cho
các thao tác ghi/đọc/chuyển đổi có thể được trích từ đường tín hiệu, không cần có
thêm đường dây riêng để cấp điện áp nguồn.
Mỗi vi mạch đo nhiệt độ DS18B20 có một mã số định danh duy nhất, được
khắc bằng laser trong quá trình chế tạo vi mạch nên nhiều vi mạch DS18B20 có
thể cùng kết nối vào một bus 1-wire mà không có sự nhầm lẫn.
Đặc điểm này làm cho việc lắp đặt nhiều cảm biến nhiệt độ tại nhiều vị trí
khác nhau trở nên dễ dàng và với chi phí thấp. Số lượng các cảm biến nối vào bus
không hạn chế.
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 từ khi sản xuất bằng kỹ thuật laze.
Cấu trúc vùng nhớ mã ROM 64 bit của DS18B20:
Hình 2. 4: Cấu trúc vùng nhớ mã ROM của DS18B20
Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:
6
https://thuviengiaoan.vn/
• Tám bit đầu tiên là mã định danh họ một dây, mã của DS18B20 là 28h.
• 48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến
DS1820 chỉ có một số mã.
• Tám bit 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
Để truy cập lên cảm biến một dây DS18B20 ta phải sử dụng hai nhóm lệnh:
các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ.
Sơ đồ vùng nhớ DS18B20:
Hình 2. 5: Cấu trúc vùng nhớ DS18B20
Việc đo nhiệt độ của DS18B20 được thực hiện theo từng lần lấy mẫu. Mỗi lần
lấy mẫu được ngăn cách bởi 1 tín hiệu reset và 1 presence pulse. Reset được xem như
quá trình ngăn cách và khởi động lại quá trình đo nhiệt độ mới, presence pulse giống
như tín hiệu báo hiệu cho VDK biết là DS18B20 đang có mặt.
Các bước của 1 lần lấy mẫu:
• Khởi tạo xung reset và nhận tín hiệu hiện diện từ DS18B20.
• Gửi các lệnh ROM.
• Gửi các lệnh chức năng bộ nhớ.
Lưu đồ lệnh ROM DS18B20 được trình bày bên dưới:
7
https://thuviengiaoan.vn/
Hình 2. 6: Lưu đồ lệnh ROM
Lưu đồ lệnh chức năng DS18B20 được trình bày bên dưới:
8
https://thuviengiaoan.vn/
Hình 2. 7: Lưu đồ lệnh chức năng DS18B20
Thời gian khởi tạo:
9
https://thuviengiaoan.vn/
Hình 2. 8: Khe thời gian khởi tạo
Giản đồ khe thời gian đọc viết:
Hình 2. 9: Khe thời gian đọc,viết
2.2. Arduino Uno R3
2.2.1 Tổng quan về Arduino
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với
các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm
nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một
ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về
điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và
tính chất nguồn mở từ phần cứng tới phần mềm.
Hình 2. 10: Arduino Uno R3
2.2.2 Một vài thông số của Arduino Uno R3
10
https://thuviengiaoan.vn/
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi
chân I/O
30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash
32 KB (ATmega328) với 0.5KB dùng bởi
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Bảng 2. 1: Một vài thông số của Arduino UNO
Hình 2. 11: Vi điều khiển
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,
ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều
khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo
nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…
2.2.3 Nguồn
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp
nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì
cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB.
Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO.
Các chân năng lượng
• ND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn
dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân
này phải được nối với nhau.
• 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
• 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là
11
https://thuviengiaoan.vn/
50mA.
• Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối
cực dương của nguồn với chân này và cực âm của nguồn với chân
GND.
• IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể
được đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không
được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó
không phải là cấp nguồn.
• RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương
đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Lưu ý:
• Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó phải hết
sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho
Arduino UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ
biến nó thành một miếng nhựa chặn giấy. Nên dùng nguồn từ cổng
USB nếu có thể.
• Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra
cho các thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp
nguồn sai vị trí có thể làm hỏng board. Điều này không được nhà sản
xuất khuyến khích.
• Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp
dưới 6V có thể làm hỏng board.
• Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi
điều khiển ATmega328.
• Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của
Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
• Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino
UNO sẽ làm hỏng vi điều khiển.
• Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của
Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu
không dùng để truyền nhận dữ liệu phải mắc một điện trở hạn dòng.
2.2.4 Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
• 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ
trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB
trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi
nào cần quá 20KB bộ nhớ này đâu.
• 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn
khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì
càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào
bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất điện, dữ
liệu trên SRAM sẽ bị mất.
• 1Kb cho EEPROM( Electrically Eraseble Programmable Read Only
Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc
và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện
giống như dữ liệu trên SRAM.
12
https://thuviengiaoan.vn/
2.2.5 Các cổng vào ra
Hình 2. 12: Các cổng vào ra
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi
chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển
ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
• 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận
(receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với
thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói
nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp
Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM
với độ phân giải 8bit (giá trị từ 0 → 28
-1 tương ứng với 0V → 5V)
bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh
được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở
mức 0V và 5V như những chân khác.
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài
các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ
liệu bằng giao thức SPI với các thiết bị khác.
• LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi
bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được
nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ
sáng.
2.2.6 Ngôn ngữ lập trình cho Arduino
13
https://thuviengiaoan.vn/
Hình 2. 13: Giao diện phần mềm Arduino IDE.
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều
lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi
trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên
nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư
viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn
Arduino IDE là phần mềm dùng để lập trình cho Arduino. Môi trường lập
trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows,
Macintosh osx và Linux. Do có tính chất nguồn mở nên môi trường lập trình này
hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.
Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do
ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ c của AVR nẽn người dùng hoàn
toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn.Hiện tại,
Arduino IDE có thể download từ trang chủ http://arduino.cc/ bao gồm các phiên bản
sau:
• Arduino 1.0.5
• Arduinol.5.5 BETA (Hỗ trợ cho 2 board Arduino mới nhất là: Arduino
Yun và Arduino Due).
• Arduino IDE cho Intel Galileo
2.3. Led ma trận
2.3.1 Giới thiệu về led ma trận
Led ma trận bao gồm các led đơn được xếp thành hàng và cột . Các led đơn
trong cùngmột hàng thì được nối chung anot (catot) còn trong cùng một cột thì được
nối chung catot(anot). Do đó để các led có thể sáng ta phải cấp nguồn cho led như
sau : cấp mức cao(thấp) cho hàng và mức thấp (cao) cho cột.
14
https://thuviengiaoan.vn/
Hình 2. 14: Sơ đồ cấu tạo led ma trận
2.3.2 Hiển thị với IC MAX7219
Led Matrix 8x8 là một bảng Led gồm 8 hàng và 8 cột (tổng cộng 64 con led).
Nếu điều khiển trực tiếp bằng Arduino, đó là một điều không khả thi. Thế nên, IC
MAX7219 đã ra đời để có thể điều khiển vô vàn con Led chỉ với 5 chân.
IC MAX7219 được hãng MAXIM thiết kế và sản xuất, thuận tiện sử dụng để
điều khiển LED ma trận và LED 7 thanh (1 chip có thể điều khiển LED ma trận 8x8
hoặc LED 7 thanh 8 chữ số) và chỉ cần 1 điện trở để hạn dòng cho tất cả các led (so
với các IC khác hầu như phải có 1 điện trở cho mỗi led). Trên mỗi chip đã được tích
hợp bộ giải mã BCD, mạch quét dồn kênh, thanh ghi dịch, ...
Giống như với 74HC595, để điều khiển LED ma trận ta sử dụng MAX7219
hoạt động giống như một thanh ghi dịch khi bạn cần nhập dữ liệu vào nối tiếp theo
từng bit. Tổng cộng có 16 bit được nhập vào tại một thời điểm. MAX7219 chỉ cần 3
chân từ Arduino để kết nối với các chân DIN, LOAD và CLK của IC.
Sơ đồ chân của MAX7219 được mô tả như hình dưới:
Hình 2. 15: MAX7219
Chân LOAD được kéo xuống LOW và bit đầu tiên của dữ liệu được đưa vào
chân DIN, trên sườn lên của xung CLK, các bit tại chân DIN được đưa vào thanh ghi
bên trong chip. Sau đó xung CLK xuống LOW và các bit tiếp theo được thiết lập tại
chân DIN trước khi lặp lại quá trình. Sau khi 16 bit được đưa vào thanh ghi, chân
15
https://thuviengiaoan.vn/
LOAD được đưa lên HIGH để chốt dữ liệu vào. Chân DOUT (24) được sử dụng nếu
có từ 2 chip MAX7219 trở lên. DOUT của chip thứ nhất kết nối DIN của chip thứ hai
và cứ như vậy. Dữ liệu được đưa ra khỏi chân DOUT trên sườn xuống của xung
CLK.
16
https://thuviengiaoan.vn/
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
3.1. Tìm hiểu về đề tài
3.1.1 Nhiệm vụ đặt ra
Điều khiển quạt DC và đèn AC. Nếu nhiệt độ đặt lớn hơn nhiệt độ đo thì mở
đèn và tắt quạt. Ngược lại, nếu nhiệt độ đặt nhỏ hơn nhiệt độ đo thì vi điều khiển kích
Relay tắt đèn và mở quạt làm mát.
Hình 3. 1: Sơ đồ khối
Hiển thị nhiệt độ đặt và nhiệt độ đo trên led ma tận.
Các cơ cấu thi hành phải hoạt động ổn định khi nhiệt độ đo dao động quanh
nhiệt độ chuẩn (nhiệt độ đặt).
3.1.2 Hướng giải quyết
Dùng đèn AC để tăng nhiệt độ và quạt DC để giảm nhiệt độ. Hiển thị nhiệt độ
bằng module led ma trận 8x32 sử dụng IC MAX7219.
Dùng 2 nút nhấn để nhập nhiệt độ chuẩn (nhiệt độ đặt) và bắt đầu xử lý.
Dùng phần mềm Arduino IDE để viết chương trình
3.2. Nguyên lý hoạt động của các khối
3.2.1 Khối cảm biến
Để đọc nhiệt độ từ cảm biến DS18B20, chúng ta cần sử dụng các thư viện hỗ
trợ sau:
• Thư viện OneWire.h
• Thư viện DallasTemperature.h
Sơ đồ kết nối chân với Arduino:
Arduino
Uno
Khối nút
nhấn
Khối hiển thị
nhiệt độ
Điều khiển
quạt DC
Điều khiển
đèn AC
Khối cảm
biến
17
https://thuviengiaoan.vn/
DS18B20 ARDUINO
GND GND
DATA 2
VCC 5V
Bảng 3. 1: Sơ đồ kết nối chân DS18B20 với Arduino
Sơ đồ kết nối dây:
Hình 3. 2: Kết nối DS18B20 với Arduino
Nguyên lý hoạt động của cảm biến DS18B20:
DS18B20 gồm 2 byte:
• + 4 bit thấp là phần lẻ sau dấu phẩy: Bít 0, bít 1, bít 2, bít 3.
• + 7 bit tiếp theo là phần nguyên: Bit 4, bít 5, bít 6, bít 7, bít 8, bít 9, bít
10.
• + 5 bít cao nhất là dấu của nhiệt độ (0 = “+”; 1 = “-”).
• + Dữ liệu đến và đi khỏi DS18B20 đều truyền từ bit LSB đầu tiên và
cuối cùng là bit MSB (từ phải sang trái).
Cách đọc nhiệt độ của DS18B20:
Nhiệt độ đọc về dạng hex nên ta phải đổi ra thập phân khi hiển thị. Giả sử ta
đọc được 2 byte nhiệt độ:
Bước 1: So sánh bit MSB, nếu= 0 thì in ra dấu “+” rồi nhảy sang bước 3. Nếu
= 1 thì in ra dấu “-” rồi tiếp tục đến bước 2.
Bước 2: Chuyển 2 byte vừa nhận được sang dạng bù 2 của chính nó.
Bước 3: Chuyển 7 bit phần nguyên vào thanh ghi A và in ra giá trị thanh ghi
nàydưới dạng thập phân (chính là in ra 3 số phần nguyên của nhiệt độ).
Bước 4: In ra dấu “,”.
Bước 5: In ra 4 số sau dấu “,” dạng thập phân (4 bít thấp nhất).
VD: +10.125˚C là FF5Eh
18
https://thuviengiaoan.vn/
3.2.2 Khối hiển thị nhiệt độ
Để hiển thị hình ảnh lên led ma trận ta sử dụng module 4 led ma trận với IC
MAX7219
Hiển thị Module led ma trận thông qua Arduino, chúng ta cần sử dụng các thư
viện sau:
• Thư viện MD_Parola.h
• Thư viện MD_MAX72xx.h
Sơ đồ kết nối với Arduino:
MODULE LED MA TRẬN ARDUINO
VCC 5V
GND GND
DIN_PIN 11
CLK_PIN 13
CS_PIN 10
Bảng 3. 2: Sơ đồ kết nối chân Led ma trận với Arduino
Nguyên lý hoạt động của IC MAX7219 với led ma trận:
64 đèn LED được điều khiển bởi 16 chân đầu ra của IC. Số lượng tối đa của
đèn LED sáng lên cùng một lúc là tám. Các đèn LED được sắp xếp thành 8 × 8 gồm
hàng và cột. Vì vậy, MAX7219 kích hoạt mỗi cột trong một khoảng thời gian rất
ngắn và đồng thời nó cũng điều khiển từng hàng. Vì vậy, bằng cách nhanh chóng
chuyển qua các cột và hàng, mắt người sẽ chỉ nhận thấy một ánh sáng liên tục.
Hình 3. 3: Sơ đồ kết nối giữa MAX7219 với led ma trận
Lưu ý các chân của Ma trận LED 8 × 8 phổ biến được sắp xếp bên trong, vì
19
https://thuviengiaoan.vn/
vậy nếu bạn tự xây dựng một ma trận, bạn nên tìm hiểu nó. Cũng lưu ý rằng một
bảng ngắt phổ biến cho MAX7219 đi kèm với một điện trở giữa 5V và chân IC 18.
Điện trở được sử dụng để cài đặt độ sáng hoặc dòng điện cho đèn LED.
Hình 3. 4: Điện trở điều chỉnh dòng điện
Bảng dưới đây là dữ liệu của IC cho thấy giá trị của điện trở mà chúng ta nên
sử dụng theo mức giảm điện áp chuyển tiếp của đèn LED.
Hình 3. 5: Phân đoạn dòng điện so với bảng giảm điện áp chuyển tiếp từ dữ liệu
Sơ đồ kết nối dây giữa module với Arduino:
20
https://thuviengiaoan.vn/
Hình 3. 6: Kết nối dây giữa module led ma trận với Arduino
3.2.3 Khối nút nhấn
Sơ đồ kết nối dây với Arduino:
Hình 3. 7: Kết nối nút nhấn với Arduino
Sơ đồ kết nối chân :
NÚT NHẤN ARDUINO
VCC 5V
GND GND
Button1 3
Button2 4
Bảng 3. 3: Sơ đồ kết nối nút nhấn với Arduino
Nguyên lý hoạt động:
Sử dụng 2 nút nhấn (Button1 và Button 2) dùng để tăng, giảm và nhập nhiệt
21
https://thuviengiaoan.vn/
độ đặt. Khi bật nguồn khối hiển thị sẽ hiển thị 29℃. Nếu nhấn Button1 nhiệt độ
chuẩn sẽ tăng từng độ, nhấn Button2 sẽ giảm nhiệt độ chuẩn và tính hiệu sẽ truyền về
Aruino bắt đầu xử lý đèn.
3.2.4 Khối điều khiển đèn
Sơ đồ kết nối với Arduino:
Hình 3. 8: Kết nối điều khiển đèn với Arduino
Hình 3. 9: Kết nối điều khiển quạt với Arduino
Sơ đồ nối kết nối chân:
22
https://thuviengiaoan.vn/
RELAY ARDUINO
VCC 5V
GND GND
RELAY1 1
RELAY2 0
Bảng 3. 4: Sơ đồ kết nối relay với Arduino
Nguyên lý hoạt động:
Sử dụng module relay 5V để đóng ngắt nguồn AC, bóng đèn được nối vào tiếp
điểm NC(thường đóng) của relay. Khi nhiệt độ đặt lớn hơn nhiệt đọ chuẩn thì
Arduino xuất tín hiệu đóng ngắt relay làm cho bóng đèn sáng lên, tăng nhiệt độ cảm
biến và khi nhiệt độ thực lớn hơn nhiệt đọ đặt thì ngắt relay, tắt đèn
3.3. Thông số nguồn điện của các linh thiết bị
TÊN THIẾT BỊ SỐ LƯỢNG DÒNG ĐIỆN ÁP
ARDUINO UNO R3 1 30mA 5VDC
MODUEL LED MA
TRẬN 8x32
1 320mA 5VDC
NÚT NHẤN 2 100mA 5VDC
RELAY 2 80mA 5VDC
QUẠT DC 1 1A 12VDC
ĐÈN 1 ~0,1A 220V
Bảng 3. 5: Thông số thiết bị
Các thiết bịsử dụng ngồn 5V thì sử dụng chung một nguồn nuôi có sẵn từ
Arduino và sử dụng Adapter để cấp nguồn cho Arduino, riêng quạt sử dụng Adapter
12VDC và đèn sử dụng nguồn 220VAC
23
https://thuviengiaoan.vn/
Hình 3. 10: Adapter 5V
Thông số của Adapter:
• Điện áp vào : 100-240 V
• Điện áp ra : 5V-1A
• Chiều dài cáp :1m
• Đầu jack chẩn micro
3.4. Phần mềm và giải thuật
3.4.1 Phần mềm
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2 //Sensor DS18B20 am digitalen Pin 2
OneWire oneWire(ONE_WIRE_BUS); // tạo giao tiếp 1 dây
DallasTemperature sensors(&oneWire);// đưa giao tiếp vào cảm biến
int settemp=29;
const uint16_t WAIT_TIME = 800;
float nhietdo;
#define MAX_DEVICES 4
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
#define role1 1
#define role2 0
#define coi 6
const int buttonup =3;
const int buttondown =4;
int currentbuttonstate = 0;
int previousbuttonstate=0 ;
24
https://thuviengiaoan.vn/
int currentbuttonstate1 =0;
int previousbuttonstate1=0 ;
MD_Parola P = MD_Parola(CS_PIN, MAX_DEVICES);
void setup(void)
{
P.begin();
pinMode(buttonup,INPUT_PULLUP);
pinMode(buttondown,INPUT_PULLUP);
pinMode(role1,OUTPUT);
pinMode(role2,OUTPUT);
}
void loop(void)
{
displaymatrix();
setheater1();
setbuttonup();
setbuttondown();
}
void displaymatrix(){
sensors.requestTemperatures();// yêu cầu cảm biến đọc nhiệt độ
nhietdo=sensors.getTempCByIndex(0);// lấy nhiệt độ trên cảm biến
P.print(String(nhietdo)+"C");
}
void setbuttonup(){
currentbuttonstate = digitalRead(buttonup);
if (currentbuttonstate != previousbuttonstate){ // nếu trạng thái hiện tại
thay đổi so với trạng thái trước
if (currentbuttonstate== HIGH){ // nút nhấn dược nhấn
settemp=settemp+1;
settempup();
}
}
previousbuttonstate=currentbuttonstate;
}
void setbuttondown(){
currentbuttonstate1 = digitalRead(buttondown);
if (currentbuttonstate1 != previousbuttonstate1){// nếu trạng thái hiện tại
thay đổi so với trạng thái trước
if (currentbuttonstate1== HIGH){// nút nhấn dược nhấn
settemp=settemp-1;
settempdown();
25
https://thuviengiaoan.vn/
}
}
previousbuttonstate1=currentbuttonstate1;
}
void settempup(){
P.print("Set:"+String(settemp));
delay(WAIT_TIME);
}
void settempdown(){
P.print("Set:"+String(settemp));
delay(WAIT_TIME);
}
void setheater1(){
if ((settemp) > (nhietdo + 0.5 ) ) { // nếu nhiệt độ đặt lớn hơn nhiệt độ hiện
tại thì bật đèn, tắt quạt
digitalWrite(role1, LOW);
digitalWrite(role2, HIGH);
}
else if ((settemp) <= (nhietdo )){// nếu nhiệt độ đặt bé hơn hoặc bằng
nhiệt độ thực thì bật quạt, tắt đèn
digitalWrite(role2, LOW);
digitalWrite(role1,HIGH );
}
}
3.4.2 Lưu đồ giải thuật
Bắt đầu
Hiển thị 290
C
(TĐặt = 290
C)
26
https://thuviengiaoan.vn/
Hình 3. 11: Sơ đồ giải thuật
Y
27
https://thuviengiaoan.vn/
CHƯƠNG 4: ĐÁNH GIÁ VÀ KẾT LUẬN
4.1. Kết quả thực nghiệm
- Hệ thống điều khiển tương đối ổn định, đáp ứng được yêu cầu của đề tài.
- Hiển thị được nhiệt độ trên led ma trận
- Cảm biến đọc nhiệt độ tương đối chính xác.
Hình ảnh mô hình hoàn tất:
Hình 4. 1: Mô hình điều khiển nhiệt độ hiển thị trên led ma trận (TĐẶT < TLÒ)
28
https://thuviengiaoan.vn/
Hình 4. 2: Mô hình điều khiển nhiệt độ hiển thị trên led ma trận (TĐẶT >TLÒ )
4.2. Khuyết điểm
- Đọc nhiệt độ từ môi trường vào chưa tuyệt đối chính xác.
- Do quá trình xử lý quạt DC, đèn AC hoạt động liên tục làm Relay được kích
liên tục → tải dễ bị hỏng
-Do sử dụng relay bật tắt nên chưa thể ổn định chính xác nhiệt thức so với
nhiệt độ đặt
4.3. Hướng khắc phục và phát triển
- Dùng cảm biến nhiệt độ khác, có độ ổn định hơn và đọc nhiệt độ chính xác
hơn.
- Đưa ra các giải thuật khác để lập trình hệ thống tối ưu hơn.
- Với mạch ta có thể kết nối khác hơn, tiện lợi hơn như thay quạt và đèn bằng
một thiết bị làm mát và làm nóng khác.
- Có thể giao tiếp với máy tính để điều khiển nhiệt độ lò.

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Đồ án Điều khiển nhiệt độ hiển thị trên LED ma trận nối tiếp

  • 1. https://thuviengiaoan.vn/ BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ -------- BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI TIẾP GVHD: NGUYỄN PHÚ CÔNG SINH VIÊN THỰC HIỆN MSSV DƯƠNG HÀO QUANG 2032170077 TP. HỒ CHÍ MINH, 14 tháng 07, năm 2020
  • 2. https://thuviengiaoan.vn/ TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc TP. HCM, ngày….tháng…..năm…….. ĐỀ CƯƠNG CHI TIẾT TÊN ĐỒ ÁN: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI TIẾP Giảng viên hướng dẫn: Nguyễn Phú Công Thời gian thực hiện: Từ ngày 01/05/2020 đến ngày 15/07/2020 Sinh viên thực hiện: Dương Hào Quang Nội dung đề tài: - Tìm hiểu tổng quan lý thuyết. - Xây dựng mục tiêu đề tài. - Thiết kế và thi công mô hình hiển thị nhiệt độ trên led ma trận - Thực nghiệm và đánh giá đề tài Kế hoạch thực hiện: - Từ ngày 01/05/2020 đến ngày 31/05/2020: Nhận đề tài - Từ ngày 01/06/2020 đến ngày 23/06/2020: Nghiên cứu đề tài - Từ ngày 24/06/2020 đến ngày 30/06/2020: Tiến hành thi công lắp ráp và thử nghiệm - Từ ngày 01/07/2020 đến ngày 14/07/2020: Viết báo cáo Xác nhận của giảng viên hướng dẫn TP. HCM, ngày….tháng …..năm….. Sinh viên
  • 3. NHẬN XÉT ĐỒ ÁN CHUYÊN NGÀNH CỦA GIẢNG VIÊN HƯỚNG DẪN Tên đồ án: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI TIẾP Sinh viên thực hiện: Giảng viên hướng dẫn: Dương Hào Quang 2032170077 Nguyễn Phú Công Đánh giá Đồ án 1. Về cuốn báo cáo: Số trang _______ Số chương _______ Số bảng số liệu _______ Số hình vẽ _______ Số tài liệu tham khảo _______ Sản phẩm _______ Một số nhận xét về hình thức cuốn báo cáo: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… 2. Về nội dung đồ án: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… 3. Về tính ứng dụng: …………………………………………………………………………………………………… …………………………………………………………………………………………………… TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc TP. HCM, ngày….tháng…..năm……..
  • 4. …………………………………………………………………………………………………… …………………………………………………………………………………………………… 4. Về thái độ làm việc của sinh viên: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Đánh giá chung: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Điểm sinh viên: Dương Hào Quang: …../10 Người nhận (Ký tên và ghi rõ họ tên)
  • 5. LỜI CẢM ƠN Để hoàn thành chuyên đề báo cáo đồ án chuyên ngành điều khiển – tự động hóa trước hết em xin gửi đến quý thầy, cô giáo trong Khoa Công nghệ Điện-Điện tử, trường Đại học Công nghiệp thực phẩm Thành phố Hồ Chí Minh lời cảm ơn chân thành. Đặc biệt, em xin gửi đến thầy Nguyễn Phú Công, người đã tận tình hướng dẫn, giúp đỡ em hoàn thành chuyên đề báo cáo đồ án chuyên ngành điều khiển – tự động hóa này lời cảm ơn sâu sắc nhất. Mặc dù nhóm em đã cố gắng hết sức mình, nhưng do lượng kiến thức eo hẹp nên không tránh khỏi những thiếu sót. Do vậy, chúng em rất mong nhận được sự góp ý quý báu của thầy, cô để nhóm có thể hoàn thiện và tốt hơn nữa cũng như tích lũy kinh nghiệm để hoàn thành tốt báo cáo đồ án tốt nghiệp sao ngày. Sau cùng, em kính chúc quý thầy cô thật dồi dào sức khỏe, luôn tràn đầy nhiệt huyết cùng với thành công trong sự nghiệp cao quý. TP. HCM, ngày 14 tháng 07 năm 2020 Sinh viên thực hiện Dương Hào Quang
  • 6. LỜI NÓI ĐÀU Như chúng ta biết, nhiệt độ là một trong những thành phần vật lý rất quan trọng. Việc thay đổi nhiệt độ của một vật chất ảnh hưởng rất nhiều đến cấu tạo, tính chất, và các đại lượng vật lý khác của vật chất. Ví dụ, sự thay đổi nhiệt độ của 1 chất khí sẽ làm thay đổi thể tích, áp suất của chất khí trong bình. Vì vậy, trong nghiên cứu khoa học, trong công nghiệp và trong đời sống sinh hoạt, thu thập các thông số và điều khiển nhiệt độ là điều rất cần thiết. Trong các lò nhiệt, máy điều hoà, máy lạnh hay cả trong lò viba, điều khiển nhiệt độ là tính chất quyết định cho sản phảm ấy. Trong ngành luyện kim, cần phải đạt đến một nhiệt độ nào đó để kim loại nóng chảy, và cũng cần đạt một nhiệt độ nào đó để ủ kim loại nhằm đạt được tốt các đặc tính cơ học như độ bền, độ dẻo, độ chống gỉ sét, … . Trong ngành thực phẩm, cần duy trì một nhiệt độ nào đó để nướng bánh, để nấu, để bảo quản, … . Việc thay đổi thất thường nhiệt độ, không chỉ gây hư hại đến chính thiết bị đang hoạt động, còn ảnh hưởng đến quá trình sản xuất, ngay cả trên chính sản phẩm ấy. Sự ra đời của mạch Arduino đã thúc đẩy sự yêu thích, tìm tòi nghiên cứu, ứng dụng thành tựu khoa học kỹ thuật của lĩnh vực tự động hóa vào đời sống và công nghiệp. Với những ưu điểm riêng của mình, Arduino dần khẳng định được vị thế, vai trò của mình trên trường quốc tế, được giới học sinh, sinh viên và cả giới nghiên cứu sử dụng một cách rộng rãi. Chính vì thấy được những ưu điểm của Arduino cùng với kiến thức sau một thời gian học tập và tìm hiểu tài liệu về Arduino, em đã chọn dùng Arduino chọn đồ án 2 với đề tài: “Điều khiển nhiệt độ hiển thị trên led ma trận nối tiếp”
  • 7. 1 https://thuviengiaoan.vn/ MỤC LỤC MỤC LỤC............................................................................................................................. 1 DANH MỤC HÌNH ẢNH .................................................................................................... 2 DANH MỤC BẢNG BIỂU .................................................................................................. 2 CHƯƠNG 1: TỔNG QUAN VỀ ĐÈ TÀI............................................................................ 3 1.1. Đặt vấn đề ..................................................................................................................................... 3 1.2. Yêu cầu và kết cấu đồ án............................................................................................................... 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT..................................................................................... 4 2.1. Giới thiệu về cảm biến nhiệt độ DS18B20 ................................................................................... 4 2.1.1 Tổng quan ................................................................................................................................. 4 2.1.2 Đặc điểm DS18B20 .................................................................................................................. 4 2.1.3 Giao tiếp với DS18B20............................................................................................................. 5 2.2. Arduino Uno R3............................................................................................................................ 9 2.2.1 Tổng quan về Arduino .............................................................................................................. 9 2.2.2 Một vài thông số của Arduino Uno R3..................................................................................... 9 2.2.3 Nguồn...................................................................................................................................... 10 2.2.4 Bộ nhớ..................................................................................................................................... 11 2.2.5 Các cổng vào ra....................................................................................................................... 12 2.2.6 Ngôn ngữ lập trình cho Arduino............................................................................................. 12 2.3. Led ma trận ................................................................................................................................. 13 2.3.1 Giới thiệu về led ma trận ........................................................................................................ 13 2.3.2 Hiển thị với IC MAX7219...................................................................................................... 14 CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG................................................. 16 3.1. Tìm hiểu về đề tài........................................................................................................................ 16 3.1.1 Nhiệm vụ đặt ra....................................................................................................................... 16 3.1.2 Hướng giải quyết .................................................................................................................... 16 3.2. Nguyên lý hoạt động của các khối .............................................................................................. 16 3.2.1 Khối cảm biến......................................................................................................................... 16 3.2.2 Khối hiển thị nhiệt độ ............................................................................................................. 18 3.2.3 Khối nút nhấn.......................................................................................................................... 20 3.2.4 Khối điều khiển đèn................................................................................................................ 21 3.3. Thông số nguồn điện của các linh thiết bị................................................................................... 22 3.4. Phần mềm và giải thuật............................................................................................................... 23
  • 8. 2 https://thuviengiaoan.vn/ 3.4.1 Phần mềm ............................................................................................................................... 23 3.4.2 Lưu đồ giải thuật..................................................................................................................... 25 CHƯƠNG 4: ĐÁNH GIÁ VÀ KẾT LUẬN....................................................................... 27 4.1. Kết quả thực nghiệm ................................................................................................................... 27 4.2. Khuyết điểm................................................................................................................................ 28 4.3. Hướng khắc phục và phát triển ................................................................................................... 28 DANH MỤC HÌNH ẢNH Hình 1. 1: Điều khiển nhiệt độ máy lạnh ........................................................................3 Hình 2. 1: Cảm biến DS18B20........................................................................................4 Hình 2. 2: Sơ đồ chân cảm biến DS18B20......................................................................4 Hình 2. 3: Sơ đồ khối DS18B20......................................................................................5 Hình 2. 4: Cấu trúc vùng nhớ mã ROM của DS18B20...................................................5 Hình 2. 5: Cấu trúc vùng nhớ DS18B20 .........................................................................6 Hình 2. 6: Lưu đồ lệnh ROM ..........................................................................................7 Hình 2. 7: Lưu đồ lệnh chức năng DS18B20 ..................................................................8 Hình 2. 8: Khe thời gian khởi tạo....................................................................................9 Hình 2. 9: Khe thời gian đọc,viết ....................................................................................9 Hình 2. 10: Arduino Uno R3 ...........................................................................................9 Hình 2. 11: Vi điều khiển ..............................................................................................10 Hình 2. 12: Các cổng vào ra ..........................................................................................12 Hình 2. 13: Giao diện phần mềm Arduino IDE. ...........................................................13 Hình 2. 14: Sơ đồ cấu tạo led ma trận ...........................................................................14 Hình 2. 15: MAX7219...................................................................................................14 Hình 3. 1: Sơ đồ khối.....................................................................................................16 Hình 3. 2: Kết nối DS18B20 với Arduino.....................................................................17 Hình 3. 3: Sơ đồ kết nối giữa MAX7219 với led ma trận.............................................18 Hình 3. 4: Điện trở điều chỉnh dòng điện......................................................................19 Hình 3. 5: Phân đoạn dòng điện so với bảng giảm điện áp chuyển tiếp từ dữ liệu.......19 Hình 3. 6: Kết nối dây giữa module led ma trận với Arduino.......................................20 Hình 3. 7: Kết nối nút nhấn với Arduino.......................................................................20 Hình 3. 8: Kết nối điều khiển đèn với Arduino.............................................................21 Hình 3. 9: Kết nối điều khiển quạt với Arduino............................................................21 Hình 3. 10: Adapter 5V .................................................................................................23 Hình 3. 11: Sơ đồ giải thuật...........................................................................................26 DANH MỤC BẢNG BIỂU Bảng 2. 1: Một vài thông số của Arduino UNO............................................................10 Bảng 3. 1: Sơ đồ kết nối chân DS18B20 với Arduino ..................................................17 Bảng 3. 2: Sơ đồ kết nối chân Led ma trận với Arduino...............................................18 Bảng 3. 3: Sơ đồ kết nối nút nhấn với Arduino.............................................................20 Bảng 3. 4: Sơ đồ kết nối relay với Arduino...................................................................22 Bảng 3. 5: Thông số thiết bị ..........................................................................................22
  • 9. 3 https://thuviengiaoan.vn/ CHƯƠNG 1: TỔNG QUAN VỀ ĐÈ TÀI 1.1. Đặt vấn đề Ngày nay, với sự phát triển của khoa học kỹ thuật, trong cuộc sống hằng ngày việc đo và đặt nhiệt độ theo mong muốn trong một không gian giới hạn nào đó như: trong nhà máy, xí nghiệp, trong bệnh viện, trong công ty, nhà ở,…là rất cần thiết theo nhu cầu của con người. Điều đó chứng tỏ con người ngày càng muốn giao tiếp nhiều hơn với môi trường. Vì vậy điều khiển nhiệt độ là điều rất cần thiết và với sự phát triển của khoa học kỹ thuật, việc thực hiện một mô hình điều khiển nhiệt độ hiển thi trên led ma trận với độ chính xác cao mà không mất nhiều chi phí. Hình 1. 1: Điều khiển nhiệt độ máy lạnh Giúp sinh viên củng cố lý thuyết môn học Vi xử lý trong điều khiển. Hiểu thêm về cấu trúc của các dòng vi điều khiển nói chung và ARDUINO nói riêng. Biết về cách lập trình cho vi điều khiển và thực hiện được một số bài toán điều khiển cơ bản. Giúp sinh viên có thêm kỹ năng giải quyết một số bài toán điều khiển đơn giản ứng dụng các dòng vi điều khiển. Có khả năng phân tích bài toán điều khiển để tìm biện pháp giải quyết vấn đề, biết lựa chọn giải pháp hợp lý và biết cách chọn lựa thiết bị vật tư sử dụng cho công việc. Rèn thêm tư duy thực hiện và cách thức trình bày để sinh viên tiếp cận dễ dàng hơn đối với các đồ án môn học khác và đặc biệt là đồ án tốt nghiệp sau này khi sinh viên làm Khóa luận tốt nghiệp. 1.2. Yêu cầu và kết cấu đồ án Điều khiển được nhiệt độ thông qua cảm biến và vi sử lý hiển thị lên led ma trận mắc nối tiếp và thực hiện theo đúng tiến độ đã đặt ra. Kết cấu đồ án được trình bày theo 4 phần chính : • Chương 1: Tổng quan về đề tài • Chương 2: Cơ sở lý thuyết • Chương 3: Thiết kế và thi công • Chương 4: Đánh giá và kết luận
  • 10. 4 https://thuviengiaoan.vn/ CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. Giới thiệu về cảm biến nhiệt độ DS18B20 2.1.1 Tổng quan DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân,hình ảnh thức tế như hình dưới. Hình 2. 1: Cảm biến DS18B20 Hình 2. 2: Sơ đồ chân cảm biến DS18B20. 2.1.2 Đặc điểm DS18B20 Các đặc điểm kỹ thuật của cảm biến DS18B20 có thể kể ra một cách tóm tắt như sau: • Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông. • Độ phân giải khi đo nhiệt độ từ 9 bit tới 12bit. Dải đo nhiệt độ - 55°C đến 125°C, từng bậc 0.5°C, có thể đạt độ chính xác đến 0.1°C
  • 11. 5 https://thuviengiaoan.vn/ bằng việc hiệu chỉnh qua phần mềm. • Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có thể được nối trên một bus, bus này được gọi là bus một dây (1-wire). • Không cần thêm linh kiện bên ngoài. • Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3.0 V đến 5.5 V DC và có thể được cấp thông qua đường dẫn dữ liệu. • Dòng tiêu thụ tại chế độ nghỉ cực nhỏ. • Thời gian lấy mẫu và biến đổi ra digital 12 bit không lớn quá 750ms. • Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia laze. Sơ đồ khối bên trong của cảm biến: Hình 2. 3: Sơ đồ khối DS18B20. 2.1.3 Giao tiếp với DS18B20 Đầu đo nhiệt độ số DS18B20 đưa ra số liệu để biểu thị nhiệt độ đo được dưới dạng mã nhị phân 12 bit. Các thông tin được gửi đến và nhận về từ DS18B20 trên giao diện 1-wire, do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và một đường làm dây GND là đủ để kết nối vi điều khiển đến điểm đo. Nguồn nuôi cho các thao tác ghi/đọc/chuyển đổi có thể được trích từ đường tín hiệu, không cần có thêm đường dây riêng để cấp điện áp nguồn. Mỗi vi mạch đo nhiệt độ DS18B20 có một mã số định danh duy nhất, được khắc bằng laser trong quá trình chế tạo vi mạch nên nhiều vi mạch DS18B20 có thể cùng kết nối vào một bus 1-wire mà không có sự nhầm lẫn. Đặc điểm này làm cho việc lắp đặt nhiều cảm biến nhiệt độ tại nhiều vị trí khác nhau trở nên dễ dàng và với chi phí thấp. Số lượng các cảm biến nối vào bus không hạn chế. 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 từ khi sản xuất bằng kỹ thuật laze. Cấu trúc vùng nhớ mã ROM 64 bit của DS18B20: Hình 2. 4: Cấu trúc vùng nhớ mã ROM của DS18B20 Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:
  • 12. 6 https://thuviengiaoan.vn/ • Tám bit đầu tiên là mã định danh họ một dây, mã của DS18B20 là 28h. • 48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS1820 chỉ có một số mã. • Tám bit 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 Để truy cập lên cảm biến một dây DS18B20 ta phải sử dụng hai nhóm lệnh: các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ. Sơ đồ vùng nhớ DS18B20: Hình 2. 5: Cấu trúc vùng nhớ DS18B20 Việc đo nhiệt độ của DS18B20 được thực hiện theo từng lần lấy mẫu. Mỗi lần lấy mẫu được ngăn cách bởi 1 tín hiệu reset và 1 presence pulse. Reset được xem như quá trình ngăn cách và khởi động lại quá trình đo nhiệt độ mới, presence pulse giống như tín hiệu báo hiệu cho VDK biết là DS18B20 đang có mặt. Các bước của 1 lần lấy mẫu: • Khởi tạo xung reset và nhận tín hiệu hiện diện từ DS18B20. • Gửi các lệnh ROM. • Gửi các lệnh chức năng bộ nhớ. Lưu đồ lệnh ROM DS18B20 được trình bày bên dưới:
  • 13. 7 https://thuviengiaoan.vn/ Hình 2. 6: Lưu đồ lệnh ROM Lưu đồ lệnh chức năng DS18B20 được trình bày bên dưới:
  • 14. 8 https://thuviengiaoan.vn/ Hình 2. 7: Lưu đồ lệnh chức năng DS18B20 Thời gian khởi tạo:
  • 15. 9 https://thuviengiaoan.vn/ Hình 2. 8: Khe thời gian khởi tạo Giản đồ khe thời gian đọc viết: Hình 2. 9: Khe thời gian đọc,viết 2.2. Arduino Uno R3 2.2.1 Tổng quan về Arduino Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm. Hình 2. 10: Arduino Uno R3 2.2.2 Một vài thông số của Arduino Uno R3
  • 16. 10 https://thuviengiaoan.vn/ Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Bảng 2. 1: Một vài thông số của Arduino UNO Hình 2. 11: Vi điều khiển Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… 2.2.3 Nguồn Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO. Các chân năng lượng • ND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau. • 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. • 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là
  • 17. 11 https://thuviengiaoan.vn/ 50mA. • Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND. • IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn. • RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ. Lưu ý: • Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy. Nên dùng nguồn từ cổng USB nếu có thể. • Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể làm hỏng board. Điều này không được nhà sản xuất khuyến khích. • Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board. • Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328. • Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển. • Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển. • Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để truyền nhận dữ liệu phải mắc một điện trở hạn dòng. 2.2.4 Bộ nhớ Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: • 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu. • 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất. • 1Kb cho EEPROM( Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
  • 18. 12 https://thuviengiaoan.vn/ 2.2.5 Các cổng vào ra Hình 2. 12: Các cổng vào ra Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối). Một số chân digital có các chức năng đặc biệt như sau: • 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết • Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28 -1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác. • Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác. • LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng. 2.2.6 Ngôn ngữ lập trình cho Arduino
  • 19. 13 https://thuviengiaoan.vn/ Hình 2. 13: Giao diện phần mềm Arduino IDE. Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn Arduino IDE là phần mềm dùng để lập trình cho Arduino. Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh osx và Linux. Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm. Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ c của AVR nẽn người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn.Hiện tại, Arduino IDE có thể download từ trang chủ http://arduino.cc/ bao gồm các phiên bản sau: • Arduino 1.0.5 • Arduinol.5.5 BETA (Hỗ trợ cho 2 board Arduino mới nhất là: Arduino Yun và Arduino Due). • Arduino IDE cho Intel Galileo 2.3. Led ma trận 2.3.1 Giới thiệu về led ma trận Led ma trận bao gồm các led đơn được xếp thành hàng và cột . Các led đơn trong cùngmột hàng thì được nối chung anot (catot) còn trong cùng một cột thì được nối chung catot(anot). Do đó để các led có thể sáng ta phải cấp nguồn cho led như sau : cấp mức cao(thấp) cho hàng và mức thấp (cao) cho cột.
  • 20. 14 https://thuviengiaoan.vn/ Hình 2. 14: Sơ đồ cấu tạo led ma trận 2.3.2 Hiển thị với IC MAX7219 Led Matrix 8x8 là một bảng Led gồm 8 hàng và 8 cột (tổng cộng 64 con led). Nếu điều khiển trực tiếp bằng Arduino, đó là một điều không khả thi. Thế nên, IC MAX7219 đã ra đời để có thể điều khiển vô vàn con Led chỉ với 5 chân. IC MAX7219 được hãng MAXIM thiết kế và sản xuất, thuận tiện sử dụng để điều khiển LED ma trận và LED 7 thanh (1 chip có thể điều khiển LED ma trận 8x8 hoặc LED 7 thanh 8 chữ số) và chỉ cần 1 điện trở để hạn dòng cho tất cả các led (so với các IC khác hầu như phải có 1 điện trở cho mỗi led). Trên mỗi chip đã được tích hợp bộ giải mã BCD, mạch quét dồn kênh, thanh ghi dịch, ... Giống như với 74HC595, để điều khiển LED ma trận ta sử dụng MAX7219 hoạt động giống như một thanh ghi dịch khi bạn cần nhập dữ liệu vào nối tiếp theo từng bit. Tổng cộng có 16 bit được nhập vào tại một thời điểm. MAX7219 chỉ cần 3 chân từ Arduino để kết nối với các chân DIN, LOAD và CLK của IC. Sơ đồ chân của MAX7219 được mô tả như hình dưới: Hình 2. 15: MAX7219 Chân LOAD được kéo xuống LOW và bit đầu tiên của dữ liệu được đưa vào chân DIN, trên sườn lên của xung CLK, các bit tại chân DIN được đưa vào thanh ghi bên trong chip. Sau đó xung CLK xuống LOW và các bit tiếp theo được thiết lập tại chân DIN trước khi lặp lại quá trình. Sau khi 16 bit được đưa vào thanh ghi, chân
  • 21. 15 https://thuviengiaoan.vn/ LOAD được đưa lên HIGH để chốt dữ liệu vào. Chân DOUT (24) được sử dụng nếu có từ 2 chip MAX7219 trở lên. DOUT của chip thứ nhất kết nối DIN của chip thứ hai và cứ như vậy. Dữ liệu được đưa ra khỏi chân DOUT trên sườn xuống của xung CLK.
  • 22. 16 https://thuviengiaoan.vn/ CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG 3.1. Tìm hiểu về đề tài 3.1.1 Nhiệm vụ đặt ra Điều khiển quạt DC và đèn AC. Nếu nhiệt độ đặt lớn hơn nhiệt độ đo thì mở đèn và tắt quạt. Ngược lại, nếu nhiệt độ đặt nhỏ hơn nhiệt độ đo thì vi điều khiển kích Relay tắt đèn và mở quạt làm mát. Hình 3. 1: Sơ đồ khối Hiển thị nhiệt độ đặt và nhiệt độ đo trên led ma tận. Các cơ cấu thi hành phải hoạt động ổn định khi nhiệt độ đo dao động quanh nhiệt độ chuẩn (nhiệt độ đặt). 3.1.2 Hướng giải quyết Dùng đèn AC để tăng nhiệt độ và quạt DC để giảm nhiệt độ. Hiển thị nhiệt độ bằng module led ma trận 8x32 sử dụng IC MAX7219. Dùng 2 nút nhấn để nhập nhiệt độ chuẩn (nhiệt độ đặt) và bắt đầu xử lý. Dùng phần mềm Arduino IDE để viết chương trình 3.2. Nguyên lý hoạt động của các khối 3.2.1 Khối cảm biến Để đọc nhiệt độ từ cảm biến DS18B20, chúng ta cần sử dụng các thư viện hỗ trợ sau: • Thư viện OneWire.h • Thư viện DallasTemperature.h Sơ đồ kết nối chân với Arduino: Arduino Uno Khối nút nhấn Khối hiển thị nhiệt độ Điều khiển quạt DC Điều khiển đèn AC Khối cảm biến
  • 23. 17 https://thuviengiaoan.vn/ DS18B20 ARDUINO GND GND DATA 2 VCC 5V Bảng 3. 1: Sơ đồ kết nối chân DS18B20 với Arduino Sơ đồ kết nối dây: Hình 3. 2: Kết nối DS18B20 với Arduino Nguyên lý hoạt động của cảm biến DS18B20: DS18B20 gồm 2 byte: • + 4 bit thấp là phần lẻ sau dấu phẩy: Bít 0, bít 1, bít 2, bít 3. • + 7 bit tiếp theo là phần nguyên: Bit 4, bít 5, bít 6, bít 7, bít 8, bít 9, bít 10. • + 5 bít cao nhất là dấu của nhiệt độ (0 = “+”; 1 = “-”). • + Dữ liệu đến và đi khỏi DS18B20 đều truyền từ bit LSB đầu tiên và cuối cùng là bit MSB (từ phải sang trái). Cách đọc nhiệt độ của DS18B20: Nhiệt độ đọc về dạng hex nên ta phải đổi ra thập phân khi hiển thị. Giả sử ta đọc được 2 byte nhiệt độ: Bước 1: So sánh bit MSB, nếu= 0 thì in ra dấu “+” rồi nhảy sang bước 3. Nếu = 1 thì in ra dấu “-” rồi tiếp tục đến bước 2. Bước 2: Chuyển 2 byte vừa nhận được sang dạng bù 2 của chính nó. Bước 3: Chuyển 7 bit phần nguyên vào thanh ghi A và in ra giá trị thanh ghi nàydưới dạng thập phân (chính là in ra 3 số phần nguyên của nhiệt độ). Bước 4: In ra dấu “,”. Bước 5: In ra 4 số sau dấu “,” dạng thập phân (4 bít thấp nhất). VD: +10.125˚C là FF5Eh
  • 24. 18 https://thuviengiaoan.vn/ 3.2.2 Khối hiển thị nhiệt độ Để hiển thị hình ảnh lên led ma trận ta sử dụng module 4 led ma trận với IC MAX7219 Hiển thị Module led ma trận thông qua Arduino, chúng ta cần sử dụng các thư viện sau: • Thư viện MD_Parola.h • Thư viện MD_MAX72xx.h Sơ đồ kết nối với Arduino: MODULE LED MA TRẬN ARDUINO VCC 5V GND GND DIN_PIN 11 CLK_PIN 13 CS_PIN 10 Bảng 3. 2: Sơ đồ kết nối chân Led ma trận với Arduino Nguyên lý hoạt động của IC MAX7219 với led ma trận: 64 đèn LED được điều khiển bởi 16 chân đầu ra của IC. Số lượng tối đa của đèn LED sáng lên cùng một lúc là tám. Các đèn LED được sắp xếp thành 8 × 8 gồm hàng và cột. Vì vậy, MAX7219 kích hoạt mỗi cột trong một khoảng thời gian rất ngắn và đồng thời nó cũng điều khiển từng hàng. Vì vậy, bằng cách nhanh chóng chuyển qua các cột và hàng, mắt người sẽ chỉ nhận thấy một ánh sáng liên tục. Hình 3. 3: Sơ đồ kết nối giữa MAX7219 với led ma trận Lưu ý các chân của Ma trận LED 8 × 8 phổ biến được sắp xếp bên trong, vì
  • 25. 19 https://thuviengiaoan.vn/ vậy nếu bạn tự xây dựng một ma trận, bạn nên tìm hiểu nó. Cũng lưu ý rằng một bảng ngắt phổ biến cho MAX7219 đi kèm với một điện trở giữa 5V và chân IC 18. Điện trở được sử dụng để cài đặt độ sáng hoặc dòng điện cho đèn LED. Hình 3. 4: Điện trở điều chỉnh dòng điện Bảng dưới đây là dữ liệu của IC cho thấy giá trị của điện trở mà chúng ta nên sử dụng theo mức giảm điện áp chuyển tiếp của đèn LED. Hình 3. 5: Phân đoạn dòng điện so với bảng giảm điện áp chuyển tiếp từ dữ liệu Sơ đồ kết nối dây giữa module với Arduino:
  • 26. 20 https://thuviengiaoan.vn/ Hình 3. 6: Kết nối dây giữa module led ma trận với Arduino 3.2.3 Khối nút nhấn Sơ đồ kết nối dây với Arduino: Hình 3. 7: Kết nối nút nhấn với Arduino Sơ đồ kết nối chân : NÚT NHẤN ARDUINO VCC 5V GND GND Button1 3 Button2 4 Bảng 3. 3: Sơ đồ kết nối nút nhấn với Arduino Nguyên lý hoạt động: Sử dụng 2 nút nhấn (Button1 và Button 2) dùng để tăng, giảm và nhập nhiệt
  • 27. 21 https://thuviengiaoan.vn/ độ đặt. Khi bật nguồn khối hiển thị sẽ hiển thị 29℃. Nếu nhấn Button1 nhiệt độ chuẩn sẽ tăng từng độ, nhấn Button2 sẽ giảm nhiệt độ chuẩn và tính hiệu sẽ truyền về Aruino bắt đầu xử lý đèn. 3.2.4 Khối điều khiển đèn Sơ đồ kết nối với Arduino: Hình 3. 8: Kết nối điều khiển đèn với Arduino Hình 3. 9: Kết nối điều khiển quạt với Arduino Sơ đồ nối kết nối chân:
  • 28. 22 https://thuviengiaoan.vn/ RELAY ARDUINO VCC 5V GND GND RELAY1 1 RELAY2 0 Bảng 3. 4: Sơ đồ kết nối relay với Arduino Nguyên lý hoạt động: Sử dụng module relay 5V để đóng ngắt nguồn AC, bóng đèn được nối vào tiếp điểm NC(thường đóng) của relay. Khi nhiệt độ đặt lớn hơn nhiệt đọ chuẩn thì Arduino xuất tín hiệu đóng ngắt relay làm cho bóng đèn sáng lên, tăng nhiệt độ cảm biến và khi nhiệt độ thực lớn hơn nhiệt đọ đặt thì ngắt relay, tắt đèn 3.3. Thông số nguồn điện của các linh thiết bị TÊN THIẾT BỊ SỐ LƯỢNG DÒNG ĐIỆN ÁP ARDUINO UNO R3 1 30mA 5VDC MODUEL LED MA TRẬN 8x32 1 320mA 5VDC NÚT NHẤN 2 100mA 5VDC RELAY 2 80mA 5VDC QUẠT DC 1 1A 12VDC ĐÈN 1 ~0,1A 220V Bảng 3. 5: Thông số thiết bị Các thiết bịsử dụng ngồn 5V thì sử dụng chung một nguồn nuôi có sẵn từ Arduino và sử dụng Adapter để cấp nguồn cho Arduino, riêng quạt sử dụng Adapter 12VDC và đèn sử dụng nguồn 220VAC
  • 29. 23 https://thuviengiaoan.vn/ Hình 3. 10: Adapter 5V Thông số của Adapter: • Điện áp vào : 100-240 V • Điện áp ra : 5V-1A • Chiều dài cáp :1m • Đầu jack chẩn micro 3.4. Phần mềm và giải thuật 3.4.1 Phần mềm #include <MD_Parola.h> #include <MD_MAX72xx.h> #include <SPI.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 //Sensor DS18B20 am digitalen Pin 2 OneWire oneWire(ONE_WIRE_BUS); // tạo giao tiếp 1 dây DallasTemperature sensors(&oneWire);// đưa giao tiếp vào cảm biến int settemp=29; const uint16_t WAIT_TIME = 800; float nhietdo; #define MAX_DEVICES 4 #define CLK_PIN 13 #define DATA_PIN 11 #define CS_PIN 10 #define role1 1 #define role2 0 #define coi 6 const int buttonup =3; const int buttondown =4; int currentbuttonstate = 0; int previousbuttonstate=0 ;
  • 30. 24 https://thuviengiaoan.vn/ int currentbuttonstate1 =0; int previousbuttonstate1=0 ; MD_Parola P = MD_Parola(CS_PIN, MAX_DEVICES); void setup(void) { P.begin(); pinMode(buttonup,INPUT_PULLUP); pinMode(buttondown,INPUT_PULLUP); pinMode(role1,OUTPUT); pinMode(role2,OUTPUT); } void loop(void) { displaymatrix(); setheater1(); setbuttonup(); setbuttondown(); } void displaymatrix(){ sensors.requestTemperatures();// yêu cầu cảm biến đọc nhiệt độ nhietdo=sensors.getTempCByIndex(0);// lấy nhiệt độ trên cảm biến P.print(String(nhietdo)+"C"); } void setbuttonup(){ currentbuttonstate = digitalRead(buttonup); if (currentbuttonstate != previousbuttonstate){ // nếu trạng thái hiện tại thay đổi so với trạng thái trước if (currentbuttonstate== HIGH){ // nút nhấn dược nhấn settemp=settemp+1; settempup(); } } previousbuttonstate=currentbuttonstate; } void setbuttondown(){ currentbuttonstate1 = digitalRead(buttondown); if (currentbuttonstate1 != previousbuttonstate1){// nếu trạng thái hiện tại thay đổi so với trạng thái trước if (currentbuttonstate1== HIGH){// nút nhấn dược nhấn settemp=settemp-1; settempdown();
  • 31. 25 https://thuviengiaoan.vn/ } } previousbuttonstate1=currentbuttonstate1; } void settempup(){ P.print("Set:"+String(settemp)); delay(WAIT_TIME); } void settempdown(){ P.print("Set:"+String(settemp)); delay(WAIT_TIME); } void setheater1(){ if ((settemp) > (nhietdo + 0.5 ) ) { // nếu nhiệt độ đặt lớn hơn nhiệt độ hiện tại thì bật đèn, tắt quạt digitalWrite(role1, LOW); digitalWrite(role2, HIGH); } else if ((settemp) <= (nhietdo )){// nếu nhiệt độ đặt bé hơn hoặc bằng nhiệt độ thực thì bật quạt, tắt đèn digitalWrite(role2, LOW); digitalWrite(role1,HIGH ); } } 3.4.2 Lưu đồ giải thuật Bắt đầu Hiển thị 290 C (TĐặt = 290 C)
  • 32. 26 https://thuviengiaoan.vn/ Hình 3. 11: Sơ đồ giải thuật Y
  • 33. 27 https://thuviengiaoan.vn/ CHƯƠNG 4: ĐÁNH GIÁ VÀ KẾT LUẬN 4.1. Kết quả thực nghiệm - Hệ thống điều khiển tương đối ổn định, đáp ứng được yêu cầu của đề tài. - Hiển thị được nhiệt độ trên led ma trận - Cảm biến đọc nhiệt độ tương đối chính xác. Hình ảnh mô hình hoàn tất: Hình 4. 1: Mô hình điều khiển nhiệt độ hiển thị trên led ma trận (TĐẶT < TLÒ)
  • 34. 28 https://thuviengiaoan.vn/ Hình 4. 2: Mô hình điều khiển nhiệt độ hiển thị trên led ma trận (TĐẶT >TLÒ ) 4.2. Khuyết điểm - Đọc nhiệt độ từ môi trường vào chưa tuyệt đối chính xác. - Do quá trình xử lý quạt DC, đèn AC hoạt động liên tục làm Relay được kích liên tục → tải dễ bị hỏng -Do sử dụng relay bật tắt nên chưa thể ổn định chính xác nhiệt thức so với nhiệt độ đặt 4.3. Hướng khắc phục và phát triển - Dùng cảm biến nhiệt độ khác, có độ ổn định hơn và đọc nhiệt độ chính xác hơn. - Đưa ra các giải thuật khác để lập trình hệ thống tối ưu hơn. - Với mạch ta có thể kết nối khác hơn, tiện lợi hơn như thay quạt và đèn bằng một thiết bị làm mát và làm nóng khác. - Có thể giao tiếp với máy tính để điều khiển nhiệt độ lò.