1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

MẠNG cảm BIẾN RF để điều KHIỂN NÔNG TRẠI nấm DÙNG PIC16F877A (có code và sơ đồ mạch bên dưới)

41 539 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 1,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

MẠNG CẢM BIẾN RF ĐỂ ĐIỀU KHIỂN NÔNG TRẠI NẤM

Trang 2

DANH 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 3

NÔ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 4

HÌ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 5

PIC Programmable Intelligent Computer

Trang 6

CHƯƠ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 7

tí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 8

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

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 9

Nguồ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 10

Hì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 12

1.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 13

Hì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 14

1.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 15

1.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 17

Hì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 18

Hì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 19

Khi 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 20

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

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 21

TÀ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 22

PHỤ 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 29

throw new Exception("Invalid WAV file");

Trang 31

#region Thao tac

private void btnKetNoi_Click(object sender, EventArgs e)

Trang 32

MessageBox.Show("Cổng com đã được ngắt kết nối rùi mà cậu!", "",MessageBoxButtons.OK, MessageBoxIcon.Warning);

Trang 35

private 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 39

RF24_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

Ngày đăng: 09/03/2018, 19:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w