Mạch cảm biến độ ẩm của đất sử dụng loại cảm biến này hoạt động bằng cách so sánh độ ẩm từ phần nằm dƣới mặt đất với giá trị định trƣớc (giá trị này thay đổi đƣợc thơng qua 1 biến trở) từ đó phát ra tín hiệu đóng /ngắt rơ le qua chân D0.
Ƣu điểm của loại cảm biến độ ẩm đất này là dễ dàng phát hiện ra sự khác biệt giữa độ ẩm của môi trƣờng đất nơi cảm biến tiếp xúc để thông báo cho ngƣời
quản lý, hoặc đƣợc lập trình tự động đóng ngắt rơle để máy bơm hoạt động tƣới nƣớc khi đất khô, ngắt máy khi đất đủ độ ẩm.
- Cảm biến HS1101 [15]
Cảm biến HS1101 là cảm biến điện dung: Khi độ ẩm của môi trƣờng thay đổi, điện dung bộ phận cảm biến của HS1101 thay đổi. Do vậy, để đo đƣợc độ ẩm ngƣời ta thiết kế mạch đo điện dung của HS1101. Trong thực tế, ngƣời ta thƣờng ghép nối HS1101 và IC NE555. Khi đó giá trị điện dung của HS1101 thay đổi thì làm thay đổi tần số đầu ra của IC555. Nhƣ vậy chỉ cần đo tần số đầu ra là có thể đo đƣợc điện dung của HS1101. Ngồi ra nó cịn dùng kết hợp với cảm biến DS18B20 dùng đo nhiệt độ, chính vì vậy cảm biến HS1101 đƣợc sử dụng khá phổ biến trong cuộc sống. Thông số kĩ thuật Điện áp hoạt động: 5-10 V DC Dải đo độ ẩm: 1 đến 100% Sai số độ ẩm: ± 2% Nhiệt độ hoạt động: -40 đến 100oC Hình 4.7. Cảm biến nhiệt độ, độ ẩm HS1101.
- Cảm biến đo độ ẩm đất MS10 [16]: Cảm biến MS10 là sản phẩm của công ty Công nghệ Đại Liên Endeavour, MS10 có độ nhạy và độ chính xác cao, đây là một công cụ quan trọng để nghiên cứu độ ẩm đất bằng cách đo trực tiếp hằng số điện mơi của đất từ đó xác định độ ẩm của đất.
Hình 4.8. Cảm biến độ ẩm đất MS10 [16].
Nguyên lý đo độ ẩm đất bằng cảm biến MS10 dựa vào việc xem xét độ dẫn của đất theo phƣơng pháp Wenner, phát dịng điện vào trong mơi trƣờng sau đó ghi nhận hiệu điện thế giữa các cực, từ đó xác định đƣợc độ dẫn của đất xác định đƣợc độ ẩm tƣơng ứng. Với cảm biến MS10 thực tế chúng ta ghi nhận đƣợc thế giữa các cực của cảm biến, đối chiếu với bảng dữ liệu của nhà sản xuất chúng ta sẽ có thơng số độ ẩm của đất tƣơng ứng. Nhƣ vậy thay vì chỉ so sánh độ ẩm nhƣ những cảm biến trình bày ở trên thì cảm biến MS10 cho chúng ta thơng số cụ thể về độ ẩm của đất, khi dữ liệu về độ ẩm đất đƣợc đƣa về trạm chính sẽ đƣợc xử lý và đồng thời lƣu trữ phục vụ cho việc truy xuất khi có u cầu, chính vì sự tiện lợi này làm cho cảm biến MS10 đƣợc sử dụng nhiều hơn và tác giả lựa chọn cảm biến MS10 trong việc thiết kế đề xuất một giải pháp ứng dụng mạng cảm biến không dây trong giám sát độ ẩm đất phục vụ canh tác trong nơng nghiệp chính xác.
Trƣớc khi sử dụng cảm biến vào làm thiết bị cho mạng cảm biến không dây tác giả đã thực hiện đo đạc đối chiếu, so sánh số liệu độ ẩm đất thu đƣợc khi đo bằng cảm biến MS10…, với số liệu thực nghiệm đo đƣợc bằng phƣơng pháp thủ công dựa theo tiêu chuẩn TCVN 4048:2011, kết quả cho thấy việc đo độ ẩm đất bằng cảm biến MS10 là phù hợp, với sai số rất nhỏ chỉ khoảng 1%.
4.4.2. Xác định độ ẩm đất [10]
Định nghĩa: Độ ẩm đất là lƣợng nƣớc trong mẫu đất bị mất đi khi mẫu đất bị đốt
nóng đến nhiệt độ 105°C, độ ẩm thƣờng đƣợc biểu diễn theo % của khối lƣợng đất khô.
- Dụng cụ và thiết bị gồm:
+ Tủ sấy có bộ điều chỉnh nhiệt, tốt nhất là loại có thơng gió, có khả năng duy trì nhiệt độ sấy liên tục ở 110 ± 5oC.
+ Cân đủ tải trọng, có thể đọc chính xác tới 0,1% khối lƣợng mẫu (hoặc chính xác hơn).
+ Hộp đựng mẫu thích hợp làm bằng vật liệu không gỉ, không bị ăn mịn và khơng thay đổi khối lƣợng khi bị đốt nóng hoặc làm lạnh lặp đi lặp lại nhiều lần. Các hộp đựng mẫu phải có nắp đậy kín để đề phịng mẫu đất ẩm bị bay hơi nƣớc trƣớc khi cân, hoặc mẫu đất khô sau khi sấy hoặc trƣớc lần cân cuối cùng hút ẩm từ khơng khí vào. Mỗi thí nghiệm xác định độ ẩm cần một hộp đựng mẫu.
- Chuẩn bị mẫu: Chuẩn bị các mẫu đất thu thập từ các địa điểm cần nghiên cứu.
- Trình tự thí nghiệm:
+ Cân hộp đựng mẫu đã lau sạch, khô cùng với nắp. + Cho mẫu đất ẩm vào hộp, đậy nắp lại ngay và đem cân.
+ Mở nắp hộp và cho hộp chứa mẫu đất ẩm này vào trong tủ sấy. Sấy mẫu liên tục ở nhiệt độ 110 ± 5oC (230 ± 9oF) cho đến khối lƣợng không đổi.
+ Lấy hộp mẫu ra khỏi tủ sấy, đậy ngay nắp lại để mẫu vào bình hút ẩm cho mẫu nguội đến nhiệt độ phòng.
+ Cân hộp kể cả nắp và mẫu đã sấy khô.
- Cách tính kết quả:
Tính độ ẩm của mẫu đất nhƣ sau: 1 2 2 w .100 C m m m m Trong đó: w: độ ẩm đất (%) m1 khối lƣợng cả hộp và đất ẩm (gam)
m2 khối lƣợng hộp và đất khô sau khi đã sấy khô (gam) mC khối lƣợng hộp (gam)
Yêu cầu: Tính độ ẩm mẫu đất chính xác đến 0,1%
4.4.3. Kết quả thực nghiệm chuẩn hóa cảm biến độ ẩm MS10
Với 03 loại đất làm thực nghiệm (đất nông nghiệp-A, đất sân trƣờng-B, đất công trƣờng xây dựng-C) mỗi loại đất chia thành 4 mẫu đƣợc để trong các điều kiện khác nhau cho có độ ẩm khác nhau, tác giả thực hiện đo độ ẩm bằng TCVN 4048:2011 nhƣ đã trình bày sau đó đo điện áp đầu ra của cảm biến MS10, kết quả thu đƣợc bảng số liệu sau:
Bảng 4.1. Độ ẩm các mẫu đất đo được theo TCVN 4048:2011 và điện áp đầu ra được đo bằng cảm biến MS10
Mẫu đất Điện áp đo đƣợc bằng cảm biến MS10 Độ ẩm đo đƣợc theo TCVN 4048:2011 A1 1.66 83.50 A2 1.22 60.57 A3 0.94 46.05 A4 0.87 42.10 B1 1.48 73.40 B2 1.39 69.14 B3 1.16 57.10 B4 1.05 51.20 C1 1.55 77.61 C2 1.16 56.51 C3 1.04 50.24 C4 0.76 37.80
Từ bảng số liệu trên thu đƣợc đồ thị về mối liên hệ giữa điện áp ra khi đo bằng cảm biến MS10 và độ ẩm tƣơng ứng của các mẫu đất:
Hình 4.10. Đồ thị liên hệ giữa điện áp ra và độ ẩm tương ứng.
Tổng hợp thực nghiệm với 3 loại đất chia thành 12 mẫu thí nghiệm sau khi đo bằng phƣơng pháp thủ công theo TCVN 4048:2011, và đo thực nghiệm với cảm biến MS10 ta thấy nếu hiệu điện thế đo đƣợc là u thì độ ẩm đƣợc tính gần đúng là SM=49,48.u (%) thơng số này có sự phù hợp với tài liệu [16] mà nhà sản xuất đƣa ra là lấy giá trị điện áp đo đƣợc nhân với 50 sẽ ra độ ẩm của đất.
4.5. Thơng số lập trình chuyển đổi tín hiệu số và độ ẩm đất
Cảm biến độ ẩm đất MS10 có thể đo đƣợc độ ẩm từ 0-100% với điện áp ra từ 0- 2V, trong khi đó bộ chuyển đổi sử dụng trong node cảm biến là bộ ADC 10 bit có điện áp hoạt động là từ 0-5V, nhƣ vậy có thể đƣa ra cơng thức tính độ ẩm đất dựa vào số ADC đọc đƣợc là:
Kết luận chƣơng 4
Chƣơng này tác giả đã đƣa ra một giải pháp áp dụng một cấu trúc mạng ứng dụng cho nông nghiệp, quản lý việc tƣới cho nơng nghiệp chính xác ở diện tích 360m2, phù hợp với diện tích đất trồng của bà con khu vực miền Bắc. Cũng trong chƣơng này đã giới thiệu về phƣơng pháp đo độ ẩm đất và các thiết bị đo đang đƣợc dùng phổ biến trong nông nghiệp, trong giám sát môi trƣờng hiện nay.
y = 49.488x R² = 0.997 0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00 0.00 0.50 1.00 1.50 2.00 Độ ầm ( đơ n v ị :% )
Điện áp (đơn vị: Vôn)
Đồ thị độ ẩm và điện áp
Series1 Linear (Series1)
KẾT LUẬN CHUNG
Nghiên cứu thiết kế giải pháp sử dụng mạng cảm biến không dây giám sát thu thập số liệu về môi trƣờng sinh trƣởng của cây trồng trên cơ sở sử dụng các cảm biến nhằm xây dựng hệ thống giám sát thu thập số liệu môi trƣờng sinh trƣởng của cây trồng và đƣa vào thực tiễn sản xuất là u cầu có tính cấp thiết trong thời đại ngày nay, khi vấn đề lƣơng thực, thực phẩm đang là vấn đề nóng hổi quan trọng trên thế giới và ở Việt Nam; đặc biệt vấn nạn thực phẩm bẩn đang ngày càng đe dọa đời sống của ngƣời dân Việt Nam nói riêng, của nhân loại nói chung. Việc áp dụng cơng nghệ mới vào sản xuất vừa tạo ra năng suất cây trồng, vừa đảm bảo chất lƣợng lƣơng thực đồng thời cũng là giải pháp tiết kiệm tài nguyên, góp phần bảo vệ môi trƣờng sống giúp nhân loại phát triển bền vững.
Vấn đề nghiên cứu và ứng dụng sử dụng mạng cảm biến không dây để giám sát thông số môi trƣờng đã đƣợc nhiều nhóm tác giả nghiên cứu theo nhiều khía cạnh khác nhau, có những giải pháp mang tính tồn diện hơn về cả vấn đề cấu trúc, vấn đề tiết kiệm năng lƣợng. Tuy nhiên khi áp dụng và trong thực tiễn còn gặp nhiều khó khăn do những nguyên nhân khách quan nhƣ: những vấn đề phức tạp về kĩ thuật vƣợt khả năng nắm bắt công nghệ của nhà nơng, hoặc chi phí cao so với khả năng chi phí của ngƣời dân qua đó đấy cao giá thành sản xuất làm giảm hiệu quả thực tế.
Giải pháp mà luận văn đƣa ra theo tác giả là phù hợp và có nhiều điều kiện ứng dụng vào thực tế hơn bởi vì:
1. Kiến trúc mạng đơn giản, dễ lắp đặt, theo dõi giám sát.
2. Mạng sử dụng phƣơng thức thu phát qua sóng vơ tuyến tần số 2,4GHz là phƣơng thức thu phát đơn giản hơn về mặt kĩ thuật so với các phƣơng thức truyền tải khác mà vẫn đảm bảo độ tin cậy của việc thu thập tín hiệu và điều khiến giám sát đối tƣợng.
4. Do mạng đƣợc thiết kế đảm bảo nhu cầu hoạt động tối thiểu cho việc giám sát thông số môi trƣờng biến đổi chậm nên chi phí khơng cao, nằm trong khả năng chi phí của nhà nơng nên có nhiều điều kiện áp dụng đƣợc vào thực tế.
Hạn chế của mơ hình cảm biến trong giải pháp mà tác giả đƣa ra là chỉ mới xét đến thông số đƣợc giám sát là độ ẩm đất, mặc dù đây là thơng số quan trọng có thể nói là bậc nhất trong sự sinh trƣởng và phát triển của cây trồng, tuy vậy ngồi độ ẩm đất thì cịn nhiều thơng số ảnh hƣởng đến sự sinh trƣởng phát triển của cây trồng quyết định chất lƣợng sản phẩm lƣơng thực của cây trồng do đó hƣớng sắp tới có thể nghiên cứu mạng cảm biến giám sát đƣợc nhiều thông số hơn để không chỉ ghi nhận độ ẩm mà cịn ghi nhận các thơng số khác nhƣ thành phần đất, các chất dinh dƣỡng cần thiết với mục đích ứng dụng vào nơng nghiệp chính xác phát triển nông nghiệp xanh.
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Ngạc Văn An, Đặng Hùng, Nguyễn Đăng Lâm, Đỗ Trung Kiên (2005), Mạng máy tính, NXB Giáo dục, (tr 12-70).
2. Nguyễn Trung Dũng (2014), Nghiên cứu phát triển định tuyến tiết kiệm năng lượng cho mạng cảm biến không dây, Luận án Tiến sỹ ĐH Bách Khoa Hà Nội,
(tr 10-23).
3. Hƣớng Dƣơng (2011), Tạp chí tự động ngày nay (số 128).
4. Trần Quang Huy (2016), Thiết kế mạng và phân tích hiệu suất của mạng cảm biến không dây cho giám sát sức khỏe, Luận văn Thạc sĩ CNTT, ĐH Công nghệ
ĐH QG HN, (tr 44-47).
5. Bùi Thanh Hƣơng (15/04/2015), Tạp chí Kiến trúc, Hội kiến trúc sƣ Việt Nam. 6. iMetos Việt Nam, http://thoitietnhanong.vn/about.
7. Internet of Things Việt Nam (09/12/2015), https://iotvietnam.com/tong-quan-ve-
cong-nghe-zigbee/.
8. Trịnh Lƣơng Miên (2014), Tổng quan về mạng cảm biến khơng dây, Tạp chí tự động hóa ngày nay (số 157).
9. Trần Trọng Nghĩa (2012), Nghiên cứu mã sửa lỗi trong mạng cảm biến không
dây, Luận văn Thạc sĩ chuyên ngành Kĩ thuật điện tử, ĐH Công nghệ ĐH QG
HN, (tr 11-32). 10. TCVN 4048:2011.
11. Lê Trung Thắng (2008), Vi điều khiển AVR Atmega128, ĐH Khoa học Tự nhiên Tp Hồ Chí Minh.
12. Thƣ viện học liệu mở Việt Nam, https://voer.edu.vn.
13. Lê Đình Tuấn, Thái Dỗn Ngọc (2013), Xây dựng mạng cảm biến khơng dây trong nơng nghiệp chính xác, Tạp chí khoa học trƣờng ĐH Cần Thơ.
Tiếng Anh
14. AVR Atmel, http://www.microchip.com/design-centers/8-bit/microchip-avr- mcus
15. HS1101, datasheet, http://pdf1.alldatasheet.com/datasheet
pdf/view/47866/HUMIREL/HS1101.html
16. MS10, datasheet, http://www.infwin.com/showproduct-559-1345.html
17. Nordic Semiconductor (2006), Preliminary Product Specification, Vestre
Rosten 81, N-7075 Tiller, Norway, pp 10-18.
18. Virrankoski, Reino (2012), Generic Sensor Network Architecture for Wireless Automation (GENSEN), Proceedings of the University of Vaasa. Reports,
Finland, pp 32-46.
19. Zhang, Peilin (March 20, 2014), Wireless Sensor System for monitoring and
control, University of Vaasa Faculty of Technology Telecommunication
PHỤ LỤC
1-Thƣ viện các hàm sử dụng trong truyền nhận vô tuyến
typedef struct { int flag; int light; int humi; int temp; int sm; } station_info; station_info station_receive; void config() {
RF_Write_RX(0x07,0b01111110); // Clear flag RF_Command_RX(0b11100010); //Flush RX delay_us(10); RF_Write_TX(0x00,0b00011111); //CONFIG 0x00 delay_ms(2); RF_Write_TX(0x07,0b01111110); RF_Write_TX(0x1D, 0b00000100); RF_Write_TX(0x05,0b00000010); //RF_CH 0x05 }
unsigned char SPI_RW_TX(unsigned char Buff){ unsigned char bit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit {
MOSI = (Buff & 0x80); delay_us(5);
Buff = (Buff << 1); // shift next bit into MSB..
Buff |= MISO; // capture current MISO bit
SCK = 0; // ..then set SCK low again
}
return(Buff); // return read uchar } void RF_Init_TX() { CE=1; delay_us(700); CE=0; CSN=1; }
unsigned char RF_Write_TX { CSN=0; result = SPI_RW_TX(0b00100000|Reg_Add); SPI_RW_TX(Value); CSN=1; delay_us(10); return result; }
void RF_Write_Address_TX(unsigned char Address) { CSN=0; RF_Write_TX(0x03,0b00000011); CSN=1; delay_us(10); CSN=0; SPI_RW_TX(0b00100000|0x0A); SPI_RW_TX(Address); SPI_RW_TX(Address); SPI_RW_TX(Address);
SPI_RW_TX(Address); SPI_RW_TX(Address); CSN=1; delay_us(10); CSN=0; SPI_RW_TX(0b00100000|0x10); SPI_RW_TX(Address); SPI_RW_TX(Address); SPI_RW_TX(Address); SPI_RW_TX(Address); SPI_RW_TX(Address); CSN=1; delay_us(10); } void RF_Mode_TX() { CE=0; RF_Write_TX(0x00,0b00011110); //CONFIG 0x00 }
void RF_Config_TX() //Function to config the nRF { RF_Write_TX(0x1C,0b00000001); RF_Write_Address_TX(P_Add); RF_Write_TX(0x02,0b00000001); RF_Write_TX(0x01,0b00000001); }
void RF_Command_TX(unsigned char command) { CSN=0; SPI_RW_TX(command); CSN=1; delay_us(10); }
{ RF_Write_Address_TX(P_Add); CSN=1; delay_us(10); CSN=0; SPI_RW_TX(0b11100001); CSN=1; delay_us(10); CSN=0; SPI_RW_TX(0b10100000); SPI_RW_TX(send.sm); SPI_RW_TX(send.flag); SPI_RW_TX(send.light); SPI_RW_TX(send.humi); SPI_RW_TX(send.temp); CSN=1; CE=1; delay_us(500); CE=0; RF_Write_TX(0x07,0b01111110); RF_Write_Address_TX(P_Add); RF_Command_TX(0b11100001); } //-------------------RX function-----------------// unsigned char SPI_RW_RX(unsigned char Buff)
{
unsigned char bit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit {
MOSI = (Buff & 0x80); delay_us(5);
Buff = (Buff << 1); SCK = 1;
delay_us(5); Buff |= MISO; SCK = 0; } return(Buff); }
unsigned char SPI_Read_RX(void) {
unsigned char Buff=0; unsigned char bit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit {
delay_us(5);
Buff = (Buff << 1); // shift next bit into MSB..
SCK = 1; // Set SCK high.. delay_us(5);
Buff |= MISO; // capture current MISO bit SCK = 0; // ..then set SCK low again }
return(Buff); // return read uchar }
void RF_Init_RX() // Initialize RF device { CE=1; delay_us(700); CE=0; CSN=1; }
void RF_Write_RX(unsigned char Reg_Add,unsigned char Value)
{
SPI_RW_RX(Value); CSN=1;
delay_us(10); }
void RF_Command_RX(unsigned char command) { CSN=0;
SPI_RW_RX(command); CSN=1;
delay_us(10); }
void RF_Write_Address_RX(unsigned char Address) { CSN=0; RF_Write_RX(0x03,0b00000011); CSN=1; delay_us(10); CSN=0; RF_Write2_RX(0x0A, Address); RF_Write2_RX(0x10, Address); }
void RF_Mode_RX() //Function to put nRF in RX mode { RF_Write_RX(0x00,0b00011111); //CONFIG 0x00 CE=1; } void RF_Config_RX() { RF_Write_RX(0x1C,0b00001111); RF_Write_Address_RX(Address);