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

ĐỒ ÁN VƯỜN CÂY TỰ ĐỘNG ( ĐÍNH KÈM FILE CODE)

25 4 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

Tiêu đề Thiết kế vườn cây tự động
Người hướng dẫn T.S Nguyễn Ngọc Minh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Đồ án thiết kế hệ thống nhúng
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 1,18 MB
File đính kèm Vườn cây tự động.rar (16 MB)

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

Nội dung

Thiết lập mô hình mạng điều khiển từ internet đến board điều khiển trung tâm, rồi từ đó đi đến các nút mạng khác. Giao tiếp dữ liệu qua mạng wifi thành công giữa board điều khiển trung tâm và các thiết bị hay cảm biến Xây dựng chương trình điều khiển là một server ứng dụng app điện thoại được tích hợp trên board, cho phép điều khiển khi có wifi. Thiết kế và thi công một số cảm biến như: cảm biến nhiệt độ độ ẩm, cảm biến độ ẩm đất và cảm biến ánh sáng.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Trang 2

2

MỤC LỤC

LỜI NÓI ĐẦU 3

I TỔNG QUAN VỀ VƯỜN TỰ ĐỘNG 4

1 Giới thiệu đề tài 4

2 Mục đích đề tài 4

3 Mô tả yêu cầu 4

4 Mục tiêu thực hiện 4

5 Sơ lược các bước thực hiện đề tài 4

II LINH KIỆN VÀ CÁC CHUẨN GIAO TIẾP SỬ DỤNG 5

1 Các linh kiện sử dụng và chức năng 5

1.1 Linh kiện sử dụng 5

1.2 Giới thiệu linh kiện 5

2 Các chuẩn giao tiếp sử dụng 13

2.1 Hệ điều hành FREERTOS 13

2.2 Giao tiếp UART 14

2.3 Chuyển đổi ADC 16

2.4 Giao tiếp API 18

2.5 Giao tiếp One Wire 19

2.6 Giao thức MQTT 20

III THIẾT KẾ MẠCH 22

1 Sơ đồ khối 22

1.1 Khối đầu vào 22

1.2 Khối xử lý STM32F103C8T6 22

1.3 Khối truyền nhận ESP8266 22

1.4 Khối hiển thị Web 22

1.5 Khối đầu ra 23

2 Thiết kế mạch phần cứng 23

2.1 Sơ đồ nguyên lý 23

2.2 PCB 23

2.3 Mạch hoàn thiện 24

IV KẾT LUẬN 25

Trang 3

3

LỜI NÓI ĐẦU

Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật (KHKT), các công

cụ, máy móc hỗ trợ ngày càng ăn sâu vào các lĩnh vực của đời sống: từ những ngành truyền thống lâu đời như dệt may, nông nghiệp… đến những ngành công nghệ cao, đòi hỏi sự tỉ mỉ và chính xác cực cao Ngoài ra chúng cũng là công cụ giải trí, liên lạc,… giúp con người liên lạc, giao tiếp với nhau một cách dễ dàng, nhanh chóng và cần thiết, nhất là trong đại dịch Covid – 19, khi con người phải hạn chế việc giao tiếp trực tiếp với nhau

Song song với những tiến bộ mà KHKT mang lại, chúng ta lại càng quan tâm đến mối liên hệ giữa năng lượng - môi trường Chúng ta cần phải phối hợp giữa

sự phát triển của kỹ thuật và bảo vệ môi trường thì mới gọi là phát triển bền vững

Từ đó, các loại năng lượng sạch được con người cho ra đời như điện gió , điện mặt trời… giúp giảm thiểu tác hại ô nhiễm môi trường

Vườn tự động được trang bị các hệ thống tự động thông minh cùng với cách

bố trí hợp lý, các hệ thống này có khả năng tự điều phối các hoạt động theo thói quen của người sử dụng và loại cây trồng Các thiết bị này có thể tự đưa ra cách

xử lý tình huống được lập trình trước, hoặc là được điều khiển và giám sát từ xa

Từ nhu cầu thực tế muốn ước mơ về sử dụng thiết bị điện dân dụng tự động đến với mọi người dân, đồ án của chúng em đề xuất và xây dựng đề tài “Thiết kế

mô hình vườn cây tự động ứng dụng vi điều khiển” Chúng em xin chân thành cảm ơn giảng viên thầy Nguyễn Ngọc Minh, cảm ơn các thầy cô giáo trong khoa

Kỹ thuật Điện tử I đã tận tình giúp đỡ chúng em để đề tài của chúng em được hoàn thành đúng thời hạn

Trang 4

4

I TỔNG QUAN VỀ VƯỜN TỰ ĐỘNG

1 Giới thiệu đề tài

Vườn tự động là kiểu vườn được lắp đặt các thiết bị điện, điện tử có thể được điều khiển hoặc tự động hoá hoặc bán tự động Thay thế con người trong thực hiện một hoặc một số thao tác quản lý, điều khiển Hệ thống điện tử này giao tiếp với người dùng thông qua bảng điện tử đặt trong nhà, ứng dụng trên điện thoại di động, máy tính bảng hoặc một giao diện web

2 Mục đích đề tài

Bạn có thể kiểm soát và xem những gì đang diễn ra trong vườn cây của mình Ngay cả khi bạn không ở đó sử dụng điện thoại thông minh, máy tính bảng hoặc đôi khi là máy tính Vừa dễ dàng để sinh viên vận dụng những kiến thức tiếp thu được trên giảng đường vào nó và phù hợp để sinh viên học tập và nghiên cứu thêm về ngành Điện tử một cách cụ thể

3 Mô tả yêu cầu

Đảm bảo đầy đủ các yếu tố cơ bản nhất mô phỏng một vườn tự động thu nhỏ

Có tính khả thi và thực hiện được trong thời gian ngắn Đảm bảo phát triển theo mục tiêu của đề tài đặt ra: điều khiển và quản lý các thiết bị thông qua mạng internet

4 Mục tiêu thực hiện

Thiết lập mô hình mạng điều khiển từ internet đến board điều khiển trung tâm, rồi từ đó đi đến các nút mạng khác Giao tiếp dữ liệu qua mạng wifi thành công giữa board điều khiển trung tâm và các thiết bị hay cảm biến

Xây dựng chương trình điều khiển là một server ứng dụng app điện thoại được tích hợp trên board, cho phép điều khiển khi có wifi

Thiết kế và thi công một số cảm biến như: cảm biến nhiệt độ độ ẩm, cảm biến độ ẩm đất và cảm biến ánh sáng

5 Sơ lược các bước thực hiện đề tài

• Bước 1: Thảo luận đề tài, tìm hiểu về các linh kiện, đọc các tài liệu liên quan

• Bước 2: Thống kê các linh kiện, chọn giá sản phẩm phù hợp với nhu cầu và tiến hành đi mua linh kiện cần thiết

• Bước 3: Thiết kế mô hình mô phỏng vườn tự động

Trang 5

5

• Bước 4: Thực nghiệm kiểm tra các linh kiện, nghiên cứu cách hoạt động

• Bước 5: Nạp thử nghiệm

• Bước 6: Lắp ráp các linh kiện cần thiết và kiểm thử sản phẩm

• Bước 7: Làm báo cáo, thuyết trình, kết luận

II LINH KIỆN VÀ CÁC CHUẨN GIAO TIẾP SỬ DỤNG

1 Các linh kiện sử dụng và chức năng

Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP2102 đượ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

Trang 6

6

Module ESP8266

Thông số kỹ thuật :

✓ IC chính: ESP8266

✓ Phiên bản firmware: NodeMCU Lua

✓ Chip nạp và giao tiếp UART: CP2102

✓ GPIO tương thích hoàn toàn với firmware Node MCU

✓ Cấp nguồn: 5VDC MicroUSB hoặc Vin

✓ GIPO giao tiếp mức 3.3VDC

✓ Tích hợp Led báo trạng thái, nút Reset, Flash

✓ Tương thích hoàn toàn với trình biên dịch Arduino

✓ Kích thước: 25 x 50 mm

Trang 7

STM32F103 là vi điều khiển 32 bit, tốc độ tối đa là 72Mhz

Giá thành cũng khá rẻ so với các loại vi điều khiển có chức năng tương tự Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng.\

Trang 8

8

Kit STM32F103C8T6

Thông số kỹ thuật:

thành 3.3VDC qua IC nguồn và cấp cho Vi điều khiển chính

tiếp: CAN, I2C, SPI, UART, USB,…

• Module relay 4 kênh 5V

Gồm 4 relay , điện áp hoạt động 5 v điều khiển đầu ra tối đa

220VAC/10A và 30VDC/10A Đầu vào IN1, IN2, IN3 IN4 nhận tín hiệu cực thấp

Module relay 4 kênh nhỏ thiết kế gọn chuyên nghiệp , khả năng chống nhiễu tốt và khả năng cách điện tốt An toàn đáng tin cậy Có sẵn header rất

Trang 9

Mạch điều khiển relay 4 kênh này sử dụng chân kích mức Thấp (0V): khi có tín hiệu 0V vào chân IN thì relay sẽ nhảy qua thường Mở của Relay

Module relay 4 kênh 5V

• Module đo nhiệt độ và độ ẩm DHT11

Cảm biến nhiệt độ độ ẩm DHT11

Trang 10

10

DHT11 là cảm biến nhiêt độ và độ ẩm giao tiếp với 1 chân dữ liệu, DHT11

đo được giá trị độ ẩm từ 20% đến 90%RH và nhiệt độ từ 0oC đến 50oC, độ chính xác: ± 5%RH và ±2oC

Cấu tạo cảm biến gồm 2 phần: một điện trở nhiệt và một cảm biến độ

ẩm điện dung Ngoài ra bên trong module còn có các mạch chuyển đổi tương

tự sang số Cảm biến được tích hợp bộ tiền xử lý giúp cho dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ khâu phân tích hay tính toán nào.

Thông số kỹ thuật :

✓ Điện áp hoạt động: 5VDC

✓ Chuẩn giao tiếp: TTL, 1 wire

✓ Khoảng đo độ ẩm: 20%-80%RH sai số ± 5%RH

✓ Khoảng đo nhiệt độ: 0-50°C sai số ± 2°C

✓ Tần số lấy mẫu tối đa 1Hz (1 giây / lần)

Cảm biến bao gồm một biến trở để đặt ngưỡng độ ẩm mong muốn Đầu

ra kỹ thuật số có thể được kết nối với một bộ điều khiển vi mô để cảm nhận mức độ ẩm Cảm biến cũng xuất ra một đầu ra tương tự có thể được kết nối với ADC của bộ điều khiển vi mô để có được mức độ ẩm chính xác trong đất, phù hợp để thực hiện các dự án làm vườn bằng nước, cảm biến nước, v.v

Trạng thái đầu ra mức thấp (0V), khi đất thiếu nước đầu ra sẽ là mức cao (5V), độ nhạy cao chúng ta có thể điều chỉnh được bằng biến trở Cảm biến

Trang 11

ra DO sẽ chuyển trạng thái từ mức thấp lên mức cao

✓ Sử dung chip LM393 để so sánh, ổn định làm việc

✓ Đầu kết nối sử dụng 3 dây

+ 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)

Trang 12

✓ DO: Đầu ra tín hiệu số (0 và 1)

✓ Mô tả sơ đồ chân của module cảm biến ánh sáng

+ DO: Tín hiệu ra digital + GND: Nối Mass - Cực âm + VCC: Nối nguồn 3.3V đến 5V

• Cách hoạt động

- Khi mức ánh sáng xung quanh chưa đạt đến ngưỡng, DO ở mức cao Khi mức ánh sáng xung quanh vượt quá ngưỡng được thiết lập, đầu ra DO ở mức thấp

- Đầu ra DO có thể được kết nối trực tiếp với vi điều khiển hoặc các

module khác (có thể là các mạch điều khiển ánh sáng)

- Đầu ra AO có thể được kết nối với vi điều khiển thông qua chức năng ADC, bạn có thể nhận được các giá trị cường độ ánh sáng xung quanh chính xác hơn

Trang 13

Hệ điều hành (tiếng Anh: Operating System – viết tắt: OS) là một phần mềm dùng để điều hành, quản lý toàn bộ tất cả thành phần (bao gồm cả phần cứng và phần mềm) của thiết bị điện tử

Hệ điều hành giống như hội đồng quản trị vậy Họ có quyền quyết định ai làm gì và thời gian như thế nào Các nhân viên cũng như các ứng dụng, nhận lệnh của cấp trên và thực thi các công việc theo đúng chức năng của mình

Hệ điều hành thời gian thực (realtime): sinh ra cho các tác vụ cần sự phản hồi nhanh của hệ thống, thường được nhúng trong các loại vi điều khiển và không

có giao diện (GUI) tương tác với người dùng Chúng cần phản hồi nhanh bởi vì đa

số các tác vụ tương tác với thiết bị, máy móc khác chứ không phải con người Các tài nguyên bên trong rất hữu hạn nên chỉ một sự chậm trễ cũng có thể làm hệ thống làm việc hoàn toàn sai lệch

• Hệ điều hành thời gian thực còn chia thành 2 loại:

• Soft-realtime: Sử dụng cho các ứng dụng cruise control (điều khiển hành trình) trong ô tô và các ứng dụng viễn thông

Trang 14

RTOS khá phức tạp, nói một cách dễ hiểu hơn là nó thực hiện việc xử lý các trạng thái máy (State Machine) Các bạn có thể tìm hiểu tại bài viết States

Machine và lập trình nhúng

Nhân Kernel sẽ điều phối sự hoạt động của các tác vụ (Task), mỗi task sẽ có một mức ưu tiên (prioritize) và thực thi theo chu kì cố định Nếu có sự tác động như ngắt, tín hiệu hoặc tin nhắn giữa các Task, Kernel sẽ điều phối chuyển tới Task tương ứng với Code đó

Sự chuyển dịch giữa các Task rất linh động, độ trễ thấp mang lại độ tin cậy cao cho chương trình

Thay thì chạy từ trên xuống trong cùng một chương trình thì chúng sẽ được chạy theo các Task khác nhau Được chia nhỏ và chạy đồng thời

2.2 Giao tiếp UART

UART hay bộ thu-phát không đồng bộ đa năng là một trong những hình thức giao tiếp kỹ thuật số giữa thiết bị với thiết bị đơn giản và lâu đời nhất Bạn có thể tìm thấy các thiết bị UART trong một phần của mạch tích hợp (IC) hoặc dưới dạng các thành phần riêng lẻ Các UART giao tiếp giữa hai nút riêng biệt bằng cách sử dụng một cặp dẫn và một nối đất chung

Trang 15

15

Chân Tx (truyền) của một chip kết nối trực tiếp với chân Rx (nhận) của chip kia và ngược lại Thông thường, quá trình truyền sẽ diễn ra ở 3.3V hoặc 5V UART là một giao thức một master, một slave, trong đó một thiết bị được thiết lập để giao tiếp với duy nhất một thiết bị khác

Dữ liệu truyền đến và đi từ UART song song với thiết bị điều khiển (ví dụ: CPU)

Khi gửi trên chân Tx, UART đầu tiên sẽ dịch thông tin song song này thành nối tiếp và truyền đến thiết bị nhận

UART thứ hai nhận dữ liệu này trên chân Rx của nó và biến đổi nó trở lại thành song song để giao tiếp với thiết bị điều khiển của nó

UART truyền dữ liệu nối tiếp, theo một trong ba chế độ:

- Full duplex: Giao tiếp đồng thời đến và đi từ mỗi master và slave

- Half duplex: Dữ liệu đi theo một hướng tại một thời điểm

- Simplex: Chỉ giao tiếp một chiều

Dữ liệu truyền qua UART được tổ chức thành các gói Mỗi gói chứa 1 bit bắt đầu, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), một bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng

UART là giao thức không đồng bộ, do đó không có đường clock nào điều chỉnh tốc độ truyền dữ liệu Người dùng phải đặt cả hai thiết bị để giao tiếp ở cùng tốc độ Tốc độ này được gọi là tốc độ truyền, được biểu thị bằng bit trên giây hoặc bps Tốc độ truyền thay đổi đáng kể, từ 9600 baud đến 115200 và hơn nữa Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng 10% trước khi thời gian của các bit bị lệch quá xa

Trang 16

16

• Ưu và nhược điểm của UART

Không có giao thức truyền thông nào là hoàn hảo, nhưng UART thực hiện khá tốt công việc của nó Dưới đây là một số ưu và nhược điểm để giúp bạn quyết định xem nó có phù hợp với nhu cầu của bạn hay không

• Ưu điểm

+ Chỉ sử dụng hai dây

+ Không cần tín hiệu clock

+ Có một bit chẵn lẻ để cho phép kiểm tra lỗi

+ Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên đều được thiết lập cho nó

+ Phương pháp có nhiều tài liệu và được sử dụng rộng rãi

• Nhược điểm

+ Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit

+ Không hỗ trợ nhiều hệ thống slave hoặc nhiều hệ thống master

+ Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau

2.3 Chuyển đổi ADC

ADC là từ viết tắt của Analog to Digital Converter hay bộ chuyển đổi analog sang kỹ thuật số là một mạch chuyển đổi giá trị điện áp liên tục (analog) sang giá trị nhị phân (kỹ thuật số) mà thiết bị kỹ thuật số có thể hiểu được sau đó có thể được sử dụng để tính toán kỹ thuật số Mạch ADC này có thể là vi mạch ADC hoặc được nhúng vào một bộ vi điều khiển

Trang 17

17

Thiết bị điện tử ngày nay hoàn toàn là kỹ thuật số, không còn là thời kỳ của máy tính analog Thật không may cho các hệ thống kỹ thuật số, thế giới chúng ta đang sống vẫn là analog và đầy màu sắc, không chỉ đen và trắng

Ví dụ, một cảm biến nhiệt độ như LM35 tạo ra điện áp phụ thuộc vào nhiệt

độ, trong trường hợp của thiết bị cụ thể nó sẽ tăng 10mV khi nhiệt độ tăng lên mỗi độ Nếu chúng ta kết nối trực tiếp thiết bị này với đầu vào kỹ thuật số, nó sẽ ghi là cao hoặc thấp tùy thuộc vào các ngưỡng đầu vào, điều này là hoàn toàn vô dụng

Thay vào đó, chúng ta sử dụng một bộ ADC để chuyển đổi đầu vào điện áp analog thành một chuỗi các bit có thể được kết nối trực tiếp với bus dữ liệu của

bộ vi xử lý và được sử dụng để tính toán

• Cách thức ADC hoạt động

Một cách rất hay để xem xét hoạt động của ADC là tưởng tượng nó như một

bộ chia tỷ lệ toán học Tỷ lệ về cơ bản là ánh xạ các giá trị từ dải này sang dải khác, vì vậy ADC ánh xạ một giá trị điện áp sang một số nhị phân

Những gì chúng ta cần là một thứ có thể chuyển đổi điện áp thành một loạt các mức logic, ví dụ như trong một thanh ghi Tất nhiên, các thanh ghi chỉ có thể chấp nhận các mức logic làm đầu vào, vì vậy nếu bạn kết nối tín hiệu trực tiếp với đầu vào logic, kết quả sẽ không tốt Vì vậy cần có một giao diện ở giữa logic

và điện áp đầu vào analog

• Điện áp tham chiếu

Tất nhiên, không có ADC nào là tuyệt đối, vì vậy điện áp được ánh xạ tới giá trị nhị phân lớn nhất được gọi là điện áp tham chiếu Ví dụ: trong bộ chuyển đổi

10 bit với 5V làm điện áp tham chiếu, 1111111111 (tất cả các bit một, số nhị phân 10 bit cao nhất có thể ) tương ứng với 5V và 0000000000 (số thấp nhất tương ứng với 0V) Vì vậy, mỗi bước nhị phân lên đại diện cho khoảng 4,9mV,

vì có thể có 1024 chữ số trong 10 bit Số đo điện áp trên mỗi bit này được gọi là

độ phân giải của ADC

Trang 18

18

Điều gì sẽ xảy ra nếu điện áp thay đổi dưới 4,9mV mỗi bước? Nó sẽ đặt ADC vào vùng chết, do đó kết quả chuyển đổi luôn có một lỗi nhỏ Có ngăn chặn lỗi này bằng cách sử dụng ADC có độ phân giải cao hơn ví dụ như bộ ADC lên đến 24 bit, mặc dù tần số chuyển đổi thấp

• Tốc độ mẫu

Số lượng chuyển đổi từ analog sang kỹ thuật số mà bộ chuyển đổi có thể thực hiện mỗi giây được gọi là tốc độ mẫu Ví dụ: một bộ ADC thực sự tốt có thể có tốc độ mẫu là 300Ms / s Đơn vị này được đọc là megasamples trên giây, nghĩa là một triệu mẫu mỗi giây Lưu ý rằng tiền tố SI áp dụng ở đây

Tốc độ lấy mẫu phụ thuộc hoàn toàn vào loại bộ chuyển đổi và độ chính xác cần thiết Nếu cần đọc rất chính xác, ADC thường dành nhiều thời gian hơn để xem xét tín hiệu đầu vào (thường là lấy mẫu và giữ hoặc đầu vào tích hợp) và nếu không cần độ chính xác cao thì nó có thể đọc rất nhanh

Nguyên tắc chung là tốc độ và độ chính xác tỷ lệ nghịch với nhau, điều quan trọng là phải chọn ADC tùy thuộc vào ứng dụng

2.4 Giao tiếp API

API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác

Nó là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng API cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng

Ngày đăng: 03/10/2023, 17:18

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