TÓM TẮT Ngày nay, với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò quan trọng trong mọi lĩnh
Trang 1ĐOÀN THANH NIÊN CỘNG SẢN HỒ CHÍ MINH
BAN CHẤP HÀNH TP HỒ CHÍ MINH
-
CÔNG TRÌNH DỰ THI GIẢI THƯỞNG SINH VIÊN NGHIÊN CỨU KHOA HỌC EURÉKA
LẦN THỨ XX NĂM 2018
TÊN CÔNG TRÌNH: THIẾT KẾ MÔ HÌNH GIÁM SÁT VÀ ĐIỀU KHIỂN
TƯỚI TỰ ĐỘNG CHO VƯỜN CÂY THÔNG QUA MẠNG
LĨNH VỰC NGHIÊN CỨU: Kỹ thuật Công nghệ
CHUYÊN NGÀNH: Điện-Điện tử
Mã số công trình: ………
Trang 2MỤC LỤC
Tóm tắt 1
Đặt vấn đề 2
Phần 1 Tổng quan tài liệu 3
1.1 Board Arduino mega 2560: 3
1.2 AT Mega 2560 5
1.3 Module cảm biến độ ẩm đất LM393 6
1.4 Module chuyển đổi 7
1.5 IC cảm biến dòng ASC712 7
1.6 Module Sim 800L 8
1.7 Module nguồn LM2596 9
1.8 Module điều khiển động cơ L298N 10
1.9 Module giao tiếp I2C 11
1.10 Màn hình LCD 16x21 11
1.11 Web server và ngôn ngữ HTML 12
1.12 Module ESP8266 15
1.13 Arduino IDE 17
Phần 2: Mục tiêu – phương pháp 19
2.1 Sơ đồ khối 19
2.2 Mô hình nguyên lý chi tiết 19
2.3 Lưu đồ giải thuật và phần mềm điều khiển 24
Phần 3: Kết quả 25
Phần 4: Kết luận – Đề nghị 26
Trang 3
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
GSM: Global System for Mobile Communications
3GPP: 3rd Generation Partnership Project
LPC: Linear Predictive Coding
EFR: Enhanced Full Rate
UMTS: Universal Mobile Telecommunications Systems
PSPDN: Packet Switch Public Data Netword
PSTN: Public Switched TeLephone Netword
GPRS: Generation Packet Radio Service
CSPDN: Circuit Switched Public Data Netword
EEPROM: Electrically Erasecle Programmable Read Only Memory SRAM: Static Random Access Memory
PWM: Pulse Width Modulation
LED: Light Emitting Diode
Trang 4DANH MỤC HÌNH
Hình 1 Board Arduino Mega 2560 3
Hình 2 Thông số kỹ thuật board Arduino Mega 2560 5
Hình 3 AT Mega 2560 5
Hình 4 Cảm biến độ ẩm 6
Hình 5 Module chuyển đổi 7
Hình 6 Module IC cảm biến dòng ASC712 8
Hình 7 Module Sim 800L 9
Hình 8 Module nguồn LM2596 10
Hình 9 Module L298N 10
Hình 10 Module I2C 11
Hình 11 Sơ đồ chân LCD 12
Hình 12 Web server 12
Hình 13 Nguyên lý hoạt động của Web server 14
Hình 14 Sơ đồ chân ESP8266 17
Hình 15 Giao diện phần mềm Arduino IDE 18
Hình 16 Sơ đồ khối 19
Hình 17 Sơ đồ nguyên lý chi tiết mạch 20
Hình 18 Kết nối khối nguồn 21
Hình 19 Module sim 800L 21
Hình 20 Module ESP 8266 22
Hình 21 Board Arduino mega 2560 23
Hình 22 Cảm biến độ ẩm đất LM 393 23
Hình 23 I2C 23
Hình 24 LCD 24
Hình 25 Lưu đồ giải thuật 25
Hình 26 Mô hình thực tế 26
Trang 5TÓM TẮT
Ngày nay, với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông tin… đã làm cho đời sống của con người ngày càng hoàn thiện Các thiết bị tự động hóa đã ngày càng phổ biến vào trong sản xuất cũng như trong cuộc sống sinh hoạt hằng ngày của mỗi con người Do đó các vấn đề về sản xuất, trồng trọt các vườn cây mà không cần nhiều công chăm sóc là vấn đề nhiều nhà nông quan tâm đến Qua báo chí, các phương tiện truyền thông, internet chúng ta có thể thấy nhiều
mô hình tưới cây tự động được ra đời Là một sinh viên đang theo học ngành kỹ thuật, với những kiến thức đã học cùng với mong muốn thiết kế một mô hình tưới cây tự động đáp ứng được nhu cầu cho ngành nông nghiệp của nước ta, chúng tôi
đã quyết định chọn thực hiện đề tài “Thiết kế mô hình giám sát và điều khiển tưới tự động cho vườn cây thông qua mạng”
Trên thực tế đã có một số sản phẩm tương tự mô hình này, nhưng những sản phẩm đó vẫn còn một số hạn chế như: Tính linh động của sản phẩm chưa cao, chỉ
có thể điều khiển và giám sát từ xa các thiết bị trong vườn, bơm tưới cây theo giờ
đã cài đặt sẳn, khi trời mưa vẫn tự động bơm nước tưới có thể làm cây úng nước và chết, không thể biết được bơm có hoạt động hay không,
Với “mô hình giám sát và điều khiển tưới tự động cho vườn cây thông qua mạng” thường phải đạt được các yêu cầu: đo độ ẩm đất, đo nhiệt độ, độ ẩm không
khí, tự bơm nước để tưới cho cây khi độ ẩm đất thấp và tự tắt bơm khi độ ẩm đất cao, và có thể điều khiển từ xa thông qua mạng internet, đồng thời truyền dữ liệu lên WEB SERVER để cập nhật thông tin Người nông dân có thể điều khiển động
cơ bơm nước tưới từ xa, đồng thời mô hình còn có thể giám sát động cơ bơm nước
có hoạt động hay không và gửi tin nhắn báo về điện thoại của người sử dụng Đây
là một sản phẩm hoạt động dựa trên sự kết hợp hoàn hảo giữa kĩ thuật cơ khí, kĩ
Trang 6thuật điện - điện tử, đảm bảo thực hiện các yêu cầu cơ bản mà chúng ta mong muốn
Trang 72 Mục tiêu nghiên cứu
- Mô hình được thiết kế để đo độ ẩm đất và điều khiển tưới tự động
- Hệ thống có thể điều khiển tưới thông qua WEB SERVER hoặc tin nhắn SMS
- Giám sát động cơ bơm nước có hoạt động hay không
3 Đối tượng nghiên cứu
- Nghiên cứu đo độ ẩm đất và điều khiển tưới cho các loại cây cảnh trồng trong các biệt thự, các khu vườn
4 Phạm vi nghiên cứu
- Đo độ ẩm truyền về WEB SERVER điều khiển động cơ bơm nước thông qua mạng internet hoặc gửi tin nhắn SMS để điều khiển hệ thống Kiểm tra động
cơ có hoạt động hay không đồng thời gửi tin nhắn báo về điện thoại
5 Ý nghĩa khoa học và ý nghĩa thực tiễn, quy mô và phạm vi áp dụng:
- Đề tài nghiên cứu giúp cho chúng ta luôn cảm thấy yên tâm khi khu vườn được chăm sóc tốt, tiết kiệm sức lao động, có thể dễ dàng tưới cho vườn cây của mình từ bất kỳ nơi nào chỉ cần nơi đó có sóng điện thoại và mạng internet
- Kiểm tra độ ẩm đất, nhiệt độ, độ ẩm không khí thường xuyên Kiểm tra tình trạng hoạt động của động cơ từ xa
Trang 8PHẦN 1: TỔNG QUAN TÀI LIỆU
1.1 Board Arduino mega 2560:
⁃ Giới thiệu chung:
Hình 1: Board Arduino mega2560 Arduino Mega 2560 là phiên bản nâng cấp của Arduino Mega hay còn gọi là Arduino Mega 1280 Sự khác biệt lớn nhất với Arduino Mega 1280 chính là chip nhân
Ở Arduino Mega 1280 sử dụng chip ATmega1280 với flash memory 128KB, SRAM 8KB và EEPROM 4 KB
Arduino Mega 2560 phiên bản hiện đang được sử dụng rộng rãi và ứng dụng nhiều hơn Với chip ATmega2560 có bộ nhớ flash memory 256 KB, 8KB cho bộ nhớ SRAM, 4 KB cho bộ nhớ EEPROM Giúp cho người dùng thêm khả năng viết những chương trình phức tạp và điều khiển các thiết bị lớn hơn như máy in 3D, điều khiển robot
Arduino Mega2560 là một vi điều khiển bằng cách sử dụng ATmega2560
16 chân vào analog (từ A0 đến A15)
4 cổng Serial giao tiếp với phần cứng
Trang 9Cổng Serial Chân RX Chân TX
Arduino Mega 2560 phiên bản hiện đang được sử dụng rộng rãi và ứng dụng
nhiều hơn Với chip ATmega2560 có bộ nhớ flash memory 256 KB, 8KB cho
bộ nhớ SRAM, 4 KB cho bộ nhớ EEPROM Giúp cho người dùng thêm khả
năng viết những chương trình phức tạp và điều khiển các thiết bị lớn hơn như
máy in 3D, điều khiển robot
⁃ Các chân năng lượng:
GND: cực âm của nguồn điện cấp cho Arduino UNO Khi ta dùng các thiết
bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối
với nhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
Vin: để cấp nguồn ngoài cho Arduino UNO, ta nối cực dương của nguồn
với chân này và cực âm của nguồn với chân GND
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể
được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy ta không được
Trang 10lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương
với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
⁃ Thông số kỹ thuật:
Điện áp đầu vào giới hạn 6V – 20V
Cường độ dòng điện trên mỗi 3.3V pin 50 mA
Cường độ dòng điện trên mỗi I/O pin 20 mA
Hình 3: Vi điều khiển AT Mega256
Bộ nhớ Các ATmega2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KB được sử dụng cho các bộ nạp khởi động), 8 KB của SRAM và 4 KB của EEPROM (mà có thể được đọc và ghi với các thư viện EEPROM)
Trang 11Với 54 chân có thể sử dụng cho các kết nối vào hoặc ra I/O, 32 thanh ghi, bốn 16- bit timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra có thể sử dụng
bộ biến đổi số tương tự 10 bit (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6/12 kênh điều chế độ rộng xung (PWM ), hỗ trợ bootloader
DO: Đầu ra tín hiệu số (0 và 1)
AO: Đầu ra Analog (Tín hiệu tương tự)
⁃ Cảm biến độ ẩm đất:
Hình 4: Cảm biến độ ẩm
Trang 12Hai đầu đo của cảm biến được cắm vào đất để phát hiện độ ẩm Dùng dây nối giữa cảm biến và module chuyển đổi Thông tin về độ ẩm đất sẽ được đọc về và gởi tới module chuyển đổi
⁃ Nguyên lý hoạt động của cảm biến:
Sự hấp thụ độ ẩm (hơi nước) làm biến đổi thành phần cảm nhận trong cảm biến (ở đây là các chat hóa học như LiCL, P2O5) làm thay đổi điện trở của cảm biến qua
đó xác định được độ ẩm
1.4 Module chuyển đổi:
Hình 5: Module chuyển đổi Module chuyển đổi có cấu tạo chính gồm một IC so sánh LM393, một biến trở, 4 điện trở dán 100 Ohm và 2 tụ dán Biến trở có chức năng định ngưỡng so sánh với tín hiệu độ ẩm đất đọc về từ cảm biến Ngưỡng so sánh và tín hiệu cảm biến sẽ là 2 đầu vào của IC so sánh LM393 Khi độ ẩm thấp hơn ngưỡng định trước, ngõ ra của
IC là mức cao [1], ngược lại là mức thấp [0]
⁃ Nguyên lý hoạt động của Module:
Module đo độ ẩm đất gồm 1 cảm biến độ ẩm đất và 1 board mạch xử lý tín hiệu Cảm biến độ ẩm đất được cắm xuống vùng đất cần đo độ ẩm
1.5 IC cảm biến dòng ASC712:
Trong đề tài này, ở kênh đo dòng điện ta đo dòng điện qua tải bằng cảm biến dòng ASC712 hoạt động dựa trên hiệu ứng Hall
⁃ Khảo sát IC ASC712:
Trang 13ACS712 của hãng Allegro cung cấp giải pháp kinh tế và chính xác cho việc cảm ứng dòng AC hoặc DC trong các hệ thống công nghiệp, thương mại và liên lạc Thiết bị bao gồm mạch điện Hall tuyến tính, độ lệch thấp và độ chính xác cao trong việc cảm biến dòng điện và tạo ra một điện áp ở ngõ ra tương ứng
Cảm biến dòng ASC712: có chức năng ánh xạ dòng điện qua tải thành một điện áp ngõ ra tương ứng Điện áp ngõ ra này có dạng:
Mức điện áp
2
cc
V
= 2.5VDC là cố định tại ngõ ra của ASC712, tín hiệu dạng sine
là ánh xạ của dòng điện qua tải với tỉ lệ 1A100mV
Mặt khác, module ASC712 luôn cho ra trên ngõ V+ một điện áp DC bằng
Hình 6: Module IC cảm biến dòng ACS712
1.6 Module Sim800L:
⁃ Giới thiệu về Sim800L:
Trang 14SIM800L là một sản phẩm của công ty SIMCom sản xuất Nó là một module GSM/GPRS cực kỳ nhỏ gọn, là bản module từ Sim800 nhưng được thiết kế cho thị trường châu Á Khi ra khỏi khu vực này thì Sim800L không hoạt động được
SIM800L chỉ hoạt động được ở GSM850MHz, EGSM900MHz, DSC1800Mhz, PCS1900MHz như là một loại thiết bị đầu cuối với một chip xử lý đơn nhân, tăng cường các tính năng quan trọng dựa trên nền vi xử lý ARM926EJ-S
Kích thước sim nhỏ gọn (25mm x 22mm) đáp ứng những yêu cầu về không gian trong các ứng dụng M2M điện thoại thông minh, PDA và các thiết bị di động khác
SIM800L được sử dụng trong đề tài này để làm module 800L, có kết nối với SIM điện thoại di động làm GSM modem Module SIM800L sẽ kết nối với các thiết bị khác, phục vụ cho việc đóng ngắt thiết bị điện
Hình 7: Module Sim800L Sim800L có 88 chân nhưng tích hợp trên Module sẽ có 8 chân giao tiếp với
Arduino
1.7 Module nguồn LM2596
Trong đề tài này sử dụng module nguồn LM2596S còn gọi cách khác là mạch giảm
áp đưa điện áp đầu vào trong khoảng 3V-40V ra điện áp tùy biến thông qua điện trở từ 1.3V-37V
Trang 15Hình 8: Module nguồn LM2596S
Cơ bản LM2596S vỏ TO-263 là một IC ổn áp dạng xung DC - DC Điện áp đầu vào lớn nhất tới 40V, và thấp nhất 4.5V Điện áp đầu ra điều chỉnh được trong khoảng 1.5V - 37V, dòng điện đầu ra đạt 3A hiệu suất cao nhờ ứng dụng cơ chế băm xung ở tần số lên tới 150KHz Trong quá trình hoạt động LM2596S luôn được đặt trong các chế độ bảo vệ quá nhiệt và quá dòng
1.8 Module điều khiển động cơ L298N:
Module L298N cũng là một module thông dụng với chức năng thông dụng và giá
thành cực kỳ rẻ Có rất nhiều ứng dụng thực tiễn trong đời sống
Hình 9: Module L298N
⁃ Thông số kỹ thuật
Trang 16 Điện áp điều khiển: +5 V ~ +12 V
Dòng tối đa cho mỗi cầu H là: 2A (=>2A cho mỗi motor)
Điện áp của tín hiệu điều khiển: +5 V ~ +7 V
Dòng của tín hiệu điều khiển: 0 ~ 36mA (Arduino có thể đến 40mA)
Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃
1.9 Module giao tiếp I2C:
Để giao tiếp giữa LCD 16x2 và Arduino dễ dàng hơn ta sử dụng Module giao tiếp I2C
Module I2C sử dụng IC PCF8574T điều khiển màn hình ký tự gồm 16 cột và 2 dòng giúp tiết kiệm dây nối với vi điều khiển hoặc Arduino Thông thường để điều khiển và hiển thị được ký tự từ Arduino ra LCD cần đến 8 dây, nhưng sử dụng I2C thì chỉ cần 2 dây là SCL và SDA
Ngoài ra, trên module I2C còn tích hợp sẵn biến trở để điều chỉnh độ sáng của LCD
Hình 10: Module I2C
1.10 Màn hình LCD 16x2:
LCD là thiết bị hiển thị được sử dụng trong rất nhiều các ứng dụng vi xử lý LCD
có rất nhiều ưu điểm so với các dạng hiển thị khác, nó có khả năng hiển thị ký tự
đa dạng, trực quan (chữ, số và ký tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức khác nhau Trong đề tài này tôi sử dụng LCD giao tiếp với I2C để
Trang 17hiện thị thông tin nhiệt độ, độ ẩm và trạng thái hoạt động của Module cảm biến LM393
⁃ Đặc tính kỹ thuật
Điều khiển các chân: Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết Các chân này được đánh số thứ tự và đặt tên như sau:
Hình 11: Sơ đồ chân của LCD
1.11 Web sever và ngôn ngữ HTML:
⁃ Khái niệm về Web server:
Hình12: Web sever Web Server: máy chủ mà trên đó cài đặt phần mềm chạy Website, đôi khi người ta cũng gọi chính phần mềm đó là Web Server Tất cả các Web Server đều hiểu và
Trang 18chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx…; Apache dành cho *.php…; Sun Java System Web Server của SUN dành cho *p… Máy chủ Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script, các chương trình, và các file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP – giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name
Bất kỳ một máy tính – máy chủ nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet
Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn
Giống như những phần mềm khác đã từng cài đặt trên máy tính của mình, Web Server Software cũng chỉ là một ứng dụng phần mềm Nó được cài đặt, và chạy trên máy tính - máy chủ dùng làm Web Server, nhờ có chương trình này mà người
sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet)
Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng
Máy chủ web - Web Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và
365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến Vị trí đặt