ĐẶT VẤN ĐỀ Hàng tháng, chúng ta phải luôn trả các hóa đơn điện – nước mà hầu như số tiền phải đóng lại ngày một tăng cao. Lý do ở đây là ta không thể hoàn toàn kiểm soát được mức điện – nước đã được sử dụng, bởi hầu như ta không có bất kỳ con số thống kê cụ thể nào cả, ngoài việc tự ước lượng. Hiện nay, trên thị trường cũng có bán các thiết bị để giám sát điện năng tiêu thụ với độ chính xác khá cao, nhưng giá thành thì lại không hề rẻ, cũng như hạn chế về mặt giám sát từ xa. Nhận thấy được điều này, nhóm chúng em muốn tạo ra một ứng dụng giúp cho các hộ gia đình có thể dễ dàng thống kê - giám sát được lượng điện - nước mà họ sử dụng hàng ngày; để từ đó họ có thể kiểm soát và đề ra phương án sử dụng một cách hiệu quả và tiết kiệm hơn.
Đó là lý do nhóm em quyết định lựa chọn và thực hiện đề tài “ỨNG DỤNG CÔNG NGHỆ IOT GIÁM SÁT MỨC TIÊU THỤ ĐIỆN - NƯỚC”. MỤC TIÊU Thiết kế một hệ thống tiến hành đo lượng điện – nước tiêu thụ, và đều đặn cập nhật các thông số đó lên một trang web-host để thuận tiện cho công việc giám sát. Hệ thống ứng dụng công nghệ IoT, giúp cho người dùng ở bất kỳ đâu cũng có thể dễ dàng truy cập được. Đồng thời, ứng dụng cũng xây dựng một hệ thống các user, giúp cho quản trị viên dễ dàng hơn trong việc kiểm soát thông tin người dùng.
NỘI DUNG NGHIÊN CỨU NỘI DUNG 1: Tìm hiểu và lựa chọn các giải pháp thiết kế. NỘI DUNG 2: Thu thập tài liệu về các cảm biến, module wifi, bộ vi xử lý, cũng như tìm kiếm một web host khả dụng. NỘI DUNG 3: Thiết kế, lập trình cho hệ thống điều khiển, chạy thử nghiệm. NỘI DUNG 4: Thiết kế mô hình, chỉnh sửa và cải tiến từ những phương án đã chọn SVTH: Nguyễn Hoàng Quân 10 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS.
Phan Thanh Hoàng Anh NỘI DUNG 5: Đánh giá kết quả thực hiện 1. GIỚI HẠN Hệ thống chỉ dừng lại ở công việc giám sát các thông số Mô hình không quá to để có thể dễ dàng sử dụng ở nhà Sử dụng nguồn điện lấy trực tiếp từ lưới điện gia đình. Sai số hệ thống chấp nhận được SVTH: Nguyễn Hoàng Quân 11 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh Chương 2.1 GIỚI THIỆU PHẦN CỨNG 2.1 Thiết bị đầu vào 2.1 Module cảm biến dòng điện ACS712 - 20A Để đo dòng điện AC, ta có thể dùng máy biến dòng CT, đây là một loại “công cụ đo lường dòng điện” được thiết kế nhằm tạo ra một dòng điện xoay chiều có cường độ tỷ lệ với cường độ dòng điện ban đầu.
Tuy nhiên, giá thành của thiết bị này khá là mắc. Ta có thể dùng cảm biến ACS712 được tích hợp sẵn vào module để thực hiện đo dòng điện với độ chính xác khá cao, kết nối đơn giản – thuận tiện và giá thành phải chăng.1 Hình ảnh của Module và IC cảm biến dòng ACS712 Module ở hình trên sử dụng cảm biến dòng điện ACS712 – đây là một cảm biến dòng tuyến tính dựa trên hiệu ứng Hall, giúp chuyển dòng điện cần đo thành giá trị điện thế. Chân ACS712 sẽ xuất ra một tín hiệu analog ở chân Vout biến đổi tuyến tính theo Ip (dòng điện cần đo) được lấy mẫu thứ cấp DC (hoặc AC) trong phạm vi cho phép. Tụ Cf dùng cho mục đích chống nhiễu.
Các thông số kỹ thuật của module ACS712 -20A: Đường tín hiệu analog có độ nhiễu thấp SVTH: Nguyễn Hoàng Quân 12 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5ìs Băng thông 80 Khz Tổng lỗi ngõ ra tại Ta = 25ºC là 1,5% Điện trở dây dẫn trong là 1,2mΩ Nguồn vận hành đơn : 5V Dòng tiêu thụ (max): 13mA Độ nhạy đầu ra từ 96 – 104mV/A Điện áp ngõ ra tương ứng với dòng AC hoặc DC Điện áp ngõ ra cực kỳ ổn định Ip: từ -20A đến 20A Nhiệt độ hoạt động từ -40 đến 85oC Ngoài ra còn có các loại cảm biến dòng khác như : ACS712 – 5A: khoảng đo từ -5A đến 5A, độ nhạy điện áp 180 - 190mV/A ACS712 – 30A: khoảng đo từ -30A đến 30A, độ nhạy điện áp 64 - 68mV/A Hình 2.2 Hình ảnh minh họa kết nối với module ACS712 SVTH: Nguyễn Hoàng Quân 13 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh 2.2 Cảm biến lưu lượng S201 Ta có thể sử dụng đồng hồ đo nước thông dụng để biết được lượng nước sinh hoạt đã sử dụng. Tuy nhiên, để có thể giám sát ở bất cứ đâu thông qua internet ứng dụng công nghệ IoT, ta cần phải sử dụng một cảm biến chuyên dụng, để đọc và gửi dữ liệu từ cảm biến về vi bộ xử lý.
Trong đề này sử dụng cảm biến lưu lượng S201 để đo. Cảm biến S201 bên trong có chứa một cánh quạt để đếm lượng chất lỏng chảy qua nó và có một cảm biến từ Hall xuất ra các xung khi có sự thay đổi trạng thái đầu ra. Cảm biến Hall được hàn kín trong ống để được an toàn và khô ráo.3 Hình ảnh của cảm biến lưu lượng S201 và kết nối Cảm biến lưu lượng có 3 dây: Dây đỏ: cấp nguồn 5V – 24VDC Dây đen: GND Dây vàng: ngõ ra của cảm biến Hall Thông số kỹ thuật của cảm biến S201: Điện áp làm việc: 5V – 24VDC Loại ngõ ra: 5V TTL Dòng điện cao nhất: 15mA (5V) SVTH: Nguyễn Hoàng Quân 14 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh Mức độ dòng chảy: từ 1 đến 30 L/phút Vận hành ở nhiệt độ: -25ºC – 80ºC Nhiệt độ dòng chảy: <120ºC Áp lực nước tối đa: 2Mpa Vận hành ở độ ẩm: 35% - 80% RH Sai số: 10% Số xung trên lít: 450 Thời gian xung ngõ ra ở mức cao: 0,04ìs Thời gian xung ngõ ra ở mức thấp: 0,18 ìs Với các tín hiệu xung ra là một dải xung vuông đơn giản, ta có thể dễ dàng đọc và tính được lưu lượng nước bằng việc đếm xung từ ngõ ra của cảm biến theo công thức sau: Tần số xung (Hz) / 7,5 = tốc độ dòng chảy (L / phút) Một số lưu ý khi sử dụng: Nên đặt cảm biến ở trên cùng dòng chảy Không cho dòng chảy có chất hóa học, ăn mòn Không chịu va đập khi sử dụng Đặt cảm biến thẳng đứng không lệch quá 5 độ Nhiệt độ nước chảy qua dưới 120 độ C SVTH: Nguyễn Hoàng Quân 15 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS.
Phan Thanh Hoàng Anh 2.2 Thiết bị đầu ra – Màn hình LCD 16x2 và mạch LCD I2C 2.1 LCD 16x2 LCD (Liquid Crystal Display) được sử dụng rất nhiều trong các ứng dụng vi điều khiển, nó có nhiều ưu điểm so với các dạng hiển thị khác như: khả năng hiển thị ký tự đa dạng trực quang, dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành lại rẻ. Trên thị trường có rất nhiều loại LCD đa dạng về kích cỡ và hình dáng, như hình 2.4 bên dưới, đây là một loại LCD rất thông dụng. Bên trong lớp vỏ của LCD được tích hợp chip điều khiển HD44780 và chỉ đưa các chân giao tiếp cần thiết ra bên ngoài, và được ghi chú hướng dẫn cụ thể.4 Sơ đồ chân của LCD 16x2 Thông số kỹ thuật của LCD 16x2: Điện áp lớn nhất: 7V Điện áp nhỏ nhất: - 0,3V Điện áp hoạt động: 2,7V - 5,5V Dòng điện cấp nguồn: 350ìA - 600ìA Nhiệt độ hoạt động: - 30 - 75˚C SVTH: Nguyễn Hoàng Quân 16 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh khiển để điều khiển màn hình.
Ta cần tải thư viện LCD I2C về, thêm vào Arduino IDE để sử dụng. Kết nối LCD với Nodemcu Bảng 2.1 Kết nối LCD với NodeMCU Module màn hình LCD (16x2) NodeMCU GND GND Vcc (Nguồn riêng 5V) SDA D1 SCL D0 2.1 Giới thiệu Nếu cần tìm kiếm một bộ vi xử lý được hỗ trợ mạnh mẽ với mã nguồn mở, có một cộng đồng sử dụng rộng lớn, ngôn ngữ lập trình dễ tiếp cận, và giá thành hợp lý, thì Arduino chính là thứ mà bạn đang tìm kiếm. Arduino trải qua rất nhiều phiên bản cải tiến, mở rộng và một trong những phiên bản được sử dụng rộng rãi là Arduino Mega. Arduino Mega 2560 là một phiên bản nâng cấp của Arduino Uno R3 với số chân giao tiếp, ngoại vi và bộ nhớ nhiều hơn; phù hợp cho các ứng dụng cần nhiều bộ nhớ hoặc nhiều chân, cổng giao tiếp hơn so với Arduino Uno.
Arduino Mega 2560 cung cấp mọi thứ cần thiết để hỗ trợ vi điều khiển; chỉ cần cáp USB kết nối đến máy vi tính hoặc cấp điện bằng bộ điều hợp AC-DC hoặc dùng pin để cấp nguồn là ta đã có thể sử dụng được. Arduino Mega 2560 tương thích với hầu hết các “shield”. SVTH: Nguyễn Hoàng Quân 17 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh 2.2 Thông số kỹ thuật Vi điều khiển chính: Atmega2560 IC nạp và giao tiếp UART: Atmega16U2 Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn bên ngoài Số chân Digital: 54 (15 chân PWM) Số chân Analog: 16 Giao tiếp UART: 4 bộ UART Giao tiếp SPI: 1 bộ (chân 50 – 53), dùng với thư viện SPI của Arduino Giao tiếp I2C: 1 bộ Ngắt ngoài: 6 chân Bộ nhớ Flash: 256kb; 8kb sử dụng cho Bootloader SRAM: 8kb EEPROM: 4kb Xung clock: 16Mh 1 nút nhấn reset board Hình 2.6 Thành phần Arduino Mega 2560 SVTH: Nguyễn Hoàng Quân 18 Luan van NGHIÊN CỨU KHOA HỌC GVHD: ThS.
Phan Thanh Hoàng Anh 2.1 Giới thiệu: NodeMCU V1.0 là một dạng vi điều khiển có tích hợp Wifi, được phát triển dựa trên chip Wifi ESP8266EX bên trong module ESP – 12E, cho phép dễ dàng kết nối wifi với một vài thao tác. Board còn tích hợp IC CP2102, giúp dễ dàng giao tiếp máy tính thông qua Micro USB để thao tác với board. NodeMCU giúp lập trình viên thực hiện các tác vụ TCP/IP đơn giản để xây dựng các ứng dụng khác nhau, đặc biệt là ứng dụng IoT.