Xem mẫu
- 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
-
TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT N
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ Độ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
- TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ Độc lập Tự do Hạnh phúc
TP. HCM, ngày….tháng…..năm……..
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 Nguyễn Phú Công
2032170077
Đá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:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
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”
- MỤC LỤC
DANH MỤC HÌNH ẢNH
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. : Đ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
10
- để 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
11
- 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. : Cảm biến DS18B20
Hình 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.
12
- Độ 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
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 (1wire).
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. : 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 1wire, 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 1wire 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:
13
- Hình 2. : 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 đó:
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. : Cấu trúc vùng nhớ DS18B20
̣ ̣ ̣ ̉
Viêc đo nhiêt đô cua DS18B20 đ ược thực hiên theo t
̣ ưng l
̀ ần lấy mẫu. Môĩ
lần lấy mẫu được ngăn cach b ́ ởi 1 tin hiêu reset va 1 presence pulse. Reset đ
́ ̣ ̀ ược
xem như qua trinh ngăn cach va kh
́ ̀ ́ ̀ ởi đông lai qua trinh đo nhiêt đô m
̣ ̣ ́ ̀ ̣ ̣ ới, presence
pulse giông nh
́ ư tin hiêu bao hiêu cho VDK biêt la DS18B20 đang co 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:
14
- Hình 2. : Lưu đồ lệnh ROM
Lưu đồ lệnh chức năng DS18B20 được trình bày bên dưới:
15
- Hình 2. : Lưu đồ lệnh chức năng DS18B20
Thời gian khởi tạo:
16
- Hình 2. : Khe thời gian khởi tạo
Giản đồ khe thời gian đọc viết:
Hình 2. : 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.
17
- Hình 2. : Arduino Uno R3
2.2.2 Một vài thông số của Arduino Uno R3
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
712V DC
dùng
Điện áp vào giới hạn 620V 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
30 mA
chân I/O
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
32 KB (ATmega328) với 0.5KB dùng
Bộ nhớ flash
bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Bảng 2. : Một vài thông số của Arduino UNO
Hình 2. : 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
18
- nguồn ngoài với điện áp khuyên dùng là 712V DC và giới hạn là 620V. 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à
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ớ
19
- 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.
2.2.5 Các cổng vào ra
Hình 2. : 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ở pullup 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
20
nguon tai.lieu . vn