1.1 Nội dung chính của đề tài 1.1.3 Chức năng và công dụng của mạng cảm biến rf để điều khiển nông trại nấm.Mạng cảm biến rf để điều khiển nông trại nấm được thiết kế, nhằm phục vụ chocô
Trang 1MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI NẤM
Trang 2DANH MỤC CÁC TỪ VIẾT TẮT V CHƯƠNG 1 GIỚI THIỆU MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI
TRỒNG NẤM 1
1.1 MỤC ĐÍCH VÀ Ý NGHĨA ĐỀ TÀI MẠNG CẢM BIẾN RF DÙNG ĐỂ ĐIỀU KHIỂN NÔNG TRẠI TRỒNG NẤM 1
1.1.1 Mục đích 1
1.1.2 Ý nghĩa 1
1.2 NỘI DUNG CHÍNH CỦA ĐỀ TÀI 1
1.2.1 Chức năng và công dụng của mạng cảm biến rf để điều khiển nông trại nấm 1
1.2.2 Yêu cầu khi thực hiện đề tài 2
1.2.3 Mức độ quy mô của đề tài 2
1.3 NGUYÊN LÝ CHUNG 2
1.4 CÔNG CỤ MÔ PHỎNG VÀ ĐIỀU KHIỂN 2
CHƯƠNG 2 THIẾT KẾ MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI TRỒNG NẤM 3
2.1 SƠ ĐỒ KHỐI CỦA MẠCH 3
2.1.1 Khối nguồn 4
2.1.2 Khối module cảm biến 4
2.1.3 Khối vi điều khiển truyền và nhận dữ liệu 5
2.1.4 Khối LCD hiển thị dữ liệu 6
2.1.5 Khối điều khiển các thiết bị 7
2.1.6 Khối CPU 7
2.2 NGUYÊN LÝ HOẠT ĐỘNG MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI TRỒNG NẤM 8 2.3 THIẾT KẾ ĐIỀU KHIỂN TRÊN CPU 9
Trang 3NÔNG TRẠI TRỒNG NẤM 12
3.1 MÔ PHỎNG MẠCH ĐIỀU KHIỂN THIẾT BỊ NGOẠI VI 12
3.2 HÌNH ẢNH THỰC TẾ CỦA MẠCH ĐIỀU KHIỂN THIẾT BỊ NGOẠI VI 14
CHƯƠNG 4 NHẬN XÉT ƯU VÀ NHƯỢC ĐIỂM MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI TRỒNG NẤM 15
4.1 ƯU ĐIỂM 15
4.2 HẠN CHẾ ĐỀ TÀI, SỬA LỖI NGOÀI MONG MUỐN 15
TÀI LIỆU THAM KHẢO 16 PHỤ LỤC MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI TRỒNG NẤM17
Trang 4HÌNH 2-2: MẠCH NGUỒN 4
HÌNH 2-3: MODULE CẢM BIẾN NHIỆT ĐỘ ĐỘ ẨM DHT11 [6] 4
HÌNH 2-4: MODULE CẢM BIẾN ĐỘ ẨM ĐẤT [10] 5
HÌNH 2-5: SƠ ĐỒ CHÂN VI ĐIỀU KHIỂN PIC16F877A HC-05 [1] 5
HÌNH 2-6: SƠ ĐỒ CHÂN VI MODULE NRF24L01 [2] 6
HÌNH 2-7: CẤU TẠO LCD [3] 6
HÌNH 2-8: HÌNH MINH HỌA VỀ MỘT RELAY ĐIỆN [4] 7
HÌNH 2-9: HÌNH DẠNG CỔNG RS232 [7] 8
HÌNH 2-10: CHƯƠNG TRÌNH ĐIỀU KHIỂN CÁC THIẾT BỊ NGOẠI VI 9
HÌNH 3-1: SƠ ĐỒ KẾT NỐI MẠCH ĐIỀU KHIỂN THIẾT BỊ NGOẠI VI 12
HÌNH 3-2: SƠ ĐỒ KẾT NỐI DÂY MẠCH ĐIỀU KHIỂN THIẾT BỊ NGOẠI VI .12 HÌNH 3-3: SƠ ĐỒ KẾT NỐI MẠCH TRUYỀN NHẬN DỮ LIỆU MODULE 13
HÌNH 3-4: ĐÈN BẬT SÁNG 14
HÌNH 3-5: QUẠT XOAY 14
Trang 5PIC Programmable Intelligent Computer
Trang 6CHƯƠNG 1 GIỚI THIỆU MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN
ai cũng sử dụng hàng ngày trong cuộc sống Vì vậy tôi đã chọn đề tài này để có thểgiúp mọi người hiểu rõ hơn về tín hiệu vô tuyến
1.1.2 Ý nghĩa
Đề tài giúp mọi người hiểu rõ hơn về sóng vô tuyến, để có thể áp dụng nhiềuvào cuộc sống, cũng như phục vụ cho công việc của bản thân, giúp cho công việccuộc sống dễ dàng hơn khi biết áp dụng về sóng vô tuyến
1.1 Nội dung chính của đề tài
1.1.3 Chức năng và công dụng của mạng cảm biến rf để điều khiển nông trại nấm.Mạng cảm biến rf để điều khiển nông trại nấm được thiết kế, nhằm phục vụ chocông việc dễ dàng hơn, khi làm việc ta có thể kiểm tra các thông số về thời tiết, để
có thể điều chỉnh hợp lý, cho nấm phát triển tốt hơn, đạt hiệu suất tốt nhất chongười trồng nấm
1.1.4 Yêu cầu khi thực hiện đề tài
Thiết kế cảm biến NRF2401 kết nối với nhau, truyền và nhận dữ liệu, để có thểgửi các thông số môi trường về màn hình LCD, sau đó, khi đã hiển thị lên, dựa vàocác thông số ta điều chỉnh lại các thông số thông qua các thiết bị ngoại vi như quạt,đèn, máy bơm nước, để môi trường luôn ở điều kiện tốt nhất
1.1.5 Mức độ quy mô của đề tài
Mạng cảm biến RF để điều khiển nông trại trồng nấm có thể thực hiện quy môvửa và nhỏ trong hộ gia đình, nếu muốn phát triển mở rộng quy mô lớn, thì cần phải
Trang 7tính toán thông số và đưa ra các giải pháp cho từng loại nấm cụ thể, để có thể pháttriển từng loại nấm tốt nhất.
1.2 Nguyên lý chung
Khi có dữ liệu từ các Module cảm biến, thì vi điều khiển sẽ nhận dữ liệu từModule cảm biến và truyền qua RF sau đó tín hiệu RF con sẽ truyền về RF mẹ vàhiển thị thông tin lên LCD Và sau đó dựa vào các thông số mà tiến hành điều khiểnthiết bị theo ý muốn
1.3 Công cụ mô phỏng và điều khiển
Trong đề tài, tôi đã sử dụng mô phỏng trên Proteus và Altium và sau đó thựchiện mô phỏng để có thể xem kết quả mô phỏng Đề tài có thực hiện phần cứng và
có thể kiểm tra bằng cách lắp đặt ở một mô hình nông trại nhỏ Xem các kết quả ởmàn hình LCD, sau đó ta thực hiện điều chỉnh thông số qua máy tính theo điều kiệncần thiết
Trang 8CHƯƠNG 2 THIẾT KẾ MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN
NÔNG TRẠI TRỒNG NẤM
1.4 Sơ đồ khối của mạch
Hình 2-1: Sơ đồ khối của mạch
Chức năng từng khối:
Khối nguồn: cung cấp nguồn cho mạch hoạt động với mức điện áp là 5 Vdc
và 3.3 Vdc
Khối vi điều khiển truyền dữ liệu: truyền dữ liệu module về LCD, trong
Đồ Án 3 dùng tín hiệu truyền với tần số 2.4 GHz
Khối vi điều khiển truyền dữ liệu: nhận tín hiệu từ khối truyền dữ liệu và
hiển thị lên LCD
Khối module cảm biến: đọc các giá trị cảm biến như để truyền về LCD.
Khối LCD hiển thị dữ liệu: hiển thị các giá trị module cảm biến truyền về.
CPU: điều khiển các thiết bị như quạt, đèn để thực hiện đúng theo trạng thái
cảm biến
Khối điều khiển các thiết bị: nhận lệnh từ CPU và thực hiện các tùy chỉnh
theo yêu cầu
Khối LCD hiển thị dữ liệu
Trang 9Nguồn được lấy từ nguồn U = 220 Vac từ lưới điện, dùng biến áp hạ áp xuống 12 Vac, khi qua cầu chỉnh lưu được điện áp 12 Vdc, sau đó ta dùng IC 7805 cung cấp 2 mức điệp áp cho toàn mạch là +5 Vdc cho toàn mạch.
Hình 2-2: Mạch nguồn
1.1.7 Khối module cảm biến
Cảm biến nhiệt độ, độ ẩm ứng dụng trong đo nhiệt độ độ ẩm với độ chính xáccao, cung cấp chất lượng tốt, khả năng chống nhiễu tốt
Hình 2-3: Module cảm biến nhiệt độ độ ẩm DHT11 [6]
Cảm biến độ ẩm đất thường được dùng trong các hệ thống tưới cây tự động,trạng thái ra là mức thấp (0 Vdc), khi đất thiếu nước thì đầu ra sẽ là mức cao (5Vdc), trên module có biến trở, để có thể điều chỉnh độ nhạy của module
Trang 10Hình 2-4: Module cảm biến độ ẩm đất [10]
1.1.8 Khối vi điều khiển truyền và nhận dữ liệu
Pic 16f877a là dòng Pic phổ biến hiện nay, được sử dụng nhiều, đáp ứng đượccác ứng dụng thông thường và tiết kiệm năng lượng
Hình 2-5: Sơ đồ chân vi điều khiển Pic16f877a HC-05 [1]
Trong khối truyền và nhận dữ liệu, ta sử dụng module nrf24l01, module thu phátkhông dây nRF24L01 hoạt động theo giao thức SPI, SPI là chuẩn truyền thông nốitiếp tốc độ cao Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master
Trang 11điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vìthế truyền thông chỉ xảy ra giữa Master và Slave.
Hình 2-6: Sơ đồ chân vi module nrf24l01 [2]
1.1.9 Khối LCD hiển thị dữ liệu
Màn hình text LCD1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị
2 dòng với mỗi dòng ký tự, mành hình có độ bền cao, rất phổ biến, cho người mớihọc và làm dự án
Hình 2-7: Cấu tạo LCD [3]
Trang 121.1.10 Khối điều khiển các thiết bị
Rơle (relay) là một chuyển mạch hoạt động bằng điện Dòng điện chạy qua cuộndây của rơle tạo ra một từ trường hút lõi sắt non làm thay đổi công tắc chuyểnmạch Dòng điện qua cuộn dây có thể được bật hoặc tắt vì thế rơle có hai vị tríchuyển mạch qua lại
Hình 2-8: Hình minh họa về một relay điện [4]
1.1.11 Khối CPU
Để có thể kết nối với các thiết bị điều khiển với CPU, ta sứng dụng kết nối quacổng nối tiếp RS232, ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuậtđược sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính Đây là mộtchuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết
bị , tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt
Trang 13Hình 2-9: Hình dạng cổng RS232 [7]
1.5 Nguyên lý hoạt động mạng cảm biến RF để điều khiển nông trại trồng nấmCác module cảm biến nhận dữ liệu từ nông trại trồng nấm, sau đó gửi về Picnhận dữ liệu, từ Pic truyền về nrf24l01 con, thông qua tín hiệu vô tuyến RF, gửi vềnrf24l01 mẹ Gửi về Pic hiển thị lên LCD Sau đó xác định trạng thái của nông trại,thực hiện điều khiển các thiết bị như quạt, máy bơm nước, phun sương… để nhiệt
ổn định hệ thống nông trại trồng nấm Các tín hiệu gửi về liên tục và sẽ báo trạngthái đã đạt theo trạng thái mình muốn hay không
Trang 141.6 Thiết kế điều khiển trên CPU
Sử dụng phần mềm Visual Studio để có thể kết nối và điều khiển thiết bị ngoại
vi trên CPU
Hình 2-10: Chương trình điều khiển các thiết bị ngoại vi
Trang 151.7 Sơ đồ giải thuật của mạng cảm biến RF để điều khiển nông trại trồng nấm
Khối nhận dữ liệu từ mạng cảm biến RF
Đ
Đã kết nối hai thiết bị
Bắt đầu
Kiểm tra kết nối
S
Nhận dữ liệu từ module truyền về MCU chính
Hiển thị dữ liệu lên LCDNhận dữ liệu từ khối MCU con
Trang 16 Khối điều khiển các thiết bị ngoại vi
CHƯƠNG 3 KẾT QUẢ MÔ PHỎNG MẠNG CẢM BIẾN RF ĐỂ ĐIỀU
KHIỂN NÔNG TRẠI TRỒNG NẤM
1.2 Mô phỏng mạch điều khiển thiết bị ngoại vi
S
SBật quạt
Bắt đầu
Kiểm tra kết nối
Đã kết nối PC và mạch điều khiển
S
ĐBật đèn
Đèn Sáng
Quạt gió thổi
Đ
Bật phun sương
Trang 17Hình 3-1: Sơ đồ kết nối mạch điều khiển thiết bị ngoại vi
Trong hình sơ đồ kết nối điều khiển thiết bị, sử dụng mô phỏng Proteus, sử dụngPic16f77a và relay để điều khiển các thiết bị
Hình 3-2: Sơ đồ kết nối dây mạch điều khiển thiết bị ngoại vi
Mạch in layout của điều khiển thiết bị ngoại vi, sử dụng proteus đề vẽ và kết nốidây
Trang 18Hình 3-3: Sơ đồ kết nối mạch truyền nhận dữ liệu module
Hình được vẽ từ Altium, để biểu diễn kết nối nrf24l01 với MCU là Pic16f877a
để truyền và nhận dữ liệu
1.8 Hình ảnh thực tế của mạch điều khiển thiết bị ngoại vi
Hình 3-4: Đèn bật sáng
Trang 19Khi nhiệt độ nông trại trồng nấm thấp, hay cần làm việc trong môi trường vềđêm, thì bật đèn lên để có thể giữ ấm và có thể sáng thấy rõ đường
Hình 3-5: Quạt xoay
Khi nhiệt độ tăng cao, và bị nóng, thì phải bật quạt để thông gió cho nông trại,
và làm giảm bớt độ nóng tại nông trại
Trang 20CHƯƠNG 4 NHẬN XÉT ƯU VÀ NHƯỢC ĐIỂM MẠNG CẢM BIẾN
RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI TRỒNG NẤM
1.9 Ưu điểm
Chi phí thi công rẻ, làm được trong hộ gia đình, nếu xé trong mức giá thịtrường hiện nay thì có thể thi công chi phí không cao, có thể giảm chi phícho các thiết bị đắt tiền khác
Dùng nguồn công suất thấp, ít tốn năng lượng, chỉ sử dụng nguồn từ 5Vdcđến 12 Vdc nên chỉ tiêu hao vài chục W, có thể tiết kiệm hơn khi sử dụnglưới điện 220 Vac
1.10 Hạn chế đề tài, sửa lỗi ngoài mong muốn
Module dễ hỏng nếu thời tiết xấu, sóng có thể không ổn định, khó thực hiênnếu dự án lớn
Có thể bị nhiễu, đứt dây, mất kết nối, thì ta cần kiểm tra lại đường dây, lắpthêm tụ hoặc thiết bị phụ vào để có thể chống nhiễu, kiểm tra các thiết bịxem có bị ngắn mạch hay sụt áp hay không
Trang 21TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Admin (2009), CHỦ ĐỀ TUẦN 1: GIỚI THIỆU PIC 16F877A, Ngày
12/6/2009, http://microchipvn.forumotion.com/t1-topic
[2] Linh kiện 69 (2016), Linh kiện điện tử Module nRF24l01 2.4 Ghz – Cách
Giao Tiếp VớI VĐK Cortex-M3, Ngày 17/06/2016, nrf24l01-24ghz-cach-giao-tiep-voi-vdk-arm-cortexm3_n57981_g723.aspx
http://linhkien69.vn/module-[3] Tôi yêu Arduino (2015),Điều khiển LCD bằng Arduino UNO, Ngày 10/11/
http://arduino.vn/bai-viet/281-mach-cau-h-va-dieu-khien-dong-co-voi-[6] Quocbao (2014), Đọc nhiệt độ - độ ẩm và xuất ra màn hình LCD, Ngày
27/05/2014, lcd
http://arduino.vn/bai-viet/91-doc-nhiet-do-do-am-va-xuat-ra-man-hinh-[7] Biendt (2010), Cơ bản và ghép nối chuẩn giao tiếp RS232, Ngày 07/08/2010,
Trang 22PHỤ LỤC MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI
#region Quan ly bien
public struct _str_Main
{
public static SerialPort SerialPort = new SerialPort();
public static string Data = "";
WindowsMediaPlayer();
public static string FileNhac = "";
}
private WaveOutPlayer m_Player;
private WaveFormat m_Format;
private Stream m_AudioStream;
private System.Media.SoundPlayer sp;
#endregion
#region Quan ly ham
private void _ReadCom()
{
try
{
cbxTenCom.Items.Clear();
var coms = SerialPort.GetPortNames();
foreach (var item in coms)
{
cbxTenCom.Items.Add(item);
}
//if (cbxTenCom.Items.Count > 0)
Trang 24}
else
{
pbxThietBi_1.Image =global::GiaoDienMayTinh.Properties.Resources.Status_weather_clear_icon 1_; }
}
else
{
pbxThietBi_2.Image =global::GiaoDienMayTinh.Properties.Resources.Status_weather_clear_icon 1_; }
break;
}
Trang 25}
else
{
pbxThietBi_3.Image =global::GiaoDienMayTinh.Properties.Resources.Status_weather_clear_icon 1_; }
}
else
{
pbxThietBi_4.Image =global::GiaoDienMayTinh.Properties.Resources.Status_weather_clear_icon 1_; }
// }
// else
// {
// pbxThietBi_5.Image =global::GiaoDienMayTinh.Properties.Resources.Status_weather_clear_icon 1_; // }
// break;
// }
}
Trang 26#region Xu ly am thanh nen
private void Filler(IntPtr data, int size)
int toget = size - pos;
int got = m_AudioStream.Read(b, pos, toget);
Trang 28//m_Player = new WaveOutPlayer(-1, m_Format, 16384, 3, newBufferFillEventHandler(Filler));
m_Player = new WaveOutPlayer(-1, m_Format, 16384, 3, newBufferFillEventHandler(Filler));
if (S.Length <= 0)
Trang 29throw new Exception("Invalid WAV file");
Trang 31#region Thao tac
private void btnKetNoi_Click(object sender, EventArgs e)
Trang 32MessageBox.Show("Cổng com đã được ngắt kết nối rùi mà cậu!", "",MessageBoxButtons.OK, MessageBoxIcon.Warning);
Trang 35private void btnBatHet_Click(object sender, EventArgs e)
Trang 37#FUSES NOWDT
#FUSES NOBROWNOUT
#FUSES NOLVP
#use delay(crystal=16000000)
#define LCD_ENABLE_PIN PIN_E2
#define LCD_RS_PIN PIN_E0
#define LCD_RW_PIN PIN_E1
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#USE SPI(FORCE_SW , DI=PIN_C4, DO=PIN_C5, CLK=PIN_C3, MASTER,BAUD=10000000, MODE=0, BITS=8, MSB_FIRST, STREAM=STREAM_SPI)
#include "lcd.c"
#define RF24_SPI_DISABLE_WARNING
#define SPI_MISO PIN_C4
#define SPI_MOSI PIN_C5
#define SPI_CLK PIN_C3
//Driver nRF24L01P.C
Trang 39RF24_check_config();
while(true) {
RF24_TX_putbuffer(false,16,data_Send); while(RF24_IRQ_state()==false);
printf(lcd_putc,"\f Sent Data!");
#define LCD_ENABLE_PIN PIN_E2
#define LCD_RS_PIN PIN_E0
#define LCD_RW_PIN PIN_E1
Trang 40#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#USE SPI(FORCE_SW , DI=PIN_C4, DO=PIN_C5, CLK=PIN_C3, MASTER,BAUD=10000000, MODE=0, BITS=8, MSB_FIRST, STREAM=STREAM_SPI)
#include <lcd.c>
#define RF24_SPI_DISABLE_WARNING
#define SPI_MISO PIN_C4
#define SPI_MOSI PIN_C5
#define SPI_CLK PIN_C3
#define RF24_IRQ PIN_B0