Chương 5 : THI CƠNG MƠ HÌNH
5.2 LẬP TRÌNH VI ĐIỀU KHIỂN
5.2.1 Giới thiệu
Để bắt đầu với những dự án IOT với Arduino ta cần ESP8266 với giá thành rẻ, và dễ dàng sử dụng. Đặc biệt, ESP8266 có thể được lập trình bằng Arduino IDE.
5.2.2 Chuẩn bị
- Phần cứng: Module ESP8266, các thiết bị kết nối khác - Phần mềm:
Cài đặt Arduino IDE (Integrated Development Environment có thể gọi là bộ cơng cụ lập trình)
Cài đặt thư viện CH340 của ESP8266 cho Arduino IDE
Kết nối ESP8266 với máy tính, đảm bảo đèn LED trên ESP8266 sáng.
86
5.2.3 Tiến hành
- Đầu tiên ta mở phần mềm Arduino IDE lên.
Hình 5.3: Giao diện màn hình chính của Arduino IDE
- Sau đó ta tiến hành cài đặt cho Arduino IDE: Bước 1: Vào File => Chọn Preferences
87
Bước 2: Thêm đường link sau vào mục Additional Board Manager URLs trong tab Preferences. Sau đó nhấn OK
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Hình 5.5: Giao diện tab Preferences
Bước 3: Vào Tools => Board => Kéo chọn Node MCU 1.0 (ESP-12E Module)
88
- Sau khi hoàn tất thiết lập Arduino ta tiến hành:
Viết code => Kiểm tra lỗi => Upload code để lập trình cho ESP8266
Hình 5.7: Giao diện Arduino IDE đang kiểm tra lỗi và chuẩn bị Upload 5.3 Lập trình giao diện giám sát và điều khiển 5.3 Lập trình giao diện giám sát và điều khiển
5.3.1 Điều khiển qua smartphone với Blynk
- Trước tiên tạo giao diện thơng qua app Blynk trên smartphone có các chức năng sau:
Đọc và hiển thị toàn bộ dữ liệu từ cảm biến và trạng thái của bơm, đèn
Điều khiển từ xa Đèn và Bơm
Gửi thông báo hệ thống offline hoặc khi đèn hoặc bơm được bật
Lưu lại dữ liệu từ cảm biến
Tạo ra 2 tab để hiển thị thông tin trên: - Cảm biến
Nhiệt độ, input là V10 value 0 – 50, frequency: 5s
Độ ẩm, input là V11 value 0 – 100, frequency:5s
Độ ẩm đất input là V12 value 0 – 100, frequency:5s
LED cho bơm Red, V0
LED cho đèn Green, V1
89 - Điều khiển
Nút PUMP, output: V3 0 – 1, mode:push, label: on – ACT, off – OK
Nút LAMP, output: V4 0 – 1, mode:push, label: on – ACT, off – OK
LED PUMP, V0
LED LAMP, V1
Thông báo Notification: when HW goes offline: ON - Biểu đồ hiển thị
Graph hiển thị thông tin cảm biến từ V10-V12
Để chạy được app Blynk thì cần có một số cái mới cần phải thêm vào chương trình.
Thêm thư viện BlynkSimpleEsp8266 ở đầu chương trình
Trong Setup(), cần cấu hình Blynk với token, tên wifi và mật khẩu với hàm Blynk.begin(auth, ssid, pass);
Xác định thời gian gửi dữ liệu lên server Blynk: timer.setInterval(5000L, sendUptime);
Gọi hàm Blynk.run(); tại vòng lặp loop()
Tạo hàm sendUptime(); để gửi dữ liệu từ cảm biến lên Blynk Server: Blynk.virtualWrite(VirtualPin, sensor data);
Cần thay đổi một số thông số tương ứng với thông số như sau:
//Token Blynk và wifi
char auth[] = "api_token_blynk"; // Điền api token blynk của bạn
char ssid[] = "ten_wifi"; //Tên wifi
char pass[] = "pass_wifi"; //Password
Ngoài ra cần có “LED báo trạng thái” trên Blynk để lưu trạng thái được định nghĩa
WidgetLED PUMP(V0); // Nhan tin hieu tu nut V0 cua Blynk App
90
Để bật và tắt bơm và đèn kết nối với PIN ảo V0 và V1 tương ứng với các hàm
PUMP.on(); và PUMP.off();
LAMP.on(); và LAMP.off();
Hàm này được thêm vào trong hàm aplyCmd(), ngồi ra mình cịn thêm một cái thơng báo trên điện thoại mỗi khi bơm hay đèn được bật thơng qua hàm Blynk.notify(“xxx”);
Một số hình minh họa bên dưới để tạo giao diện:
91
Hình 5.8: Tạo New Project trên app Blynk
- Bước 2: Thêm giao diện hiển thị thông số cảm biến
92
- Bước 3: Chỉnh thơng số độ ẩm HUMID
Hình 5.10: Chỉnh thông số nhiệt độ, độ ẩm
- Bước 4: Điều chỉnh thông số cảm biến độ ẩm đất SOIL
93
- Bước 5: Thêm nút nhấn điều khiển
Hình 5.12: Nút nhấn điều khiển và đặt thời gian bơm
- Bước 6: Thêm đồ thị hiển thị thông tin lưu trữ
94 - Bước 7: Lấy token
Hình 5.14: Lấy token qua E-Mail để cấu hình cho ESP8266
- Kết quả sau khi điều chỉnh:
95
- Thế là đã xác định cấu hình điện thoại với ESP8266, vẫn cịn rất nhiều nhược điểm cần khắc phục như tình trạng delay, trễ quá nhiều khi ấn nút điều khiển, phản hồi hơi chậm với chế độ điều khiển bằng tay.
- Tuy nhiên nếu sử dụng ở mức cơ bản vẫn đáp ứng được với nhu cầu nghiên cứu và tìm hiểu ứng dụng được ở nhà.
5.3.2 Giám sát thông số
- Giám sát các thông số đo được từ điện Mặt Trời và hòa lưới:
Giao diện Home cho thấy được trạng thái đang bán ra hoặc đang mua vào của hệ thống điện Mặt Trời, các công suất Solar, công suất tải cũng được hiển thị và các thông số khác.
96
Giao diện Pin Solar, tải tiêu thụ hiển thị điện áp, dịng, cơng suất của mạch đo được.
Hình 5.17: Giao diện Pin Solar và Tải tiêu thụ trên app Blynk
Giao diện thống kê hiển thị sản lượng đo đạc được từ pin Mặt Trời.
97
Giao diện Cài đặt báo lỗi, thời gian hoạt động và reset.
Hình 5.19: Giao diện Cài đặt trên app Blynk 5.4 Kết quả mô phỏng 5.4 Kết quả mơ phỏng
5.4.1 Mơ hình mơ phỏng kiến trúc
- Mơ hình được mơ phỏng bằng phần mềm AutoCAD 2019, phiên bản 3D. Mô phỏng các đèn (màu hồng), các đầu phun nước (màu xanh), các tấm pin mặt trời được đặt trên mái và hệ thống ống, dây dẫn.
98
5.4.2 Kết quả mơ phỏng hệ thống điện mặt trời
Hình 5.21: Hệ thống điện mặt trời mô phỏng trên Proteus
- Hệ thống điện năng lượng mặt trời hòa lưới có lưu trữ được mơ phỏng trên phần mềm Proteus như hình 5.21.
- Hệ thống trên bao gồm pin năng lượng mặt trời, inverter chuyển đổi từ 48V sang nguồn 220V, bộ điều khiển sạc, ắc quy, ESP8266, PZEM- 004T, tải vườn rau.
- Ở đây ta sử dụng các đồng hồ đo AC Ammeter, AC Voltmeter, Wattmeter để đo lần lượt 3 thông số cơng suất (kW), dịng điện (V), điện áp (A) sau inverter, trước tải tiêu thụ và từ điện lưới vào thay cho app Blynk kết nối wifi.
- Dùng Lamp để giả lập tín hiệu điện lưới vào và tải tiêu thụ, Motor DC để giả lập tín hiệu động cơ bơm.
99
- Ta khởi chạy thử mơ phỏng thì đo được các thơng số như sau:
Hình 5.22: Các thơng số đo được
100
5.4.3 Kết quả mơ phỏng hệ thống vườn rau
Hình 5.24: Hệ thống vườn rau mô phỏng trên Proteus
- Hệ thống vườn rau được mô phỏng trên Proteus như hình 5.24.
- Hệ thống trên bao gồm các thiết bị như: Màn hình LCD hiển thị các thơng số mô phỏng thay thế cho app Blynk, cảm biến độ ẩm đất, DHT11, ESP8266, module relay, motor bơm, đèn led.
Hình 5.25: Hệ thống đang chạy mơ phỏng trên Proteus
- Các thông số nhiệt độ, độ ẩm khơng khí, độ ẩm đất được hiển thị lên màn hình LCD.
101
- Thơng số nhiệt độ được set ở mức 30oC, nếu nhiệt độ môi trường đo được từ cảm biến cao hơn mức set là 30oC thì bơm phun sương để giảm nhiệt độ (làm mát) trong vườn rau sẽ lên mức 1 và chạy, còn khi nhiệt độ thấp hơn mức set thì bơm ở mức 0 và khơng hoạt động. Ngồi ra ta có thể điều khiển bật tắt bơm bằng tay.
102
- Thông số độ ẩm đất được ta set ở mức 50%, nếu độ ẩm đất thấp hơn mức set là 50% thì bơm sẽ lên mức 1 và chạy, cịn nếu độ ẩm lớn hơn thì bơm ở mức 0 và khơng chạy. Ngồi ra ta có thể điều khiển bật tắt bơm bằng tay.
Hình 5.27: Giá trị độ ẩm đất đo được 5.5 Đánh giá kết quả 5.5 Đánh giá kết quả
- Sau quá trình thiết kế, thi cơng mơ phỏng và vận hành thử mơ phỏng hệ thống thì nhóm có những đánh giá sau đây:
Hệ thống hoạt động đã đạt được những mục tiêu đề ra ban đầu và khá ổn định. Mơ hình mơ phỏng có tính thẩm mỹ, thể hiện rõ cách thức hoạt động, điều khiển của thiết bị.
Với kiến thức cịn hạn chế nên mơ hình mơ phỏng cịn nhiều thiếu sót và chưa mơ phỏng được hết các tính năng đề ra như ban đầu của đề tài.
Mơ hình mơ phỏng chưa cho người xem thấy rõ được hết hoạt động của một hệ thống thực tế.
103
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
ĐỀ TÀI 6.1 Kết luận
- Qua quá trình nghiên cứu và thực hiện đề tài đồ án tốt nghiệp, chúng em nhận thấy được đề tài có khả năng ứng dụng vào thực tiễn cao, đáp ứng được nhu cầu cuộc sống ngày nay và đi đúng xu hướng của thời đại.
- Đồng thời chúng em đã thực hiện và xây dựng mơ hình hồn chỉnh để làm sao cho mơ hình được chạy một cách tối ưu nhất mặc dù vẫn cịn có một vài điểm hạn chế như:
Hệ thống còn phụ thuộc nhiều vào điều kiện tốc độ Internet cũng như tốc độ xử lý của các thiết bị.
Hệ thống chưa xây dựng hết các tính năng tốt nhất cho vườn rau thơng qua Smartphone.
- Bên cạnh đó, chúng em đã học được thêm các kiến thức và có thêm nhiều kinh nghiệm hơn liên quan đến ngành Kĩ thuật điện – điện tử nói chung và đồ án tốt nghiệp nói riêng, đã học được:
Cách dựng mơ hình 3D bằng phần mềm AutoCAD
Cách vẽ lưu đồ giải thuật bằng trang web Draw.io
Cách thiết kế mặt bằng cho vườn rau
Cách lắp đặt hệ thống năng lượng mặt trời
Cách lập trình ESP8266 trên Arduino IDE
Cách Thiết kế giao diện giám sát, điều khiển trên app Blynk
104
6.2 Kiến nghị
- Do chỉ là mơ hình mơ phỏng và các linh kiện được chúng em chọn lựa để phù hợp cho việc học tập nên độ chính xác khơng cao bằng các linh kiện công nghiệp.
- Việc áp dụng các công nghệ hiện đại vào trong ngành trồng trọt sẽ giúp gia tăng năng suất cũng như chất lượng sản phẩm.
- Cần phải liên tục cải tiến, phát triển tối ưu công nghệ cho nông nghiệp để phát triển nền nông nghiệp Việt Nam.
6.3 Hướng phát triển
- Hệ thống có thể tiếp tục phát triển, cải tiến mơ hình vườn rau thơng minh sử dụng năng lượng mặt trời bằng cách bổ sung một số tính năng và tiện ích áp dụng được trong cuộc sống như:
Sử dụng cánh tay robot để gieo hạt, thu hoạch
Gợi ý điều kiện chăm sóc phù hợp cho từng loại cây khác nhau.
- Hệ thống có thể được mở rộng sử dụng trong quy mô công nghiệp, diện tích lớn mà qua đó người dùng có thể theo dõi, giám sát và điều khiển sự hoạt động của hệ thống từ xa.
105
TÀI LIỆU THAM KHẢO
[1]. Phạm Minh Tuấn, IoT Maker VietNam. Internet of Things cho người mới bắt đầu.
[2]. Tài liệu hệ thống vườn rau
https://hocarm.org/he-thong-nong-nghiep-thong-minh-voi-arm-tiva/ https://tamsach.com/aquaponics-192/he-thong-trong-rau-thong-minh.html [3]. Tài liệu hệ thống vườn rau thông minh sử dụng ESP8266
https://ohtech.vn/he-thong-nong-nghiep-thong-minh-phien-ban-esp8266/ [4]. Các nguồn năng lượng sạch
https://moitruong.com.vn/phat-trien-ben-vung/tiet-kiem-nang-luong/6-nguon-nang- luong-sach-tai-viet-nam-21108.htm
[5]. Bản đồ bức xạ năng lượng mặt trời tại Việt Nam
http://www.homevietsolar.vn/tin-tuc/ban-do-buc-xa-nang-luong-mat-troi-tai-viet- nam.html
[6]. Tài liệu các loại hệ thống điện mặt trời
https://ctpsolar.com/so-sanh-cac-he-thong-dien-nang-luong-mat-troi-hien-nay/ [7]. Tài liệu hệ thống điện mặt trời hịa lưới có lưu trữ
https://lesmart.vn/he-thong-dien-nang-luong-mat-troi-hoa-luoi-co-du-tru-hybrid [8]. Tài liệu so sánh pin mặt trời
http://kingteksolar.com.vn/tin-tuc/so-sanh-tam-pin-dien-nang-luong-mat-troi-mono- va-poly.html
[9]. Tài liệu bộ điều khiển sạc năng lượng mặt trời
https://smarthomeplus.vn/products/bo-dieu-khien-sac-nang-luong-mat-troi-pwm-12- 24v-30a-fsc1
https://givasolar.com.vn/bo-dieu-khien-sac-nang-luong-mat-troi-mppt-va-pwm/ [10]. Tài liệu ắc quy
106 [11]. Tài liệu ATS
https://thietbidienthanhtam.com/san-pham/bo-chuyen-doi-hai-nguon-dien-tu-dong- ats-2p-63a-sp796658.html
[12]. Tài liệu tính tốn điện mặt trời
https://gpsolar.vn/tinh-toan-cong-suat-dien-mat-troi.html
[13]. Cấu tạo và nguyên lý hoạt động của tấm pin năng lượng mặt trời
https://datsolar.com/cau-tao-va-nguyen-ly-lam-viec-pin-nang-luong-mat-troi/ [14]. Tài liệu so sánh tấm pin năng lượng mặt trời
http://kingteksolar.com.vn/tin-tuc/so-sanh-tam-pin-dien-nang-luong-mat-troi-mono- va-poly.html
[15]. Giải pháp ứng dụng điện mặt trời với nông nghiệp
https://givasolar.com/giai-phap-ung-dung-dien-mat-troi-ket-hop-voi-nong-nghiep/ [16]. Tài liệu chống sét http://trungtamcodien.net/he-thong-chong-set-phan-1.html [17]. Các dạng sóng điện https://www.ntechgroup.vn/co-the-ban-chua-biet-dang-song-dien-dau-ra-cua-ups- lien-quan-rat-nhieu-den-thiet-bi-cua-ban-p16c40
[18]. Tài liệu ESP8266
https://imaker.vn/arduino-nodemcu-lua-wifi-v3-ch340 [19]. Tài liệu PZEM-004T
https://ahtlab.com/san-pham/mach-do-cong-suat-ac-pzem-004t/ [20]. Tài liệu DHT11
https://vidieukhien.xyz/2018/04/01/esp8266-doc-nhiet-do-do-am-tu-cam-bien- dht11-bai-5/
[21]. Tài liệu cảm biến độ ẩm đất