Mạch Module 2 Relay

Một phần của tài liệu Thiết kế hệ thống điều khiển và giám sát nhà nấm sử dụng web server và SMS (Trang 50)

3.2. GIỚI THIỆU PHẦN CỨNG

3.2.7.Mạch Module 2 Relay

Module 2 relay thích hợp cho các ứng dụng đóng ngắt điện thế cao AC hoặc DC, các thiết bị tiêu thụ dịng lớn, module thiết kế nhỏ gọn, có opto và transistor cách ly, kích đóng bằng mức thấp (0V) phù hợp với mọi loại MCU và thiết kế có thể sử dụng nguồn ngoài giúp cho việc sử dụng trở nên thật linh động và dễ dàng!

42

Thông số kỹ thuật

 Sử dụng điện áp ni 5VDC.

 2 Relay đóng ngắt ở điện thế kích bằng 0V nên có thể sử dụng cho cả tín hiệu 5V

hay 3v3 (cần cấp nguồn ngồi), mỗi Relay tiêu thụ dịng khoảng 80mA.

 Điện thế đóng ngắt tối đa: AC250V - 10A hoặc DC30V - 10A.  Có đèn báo đóng ngắt trên mỗi Relay.

3.2.8. Module nguồn cấp/điều áp LM2596

Mạch giảm áp DC LM2596 4.5-50VDC 3A chịu đựng được điện áp đầu vào cao hơn so với dịng LM2596 thơng thường. Mạch nhỏ gọn, dễ dàng sử dụng khi chỉ cần 2 chân ngõ vào và 2 chân ngõ ra. Chỉ cần cấp nguồn vào 2 chân input+, input- và nhận nguồn ra từ 2 chân output+, output- và có thể điều chỉnh điện áp đầu ra tùy biến qua biến trở tinh chỉnh.

43

Thông số kỹ thuật

 Điện áp đầu vào: 4.5 → 50V.

 Điện áp đầu ra: 3 → 35V.

 Dòng điện ngõ ra: max 3A.

 Công suất đầu ra: 15W.

 Hiệu suất đầu ra: 92%.

 Dòng tĩnh: 6mA.

44

CHƯƠNG 4

THIẾT KẾ TOÀN HỆ THỐNG

4.1. GIỚI THIỆU

Trong chương này, nhóm em trình bày về cách tính tốn, sơ đồ khối, sơ đồ nguyên lý của các board mạch của hệ thống: mạch điều khiển các thiết bị ngõ ra có sử dụng relay, mạch nguồn cung cấp điện áp – dòng điện cho cả hệ thống và các thiết bị ngoại vi.

4.2. THIẾT KẾ HỆ THỐNG

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

Hình 4.1: Sơ đồ khối của hệ thống

Nguyên lý hoạt động

 Cảm biến được cấp nguồn 3.3V-5V và một ngõ ra tín hiệu được kết nối với Module phát RF , tín hiệu đường truyền khơng dây với tầ số là 868 chuẩn EU.

45

 Với khoảng cách ước tính là 150-200m về mạch nhận RF tại board trung tâm. Tín hiệu đưa vào sẽ được xử lý đưa ra hiển thị LCD, đồng thời dữ liệu sẽ được đưa qua khối SIM/GSM lưu trữ trên database kèm một địa chỉ ID.

 Ở khối GSM này sẽ có tính năng tắt mở SMS. Dữ liệu database được người dùng xử lý với 2 dạng là điều khiển qua App hoặc Web server.

 Trong đề tài này thì dữ liệu sẽ được điều khiển bằng web server theo dạng HTTP. Ngồi ra người dùng có thể thực hiện dưới dạng TCP/IP, thuê bên thứ 2 để tạo một giao diện riêng biệt. Trên đó sẽ có các chức năng và thông số yêu cầu của người dùng. (adsbygoogle = window.adsbygoogle || []).push({});

 Quay lại phần tín hiệu được đưa vào khối trung tâm sẽ được xử lý đưa ra khả năng điều tải phù hợp với chu trình hoạt động của nấm rơm thông qua STM32F103.

 Ở khối động cơ có thể là động cơ bơm, quạt gió và cũng có thể lả đèn gia nhiệt.

 Hệ thống có 3 chức năng điều khiển chính: App_server/ nút nhấn bằng tay/SMS trên điện thoại.

 Khối nguồn sẽ có đầu vào từ 12-24V (3A) cấp cho toàn hệ thống.

 Khối nạp MCU giúp người dùng có thể thay đổi tính năng hay khắc phục sự cố.

Khối xử lý trung tâm: khối xử lý trung tâm sử dụng MCU STM32F103 RBT6 có hiệu năng cao, dùng để điều khiển các thiết bị khác trong hệ thống:

 Điều khiển đọc dữ liệu từ cảm biến.

 Giao tiếp với màn hình hiển thị LCD.

 Giao tiếp với khối điều khiển bằng tay.

 Truyền dữ liệu qua khối Sim-database sau đó chuyển nhận dữ liệu từ server hay app.

 Giao tiếp khối điều khiển tải để tiến hành điều khiển các tải như: động cơ,quạt Khối giao tiếp MCU: sử dụng STM32F103 RBT6 xứ lý mọi hoạt đông trong hệ

46

Khối điều khiển bằng tay: bao gồm các nút nhấn giúp điều khiển các hoạt động phịng trường hợp khơng có mạng Internet hay 4G.

Khối cảm biến: bao gồm cảm biến nhiệt độ, cảm biến độ ẩm, dùng để thu thập dữ liệu về nhiệt độ, đổ ẩm, từ đó đưa tín hiệu về khối phát tín hiệu sau đó đến khối nhận tín hiệu rồi đưa qua khối xử lý trung tâm, so sánh với giá trị đặt trước, rồi sau đó khối xử lý trung tâm sẽ xử lý để phù hợp với yêu cầu của giá trị đặt trước.

Khối hiển thị: Khối hiển thị sử dụng màn hình LCD 16x2 dùng để hiển thị số liệu thông qua khối xử lý trung tâm.

Khối điều khiển tải: dùng để kích tín hiệu hoạt động cho khối động cơ.

Khối SIM/GSM: Gửi tin nhắn thông báo về các thông số giá trị từ các cảm biến đo được để người dùng điều khiển các thiết bị.

Khối điều khiển server/app: dùng để điều khiển và giám sát thiết bị qua Laptop hay Smartphone.

Khối nguồn chính và phụ: Khối nguồn cung cấp là khối quan trọng giúp cung cấp điện cho tồn bộ hệ thống. Vì vậy cần tính tốn hợp lý để khối nguồn có thể cung cấp đủ dịng và áp để mạch có thể hoạt động tốt và ổn định.

47

4.2.2. Sơ đồ nguyên lý từng khối

Khối xử lý trung tâm

Hình 4.2 Sơ đồ nguyên lý của STM32F103 RBT6

48 Thông số kỹ thuật - STM32F103 RBT6 có 64pin. - Vdd-Vss=3.3V - Vin=5Vdc - VSSX –VSS=50mV - ∆VDDx=50mV

 Khối nguồn cung cấp cho STM32F

Hình 4.4: Khối nguồn cấp STM32F  Khối nạp cho STM32F

49  Khối RF

50  Khối Nguồn chính

51

Hình 4.8: Khối Sim (adsbygoogle = window.adsbygoogle || []).push({});

Khối hiển thị

Màn hình text LCD 16x02 xanh dương sử dụng driver HD44780, có khả năng hiển thị 2 dịng với mỗi dịng 16 ký tự, màn hình có độ bền cao, rất phổ biến trên thị trường, có ưu điểm là phẳng, cho hình ảnh sáng, chân thật và tiết kiệm năng lượng.

52

Thông số kỹ thuật

- Điện áp hoạt động là 5 V. - Kích thước: 80 x 36 x 12.5 mm

- Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với

- Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.

- Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.

53

54

4.2.3. Sơ đồ đi dây Board Master STM32F103 RBT6

Hình 4.11 Sơ đồ đi dây Board Xử lý trung tâm

Khối cảm biến

Module cảm biến độ ẩm đất:

Cảm biến phát hiện độ ẩm đất, bình thường đầu ra mức thấp, khi đất thiếu nước đầu ra sẽ mức cao. Module có thể sử dụng để tưới nước tự động.

Độ nhạy của cảm biến độ ẩm đất có thể điều chỉnh được (Bằng cách điều chỉnh biến trở màu xanh trên board mạch).

Phần đầu dò được cắm vào đất để phát hiện độ ẩm, khi độ ầm của đất đạt ngưỡng thiết lập, đầu ra DO sẽ chuyển trạng thái từ mức thấp lên mức cao.

Thông số kỹ thuật

- Điện áp làm việc 3.3V ~ 5V - Có lỗ cố định để lắp đặt thuận tiện - PCB có kích thước nhỏ 3.2 x 1.4 cm

- Sử dung chip LM393 để so sánh, ổn định làm việc Đầu kết nối sừ dung 3 dây

VCC 3.3V ~ 5V

GND GND của nguồn ngồi

DO Đầu ra tín hiệu số (mức cao hoặc mức thấp) AO Đầu ra tín hiệu tương tự (Analog)

55  Module cảm biến nhiệt độ độ ẩm DHT21

Điện năng tiêu thụ cực thấp, khoảng cách truyền dẫn, hiệu chuẩn hoàn toàn tự động, sử dụng các cảm biến độ ẩm điện dung, hồn tồn hốn đổi cho nhau, tiêu chuẩn kỹ thuật số đầu ra duy nhất- một bust, ổn định lâu dài tuyệt vời, thiết bị đo nhiệt độ chính xác cao. Thông số kỹ thuật - Áp nguồn: 3.3 - 5V - Dòng tiêu thụ: 300 uA - Kích thước: 58.8 x 26.7 x 13.8 (mm) - Model: AM2301 - Độ phân giải chính xác: 0.1 - Khoảng đo: 0100% RH

- Khoảng đo nhiệt độ: -40 ℃ ~ 80 ℃ - Đo lường chính xác độ ẩm: ± 3% RH - Đo lường chính xác nhiệt độ: ± 0.5 ℃

Khối tải

Trong đề tài “Thiết kế hệ thống điều khiển và giám sát nhà nấm sử dụng Web Server và SMS “ nhóm sử dụng tải như: đèn, quạt, bơm nước.

56

57 (adsbygoogle = window.adsbygoogle || []).push({});

CHƯƠNG 5

THI CÔNG HỆ THỐNG

5.1. GIỚI THIỆU

Trong chương này là q trình thi cơng PCB, lập trình, lắp ráp phần cứng và test mạch. Bên cạnh đó là hình vẽ được chụp từ mơ hình thực tế của hệ thống, hình chụp các kết quả chạy của hệ thống.

Toàn bộ mạch trong hệ thống được nhóm em thực hiện bằng phần mềm vẽ mạch in Altium.

5.2. THI CÔNG BOARD MẠCH

5.2.1. Mạch điều khiển trung tâm (chính)

58

Hình 5.2: Hình ảnh thực tế mạch điều khiển trung tâm (chính)

Mạch điều khiển trung tâm (chính) : bao gồm các mạch khác gắn trên nó như: Module SIM800C, Mạch RF, Mạch nguồn cấp và Chip trung tâm STM32F103 RBT6.

59

5.2.2. Mạch RF:

Hình 5.3: Mơ phỏng bằng Altium.

5.2.3. Module SIM 800C

60

5.2.4. Mạch chip trung tâm STM32F103 RBT6

Hình 5.5 Hình ảnh thực tế STM 32F103

5.2.5. Mạch nguồn

61

Trong quá trình test vận hành gặp xự cố, thời gian không đủ nhiều để đặt lại linh kiện từ nước ngoài về nên chuyển sang dùng mạng wifi bằng module MSP8266 thay cho mạng RFID dùng module C1310. Vận hành được việc giám sát và điều khiển web server nhưng mất tính năng SMS.

Module Wifi ESP8266 NodeMCU

Module Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản.

Module Wifi ESP8266 NodeMCU Lua được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT.

62

Sơ đồ đi dây tồn hệ thống

Tín hiệu từ cảm biến nhiệt độ DTH21 và cảm biến độ ẩm đất được truyền về chân D3 và A0 của MSP8266 sẽ được xử lý so sánh với các giá trị đã đặt trước để điều khiển ngõ ra đóng cắt Role thơng qua chân D7. Qúa trình xử lý sẽ được đưa lên và hiển thị trên Web server với ID HTTP://192.168.43.17/

63

5.3. ĐĨNG GĨI VÀ THI CƠNG MƠ HÌNH

64

65 (adsbygoogle = window.adsbygoogle || []).push({});

5.4. LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG

5.5. LẬP TRÌNH VÀ TEST HỆ THỐNG 5.5.1. Tổng quan về phần mềm lập trình 5.5.1. Tổng quan về phần mềm lập trình

Giới thiệu phần mềm lập trình Arduino IDE

Mơi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng đa nền tảng được viết bằng Java, và từ IDE này sẽ được sử dụng cho ngơn ngữ lập trình xử lý và Wiring. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm.

Arduino IDE bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, và tự động canh lề, cũng như biên dịch và upload chương trình lên board chỉ với 1 cú nhấp chuột.

Một chương trình hoặc code viết cho Arduino được gọi là một sketch. Arduino IDE có thể tải về miễn phí tại trang chủ của Arduino với phiên bản mới nhất là 1.8.9 hoặc người dùng có thể dùng trực tiếp phần mềm Arduino IDE trên giao diện web với tên gọi Arduino Web Editor.

66

Hướng dẫn cài đặt phần mềm Arduino IDE

Truy cập địa chỉ: https://www.arduino.cc/en/Main/Software .

Hình 5.9 Các vùng giao diện cơ bản

Vùng lệnh: bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help). Phía dưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDE.

Vùng soạn thảo chương trình: vùng soạn thảo chương trình được mặc định bằng 2 chương trình là hàm setup() và hàm loop():

• setup (): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt và chỉ chạy 1 lần trong suốt chương trình.

• loop (): hàm này được chạy sau hàm setup() và được lặp đi lặp lại cho đến khi tắt nguồn hệ thống.

Vùng thông báo: là vùng thông báo cho người dung biết những lỗi trong chương trình. Nếu chương trình khơng có lỗi và được biên dịch thành cơng thì sẽ thơng báo cho người dùng biết thơng tin dung lượng file chương trình và bộ nhớ ram đã sử dụng.

67

5.5.2. CODE SỬ DỤNG TRONG ĐỀ TÀI

#include <DHT.h>

#include <ESP8266WiFi.h>

// #include "DHT.h" // DHT11 temperature and humidity sensor Predefined library

#define DHTTYPE DHT22 // DHT 11

//#define dht_dpin 0 //GPIO-0 D3 pin of nodemcu #define DHTPIN 4

int Raw = A0; //Analog channel A0 as used to measure temperature int threshold = 16; //Nodemcu digital pin water sensor read-GPIO16---D0 of NodeMCU

int Solenoid = 13; // GPIO13---D7 of NodeMCU--Motor connection

const char* ssid = "KLTN IUH"; // ten WIFI const char* password = "iuh12345"; // mat khau WIFI

//DHT dht(dht_dpin, DHTTYPE); DHT dht(DHTPIN, DHTTYPE); WiFiServer server(80); void setup(void) { dht.begin(); Serial.begin(9600); delay(10);

68

pinMode(threshold,INPUT_PULLUP); //Pin#13 as output-Activate pullup at pin 13

pinMode(Solenoid, OUTPUT); //D7 as output digitalWrite(Solenoid, LOW); //Deactivate Solenoid // Connect to WiFi network (adsbygoogle = window.adsbygoogle || []).push({});

Serial.println();

Serial.print("Connecting to "); Serial.println(ssid);

WiFi.begin(ssid, password); //Begin WiFi

while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected");

// Start the server server.begin();

Serial.println("Server started");

// Print the IP address on serial monitor Serial.print("Use this URL to connect: ");

Serial.print("http://"); //URL IP to be typed in mobile/desktop browser Serial.print(WiFi.localIP());

Serial.println("/"); }

69 void loop() {

// Check if a client has connected WiFiClient client = server.available(); if (!client) {

return; }

// Wait until the client sends some data Serial.println("new client");

while(!client.available()){ delay(1);

}

// Read the first line of the request

String request = client.readStringUntil('\r'); Serial.println(request);

client.flush();

float h =0.0; //Humidity level

float t =0.0; //Temperature in celcius float f =0.0; //Temperature in fahrenheit

float percentage = 0.0; // Calculating percentage of moisture float reading = 0.0; //Analog channel moisture read

// Match the request int value = LOW;

if (request.indexOf("/Up=ON") != -1) {

h = dht.readHumidity(); //Read humidity level

t = dht.readTemperature(); //Read temperature in celcius f = (h * 1.8) + 32; //Temperature converted to Fahrenheit

reading = analogRead(Raw); //Analog pin reading output voltage by water moisture rain sensor

70

if (reading<=110){ // If less mositure in soil start the motor otherwise stop digitalWrite(Solenoid, HIGH); value = HIGH; } else { digitalWrite(Solenoid, LOW); value = LOW; } if(t > 38) { digitalWrite(Solenoid, HIGH); } if(t < 35) { digitalWrite(Solenoid, LOW); } } if (request.indexOf("/Solenoid=ON") != -1) { //Motor ON digitalWrite(Solenoid, HIGH); value = HIGH; }

if (request.indexOf("/Solenoid=OFF") != -1) { //Motor OFF digitalWrite(Solenoid, LOW); (adsbygoogle = window.adsbygoogle || []).push({});

value = LOW; }

// Return the response

client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html");

71 client.println(""); // do not forget this one client.println("<!DOCTYPE HTML>"); client.println("<html>");

client.println("<h1 align=center>Smart Garden - Weather Station</h1><br>"); client.println("<h3 align=center>GVHD: Th.S NGUYENDUCTOAN</h3>"); client.println("<h3 align=center>SVTH: CANH-KHANH </h3>");

client.print("Temperature in Celsius ="); client.println(t); //client.println(15); client.println("<br>"); client.print("Temperature in Fahrenheit ="); client.println(f); client.println("<br>"); client.print("Humidity ="); client.println(h); client.print(" %"); client.println("<br>"); client.println();

client.print("Moisture Level Percentage ="); client.print(percentage);

client.print("%");

if(digitalRead(threshold)==HIGH){ // Read digital output of soil sensor

Một phần của tài liệu Thiết kế hệ thống điều khiển và giám sát nhà nấm sử dụng web server và SMS (Trang 50)