TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

Một phần của tài liệu Thiết kế và thi công hệ thống giám sát nhiều vườn (Trang 51)

d. Cấu trúc

3.2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

3.2.1. Thiết kế sơ đồ khối hệ thống

KHỐI XỬ LÝ

TRUNG TÂM KHỐI CẢM BIẾN KHỐI CÔNG

SUẤT

KHỐI CSDL KHỐI APP

BLYNK

KHỐI NGUỒN

Hình 3.1: Sơ đồ khối toàn mạch

Chức năng từng khối:

Khối xử lý trung tâm: Nhận dữ liệu từ các cảm biến rồi sau đó xử lý, so sánh và đưa mệnh lệnh thực thi cho khối công suất, gửi dữ liệu lên CSDL của Blynk để hiển thị lên giao diện Website/App/LCD. Ngoài nút nhấn vật lý, cũng có thể điều khiển khối công suất bằng Website/App thông qua CSDL.

Khối cảm biến:Thu thập nhiệt độ, độ ẩm từ môi trường; trạng thái khối công suất và gửi đến khối xử lý trung tâm.

Khối công suất:Nhận tín hiệu từ khối xử lý trung tâm, Website/App.

Khối CSDL: Nhận/truyền dữ liệu với khối xử lý trung tâm để cập nhật, hiển thị lên giao diện Website/App/LCD và điều khiển khối công suất.

Khối App Blynk: Trao đổi với khối CSDL để truyền và nhận dữ liệu với khối xử lý trung tâm.

Khối nguồn: Cung cấp nguồn cho các khối hoạt động.

a. Thiết kế hệ thống phần cứng

Theo sơ đồ khối, sẽ thiết kế sơ đồ nguyên lý gồm có:

Khối xử lý trung tâm: Arduino Wemos R1.

Khối cảm biến: DHT11, cảm biến độ ẩm đất.

35

Khối CSDL: Blynk server.

Khối App: ứng dụng Blynk.

Khối nguồn: Nguồn xung 12V/5A 60W

b. Giải thích hoạt động của hệ thống

Bước 1: Khi được cấp nguồn, toàn bộ hệ thống sẽ khởi động và các khối công suất, khối cảm biến sẽ chờ tín hiệu từ khối điều khiển trung tâm.

Bước 2: Khối điều khiển trung bắt đầu tìm và kết nối với Wifi, sau đó tiến hành kết nối với app Blynk.

Bước 3: Kết nối với server của Blynk thành công, khối điều khiển trung tâm đọc dữ liệu từ khối cảm biến, trạng thái khối công suất và cập nhật lên CSDL, đồng thời Blynk sẽ nhận và hiển thị dữ liệu nhận được lên giao diện Website/App/LCD.

Bước 4: Khối xử lý trung tâm chờ nếu có tín hiệu từ Blynk thông qua CSDL sẽ xử lý và đưa mệnh lệnh điều khiển cho khối công suất thực thi.

3.2.2. Tính toán và thiết kế mạch a. Khối xử lý trung tâm a. Khối xử lý trung tâm

Trên thị trường hiện nay có rất nhiều board mạch nhúng như: ARM, Rassperry Pi, Intel Galileo, Arduino, …

Nhóm sử dụng board nhúng Arduino Wemos D1 vì có thể dễ dàng mua được ở trên thị trường, gần gũi với sinh viên thông qua học tập cũng như giảng dạy qua các môn học ở trường.

Arduino Wemos D1 được dùng để cấu hình Web Server, giao tiếp chuẩn UART để nạp chương trình, ngoài ra còn tích hợp I2C để giao tiếp với LCD, Analog để giao tiếp với các cảm biến.

Kết nối mạng Internet thông qua Wifi.

Khối xử lý trung tâm gồm mạch vi điều khiển được lập trình để:

 Nhận dữ liệu từ khối cảm biến để xử lý.

 So sánh và truyền tín hiệu đến khối công suất.

 Gửi dữ liệu lên CSDL sau khi xử lý.

 Hiển thị lên màn hình LCD.

Giao tiếp phần cứng:

 Chân Vin: nhận nguồn 12V/2A từ Adapter.

36

 Chân GND: nối đất.

 Chân A0: giao tiếp analog với cảm biến độ ẩm đất.

 Chân D2: kết nối cảm biến DHT11.

 Chân D4: nút nhấn cập nhật giá trị của cảm biến để hiển thị trên LCD.

 Chân D6: Relay đóng/cắt đèn.

 Chân D7: Relay đóng/cắt động cơ bơm.

 Chân D8: nút nhấn tắt/mở đèn.

 Chân D9: nút nhấn tắt/mở động cơ bơm.

 Chân D14: kết nối chân SDA của module I2C.

 Chân D15: kết nối chân SCL của module I2C.

37

b. Khối cảm biến

Có nhiều loại cảm biến nhiệt độ, độ ẩm đất như LM35, DS18B20, HR202, cảm biến độ ẩm TH, …

Nhóm sử dụng cảm biến DHT11 vì có tích hợp cả cảm biến nhiệt độ và độ ẩm không khí. Ngoài ra còn dùng thêm cảm biến độ ẩm đất lấy dữ liệu để so sánh cho động cơ bơm hoạt động. Hai loại cảm biến này dùng chuẩn giao tiếp 1-Wire.

Để báo hiệu khi đã được cấp nguồn, sử dụng Led cùng một điện trở để báo

nguồn. Vì dùng điện áp 5V và Led có Imax=20mA nên có phương trình:

R = = 250Ω, vì do không có điện trở 250Ω nên chọn trở 1kΩ.

Hình 3.3: Sơ đồ kết nối cảm biến DHT11

Giao tiếp phần cứng:

 Chân VCC: nối với nguồn ra 5V của khối xử lý trung tâm.

 Chân GND: nối đất.

38

Hình 3.4: Sơ đồ kết nối cảm biến độ ẩm đất

Dựa vào Datasheet, dòng điện Cảm biến độ ẩm đất sử dụng là 0.4mA nên để tìm được điện trở treo thì dùng công thức:

R =

. = 12.5kΩ, vì do không có điện trở 12.5kΩ nên chọn trở 10kΩ.

Giao tiếp phần cứng:

 Chân VCC: nối với nguồn ra 5V của khối xử lý trung tâm.

 Chân GND: nối đất.

 Chân AO: giao tiếp analog với khối xử lý trung tâm.

 Chân IN: nối với đầu đo và cắm xuống đất để lấy giá trị độ ẩm đất.

c. Khối hiển thị

Hiển thị thông tin từ khối xử lý trung tâm thì có rất nhiều cách như dùng LCD, Led 7 đoạn, …

Do nhu cầu sử dụng muốn xuất cùng lúc nhiều thông tin bao gồm nhiệt độ, độ ẩm đất, độ ẩm không khí. Để hiển thị được những thông tin này, cần sử dụng LCD nhằm hiển thị thông tin một cách trực quan nhất để giao tiếp với người sử dụng.

Hình 3.5: Sơ đồ kết nối LCD và I2C

Giao tiếp phần cứng:

39

 Chân 5V: nối với nguồn ra 5V của khối xử lý trung tâm.

 Chân SDA: kết nối với chân SDA của khối xử lý trung tâm.

 Chân SCL: kết nối với chân SCL của khối xử lý trung tâm.

d. Khối nút nhấn vật lý

Dùng để điều khiển động cơ bơm và đèn sưởi khi không dùng điện thoại di động hoặc máy tính, tránh trường hợp bị hết pin, xảy ra lỗi phần mềm, …

Hình 3.6: Sơ đồ kết nối nút nhấn

Vì điều khiển bằng mức thấp nên nối VCC với điện trở 10K vào chân VĐK để giữ trạng thái cao (HIGH) ổn định, khi nhấn nút sẽ về trạng thái thấp (LOW) vì được nối với GND. Nếu không có điện trở này thì khi nhấn nút sẽ bị ngắn mạch.

Giao tiếp phần cứng:

 Chân ngõ ra: kết nối lần lượt chân D4, D8 và D9 của khối xử lý trung tâm

cho nút nhấn điều khiển động cơ bơm, đèn sưởi và cập nhật giá trị nhiệt độ.

e. Khối công suất

Để điều khiển đông cơ bơm/đèn sưởi, nhóm sử dụng Relay 12V để thực hiện đóng/cắt. Tín hiệu điều khiển nối vào ngõ ra RL BOM và RL DEN của khối xử lý trung tâm. Mỗi khi có tín hiệu thì LED tại cực B của Transistor sẽ sáng để cung cấp trạng thái của khối công suất.

Diode được mắc phân cực thuận nhằm an toàn trong việc sử dụng, tránh xảy ra hiện tượng cảm ứng điện từ mỗi khi đóng/cắt, gây hư hỏng cho khối công suất cũng như khối xử lý trung tâm.

40 Khi có tín hiệu từ khối xử lý trung tâm, sẽ có dòng điện đi vào cực B của Transistor, khiến Transistor được kích dẫn, lúc này sẽ có điện áp 12V đi từ cực C đến cực E, giúp cho Relay hoạt động.

Để tính được điện trở tại cực B của Transistor, chọn Led sử dụng dòng

Imax=20mA, sử dụng công thức để tìm điện trở:

R = = 250Ω, do không có điện trở 250Ω nên chọn trở 1kΩ.

Hình 3.7: Sơ đồ khối công suất

Giao tiếp phần cứng:

 Chân GND: nối đất.

 Chân IN1: nối chân D7, ngõ ra tín hiệu động cơ bơm của khối xử lý trung tâm.

 Chân IN2: nối chân D6, ngõ ra tín hiệu đèn sưởi của khối xử lý trung tâm.

41

f. Khối nguồn

Dựa vào datasheet của toàn bộ linh kiện, có được bảng sau:

Bảng 3.1: Điện áp và dòng tối đa của các linh kiện

Linh kiện Điện áp (VDC) Dòng điện tối đa (mA) Arduino Wemos D1 9-24 500 DHT11 3.3-5 30 Cảm biến độ ẩm đất 3.3-5 30 LCD 16x2 (module I2C) 2.7 – 5.5 125 Relay 12V 10000 Động cơ bơm P385 12V 700 Đèn 12V 1000

Như vậy có thể thấy giải điện áp trung bình chủ yếu của toàn mạch là 5V và 12V, nên sẽ phải phân nguồn 5V và 12V để cấp cho toàn mạch. Dòng điện sử dụng sẽ khoảng là 1A.

Dựa vào Arduino Wemos D1, đã có nguồn ra 5V sẵn nên dùng để cấp cho các cảm biến DHT11, cảm biến độ ẩm đất và LCD hiển thị.

Dải điện áp hoạt động của Arduino Wemos D1 là 9-24V và khối công suất là 12V nên chọn nguồn 12V để cấp cho hệ thống.

Ngoài ra, do mô hình thực hiện 2 vườn nên một nguồn xung 12V/5A sẽ không thể cấp đủ cho cả 2 hệ thống nên nhóm quyết định sử dụng thêm một Adapter 12V/2A để cấp riêng cho khối xử lý trung tâm, còn nguồn xung 12V/5A sẽ cấp riêng cho khối công suất nhằm mang lại sự ổn định và an toàn nhất.

42

43

44

Chương 4. THI CÔNG HỆ THỐNG

4.1 GIỚI THIỆU.

Nhóm thực hiện thi công, kiểm tra, chạy thử, vẽ lưu đồ và lập trình cho mô hình.

4.2 THI CÔNG HỆ THỐNG 4.2.1 Thi công bo mạch 4.2.1 Thi công bo mạch

Bảng 4.1. Danh sách các linh kiện.

STT Tên linh kiện Số lượng Chú thích

1 Arduino Wemos D1 1 Arduino

2 DHT11 1 Cảm biến nhiệt độ, độ ẩm

3 MDL77 1 Cảm biến độ ẩm đất

4 LCD 1 LCD 16x2

5 Module I2C 1 Giúp LCD giao tiếp I2C

6 Nút nhấn 3 Máy bơm, đèn, cập nhật

7 Relay 12VDC 2 Đóng cắt máy bơm, đèn

8 Diode 1N4007 2 1A 1000V

9 Led 6 Báo nguồn, trạng thái hệ thống

10 Điện trở 1k 6 1/4W

11 Adapter 1 Nguồn 12V-2A

45

4.2.2 Lắp ráp và kiểm tra

Các bước thi công mạch điện:

 Sau khi hàn tất cả linh kiện lên mạch in, tiến hành đo nguội trên đường dây

đồng bằng đồng hồ VOM để tìm có bị lỗi ngắn mạch, đứt nét đường dây hay không.

Hình 4.1: Mặt sau của mạch in sau khi hàn linh kiện

 Hàn các linh kiện như nút nhấn, relay, đèn led, … vào mạch in, vì mô hình

gồm 2 vườn nên sẽ làm 2 mạch.

46

Hình 4.3: Mạch in gắn vào mica

 Gắn board Arduino, các module cảm biến, LCD. Kiểm tra giá trị của cảm biến

có được gửi về khối xử lý trung tâm và hiển thị lên LCD hay không.

Hình 4.4: Gắn linh kiện và test mạch

 Màn hình LCD hiển thị “Nhiet do: 31.00” và “Do am: 0 %” chứng tỏ mạch

hoạt động tốt. Ngoài ra khi nhấn nút thì Relay đóng/cắt lập tức và đèn báo trạng thái của Relay cũng sáng/tắt theo.

47

4.3 THI CÔNG MÔ HÌNH

 Sau khi ước lượng, tính toán thì mô hình sẽ có độ rộng là 50cmx50cm, chiều

cao là 25cm. Lắp các thanh sắt lại với nhau, đồng thời căn chỉnh và gắn mạch điện lên sao cho cân đối.

Hình 4.5: Gắn 2 mạch điều khiển lên khung mô hình

48

Hình 4.6: Gắn vườn vào mô hình

 Gắn board Arduino, module cảm biến, động cơ bơm, đèn và cấp nguồn để tiến

hành chạy thử.

Hình 4.7: Chạy thử mô hình

4.4 LẬP TRÌNH HỆ THỐNG

4.4.1 Lưu đồ giải thuật a. Lưu đồ chương trình chính a. Lưu đồ chương trình chính

49

BẮT ĐẦU

KHAI BÁO CÁC THƯ VIỆN

KHAI BÁO MÃ TOKEN CỦA BLYNK,TÊN VÀ PASSWORD CỦA WIFI ĐƯỢC PHÁT BỞI

ESP8266

KHAI BÁO BIẾN, ĐỊNH NGHĨA CHÂN CẢM BIẾN VÀ NÚT NHẤN

KHỞI TẠO TỐC ĐỘ BAURD, KHỞI TẠO GIÁ TRỊ BAN ĐẦU CỦA LCD, VÀ BẮT ĐẦU ĐỌC DỮ LIỆU CẢM BIẾN KẾT NỐI WIFI BẰNG TÊN VÀ PASS ĐỌC Ở EEPROM

KHỞI TẠO WEBSERVER ĐỂ NHẬP LẠI TÊN VÀ PASS

WIFI VÀO EEPROM

KẾT NỐI ĐẾN BLYNK

TRUYỀN DỮ LIỆU LÊN CSDL VÀ HIỂN THỊ LÊN LCD Đ S ĐỌC CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM ĐỌC DỮ LIỆU CẢM BIẾN ĐỘ ẨM ĐẤT KIỂM TRA CHẾ ĐỘ ĐIỀU KHIỂN Giải thích lưu đồ:

 Để hệ thống hoạt động trước tiên cần khai báo các thư viện hỗ trợ đọc cảm biến, khai báo tên và pass wifi được tạo từ vi điều khiển ESP8266 cùng với mã token của app Blynk.

 Tiếp theo là khai báo và định nghĩa

các chân để đọc cảm biến và nút nhấn cũng như tốc độ của chip.

 Kiểm tra kết nối WiFi bằng tên wifi

và password đọc ở EEPROM, nếu không kết nối được thì ESP8266 sẽ phát wifi tự tạo được khai báo ở trên, sau khi vào wifi thì sẽ vào được webserver đã được khởi tạo sẵn, trong đó sẽ có tên các wifi ở xung quanh và chỗ để nhập tên và password wifi cần kết nối cùng với mã token của Blynk, sau khi nhập, dữ liệu sẽ được lưu ở EEPROM để sử dụng.

 Sau khi thiết lập các kết nối thì vi xử lý đọc các giá trị cảm biến nhiệt độ, độ ẩm không khí, độ ẩm đất để gửi dữ liệu lên Blynk và hiển thị lên LCD.

 WEMOS D1 sẽ tiếp tục nhận dữ

liệu từ cảm biến độ ẩm, cảm biến nhiệt độ, độ ẩm không khí, đồng thời xem xét các điều kiện để lựa chọn chế độ điều khiển.

 Các trạng thái bơm và đèn được

điều khiển từ app Blynk sẽ được gửi lên CSDL, WEMOS D1 có nhiệm

50 vụ lấy các tín hiệu điều khiển này để điều khiển bơm và đèn.

Hình 4.8: Lưu đồ chương trình chính

b. Lưu đồ chương trình con đọc giá trị cảm biến

ĐỌC CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM KHÔNG KHÍ ĐỌC TÍN HIỆU TỪ CHÂN D2 DELAY 3S KẾT THÚC ĐỌC CẢM BIẾN ĐỘ ẨM ĐẤT ĐỌC TÍN HIỆU TỪ CHÂN A0 DELAY 10S KẾT THÚC Giải thích lưu đồ:

 Cảm biến DHT11 được đọc tại

chân D2 của WEMOS D1 để đo giá trị nhiệt độ và độ ẩm của môi trường.

 Cảm biến độ ẩm đất được đọc tại

chân A0 của WEMOS D1 để đo giá trị độ ẩm đất.

Hình 4.9: Lưu đồ chương trình con đọc giá trị các cảm biến

c. Lưu đồ chương trình con lựa chọn chế độ điều khiển

BẮT ĐẦU KIỂM TRA CHẾ ĐỘ TỰ ĐỘNG KẾT THÚC Đ S CHẾ ĐỘ ĐIỀU KHIỂN TỰ ĐỘNG CHẾ ĐỘ ĐIỀU KHIỂN BẰNG TAY Giải thích lưu đồ:

Kiểm tra chế độ hoạt động là tự động hay điều khiển tay:

 Nếu là tự động thì gọi chương trình

điều khiển tự động.

 Nếu là điều khiển tay thì gọi

chương trình điều khiển bằng tay.

51

d. Lưu đồ chương trình con điều khiển bằng tay

BẮT ĐẦU

BIẾN ĐIỀU KHIỂN CÓ GIÁ

TRỊ = ON KHỞI TẠO CÁC GIÁ

TRỊ BAN ĐẦU

GIÁ TRỊ TẠI CHÂN D6,D7 LÀ HIGH VÀ CẬP NHẬT TRẠNG THÁI ON BƠM, ON ĐÈN LÊN

CSDL

GIÁ TRỊ TẠI CHÂN D6,D7 LÀ LOW VÀ CẬP NHẬT TRẠNG THÁI OFF BƠM, OFF ĐÈN

LÊN CSDL ĐỌC CẢM BIẾN ĐỘ ẨM ĐẤT VÀ NHIỆT ĐỘ KHÔNG KHÍ CẬP NHẬT GIÁ TRỊ CẢM BIẾN LÊN CSDL KẾT THÚC Đ S Giải thích lưu đồ:

Sau khi người dùng chuyển qua chế độ điều khiển bằng tay và muốn bật ON bơm hoặc đèn lên, WEMOS D1 sẽ kiểm tra tín hiệu từ nút nhấn. Nếu tín hiệu đọc về của biến trạng thái là 0 tương ứng với bơm hoặc đèn đã được bật, WEMOS D1 sẽ cập nhật trạng thái bơm lên CSDL. Sau khi nhấn nút nhấn lần nữa, nếu tín hiệu đọc về của biến trạng thái là 1, bơm hoặc đèn sẽ OFF và sẽ được

Một phần của tài liệu Thiết kế và thi công hệ thống giám sát nhiều vườn (Trang 51)

Tải bản đầy đủ (PDF)

(119 trang)