You are on page 1of 101

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ----o0o----

Tp. HCM, ngày 25 tháng 3 năm 2020

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên: Nguyễn Đức An MSSV: 16141100


Tất Siêu Thành MSSV: 16141280
Chuyên ngành: Điện tử công nghiệp Mã ngành: 141
Hệ đào tạo: Đại học chính quy Mã hệ: 1
Khóa: 2016 Lớp: 16141DT1A
16141DT2A

I. TÊN ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG MÔ HÌNH HỆ THỐNG


GIÁM SÁT CHẤT LƯỢNG NƯỚC NUÔI TRỒNG THUỶ SẢN
II. NHIỆM VỤ
1. Các số liệu ban đầu:
 Tìm hiểu về phương pháp giao tiếp với module ESP32-WROOM-32 bằng thư viện chuẩn của
hãng – thư viện idf.
 Tìm hiểu về môi trường lập trình cho vi điều khiển STM32F103C8T6.
 Tham khảo phương pháp giao tiếp với module LoRa Ra-02, cách thức truyền nhận dữ liệu từ
xa giữ hai module.
 Nghiên cứu cách đọc dữ liệu cảm biến bằng giao thức Modbus RTU thông qua RS485 và
UART.
 Nhóm còn tìm hiểu thêm các tài liệu liên quan đến các thông số môi trường nước phù hợp cho
nuôi trồng thuỷ sản.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH i


NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

2. Nội dung thực hiện:


 Nội dung 1: Nghiên cứu về các loại hình nuôi trồng thuỷ sản hiện nay ở nước ta, các chỉ số
của nước nuôi như độ pH, độ mặn, nồng độ chất rắn hoà tan, … ảnh hưởng đến chất lượng con
nuôi và thành phẩm của ngành thuỷ sản.
 Nội dung 2: Tìm hiểu và nghiên cứu các cảm biến có khả năng đo pH trong nước, đo độ mặn,
nồng độ chất tan và nhiệt độ nước, cách sử dụng và đọc dữ liệu từ các cảm biến.
 Nội dung 3: Tìm hiểu và nghiên cứu cách lập trình cho vi điều khiển ESP32 và
STM32F103C8T8 để giao tiếp với các cảm biến.
 Nội dung 4: Tìm hiểu và nghiên cứu cách giao tiếp giữa vi điều khiển ESP32 với module
sim800C và module lora Ra2, giao tiếp giữa STM32F103C8T6 với module lora để truyền dữ
liệu không dây giữa các trạm với nhau.
 Nội dung 5: Tiến hành liên kết các bộ phận lại thành một hệ thống với đầy đủ các bộ phận cần
thiết như cảm biến, bộ phận truyền nhận dữ liệu bằng lora, bộ phận truyền dữ liệu về server.
 Nội dung 6: Tiến hành thiết kế và thi công mô hình hoàn thiện
 Nội dung 7: Xây dựng trang web hiển thị các thông số của hệ thống đồng thời có thể điều
khiển thiết bị có trong hệ thống.
 Nội dung 8: Chạy thử nghiệm hệ thống và sửa chữa các lỗi xảy ra.
 Nội dung 9: Viết báo cáo đồ án tốt nghiệp
Nội dung 10: Báo cáo đồ án tốt ngiệp
III. NGÀY GIAO NHIỆM VỤ: 09/03/2020

IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 03/07/2020


V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Nguyễn Đình Phú

CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii


LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ----o0o----
Tp. HCM, ngày 25 tháng 03 năm 2020

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên 1: Nguyễn Đức An


Lớp: 16141DT1A MSSV: 16141100
Họ tên sinh viên 2: Tất Siêu Thành
Lớp: 16141DT2A MSSV: 16141280
Tên đề tài: NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG MÔ HÌNH HỆ THỐNG GIÁM
SÁT CHẤT LƯỢNG NƯỚC NUÔI TRỒNG THUỶ SẢN

Tuần / Ngày Nội dung Xác nhận


GVHD
Tuần 1  Gặp GVHD để nghe phổ biến yêu cầu làm đồ án,
(9/3 – 15/3) tiến hành chọn đồ án.

Tuần 2  GVHD tiến hành xét duyệt đề tài


(16/3 – 22/3)  Viết đề cương chi tiết

Tuần 3  Tìm hiểu phương pháp lập trình cho module


(23/3 – 29/3) ESP32-WROOM-32 bằng Visual Studio Code
 Tìm hiểu môi trường lập trình cho vi điều khiển
STM32F103C8T6
Tuần 4  Tìm hiểu phương pháp giao tiếp với module
(30/3 – 5/4) LoRa Ra-02 để thực hiện truyền nhận dữ liệu ở
khoảng cách xa

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iii


LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Tuần 5  Tiếp tục nghiên cứu về module LoRa


(6/4 – 12/4)
Tuần 6  Tìm hiểu phương pháp đọc dữ liệu từ cảm biến
(13/4 – 19/4) bằng giao thức Modbus RTU thông qua RS485
giao tiếp với vi điều khiển bằng UART
Tuần 7  Thiết kế sơ đồ khối cho hệ thống.
(20/4 -26/4)  Tính toán lựa chọn linh kiện phù hợp sử dụng
cho hệ thống.
Tuần 8  Tiến hành thiết kế sơ đồ nguyên lý cho toàn hệ
(27/4 – 3/5) thống và thiết kế PCB.

Tuần 9  Thi công mạch, hàn linh kiện và tiến hành kiểm
(4/5 – 10/5) tra, sửa chữa lỗi.
Tuần 10  Tính toán thiết kế cho mô hình của hệ thống.
(11/5 – 17/5)
Tuần 11  Tiến hành lắp ghép mô hình hệ thống theo những
(18/5 – 24/5) thiết kế ban đầu.
Tuần 12  Hoàn thành đóng gói sản phẩm và tiến hành chạy
(25/5 – 31/5) thử nghiệm, sửa chữa các lỗi xảy ra.
Tuần 13  Tiếp tục chạy thử nghiệm hệ thống, sửa các lỗi,
(1/6 – 7/6) cân nhắc thêm bớt các chức năng.
 Tiến hành viết báo cáo
Tuần 14  Tiếp tục hoàn thiện báo cáo và chạy thử nghiệm
(8/6 – 14/6) hệ thống
Tuần 15  Hoàn thành báo cáo.
(15/6 – 21/6)  Thiết kế slide cho báo cáo.
Tuần 16  Báo cáo với GVHD.
(22/6 – 28/6)

GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iv


LỜI CAM ĐOAN

LỜI CAM ĐOAN


Đề tài đồ án tốt nghiệp này là do chính nhóm chúng em gồm Nguyễn Đức An và Tất Siêu Thành
thực hiện trong suốt một học kỳ. Trong suốt quá trình làm, nhóm chúng em đã tham khảo một số
tài liệu đã có sẵn trước đó để phục vụ cho việc nghiên cứu và thực hiện đề tài một cách hiệu quả.
Nhóm xin cam kết không thực hiện sao chép bất kỳ nội dung nào từ những công trình đã có trước
đó hay ở các tài liệu khác. Nếu có việc gian lận trong việc làm đề tài thì nhóm xin chịu mọi trách
nhiệm theo quy định.

Người thực hiện đề tài


Họ tên sinh viên 1 Họ tên sinh viên 2

Nguyễn Đức An Tất Siêu Thành

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH v


LỜI CẢM ƠN

LỜI CẢM ƠN
Lời đầu tiên, chúng em xin chân thành cảm ơn quý thầy cô của Trường Đại học Sư phạm Kỹ
thuật Thành phố Hồ Chí Minh nói chung và quý thầy cô trong khoa Điện - Điện tử nói riêng đã
truyền đạt, giảng dạy chúng em các kiến thức quý báo của các môn đại cương cũng như những
môn chuyên nghành cho chúng em có được những kiến thức cần thiết để thực hiện đồ án tốt nghiệp
này và là hành trang kiến thức vững chắc để vào đời.
Lời tiếp theo, chúng em xin được gửi lời cảm ơn, lòng biết ơn chân thành và sâu sắc nhất đến
thầy Nguyễn Đình Phú, người đã tận tình hướng dẫn, chỉ bảo và tạo mọi điều kiện tốt nhất để
chúng em nghiên cứu và thực hiện đồ án tốt nghiệp này để nó đạt được thành quả như hôm nay.
Lời cuối cùng, chúng em xin gửi đến lời cảm ơn đến gia đình, bạn bè, những người đã luôn bên
cạnh giúp đỡ, động viên, tạo động lực để chúng em hoàn thành tốt đồ án tốt nghiệp cũng như suốt
quá trình học tập ở trường.
Nhóm chúng em xin chân thành cảm ơn!

Người thực hiện đề tài


Họ tên sinh viên 1 Họ tên sinh viên 2

Nguyễn Đức An Tất Siêu Thành

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vi


MỤC LỤC

MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ............................................................................................ i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ............................................................... iii
LỜI CAM ĐOAN.......................................................................................................................... v
LỜI CẢM ƠN .............................................................................................................................. vi
MỤC LỤC ................................................................................................................................... vii
DANH MỤC HÌNH VẼ................................................................................................................ x
DANH MỤC BẢNG .................................................................................................................. xiv
TÓM TẮT ................................................................................................................................... xv
Chương 1: GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI ...................................................... 1
1.1 Đặt vấn đề ............................................................................................................................. 1
1.2 Mục tiêu đề tài ....................................................................................................................... 1
1.3 Nội dung nghiên cứu ............................................................................................................. 2
1.4 Giới hạn đề tài ....................................................................................................................... 2
1.5 Bố cục đồ án .......................................................................................................................... 3
Chương 2: CƠ SỞ LÝ THUYẾT ................................................................................................ 5
2.1 Giới thiệu về ngành nuôi trồng thuỷ sản ............................................................................... 5
2.1.1 Các loại hình nuôi trồng thuỷ sản phổ biến .................................................................... 5
2.1.2 Các chỉ tiêu sinh – hoá – lý của nước tác động đến con nuôi – lấy ví dụ cụ thể ở tôm. 6
2.2 Giới thiệu công nghệ truyền dữ liệu không dây bằng sống RF – LORA. .......................... 10
2.3 Giới thiệu về công nghệ truyền dữ liệu di động GPRS....................................................... 14
2.3.1 Khái niệm ...................................................................................................................... 14
2.3.2 Ứng dụng ...................................................................................................................... 15
2.4 Giới thiệu các chuẩn giao tiếp sử dụng ............................................................................... 17
2.4.1 Chuẩn giao tiếp SPI ...................................................................................................... 17
2.4.1.1 Giới thiệu giao thức truyền thông SPI .................................................................... 17
2.4.1.2 Cách thức hoạt động ............................................................................................... 18
2.4.2 Chuẩn truyền dữ liệu UART ......................................................................................... 20
2.4.2.1 Giới thiệu về chuẩn truyền dữ liệu UART ............................................................. 20

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vii


MỤC LỤC

2.4.2.2 Cách thức hoạt động ............................................................................................... 21


2.4.3 Chuẩn truyền dữ liệu Modbus ...................................................................................... 22
2.4.3.1 Giới thiệu về Modbus RTU .................................................................................... 22
2.4.3.2 Cách thức hoạt động ............................................................................................... 23
Chương 3: TÍNH TOÁN THIẾT KẾ........................................................................................ 25
3.1 Giới thiệu tổng quan về đề tài ............................................................................................. 25
3.1.1 Yêu cầu của hệ thống .................................................................................................... 25
3.1.2 Sơ đồ khối và chức năng từng khối .............................................................................. 26
3.1.2.1 Sơ đồ khối của cả hệ thống..................................................................................... 26
3.1.2.2 Trạm điều khiển trung tâm (Gateway) ................................................................... 27
3.1.2.3 Điểm thu thập dữ liệu (Node)................................................................................. 28
3.1.2.4 Trạm điều khiển động cơ ........................................................................................ 28
3.2 Tính toán và thiết kế hệ thống ............................................................................................. 29
3.2.1 Khối điều khiển ............................................................................................................. 29
3.2.1.1 Khối điều khiển của Gateway ................................................................................ 29
3.2.1.2 Khối điều khiển của trạm Node.............................................................................. 30
3.2.2 Khối cảm biến ............................................................................................................... 31
3.2.2.1 Mạch đọc dữ liệu từ cảm biến pH, nhiệt độ nước ASPSA2121,
độ mặn và nồng độ chất tan trong nước ASDSSTY8077 .................................................. 32
3.2.2.2 Mạch cảm biến nhiệt độ độ ẩm DHT22 ................................................................. 34
3.2.3 Khối hiển thị ................................................................................................................. 34
3.2.4 Khối truyền dữ liệu LoRa ............................................................................................. 35
3.2.4 Khối kết nối với Server ................................................................................................. 37
3.2.5 Khối kích relay.............................................................................................................. 39
3.2.5 Khối nguồn ................................................................................................................... 40
3.3 Sơ đồ nguyên lý toàn mạch ................................................................................................. 43
3.3.1 Trạm điều khiển trung tâm ........................................................................................... 44
3.3.2 Trạm thu thập dữ liệu và trạm điều khiển động cơ ....................................................... 45
Chương 4: THI CÔNG HỆ THỐNG ........................................................................................ 46
4.1 Giới thiệu............................................................................................................................. 46

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH viii


MỤC LỤC

4.2 Thi công hệ thống................................................................................................................ 46


4.2.1 Thi công bo mạch ......................................................................................................... 46
4.3 Đóng gói và thi công mô hình ............................................................................................. 51
4.4 Thiết kế website hiển thị và điều khiển............................................................................... 52
4.5 Lưu đồ giải thuật ................................................................................................................. 57
4.5.1 Lưu đồ giải thuật của trạm điều khiển trung tâm.......................................................... 57
4.5.2 Lưu đồ giải thuật của trạm thu thập dữ liệu nước và trạm điều khiển động cơ ............ 57
4.6 Giới thiệu các phần mềm đã dùng....................................................................................... 63
4.6.1 Giới thiệu về phần mềm Visual Studio Code ............................................................... 63
4.6.2 Giới thiệu về phần mềm Keil C và CubeMX ............................................................... 64
4.6.3 Giới thiệu về phần mềm Microsoft SQL ...................................................................... 66
4.6.4 Giới thiệu về các ngôn ngữ web ................................................................................... 67
4.6.4.1 Giới thiệu về ngôn ngữ HTML .............................................................................. 67
4.6.4.2 Giới thiệu về ngôn ngữ CSS ................................................................................... 68
4.6.4.3 Giới thiệu về ngôn ngữ C# .net .............................................................................. 69
4.7 Viết tài liệu hướng dẫn sử dụng, thao tác ........................................................................... 70
Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ ................................................................ 72
5.1 Kết quả đạt được ................................................................................................................. 72
5.2 Nhận xét và đánh giá ........................................................................................................... 78
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................. 79
6.1 Kết luận ............................................................................................................................... 79
6.2 Hướng phát triển ................................................................................................................. 80
TÀI LIỆU THAM KHẢO.......................................................................................................... 81
PHỤ LỤC .................................................................................................................................... 82

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ix


DANH MỤC HÌNH VẼ

DANH MỤC HÌNH VẼ


Hình 2.1 Nuôi trồng thuỷ sản quy mô nhỏ ................................................................................. 5
Hình 2.2 Mô hình nuôi trồng thuỷ sản ứng dụng công nghệ cao ............................................. 6
Hình 2.3 Ao nuôi tôm công nghiệp ............................................................................................ 10
Hình 2.4 Mô hình thành phố thông minh ứng dụng IoT có hỗ trợ LoRa ............................. 12
Hình 2.5 Ứng dụng LoRa trong truyền tín hiệu báo cháy trong toà nhà .............................. 13
Hình 2.6 Ứng dụng LoRa trong nông nghiệp thông minh ...................................................... 14
Hình 2.7 Giải pháp thu thập dữ liệu từ xa ............................................................................... 15
Hình 2.8 Ứng dụng GPRS trong quân sự ................................................................................. 16
Hình 2.9 Ứng dụng của GPRS trong mạng lưới viễn thông ................................................... 16
Hình 2.10 Ứng dụng của GPRS trong đời sống ....................................................................... 17
Hình 2.11 Mô tả giao thức truyền thông SPI giữa thiết bị chủ và thiết bị tớ ....................... 18
Hình 2.12 Mô tả đường truyền dữ liệu đồng bộ giữa hai thiết bị bằng SPI.......................... 18
Hình 2.13 Kết nối giữa hai thiết bị trong bus SPI ................................................................... 19
Hình 2.14 Truyền UART theo phương pháp nối tiếp ............................................................. 20
Hình 2.15 Truyền UART theo phương pháp song song ......................................................... 21
Hình 2.16 Cấu trúc một frame truyền của UART ................................................................... 21
Hình 2.17 Sơ đồ của 1 frame truyền dữ liệu Modbus RTU .................................................... 23
Hình 3.1 Sơ đồ bố trí các trạm đo ............................................................................................. 25
Hình 3.2 Sơ đồ khối của hệ thống ............................................................................................. 26
Hình 3.3 Sơ đồ khối trạm điều khiển trung tâm ...................................................................... 27
Hình 3.4 Sơ đồ khối điểm thu thập dữ liệu .............................................................................. 28
Hình 3.5 Sơ đồ khối trạm điều khiển động cơ ......................................................................... 28
Hình 3.6 Module ESP32-WROOM-32 ..................................................................................... 29
Hình 3.7 Sơ đồ nguyên lý của khối điều khiển Gateway......................................................... 30
Hình 3.8 Chip ARM Cortex M3 dùng cho STM32F103 ......................................................... 31
Hình 3.9 Sơ đồ nguyên lý khối điều khiển ở trạm đo và trạm điều khiển động cơ .............. 31
Hình 3.10 Cảm biến đo nồng độ pH .......................................................................................... 32
Hình 3.11 Cảm biến độ mặn và nồng độ chất tan trong nước ............................................... 33
Hình 3.12 Sơ đồ nguyên lý của mạch đọc dữ liệu cảm biến ................................................... 33

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH x


DANH MỤC HÌNH VẼ

Hình 3.13 Sơ đồ nguyên lý cảm biến DHT22 ........................................................................... 34


Hình 3.14 Sơ đồ nguyên lý mạch hiển thị LCD ....................................................................... 35
Hình 3.15 Module LoRa Ra-02.................................................................................................. 36
Hình 3.16 Sơ đồ nguyên lý module LoRa Ra-02 ...................................................................... 37
Hình 3.17 Module sim800C ....................................................................................................... 38
Hình 3.18 Sơ đồ nguyên lý module sim800C ............................................................................ 38
Hình 3.19 Sơ đồ nguyên lý điều khiển relay đóng/ngắt .......................................................... 39
Hình 3.20 Sơ đồ kết nối để sặc ắc quy từ năng lượng mặt trời .............................................. 41
Hình 3.21 Sơ đồ nguyên lý khối nguồn của trạm điều khiển trung tâm ............................... 41
Hình 3.22 Sơ đồ nguyên lý toàn mạch trạm điều khiển trung tâm........................................ 44
Hình 3.23 Sơ đồ nguyên lý trạm thu thập dữ liệu nước và điều khiển .................................. 45
Hình 4.1 Sơ đồ thiết kế PCB trạm điều khiển trung tâm ....................................................... 46
Hình 4.2 Sơ đồ sắp xếp linh kiện 3D trạm điều khiển trung tâm .......................................... 47
Hình 4.3 Mạch sau khi thi công ................................................................................................. 47
Hình 4.4 Sơ đồ thiết kế PCB trạm thu thập dữ liệu nước và điều khiển .............................. 48
Hình 4.5 Sơ đồ sắp xếp linh kiện 3D trạm thu thập dữ liệu nước và điều khiển.................. 48
Hình 4.6 Mạch sau khi thi công ................................................................................................. 49
Hình 4.7 Bộ điều khiển của trạm trung tâm ............................................................................ 51
Hình 4.8 Mạch điều khiển của trạm trung tâm ....................................................................... 51
Hình 4.9 Tủ điều khiển trạm thu thập dữ liệu nước ............................................................... 52
Hình 4.10 Giao diện đăng nhập vào trang web quản lý .......................................................... 53
Hình 4.11 Giao diện trang chủ của web ................................................................................... 53
Hình 4.12 Thiết lập thông số cảnh báo của nước..................................................................... 54
Hình 4.13 Giao diện khai báo thông tin người dùng ............................................................... 54
Hình 4.14 Giao diện thay đổi mật khẩu người dùng ............................................................... 55
Hình 4.15 Giao diện thêm thông tin của các trạm được lắp mới ........................................... 55
Hình 4.16 Giao diện giám sát thông số và điều khiển động cơ ............................................... 56
Hình 4.17 Giao diện thiết lập thời gian tự động cho ăn .......................................................... 56
Hình 4.18 Lưu đồ giải thuật chương trình chính .................................................................... 57
Hình 4.19 Lưu đồ khởi tạo module sim800C ........................................................................... 58

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xi


DANH MỤC HÌNH VẼ

Hình 4.20 Lưu đồ khởi tạo module LoRa Ra-02 ..................................................................... 58


Hình 4.21 Lưu đồ truyền nhận dữ liệu LoRa .......................................................................... 59
Hình 4.22 Lưu đồ chương trình đọc cảm biến độ mặn và độ pH .......................................... 59
Hình 4.23 Lưu đồ chương trình đọc cảm biến DHT22 ........................................................... 60
Hình 4.24 Lưu đồ chương trình gửi dữ liệu lên server ........................................................... 60
Hình 4.25 Lưu đồ chương trình nhận lệnh điều khiển từ server ........................................... 61
Hình 4.26 Lưu đồ chương trình chính trạm thu thập dữ liệu nước ...................................... 61
Hình 4.27 Lưu đồ chương trình ngắt khi có lệnh từ LoRa của trạm trung tâm .................. 62
Hình 4.28 Giao diện soạn thảo code Visual Studio Code ........................................................ 63
Hình 4.29 Biểu tượng của phần mềm Keil C khi khở động.................................................... 64
Hình 4.30 Giao diện lập trình của phần mềm Keil C uVision5.............................................. 64
Hình 4.31 Giao diện khởi động của STM32CubeMX ............................................................. 65
Hình 4.32 Khai báo IO cho chip STM32 dùng STM32CubeMX ........................................... 65
Hình 4.33 Giao diện điều chỉnh các thông số cấu hình cho các ngoại vi ............................... 66
Hình 4.34 Biểu tượng phần mềm Microsoft SQL Server ....................................................... 66
Hình 4.35 Màn hình làm việc của phần mềm Microsoft SQL Server ................................... 67
Hình 4.36 Một đoạn code HTML mẫu ..................................................................................... 68
Hình 4.37 Biểu tượng ngôn ngữ C# .NET của Microsoft........................................................ 69
Hình 4.38 Phần mềm Visual Studio 2019 phiên bản 16.3 ....................................................... 70
Hình 5.1 Bộ điều khiển trạm trung tâm ................................................................................... 72
Hình 5.2 Mô hình phao nổi của trạm nhìn từ trên .................................................................. 73
Hình 5.3 Mô hình phao nổi của trạm nhìn từ măt bên ........................................................... 73
Hình 5.4 Các thành phần bên trong tủ điều khiển .................................................................. 74
Hình 5.5 Bộ điều khiển động cơ ................................................................................................ 74
Hình 5.6 LCD hiển thị số liệu đo đạt của NODE ..................................................................... 75
Hình 5.7 LCD hiển thị số liệu đo đạt ở GATEWAY ............................................................... 75
Hình 5.8 Tin cảnh báo được gửi thông qua e-mail .................................................................. 76
Hình 5.9 Tin nhắn cảnh báo được gửi thông qua hệ thống tin nhắn di động ....................... 77
Hình 5.10 Các thông số được hiển thị trên website hệ thống ................................................. 78

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xii


DANH MỤC BẢNG

DANH MỤC BẢNG


Bảng 2.1 Các thông số sinh – lý – hoá của nước nuôi tôm ........................................................ 7
Bảng 2.2: Tỉ lệ các khoáng chất trong nước biển có độ mặn 35‰........................................... 8
Bảng 3.1 Tính toán công suất của từng thiết bị trong trạm điều khiển trung tâm .............. 42
Bảng 3.2 Tính toán công suất của từng thiết bị trong trạm thu thập dữ liệu nước ............. 42
Bảng 3.3 Tính toán công suất của từng thiết bị trong trạm điều khiển động cơ .................. 43
Bảng 4.1 Các linh kiện dùng trong hệ thống ............................................................................ 49

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xiii


TÓM TẮT

TÓM TẮT
Hiện nay, ngành nuôi trồng thuỷ sản là một ngành quan trọng trong hệ thống nông nghiệp của
nước ta. Hằng năm ngành thuỷ sản đóng góp vào GDP hàng trăm nghìn tỷ đồng. Từ đó đã cho
thấy tầm quan trọng của ngành thuỷ sản đối với thu nhập bình quân đầu người của nước ta. Nhưng
để nâng tầm chất lượng cảu sản phẩm xuất khẩu của nước ta cao hơn nủa thì các công đoạn từ
việc sản xuất con giống, nuôi trồng và chế biến xuất khẩu thì quá trình nuôi trồng lại cần phải
được chú trọng nhiều hơn. Do đó, trong quá trình nuôi trồng, người nông dân phải thường xuyên
kiểm tra môi trường nước nuôi để kịp thời phát hiện các dấu hiệu của nhiễm phèn, nhiễm mặn,
nồng độ oxy thấp, … Công việc này hiện nay được tiến hành thủ công và tốn nhiều thời gian,
công sức. Vì vậy nhu cầu về một hệ thống giám sát chất lượng nước từ xa thông qua Internet là
điều vô cùng cần thiết vào lúc này. Hệ thống này phải đáp ứng được yêu cầu cơ bản là giám sát
các thông số cơ bản của nước nuôi. Điều này có thể giúp tiết kiệm được ông sức, chi phí quản lý
chất lượng nước cho người dân, mở ra bước phát triển mới cho ngành thuỷ sản nước nhà.
Với mong muốn giải quyết bài toán này, nhóm chúng em quyết định thực hiện đề tài: “NGHIÊN
CỨU, THIẾT KẾ VÀ THI CÔNG MÔ HÌNH HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG NƯỚC
NUÔI TRỒNG THUỶ SẢN”, ứng dụng IoT vào quản lý chất lượng nước nuôi trồng thuỷ sản.
Hiện nay, theo xu hướng sử dụng các thiết bị thông minh như điện thoại thông minh, máy tính
bảng, … trở nên rất phổ biến, nên việc truy cập và giám sát, điều khiển hệ thống từ xa luôn được
ưu tiên phát triển. Thông qua các thiết bị thông minh, người dùng có thể truy cập vào hệ thống để
xem các thông số của nước. Đồng thời người dùng còn có thể điều khiển các động cơ như máy
bơm, máy sục khí oxy, … thông qua giao diện web. Các thông số đo được sẽ được lưu trên cơ sở
dữ liệu và được hiển thị theo biểu đồ, tạo sự dễ dàng cho việc phân tích sự thay đổi các thông số
nước, từ đó có những biện pháp phù hợp để bảo vệ con nuôi, phòng các trường hợp con nuôi chết
do môi trường nước ô nhiễm.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xiv


Chương 1: GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI

Chương 1: GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI


1.1 Đặt vấn đề
Theo Tổng cục Thống kê, năm 2019 GDP thủy sản theo giá thực tế đạt 205.252 tỷ đồng chiếm
3,4% GDP toàn quốc và chiếm 24,4% GDP toàn ngành nông nghiệp. Tính đến thời điểm cuối
năm 2019, tổng giá trị xuất khẩu thuỷ sản của cả nước đạt 111.846 tỷ đồng. Các mặt hàng thuỷ
sản đông lạnh của nước ta đã có thể thâm nhập vào thị trường các nước EU, Mỹ, Trung Quốc,
Nhật Bản, Hàn Quốc, … Trong đó Trung Quốc vẫn là nước có lượng tiêu thụ các mặt hàng thuỷ
sản của ta nhiều nhất. Từ đó ta có thể thấy đóng góp của ngành thuỷ sản vào GDP của toàn ngành
nông nghiệp nói riêng và GDP của toàn quốc nói chung là rất lớn. Vì vậy để phát triển mạnh mẽ
hơn nửa ngành thuỷ sản của nước nhà, đặt biệt là với ngành nuôi trồng thuỷ sản, chúng ta phải
lưu ý thật kỹ đến các điều kiện cấu thành nên chất lượng và năng suất đạt được trong quá trình
nuôi trồng. Và một trong những điều kiện tiên quyết đó là chất lượng của môi trường nước nuôi.
Chất lượng nước là yếu tố cực kỳ quan trọng trong nuôi thủy sản nhưng khó khăn trong việc dự
đoán và kiểm soát. Chất lượng nước quyết định hiệu quả của thức ăn, tốc độ sinh trưởng và tỉ lệ
sống của các loại thuỷ sản. Tuỳ vào từng loại thuỷ sản khác nhau sẽ có nhu cầu về môi trường
nước nuôi khác nhau. Con nuôi chết, bệnh, chậm lớn, hay thức ăn kém hiệu quả đều do chất lượng
nước. Để thủy sản phát triển bình thường và có khả năng xuất khẩu mang lại hiệu quả kinh tến
cao thì nước phải sạch, không bị ô nhiễm. Chất lượng nước phụ thuộc vào chất lượng nguồn nước,
chất đất, chế độ cho ăn, thời tiết, công nghệ và chế độ quản lý đầm nuôi. Chất lượng nước được
đánh giá bằng nhiều thông số sinh, hóa, lý khác nhau; và cần được kiểm tra liên tục để có thể xử
lý nước kịp thời để bảo vệ con nuôi. Nhận biết được tầm phát triển quan trọng trong việc phát
triển ngành thuỷ sản đóng góp vào nền kinh tế nước nhà nói chung và giúp cải thiện được đời
sống người nông dân nói riêng, nhóm xin chọn đề tài “NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG
MÔ HÌNH HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG NƯỚC NUÔI TRỒNG THUỶ SẢN”.
1.2 Mục tiêu đề tài
Mục tiêu của đề tài là thiết kế một hệ thống đo đạc các thông số của môi trường nước nuôi thuỷ
sản (ở đây lựa chọn việc nuôi tôm làm đại diện) bao gồm các thông số độ pH, độ mặn, nồng độ
chất tan, nhiệt độ nước nuôi. Các thông số này được bộ điều khiển tổng hợp và gửi về server hiển

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1


Chương 1: GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI

thị lên website cho người dùng. Người dùng có thể lên trang web đã được thiết kế để xem các
thông số của nước và điều khiển các động cơ bơm từ xa thông qua các nút nhấn được thiết kế trên
trang web. Ứng dụng này sẽ giúp ích cho người nông dân nuôi trồng thuỷ sản có thể nắm được
tình hình môi trường nước nuôi mà không cần phải ra ao đo đạc thủ công. Điều này còn giúp ích
cho việc chủ động trong việc phòng tránh các loại bệnh hại do nguồn nước gây ra, hạn chế thấp
nhất tình trạng chết cá, gây thua lỗ cho bà con nông dân.
1.3 Nội dung nghiên cứu
Quá trình thực hiện đồ án gồm 10 nội dung như sau:
 Nội dung 1: Nghiên cứu về các loại hình nuôi trồng thuỷ sản hiện nay ở nước ta, các chỉ số
của nước nuôi như độ pH, độ mặn, nồng độ chất rắn hoà tan, … ảnh hưởng đến chất lượng con
nuôi và thành phẩm của ngành thuỷ sản.
 Nội dung 2: Tìm hiểu và nghiên cứu các cảm biến có khả năng đo pH trong nước, đo độ mặn,
nồng độ chất tan và nhiệt độ nước, cách sử dụng và đọc dữ liệu từ các cảm biến.
 Nội dung 3: Tìm hiểu và nghiên cứu cách lập trình cho vi điều khiển ESP32 và
STM32F103C8T8 để giao tiếp với các cảm biến.
 Nội dung 4: Tìm hiểu và nghiên cứu cách giao tiếp giữa vi điều khiển ESP32 với module
sim800C và module lora Ra2, giao tiếp giữa STM32F103C8T6 với module lora để truyền dữ
liệu không dây giữa các trạm với nhau.
 Nội dung 5: Tiến hành liên kết các bộ phận lại thành một hệ thống với đầy đủ các bộ phận cần
thiết như cảm biến, bộ phận truyền nhận dữ liệu bằng lora, bộ phận truyền dữ liệu về server.
 Nội dung 6: Tiến hành thiết kế và thi công mô hình hoàn thiện
 Nội dung 7: Xây dựng trang web hiển thị các thông số của hệ thống đồng thời có thể điều
khiển thiết bị có trong hệ thống.
 Nội dung 8: Chạy thử nghiệm hệ thống và sửa chữa các lỗi xảy ra.
 Nội dung 9: Viết báo cáo đồ án tốt nghiệp
 Nội dung 10: Báo cáo đồ án tốt ngiệp
1.4 Giới hạn đề tài
 Module lora Ra2 có thể truyền dữ liệu tốt trong phạm vi bán kính 500 mét.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2


Chương 1: GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI

 Các thông số được hiển thị trên màn hình LCD tại trạm đo và được gửi về server để hiển thị
lên website cho người dùng khi họ muốn xem thông số qua điện thoại thông minh.
 Cảm biến pH ASPS2221 có thể đo độ pH từ 0 – 14 với sai số ±1%, đo nhiệt độ nước trong
phạm vi từ 0C đến 110C.
 Cảm biến độ mặn có thể đo nồng độ muối từ 0 đến 100 phần triệu, hay từ 0 – 0.1 phần nghìn,
độ dẫn điện từ 0 – 200mS, có sai số nằm trong khoảng ±2% trên tất cả thông số đo sử dụng
cảm biến này.
 Cảm biến nhiệt độ độ ẩm DHT22 đo được độ ẩm từ 0 – 100% với sai số ±2%, nhiệt độ đo
được trong khoảng từ -40C – 80C với sai số ±0.5C.
 Module sim800C truyền dữ liệu về server dùng GPRS.
1.5 Bố cục đồ án
Với đề tài giám sát chất lượng nước trong hồ nuôi thuỷ sản có bố cục đồ án như sau:
 Chương 1: Tổng quan
Chương này chủ yếu nói về phần đặt vấn đề, mục tiêu nghiên cứu, nội dung nghiên cứu, các giới
hạn thông số và bố cục của đề tài.
 Chương 2: Cơ sở lý thuyết
Chương này giới thiệu về ngành nuôi trồng thuỷ sản ở nước ta, lấy ví dụ các thông số ở ngành
nuôi tôm, những lý thuyết nền tảng của các loại hình truyền thông không dây được dùng rộng rãi
trong lĩnh vực IoT và một vài chuẩn truyền thông dữ liệu nối tiếp được sử dụng trong đề tài.
 Chương 3: Tính toán thiết kế
Chương này trình bày về thiết kế sơ đồ khối và giải thích chức năng từng khối, tính toán thiết kế
mạch phần cứng của các khối trong sơ đồ khối, lựa chọn linh kiện phù hợp, thiết kế sơ đồ nguyên
lý toàn mạch.
 Chương 4: Thi công hệ thống
Chương này trình bày về quá trình thi công mô hình hệ thống bao gồm thiết kế layout sơ đồ mạch
hệ thống, thi công mạch, lắp ráp và kiểm tra hệ thống. Đồng thời tiến hành viết chương trình hoàn
chỉnh cho hệ thống, nạp chương trình, thiết kế website cho hệ thống và chạy kiểm tra thử. Cuối
cùng là đóng gói sản phẩm hoàn chỉnh.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3


Chương 1: GIỚI THIỆU YÊU CẦU, GIỚI HẠN ĐỀ TÀI

 Chương 5: Kết quả, nhận xét, đánh giá


Chương này trình bày kết quả đạt được sau khi nghiên cứu, từ đó đưa ra nhận xét và đánh giá quá
trình thực hiện.
 Chương 6: Kết luận và hướng phát triển
Chương này nêu lên kết luận chung về những gì đã thực hiện, đưa ra ưu – khuyết điểm của hệ
thống và hướng phát triển cho đề tài.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4


Chương 2: CƠ SỞ LÝ THUYẾT

Chương 2: CƠ SỞ LÝ THUYẾT


2.1 Giới thiệu về ngành nuôi trồng thuỷ sản
Ngành nuôi trồng thuỷ sản là hoạt động của con người đem con giống (tự nhiện hoặc nhân tạo)
thả vào môi trường nuôi (ao nuôi hoặc các thiết bị nuôi như lồng, bè, …) và đối tượng nuôi được
sở hữu trong suốt quá trình nuôi.
Sản phẩm từ ngành nuôi trồng thuỷ sản bao gồm:
 Sản xuất con giống nhân tạo cho nuôi trồng thủy sản và đánh bắt được tăng cường trên cơ sở
nuôi trồng - hoạt động đem con giống nhân tạo thả vào các thủy vực tự nhiên (hồ chứa, sông
ngòi và biển) để tăng sản lượng đánh bắt.
 Thực phẩm cho nhu cầu tiêu thụ trực tiếp của con người.
 Sản xuất cá mồi cho khai thác thủy sản và vỗ béo cá tự nhiên.
2.1.1 Các loại hình nuôi trồng thuỷ sản phổ biến
 Nuôi trồng thủy sản quy mô nhỏ: là loại hình nuôi trồng theo sở thích, sản phẩm tự tiêu thụ
hay để bán, sử dụng nguồn lực tự có như ao đào ở vườn nhà, kênh mương quy mô nhỏ.

Hình 2.1 Nuôi trồng thuỷ sản quy mô nhỏ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5


Chương 2: CƠ SỞ LÝ THUYẾT

 Nuôi trồng thủy sản bằng nguồn giống khai thác tự nhiên: là hình thức thu gom “giống” ở
ngoài tự nhiên từ các giai đoạn con non đến con trưởng thành, sau đó nuôi tiếp đến cỡ thương
phẩm với việc sử dụng các kỹ thuật nuôi.
 Nuôi trồng thủy sản quảng canh cải tiến: nuôi trong một diện tích rộng, có bổ sung thêm giống,
thức ăn, cải tạo dọn các bãi nhỏ, trông coi, bảo vệ thu hoạch.
 Nuôi trồng thủy sản cao sản: là hình thức nuôi thâm canh, có năng suất cao, đạt trên 200
tấn/ha/năm, sử dụng hoàn toàn thức ăn công nghiệp có đủ các chất dinh dưỡng theo nhu cầu
của loài, thả giống ương từ các trại sản xuất giống, không sử dụng phân bón, kiểm soát hoàn
toàn địch hại và trộm cắp, có chế độ kiểm tra và điều phối cao, thường xuyên cung cấp nước
tự chảy hay bơm, hoặc nuôi trong lồng, sử dụng máy sục khí và thay nước hoàn toàn, tăng
cường kiểm soát chất lượng nước cấp trong hệ thống ao, lồng, bể và mương xây nước chảy.

Hình 2.2 Mô hình nuôi trồng thuỷ sản ứng dụng công nghệ cao
2.1.2 Các chỉ tiêu sinh – hoá – lý của nước tác động đến con nuôi – lấy ví dụ cụ thể ở tôm.
Theo số liệu được cung cấp từ Công ty TNHH Sinh hoá Môi trường Bình Lan, ta có bảng số
liệu giới hạn các đặc tính của nước đối với việc nuôi tôm.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6


Chương 2: CƠ SỞ LÝ THUYẾT

Bảng 2.1 Các thông số sinh – lý – hoá của nước nuôi tôm

Để đảm bảo chất lượng nước thì việc đánh giá chất đất, thiết kế ao, chuẩn bị ao nuôi lẫn việc
quản lý ao, kiểm soát các thông số trong giới hạn cho phép đều rất quan trọng. Tác động của mỗi
đặc tính nước được thể hiện như sau:
 Chất lượng nước và chất đất: Đất phèn có tính axit, pH rất dễ xuống thấp nên không có lợi cho
tôm cá. Do đó nếu có thể, nên tránh đất phèn nặng. Vùng đất ven biển có nước lợ và nước
mặn, thuận lợi cho nuôi tôm nhưng thường là đất phèn. Để hạn chế ảnh hưởng của phèn thì
phải thiết kế ao tôm thích hợp và chế độ quản lý nước phù hợp. Muốn vậy thì trước khi đào
ao, nên biết rõ chất lượng đất và chiều sâu các lớp đất. Việc tìm hiểu chất đất vừa giúp thiết
kế ao sao cho giảm ảnh hưởng của phèn, vừa giúp tính lượng hóa chất cần thiết để cải tạo đất,
nhờ đó tiết kiệm nhiều chi phí.
 Nhiệt độ nước: Nhiệt độ nước ảnh hưởng đến tốc độ tăng trưởng và tỉ lệ sống của tôm. Nhiệt
độ tốt nhất cho tôm là 26 - 32°C. Cần chú ý khi nhiệt độ tăng trên 32°C. Ở nhiệt độ 35°C,
100% tôm dưới một tháng tuổi chết; trên 40°C thì toàn bộ tôm sẽ chết. Nhiệt độ thấp thì tôm
sẽ chậm lớn.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7


Chương 2: CƠ SỞ LÝ THUYẾT

 Độ mặn (độ muối): Độ mặn thích hợp cho tôm sú và tôm thẻ chân trắng là 5 – 35 (‰ - phần
ngàn). Tuy nhiên, hiện nay nuôi tôm thẻ chân trắng được khuyến cáo ở độ mặn 5‰ để giảm
nguy cơ bệnh gan tụy.
 Độ pH: pH thích hợp cho đa số động vật thủy sinh là 6,5-9,0. pH tối ưu cho tôm là 7,5 – 8,5,
cho cá basa là 7 – 8,5. Ngoài ra, pH không được dao động quá 0,5 đơn vị trong ngày để tránh
sốc cho tôm cá.
 Nồng độ oxy hoà tan: Ôxy hòa tan là dưỡng khí cho động vật dưới nước. Nước nuôi tôm phải
đảm bảo ôxy hòa tan > 3,5 mg/l, nhưng tối ưu là > 5 mg/l.
 Độ kiềm: Độ kiềm là thước đo khả năng giữ pH ổn định và được tính bằng đơn vị mg/l CaCO3.
Độ kiềm cho ao tôm nên trong khoảng 100 - 150 mg/l. Độ kiềm cao thì pH ít dao động. Độ
kiềm thấp thì pH thay đổi mạnh, bất lợi cho tôm. Độ kiềm rất dễ thay đổi, do đó cần kiểm tra
độ kiềm mỗi 3 - 5 ngày.
 Độ cứng tổng và khoáng chất: Độ cứng (GH) là thước đo tổng lượng các khoáng quan trọng
cho tôm là Canxi (Ca) và Magiê (Mg) trong nước. Độ cứng được tính bằng đơn vị đo là mg/l
CaCO3 tương tự như độ kiềm, nhưng độ cứng và độ kiềm là các thông số hoàn toàn khác nhau.
Với tôm nuôi trong môi trường nước lợ thì quan trọng hơn cả là tỉ lệ Mg:Ca:K. Tỉ lệ này phải
bằng với tỉ lệ trong nước biển để tôm phát triển bình thường. Độ khoáng và tỉ lệ khoáng trong
nước biển (độ mặn 35 ‰) được cho trong bảng sau:
Bảng 2.2: Tỉ lệ các khoáng chất trong nước biển có độ mặn 35‰

 Độ trong: Nước trong hay đục là do phù sa lơ lửng hay quần thể vi sinh vật (tảo và vi khuẩn).
Tảo rất quan trọng, vì tảo vừa là nguồn thức ăn, vừa là nguồn cung cấp và tiêu thụ ôxy hòa
tan. Có tảo lợi nhưng cũng có tảo hại như tảo lam. Tảo nhiều thì ban ngày ôxy hòa tan cao,
nhưng đêm ôxy hòa tan lại thấp, do đó cần giữ mật độ tảo vừa phải. Đục do phù xa không có
lợi cho sự phát triển của tảo, nên cần lắng trước khi gây màu nước (gây tảo). Khi phù xa đã
lắng, thì độ trong/đục của nước đặc trưng cho nồng độ tảo. Độ trong 30 - 35 cm là tối ưu cho
nước nuôi tôm.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8


Chương 2: CƠ SỞ LÝ THUYẾT

 Hydro Sunphua (H2S): Suynphua Hyđrô là khí rất độc đối với tôm và động vật trong đó có
người. H2S hình thành do sự phân hủy yếm khí thức ăn thừa, xác cây cỏ và chất thải của vật
nuôi, hay từ iôn Sunphat nhờ vi khuẩn khử Suynphat. Bùn đáy có màu đen và có mùi trứng
thối là vì sự hiện diện của H2S. Các ao đất phèn có nguy cơ bị nhiễm Suynphua Hydrô cao.
Tôm ưa sống gần lớp bùn, nên sự tích tụ H2S trong bùn đáy và lớp nước đáy ảnh hưởng rất
lớn. Tôm mệt mỏi khi H2S 0,1 –0, 2 mg/l; chết từ từ và chìm xuống đáy khi nồng độ H2S trong
nước đáy là 0,9 mg/l, cho dù ôxy cao; và chết ngay lập tức khi H2S lên 4 mg/l. Theo TCVN
cho nước nuôi tôm, nồng độ sunphua tự do H2S không được vượt quá 0,05 mg/l.
 Nitrat: Nitrat không độc và là dưỡng chất để tảo phát triển. Tôm không bị ảnh hưởng của nồng
độ NO3- ở 900 mg/l. Tuy nhiên NO3 quá cao sẽ dẫn đến hiện tượng phú dưỡng; tảo, trong đó
có tảo độc phát triển mạnh, làm giảm chất lượng nước.
 Amôniac: Amôniac rất độc với tôm. Thử nghiệm trên 5 loại tôm cho thấy, NH3 0.45 mg/l làm
giảm tốc độ lớn 50%. Theo TCVN, nồng độ amôniac tự do NH3 trong nước nuôi tôm không
được vượt ngưỡng 0,3 mg/l, nhưng ngưỡng tối ưu là 0,1 mg/l.
 Nitrit: Nitrit NO2- là chất độc cho con nuôi. Nitrit ngấm vào cơ thể tôm cá qua mang và da.
Nitrit tác dụng với máu, làm quá trình vận chuyển ôxy trong cơ thể trở nên khó khăn, con nuôi
èo uột, chậm lớn, dễ bị bệnh và thậm chí tử vong. Đặc biệt, cá rất nhậy cảm với nitrit. Giới
hạn nitrit cho ao tôm là 1 mg/l NO2- (hay 0,3 mg/l NO2-/N).
2.1.3 Các tiêu chuẩn cho ao nuôi thuỷ sản – nuôi tôm sú
Theo nội dung văn bản Tiêu chuẩn ngành 28TCN 171:2001 về quy trình công nghệ nuôi thâm
canh tôm sú do Tổng cục Thuỷ sản ban hành ta có các tiêu chuẩn ao nuôi như sau:
 Hình dạng ao nuôi: Hình vuông hoặc hình chữ nhật có tỉ lệ kích thước dài/rộng không lớn hơn
1.5/1.0.
 Diện tích ao: Từ 0,5 đến 1,0 ha.
 Ðáy ao: Bằng phẵng, được đầm nén chặt; độ dốc về phía cống tiêu từ 0,5 đến 0,8 %.
 Bờ ao:
 Yêu cầu không rò rỉ, không sạt lở.
 Chiều cao: Cao hơn mức nước lớn nhất trong ao 0,5 m.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9


Chương 2: CƠ SỞ LÝ THUYẾT

 Mặt rộng: Từ 2,0 đến 2,5 m.


 Ðộ sâu nước ao nuôi: Từ 1,5 đến 2,0 m.

Hình 2.3 Ao nuôi tôm công nghiệp


2.2 Giới thiệu công nghệ truyền dữ liệu không dây bằng sống RF – LORA.
Công nghệ LoRa, được phát triển bởi Semtech, là một giao thức không dây mới được thiết kế
để truyền thông tầm xa, năng lượng thấp. Giao thức cung cấp loại khả năng liên lạc mà các thiết
bị thông minh cần có. LoRa sử dụng kỹ thuật điều chế gọi là Chirp Spread Spectrum. Có thể hiểu
nôm na nguyên lý này là dữ liệu sẽ được băm bằng các xung cao tần để tạo ra tín hiệu có dãy tần
số cao hơn tần số của dữ liệu gốc (cái này gọi là chipped); sau đó tín hiệu cao tần này tiếp tục
được mã hoá theo các chuỗi chirp signal (là các tín hiệu hình sin có tần số thay đổi theo thời gian;
có 2 loại chirp signal là up-chirp có tần số tăng theo thời gian và down-chirp có tần số giảm theo
thời gian; và việc mã hoá theo nguyên tắc bit 1 sẽ sử dụng up-chirp, và bit 0 sẽ sử dụng down-
chirp) trước khi truyền ra anten để gửi đi.
Băng tần làm việc của LoRa từ 430MHz đến 915MHz cho từng khu vực khác nhau trên thế giới:
 430MHz cho châu Á
 780MHz cho Trung Quốc
 433MHz hoặc 866MHz cho châu Âu
 915MHz cho USA

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 10


Chương 2: CƠ SỞ LÝ THUYẾT

Một phần của phổ LoRa sử dụng thể hiện ít nhiễu điện từ, do đó tín hiệu có thể kéo dài một
khoảng cách xa, thậm chí đi qua các tòa nhà, với rất ít năng lượng. Điều này phù hợp với các thiết
bị IoT với dung lượng pin hạn chế. Các tính năng khác của LoRa cũng khiến nó trở nên lý tưởng
cho IoT. LoRa sử dụng thuật toán tốc độ dữ liệu thích ứng để giúp tối đa hóa tuổi thọ pin và dung
lượng mạng của thiết bị. Các giao thức của nó bao gồm nhiều lớp mã hóa, ở cấp độ mạng, ứng
dụng và thiết bị, cho phép liên lạc an toàn. Tính hai chiều của giao thức hỗ trợ các thông điệp
quảng bá, cho phép chức năng cập nhật phần mềm.
Các ứng dụng của LoRa trong lĩnh vực IoT cụ thể như:
 Ứng dụng vào việc phát triển thành phố thông minh: Thành phố thông minh bao gồm nhiều
khu vực như vậy. Quản lý giao thông và chất thải thông minh, theo dõi tiêu thụ năng lượng,
đo lường môi trường, giám sát đỗ xe và chiếu sáng, hệ thống phát hiện và báo động cháy tất
cả đều là những trụ cột của khái niệm thành phố thông minh. Khi nói đến các thành phố kỹ
thuật số, thành phố Thông Minh chỉ riêng kết nối LTE hoặc WiFi là không đủ. Trên thực tế,
thế giới hiện nay đang đối diện với vấn đề lượng thông tin cần truyền tải đi rất lớn trong các
khu vực đô thị vì chúng ngày càng đông dân cư hơn mà phổ dữ liệu thì bị hạn chế. Sự căng
thẳng ngày càng tăng đối với các mạng và tín hiệu mạng gặp khó khăn trong việc thâm nhập
các cấu trúc kín và các khu vực ngầm. Đây là một trở ngại lớn trong việc phát triển các thành
phố mà ở đó mọi thứ được kết nối với nhau chỉ thông qua mạng internet. Ngoài ra, để các cảm
biến được triển khai hoạt động một cách ồ ạt và rộng khắp, mạng mà chúng truyền dữ liệu thu
thập được phải có độ tin cậy, an toàn và bền vững trong thời gian dài. Thật không may, điều
này có thể có nghĩa là phải đối mặt với chi phí cực kỳ cao. Tuy nhiên, nơi nào có vấn đề, sẽ
luôn có giải pháp. Nhờ kết nối LoRaWAN, các thành phố hiện có thể giải quyết những thách
thức này.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 11


Chương 2: CƠ SỞ LÝ THUYẾT

Hình 2.4 Mô hình thành phố thông minh ứng dụng IoT có hỗ trợ LoRa
 Ứng dụng của LoRa trong toà nhà thông minh: Tự động hóa trong tòa nhà bao gồm tất cả các
hệ thống quan trọng của tòa nhà như chiếu sáng, kiểm soát khí hậu, báo cháy, an ninh, v.v.
Chúng ta đã biết rằng LoRa cho phép các cảm biến hoạt động trong nhiều năm mà không cần
nguồn điện liên tục. Điều này đặc biệt thuận tiện cho các địa điểm khó tiếp cận. Thay vì tập
trung vào bảo trì thường xuyên các cảm biến đắt tiền, doanh nghiệp có thể thiết lập cơ sở hạ
tầng và tập trung nỗ lực và đầu tư vào các nhiệm vụ quan trọng trong kinh doanh. LoRa
không yêu cầu kỹ thuật viên có tay nghề cao để cài đặt hoặc bảo trì. LoRa cung cấp cho chủ
sở hữu tòa nhà và doanh nghiệp khả năng giảm chi phí hoạt động. Giảm chi phí năng lượng,
tăng sự hài lòng của người thuê và nâng cao giá trị tài sản giúp doanh nghiệp và chủ sở hữu
tòa nhà tạo ra nguồn doanh thu mới.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 12


Chương 2: CƠ SỞ LÝ THUYẾT

Hình 2.5 Ứng dụng LoRa trong truyền tín hiệu báo cháy trong toà nhà
 Ứng dụng vào nông nghiệp thông minh: Ứng dụng IoT được thiết lập để đẩy tương lai của
kinh doanh nông nghiệp lên một tầm cao mới. Ở một số quốc gia, nông nghiệp thông minh
đang trở nên phổ biến hơn, nhưng để đẩy nhanh việc áp dụng công nghệ IoT trên toàn thế giới,
nông dân và người chăn nuôi cần các cảm biến năng lượng thấp, chi phí thấp. Bằng cách tận
dụng Công nghệ LoRa và giao thức mở LoRaWAN, các doanh nghiệp nông nghiệp có thể theo
dõi kỹ thuật số, quản lý và phân tích mọi khía cạnh của doanh nghiệp của họ, cải thiện hoạt
động chung và lợi tức đầu tư (ROI). Từ theo dõi sức khỏe gia súc, theo dõi chăn nuôi bò đến
tăng năng suất cây trồng, LoRa Technology cung cấp một nền tảng vững chắc cho tương lai
của nông nghiệp thông minh vì nó dễ triển khai và giúp nông dân và người chăn nuôi phát
triển kinh doanh.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 13


Chương 2: CƠ SỞ LÝ THUYẾT

Hình 2.6 Ứng dụng LoRa trong nông nghiệp thông minh
2.3 Giới thiệu về công nghệ truyền dữ liệu di động GPRS
2.3.1 Khái niệm
GPRS là viết tắt của cụm từ General Packet Radio Service – dịch vụ vô tuyến gói tổng hợp – là
một dịch vụ dữ liệu di động dạng đóng gói dành cho những người dùng hệ thống thông tin di động
toàn cầu (GSM) và điện thoại di động IS-136. Nó cung cấp dữ liệu ở tốc độ từ 56 đến 114 kbps.
GPRS giúp truy cập giao thức ứng dụng như:
 Truy cập internet (WAP).
 Tin nhắn SMS.
 Tin nhắn đa phương tiện (MMS).
 Email.
GPRS giúp người dùng tiết kiệm chi phí kết nối, liên lạc. Vì dữ liệu được truyền qua GPRS được
tính theo từng megabyte, trong khi cách thức kết nối truyền thống tính theo từng phút kết nối. Có

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 14


Chương 2: CƠ SỞ LÝ THUYẾT

nghĩa là, khi dùng dịch vụ GPRS bạn sẽ chỉ trả phí cho dung lượng bạn đăng tải cao hay thấp chứ
không phải bạn đã kết nối trong bao lâu.
2.3.2 Ứng dụng
Với những ưu điểm và lợi ích của GPRS đem lại thì nó đã và đang được sử dụng rất rộng rãi và
là một phương thức rất quan trọng trong đời sống, đặc biệt là giai đoạn khi mà công nghệ 3G hay
4G như hiện nay chưa ra đời. Một số những ứng dụng của GPRS được sử dụng như:
 Trong các ngành công nghiệp chung, GPRS được sử dụng như là một phương thức truyền -
nhận tín hiệu không dây từ xa cho các trạm điều khiển, giám sát trung tâm như hệ thống giám
sát năng lượng, xử lý nước thải, nhiệt độ môi trường…

Hình 2.7 Giải pháp thu thập dữ liệu từ xa


 Trong lĩnh vực quân sự, quốc phòng: GPRS kết hợp với hệ thống định vị toàn cầu GPS tạo ra
một hệ thống giám sát các thiết bị quân sự tiên tiến như máy bay không người lái, tên lửa hành
trình, hệ thống lá chắn phòng thủ tên lửa hiện đại, …

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 15


Chương 2: CƠ SỞ LÝ THUYẾT

Hình 2.8 Ứng dụng GPRS trong quân sự


 Trong lĩnh vực viễn thông: Với sự hội nhập của internet, con người cảm thấy chỉ nghe gọi,
nhắn tin sms trên mạng 2G là không đủ. Do đó, GPRS hay trong viễn thông còn gọi là 2.5G là
mạng viễn thông đầu tiên giúp cho các thiết bị như điện thoại di động… có thể kết nối được
với internet.

Hình 2.9 Ứng dụng của GPRS trong mạng lưới viễn thông
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 16
Chương 2: CƠ SỞ LÝ THUYẾT

 Trong đời sống sinh hoạt: GPRS được sử dụng trong các thiết bị thông minh như báo chống
trộm, các thiết bị định vị phương tiện trong giao thông vận tải, smart home …

Hình 2.10 Ứng dụng của GPRS trong đời sống


2.4 Giới thiệu các chuẩn giao tiếp sử dụng
2.4.1 Chuẩn giao tiếp SPI
2.4.1.1 Giới thiệu giao thức truyền thông SPI
Chuẩn truyền thông nối tiếp SPI là viết tắt của cụm từ Serial Peripheral Interface – tạm dịch là
giao tiếp ngoại vi nối tiếp – là một chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công
toàn phần (full - duplex) tức trong cùng một thời điểm có thể xảy ra cả quá trình truyền và nhận.
Vào những năm 1980, giao thức này được Motorola phát triển như một giao diện chuẩn, chi phí
thấp và đáng tin cậy giữa xi điều khiển và các IC ngoại vi của nó. SPI là một loại giao thức kiểu
Master – Slave cung cấp phương thức đơn giản và chi phí thấp trong việc giao tiếp giữ các thiết
bị ngoại vi với vi điều khiển.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 17


Chương 2: CƠ SỞ LÝ THUYẾT

Hình 2.11 Mô tả giao thức truyền thông SPI giữa thiết bị chủ và thiết bị tớ
Bus giao tiếp SPI thường được sử dụng để giao tiếp vi xử lý hoặc vi điều khiển với bộ nhớ như
EEPROM, RTC (Đồng hồ thời gian thực), ADC (Analog to Digital Converter – Bộ chuyển đổi
tương tự sang số), DAC (Digital-to-Analog Converter – Bộ chuyển đổi số sang tương tự), thiết bị
hiển thị như màn hình LCD, IC âm thanh, các loại cảm biến như nhiệt độ và áp suất, thẻ nhớ như
MMC hoặc thẻ SD hoặc thậm chí các bộ vi điều khiển khác.
Đối với giao thức SPI, để bộ phát và bộ thu có thể đồng bộ được dữ liệu thì cần phải có xung
đồng bộ dữ liệu, và đó không đâu khác chính là xung clock. Xung clock này được thiết bị master
phát ra và truyền đến tất cả các thiết bị có trên bus SPI.

Hình 2.12 Mô tả đường truyền dữ liệu đồng bộ giữa hai thiết bị bằng SPI
2.4.1.2 Cách thức hoạt động
Trong giao thức SPI, các thiết bị được kết nối trong một mối quan hệ Master – Slave trong một
giao diện đa điểm. Trong loại giao diện này, một thiết bị được coi là Master của bus (thường là

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 18


Chương 2: CƠ SỞ LÝ THUYẾT

một vi điều khiển) và tất cả các thiết bị khác (IC ngoại vi hoặc thậm chí các vi điều khiển khác)
đều được coi là Slave. Trong giao thức SPI, có thể chỉ có một thiết bị Master nhưng nhiều thiết bị
Slave.
Bus SPI bao gồm 4 tín hiệu hoặc chân và chúng là:
 Master – Out / Slave – In (MOSI hay SI): cổng ra của bên Master, cổng vào của bên Slave,
dành cho việc truyền dữ liệu từ thiết bị Master đến thiết bị Slave .
 Master – In / Slave – Out (MISO hay SO): cổng vào của bên Master, cổng ra của bên Slave,
dành cho việc truyền dữ liệu từ thiết Slave đến thiết bị Master.
 Serial Clock (SCK hay SCLK): xung giữ nhịp cho giao tiếp SPI, dùng để đồng bộ dữ liệu giữa
thiết bị truyền và thiết bị nhận. Sự tồn tại của xung SCK giúp quá trình truyền dữ liệu ít bị lỗi
và có thể truyền với tốc độ rất cao.
 Chip Select (CS) hay Slave Select (SS): đây là chân chọn chip.

Hình 2.13 Kết nối giữa hai thiết bị trong bus SPI
Quá trình truyền dữ liệu giữa Master và Slave xảy ra trong bus SPI khi chân CS hoặc NSS của
Slave được kéo xuống mức thấp. Quá trình này xảy ra đồng thời và sau 8 chu kỳ đồng hồ, một
byte dữ liệu được truyền theo cả hai hướng và do đó, SPI là một giao tiếp song công toàn phần
(full – duplex). Nếu dữ liệu phải được truyền bởi chỉ một thiết bị, thì thiết bị kia phải gửi một cái
gì đó (dữ liệu giả) và nó phụ thuộc vào thiết bị cho dù dữ liệu được truyền là dữ liệu thực tế hay

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 19


Chương 2: CƠ SỞ LÝ THUYẾT

không. Điều này có nghĩa là đối với mỗi bit được truyền bởi một thiết bị, thiết bị kia phải gửi dữ
liệu một bit, tức là Master truyền dữ liệu đồng thời trên MOSI và nhận dữ liệu từ Slave trên đường
MISO. Nếu Slave muốn truyền dữ liệu, Master phải tạo ra tín hiệu đồng hồ cho phù hợp bằng
cách biết khi nào Slave muốn gửi dữ liệu trước.
2.4.2 Chuẩn truyền dữ liệu UART
2.4.2.1 Giới thiệu về chuẩn truyền dữ liệu UART
Các tên đầy đủ UART là “Universal Asynchronous Receiver / Transmitter”, và nó là một vi
mạch sẵn có trong một vi điều khiển nhưng không giống như một giao thức truyền thông (I2C &
SPI). Chức năng chính của UART là truyền dữ liệu nối tiếp. Trong UART, giao tiếp giữa hai thiết
bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song.
 Truyền thông nối tiếp: Trong giao tiếp dữ liệu nối tiếp, dữ liệu có thể được truyền qua một cáp
hoặc một đường dây ở dạng bit-bit và nó chỉ cần hai cáp. Truyền thông dữ liệu nối tiếp không
đắt khi chúng ta so sánh với giao tiếp song song. Nó đòi hỏi rất ít mạch cũng như dây. Vì vậy,
giao tiếp này rất hữu ích trong các mạch ghép so với giao tiếp song song.

Hình 2.14 Truyền UART theo phương pháp nối tiếp


 Truyền thông song song: Trong giao tiếp dữ liệu song song, dữ liệu có thể được truyền qua
nhiều cáp cùng một lúc. Truyền dữ liệu song song tốn kém nhưng rất nhanh, vì nó đòi hỏi phần
cứng và cáp bổ sung. Các ví dụ tốt nhất cho giao tiếp này là máy in cũ, PCI, RAM, v.v.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 20


Chương 2: CƠ SỞ LÝ THUYẾT

Hình 2.15 Truyền UART theo phương pháp song song


2.4.2.2 Cách thức hoạt động
Thông thường chúng ta sử dụng chuẩn truyền UART nối tiếp trong các ứng dụng bằng cách
dùng hai chân TX (chân truyền) và RX (chân nhận) để kết nối giữa vi điều khiển và ngoại vi khác
(có thể là một vi điều khiển khác) để truyền dữ liệu qua lại với nhau. Để truyền dữ liệu đi, dữ liệu
phải được đóng gói lại thành một frame, cấu trúc của một frame gồm có: 1 start bit, 5 đến 9 bit
data, 1 parity bit, 1 hoặc 2 stop bit.

Hình 2.16 Cấu trúc một frame truyền của UART


 Start bit: còn được gọi là bit đồng bộ hóa (hay bit bắt đầu báo hiệu dữ liệu sắp được truyền)
được đặt trước dữ liệu thực tế. Nói chung, một đường truyền dữ liệu không hoạt động được
điều khiển ở mức điện áp cao. Để bắt đầu truyền dữ liệu, truyền UART kéo đường dữ liệu từ
mức điện áp cao (1) xuống mức điện áp thấp (0). Và sau đó là một chuỗi các dữ liệu được
truyền nối tiếp theo.
 Stop bit: còn gọi là bit dừng, thường được đặt ở cuối gói dữ liệu. Theo lý thuyết bit này có độ
dài là hai bit nhưng thông thường chỉ dùng một bit. Để dừng truyền, UART sẽ giữ điện áp ở
mức 1.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 21


Chương 2: CƠ SỞ LÝ THUYẾT

 Parity bit: còn gọi là bit kiểm tra chẵn lẻ, bit này cho phép người dùng kiểm tra dữ liệu nhận
được xem dữ liệu có đúng hay không. Trên thực tế bít này ít được dùng nên cũng không bắt
buộc trong quá trình thiết lập.
 Data frame: khung dữ liệu, là dữ liệu thật được truyền từ người gửi đến người nhận. Độ dài
khung dữ liệu có thể nằm trong khoảng 5 đến 8 bit. Nếu không dùng bit chẵn lẻ thì chiều dài
khung dữ liệu có thể lên đến 9 bit. Và trong quá trình truyền, bit LSB sẽ được truyền trước
tiên.
2.4.3 Chuẩn truyền dữ liệu Modbus
2.4.3.1 Giới thiệu về Modbus RTU
Modbus là một giao thức truyền thông nối tiếp ban đầu được Modicon (nay là Schneider
Electric) trình làng năm 1979 để sử dụng với các bộ điều khiển logic lập trình (PLC). Modbus đã
trở thành một giao thức truyền thông tiêu chuẩn thực tế và hiện là phương tiện phổ biến để kết nối
các thiết bị điện tử công nghiệp.
Giao thức Modbus RTU là một giao thức mở, sử dụng đường truyền vật lý RS-232 hoặc RS485
và mô hình dạng Master-Slave. Đây là một giao thức được sử dụng rộng rãi trong nhiều lĩnh vực
tự động hóa, công nghiệp.... vì những ưu điểm ổn định – đơn giản - dễ dùng. Modbus được coi là
giao thức truyền thông hoạt động ở tầng "Application", cung cấp khả năng truyền thông
Master/Slave giữa các thiết bị được kết nối thông qua các bus hoặc network. Trên mô hình OSI,
Modbus được đặt ở lớp 7. Modbus được xác định là một giao thức hoạt động theo "hỏi/đáp" và
sử dụng các "function codes" tương ứng để hỏi đáp.
Cấu trúc frame truyền Modbus RTU:
Một frame truyền Modbus RTU bao gồm: 1 byte địa chỉ - 1 byte mã hàm - n byte dữ liệu - 2
byte CRC như hình ở dưới:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 22


Chương 2: CƠ SỞ LÝ THUYẾT

Hình 2.17 Sơ đồ của 1 frame truyền dữ liệu Modbus RTU


Chức năng và vai trò cụ thể như sau:
 Byte địa chỉ: xác định thiết bị mang địa chỉ được nhận dữ liệu (đối với Slave) hoặc dữ liệu
nhận được từ địa chỉ nào (đối với Master). Địa chỉ này được quy định từ 0 – 254
 Byte mã hàm: được quy định từ Master, xác định yêu cầu dữ liệu từ thiết bị Slave. Ví dụ mã
01: đọc dữ liệu lưu trữ dạng Bit, 03: đọc dữ liệu tức thời dạng Byte, 05: ghi dữ liệu 1 bit vào
Slave, 15: ghi dữ liệu nhiều bit vào Slave ...
 Byte dữ liệu: xác định dữ liệu trao đổi giữa Master và Slave.
 Đọc dữ liệu:
 Master: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu.
 Slave: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu - n byte dữ liệu đọc được.
 Ghi dữ liệu:
 Master: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu - n byte dữ liệu cần ghi.
 Slave: 2 byte địa chỉ dữ liệu - 2 byte độ dài dữ liệu.
 Byte CRC: 2 byte kiểm tra lỗi của hàm truyền. cách tính giá trị của byte CRC 16 bit.
2.4.3.2 Cách thức hoạt động
Modbus RTU có mô hình dạng Master-Slave, dùng đường truyền vật lí RS485 nên để giao tiếp
được giữa master và slave ta phải cài đặt các thông số về tốc độ truyền baudrate (4800, 9600,
115200,...), số data bit (7-8), bit stop (0-1-2), Flag Parity kiểm tra chẵn lẻ (None, Event, Odd).

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 23


Chương 2: CƠ SỞ LÝ THUYẾT

Ngoài các thông số trên phản giống nhau giữa master và slave, thì bên master phải biết được ID
của slave cần giao tiếp.
Mỗi thiết bị trong mạng modbus được cung cấp một địa chỉ duy nhất. Trong mạng modbus chỉ
có 1 node được gán là Master (ta gọi là Master, các node còn lại gọi là Node) mới có thể khởi tạo
lệnh. Trong frame truyền có chứa địa chỉ của thiết bị slave (1 đến 247), chỉ thiết bị có ID tương
ứng mới đáp ứng, mặc dù các thiết bị khác có thể nhận được nó (một ngoại lệ là các lệnh có thể
phát được cụ thể được gửi đến nút 0, được thực hiện nhưng không được xác nhận). Tất cả các
lệnh Modbus chứa thông tin tổng kiểm tra (check sum CRC) để cho phép người nhận phát hiện
lỗi truyền. Master sẽ đọc và ghi các dữ liệu vào thanh ghi của thiết bị slave.
Cách đấu nối:
A- (Master) <------> A- (Slave)
B+ (Master) <------> B+ (Slave)
GND (Master) <-------> GND (Slave)
Dây GND cần nối trong trường hợp khu vực đấu nối ở vùng nhiều sấm sét, máy móc hoạt động
dòng lớn, nhiễu phức tạp...để tránh bị phá hỏng thiết bị hoặc tín hiệu thu được bị sai. Điện thế
chênh lệch giữa GND hai bên tối đa là 7V.
Nếu thiết bị cần đọc là đồng hồ điện, đồng hồ nước hoặc một thiết bị đã được tích hợp LCD hiển
thị các thông số thì chúng ta sẽ nhìn vào đó và thiết lập các thông số như baud rate, data bit, stop
bit, parity bit ở Master (chính là vi điều khiển của chúng ta) để giữa Master và Slave được đồng
bộ với nhau. Còn nếu chúng ta dùng các cảm biến không có LCD thì ta phải xem trong datasheet
của chúng về những thông số ở trên để thiết lập đồng bộ với bộ điều khiển của chúng t

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 24


Chương 3: TÍNH TOÁN THIẾT KẾ

Chương 3: TÍNH TOÁN THIẾT KẾ


3.1 Giới thiệu tổng quan về đề tài
3.1.1 Yêu cầu của hệ thống
Mô hình hệ thống quan trắc nước nuôi trồng thuỷ sản được thiết kế để đáp ứng yêu cầu giám sát
chất lượng nước nuôi thông qua các thông số môi trường nước như độ mặn, nồng độ chất tan, độ
pH, nồng độ của các chất trong môi trường nước như NO2, NH3, nồng độ oxy trong nước, … Hệ
thống các trạm quan trắc sẽ được bố trí theo mô hình nuôi trồng trong thực tế. Cụ thể ta có hệ
thống nuôi tôm trong thực tế như hình bên dưới với mỗi ao có kích thước dao động từ 1000 –
3000m2. Với kích thước ao như thế thì hệ thống sẽ được bố trí 1 trạm đo/1 ao và trạm chính được
đặt ở giữa.

Hình 3.1 Sơ đồ bố trí các trạm đo


Các trạm đo phải nằm trong vùng phủ sống của trạm trung tâm để đảm bảo dữ liệu thu thập được
truyền đầy đủ về trạm trung tâm và được tổng hợp thành gói tin tại đây. Các thông số này sau khi
được trạm trung tâm tổng hợp sẽ được đóng gói và gửi về server và sẽ được thể hiện trên giao
diên web giúp người dùng có thể giám sát tình hình của nước. Đồng thời trên giao diện web còn
cho phép người dùng thiết lập giới hạn trên và giới hạn dưới của các thông số nước để hệ thống
sẽ cảnh báo cho người dùng khi một trong các thông số vượt quá giới hạn cho phép. Ngoài ra mô
hình còn cho phép người dùng trực tiếp điều khiển hoặc hẹn giờ kích hoạt các loại máy bơm, máy
sục oxy được kết nối với trạm thông qua giao diện web.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 25


Chương 3: TÍNH TOÁN THIẾT KẾ

3.1.2 Sơ đồ khối và chức năng từng khối


3.1.2.1 Sơ đồ khối của cả hệ thống

Web Server

Điểm thu Trạm điều khiển Trạm điều


thập dữ liệu trung tâm khiển động cơ

Hình 3.2 Sơ đồ khối của hệ thống


 Trạm điều khiển trung tâm: giữa vai trò điều khiển các điểm thu thập dữ liệu và trạm điều
khiển động cơ. Dữ liệu thu thập về sẽ được đóng gói và gửi về server xử lý. Ngoài ra trạm điều
khiển trung tâm còn có thể mang cảm biến để lấy dữ liệu như một điểm thu thập dữ liệu thông
thường.
 Điểm thu thập dữ liệu: mang theo cảm biến thu thập các số liệu của nước và gửi về trạm trung
tâm bằng công nghệ LoRa.
 Trạm điều khiển động cơ: điều khiển bật tắt động cơ thông qua lệnh từ trạm trung tâm được
gửi đến bằng công nghệ LoRa.
 Web Server: xử lý các số liệu nhận được từ trạm trung tâm, hiển thị các thông số ra website
cho người dùng cũng như cảnh báo nếu số liệu vượt quá mức cho phép. Đồng thời cũng nhận
lệnh từ người dùng thông qua việc điều khiển trực tiếp trên website. Lệnh này được gửi đến
trạm trung tâm để điều khiển các động cơ.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 26


Chương 3: TÍNH TOÁN THIẾT KẾ

3.1.2.2 Trạm điều khiển trung tâm (Gateway)


Khối truyền dữ
liệu Lora
(Master)

Khối điều khiển


Nguồn Khối hiển thị Khối kết nối
trung tâm

Khối cảm
biến

Hình 3.3 Sơ đồ khối trạm điều khiển trung tâm


 Khối điều khiển trung tâm: gửi lệnh điều khiển đến các cảm biến và lora để nhận về dữ liệu và
xử lý theo yêu cầu, sau đó định dạng dữ liệu để gửi về server lưu trữ. Đồng thời nhận lệnh từ
server để thực hiện các hoạt động bật tắt các thiết bị như máy bơm nước, máy sục khí oxy, ...
 Khối kết nối: kết nối internet, đưa dữ liệu thu thập được từ phía Gateway về cho server xử lý,
đồng thời nhận lệnh điều khiển từ phía server truyền đến Gateway để tiến hành điều khiển thiế
bị trong hệ thống.
 Khối truyền dữ liệu RF/Lora (Master): đây là hệ thống lora truyền theo kiểu chủ – tớ. Lora ở
bộ Gateway sẽ gửi tín hiệu yêu cầu lấy dữ liệu từ một cái Node nào đó trong hệ thống (mỗi
Node sẽ mang theo cảm biến và dữ liệu cảm biến sẽ được truyền về qua đường truyền lora)
hoặc gửi lệnh điều khiển thiết bị cho bộ điều khiển động cơ trong hệ thống.
 Khối cảm biến: Bao gồm các cảm biến đo thông số nước như pH, độ mặn, nồng độ chất tan
trong nước và nhiệt độ trong môi trường nước. Bên cạnh đó còn có thêm cảm biến đo nhiệt độ
độ ẩm để giám sát môi trường không khí xung quanh hệ thống.
 Nguồn: nguồn 12VDC từ ắc quy cung cấp nguồn cho hoạt động của các thiết bị trong hệ thống.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 27


Chương 3: TÍNH TOÁN THIẾT KẾ

3.1.2.3 Điểm thu thập dữ liệu (Node)


Khối truyền
dữ liệu Lora
(Slave)

Khối điều Khối cảm


Nguồn
khiển Node biến

Hình 3.4 Sơ đồ khối điểm thu thập dữ liệu


 Khối điều khiển Node: giao tiếp với cảm biến để lấy dữ liệu về, sau đó xử lý và chờ khi có lệnh
yêu cầu từ lora master của bộ điều khiển trung tâm để tiến hành gửi toàn bộ dữ liệu thu thập
được về cho Gateway.
 Khối truyền dữ liệu Lora (Slave): gửi dữ liệu thu thập được về cho lora master ở bộ Gateway.
 Cảm biến: thu thập dữ liệu của môi trường nước nuôi gồm độ mặn, độ pH, nồng độ chất tan và
nhiệt độ nước. Ngoài ra còn cảm biến dùng để nhiệt độ độ ẩm của môi trường xung quanh.
 Nguồn: nguồn 12VDC từ ắc quy cung cấp nguồn cho hoạt động của các thiết bị trong hệ thống.
3.1.2.4 Trạm điều khiển động cơ
Khối truyền dữ liệu
RF/Lora
(Slave)

Relay điều
Nguồn Bộ điều khiển động cơ khiển bật/tắt
động cơ

Hình 3.5 Sơ đồ khối trạm điều khiển động cơ


 Bộ điều khiển động cơ: nhận lệnh từ lora và tiến hành điều khiển relay bật/tắt động cơ.
 Lora (Slave): nhận lệnh bật/tắt thiết bị từ lora master truyền về vi điều khiển.
 Relay: bật/tắt các máy bơm, máy sục oxy, máy cho cá ăn, …
 Nguồn: dùng nguồn trực tiếp từ nguồn điện cấp cho động cơ, qua biến áp và chuyển về dạng
12VDC cung cấp cho các phần tử trong mạch.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 28
Chương 3: TÍNH TOÁN THIẾT KẾ

3.2 Tính toán và thiết kế hệ thống


3.2.1 Khối điều khiển
Khối điều khiển được thể hiện đặc trưng qua vi điều khiển chính nằm trên mạch. Đối với hệ
thống này đòi hỏi phải có hai kiểu khối điều khiển thuộc trạm Gateway và trạm Node đảm nhận
các vai trò khác nhau. Do đó, theo như sự thảo luận lựa chọn vi điều khiển, nhóm và giảng viên
hướng dẫn đã thống nhất chọn một vi điều khiển và một module để đảm nhận vai trò này. Một
module là module ESP32-WROOM-32 thực hiện nhiệm vụ điều khiển ở trạm Gateway, vi điều
khiển còn lại được chọn là STM32F103C8T6 đảm nhận chức năng điều khiển ở trạm Node.
3.2.1.1 Khối điều khiển của Gateway
Ở khối điều khiển Gateway, nhóm sử dụng module ESP32-WROOM-32 để kết nối với các
module khác như module LoRa Ra-02, module sim800C, IC RS485 để đọc dữ liệu từ các cảm
biến theo chuẩn Modbus RTU. Việc lựa chọn module ESP32-WROOM-32 có hai lý do sau:
 Tốc độ xung nhịp nhanh, mạnh, số nhân trong chip lên đến hai nhân, có thể xử lý đa luồng dễ
dàng và nhanh chóng.
 Module ESP32-WROOM-32 là module có tích hợp sẵn wifi và bluetooth, thuận tiện để có thể
phát triển mở rộng các chức năng cho trạm trung tâm, chẳng hạn nếu khu vực chung quanh
trạm có wifi, chúng ta có thể sử dụng wifi thay thể cho GPRS từ module sim800C, từ đó có
thể tiết kiệm chi phí.

Hình 3.6 Module ESP32-WROOM-32

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 29


Chương 3: TÍNH TOÁN THIẾT KẾ

Hình 3.7 Sơ đồ nguyên lý của khối điều khiển Gateway


3.2.1.2 Khối điều khiển của trạm Node
Đối với khối điều khiển của các trạm Node, nhóm đã lựa chọn vi điều khiển STM32F103C8T6
để giao tiếp với các module khác như module LoRa Ra-02 để truyền – nhận dữ liệu với trạm điều
khiển trung tâm, kết nối với IC RS485 để đọc dữ liệu từ cảm biến thông qua chuẩn truyền thông
Modbus RTU đối với trạm thu thập dữ liệu nước, hoặc là điều khiển đóng cắt relay để bật/tắt động
cơ đối với trạm điều khiển động cơ. Vi điều khiển STM32F103C8T6 được xem xét lựa chọn vì lý
do nó có giá thành rẻ, dễ sử dụng, có số chân IO và ngoại vi nhiều, tốc độ khá cao và đặc biệt là
có độ bền trong thời gian dài sử dụng.
Các thông số kỹ thuật cơ bản của vi điều khiển STM32F103C8T6:
 Xung nhịp nội có tần số 8Mhz, nếu sử dụng thạch anh có thể lên đến 72Mhz.
 Điện áp cung cấp từ 2 đến 3.6V.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 30


Chương 3: TÍNH TOÁN THIẾT KẾ

 Có khả năng mở rộng port I/O lên tới trên 30 chân.


 Có nhiều bộ ngoại vi được tích hợp như ADC, UART, SPI, I2C, USB, …

Hình 3.8 Chip ARM Cortex M3 dùng cho STM32F103

Hình 3.9 Sơ đồ nguyên lý khối điều khiển ở trạm đo và trạm điều khiển động cơ
3.2.2 Khối cảm biến

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 31


Chương 3: TÍNH TOÁN THIẾT KẾ

3.2.2.1 Mạch đọc dữ liệu từ cảm biến pH, nhiệt độ nước ASPSA2121, độ mặn và nồng độ
chất tan trong nước ASDSSTY8077
Cảm biến pH ASPSA2121 với các thông số kỹ thuật:
 Nguồn cung cấp: 12VDC.
 Phạm vi đo lường 0,00 ~ 14,00 pH.
 Độ phân giải 0,01 pH.
 Độ chính xác 0,02 pH.
 Mô hình bù nhiệt độ tự động hoặc thủ công.
 Phạm vi đo khoảng nhiệt độ -10.0 ~ 110.0℃.
 Độ phân giải nhiệt độ 0,1ºC.
 Nhiệt độ chính xác 0,5ºC.

Hình 3.10 Cảm biến đo nồng độ pH


Cảm biến độ mặn ASDSSTY8077 với các thông số kỹ thuật:
 Nguồn cung cấp: 12VDC.
 Phạm vi đo lường 0,00 ~ 200,0mS.
 Độ phân giải cơ sở trên phạm vi đo khác nhau 0,01uS \ 0,1uS \ 1uS \ 0,1mS.
 Độ chính xác ± 2%.
 Mô hình bù nhiệt độ: tự động hoặc thủ công.
 Phạm vi đo nhiệt độ -10.0 ~ 110.0 ℃.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 32


Chương 3: TÍNH TOÁN THIẾT KẾ

Hình 3.11 Cảm biến độ mặn và nồng độ chất tan trong nước
Do cảm biến được nhà sản xuất thiết kế sử dụng cho công nghiệp nên nó được hỗ trợ chuẩn
truyền dữ liệu số Modbus RTU. Do chuẩn này cần phải giao tiếp thông qua trung gian RS485 nên
nhóm đã sử dụng IC SP3485 để làm trung gian đọc dữ liệu về vi điều khiển.

Hình 3.12 Sơ đồ nguyên lý của mạch đọc dữ liệu cảm biến


Theo như thiết kế, ta có trở treo ở hai chân A và B với chân A được kéo lên 3.3V và chân B
được kéo xuống GND vì chân A là chân đầu ra/đầu vào không đảo, còn chân B là chân đầu ra/đầu
vào đảo. Điều này giúp cho hai đầu nhận/xuất tín hiệu này luôn có một mức logic cố định khi hai
đầu không kết nối với thiết bị, tránh tình trạng thả nổi sẽ dễ bị ảnh hưởng bởi nhiễu, dẫn đến tín
hiệu bị sai. Giá trị của trở treo được tính như sau:
Ta có: dòng tối đa đi vào hai chân A và B là 1mA

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 33


Chương 3: TÍNH TOÁN THIẾT KẾ

Nguồn cấp là 3.3V.


3.3V
Suy ra giá trị điện trở là: = 3300 => Chọn trở có giá trị 4.7k.
1mA

Để IC hoạt động ổn định, theo nhà sản xuất, cần phải thêm 1 điện trở giữa 2 chân A và B với
giá trị điện trở nhỏ. Do đó nhóm chọn điện trở giá trị 120 theo như khuyến nghị của những
người dùng trong cộng đồng điện tử.
3.2.2.2 Mạch cảm biến nhiệt độ độ ẩm DHT22
Môi trường xung quanh trạm đo rất quan trọng, nó quyết định tuổi thọ của các thiết bị trong
trạm. Vậy nên, để kiểm soát các thông số môi trường cơ bản như nhiệt độ và độ ẩm không khí,
nhóm đã dùng cảm biến DHT22. Cảm biến còn có thể cho biết mạch điện hoạt động có quá nóng
do quá công suất hay không. Khi sử dụng cảm biến, chân data phải được kéo lên mức cao theo
chuẩn giao tiếp OneWire mà nhà sản xuất yêu cầu, ở đây nhóm chọn trở 4.7k để làm trở kéo lên
và cảm biến hoạt động ổn định.

Hình 3.13 Sơ đồ nguyên lý cảm biến DHT22


3.2.3 Khối hiển thị
Ngoài chế độ xem thông số online được hiển thị trên website, nhóm còn dùng LCD2004 đặt tại
trạm điều khiển trung tâm để người dùng nếu muốn xem thông số nước khi đi thăm ao nuôi thì có
thể sử dụng chức năng này.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34


Chương 3: TÍNH TOÁN THIẾT KẾ

Hình 3.14 Sơ đồ nguyên lý mạch hiển thị LCD


Theo datasheet của nhà sản xuất, khi sử dụng module mở rộng port PCF8574 thông qua chuẩn
truyền thông nối tiếp I2C, các chân A0 A1 A2 phải được kéo xuống mức thấp. Các chân A0 A1
A2 là các chân chọn ngõ ra, các chân này sẽ được cấu hình thông qua dữ liệu địa chỉ được gửi từ
chân SDA.
Tính toán điện trở kích cho transistor C1815 để bật đèn nền cho LCD:
𝑉−0,7 5−0,7
Ta có: IC = β*IB = β= β (điều kiện để có thể dẫn bảo hòa)
𝑅𝑏 𝑅𝑏

5−0,7 5−0,7
 RB = β= *50 = 5375Ω chọn RB = 4.7kΩ.
𝐼𝑐 40𝑚𝐴
trong đó IC = 40 mA là dòng cấp cho đèn led màn hình của LCD.

Chọn β = 50.

3.2.4 Khối truyền dữ liệu LoRa


Đối với yêu cầu đặt ra của hệ thống là phải bố trí các trạm trên diện rộng và mỗi trạm kết nối
với trạm điều khiển trung tâm nên phải có một thiết bị truyền – nhận dữ liệu có khả năng phủ sóng
rộng và công nghệ truyền – nhận dữ liệu Lora đáp ứng tốt yêu cầu này với bán kính vùng phủ
sống có thể lên tới hơn 500m. Hơn nửa trong thực tế module Lora cũng được sử dụng rất phổ biến

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35


Chương 3: TÍNH TOÁN THIẾT KẾ

và có cộng đồng hỗ trợ rộng lớn nên nhóm đã quyết định dùng module Lora Ra-2 làm module
truyền nhận dữ liệu không dây giữa các trạm thu thập dữ liệu với trạm trung tâm.
Các thông số kỹ thuật cơ bản của module Lora Ra-2:
 Dải tần số: module hoạt động ở tần số cao từ 420 - 450MHz (mặc định là 433Mhz).
 Tốc độ truyền dữ liệu có thể đạt đến 300Kbps.
 Phạm vi phủ sóng truyền nhận dữ liệu có thể đạt bán kính lên đến 1km nếu ở nơi thoáng và ít
vật che chắn, nhưng lý tưởng nhất là trong phạm vi bán kính 500m.
 Giao tiếp: có thể giao tiếp bằng giao thức truyền dữ liệu SPI hoặc qua các chân GPIO trên
module.
 Điện áp hoạt động: 1.8 - 3.7V, mặc định 3.3V.
 Nhiệt độ làm việc: -40 đến +85 độ.

Hình 3.15 Module LoRa Ra-02


Module LoRa Ra-2 được thiết kế giao tiếp với vi điều khiển thông qua chuản giao tiếp SPI. Đây
là module đóng vai trò chủ chốt trong việc thiết kế các hệ thống IoT quan trắc, thu thập dữ liệu
trên diện rộng. Sơ đồ nguyên lý của module LoRa được thiết kế như sau:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36


Chương 3: TÍNH TOÁN THIẾT KẾ

Hình 3.16 Sơ đồ nguyên lý module LoRa Ra-02


3.2.4 Khối kết nối với Server
Để truyền dữ liệu theo đường internet về server lưu trữ và xử lý, ta cần một module có thể kết
nối giữa hệ thống với internet, và sự lựa chọn của nhóm là sử dụng module sim800C thay vì dùng
sóng wifi. Lựa chọn này đã được tính toán kỹ trong trường hợp những trạm đo đặt ở các ao trong
đồng ruộng, khu vực xa khu dân cư nên khả năng không dùng được wifi.
Module sim là một module không dây làm việc trong một mạng không dây có tên gọi là GSM.
Khi chúng ta gắn thẻ sim vào module, cấp nguồn và điều khiển bằng tập lệnh AT thì có thể nói
module sim trở thành một chiếc điện thoại di động đơn giản, có thể liên lạc với các số điện thoại
khác thông qua gọi hoặc nhắn tin bằng các tập lệnh AT tương ứng. Bên cạnh đó, module sim còn
có thể truy cập internet thông qua việc sử dụng dịch vụ GPRS, 3G hoặc 4G của nhà mạng phát
hành. Trên thị trường hiện nay có nhiều loại module sim khác nhau với nhiều chức năng được bổ
sung và cải tiến như: module sim800C, sim800L có thể sử dụng dịch vụ GPRS; module sim UC20
do Trung Quốc sản xuất có thể dùng để truy cập internet bằng mạng GPRS hoặc 3G; module sim
EC25 cũng do Trung Quốc sản xuất cũng có thể truy cập internet nhưng bằng 4G, tốc độ nhanh
hơn hẳn so với các module còn lại.
Và module sim800C là một trong những module sim được sử dụng phổ biến và rộng rãi trong
các dự án IoT hiện nay. Với thiết kế nhỏ gọn và dễ dàng tích hợp vào mạch PCB layout, module
sim800C là lựa chọn phù hợp nhất để thiết kế các mạch tích hợp truyền điều khiển và truyền dữ
liệu qua internet.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37


Chương 3: TÍNH TOÁN THIẾT KẾ

Hình 3.17 Module sim800C


Với module sim800C ta có thể dùng dịch vụ GPRS của nhà mạng để truy cập internet và gửi dữ
liệu về server. Sau đây là sơ đồ nguyên lý kết nối giữa module sim800C và vi điều khiển:

Hình 3.18 Sơ đồ nguyên lý module sim800C


Đây là sơ đồ nguyên lý được thiết kế theo datasheet của Simcom – nhà sản xuất các dòng module
sim như sim800C, sim800L, sim900, …

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38


Chương 3: TÍNH TOÁN THIẾT KẾ

Tính toán trở dùng cho led báo trạng thái:


Ta có: áp dùng cho led là 2.2V.
Dòng dùng cho led là 20mA.
Áp tại hai chân 41 và 42 là 3.8.
3.8V − 2.2V
R= = 800 => Chọn giá trị điện trở là 1k.
20𝑚𝐴

3.2.5 Khối kích relay


Theo khảo sát thực tế cho thấy, các loại động cơ hoạt động ở ao nuôi thường có 3 loại như sau:
 Máy bơm nước vào/ra ao.
 Máy sục oxy để giúp tăng nồng độ oxy trong nước.
 Máy cho ăn tự động.
Do đó nhóm thiết kế một hệ thống relay để hỗ trợ kích hoạt các loại động cơ này như sau:

Hình 3.19 Sơ đồ nguyên lý điều khiển relay đóng/ngắt


Tính toán điện trở kích relay như sau:
Do áp và dòng xuất từ chân của vi điều khiển STM32F103C8T6 không đủ để kích dẫn relay
(chỉ vào khoảng 3.3V – 25mA) nên ta dùng một transistor làm công tắc đóng ngắt kích cho
relay. Dòng kích dẫn relay là 70mA, ta tính toán như sau:
Chọn transistor npn MMBT2222A làm công tắc bán dẫn vì yêu cầu của mạch là kích dẫn relay
ở mức cao. Ta dùng thêm 1 con diode bảo vệ dòng xả ra từ cuộn dây relay khi ngắt dòng.
Tiến hành tính toán điện trở cực B của transistor:
 Trong trường hợp dẫn bảo hòa transistor npn MMBT2222A:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39


Chương 3: TÍNH TOÁN THIẾT KẾ

𝑉−0,7 3.3−0,7
Ta có: IC = β*IB = β= β (điều kiện để có thể dẫn bảo hòa)
𝑅𝑏 𝑅𝑏

3.3−0,7 3.3−0,7
 RB = β= *50 = 1,9 kΩ chọn RB = 2,2 kΩ.
𝐼𝑐 70𝑚𝐴
trong đó IC = 70 mA.

Chọn β = 50.
3.2.5 Khối nguồn
Nguồn sử dụng cho hệ thống là pin mặt trời và ắc quy.
 Lý do sử dụng pin mặt trời: Để đáp ứng yêu cầu hệ thống hoạt động độc lập, linh động trong
việc di chuyển và không bị vướng bởi hệ thống dây điện cũng như không phụ thuộc và hệ
thống điện lưới, nhóm đã đi đến quyết định sử dụng nguồn điện từ năng lượng mặt trời để
dung cấp cho hệ thống hoạt động. Điện mặt trời là nguồn năng lượng sạch, giúp giảm ô nhiễm
môi trường và tiết kiệm cho người dùng.
 Lý do sử dụng ắc quy: Hiện nay trên thị trường có rất nhiều loại pin có thể lưu điện lại để sử
dụng như pin lithium, pin li-on, … nhưng nhóm lại chọn sử dụng ắc quy có thông số 12V –
20Ah làm nguồn dự trữ điện năng cho hệ thống vì hệ thống cảm biến trong mạch sử dụng
nguồn 12V. Thay vì nếu chúng ta mua pin lithium có thông số 3.2V – 3500mAh thì ta phải
ghép 4 viên lại với nhau để có được điện áp 12V như yêu cầu thì chỉ với 1 bình ắc quy 12V –
20Ah là ta có thể đáp ứng được yêu cầu. Hơn nửa với dung tích lớn, bình ắc quy có thể nuôi
hệ thống chạy ổn định trong nhiều ngày mà không cần nắng để sạc điện từ pin mặt trời.
 Nguyên lý làm việc của của khối nguồn: Pin năng lượng mặt trời cung cấp điện áp từ 17 đến
21V tuỳ vào mức độ nắng trong ngày. Nguồn điện này được đưa vào bộ sạc ắc quy để tích
điện. Điện sạc vào ắc quy đến đầy sẽ đạt 13.2V, nếu ắc quy dùng hết điện thì điện áp còn lại
10.8V. Sơ đồ kết nối giữa ắc quy, pin mặt trời và bộ sạc như sau:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40


Chương 3: TÍNH TOÁN THIẾT KẾ

Hình 3.20 Sơ đồ kết nối để sặc ắc quy từ năng lượng mặt trời
Thiết kế mạch nguồn cho khối điều khiển trung tâm:

Hình 3.21 Sơ đồ nguyên lý khối nguồn của trạm điều khiển trung tâm
 Mạch nguồn sử dụng IC LM2596-ADJ được thiết kế riêng cho module sim800C theo yêu cầu
của nhà sản xuất Simcom với ngõ ra áp 3.8V với dòng tối đa lên tới 2A tuỳ vào từng mode sử
dụng.
 Mạch nguồn dùng IC LM2596-5 được thiết dùng cho các module:
 Module LCD 20x04 với điện áp cung cấp là 5V, dòng điện cung cấp là 50mA.
 Module I2C dùng cho LCD với điện áp cung cấp là 5V, dòng điện cung cấp là 100mA.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41


Chương 3: TÍNH TOÁN THIẾT KẾ

 Mạch nguồn dùng IC LM2596-3.3 được thiết để cấp nguồn cho các module như:
 Moduel LoRa Ra-02 với điện áp cung cấp là 3.3V, dòng điện cung cấp là 100mA.
 Module ESP32-WROOM-32 với điện áp cung cấp là 3.3V, dòng điện cung cấp là 500mA.
 Module DHT22 với điện áp cung cấp là 3.3V, dòng điện cung cấp là 5mA.
 Module SP3485 với điện áp cung cấp là 3.3V, dòng điện cung cấp là 5mA.
Tính toán thời lượng pin dùng cho trạm điều khiển trung tâm:
Bảng 3.1 Tính toán công suất của từng thiết bị trong trạm điều khiển trung tâm
Điện áp Dòng điện Công suất
STT Tên IC/Module
(V) (A) (W)
1 ESP32-WROOM-32 3.3 0.5 1.65
2 LoRa Ra-02 3.3 0.1 0.33
3 DHT22 3.3 0.005 0.017
4 SP3485 3.3 0.005 0.017
5 Sim800C 3.8 0.394 1.5
6 Module I2C cho LCD 5 0.025 0.5
7 LCD 20x4 5 0.05 0.25
8 Cảm biến pH 12 0.017 0.204
9 Cảm biến độ mặn 12 0.017 0.204
Tổng công suất: 4.672
Thời gian sử dụng ắc quy:
t = (A*V*)/P = (20*12*0.7)/4.672  36 (giờ)

Tính toán thời lượng pin dùng cho trạm thu thập dữ liệu nước:
Bảng 3.2 Tính toán công suất của từng thiết bị trong trạm thu thập dữ liệu nước
Điện áp Dòng điện Công suất
STT Tên IC/Module
(V) (A) (W)
1 STM32F103C8T6 3.3 0.150 0.495
2 LoRa Ra-02 3.3 0.1 0.33

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42


Chương 3: TÍNH TOÁN THIẾT KẾ

3 SP3485 3.3 0.005 0.017


4 DHT22 3.3 0.005 0.017
5 Cảm biên pH 12 0.017 0.204
6 Cảm biến độ mặn 12 0.017 0.204
Tổng công suất: 1.267
Thời gian sử dụng ắc quy:
t = (A*V*)/P = (20*12*0.7)/1.267  132 (giờ)

Tính toán thời lượng pin dùng cho trạm điều khiển động cơ:
Bảng 3.3 Tính toán công suất của từng thiết bị trong trạm điều khiển động cơ
Điện áp Dòng điện Công suất
STT Tên IC/Module
(V) (A) (W)
1 STM32F103C8T6 3.3 0.150 0.495
2 LoRa Ra-02 3.3 0.1 0.33
3 Relay 12 0.07 0.84
4 DHT22 3.3 0.005 0.017
Tổng công suất: 1.682
Thời gian sử dụng ắc quy:
t = (A*V*)/P = (20*12*0.7)/1.682  100 (giờ)

3.3 Sơ đồ nguyên lý toàn mạch


Theo tiêu chí tiết kiệm chi phí nên nhóm quyết định tích hợp sơ đồ của trạm thu thập dữ liệu
nước vào chung với trạm điều khiển. Có nghĩa là một mạch có thể sử dụng cho hai chức năng,
cần dùng chức năng nào thì sẽ hàn linh kiện của mạch đó vào, nếu không dùng thì bỏ trống.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43


Chương 3: TÍNH TOÁN THIẾT KẾ

3.3.1 Trạm điều khiển trung tâm

Hình 3.22 Sơ đồ nguyên lý toàn mạch trạm điều khiển trung tâm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44
Chương 3: TÍNH TOÁN THIẾT KẾ

3.3.2 Trạm thu thập dữ liệu và trạm điều khiển động cơ

Hình 3.23 Sơ đồ nguyên lý trạm thu thập dữ liệu nước và điều khiển
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45
Chương 4: THI CÔNG HỆ THỐNG

Chương 4: THI CÔNG HỆ THỐNG


4.1 Giới thiệu
Để đạt được một hệ thống hoàn chỉnh như yêu cầu, ta cần phải tiến hành lần lượt các bước như
sau:
 Bước 1: Thiết kế sơ đồ nguyên lý hệ thống
 Bước 2: Thiết kế sơ đồ mạch PCB
 Bước 3: Thi công mạch, chạy thử nghiệm các chức năng và sửa lỗi.
 Bước 4: Ghép các mạch lại với nhau và tiến hành chạy thử toàn bộ hệ thống để kiểm tra và
sửa lỗi.
 Bước 5: Tiến hành thiết kế mô hình cơ khí và thi công cơ khí.
 Bước 6: Đóng gói hoàn thiệt sản phẩm
4.2 Thi công hệ thống
4.2.1 Thi công bo mạch

Hình 4.1 Sơ đồ thiết kế PCB trạm điều khiển trung tâm

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.2 Sơ đồ sắp xếp linh kiện 3D trạm điều khiển trung tâm

Hình 4.3 Mạch sau khi thi công

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.4 Sơ đồ thiết kế PCB trạm thu thập dữ liệu nước và điều khiển

Hình 4.5 Sơ đồ sắp xếp linh kiện 3D trạm thu thập dữ liệu nước và điều khiển
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48
Chương 4: THI CÔNG HỆ THỐNG

Hình 4.6 Mạch sau khi thi công


Liệt kê các linh kiện được dùng trong các mạch hệ thống:
Bảng 4.1 Các linh kiện dùng trong hệ thống
STT Tên linh kiện Thông số - giá trị Số lượng
1 ESP32-WROOM-32 Vin = 3.3V 1
2 STM32F103C8T6 Vin = 3.3V 2
3 LoRa Ra-02 Vin = 3.3V 3
4 Module sim800C Vin = 3.8V 1
5 Module DHT22 Vin = 3.3V 3
6 IC SP3485 Vin = 3.3V 2
7 LCD 20x4 Vin = 5V 1
8 Module I2C dùng cho LCD Vin = 5V 1
12V – 70mA
9 Relay 4
10A/250VAC
10 Led 0805 1.8 – 3.2V, 20mA 8
11 Điện trở - -
12 Tụ gốm 100nF -
13 Tụ hoá 100uF/16V, 10uF/16V -

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49


Chương 4: THI CÔNG HỆ THỐNG

14 Transistor MMBT2222A VCEO = 40V, IC = 600mA 4


15 Diode 1N4007 1A 8
16 Cầu chì 2A 3
17 Nút nhấn - 3
VIN = 12V
18 IC LM2596-ADJ 1
VOUT = 3.8V, IOUT = 3A
VIN = 12V
19 IC LM2596 – 5 1
VOUT = 5V, IOUT = 3A
VIN = 12V
20 IC LM2596 – 3.3 2
VOUT = 3.3V, IOUT = 3A

Các linh kiện sử dụng trong mạch đều là linh kiện dán trừ các hàng rào, domino, cổng an-ten
của module sim800 và module DHT22.
Các bước tiến hành hàn và kiểm tra mạch:
 Bước 1: Hàn IC nguồn và các tụ, cuộn cảm, diode, cầu chì vào mạch trước. Tiến hành kiểm
tra thông mạch rồi sau đó cấp nguồn. Kiểm tra các đèn led nguồn và tiến hành đo áp không tải
 Bước 2: Hàn chip STM32F103C8T6/module ESP32-WROOM-32 vào mạch và các nút reset,
thạch anh, điện trở, tụ gốm lộc nguồn vào mạch. Tiến hành kiểm tra thông mạch, nếu mạch
không bị chạm thì tiến hành cấp nguồn, nạp code vào để kiểm tra xem chip/module có hoạt
động không, nếu có lỗi thì khắc phục ngay.
 Bước 3: Sau khi nguồn và module điều khiển trung tâm hoạt động ổn định, ta tiếp tục hàn
module sim800C và module LoRa vào, kiểm tra thông mạch, nạp code mẫu kiểm tra hoạt động
của module. Dùng code mẫu cho module sim800C giao tiếp với server xem có hoạt động
không. Sau đó đến kiểm tra truyền nhận giữa các module LoRa xem có ổn định không.
 Bước 4: Hàn IC SP3485 vào mạch, kiểm tra thông mạch. Sau khi kiểm tra xong, nếu không
có lỗi ta tiến hành đọc cảm biến lấy dữ liệu về xem hệ thống có lỗi gì không để sửa chữa ngay.
 Bước 5: Hàn module DHT22 và gắn LCD vào mạch, tiến hành kiểm tra ngắn mạch rồi nạp
code mẫu kiểm tra hoạt động của hai module mới được thêm vào và sửa lỗi nếu có.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50


Chương 4: THI CÔNG HỆ THỐNG

 Bước 6: Sau khi đã chắc chắn các module hoạt động bình thường, ta tiến hành nạp code hệ
thống vào mạch, kiểm tra lỗi và sửa lỗi nếu có phát sinh.
4.3 Đóng gói và thi công mô hình

Hình 4.7 Bộ điều khiển của trạm trung tâm

Hình 4.8 Mạch điều khiển của trạm trung tâm


BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51
Chương 4: THI CÔNG HỆ THỐNG

Hình 4.9 Tủ điều khiển trạm thu thập dữ liệu nước


4.4 Thiết kế website hiển thị và điều khiển
Để có thể điều khiển cũng như giám sát số liệu đo đạt của nước nuôi trồng thuỷ sản, nhóm đã
xây dựng một trang web để hiển thị các thông số nước và đồng thời có chức năng điều khiển
động cơ dùng cho việc nuôi trồng thuỷ sản.
 Đầu tiên khi vào trang web, người dùng phải đăng nhận vào:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.10 Giao diện đăng nhập vào trang web quản lý
 Sau đó, người dùng sẽ nhìn thấy giao diện trang chủ của web.

Hình 4.11 Giao diện trang chủ của web


Ở giao diện này, người dùng sẽ thấy một bản đồ của khu vực bố trí trạm đo. Bên tay trái là một
menu với các chức năng như:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53


Chương 4: THI CÔNG HỆ THỐNG

 Hệ thống: Có chức năng thiết lập các thông số giới hạn trên và giới hạn dưới của nước. Ví
dụ nồng độ pH cao nhất và thấp nhất cho phép là từ 7 đến 9, độ mặn nằm trong khoảng từ
5/00 tới 35/00.

Hình 4.12 Thiết lập thông số cảnh báo của nước


 Bảo mật: Có chưc năng khai báo thông tin người sử dụng và thay đổi mật khẩu.

Hình 4.13 Giao diện khai báo thông tin người dùng
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54
Chương 4: THI CÔNG HỆ THỐNG

Hình 4.14 Giao diện thay đổi mật khẩu người dùng
 Chức năng – nghiệp vụ: Có chức năng giám sát các thông số của nước là điều khiển động cơ

Hình 4.15 Giao diện thêm thông tin của các trạm được lắp mới

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.16 Giao diện giám sát thông số và điều khiển động cơ

Hình 4.17 Giao diện thiết lập thời gian tự động cho ăn
 Báo cáo – thống kê: Có chức năng thống kê các số liệu thu thập được dưới dạng biểu đồ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56


Chương 4: THI CÔNG HỆ THỐNG

4.5 Lưu đồ giải thuật


4.5.1 Lưu đồ giải thuật của trạm điều khiển trung tâm
Theo yêu cầu của đề tài, ta phải tiến hành giao tiếp giữa module ESP32 với các cảm biến, module
LoRa để nhận tín hiệu trả về từ các trạm thu thập dữ liệu nước cũng như điều khiển hoạt động của
trạm điều khiển động cơ, đo nhiệt độ độ ẩm không khí xung quanh, xuất số liệu ra màn hình LCD,
đồng thời giao tiếp với server thông qua module sim800C.
 Lưu đồ chương trình chính:

S S S S
Bắt đầu Thời gian hiện Thời gian hiện Thời gian hiện Thời gian hiện
tại lớn hơn thời gian tại lớn hơn thời gian tại lớn hơn thời gian tại lớn hơn thời gian
ban đầu 1 ban đầu 2 ban đầu 3 ban đầu 4

Đ Đ Đ Đ
Khai báo các port IO,
các biến có trong Gửi yêu cầu và nhận
chương trình Truyền nhận Nhận dữ liệu từ cảm Gửi yêu cầu và gửi
lệnh điều khiển từ
Node 1 biến PH, mặN dữ liệu lên server
server

Khởi tạo modul


Sim Truyền nhận Nhận dữ liệu từ cảm Thời gian ban đầu 4 =
Điều khiển Node 1
Node 2 biến DHT22 Thời gian hiện tại +10

Khởi tạo LoRa Thời gian ban đầu 1


Điều khiển Node
= Thời gian hiện tại Hiển thị lên LCD
2
+20000

Thời gian ban đầu =


0 Thời gian ban đầu 2 Thời gian ban đầu 3
= Thời gian hiện tại = Thời gian hiện tại
+10000 +10

Hình 4.18 Lưu đồ giải thuật chương trình chính

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57


Chương 4: THI CÔNG HỆ THỐNG

 Lưu đồ khởi tạo module sim800C:

Khởi tạo modul Sim Đăng kí mạng

S
Kiểm tra hoạt S
động sim Kiểm tra đăng kí
mạng
Đ
Chế độ phản hồi dữ liệu Đ
truyền đến
Kết thúc

Hình 4.19 Lưu đồ khởi tạo module sim800C


 Lưu đồ khởi tạo module LoRa Ra-02:

Khởi tạo LoRa

Cài đặt tần số hoạt động Cài đặt


433Mhz Tỷ lệ mã hóa lỗi

Đồng bộ hóa máy thu


Cài đặt tốc độ truyền với luồng dữ liệu đến

Cài đặt băng thông Cài đặt


250BW Mã đồng bộ dữ liệu

Cài đặt hệ số lan truyền Kết thúc

Hình 4.20 Lưu đồ khởi tạo module LoRa Ra-02

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58


Chương 4: THI CÔNG HỆ THỐNG

Lưu đồ truyền nhận dữ liệu LoRa:

Truyền nhận Lora

Lỗi bằng không

s
Lỗi bé hơn 5

Đ
Gửi dữ liệu yêu cầu lấy thông số
cảm biến từ các Node

Nhận được dữ liệu Lỗi tăng 1


s
Đ

Kết thúc

Hình 4.21 Lưu đồ truyền nhận dữ liệu LoRa


 Lưu đồ đọc cảm biến độ mặn và độ pH:

Nhận dữ liệu từ
cảm biến độ PH, độ mặn Truyền UART mã đọc cảm
biến độ pH

Truyền UART mã đọc cảm biến


độ mặn Đọc giá trị cảm biến độ pH
trả về

Đọc giá trị cảm biến độ mặn trả


về Kết thúc

Hình 4.22 Lưu đồ chương trình đọc cảm biến độ mặn và độ pH

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59


Chương 4: THI CÔNG HỆ THỐNG

 Lưu đồ đọc cảm biến DHT22:

Đọc cảm biến DHT22

Kiểm tra số byte dữ S


Delay 1 giây
Kích xung bắt đầu liệu cảm biến trả về
chuyển đổi nhiệt độ
Đ

Hiển thị nhiệt độ, độ


Đợi tín hiệu từ cảm Kết thúc
ẩm
biến

Lưu giá trị nhiệt độ, độ ẩm vào


các biến

Hình 4.23 Lưu đồ chương trình đọc cảm biến DHT22


 Lưu đồ chương trình gửi dữ liệu lên server:

Gửi yêu cầu và nhận lệnh


điều khiển từ server

Cài đặt đưa tin cho các ứng Nhập tham số gửi lệnh lên HTTP Cài đặt phương thức POST dữ liệu.
dụng dựa trên ip

Nhập tham số gửi lệnh lên HTTP Hết thúc HTTP


Cài đặt mạng di động

Gửi yêu cầu lên HTTP Kết thúc


Cài đặt thông tin mạng

Gửi dữ liệu của cảm biến đã thu thập


Khởi tạo HTTP từ các trạm gửi lên server

Hình 4.24 Lưu đồ chương trình gửi dữ liệu lên server

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60


Chương 4: THI CÔNG HỆ THỐNG

 Lưu đồ chương trình nhận lệnh điều khiển từ server:

Gửi yêu cầu và nhận lệnh


điều khiển từ server Nhập tham số gửi lệnh lên HTTP Cài đặt phương thức POST dữ liệu.

Cài đặt đưa tin cho các ứng


dụng dựa trên ip Nhập tham số gửi lệnh lên HTTP Hết thúc HTTP

Cài đặt mạng di động Gửi yêu cầu lên HTTP Kết thúc

Gửi dữ liệu trạm yêu cầu nhận lệnh


Khởi tạo HTTP điều khiển

Hình 4.25 Lưu đồ chương trình nhận lệnh điều khiển từ server
4.5.2 Lưu đồ giải thuật của trạm thu thập dữ liệu nước và trạm điều khiển động cơ
 Lưu đồ chương trình chính:
Bắt đầu

Khai báo các port IO,


ADC, các biến có
trong chương trình

Khởi tạo LoRa S


Thời gian hiện tại lớn
hơn thời gian ban đầu

Đo lượng pin Đ
Nhận dữ liệu từ cảm
biến PH, mặn
Nhận dữ liệu từ cảm
biến DHT22
Thời ban đầu = thời
gian hiện tại + 10000

Hình 4.26 Lưu đồ chương trình chính trạm thu thập dữ liệu nước

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61


Chương 4: THI CÔNG HỆ THỐNG

 Lưu đồ chương trình ngắt khi có tín hiệu LoRa yêu cầu từ trạm điều khiển trung tâm:

Hàm ngắt ngoài


truyền nhận LoRa

Kiểm tra dữ liệu s


nhận

Kiểm tra ID s
GateWay

Đ
s s
Kiểm tra ID cảm Kiểm tra ID điều
biến khiển

Đ Đ

Gửi dữ liệu Cảm biến s s s


mặn, Ph bằng LoRa Kiểm tra ID máy Kiểm tra ID máy Kiểm tra ID máy
bơm sục oxy cho ăn

Đ Đ Đ

Bật máy bơm Bật sục oxy Bật máy cho ăn

Gửi dữ liệu báo đã


bật hoặc tắt hệ thống

Kết thúc

Hình 4.27 Lưu đồ chương trình ngắt khi có lệnh từ LoRa của trạm trung tâm

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62


Chương 4: THI CÔNG HỆ THỐNG

4.6 Giới thiệu các phần mềm đã dùng


4.6.1 Giới thiệu về phần mềm Visual Studio Code
Visual Studio Code là một trình biên tập mã được phát triển bởi Microsoft dành
cho Windows, Linux và macOS. Nó hỗ trợ chức năng debug, đi kèm với Git, có syntax
highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn. Nó cũng cho phép tùy
chỉnh, do đó, người dùng có thể thay đổi phong nền, phím tắt, và cá tùy chọn khác. Nó miễn phí
và là phần mềm mã nguồn mở, mặc dù gói tải xuống chính thì là có giấy phép.
Visual Studio Code được công bố, ra mắt phiên bản thử nghiệm vào ngày 29 tháng 4 năm 2015
bởi Microsoft tại hội nghị Build 2015.
Vào ngày 18 tháng 11 năm 2015, Visual Studio Code được phát hành dưới giấy phép MIT và
mã nguồn của nó được đưa lên GitHub. Chức năng Extesion (tiện ích mở rộng) cũng được công
bố.
Vào ngày 14 tháng 4 năm 2016 Visual Studio Code hoàn tất thử nghiệm và được phát hành
chính thức.

Hình 4.28 Giao diện soạn thảo code Visual Studio Code

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63


Chương 4: THI CÔNG HỆ THỐNG

4.6.2 Giới thiệu về phần mềm Keil C và CubeMX


Phần mềm dùng để lập trình cho module stm32f103c8t6 gồm có 2 phần mềm là phần mềm thiết
lập cấu hình các port IO STM32CubeMX và phần mềm lập trình Keil uVision5.
 Keil c uvision 5 là một phần mềm hỗ trợ cho người dùng trong việc lập trình cho vi điều khiển
các dòng khác nhau (Atmel, AVR, ...). Keil C giúp người dùng soạn thảo và biên dịch chương
trình C hay cả ASM thành ngôn ngữ máy để nạp vào vi điều khiển giúp chúng ta tương tác
giữa vi điều khiển và người lập trình. Phần mềm Keil C có biểu tượng và giao diện như sau:

Hình 4.29 Biểu tượng của phần mềm Keil C khi khở động

Hình 4.30 Giao diện lập trình của phần mềm Keil C uVision5

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64


Chương 4: THI CÔNG HỆ THỐNG

 STM32CubeMX là phần mềm được phát triển bởi hãng ST có khả năng cấu hình các port IO
cho vi điều khiển STM32 thông qua việc click chuột chọn các pin, các port trên giao diện mà
phần mềm đã hỗ trợ. Ở đó chúng ta có thể cấu hình cho các chân khá dễ dàng, tính toán các
thông số thời gian của timer, lựa chọn các chuẩn giao tiếp theo yêu cầu, cấu hình các
Middlewares như FATS, FREERTOS, … Giao diện của phần mềm như sau:

Hình 4.31 Giao diện khởi động của STM32CubeMX

Hình 4.32 Khai báo IO cho chip STM32 dùng STM32CubeMX

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.33 Giao diện điều chỉnh các thông số cấu hình cho các ngoại vi
Sau khi đã cấu hình đầy đủ các thông số cần thiết, ta tiến hành sinh code. Lúc này chương trình
sẽ tạo ra file Keil C và các file hỗ trợ khác để chúng ta có thể chuyển qua phần mềm Keil C và
tiến hành viết chương trình điều khiển cho chip.
4.6.3 Giới thiệu về phần mềm Microsoft SQL
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft.
Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có chức năng chính là lưu trữ và
truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác. Có thể chạy trên cùng một máy
tính hoặc trên một máy tính khác trên mạng (bao gồm cả Internet).
Microsoft tiếp thị rất nhiều phiên bản Microsoft SQL Server khác nhau, nhắm vào các đối tượng
khác nhau và cho khối lượng công việc khác nhau, từ các ứng dụng máy đơn nhỏ đến các ứng
dụng Internet lớn có nhiều người dùng đồng thời.

Hình 4.34 Biểu tượng phần mềm Microsoft SQL Server

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.35 Màn hình làm việc của phần mềm Microsoft SQL Server
4.6.4 Giới thiệu về các ngôn ngữ web
4.6.4.1 Giới thiệu về ngôn ngữ HTML
HTML (tiếng Anh, viết tắt cho HyperText Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu
văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông
tin được trình bày trên World Wide Web. Cùng với CSS và JavaScript, HTML tạo ra bộ ba nền
tảng kỹ thuật cho World Wide Web. HTML được định nghĩa như là một ứng dụng đơn giản của
SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp. HTML đã trở
thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì. Phiên bản
chính thức mới nhất của HTML là HTML 4.01 (1999). Sau đó, các nhà phát triển đã thay thế nó
bằng XHTML. Hiện nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang
lại diện mạo mới cho Web.
Hypertext là cách mà các trang Web (các tài liệu HTML) được kết nối với nhau. Và như thế,
đường link có trên trang Web được gọi là Hypertext. Như tên gọi đã gợi ý, HTML là ngôn ngữ
đánh dấu bằng thẻ (Markup Language), nghĩa là bạn sử dụng HTML để đánh dấu một tài liệu text
bằng các thẻ (tag) để nói cho trình duyệt Web cách để cấu trúc đó hiển thị ra màn hình.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.36 Một đoạn code HTML mẫu


4.6.4.2 Giới thiệu về ngôn ngữ CSS
Ngôn ngữ CSS là gọi tắt của cụm từ “Cascading Style Sheets”, tạm dịch theo tiếng Anh là “Tập
tin định nghĩa theo tầng”. Trong tin học, CSS được dùng để miêu tả cách trình bày các tài liệu viết
bằng ngôn ngữ HTML hoặc ngôn ngữ XHTML. Các đặc điểm kỹ thuật của CSS được duy trì bởi
World Wide Web Consortium (W3C). Thay vì đặt các thẻ quy định kiểu dáng cho văn bản HTML
(hoặc XHTML) ngay trong nội dung của nó, bạn nên sử dụng CSS.
Các tác dụng của CSS:
 Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các thẻ quy định kiểu dáng (chữ
đậm, chữ in nghiêng, chữ có gạch chân, chữ màu), khiến mã nguồn của trang Web được gọn
gàng hơn, tách nội dung của trang Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội
dung.
 Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh phải lặp lại việc định
dạng cho các trang Web giống nhau.
Có 3 cách để sử dụng CSS.
 "Inline CSS": Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính style:

<span style="font-weight:bold; text-decoration:underline; color:#FF0000;">Đoạn


text cần in đậm, gạch chân, màu đỏ</span>

 "Internal CSS": Đặt CSS ở đầu trang Web để áp dụng kiểu dáng cho toàn bộ trang ấy, khi đó
chỉ cần đặt đoạn CSS vào trong cặp thẻ <style> rồi đặt vào trong phần header của Web (giữa
<head> và </head>):

<style type="text/css">
body {font-family:verdana; color:#0000FF;} /* Kiểu chữ trong trang Web là
"Verdana", màu chữ thông thường là màu xanh dương */
</style>

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68


Chương 4: THI CÔNG HỆ THỐNG

 "External CSS": Đặt các thuộc tính CSS vào một tệp tin riêng biệt (*.css), khi đó có thể tham
chiếu đến từ nhiều trang Web khác nhau:
 Ví dụ về nội dung tệp style.css:

body {font-family:verdana; color:#0000FF;}

 Tham chiếu tới tệp tin CSS trên từ trang Web bằng đoạn mã (mã có thể nằm ngoài thẻ
<head>):

<link rel="stylesheet" type="text/css" href="style.css"/>

4.6.4.3 Giới thiệu về ngôn ngữ C# .net


C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) là một ngôn ngữ lập trình hướng đối tượng được
phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET (DotNet) của họ. Tên của ngôn ngữ
bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường.
Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng
giữa C++, Visual Basic, Delphi và Java.
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản
phẩm Turbo Pascal, Delphi, J++. Phiên bản gần đây nhất là 8.0, được phát hành vào năm 2019
cùng với Visual Studio 2019 phiên bản 16.3.

Hình 4.37 Biểu tượng ngôn ngữ C# .NET của Microsoft

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69


Chương 4: THI CÔNG HỆ THỐNG

Hình 4.38 Phần mềm Visual Studio 2019 phiên bản 16.3
Tiêu chuẩn ECMA liệt kê các mục tiêu của việc thiết kế ngôn ngữ C#:
 Ngôn ngữ được dự định là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đến nhiều mục
đích sử dụng, và là một ngôn ngữ lập trình hướng đối tượng.
 Ngôn ngữ và việc triển khai đáp ứng các nguyên tắc của ngành kỹ thuật phần mềm như kiểm
tra chặt chẽ kiểu dữ liệu, kiểm tra giới hạn mảng, phát hiện các trường hợp sử dụng các biến
chưa có dữ liệu, và tự động thu gom rác. Tính mạnh mẽ, sự bền bỉ, và năng suất của việc lập
trình là rất quan trọng đối với ngôn ngữ này.
 Ngôn ngữ sẽ được sử dụng để phát triển các thành phần của phần mềm theo hướng thích hợp
cho việc triển khai trong các môi trường phân tán.
 Khả năng di chuyển (portability) là rất quan trọng, đặc biệt là đối với những lập trình viên đã
quen với C và C++.
 Hỗ trợ quốc tế hóa.
 Ngôn ngữ sẽ được thiết kế để phù hợp với việc viết các ứng dụng cho cả hai hệ thống: hosted
và nhúng, từ các phần mềm quy mô lớn, đến các phần mềm chỉ có các chức năng đơn giản.
Mặc dù các ứng dụng C# có tính kinh tế đối với các yêu cầu về bộ nhớ và chế độ xử lý, ngôn
ngữ này không cạnh tranh trực tiếp về hiệu năng và kích thước đối với ngôn
ngữ C hoặc assembly.
4.7 Viết tài liệu hướng dẫn sử dụng, thao tác
 Bước 1: Kiểm tra thẻ sim (tài khoảng, dung lượng data truy cập internet, sóng, …), lắp sim
vào mạch.
 Bước 2: Cấp nguồn cho toàn bộ hệ thống. Hệ thống được nuôi bằng ắc quy 12VDC – 20Ah
được nạp sạc bằng pin mặt trời có công suất 50W.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70


Chương 4: THI CÔNG HỆ THỐNG

 Bước 3: Thả các cảm biến vào nước và chờ vài phút.
 Bước 4: Quan sát các chỉ số nước được cập nhật và hiển thị lên LCD.
 Bước 5: Lên trang web của hệ thống và đăng nhập tài khoảng.
 Bước 6: Để vào giao diện xem các thông số ở các trạm, ta chọn CHỨC NĂNG – NGHIỆP
VỤ -> Giám sát điều khiển -> Chọn thẻ có tên trạm “Trạm Long An”, hệ thống sẽ cho ta
thấy các trạm quan trắc nhỏ mà trạm trung tâm đang quản lý. Có thể điều khiển 3 loại máy –
động cơ điện điển hình có ở ao nuôi thuỷ sản như máy xục oxy, máy bơm nước, máy cho ăn
bằng 3 công tắc hiển thị bên dưới tên trạm.
 Bước 7: Để thiết lập thông số cảnh báo, ta vào HỆ THỐNG -> Thông số cảnh báo -> tiến hành
tuỳ chỉnh các thông số theo yêu cầu -> nhấn “Cập nhật thông số cảnh báo”.
 Bước 8: Để thiết lập thời gian cho ăn hoặc thời gian bơm nước, ta vào CHỨC NĂNG –
NGHIỆP VỤ -> Thời gian cho ăn -> nhấn chọn sửa -> thiết lập thời gian -> nhấn “xác nhận”.
 Bước 9: Để xem thống kê dữ liệu quan trắc, ta vào BÁO CÁO – THỐNG KÊ -> Thống kê dữ
liệu quan trắc -> Chọn trạm cần xem, chọn ngày bắt đầu, ngày kết thúc, nhấn “xem dữ liệu” ta
sẽ thấy dữ liệu quan trắc dưới dạng biểu đồ cột. Ta có thể nhấn vào nút “chi tiết” ở mỗi biểu
đồ để xem cụ thể diễn biến thay đổi của các thông số qua từng ngày và có thể xuất ra file excel.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71


Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ


5.1 Kết quả đạt được
Với những nổ lực nghiên cứu, thiết kế và thi công mô hình hệ thống trong nhiều tháng, nhóm
đã đạt được những kết quả như sau:
 Các thông số đo đạt được:
 Nhiệt độ của nước (sai số 0.5C theo nhà sản xuất).
 Nồng độ pH của nước (sai số ±1% theo nhà sản xuất).
 Nồng độ chất rắn hoà tan trong nước TDS (đơn vị mg/l).
 Độ dẫn điện của nước EC (electro-conductivity) (đơn vị S/cm).
 Độ mặn của nước (sai số ±2% theo nhà sản xuất, đơn vị 0/00).
 Bộ điều khiển trung tâm gồm mạch điện và các cảm biến.

Hình 5.1 Bộ điều khiển trạm trung tâm

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72


Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

 Mô hình phao nổi của trạm.

Hình 5.2 Mô hình phao nổi của trạm nhìn từ trên

Hình 5.3 Mô hình phao nổi của trạm nhìn từ măt bên

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73


Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

 Các thành phần trong tủ điều khiển bao gồm mạch điều khiển, ắc quy, bảng điệu và bộ chuyển
đổi năng lượng mặt trời sạc cho ắc quy.

Hình 5.4 Các thành phần bên trong tủ điều khiển


 Bộ điều khiển các động cơ và động cơ bơm nước (tượng trưng).

Hình 5.5 Bộ điều khiển động cơ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 74


Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

 Cách thức hoạt động của hệ thống:


 Màn hình LCD đặt ở trạm trung tâm (GATEWAY) sẽ hiển thị số liệu đo đạc được ở tại trạm
đó và các trạm con (NODE) theo thời gian được thiết lập trước.

Hình 5.6 LCD hiển thị số liệu đo đạt của NODE

Hình 5.7 LCD hiển thị số liệu đo đạt ở GATEWAY


 Các thông số nước đo đạt được hiển thị trên màn hình gồm có:
 Gateway (Node): Tên trạm đo.
 pH: nồng độ pH trong nước.
 Temp - Hum: Nhiệt độ và độ ẩm của môi trường đặt trạm đo.
 CON: độ dẫn điện của nước.
 TDS: nồng độ chất rắn hoà tan trong nước.
 Sa: độ mặn của nước.
 Temp: nhiệt độ của nước.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 75
Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

 Khi có sự thay đổi môi trường nước với các số liệu đo được vượt mức quy định, hệ thống sẽ
gửi về cảnh báo thông qua e-mail và tin nhắn tới điện thoại người dùng.

Hình 5.8 Tin cảnh báo được gửi thông qua e-mail

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 76


Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

Hình 5.9 Tin nhắn cảnh báo được gửi thông qua hệ thống tin nhắn di động

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 77


Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

 Các thông số đo đạt được gửi về server thông qua sóng GPRS của module sim800C và được
cập nhật hiển thị ra giao diện website hệ thống như hình bên dưới.

Hình 5.10 Các thông số được hiển thị trên website hệ thống
5.2 Nhận xét và đánh giá
Với những nổ lực tích cực của nhóm trong nhiều tháng thì cũng đã hoàn thiện được sản phẩm
theo yêu cầu đặt ra của đề tài là giám sát chất lượng nước nuôi trồng thuỷ sản, cập nhật các thông
số lên website và cảnh báo cho người dùng nếu có sự cố xảy ra như việc vượt mức giới hạn đối
với các thông số tiêu chuẩn của nước dành cho từng loại thuỷ sản cụ thể. Hệ thống cho phép người
nuôi thiết lập giới hạn trên và giới hạn dưới cho từng thông số nước cụ thể, tạo điều kiện thuận
lợi cho việc áp dụng rộng rãi cho các loại thuỷ sản khác nhau với những đặc điểm môi trường
nước khác nhau.
Trong quá trình chạy thử nghiệm vẫn có nhiều lỗi phát sinh và đã được nhóm nghiên cứu khắc
phục theo từng trường hợp. Hiện tại sản phẩm đã hoạt động tương đối ổn định.
Kết quả đo đạt có xảy ra sai số nhất định. Các sai số dao động quanh ngưỡng cho phép của nhà
sản xuất và tầm ảnh hưởng đến sức khoẻ của các loài thuỷ sản là không đáng kể nên có thể chấp
nhận được.
Sản phẩm hoạt động tốt ở những vùng có phủ sóng điện thoại di động và sóng GPRS.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 78


Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


6.1 Kết luận
Với những kết đạt được trong quá trình nghiên cứu và thi công của nhóm như được trình bày ở
trên, mô hình sản phẩm đã đạt những ưu điểm cơ bản như:
 Có khả năng cập nhật các thông số môi trường nước nhanh chóng và chính xác, thuận tiện cho
người dùng giám sát từ xa.
 Mô hình có hai chế độ khi điều khiển các động cơ là điều khiển tự động theo thời gian thiết
lập trước trên website hoặc điều khiển trực tiếp bằng các nút nhấn hiển thị trên website.
 Hệ thống có khả năng thống kê dữ liệu thu thập được dưới dạng biểu đồ và có thể xuất ra file
excel nếu người dùng có nhu cầu.
 Hệ thống có thể cảnh báo đến người dùng thông qua e-mail và tin nhắn nếu như có hiện tượng
các thông số của nước vượt ngưỡng cho phép như đã thiết lập trên website.
 Hệ thống dùng nguồn nuôi là năng lượng mặt trời, năng lượng tái tạo thân thiện với môi trường
và giúp tiết kiệm cho người dùng cũng như hạn chế việc truyền nối dây điện gây mất an toàn.
Tuy nhiên, mặc hạn chế của sản phẩm cũng đã được nhóm tìm thấy trong quá trình cho sản
phẩm hoạt động thử nghiệm như:
 Tính thẩm mỹ chưa cao trong việc xây dựng mô hình sản phẩm.
 Thiếu các cảm biến đo nồng độ NH3, NO2, nồng độ oxi hoà tan và các loại ion trong nước như
Kali, Natri, Magie, …
 Sản phẩm sẽ không hoạt động được nếu lắp đặt ở môi trường không được phủ sóng di động
hoặc sóng di động chập chờn. Điều này ảnh hưởng rất lớn đến độ trễ trong quá trình điều khiển
động cơ cũng như thông số nước được cập nhật, gây ra nguy hiểm cho thuỷ sản được nuôi.
 Độ trễ tín hiệu điều khiển cao do quá trình truyền dữ liệu về server dùng module sim800C với
tập lệnh AT gây ra.
 Thiếu sự chuyển đổi giữa việc dùng mạng GPRS và mạng wifi để làm đường truyền nhận dữ
liệu giữa server và trạm đo.
 Chưa thiết kế được app mobile cho người dùng được thuận tiện hơn, nên mỗi khi muốn xem
thông số, người dùng phải lên website bằng trình duyệt web.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 79


Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.2 Hướng phát triển


Với những thành quả đạt được cũng như những hạn chế đã nêu ở trên, nhóm xin đề xuất một
số hướng phát triển mở rộng hơn cho đề tài như sau:
 Trong mạch điều khiển trung tâm có sử dụng module wifi ESP32 nên chúng ta có thể cho hệ
thống tự động lựa chọn giữa sử dụng wifi có sẵn hoặc sử dụng GPRS của module sim800C.Và
việc sử dụng wifi sẽ đc ưu tiên hàng đầu.
 Phát triển thêm app mobile trên các nền tảng di động thuộc hệ điều hành Androi và IOS để
ứng dụng được thân thiện hơn với người dùng.
 Khắc phục việc tín hiệu trễ do sử dụng tập lệnh AT của module sim800C bằng cách sử dụng
các module sim khác trên thị trường như module UC-20 dùng sóng 3G hoặc module EC-25
dùng sóng 4G.
 Có thể thêm chức năng gọi cảnh báo cho người dùng để có thể kịp thời phát hiện sự bất ổn của
môi trường nước nuôi để có những biện pháp khắc phục kịp thời.
 Tăng cường thêm các loại cảm biến chuyên dụng về thông số nước như cảm biến nồng độ
NH3, NO2, nồng độ oxi trong nước, …
 Nghiên cứu thiết kế lại mô hình cơ khí để nó tăng tính thẩm mỹ được cao hơn.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 80


TÀI LIỆU THAM KHẢO

TÀI LIỆU THAM KHẢO


 Các sách tham khảo:
[1] PGS.TS Trần Thu Hà - ThS. Trương Thị Bích Ngà - TS. Nguyễn Thị Lưỡng - ThS. Bùi
Thị Tuyết Đan - ThS. Phù Thị Ngọc Hiếu - ThS. Dương Thị Cẩm Tú, Giáo trình Điện tử cơ bản,
NXB Đại Học Quốc Gia Tp.HCM, 2013.
[2] Nguyễn Đình Phú, Giáo trình Thực tập Vi điều khiển, Trường Đại Học Sư Phạm Kỹ Thuật
Tp. HCM.
[3] Lê Trọng Hoàn – Võ Đình Luân, Hệ thống giám sát nhiệt độ, độ ẩm, cường độ gió, cường
độ sáng qua sms dùng nguồn pin và sạc bằng năng lượng mặt trời, Đồ án tốt nghiệp, Trường Đại
Học Sư Phạm Kỹ Thuật Tp. HCM, 2019.
[4] Nguyễn Đình Phú, Giáo trình Vi điều khiển, Trường Đại Học Sư Phạm Kỹ Thuật Tp. HCM.
 Các tài liệu tham khảo qua mạng Internet:
[1] Datasheet cảm biến mặn và pH, công ty Nengshi, http://www.nengshi.com/en/
proslist.aspx?classid=38&id=54.

[2] Thông số và cách thức hoạt động của ắc quy, Công ty TNHH Đầu tư Phát triển Phúc Long,
http://phuclongidco.vn/tin-tuc/so-tay-ky-thuat-ac-quy-troy-21.

[3] Cách thức giao tiếp với module ESP32 cơ bản bằng Adruino IDE, trang web TAPIT.VN,
https://tapit.vn/huong-dan-cai-dat-arduino-ide-de-lap-trinh-cho-esp32/.

[4] Cách thức giao tiếp với module STM32F103C8T6 cơ bản bằng CubeMX và Keil C, trang
web controllerstech.vn, https://controllerstech.com/stm32/.
[5] Datasheet của các module và IC dùng trong hệ thống, https://www.alldatasheet.com/.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 81


TÀI LIỆU THAM KHẢO

PHỤ LỤC
Chương trình điều khiển:
#include <Arduino.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include <SPI.h>
#include <LoRa.h>
#include <AT_command.h>
#include <string.h>
#include <Wire.h>
#include<LiquidCrystal_I2C.h>
#include<DHT.h>
/* ---------define pin----------- */
#define nss_lora 5
#define rst_lora 14
#define dio0_lora 2
#define mobus_signal 4
#define DHTPIN 15
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float Huminity_DHT;
float Temperature_DHT;
int st1 = 0;
int st2 = 0;
int st3 = 0;
int st4 = 0;
byte Mobus_data_1[100];
byte Mobus_data_2[100];
LiquidCrystal_I2C lcd(0x3F,20,4);
struct Mobus{
int CON_value;
int int_CON_value;
int float_CON_value;

int TDS_value;
int int_TDS_value;
int float_TDS_value;

int Sanility_value;
int int_Sanility_value;
int float_Sanility_value;

int Temp_value;
int int_Temp_value;
int float_Temp_value;

int pH_value;
int int_pH_value;
int float_pH_value;
};
/* ---------declare function---- */
void sendMessage(char *cmd);
int onReceive(uint8_t *frame, int size );
void Proces_LoRa(const char *cmd, uint8_t *frame_recive, int Recieved_size );

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 82


TÀI LIỆU THAM KHẢO

void Mobus_Sensor();
int onReceive(uint8_t *frame, int size );
void Data_modbus();
int Get_int_json(int *des, char * json,const char *key);
int Json_Get_string(char *des,char *src,const char *key);
void Init_LCD();
void Init_LoRa();
uint8_t node_1[256] ;
uint8_t node_2[256] ;
uint8_t ctrl_frame[256] ;
char data[1024] ="" ;
char Data_server_get[1024] ="" ;
char Data_server_post[1024] ="" ;
char Control_Data[50] = "";
SoftwareSerial MySerial(13, 14);
char s[50];
Mobus Sensor ;
/* --------------------------------------------MAIN--------------------------------
------- */
void setup() {
Init_LCD();
Serial.begin(115200);
MySerial.begin(9600);
pinMode(mobus_signal, OUTPUT);
AT_Port_Init();
Init_LoRa();
dht.begin();
st1 = st2 = st3=st4=0;
}
/*
______________________________________________________LOOP_________________________
________________________________________________________________________ */
void loop() {
if(millis()>st1){
Serial.println("Begin send and recieve Data from LoRa node ");
Proces_LoRa("GW_01|N_01",node_1,256);
delay(1000);
Proces_LoRa("GW_01|N_02",node_2,256);
st1 +=180000;
}
if(millis() > st2){
int loop =0;
while(loop <5){
Mobus_Sensor();
loop++;
}
Data_modbus();
Huminity_DHT = dht.readHumidity();
Temperature_DHT= dht.readTemperature();
Serial.print(Huminity_DHT);
Serial.print(Temperature_DHT);
lcd.clear();
lcd.setCursor(0,0);
lcd.printf("Temp:%0.2f Hum :%0.2f",Temperature_DHT,Huminity_DHT);
lcd.setCursor(0,1);

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 83


TÀI LIỆU THAM KHẢO

lcd.printf("CON: %d.%d TDS: %d.%d",


Sensor.int_CON_value,Sensor.float_CON_value,
Sensor.int_TDS_value,Sensor.float_CON_value);
lcd.setCursor(0,2);
lcd.printf("Sa: %d.%d Temp:
%d.%d",Sensor.int_Sanility_value,Sensor.float_Sanility_value,Sensor.int_Temp_value,
Sensor.float_Temp_value);
lcd.setCursor(0,3);
lcd.printf("pH: %d.%d",Sensor.int_pH_value,Sensor.float_pH_value);
st2 += 180000;
}
if(millis() > st3){
Serial.println("------------------------Begin Get Setting----------------------
-");

HTTP_POST_SER("http://quantracmoitruong.namlongtekgroup.com/api/Embedded/GetSetting
",Data_server_get);
int Pump_data =0;
int DO_data =0;
int TimeEat =0;
Get_int_json(&Pump_data,Data_server_get,"\"Pump_Motor\"");
Get_int_json(&DO_data,Data_server_get,"\"DO_Motor\"");
Get_int_json(&TimeEat,Data_server_get,"\"Time_Eat\"");

sprintf(Control_Data,"GW_01|N_03|Pump[%d]|DO[%d]|Time_Eat[%d]",Pump_data,DO_data,Ti
meEat);
Proces_LoRa(Control_Data,ctrl_frame,256);
st3 += 10;
}

if(millis() > st4){


Serial.println("___________________Begin Post Data to
Server________________");

HTTP_POST_SER_1("http://quantracmoitruong.namlongtekgroup.com/api/Embedded/InsertDa
ta",Data_server_post);
st2 += 300000;
}
}
/* ______________________________________________________END
LOOP_______________________________________________________________________________
__________________ */
/* ---------------------LORA-------------------------- */
void sendMessage(char *cmd){
LoRa.beginPacket();
LoRa.print(cmd);
LoRa.endPacket();
LoRa.sleep();
}
int onReceive(uint8_t *frame, int size ) {
if (LoRa.parsePacket()) {
int pointer =0;
while (LoRa.available()) {
frame[pointer] = (char)LoRa.read() ;
pointer++;
if(pointer == size){
frame[size] = '\n';

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 84


TÀI LIỆU THAM KHẢO

pointer = 0;
break;
}
}
return strlen((char *)frame);
}
return -1;
}
void Proces_LoRa(const char *cmd, uint8_t *frame_recive, int Recieved_size ){
int err =0;
sprintf(s,cmd);
while(err < 5){
sendMessage(s);
Serial.println("send: "+ (String)s);
int timeout = millis();
int dt = 0;
while (millis()-timeout <1000){
dt = onReceive(frame_recive,Recieved_size) ;
if (dt != -1) break;
}
if (dt == -1) err++;
else break;
}
Serial.println("Received packet: ");
Serial.println((char *)frame_recive);
}
void Mobus_Sensor(){
Serial.println("______________Begin Mobus____________");
digitalWrite(4,HIGH);
const byte Mobus_id_sa[]={0x04, 0x04, 0x00, 0x00, 0x00, 0x10, 0xF1, 0x93};
Serial.printf("write :%d\n",MySerial.write(Mobus_id_sa,sizeof(Mobus_id_sa)));
MySerial.flush();
digitalWrite(4,LOW);
Serial.printf("readBytes :%d\n", MySerial.readBytes(Mobus_data_1,100));
Serial.println("Data Recieve Salinity");
for(byte i = 0; i< 37; i++){
Serial.print(Mobus_data_1[i],HEX);
Serial.print(" ");
}
Serial.println("");
digitalWrite(4,HIGH);
const byte Mobus_id_pH[]={ 0x05,0x04,0x00,0x00,0x00,0x10,0x2A,0x2A};
Serial.printf("write :%d\n",MySerial.write(Mobus_id_pH,sizeof(Mobus_id_pH)));
MySerial.flush();
digitalWrite(4,LOW);
Serial.printf("readBytes :%d\n", MySerial.readBytes(Mobus_data_2,100));
Serial.println("Data Recieve pH");
for(byte i = 0; i< 37; i++){
Serial.print(Mobus_data_2[i],HEX);
Serial.print(" ");
}
Serial.println("");
Serial.println("______________End Mobus____________");
Serial.println("");
Data_modbus();
}

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 85


TÀI LIỆU THAM KHẢO

void Data_modbus(){
Sensor.CON_value = Mobus_data_1[3]*256 + Mobus_data_1[4] ;
Sensor.int_CON_value = Sensor.CON_value /100;
Sensor.float_CON_value = Sensor.CON_value %100;

Sensor.TDS_value = (Mobus_data_1[7]*256+Mobus_data_1[8]);
Sensor.int_TDS_value = Sensor.TDS_value/100;
Sensor.float_TDS_value = Sensor.TDS_value%100;

Sensor.Sanility_value = (Mobus_data_1[15]*256+Mobus_data_1[16]);
Sensor.int_Sanility_value = Sensor.Sanility_value/100;
Sensor.float_Sanility_value = Sensor.Sanility_value%100;

Sensor.Temp_value = (Mobus_data_1[19]*256+Mobus_data_1[20]);
Sensor.int_Temp_value = Sensor.Temp_value/10;
Sensor.float_Temp_value = Sensor.Temp_value%10;

Sensor.pH_value = (Mobus_data_2[3]*256+Mobus_data_2[4]);
Sensor.int_pH_value = Sensor.pH_value/100;
Sensor.float_pH_value = Sensor.pH_value%100;
sprintf(data,"CON: %d.%d, TDS: %d.%d, Sanility: %d.%d, Temp: %d.%d, pH:
%d.%d,",\
Sensor.int_CON_value,Sensor.float_CON_value,\
Sensor.int_TDS_value,Sensor.float_CON_value,\
Sensor.int_Sanility_value,Sensor.float_Sanility_value,\
Sensor.int_Temp_value,Sensor.float_Temp_value,\
Sensor.int_pH_value,Sensor.float_pH_value);
Serial.println(data);
}
int Json_Get_string(char *des,char *src,const char *key){
char key_tmp[100];
sprintf(key_tmp,"%s:",key);
char *start = strstr(src,key_tmp);
if(!start)
return -1;
int sizekey = strlen(key);
char *end1 =strstr(start,",");
char *end2 =strstr(start,"}");
char *end;
if(!end1){
end = end2;
}
else{
if((int)end1 <(int)end2)
end=end1;
else
end=end2;
}
if(*(start+sizekey+1)=='['){
end = strstr(start,"]");
}
int size=0;
size = (int)end - (int)start - sizekey -1;
if(*(start+sizekey+1)!='\"'){
if(*(start+sizekey+1)!='['){
memcpy(des,start+sizekey+1,size);
}

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 86


TÀI LIỆU THAM KHẢO

else{
memcpy(des,start+sizekey+2,size-1);
}
}
else{
size -=2;
memcpy(des,start+sizekey+2,size);
}
des[size]=0;
return 1;
}

int Get_int_json(int *des, char * json,const char *key){


char tmp[100];
if(Json_Get_string(tmp,json,key)>0){
*des = atoi(tmp);
return *des;
}
return -1;
}

void Init_LCD(){
Wire.begin(); // config pin LCD
lcd.begin();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Well Come To My PJ");
lcd.setCursor(0,1);
lcd.print("Please Wait To Init");
lcd.setCursor(0,2);
lcd.print("________***________");
}
void Init_LoRa(){
while (!Serial);
Serial.println("LoRa Sender");
LoRa.setPins(nss_lora, rst_lora, dio0_lora);
digitalWrite(rst_lora,0);

while (!LoRa.begin(433E6)) {
Serial.println("Connecting lora...");
delay(500);
}
LoRa.setTxPower(20);
LoRa.setSignalBandwidth(250E3);
LoRa.setSpreadingFactor(9);
LoRa.setCodingRate4(7);
LoRa.setPreambleLength(8);
LoRa.setSyncWord(0x12);
int a =0;
while(a != 18) a = LoRa.readRegister(0x42);
Serial.println("LoRa Initializing OK!");
Serial.println(a);
}

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 87

You might also like