1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế mạch đo nhiệt độ và thực hiện điều khiển thông qua kết nối Ethernet bằng tay hoặc điều tự động.

34 321 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

Định dạng
Số trang 34
Dung lượng 3,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

thiết kế ra được mạch đo nhiệt độ và thực hiện điều khiển thông qua kết nối Ethernet bằng tay hoặc điều tự động.+ Thực hiện giao diện điều khiển với thiết bị điện lưới 220V.+ Đo đạc thông số nhiệt độ giám sát trên máy tính kết nối trong mạng LAN.+ Cấu hình ngưỡng tự động điều khiển theo nhiệt độ.+ Thực hiện điều khiển từ xa qua mạng LAN sử dụng giao diện điều khiển trên PC.

Trang 1

MỤC LỤC

Trang

Trang 2

LỜI MỞ ĐẦUNgày nay cùng với sự phát triển của khoa học công nghệ,đặc biệt là cuộc cách mạng 4.0 đã mở ra cho chúng ta nhiềuthành quả và thách thức trên lĩnh vực này Một trong nhữngthành quả và thách thức đó là thiết bị thông minh điều khiển vàgiám sát từ xa được tạo ra và đang trên đà cải tiến, trong đó cóIOT (Internet of thing) gọi là internet kết nối vạn vật

Dựa trên kiến thức được học về môn vi xử lý và điều khiển,kết hợp với thực tế công nghệ, tài nguyên có sẵn, chúng em đãnghiên cứu và thiết kế ra được mạch đo nhiệt độ và thực hiệnđiều khiển thông qua kết nối Ethernet bằng tay hoặc điều tựđộng

Nội dung thực hiện:

- Sử dụng bảng mạch trung tâm Adruino

- Miêu tả chức năng hoạt động:

+ Thực hiện giao diện điều khiển với thiết bị điện lưới 220V.+ Đo đạc thông số nhiệt độ giám sát trên máy tính kết nốitrong mạng LAN

+ Cấu hình ngưỡng tự động điều khiển theo nhiệt độ

+ Thực hiện điều khiển từ xa qua mạng LAN sử dụng giao diện điều khiển trên PC

Trang 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ỨNG DỤNG

1.1. Tổng quan về cấu trúc phần cứng board mạch arduino R3

Hình 1.1: Arduino UNO R3

1.1.1 Một vài thông số của Arduino UNO R3

Vi điều khiển ATmega328P họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Điện áp vào khuyên dùng 7-12V DC

Điện áp vào giới hạn 6-20V DC

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Số chân Digital I/O 14 (6 chân hardware PWM)

Trang 4

ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác

1.1.4 Các chân năng lượng

• GND (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êngbiệ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 ArduinoUNO, bạn nối cực dương của nguồn với chân này và cực âm củanguồ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

Trang 5

dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụngbở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Ω

1.1.5 Bộ nhớ

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho ngườidùng:

• 32KB bộ nhớ Flash: những đoạn lệnh 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, 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 khai báo khi lập trình sẽ lưu ở đây Khai báo càng nhiềubiến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũnghiếm khi nào bộ nhớ RAM lại trở thành thứ phải bận tâm Khimấ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

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

1.1.6 Các cổng vào ra

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tínhiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ratố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ốibluetooth thường thấy nói nôm na chính là kết nối Serial khôngdây Nếu không cần giao tiếp Serial, không nên sử dụng 2 chânnày nếu không cần thiết

• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép xuất

Trang 6

có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5Vthay 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, ta 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 đượcngười dùng sử dụng, LED sẽ sáng

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độphân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trongkhoảng 0V → 5V Với chân AREF trên board, có thể để đưa vàođiện áp tham chiếu khi sử dụng các chân analog Tức là nếu cấpđiện áp 2.5V vào chân này thì ta có thể dùng các chân analog

để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạchArduino, nhóm phát triển dự án này đã cũng cấp đến cho ngườidùng một môi trường lập trình Arduino được gọi là Arduino IDE(Intergrated Development Environment)

Trang 7

1.2 Một số khối chức năng của Atmega328 được sử dụng trong đề tài

1.2.1 Khối truyền thông SPI

Hình 1.2: Khối truyền thông SPI

Các chân giao tiếp SPI trên ATMega328 lần lượt là:

Trang 9

• ADC3 - chân số A3

• ADC4 - chân số A4

• ADC5 - chân số A5

1.3 Các khối ngoại vi trong ứng dụng

Khối ngoại vi sử dụng trong đề tài là Arduino EthernetShield

1.3.1 Cấu tạo

Hình 1.4: Cấu tạo Arduino Ethernet Shield

Trang 10

1.3.2 Cách thức ghép nối

Hình 1.5: Cách thức ghép nối Arduino Ethernet Shield

- Chân nguồn 5V và chân GND của Arduino Ethernet Shieldnối lần lượt với chân nguồn 5V và chân GND của Arduino UNOR3

- Các chân 10, 11, 12, 13 của Arduino Ethernet Shield nốilần lượt với các chân 10, 11, 12, 13 của Arduino UNO R3 thôngqua giao tiếp SPI

- Chân số 4 của Arduino Ethernet Shield nối với chân số 4của Arduino UNO R3 dùng để kết nối thẻ nhớ

Trang 11

CHƯƠNG 2: THIẾT KẾ CHẾ TẠO MẠCH

2.1 Sơ đồ khối và cấu tạo

2.1.1 Sơ đồ khối

Hình 2.1: Sơ

đồ khối

2.1.2 Cấu tạo:

trình, cái đầu tiên mà người ta thường nói tới

chính là dòng Arduino UNO Arduino UNO R3 là phiên bản mới

nhất của dòng Arduino UNO, đây là dòng phổ biến và dễ sửdụng nhất trong các dòng Arduino hiện nay cũng như tươngthích với nhiều loại Arduino Shield nhất

Arduino UNO có thể sử dụng vi điều khiển ATmega328 Bộnão này có thể xử lí những tác vụ đơn giản như điều khiển đènLED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm mộttrạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… và rấtnhiều ứng dụng khác Nó có 14 chân đầu vào / ra Digital (trong

đó 6 chân có thể được sử dụng làm đầu ra PWM), 6 đầu vàoAnalog, tinh thể thạch anh 16 MHz, kết nối USB, giắc cắmnguồn, ICSP header và nút RESET Nó chứa mọi thứ cần thiết để

hỗ trợ cho vi điều khiển Chỉ cần kết nối nó với máy tính bằngcáp USB hoặc cấp nguồn cho nó bằng bộ chuyển đổi AC-DChoặc pin là có thể sử dụng

Trang 12

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân đầu ra xung PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi

Trang 13

Arduino Ethernet Shield cho phép một bảng mạch

Arduino kết nối với internet Nó sử dụng chip W5100 cho tốc độ

và khả năng kết nối ổn định nhất, bộ thư viện đi kèm và phầncứng với cách kết nối dễ dàng khiến cho việc kết vối Arduino vớiEthernet đơn giản hơn bao giờ hết, thích hợp để làm các ứngdụng điều khiển thiết bị qua Ethernet, Ethernet Controller

IC điều khiển W5100 có thể thực hiện truyền dữ liệu thôngqua cả 2 giao thức là TCP và UDP Số đường truyền dữ liệu songsong tối đa là 4 Đây chính là điểm mạnh của W5100 so vớiMicrochip ENC28J60 Khả năng truyền song song cùng lúc 4luồng dữ liệu giúp board có khả năng nhận dữ liệu với tỉ lệ lỗithấp hơn

Hình 2.3: Ethernet Shield Wiznet W5100

Ethernet Shield Wiznet W5100 có trang bị sẵn khe cắmmicroSD card Khe cắm microSD card trên bo mạch có thể được

sử dụng để lưu trữ các tệp phục vụ cho việc kết nối và điềukhiển qua mạng Nó tương thích với Arduino Uno và Mega (sửdụng thư viện Ethernet) Có thể truy cập vào khe cắm thẻ SDtrên bo mạch bằng thư viện SD có trong các ngôn ngữ lập trìnhArduino Arduino giao tiếp với khe cắm microSD thông qua cácchân SPI và chân select là chân số 4 Vì vậy, khi sử dụngEthernet Shield, Arduino không thể dùng 2 chân số 10 và số 4

do 2 chân này được Ethernet Shield sử dụng

Trang 14

Hình 2.4: microSD card

b) Thông số kỹ thuật

• Để sử dụng phải có board mạch Arduino đi kèm

• Hoạt động tại điện áp 5V (được cấp từ mạch Arduino)

• Chip Ethernet: W5100 với bộ nhớ đệm 16KB

• Tốc độ kết nối: 10/100Mb

• Kết nối với mạch Arduino qua cổng SPI (Chân số 10)

• Thư viện và code mẫu có sẵn trong chương trình Arduino

1.1.2.3 Cảm biến LM35

a) Tổng quan

Cảm biến nhiệt độ LM35 là một loại cảm biến tương tự.

Với ưu điểm như hoạt động khá chính xác với sai số ít, kíchthước nhỏ và giá thành thấp, IC cảm biến nhiệt độ LM35 là mộttrong những cảm biến tương tự được sử dụng rất nhiều trongcác ứng dụng đo nhiệt độ thời gian thực với điện áp đầu ra tỷ lệtuyến tính với Độ C Cảm biến LM35 có lợi thế hơn các cảm biếnnhiệt độ tuyến tính được hiệu chỉnh ở Kelvin, vì người dùngkhông cần phải trừ một điện áp không đổi lớn từ đầu ra để cóđược tỷ lệ thuận tiện Trở kháng đầu ra thấp, đầu ra tuyến tính

và hiệu chuẩn vốn có của thiết bị LM35 khá ổn định làm choviệc can thiệp vào mạch đọc hoặc điều khiển đặc biệt dễ dàng

Vì thiết bị LM35 chỉ sử dụng 60 µA từ nguồn cung cấp, nên nó

có khả năng tự làm nóng rất thấp dưới 0,1°C trong điều kiệnbình thường Cấu tạo của cảm biến gồm 3 chân, chân VCC, chânGND và chân thứ ba còn lại cung cấp một đầu ra tương tự

Trang 15

Hình 2.5: Cảm biến LM35

b) Thông số kĩ thuật

• Điện áp hoạt động: 4 ~ 30VDC

• Điện áp đầu ra: -1 ~ 6VDC

• Công suất tiêu thụ: 60uA

• Khoảng đo nhiệt độ: -55°C đến 150°C

• Nhiệt độ thay đổi tuyến tính: 10mV/°C

• Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°Cngoài khoảng 2°C tới 150°C

• Kiểu chân: TO92

• Kích thước: 4.30mm × 4.30mm

1.1.2.4 Xây dựng giao diện điều khiển với HTML

a) Tổng quan về HTML

HTML (tiếng Anh, viết tắt cho HyperText Markup

Language, hay là "Ngôn ngữ Đánh dấu Siêu văn bản") là mộtngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang webvới các mẩu thông tin được trình bày trên World Wide Web.Cùng với CSS và JavaScript, HTML tạo ra bộ ba nền tảng kỹthuật cho World Wide Web HTML được định nghĩa như là mộtứng dụng đơn giản của SGML và được sử dụng trong các tổ chứccần đến các yêu cầu xuất bản phức tạp HTML đã trở thành mộtchuẩn Internet do tổ chức World Wide Web Consortium (W3C)duy trì

HTML là ngôn ngữ markup, nó rất trực tiếp dễ hiểu, dễ học,được đánh giá là đơn giản và tất cả mọi người mới đều có thểbắt đầu học nó để xây dựng website Mọi trang web, mọi trìnhduyệt web đều có thể hiển thị tốt ngôn ngữ HTML Hiện nay,phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt

Trang 16

Hình 2.6: HTML

HTML, theo đúng nghĩa của nó, là một loại ngôn ngữ đánhdấu siêu văn bản, thế nên các chức năng của nó cũng xoayquanh yếu tố này Cụ thể, HTML giúp cấu thành các cấu trúc cơbản trên một website (chia khung sườn, bố cục các thành phầntrang web) và góp phần hỗ trợ khai báo các tập tin kĩ thuật sốnhư video, nhạc, hình ảnh

Thế mạnh của HTML là khả năng xây dựng cấu trúc vàkhiến trang web đi vào quy củ một hệ thống hoàn chỉnh Nếubạn mong muốn sở hữu một website có cấu trúc tốt có mục đích

sử dụng nhiều loại yếu tố trong văn bản, hãy hỏi HTML Nhiều ýkiến cho rằng tùy theo mục đích sử dụng mà lập trình viên hayngười dùng có thể lựa chọn ngôn ngữ lập trình riêng chowebsite của bạn, tuy nhiên thực chất HTML chứa những yếu tốcần thiết mà dù website của bạn có thuộc thể loại nào, giao tiếpvới ngôn ngữ lập trình nào để xử lý dữ liệu thì nó vẫn phải cầnđến ngôn ngữ HTML để hiển thị nội dung cho người truy cập

Nói đúng hơn, dù website của bạn được xây dựng như thếnào, trên nên tảng nào thì nó cũng cần đến sự hỗ trợ của HTML,

dù ít dù nhiều Đối với các lập trình viên hay nhà phát triển web,

họ đều phải học HTML như một loại ngôn ngữ cơ bản trước khibắt tay vào thiết kế trang web nào

Như bất kỳ ngôn ngữ nào khác, HTML có những ưu vàkhuyết điểm riêng của nó:

Ưu điểm:

• Ngôn ngữ được sử dụng rộng lớn này có rất nhiềunguồn tài nguyên hỗ trợ và cộng đồng sử dụng cựclớn

Trang 17

• Sử dụng mượt mà trên hầu hết mọi trình duyệt.

• Có quá trình học đơn giản và trực tiếp

• Mã nguồn mở và hoàn toàn miễn phí

• Nó có thể thực thi một số logic nhất định cho ngườidùng Vì vậy, hầu hết các trang đều cần được tạoriêng biệt, kể cả khi nó sử dụng cùng các yếu tố, như

là headers hay footers

• Một số trình duyệt chậm hỗ trợ tính năng mới

• Khó kiểm soát cảnh thực thi của trình duyệt (ví dụ,những trình duyệt cũ không render được tag mới)

Với sự phát triển mạnh mẽ của công nghệ số mà trong đócác trang web ngày càng đóng vai trò chủ đạo, việc sở hữu mộttrang web hoàn thiện từ yếu tố bên ngoài cho đến nội dung bêntrong là yếu tố cần thiết đối với mọi người lập trình, và cáctrang web được viết bởi HTML hay có hỗ trợ HTML là lựa chọnkhôn ngoan dù thực hiện một công trình hay đề tài nào đi chăngnữa

b) Giao diện điều khiển đã xây dựng

Hình ảnh giao diện điều khiển được xây dựng bằng HTML

Trang 18

Hình 2.7: Giao diện điều khiển

Các chức năng chính trong giao diện điều khiển là hiển thịnhiệt độ phòng theo thời gian thực, cài đặt giá trị ngưỡng nhiệt

độ và điều khiển các thiết bị trong phòng máy

Khi truy cập vào địa chỉ trang web của giao diện điều khiểntrong trình duyệt web bất kỳ sẽ xuất hiện giao diện điều khiểntrên Nhiệt độ hiện tại của phòng máy sẽ được hiển thị theo thờigian thực Nhiệt độ sẽ được hiển thị dưới dạng Độ C và được cậpnhật liên tục 1s/lần

Phần Giá trị nhiệt độ ngưỡng hiển thị ngưỡng nhiệt độ tối

đa của phòng máy trước khi các thiết bị có chức năng cảnh báo

và làm mát phòng là chuông báo, quạt… hoạt động Các thiết bịnày sẽ tự động tắt khi nhiệt độ phòng giảm xuống dưới nhiệt độngưỡng được thiết lập Và ta có thể thay đổi ngưỡng nhiệt độnày bằng cách nhập giá trị ngưỡng cần thay đổi vào ô Thiết lậpnhiệt độ ngưỡng sau đó Click vào nút CẬP NHẬT Khi đó ngưỡngnhiệt độ sẽ được thay đổi

bị điện thông qua các cổng vào ra số

Trang 19

Module Ethernet shield kết nối với thẻ SD, trong thẻ SDchứa file HTM để tạo ra trang web Arduino tạo ra một địa chỉ IPcho Module Ethernet shield, đọc dữ liệu từ thẻ SD.

Kết nối máy tính với Module Ethernet shield qua dây mạng

RJ 45, vào web qua địa chỉ IP được tạo từ Arduino, giao diện web

sẽ hiển thị được thông số nhiệt độ, điều khiển được thiết bị vàthiết lập mức nhiệt độ ngưỡng (Mức nhiệt độ mà nếu vượt quá

sẽ thực hiện tự động bật thiết bị)

2.2.2 Nguyên lí từng phần

2.2.2.1 Đọc nhiệt độ từ cảm biến LM35

Cảm biến nhiệt độ LM35 là một loại cảm biến tương tự rất

hay được ứng dụng trong các ứng dụng đo nhiệt độ thời gianthực Vì nó hoạt động khá chính xác với sai số nhỏ, đồng thờivới kích thước nhỏ và giá thành rẻ là một trong những ưu điểmcủa nó Vì đây là cảm biến tương tự (analog sensor) nên ta cóthể dễ dàng đọc được giá trị của nó bằng hàm analogRead()

Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ racủa LM35

→ Đơn vị nhiệt độ: °C

→ Nhiệt độ thay đổi tuyến tính: 10mV/°C

Hình 2.8: Sơ đồ chân LM35

Ngày đăng: 09/12/2019, 23:46

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w