1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài thiết kế mạch cảm biến nhiệt độ có cảnh báo khi nhiệt độ lớn hơn 100 c

19 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế mạch cảm biến nhiệt độ có cảnh báo khi nhiệt độ lớn hơn 100oC
Tác giả Đoàn Hương Giang, Nguyễn Như Chiến, Lê Bá Dũng
Người hướng dẫn Thầy Đỗ Đình Hưng
Trường học Trường Đại học Mở Hà Nội
Chuyên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông
Thể loại Đồ án 1
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 2,81 MB

Nội dung

Sử dụng công nghệ đơn giản và phổ biến:Việc sử dụng Vi điều khiển Arduino Uno và cảm biến GY-906, màn hình LCD, giao tiếp I2C, Ứng dụng Arduino IDE, Ứng dụng Fritzing làm nền tảng chính

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA ĐIỆN – ĐIỆN TỬ

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập – Tự do – Hạnh phúc

BÁO CÁOMÔN: ĐỒ ÁN 1

ĐỀ TÀI:

THIẾT KẾ MẠCH CẢM BIẾN NHIỆT ĐỘ CÓ

Giảng viên hướng dẫn:

Nhóm sinh viên thực hiện: Thầy Đỗ Đình HưngĐoàn Hương GiangNguyễn Như Chiến

Trang 2

MỤC LỤC

DANH SÁCH THÀNH VIÊN THAM GIA THỰC HIỆN ĐỀ TÀI 3

MỞ ĐẦU 4

I.LÝ DO CHỌN ĐỀ TÀI 4

II Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI 4

III MỤC TIÊU NGHIÊN CỨU 5

IV THỜI GIAN VÀ ĐỊA ĐIỂM NGHIÊN CỨU 5

TÓM TẮT ĐỀ TÀI 6

NỘI DUNG 7

I.TỔNG QUAN 7

1 GIỚI THIỆU CHUNG VỀ ARDUINO 7

2 GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN ARDUINO UNO 7

3 GIỚI THIỆU CHUNG VỀ GIAO THỨC GIAO TIẾP I2C 9

4 GIỚI THIỆU CHUNG VỀ CẢM BIẾN ĐO NHIỆT ĐỘ HỒNG NGOẠI KHÔNG TIẾP XÚC GY-906 10

5 GIỚI THIỆU CHUNG VỀ MÀN HÌNH LCD 16x2 10

6 GIỚI THIỆU CHUNG VỀ ARDUINO IDE VÀ NGÔN NGỮ LẬP TRÌNH CHO ARDUINO 11

7 GIỚI THIỆU VỀ PHẦN MỀM MÔ PHỎNG FRITZING 12

II MẠCH CẢM BIẾN NHIỆT ĐỘ CÓ CẢNH BÁO KHI NHIỆT ĐỘ LỚN HƠN

Trang 3

DANH SÁCH THÀNH VIÊN THAM GIA THỰC HIỆN ĐỀ TÀI

Trang 4

MỞ ĐẦU

I.LÝ DO CHỌN ĐỀ TÀI1 Nhu cầu thực tế:

Các ứng dụng công nghiệp và môi trường làm việc như lò nung, máy móc sản xuất, hoặc các quy trình công nghiệp đòi hỏi giám sát nhiệt độ chặt chẽ để đảm bảo an toàn và chất lượng sản phẩm, giám sát nhiệt độ nhà kính…

2 An toàn và bảo quản:

Giữ cho môi trường làm việc ở mức nhiệt độ an toàn là một ưu điểm lớn để tranh nguy cơ cháy nổ, hỏng hóc thiết bị, hoặc làm suy giảm hiệu suất các quy trình công nghiệp…

3 Phát hiện sớm vấn đề:

Một hệ thống cảnh báo nhiệt độ có thể giúp phát hiện sớm bất kỳ sự cố nào có thể xảy ra và thực hiện các biện pháp khắc phục kịp thời, giảm thiểu tổn thất và rủi ro.

4 Ứng dụng rộng rãi:

Có thể triển khai hệ thống trong nhiều lĩnh vực khác nhau, từ công nghiệp đến dân dụng, đáp ứng nhu cầu đa dạng của xã hội và doanh nghiệp.

5 Sử dụng công nghệ đơn giản và phổ biến:

Việc sử dụng Vi điều khiển Arduino Uno và cảm biến GY-906, màn hình LCD, giao tiếp I2C, Ứng dụng Arduino IDE, Ứng dụng Fritzing làm nền tảng chính giúp đơn giản hoá quá trình phát triển và triển khai.

6 Tiềm năng ứng dụng tương lai

Một hệ thống cảnh báo nhiệt độ có thể làm cơ sở cho các phát triển tương lai, bao gồm tích hợp các hệ thống tự động thông minh, kết nối với các thiết bị IoT…

7 Giáo dục và nghiên cứu

Đề tài có thể cung cấp cơ hội cho sinh viên hoặc người nghiên cứu mới tham gia vào lĩnh vực IoT và công nghệ đo lường, thúc đẩy sự hiểu biết, kỹ năng của người học

Tóm lại, đề tài “Thiết kế mạch cảm biến nhiệt độ có cảnh báo khi nhiệt độ lớn hơn 100 C” không chỉ mang lại giá trị giá trị thực tế mà còn đáp ứng nhu ocầu rộng rãi trong nhiều lĩnh vực, từ công nghiệp đến dân dụng.

II Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI1 Ý NGHĨA KHOA HỌC

Trang 5

- Nghiên cứu công nghệ cảm biến: Mở rộng kiến thức về Cảm biến nhiệt

độ không tiếp xúc GY-906

- Ứng dụng công nghệ vi điều khiển: Nghiên cứu và áp dụng công nghệ

Arduino Uno cho việc giám sát và điều khiển thiết bị, đồng thời cải thiện kỹ năng lập trình và sử dụng nền tảng phần cứng mã nguồn mở

- Hiểu và biết sử dụng phần mềm mô phỏng Fritzing- Phát triển tư duy lập trình và giải thuật

- Phát triển kiến thức về quản lý nhiệt độ2 Ý NGHĨA THỰC TIỄN

- Phòng tránh rủi ro: Đề tài mang lại giá trị thực tiễn trong việc nâng cao

an toàn, giám sát nhiệt độ trong các môi trường công nghiệp và sản xuất, nhà ở, giúp giảm nguy cơ cháy nổ và thiệt hại về thiết bị, con người

- Giáo dục và đào tạo: Cung cấp cơ hội học hỏi và thực hành cho sinh

viên và những người mới vào lĩnh vực công nghệ và điện tử.

- Đóng góp vào phát triển công nghệ 4.0: Đề tài này có thể coi là một

phần nhỏ của xu hướng Công nghiệp 4.0, giúp các doanh nghiệp và tổ chức thích ứng với các tiêu chuẩn công nghiệp mới.

III MỤC TIÊU NGHIÊN CỨU

- Xây dựng mạch cảm biến nhiệt độ: Phát triển một mạch cảm biến nhiệt độ

sử dụng cảm biến GY-906 và Arduino Uno R3, có khả năng đo nhiệt độ từ xa mà không tiếp xúc trực tiếp với vật thể, và cảnh báo nhiệt độ qua việc hiển thị trên màn hình LCD 16x2

- Giao tiếp và đọc dữ liệu: Kết nối cảm biển GY-906, màn hình LCD với

Arduino Uno thông qua giao tiếp I2C; Mô phỏng mạch trên phần mềm Fritzing; Lập trình arduino để đọc dữ liệu nhiệt độ từ cảm biến.

- Hướng phát triển tương lai: Kết nối không dây, mở rộng tính năng cảm

biến, kết hợp với hệ thống giám sát tự động, hệ thống IoT

- Ứng dụng thực tế: Giám sát nhiệt độ nhà kính, môi trường công nghiệp, các

nơi đòi hỏi giám sát nhiệt độ chặt chẽ.

- Xây dựng một hệ thống giám sát nhiệt độ đơn giản, nhưng hiệu quả và có

thể áp dụng rộng rãi trong nhiều lĩnh vực khác nhau.

IV THỜI GIAN VÀ ĐỊA ĐIỂM NGHIÊN CỨU

- Thời gian nghiên cứu: Từ tháng 9/2023 đến tháng 11/2023

- Địa điểm nghiên cứu: Cơ sở 422 Vĩnh Hưng, khoa Điện – Điện tử, trường

Đại học Mở Hà Nội

Trang 6

TÓM TẮT ĐỀ TÀI

Đề tài “Thiết kế mạch cảm biến nhiệt độ có cảnh báo khi nhiệt độ lớn hơn

100 C”o được nhóm xây dựng dựa trên Vi điều khiển Arduino Uno R3 kết hợp với Cảm biến đo nhiệt độ không tiếp xúc GY-906 và hiển thị lên màn hình LCD 16x2 để cảnh báo khi nhiệt độ lớn hơn 100 C bằng phương thức giao tiếp I2C o

- Mục tiêu: Phát triển một mạch cảm biến nhiệt độ sử dụng Arduino Uno R3 và cảm biến đo nhiệt độ không tiếp xúc GY-906, sử dụng giao tiếp I2C để kết nối giữa Vi điều khiển, Cảm biến GY-906 và LCD để hiển thi nhiệt độ đo được từ cảm biến.

- Ứng dụng: Đề xuất các ứng dụng thực tế như: Giám sát nhiệt độ trong các quy trình sản xuất, lò nung, nhiệt độ nhà kính, môi trường nơi cần kiểm soát nhiệt độ chặt chẽ v.v…

- Hướng phát triển: Mở rộng tính năng, ví dụ như tích hợp kết nối không dây để theo dõi từ xa, tích hợp với hệ thống giám sát tự động khác, tích hợp với hệ thống chữa cháy v.v…

Tóm lại, đề tài này tập trung vào việc xây dựng một hệ thống giám sát nhiệt độ đơn giản và có thể ứng dụng rộng rãi trong nhiều lĩnh vực.

Trang 7

NỘI DUNG

I TỔNG QUAN

1 GIỚI THIỆU CHUNG VỀ ARDUINO

Arduino là một nền tảng mà mọi thiết bị phần cứng đều được làm sẵn và chuẩn hóa người dùng chỉ việc chọn những thứ mình cần, ráp lại là có thể chạy, được

Giống như một con người với “thể xác” đã được xây dựng sẵn, một hệ thống Arduino phải có “tâm hồn” để có thể “sống” Và có thể gọi việc tạo ra “tâm hồn” ấy là “Lập trình” Tuy nhiên chúng ta sẽ không phải lập trình từ A đến Z Mỗi thứ phần cứng gắn mác “Arduino” đều có những đoạn lệnh đã được viết sẵn (gọi là thư viện) do cộng đồng người dùng Arduino cùng phát triển Chúng ta chỉ việc bưng vào và xào nấu lại theo ý muốn của mình Tới đây, Chúng ta đã giải quyết được vấn đề thứ 2.

Chính vì tính tiện lợi và đơn giản cho người sử dụng mà Arduino đã trở thành một hiện tượng trong làng điện tử thế giới Những sản phẩm của cộng đồng người dùng Arduino cũng như những thiết bị hỗ trợ Arduino lớn đến mức không thể thống kê được Nó phát triển đến mức mà ta có thể gọi nó là một hệ sinh thái đa dạng như tiêu đề - giống như Windows hay Android

Hình ảnh: Những thành viên khởi xướng Arduino

(Hình ảnh tham khảo trên Internet)

2 GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN ARDUINO UNO

Trang 8

Hình ảnh Vi điều khiển Arduino Uno

Arduino Uno là một bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển AVR Atmega328 Cấu tạo chính của Arduino Uno bao gồm các phần sau:

- Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều

khiển Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính.

- Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên,

nhưng không phải lúc nào cũng có thể cắm với máy tính được Lúc đó ta cần một nguồn từ 9V đến 12V.

- Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF).

- Vi điều khiển AVR: đây là bộ xử lí trung tâm của toàn bo mạch Với mỗi

mẫu Arduino khác nhau thì con chip là khác nhau Ở con Arduino Uno này thì sử dụng ATMega328.

- Các thông số chi tiết của Arduino Uno:

Điện áp đầu vào: 7-12V Điện áp đầu vào (Giới hạn): 6-20V Chân vào/ra (I/O) số: 14 (6 chân có thể cho đầu ra PWM)

Dòng điện trong mỗi chân I/O: 40mA Dòng điện chân nguồn 3.3V: 50mA

Trang 9

Bộ nhớ trong: 32 KB (ATmega328)

3 GIỚI THIỆU CHUNG VỀ GIAO THỨC GIAO TIẾP I2CGiới thiệu chung

- I2C là tên viết tắt của cụm từ tiếng anh “Inter-Integrated Circuit” Nó là một giao thức giao tiếp được phát triển bởi Philips Semiconductors để truyền dữ liệu giữa một bộ xử lý trung tâm với nhiều IC trên cùng một board mạch chỉ sử dụng hai đường truyền tín hiệu.

- Do tính đơn giản của nó nên loại giao thức này được sử dụng rộng rãi cho giao tiếp giữa vi điều khiển và mảng cảm biến, các thiết bị hiển thị, thiết bị IoT, EEPROMs, v.v …

- Đây là một loại giao thức giao tiếp nối tiếp đồng bộ Nó có nghĩa là các bit dữ liệu được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi một tín hiệu đồng hồ tham chiếu.

Một số đặc điểm quan trọng của giao thức giao tiếp I2C:

- Chỉ cần có hai đường bus (dây) chung để điều khiển bất kỳ thiết bị / IC nào trên mạng I2C

- Không cần thỏa thuận trước về tốc độ truyền dữ liệu như trong giao tiếp UART Vì vậy, tốc độ truyền dữ liệu có thể được điều chỉnh bất cứ khi nào cần thiết

- Cơ chế đơn giản để xác thực dữ liệu được truyền

- Sử dụng hệ thống địa chỉ 7 bit để xác định một thiết bị / IC cụ thể trên bus I2C

- Các mạng I2C dễ dàng mở rộng Các thiết bị mới có thể được kết nối đơn giản với hai đường bus chung I2C

Phần cứng:

- Bus I2C (dây giao tiếp) chỉ gồm hai dây và được đặt tên là Serial Clock Line (SCL) và Serial Data Line (SDA) Dữ liệu được truyền đi được gửi qua dây SDA và được đồng bộ với tín hiệu đồng hồ (clock) từ SCL Tất cả các thiết bị / IC trên mạng I2C được kết nối với cùng đường SCL và SDA như sau:

Trang 10

- Cả hai đường bus I2C (SDA, SCL) đều hoạt động như các bộ lái cực máng hở (open drain) Nó có nghĩa là bất kỳ thiết bị / IC trên mạng I2C có thể lái SDA và SCL xuống mức thấp, nhưng không thể lái chúng lên mức cao Vì vậy, một điện trở kéo lên (khoảng 1 kΩ đến 4,7 kΩ) được sử dụng cho mỗi đường bus, để giữ cho chúng ở mức cao (ở điện áp dương) theo mặc định.

- Lý do sử dụng một hệ thống cực máng hở (open drain) là để không xảy ra hiện tượng ngắn mạch, điều này có thể xảy ra khi một thiết bị cố gắng kéo đường dây lên cao và một số thiết bị khác cố gắng kéo đường dây xuống thấp.

4 GIỚI THIỆU CHUNG VỀ CẢM BIẾN ĐO NHIỆT ĐỘ HỒNG NGOẠI KHÔNG TIẾP XÚC GY-906

Cảm biến nhiệt độ hồng ngoại không tiếp xúc GY-906 - Sử dụng chip: MLX90614ESF-BCC - Nguồn điện: 3-5v

- Phương thức giao tiếp: I2C.

Đâu là một loại cảm biến nhiệt độ hồng ngoại GY-906 không biết xúc để sử dụng với Arduino hoặc bất kỳ bộ vi điều khiển nào có thể giao tiếp với nó thông qua chuẩn I2C

Hình ảnh Cảm biến nhiệt độ hồng ngoại không tiếp xúc GY-906 MLX90614

5 GIỚI THIỆU CHUNG VỀ MÀN HÌNH LCD 16x2

Trang 11

Hình ảnh Màn hình LCD 16x2 đã hàn mạch I2C

Màn hình text LCD 1602 kèm module I2C sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án.

Màn hình LCD được hàn sẵn module giao tiếp I2C giúp việc giao tiếp được dễ dàng và nhanh chóng hơn rất nhiều, người dùng không phải tốn công hàn I2C, mà giá thành lại rẻ hơn mua từng món.

6 GIỚI THIỆU CHUNG VỀ ARDUINO IDE VÀ NGÔN NGỮ LẬP TRÌNH CHO ARDUINO

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

Trang 12

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/

7 GIỚI THIỆU VỀ PHẦN MỀM MÔ PHỎNG FRITZING

Giao diện phần mềm mô phỏng Fritzing

Fritzing cho phép thiết kế PCB thông qua việc đặt các bộ phận, lớp và tuyến đường Nếu phần kiến không tồn tại trong thư viện phần Fritzing, bạn có thể chỉnh sửa chúng bằng trình chỉnh sửa phần Sau khi hoàn thành, bạn có thể chia sẻ các dự án của mình với cộng đồng trực tuyến lớn của Fritzing, nơi có phòng trưng bày dự án cho người mới bắt đầu, cũng như người dùng nâng cao.

Fritzing là một ứng dụng thiết kế PCB hữu ích cho những người có sở thích và nhà thiết kế nghiêm túc Phần mềm này cung cấp các khung nhìn động và các công cụ để tùy chỉnh các dự án điện tử, điều này khiến Fritzing trở thành một lựa chọn chất lượng để thiết kế và chia sẻ PCB.

Trang 13

- Fritzing là một ứng dụng nguồn mở được sử dụng để phát triển các dự

án mạch điện tử Phần mềm ban đầu được phát triển bởi các nhà nghiên cứu tại Đại học Khoa học Ứng dụng Potsdam ở Đức nhưng sau đó đã mở rộng cho

- Chế độ xem sơ đồ - Xem và chỉnh sửa biểu diễn chính thức của mạch.- Chế độ xem PCB - Đặt các bộ phận trên PCB và xuất nó để chia sẻ

hoặc đưa vào sản xuất.

- Chế độ xem mã - Xem và sửa đổi mã và tải nó lên thiết bị Arduino.II MẠCH CẢM BIẾN NHIỆT ĐỘ CÓ CẢNH BÁO KHI NHIỆT ĐỘ LỚN HƠN 100 Co

1 Cấu tạo mạch gồm

- Vi điều khiển Arduino Uno: 1 chiếc

- Cảm biến nhiệt độ hồng ngoại không tiếp xúc GY-906 MX90614: 1

- Màn hình LCD 16x2 I2C: 1 chiếc2 Bản vẽ kết nối mạch và phần lập trình

a Bản vẽ trên phần mềm mô phỏng Fritzing

Hình ảnh Bản vẽ kết nối mạch mô phỏng trên phần mềm mô phỏng Fritzing

Trang 16

Sơ đồ khối Nguyên lý hoạt động của mạch

Trang 17

III.KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN1 Kết quả

a Các bước thực hiện

Bước 1: Lựa chọn giải pháp, giải quyết vấn đề

Bước 2: Kết nối các module, viết chương trình chạy thử nghiệm Bước 3: Đính cố định các module vào khung

Bước 4: Thử nghiệm và đánh giá Bước 5: Chỉnh sửa và hoàn thiện

b Kết quả

- Mạch hoạt động ổn định- Thao tác đơn giản, dễ sử dụng- Đảm bảo an toàn khi hoạt động2 Hướng phát triển

Căn cứ vào quá trình vận hành và các ý kiến đóng góp, chúng em sẽ tiếp tục cải tiến và hoàn thiện sản phẩm theo các hướng sau:

- Tiến hành thay thế các module hiện đại hơn để đo nhiệt độ chính xác

nhất có thể

- Bổ sung tính năng: Điều khiển từ xa, gửi cảnh báo về thiết bị di

động (Máy tính bảng, điện thoại di động…)

- Cải thiện thiết kế của mô hình…

Trang 18

TÀI LIỆU THAM KHẢO

Trang 19

LỜI CẢM ƠN

Chúng em xin gửi lời cảm ơn sâu sắc đến: Trường Đại học Mở Hà Nội, khoa Điện – Điện tử đã tạo điều kiện cho chúng em được học tập và thực hành môn học Đồ án 1 này.

Chúng em xin trân trọng cảm ơn sự hướng dẫn, tận tình chỉ bảo của thầy Đỗ Đình Hưng, cùng các thầy cô giáo khoa Điện – Điện tử, trường Đại học Mở Hà Nội, để chúng em được học tập và hoàn thành tốt báo cáo đề tài môn Đồ án

Ngày đăng: 08/04/2024, 12:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w