Kt điện nhà thông minh

20 0 0
Kt điện nhà thông minh

Đ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

1 LÍ DO CHỌN ĐỀ TÀI Cùng với phát triển ngành kỹ thuật điện tử, công nghệ thông tin, ngành kỹ thuật điều khiển, ngành tự động hóa đạt nhiều tiến Tự động hóa khơng làm giảm nhẹ sức lao động cho người mà cịn góp phần lớn việc nâng cao suất lao động, cải thiện chất lượng sản phẩm tự động hóa ngày khẳng định vị trí vai trị ngành cơng nghiệp giới nói chung Việt Nam nói riêng Trong năm gần đây, công nghiệp 4.0 phát triển tồn giới Vạn vật trao đổi, kết nối với thông qua mạng internet Do nhu cầu điều khiển, giám sát thiết bị lớn Tại Việt Nam, năm gần đây, nhiều giải pháp tích hợp thơng minh sử dụng để quản lý điều khiển hoạt động nhiều lĩnh vực công nghiệp, nông nghiệp dịch vụ khác Đặc biệt phục vụ nhu cầu đời sống hàng ngày, tạo môi trường sống an tồn, tiện nghi Vì có nhiều cơng ty đưa thị trường hệ thống điều khiển giám sát cho tòa nhà Nhưng hầu hết hệ thống thường dành cho tòa nhà hay hộ cao cấp, giá thành cao, khơng phù hợp với hộ bình thường Hơn nữa, tịa nhà, hộ có đặc thù riêng nên ứng dụng khác Bên cạnh để sinh viên tiếp cận học tập, nghiên cứu sản phẩm khó khăn Do việc nghiên cứu thiết kế điều khiển thiết bị nhà thông minh nhằm phục vụ việc đào tạo, thực hành cho học sinh công việc thiết thực cần thiết Chính lý nên chúng em lựa chọn đề tài: “Nghiên cứu, thiết kế điều khiển thiết bị nhà thông minh” CÂU HỎI NGHIÊN CỨU, VẤN ĐỀ NGHIÊN CỨU, GIẢ THIẾT KHOA HỌC 2.1 Câu hỏi nghiên cứu Công nghệ Internet of Things (IoT) gì? Làm để điều khiển thiết bị điện nhà (đèn chiếu sáng, động cửa, động bơm nước, quạt, điều hịa ) thơng qua mạng wifi? Cách ghép nối thiết bị để tạo thành mơ hình điều khiển thiết bị điện nhà? 2.2 Vấn đề nghiên cứu Nghiên cứu công nghệ IoT Nghiên cứu phần cứng, phần mềm sử dụng công nghệ IoT Sử dụng cảm biến thu thập nhiệt độ, độ ẩm, ứng dụng vào điều khiển thiết bị nhà chiếu sáng, điều hòa Tính ứng dụng sản phẩm 2.3 Giả thuyết khoa học - Củng cố lí thuyết nâng cao khả nghiên cứu thực tế giáo viên học sinh - Tạo mơ hình thực tế để phục vụ thực hành, thí nghiệm… - Tạo sản phẩm để chuyển giao cơng nghệ Sản phẩm có tính ứng dụng cao thực tế giúp cho việc điều khiển thiết bị điện nhà thuận tiện dễ dàng THIẾT KẾ VÀ PHƯƠNG PHÁP NGHIÊN CỨU 3.1 Phương pháp nghiên cứu Nghiên cứu lí thuyết Phương pháp thực nghiệm 3.2 Thiết kế thí nghiệm 3.2.1 Sơ đồ khối Hình 3-1: Sơ đồ khối hệ thống điều khiển Khối cảm biến: Sử dụng cảm biến nhiệt độ độ ẩm DHT22, để thu thập nhiệt độ, độ ẩm nhà gửi liệu cho khối xử lý trung tâm Khối xử lý trung tâm: Sử dụng module wifi ESP8266 để xử lý liệu từ khối cảm biến gửi gửi chúng lên server thông qua internet Khối hiển thị cảnh báo: Dữ liệu từ khối xử lý trung tâm gửi lên server thông qua internet, từ sử dụng máy tính hay thiết bị có khả truy cập vào mạng để truy cập vào server, liệu hiển thị đó, nhiệt độ, độ ẩm đạt ngưỡng cảnh báo server gửi lệnh điều khiển quạt điều hòa Khối nguồn: Sử dụng IC 7805 điều chỉnh điện áp phù hợp để cung cấp nguồn cho khối cảm biến, khối xử lý trung tâm 3.2.2 Nguyên tắc hoạt động hệ thống Khi hệ thống bắt đầu chạy, khối nguồn cấp điện áp 5VDC cho toàn hệ thống Khối cảm biến với module cảm biến DHT22 có chức thu thập nhiệt độ độ ẩm môi trường theo chu kỳ 10s (10s đọc liệu lần) gửi liệu cho khối vi xử lý Khối vi xử lý với module ESP8266 gửi liệu lên server thông qua đường truyền Internet Khối xử lý trung tâm có nhiệm vụ lắng nghe lệnh điều khiển từ server bật, tắt thiết bị, sau điều khiển thiết bị chấp hành thông qua module rơ le 3.2.3 Lựa chọn thiết bị 3.2.3.1 Module NodeMCU ESP8266 CP2102 Module NodeMCU ESP8266 CP2102 kit phát triển dựa chip Wifi SoC ESP8266 với thiết kế dễ sử dụng đặc biệt sử dụng trực tiếp trình biên dịch Arduino để lập trình nạp code, điều khiến việc sử dụng lập trình ứng dụng ESP8266 trở nên đơn giản Module dùng cho ứng dụng cần kết nối, thu thập liệu điều khiển qua sóng Wifi, đặc biệt ứng dụng liên quan đến IoT Module sử dụng chip nạp giao tiếp UART ổn định CP2102 có khả tự nhận Driver tất hệ điều hành Window Linux Thông số kỹ thuật - Hỗ trợ Arduino IDE Arduino ESP8266 - Sử dụng module wifi ESP – 12E - Kích thước: 49 x 24.5 x 13mm - IC chính: ESP8266 Wifi SoC - Phiên firmware: Node MCU - Chip nạp giao tiếp UART: CP2102 - GPIO tương thích hồn tồn với firmware - Node MCU - Cấp nguồn: 5VDC MicroUSB Vin - GIPO giao tiếp mức 3.3VDC - Tích hợp Led báo trạng thái, nút Reset, Flash - Tương thích hồn tồn với trình biên dịch Arduino Sơ đồ chân Hình 3-2: Sơ đồ chân NodeMCU ESP8266 Chúng ta biết chân vi điều khiển thực nhiều chức khác nhau, NodeMCU có tổng cộng 13 chân GPIO nhiên số chân dùng cho mục đích quan trọng khác phải lưu ý sử dụng sau: - Tất GPIO có trở kéo lên nguồn bên (ngoại trừ GPIO16 có trở kéo xuống GND) Có thể cấu hình kích hoạt khơng kích hoạt trở kéo - GPIO1 GPIO3: hai GPIO nối với TX RX UART0, NodeMCU nạp code thông qua UART nên tránh sử dụng chân GPIO - GPIO0, GPIO2, GPIO15: chân có nhiệm vụ cấu hình mode cho ESP8266 điều khiển trình nạp code nên bên NodeMCU (có tên gọi strapping pins) có trở kéo để định sẵn mức logic cho chúng sau: GPIO0: HIGH, GPIO2: HIGH, GPIO15: LOW Vì muốn sử dụng chân vai trò GPIO cần phải thiết kế nguyên lý riêng để tránh xung đột đến trình nạp code - GPIO9, GPIO10: hai chân dùng để giao tiếp với External Flash ESP8266 khơng thể dùng - Như vậy, GPIO lại: GPIO 4, 5, 12, 13, 14, 16 sử dụng bình thường 3.2.3.2 Cảm biến DHT22 DHT22 cảm biến nhiệt độ, độ ẩm sử dụng cho khối cảm biến với thông số kỹ thuật sau: + Điện áp hoạt động 3.3VDC ÷ 5.5VDC + Dải đo độ ẩm - 100% + Sai số độ ẩm ±2% + Dải đo nhiệt độ -40oC ÷ 80oC + Sai số nhiệt dộ ±0.5oC Hình 3-3: Cảm biết DHT22 Chức chân DHT22 + Chân 1: VDD chân nối nguồn + Chân 2: DATA chân liệu vào + Chân 3: NC( không dùng) + Chân 4: GND chân nối mass (0V) Để giao tiếp với DHT22 với vi xử lý thực theo bước sau:  Bước 1: Gửi tín hiệu muốn đo (Start) tới DHT22, sau xác nhận lại - MCU thiết lập chân DATA output kéo chân DATA xuống khoảng thời gian >= 1ms Khi DHT22 hiểu MCU muốn đo nhiệt độ độ ẩm - MCU đưa chân DATA lên sau thiết lâp lại chân đầu vào - Sau khoảng 20-40µs DHT22 kéo chân DATA xuống thấp Nếu >40µs mà chân DATA chưa kéo xuống thấp nghĩa chưa giao tiếp với DHT22 - Chân DATA mức thấp 80µs sau DHT22 kéo lên múc cao 80µs Bằng việc giám sát chân DATA, MCU biết có giao tiếp với DHT22 hay khơng Nếu tín hiệu đo lên cao hồn thiện q trình giao tiếp MCU với DHT22 Hình 3-4: Gửi tín hiệu start  Bước 2: Đọc giá trị DHT22 - cảm biến gửi lại byte liệu đo được: - Byte 1: Giá trị phần nguyên độ ẩm - Byte 2: Giá trị phần thập phân độ ẩm - Byte 3: Giá trị phần nguyên nhiệt độ - Byte 4: Giá trị phần thập phân nhiệt độ - Byte 5: Kiểm trả tổng Chú ý: Nếu Byte = (Byte + Byte + Byte + Byte 4) giá trị nhiệt độ độ ẩm xác cịn khơng kết đo bị sai Cách tính nhiệt độ độ ẩm: (Bytecao * 256 + Bytethấp)/10 Đọc liệu: Sau giao tiếp với DHT22, DHT22 gửi liên tiếp 40bit MCU tương ứng với byte giá trị nhiệt độ độ ẩm - Bit Hình 3-5: Đọc bit DHT22 - Bit Hình 3-6: Đọc bit DHT22 Sau tín hiệu đưa ta đợi chân DATA MCU DHT22 kéo lên Nếu chân DATA trì khoảng 26-28µs cịn tồn khoảng 70µs Do lập trình ta bắt sườn lên DATA sau delay 50µs Nếu giá trị đo đọc bit giá trị đo đọc bit 1cứ ta đọc bit 3.2.3.3 Khối nguồn Module NodeMCU ESP8266 CP2102 sử dụng điện áp 5VDC cấp qua micro usb cấp vào chân Vin Do ta sử dụng IC 7805 tạo nguồn 5VDC 2A cấp cho hệ thống ESP8266 sử dụng điện áp 3,3VDC chuyển từ đầu vào 5VDC qua mạch sau: Hình 3-7: Nguồn 3,3VDC cho ESP8266 Hình 3- 8: Nguồn 5VDC2 3.2.3.4 Thiết bị chấp hành Bộ điều khiển rơ le kênh gồm rơ le hoạt động điện áp 5VDC, chịu hiệu điện lên đến 250VAC 10A Thiết kế chắn, có khả cách điện tốt Trên module có sẵn mạch kích rơ le sử dụng transistor IC cách ly quang giúp cách ly hoàn toàn mạch điều khiển với rơ le bảo đảm vi điều khiển hoạt động ổn định Có sẵn giắc kết nối với vi điều khiển Hình 3-9: Bộ điều khiển rơ le kênh Thông số kỹ thuật điều khiển rơ le kênh: - Điện áp hoạt động: 5VDC - Dòng tiêu thụ: 80mA/1 rơ le - Tín hiệu kích: High (5V) Low (0V) chọn Jumper - Tiếp điểm đóng ngắt max: 250VAC-10A 30VDC-10A 3.2.4 Mơi trường lập trình Arduino IDE Arduino tảng mã nguồn mở bao gồm thiết bị phần cứng phần mềm Phần cứng Arduino (các board mạch vi xử lý) sinh thị trấn Ivrea Ý, nhằm xây dựng ứng dụng tương tác với với môi trường thuận lợi Phần cứng bao gồm board mạch nguồn mở thiết kế tảng vi xử lý AVR Atmel 8bit, ARM Atmel 32-bit Những Model trang bị gồm cổng giao tiếp USB, chân đầu vào analog, 14 chân I/ O kỹ thuật số tương thích với nhiều board mở rộng khác Được giới thiệu vào năm 2005, nhà thiết kế Arduino cố gắng mang đến phương thức dễ dàng, khơng tốn cho người u thích, sinh viên giới chuyên nghiệp để tạo thiết bị có khả tương tác với mơi trường thông qua cảm biến cấu chấp hành Những ví dụ phổ biến cho người yêu thích bắt đầu bao gồm robot đơn giản, điều khiển nhiệt độ phát chuyển động Đi với mơi trường phát triển tích hợp (IDE) chạy máy tính cá nhân thơng thường cho phép người dùng viết chương trình cho Aduino ngôn ngữ C C++ 3.2.4.1 Giới thiệu Arduino IDE Để có mơi trường lập trình Arduino bước phải có cài đặt Arduino IDE nhà sản xuất Arduino cung cấp, phần mềm tải trang chủ theo đường dẫn sau: http://arduino.cc/en/Main/Software Sau tải cài đặt, có giao diện sau: Hình 3-10: Giao diện lập trình Arduino IDE Hình 3-11: Vùng làm việc chức Arduino IDE  Khi lập trình cần ý bước: Bước 1: Tạo file biên dịch Bước 2: Lưu file code Bước 3: Lập trình code điều khiển Bước 4: Biên dịch file để kiểm tra lỗi Bước 5: Nạp chương trình vào Board  Nạp chương trình chạy ứng dụng: Cắm cáp nạp USB vào Board máy tính kiểm tra trạng thái có cổng COM kết nối Vào Tools→Serial Port để chọn cổng COM Vào Tool→Board để chọn board Arduino sử dụng Sau nhấn Upload chương trình để nạp mã nguồn vào ESP8266 3.2.4.2 Cấu trúc chương trình Arduino IDE Cũng ngơn ngữ lập trình khác, Arduino sử dụng ngơn ngữ lập trình C, C++ Cấu trúc chương trình Arduino bao gồm hàm chính: void setup(){ //Thực việc thiết lập ban đầu cho ứng dụng } Void loop(){ //Vòng lặp thực chương trình } Hàm setup() sử dụng để khởi tạo giá trị biến, thiết lập chế độ chân, bắt đầu sử dụng thư viện…Hàm setup thực lần cấp nguồn reset Arduino Hàm loop() hiểu chương trình chính, thực chức lập trình có tính lặp lại liên tục 3.2.5 Lập trình cho ESP8266 Arduino IDE 3.2.5.1 Cấu hình cho Arduino IDE Để Arduino IDE lập trình biên dịch code cho ESP8266 ta cần cấu sau: Lựa chọn Board Manager Tools cài đặt ESP8266 Hình 3-12: Cài đặt ESP8266 vào Arduino IDE 10 3.2.5.2 Tập lệnh AT giao tiếp với ESP8266 Khi sử dụng giao tiếp UART để gửi lệnh AT đến Module ESP8266, phải gửi kềm kí tư để báo kết thúc lệnh Ta có lệnh sau: Lệnh AT chung Tên lệnh Nội dung Kiểm tra lệnh, trả AT "OK" AT+RST AT+GMR Giá trị mode Ví dụ AT Khởi động lại module Truy vấn phiên Firmware Bảng 3-1: Lệnh AT chung Lệnh AT cấu hình module wifi Tên lệnh Nội dung Giá trị mode = Station = Access Point = Both AT+CWMODE = Cài đặt chế độ AT+CWMODE ? AT+CWMODE =? Truy vấn chế độ cài đặt Truy vấn chế độ cài đặt AT+CIPMUX = Cài đặt số lượng kênh kết nối AT+CIPMODE = Cài đặt chế độ liệu AT+CIPMODE? Truy vấn chế độ liệu cài đặt Ví dụ AT+CWMODE=1 AT+CWMODE? AT+CWMODE=? = kênh kết nối = Nhiều kênh kết nối = transparent = Data AT+CIPMUX=1 AT+CIPMODE=1 AT+CIPMODE? Bảng 3-2: Lệnh AT cấu hình wifi Lệnh AT đối module wifi cấu hình Station/Client Tên lệnh Nội dung Giá trị mode AT+CWJAP = ssid "SSID" Kêt nối với mạng , pass wifi "password" Truy vấn mạng wifi AT+CWJAP? kết nối Truy vấn mạng AT+CWLAP wifi kết nối Đóng kế nối wifi với AT+CWQAP Access Point 11 Ví dụ AT+CWJAP =M " LAB", "1235678" AT+CWJAP? AT+CWLAP AT+ CWQAP AT+CIFSR Xem địa IP module AT+CIFSR Bảng 3-3: Lệnh AT module wifi cấu hình Station/Client Lệnh AT đối module wifi cấu hình Access point Tên lệnh Nội dung Giá trị mode ssid "SSID" pass "password" chan AT+CWSAP= "channel" enc Cài đặt thông , , , Open 1= WEP Point 2= WPA_PSK 3= WPA2_PSK 4=WPA_WPA2_PSK) Xem cài đặt AT+CWSAP? Access Point Danh sách AT+CWLIF station kết nối Ví dụ AT+CWSAP= M " LAB","1234567 8",5,3 AT + CWSAP? AT + CWLIF Bảng 3-4: Lênh AT module wifi cấu hình Access point 3.3 Thực thiết bị thực tế 3.3.1 Thiết kế phần cứng a Mạch nguyên lý Hình 3-13: Nguồn ESP8266 12 Hình 3-14: Bộ xử lý trung tâm ESP8266 Hình 3-15: In/Out ESP8266 Hình 3-16: Reset, Flash ESP8266 Hình 3-17: ADC ESP8266 13 Hình 3-18: Chuyển đổi USB - UART Hình 3-19: Mạch kết nối ESP8266 với thiết bị ngoại vi b Mạch in 14 Hình 3-20: Mạch in – mặt Hình 3-21: Mạch in – mặt Hình 3-22: Mạch in - 3D 3.3.2 Thiết kế phần mềm a Lập trình cho ESP8266 Giải thuật 15 Hình 3-23: Lưu đồ giải thuật b Lập trình cho điện thoại di động b.1 Thư viện mã nguồn mở Blynk Blynk thư viện mã nguồn mở, giúp tạo App điện thoại cách nhanh chóng Sử dụng máy chủ miễn phí Blynk giúp thực dự án nhỏ Hình 3-24: Blynk  Blynk App - Cho phép tạo giao diện cho sản phẩm cách kéo thả widget khác mà nhà cung cấp thiết kế sẵn  Blynk Server - Chịu trách nhiệm xử lý liệu trung tâm điện thoại, máy tính bảng phần cứng Bạn sử dụng Blynk Cloud Blynk cung cấp tự tạo máy chủ Blynk riêng bạn Vì mã nguồn mở, nên bạn có 16 thể dễ dàng tích hợp vào thiết bị chí sử dụng Raspberry Pi làm server bạn  Library Blynk – Hỗ chợ hầu hết tất tảng phần cứng phổ biến, cho phép giao tiếp với máy chủ xử lý tất lệnh đến Blynk cung cấp API giao diện người dùng tương tự cho tất thiết bị phần cứng hỗ trợ Kết nối với server cách sử dụng: Wifi, Bluetooth BLE, Ethernet, USB (Serial), GSM … Để sử dụng thư viện Blynk Arduino IDE, phải thêm thư viện cách sau: Chọn Sketch → Include Library → Manage Libraries, tìm kiếm blynk install Hình 3-25: Thư viện Blynk b.2 Phần mềm điện thoại di động Hình 3-26: Hình ảnh phần mềm điện thoại 17 3.4 Thử nghiệm Sau lắp ghép sản phẩm xong, cho chạy thử nghiệm sản phẩm hoạt động mục tiêu đề Điều khiển bật tắt bốn bóng đèn cảm ứng điện thoại KẾT QUẢ NGHIÊN CỨU Với kết thực đề tài, chúng em thành cơng việc tạo mơ hình điều khiển thiết bị nhà thông qua điện thoại di động Mơ hình thực hành hữu ích cho học sinh giáo viên nghiên cứu nâng cao lực lĩnh vực điện tử, vi điều khiển công nghệ thông tin KẾT LUẬN KHOA HỌC Với kết đạt được, đề tài mở rộng nghiên cứu sử dụng thêm nhiều cảm biến như: cảm biến ánh sáng, cảm biến chuyển động, cảm biến âm thanh, cảm biến vân tay Mở rộng điều khiển nhiều thiết bị với công suất lớn Tích hợp thêm điều khiển thiết bị thơng qua giọng nói, hay hình ảnh Nhằm tạo sản phẩm với nhiều tính hơn, đáp ứng nhu cầu đào tạo học sinh, nhu cầu người sử dụng TÀI LIỆU THAM KHẢO [1] Charalampos Doukas, Building Internet of Things with the Arduino, 2012 [2] Cuno Pfister, Getting Started with the Internet of Things Paperback, 2011 [3] http://www.buildinginternetofthings.com/ [4] https://en.wikipedia.org/wiki/Internet_of_Things [5] http://iot-playground.com/ [6] Kiều Xuân Thực, Vũ Thị Thu Hương Vũ Trung Kiên, Vi điều khiển cấu trúc lập trình ứng dụng Nhà xuất Giáo dục, 2008 [7] Tiêu Kim Cương, Giáo trình Ngơn ngữ lập trình C Nhà xuất Giáo dục, 2004 18 DANH MỤC CÁC BẢ Y Bảng - 1: Lệnh AT chung 11 Bảng - 2: Lệnh AT cấu hình wifi .11 Bảng - 3: Lệnh AT module wifi cấu hình Station/Client 12 Bảng - 4: Lênh AT module wifi cấu hình Access point 12 DANH MỤC CÁC HÌ Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình - 1: Sơ đồ khối hệ thống điều khiển 2: Sơ đồ chân NodeMCU ESP8266 3: Cảm biết DHT22 .5 4: Gửi tín hiệu start .6 5: Đọc bit DHT22 .6 6: Đọc bit DHT22 .6 7: Nguồn 3,3VDC cho ESP8266 8: Nguồn 5VDC2A 9: Bộ điều khiển rơ le kênh 10: Giao diện lập trình Arduino IDE 11: Vùng làm việc chức Arduino IDE 12: Cài đặt ESP8266 vào Arduino IDE 10Y 13: Nguồn ESP8266 12 14: Bộ xử lý trung tâm ESP8266 13 15: In/Out ESP8266 .13 16: Reset, Flash ESP8266 13 17: ADC ESP8266 .13 18: Chuyển đổi USB - UART 14 19: Mạch kết nối ESP8266 với thiết bị ngoại vi 14 20: Mạch in – mặt 15 21: Mạch in – mặt .15 22: Mạch in - 3D 15 23: Lưu đồ giải thuật 16 24: Blynk .16 25: Thư viện Blynk 17 26: Giao diện điện thoại 17 19 20

Ngày đăng: 21/08/2023, 12:22

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan