BỘ THÔNG TIN & TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG
------------
BÁO CÁO BÀI TẬP LỚN
Mơn học: Đồ án thiết kế hệ thống nhúng
Đề tài:
Thiết kế vườn cây tự động
Hà Nội,
2022
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
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
2
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
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. Ngồ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.
3
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
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 hố 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 số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
4
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
• 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
1.1. Linh kiện sử dụng
• Esp8266 NodeMCU
• STM32F103C8T6
• Module 4 kênh 5V
• Module DHT11
• Module cảm biến ánh sáng
• Module cảm biến độ ẩm đất LM393
• Van nước/ bơm nước DC 5v
• Đèn LED
1.2. Giới thiệu linh kiện
• Esp8266 NodeMCU :
Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP2102 là kit phát triển dựa
trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử
dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến
việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản.
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.
5
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
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 hồn tồ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 hồn tồn với trình biên dịch Arduino.
✓ Kích thước: 25 x 50 mm
6
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
Cấu hình chân và chức năng ESP8266
• STM32F103C8T6STM32
Là một trong những dịng chip phổ biến của ST với nhiều họ thông dụng như
F0,F1,F2,F3,F4….. Stm32f103 thuộc họ F1 với lõi là ARM COTEX M3.
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.\
7
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
Kit STM32F103C8T6
Thông số kỹ thuật:
✓ Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyển đổi
thành 3.3VDC qua IC nguồn và cấp cho Vi điều khiển chính.
✓ Tích hợp sẵn thạch anh 8Mhz.
✓ Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC.
✓ Ra chân đầy đủ tất cả các GPIO và giao
tiếp: CAN, I2C, SPI, UART, USB,…
✓ Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset.
✓ Kích thước: 53.34 x 15.24mm
✓ Sử dụng với các mạch nạp: ST-Link Mini, J-link, USB TO COM
✓ Kết nối chân khi nạp bằng ST-Link Mini
✓ Nạp theo chuẩn SWD
• 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
8
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
tiện dụng khi kết nối với vi điều khiển. Có các lỗ bắt vít rất tiện lợi dễ lắp đặt
trong hệ thống mạch.
Trong module đã có sẵn mạch kích relay sử dụng IC cách ly quang và
transistor giúp cách ly hoàn toàn mạch vi điều khiển với rơ le bảo đảm vi
điều khiển hoạt động ổn định.
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
9
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
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. Ngồ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 tố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).
✓ Kích thước: 28mm x 12mm x10m.
✓ DHT11 có 4 chân: VCC, DATA, NC, GND
✓ Module DHT11 đã được gắn sẵn điện trở và led báo nguồn, nên có 3
chân.
✓ VCC: Nguồn 3.3 - 5.5VDC
✓ DATA: Chân dữ liệu
✓ GND: Nối đất, cực âm
• Module cảm biến độ ẩm đất LM393
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
10
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
độ ẩm đất có thể sử dung tưới hoa tự động khi khơng có người quản lý khu
vườn của bạn hoặc dùng trong những ứng dụng tương tự như trồng cây.
Độ nhạy của cảm biến độ ẩm đất có thể tùy chỉnh được (bằng cách
điều chỉnh chiết áp màu xanh trên board mạch). Phần đầu DO được cắm vào
đất để phát hiện độ ẩm của đất, khi độ ầm của đất đạt ngưỡng thiết lập, đầu
ra DO sẽ chuyển trạng thái từ mức thấp lên mức cao.
Cảm biến độ ẩm đất LM393
Thông số kỹ thuật:
✓ Điện áp làm việc 3.3V ~ 5V
✓ Có lỗ cố định để lắp đặt thuận tiện
✓ Kích thước: 59 * 1.5 * 19.6 mm
✓ Sử dung chip LM393 để so sánh, ổn định làm việc
✓ Đầu kết nối sử dụng 3 dây
+ VCC: 3.3V ~ 5V
+ GND: GND của nguồn ngồi
+ 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)
11
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
• Module cảm biến ảnh sáng
Module cảm biến ánh sáng
Thông số kỹ thuật
✓
✓
✓
✓
✓
✓
✓
✓
Điện áp hoạt động: 3.3V - 5V.
Kích thước PCB: 3cm x 1.6cm.
Led xanh báo nguồn và ánh sáng.
IC so sánh : LM393.
VCC: 3.3V - 5V.
GND: 0V
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.
12
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
2. Các chuẩn giao tiếp sử dụng
2.1. Hệ điều hành FREERTOS
RTOS là viết tắt của cụm từ Real-time operating system hay hệ điều hành
thời gian thực thường được nhúng trong các dòng vi điều khiển dùng để điều khiển
thiết bị một cách nhanh chóng và đa nhiệm (multi tasking). Để hiểu rõ ràng nó là gì
trước hết hãy làm rõ khái niệm về hệ điều hành đã.
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 hồn tồ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.
13
Vườn cây tự động
•
GVHD: T.S Nguyễn Ngọc Minh
Hard-realtime: Sử dụng trong các ứng dụng điều khiển máy bay, động cơ
điện.
Ứng dụng của RTOS được sử dụng rất nhiều khi lập trình ESP32, ESP8266,
STM32 và các dịng chip khác.
RTOS là một phân đoạn hoặc một phần của chương trình, trong đó nó giải
quyết việc điều phối các task, lập lịch và phân mức ưu tiên cho task, nắm bắt các
thông điệp gửi đi từ task.
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.
14
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
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, q 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.
15
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
• Ưu và nhược điểm của UART
Khơng có giao thức truyền thơng nào là hồ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 tố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.
16
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
Thiết bị điện tử ngày nay hồn tồ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à hồn tồ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 tố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.
17
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
Đ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 ln 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.
Ngun 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.
18
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
Web API hoạt động như thế nào?
Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đến
máy chủ cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc HTTPS.
Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểm tra
xác thực nếu có và tìm đến tài ngun thích hợp để tạo nội dung trả về kết quả.
Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thức
HTTP/HTTPS.
Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động , dữ liệu
JSON/XML sẽ được parse để lấy data. Sau khi có được data thì thực hiện tiếp
các hoạt động như lưu dữ liệu xuống Cơ sở dữ liệu, hiển thị dữ liệu…
2.5. Giao tiếp One Wire
OneWire là hệ thống bus giao tiếp được thiết kế bởi Dallas Semiconductor
Corp. Giống như tên gọi, hệ thống bus này chỉ sử dụng 1 dây để truyền nhận dữ
liệu.
Chính vì chỉ sử dụng 1 dây nên giao tiếp này có tốc độ truyền thấp nhưng dữ
liệu lại truyền được khoảng cách xa hơn.
OneWire chủ yếu sử dụng để giao tiếp với các thiết bị nhỏ, thu thập và truyền
nhận dữ liệu thời tiết, nhiệt độ,… các công việc không yêu cầu tốc độ cao.
Giống như các chuẩn giao tiếp khác, 1-Wire cho phép truyền nhận dữ liệu với
nhiều Slave trên đường truyền. Tuy nhiên chỉ có thể có 1 Master ( điểm này giống
với SPI).
19
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
2.6. Giao thức MQTT
Kiến trúc mức cao nhất của MQTT gồm 2 thành phần chính là Broker và
Clients.
Broker được coi là trung tâm, là điểm giao, là trục chính giao với tất cả các
Clients. Nhiệm vụ chính của broker là nhận các giao tiếp từ các thiết bị xuất bản
hay hiểu đơn giản là các thiết bị tạo giao tiếp, xếp các giao tiếp theo hàng đợi rồi
chuyển chúng tới một địa chỉ cụ thể. Nhiệm vụ phụ của Broker là nó có thể đảm
nhận thêm một vài tính năng liên quan tới q trình truyền thơng như: bảo mật giao
tiếp, lưu trữ giao tiếp, ghi lại lịch sử giao tiếp, …
Client thì được chia thành 2 nhóm là xuất bản giao tiếp và theo dõi. Client hoạt
động tại thiết bị di dộng nên chúng được thiết kế để có thể hoạt động một cách linh
hoạt (lightweight). Client chỉ làm ít nhất một trong 2 việc là xuất bản các giao tiếp
lên một kênh cụ thể hoặc theo dõi một kênh nào đó để nhận các thông điệp từ kênh
này. MQTT Clients tương thích với hầu hết các nền tảng hệ điều hành hiện có:
MAC OS, Windows, LInux, Androids, iOS…
• Connect (kết nối): Thơng điệp này có nhiệm vụ là thơng báo việc chờ kết nối
được thiết lập với máy chủ và đồng thời tạo liên kết giữa các nút trong mạng
từ thiết bị đến máy chủ.Các khái niệm trong MQTT
20
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
• Cơ chế xuất bản và theo dõi: Trong một hệ thống sử dụng giao thức MQTT,
nhiều node trạm (gọi là mqtt client hoặc gọi tắt là client) kết nối tới một
MQTT server (gọi là Broker). Mỗi client sẽ đăng ký một vài kênh (topic), ví
dụ như “/client1/channel1”, “/client1/channel2”. Q trình đăng ký này gọi
là “subscribe”, giống như chúng ta đăng ký nhận tin trên một kênh Youtube
vậy. Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác gởi dữ liệu và
kênh đã đăng ký. Khi một client gởi dữ liệu tới kênh đó, gọi là xuất bản.
• MQTT Broker: là một phần mềm máy tính cho phép tạo một máy chủ
(server) kết nối giữa các MQTT client và các thiết bị nói chung trong mạng.
MQTT Borker có thể do “host” hoặc người vận hành hệ thống tự xây dựng
hoặc một bên thứ ba. Các phần mềm trên thị trường hiện nay được xây dựng
ở hai dạng mã nguồn và triển khai độc quyền cho từng trường hợp cụ thể.
• Các Broker hoạt động như một trạm bưu điện nhận nội dung đến và chuyển
nội dụng đi nhưng không sử dụng địa chỉ của client nhận như điểm đến của
nội dung mà quản lý dưới dạng kênh (topic). Các client muốn có nội dung thì
cần đăng ký kênh đó, sau đó khi Broker nhận được nội dung sẽ tự động
chuyển đến client đã đăng ký, có thể có nhiều client cùng đăng ký một kênh
và một client cũng đăng ký được nhiều kênh khác nhau trên một trạm
Broker. Các client cũng có thể là điểm sản xuất nội dung và đồng thời cũng
có thể đăng ký kênh của client khác cùng nội dung hoặc khác nội dung.
• Hiện nay Broker có thể triển khai vật lý hoặc trên đám mây, tuy nhiên triển
khai trên đám mây dễ hỗ trợ khi có Broker bị hỏng hoặc bị lỗi. Broker sẽ
quản lý, theo dõi mọi phiên làm việc của các nội dung, kênh và client có trao
đổi nội dung trên nó.
21
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
III. THIẾT KẾ MẠCH
1. Sơ đồ khối
ESP8266
Cảm
biến
WEB
Sever
STM32F103C8T6
Máy bơm, Đèn
1.1. Khối đầu vào
Gồm các cảm biến thu dữ liệu nhiệt độ, độ ẩm, ánh sáng và độ ẩm là DHT11,
Cảm biến ánh sáng, LM393. Sau khi thu được dữ liệu các cảm biến này sẽ gửi dữ
liệu về cho STM32 theo các chuẩn giao tiếp khác nhau.
Cảm biến DHT11 sử dụng giao tiếp One Wire cịn 2 cảm biến là ánh sáng và
LM393 thì sử dụng chuyển đổi ADC để gửi thông số về cho STM32.
1.2. Khối xử lý STM32F103C8T6
Có nhiệm vụ nhận dữ liệu từ cảm biến sau đó chuyển qua cho ESP8266 bằng
giao UART sau đó nhận lại thơng tin từ ESP8266 để điều khiển linh kiện khối đầu
ra.
1.3. Khối truyền nhận ESP8266
Có nhiệm vụ chức năng chính là nhận dữ liệu từ khối xử lý và gửi thông tin lên
Web sever sau đó nhận thơng tin từ web sever gửi lại cho khối xử lý để xử lý thông
tin.
1.4. Khối hiển thị Web
Nhận thông tin dữ liệu từ khối truyền nhận ESP8266 bằng giao thức MQTT
qua Wifi sau đó lưu dữ liệu và gửi lên Web để hiển thị thông tin cho người dùng.
Tại đây người dùng có thể xem được thơng tin dữ liệu thu được và có thể điều khiển
thay đổi bật tắt thiết bị theo mong muốn.
22
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
1.5. Khối đầu ra
Gồm các linh kiện là máy bơm mini DC 5V và đèn led. Khối này có chức năng
thực hiện các thao tác của người dùng từ web như bật tắt hoặc thực hiện tự động
theo cài đặt qua các chân I/O của STM32.
2. Thiết kế mạch phần cứng
2.1. Sơ đồ nguyên lý
2.2. PCB
23
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
2.3. Mạch hoàn thiện
24
Vườn cây tự động
GVHD: T.S Nguyễn Ngọc Minh
IV. KẾT LUẬN
Trong thời gian làm đề tài ngoài việc củng cố lại các kiến thức đã học, nhóm
em cũng đã tìm hiểu và làm quen rất nhiều đến các kiến thức mới về Web và nhũng
kiến thức khác để có thể thực hiện được đề tài mà nhóm mong muốn.
Trong q trình thực hiện đề tài nhóm đã gặp rất nhiều khó khăn khơng chỉ
về kiến thức mà cịn là kinh nghiệm làm việc. Chính vì vậy, để thực hiện được đề
tài này nhóm đã phải tham khảo cũng như nhờ đến sự hỗ trợ của thầy, các bạn và
anh chị để có thể hồn thiện và khắc phục được những lỗi xảy ra trong q trình làm
việc.
Do kiến thức của nhóm cịn hạn chế nên những ý tưởng của nhóm cịn chưa
thể thực hiện hết được cũng như đề tài chưa thực sự hồn thiện. Nhưng nhóm em
vẫn mong muốn và cố gắng góp phần nào đó để thực hiện phát triển và nâng cao đời
sống của chúng ta nhiều hơn.
Cuối cùng nhóm xin gửi lời cảm ơn đến thầy TS. Nguyễn Ngọc Minh đã
hướng dẫn và đồng hành cùng nhóm trong thời gian qua để nhóm có thể thực hiện
đề tài này, cũng như trang bị cho nhóm thêm nhiều hành trang, kiến thức để vận
dụng và phục vụ cho những cơng việc sau này. Nhóm xin chúc thầy dồi dào sức
khỏe và thành cơng trong cơng việc.
Nhóm xin chân thành cảm ơn!
25