GIỚI THIỆU CHUNG
Công nghệ LORA
1.1.1 Giới thiệu về công nghệ a) Khái niệm:
LORA là viết tắt của Long Range Radio được nghiên cứu và phát triển bởi
Cycleo, được Semtech mua lại vào năm 2012, đã phát triển công nghệ cho phép truyền dữ liệu ở khoảng cách lên đến hàng km mà không cần sử dụng mạch khuếch đại công suất Điều này không chỉ giúp tiết kiệm năng lượng trong quá trình truyền và nhận dữ liệu mà còn nâng cao hiệu quả hoạt động của hệ thống.
LORA sử dụng kỹ thuật Chirp Spread Spectrum để điều chế tín hiệu Nguyên lý này cho phép dữ liệu đượ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ố gốc Tín hiệu cao tần sau đó được mã hóa bằng các chuỗi chirp signal, bao gồm up-chirp với tần số tăng và down-chirp với tần số giảm Trong quá trình mã hóa, bit 1 sử dụng up-chirp, trong khi bit 0 sử dụng down-chirp trước khi được truyền ra anten.
Theo Semtech, nguyên lý này giảm độ phức tạp và nâng cao độ chính xác trong việc điều chế lại dữ liệu Băng tần hoạt động của LORA dao động từ 430MHz đến 915MHz, tùy thuộc vào từng khu vực trên thế giới.
The Spreading Factor (SF) determines the number of chirp signals used when encoding the frequency-modulated signal of data For instance, if the SF is set to 1, it indicates that one logic level of the chipped signal will be encoded.
12 xung chirp signal Giá trị cho SF càng lớn thì thời gian truyền dữ liệu sẽ lâu hơn nhưng khoảng cách truyền sẽ xa hơn.
Biên độ tần số (BW) xác định khả năng thay đổi của tín hiệu chirp Khi băng thông cao, thời gian mã hóa tín hiệu chirp sẽ ngắn hơn, dẫn đến thời gian truyền dữ liệu giảm Tuy nhiên, điều này cũng đồng nghĩa với việc khoảng cách truyền tín hiệu sẽ bị rút ngắn.
Tỷ lệ mã hóa (Coding Rate - CR) trong gói dữ liệu LORA là số lượng bit bổ sung vào Payload, giúp mạch nhận phục hồi dữ liệu bị sai Sử dụng CR cao sẽ tăng khả năng nhận dữ liệu chính xác, nhưng đồng thời cũng yêu cầu chip LORA gửi nhiều dữ liệu hơn, có thể làm tăng thời gian truyền.
LORAWan là một chuẩn giao tiếp được phát triển bởi tổ chức LORA Alliance, dựa trên công nghệ LORA Tại các khu vực khác nhau trên thế giới, thiết bị LORAWan cần được cấu hình để chip LORA hoạt động ở các dải tần cho phép như 433MHz và 915MHz.
Do đó trong 1 mạng LORAWan sẽ có 2 loại thiết bị:
Device node là các thiết bị cảm biến hoặc thiết bị giám sát được lắp đặt ở những vị trí làm việc xa xôi, nhằm thu thập và gửi dữ liệu về các thiết bị trung tâm.
Gateway là thiết bị trung tâm có chức năng thu thập dữ liệu từ các node thiết bị và gửi đến một server trung tâm để xử lý Các thiết bị Gateway thường được lắp đặt tại vị trí có nguồn điện và kết nối mạng như Wifi, LAN, hoặc GSM, nhằm đảm bảo khả năng truyền tải dữ liệu lên server một cách hiệu quả.
1.1.2 Ứng dụng công nghệ LORA trong nông nghiệp hiện nay
Tại Úc, Semtech vừa thông báo rằng họ đang hợp tác với một nhà mạng Úc,
Công ty National Narrowband Network Co (NNNCo) đang phát triển một mạng công khai dựa trên giao thức LORAWAN nhằm thúc đẩy các thiết bị và công nghệ LORA của Semtech, phục vụ cho việc xây dựng ứng dụng Internet of Things (IoT) Mạng lưới này sẽ được triển khai cùng với công ty nông nghiệp Goanna Ag tại Úc, với mục tiêu cung cấp giải pháp quản lý tưới tiêu thông minh hơn cho người trồng bông.
Hình 1.2 Ứng dụng công nghệ LORA trong trồng bông ở Úc.
Mạng lưới LORAWAN của NNNCo mở rộng diện tích gần ba triệu ha, bao phủ khu vực tưới Murrumbidgee, Lachlan, Gwydir MacIntyre, Namoi và Macquar Trong năm 2019, NNNCo sẽ tiếp tục phát triển mạng lưới này để kết nối các cảm biến và phân tích dữ liệu qua đám mây với chi phí thấp cho nông dân Mạng lưới sẽ tích hợp dữ liệu độ ẩm đất từ các đầu dò, dữ liệu thời tiết địa phương và hình ảnh vệ tinh nhằm tối ưu hóa lịch trình tưới.
Với sự khởi đầu của mùa bông mới, NNNCo và Goanna Ag sẽ triển khai 100 gateway đầu tiên tại New South Wales và Queensland, cùng với hơn 2.000 cảm biến trên các trang trại bông Các cảm biến LORA sẽ bao gồm đầu dò độ ẩm đất, đồng hồ đo mưa, trạm thời tiết, và máy theo dõi bình chứa nước và nhiên liệu.
Semtech đã phát triển giải pháp giám sát gia súc IoT bằng cách sử dụng thiết bị LORA và công nghệ tần số vô tuyến không dây Hệ thống này bao gồm trình theo dõi GPS và cảm biến sinh trắc học, giúp theo dõi sức khỏe của động vật và phát hiện khi chúng đi lạc khỏi khu vực được chỉ định.
Hình 1.3 Ứng dụng công nghệ LORA trong giám sát gia súc tại Úc.
Thiết bị LORA từ lar.tech được gắn trên tai bò, cho phép truyền dữ liệu thời gian thực về vị trí của chúng, giúp giảm thiểu tình trạng bò đi lang thang hoặc bị trộm cắp Thẻ cũng theo dõi chuyển động của động vật, cung cấp thông tin cho người chăn nuôi về mức độ hoạt động của bò, cũng như theo dõi nhiệt độ cơ thể và phát hiện động dục Ứng dụng liên tục quét dữ liệu và thông báo ngay lập tức cho người chăn nuôi khi có bất thường xảy ra.
Áp dụng công nghệ LORA vào mô hình nông nghiệp tại Việt Nam
1.2.1 Đặc điểm của mô hình a Hình 1.4 Mô hình trồng trọt tại Việt Nam. Đây là mô hình điển hình của hệ thống nông nghiệp ở Việt Nam gồm có hệ thống mương máng tưới tiêu và hệ thống luống cây trồng Mô hình này có thể áp dụng cho nhiều loại cây trồng khác nhau tại Việt Nam như lúa, ngô, khoai, sắn… Trong đó:
Luống cây là nơi trồng cây, có chứa đất, khoáng chất cần thiết đảm bảo cho sự phát triển bình thường của cây trồng.
Mương máng là nơi dẫn nước từ phía nguồn tới từng thửa ruộng, đảm bảo nhu cầu tưới tiêu liên tục trong mùa vụ.
Dựa trên mô hình thực tế, nhóm đã thực hiện các tính toán cần thiết để áp dụng công nghệ và thiết kế sơ đồ lắp đặt thiết bị, nhằm đảm bảo hệ thống hoạt động hiệu quả và ổn định trong thời gian dài, ngay cả trong các điều kiện khắc nghiệt.
1.2.2 Áp dụng công nghệ LORA
Nhóm đồ án quyết định chọn công nghệ truyền thông LORA vì những đặc điểm nổi bật sau:
Độ an toàn cao, chống nhiễu tốt.
Truyền được khoảng cách xa (tối đa 10-16km) mà ít bị ảnh hưởng bởi các thiết bị khác.
Tiêu thụ dòng thấp (trong chế độ tiết kiệm năng lượng, dòng tiêu thụ khoảng 30uA khi thiết lập độ trễ khoảng 2s).
Chi phí sử dụng thấp.
Yêu cầu của hệ thống
Đề tài “Ứng dụng truyền thông LORA vào hệ thống tự động hóa trong nông nghiệp” gồm những yêu cầu:
Xây dựng mô hình hệ thống tự động hóa nông nghiệp trên nền tảng truyền thông LORA.
Thu thập, hiển thị và lưu trữ các thông số nhiệt độ, độ ẩm môi trường và độ ẩm đất trên web server, trên app điện thoại…
Thiết kế hệ thống điều khiển cho máy bơm nước tự động nhằm cung cấp nước cho cây trồng, đảm bảo sự phát triển khỏe mạnh và mang lại hiệu quả kinh tế cao.
Chất lượng cập nhật dữ liệu cảm biến nhanh, điều khiển tải tức thì để đảm bảo hệ thống chạy tốt.
Chương 1 đã giới thiệu về công nghệ LORA, tình hình ứng dụng công nghệ này vào nông nghiệp tại một số quốc gia cũng như đặt vấn đề về việc áp dụng công nghệ này vào mô hình nông nghiệp tại Việt Nam Từ đó, đưa ra các yêu cầu cơ bản của hệ thống.
APP WEB SERVER NODE CẢM BIẾN
Chương 2 Cấu hình hệ thống CHƯƠNG 2
Hình 2.1 Cấu trúc tổng quan của hệ thống.
Hệ thống gồm các 3 thành phần chính sau:
Node cảm biến thu thập dữ liệu về nhiệt độ, độ ẩm không khí và độ ẩm đất tại các luống cây trồng, sau đó gửi thông tin này về Gateway thông qua giao thức truyền thông LORA.
Node tải: nhận tín hiệu điều khiển từ Gateway thông qua truyền thông LORA để đóng
M Q T cắt máy bơm, cung cấp lượng nước phù hợp cho các luống cây, đảm bảo sự phát triển tốt của cây trồng.
Gateway thu thập và xử lý dữ liệu từ Node cảm biến, hiển thị thông tin trên web server qua giao thức TCP/IP, đồng thời cung cấp dữ liệu trên ứng dụng máy tính và điện thoại thông qua giao thức MQTT.
Chương 2 Cấu hình hệ thống cũng căn cứ vào dữ liệu của cảm biến độ ẩm đất để đưa ra luật điều khiển thích hợp cho tải máy bơm.
Ngoài ra, hệ thống có khả năng giám sát trực quan thông qua camera giám sát trên điện thoại smartphone cũ.
Thu thập dữ liệu về nhiệt độ, độ ẩm không khí, độ ẩm đất
Gửi về Gateway thông qua truyền thông LORA Tiến hành lựa chọn thiết bị:
Cảm biến nhiệt độ, độ ẩm không khí (DHT11) và cảm biến độ ẩm đất
Nguồn adapter 7-12VDC hoặc Pin a) Cảm biến nhiệt độ, độ ẩm không khí (DHT11)
Hình 2.2 Cảm biến nhiệt độ, độ ẩm không khí.
Dòng sử dụng: 2.5mA max (khi truyền dữ liệu).
Đo tốt ở độ ẩm 20-80%RH với sai số 5%.
Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C.
Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)
Chương 2 Cấu hình hệ thống
Kích thước 15mm x 12mm x 5.5mm.
4 chân, khoảng cách chân 0.1''. b) Cảm biến độ ẩm đất
Hình 2.3 Cảm biến độ ẩm đất.
Cảm biến độ ẩm đất hoạt động với hai chế độ ngõ ra là Analog và Digital Khi đất thiếu nước, cảm biến sẽ phát ra tín hiệu mức cao (5V), trong khi trạng thái đầu ra mức thấp là 0V Hai đầu đo của cảm biến được cắm vào đất để phát hiện độ ẩm, và sử dụng dây nối để kết nối giữa cảm biến và module chuyển đổi.
Điện áp hoạt động: 3.3 -> 5VDC
Kích thước PCB: 3cm * 1.6cm c) Vi điều khiển STM32F103C8T6
Hình 2.4 Vi điều khiển STM32F103C8T6.
STM32 là dòng vi điều khiển phổ biến của STMicroelectronics, bao gồm nhiều họ như F0, F1, F2, F3, F4 Trong đó, STM32F1 thuộc họ F1 với lõi ARM Cortex-M3 Vi điều khiển STM32F103 có kiến trúc 32 bit, với tốc độ tối đa lên đến 72 MHz và giá thành phải chăng.
Chương 2 Cấu hình hệ thống với các loại vi điều khiển có chức năng tương tự Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng.
Hình 2.5 Phần mềm lập trình cho STM32F103C8T6 (KeilC v5).
Cấu hình chi tiết của STM32F103C8T6:
ARM 32-bit Cortex M3 với clock max là 72Mhz.
• 64 kbytes bộ nhớ Flash(bộ nhớ lập trình).
Clock, reset và quản lý nguồn.
• Power on reset(POR), Power down reset(PDR) và programmable voltage detector (PVD).
• Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz.
• Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz.
• Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC.
2 bộ ADC 12 bit với 9 kênh cho mỗi bộ.
• Khoảng giá trị chuyển đổi từ 0 – 3.6V.
• Lấy mẫu nhiều kênh hoặc 1 kênh.
• Có cảm biến nhiệt độ nội.
Chương 2 Cấu hình hệ thống
DMA: bộ chuyển đổi này giúp tăng tốc độ xử lý do không có sự can thiệp quá sâu của CPU.
• Hỗ trợ DMA cho ADC, I2C, SPI, UART.
• 3 timer 16 bit hỗ trợ các mode IC/OC/PWM.
• 1 timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắt input, dead-time
• 2 watdog timer dùng để bảo vệ và kiểm tra lỗi.
• 1 sysTick timer 24 bit đếm xuống
Hỗ trợ 9 kênh giao tiếp bao gồm:
• 3 bộ USART (ISO 7816 interface, LIN, IrDA capability, modem control).
Kiểm tra lỗi CRC và 96-bit ID. d) Module LORA E32-TTL-100
Module LORA SX1278 100mW sử dụng chip Semtech SX1278 của chuẩnLORATM không dây, module ngoài sử dụng công nghệ GFSK truyền thống, nó cũng
Chương 2 Cấu hình hệ thống sử dụng công nghệ LORA (long range) chống nhiễu và giảm dòng tiêu thụ Module hỗ trợ chuẩn giao tiếp UART, độ mạnh tín hiệu phát lớn 100mW, truyền tải được khoảng cách xa mà điện năng tiêu thụ thấp.
Module này rất thích hợp cho các ứng dụng phức tạp cần truyền tải dữ liệu không dây, như điều khiển nhà thông minh, ô tô điện tử, báo động an ninh, giám sát hệ thống công nghiệp, và điều khiển từ xa cho các ứng dụng tưới tiêu Với giao thức SPI chuẩn, các module có thể dễ dàng được nhúng vào thiết kế sản phẩm hiện tại của khách hàng, giúp giao tiếp trở nên đơn giản hơn Khoảng cách truyền tải của module có thể lên đến vài km, tùy thuộc vào mục đích sử dụng và mức tiêu thụ năng lượng.
Hình 2.7 Cấu tạo cơ khí của module LORA E32-TTL-100. Đặc tính nổi bật:
Độ an toàn cao, chống nhiễu tốt, truyền được khoảng cách xa mà ít bị ảnh hưởng bởi các thiết bị khác.
Tiêu thụ dòng thấp: Trong chế độ tiết kiệm năng lượng, dòng tiêu thụ khoảng 30uA khi thiết lập độ trễ khoảng 2s
Cho phép định địa chỉ truyền nhận: Ví dụ: module A yêu cầu truyền đến
Khi dữ liệu AA BB CC được gửi từ địa chỉ 0x00 01 qua kênh 0x80, chỉ module B sẽ nhận được dữ liệu này, trong khi các module khác sẽ không nhận Dữ liệu được truyền dưới dạng 00 01 80 AA BB CC.
Chương 2 Cấu hình hệ thống
Có thể định địa chỉ 0xFFFF để nhận tất cả dữ liệu từ tất cả module trên cùng 1 kênh.
Hỗ trợ FEC forward error correction algorithm giúp gia tăng độ ổn định và tin cậy khi truyền nhận.
Trong chế độ sleep mode, module tiêu tốn chỉ vài uA và vẫn có khả năng nhận được cấu hình từ MCU gửi sang.
Thường được sử dụng trong các dự án yêu cầu khoảng cách xa, lượng data truyền nhận không lớn hay môi trường có độ nhiễu cao.
Tần số: 433MHz (410 ~ 441MHz) hỗ trợ 32 kênh.
Điện áp hoạt động: 2.3 ~ 5.5V DC Lưu ý: điện áp lớn 5.5V sẽ gây hư hỏng module
Độ mạnh phát: 20dBm (100mW) với 4 mức điều chỉnh (20, 17, 14, 10dBm).
Tốc độ truyền không dây: 2.4kbps có thể điều chỉnh 6 mức (0.3, 1.2, 2.4, 4.8, 9.6, 19.2Kbps)
Dòng sleep mode 2.0uA ở Mode 3
Dòng phát: 110mA @ 20dBm Lưu ý công suất nguồn nên cao hơn 250mA.
UART baudrate: 1200 ~ 115.200 Tổng cộng có tám loại tốc độ truyền (mặc định 9600)
UART TX, RX Cache 512 Bytes
Hỗ trợ 16 bit địa chỉ để thiết lập network
Anten SMA-K Threaded lỗ, 50Ω trở kháng
Độ nhạy nhận-130dbm @0.3kbp
Chương 2 Cấu hình hệ thống
Các chế độ vận hành:
Bảng 2.1 Các chế độ vận hành của Module LORA E32-TTL-100
Tên chế độ M1 M0 Mô tả Ghi chú
0 0 Cổng nối tiếp mở, kênh truyền không dây mở Cho phép truyền thông.
Bộ nhận phải làm việc ở mode 0 hoặc mode 1.
0 1 Cổng nối tiếp mở, kênh thông truyền không dây mở Điều khác biệt duy nhất với mode 0 là ở mode
1, dữ liệu tự động được thêm wake- up code Cho phép đánh thức bộ nhận ở chế độ 2.
Bộ nhận có thể làm việc ở mode 0, 1 hoặc 2.
1 0 Cổng nối tiếp đóng, kênh truyền làm việc ở chế độ wake-up Và cổng nối tiếp sẽ mở khi nhận được tín hiệu từ kênh truyền thông không dây.
Bộ truyền nên hoạt động ở mode 1 Không thể truyền ở chế độ này.
1 1 Chế độ ngủ, có thể thiết lập các thông số cho module.
Chương 2 Cấu hình hệ thống
Nhận tín hiệu điều khiển từ Gateway thông qua truyền thông LORA
Đóng cắt máy bơm để cung cấp nước phù hợp cho cây trồng Tiến hành lựa chọn thiết bị:
Phần giới thiệu về STM32F103C8T6 và module LORA đã được đề cập trong mục 2.1.1.
Hoạt động ở chế độ thời gian thực, hiển thị giờ phút giây, ngày tháng năm và các dữ liệu nhận được từ phía web server gửi cho gateway.
Nhận dữ liệu về các thông số của môi trường từ phía node cảm biến.
Xử lý dữ liệu từ node cảm biến để hiển thị trên web server thông qua kết nối wifi, đồng thời lưu trữ trên ứng dụng máy tính và điện thoại qua giao thức MQTT.
Để đáp ứng yêu cầu thực tế của hệ thống tưới tiêu nông nghiệp, tín hiệu điều khiển được gửi đến node tải nhằm đóng hoặc cắt máy bơm cho phù hợp với nhu cầu của cây trồng.
Module thời gian thực DS1307
Chương 2 Cấu hình hệ thống
Phần giới thiệu về STM32F103C8T6 và module LORA đã được đề cập trong mục 2.1.1. a) Module thời gian thực DS1307
DS1307 là một chip đồng hồ thời gian thực (RTC) do Dallas Semiconductor sản xuất, thuộc Maxim Integrated Products Chip này có khả năng lưu trữ thời gian tuyệt đối với các thanh ghi 8-bit cho giây, phút, giờ, ngày trong tuần, ngày, tháng và năm Ngoài ra, DS1307 còn bao gồm một thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống có thể sử dụng như RAM Việc đọc và ghi dữ liệu trên DS1307 được thực hiện thông qua giao diện I2C.
Hình 2.8 Sơ đồ chân của DS1307. b) Vi điều khiển dsPIC30F4011
Hình 2.9 Vi điều khiển dsPIC30F4011.
Vi điều khiển dsPIC30F4011 là một loại vi điều khiển chuyên dụng cho việc điều khiển động cơ, được trang bị 6 kênh băm xung PWM, 4 chân ngắt ngoài và 24 chân ngắt CN, cho phép điều khiển đồng thời 6 động cơ.
Cấu hình chi tiết của dsPIC30F4011:
Chương 2 Cấu hình hệ thống
Khối xử lý trung tâm CPU
• Tập lệnh cơ bản gồm 84 lệnh
• Chế độ định địa chỉ linh hoạt
• Độ dài lệnh 24-bit, độ dài dữ liệu 16-bit
• Bộ nhớ chương trình Flash 24 Kbyte
• Bộ nhớ RAM độ lớn 1Kbytes
• Mảng 16 thanh ghi làm việc 16-bit
• Tốc độ làm việc lên tới 30 MIPS
Bộ chuyển đổi tương tự số ADC
• Bộ chuyển đổi tương tự - số (ADC) 10-bit
• Tốc độ lấy mẫu tối đa 1 Msps (Mega samples per second)
• Tối đa 10 kênh lối vào ADC
• Thực hiện biến đổi cả trong chế độ Sleep và Idle
• Chế độ nhận biết điện thế thấp khả lập trình
• Tạo Reset bằng nhận diện điện áp khả lập trình
Các cổng vào ra I/O Port và các ngoại vi
• Dòng ra, vào ở các chân I/O lớn: 25 mA
• 3 Timer 16-bit, có thể ghép 2 Timer 16-bit thành Timer 32-bit
• Các bộ so sánh/PWM 16-bit
• Module SPI 3 dây (hỗ trợ chế độ Frame)
• Module I2C, hỗ trợ chế độ đa chủ tớ, địa chỉ từ 7-bit đến 10-bit
• UART có khả năng địa chỉ hoá, hỗ trợ bộ đệm FIFO1
Chương 2 Cấu hình hệ thống c) Màn hình LCD 16x2
Hình 2.10 Màn hình hiển thị LCD 16x2.
Có thể được điều khiển với 6 dây tín hiệu
• Constrast Voltage (Vo): điều khiển độ sáng màn hình
• Register Select (RS): lựa chọn thanh ghi
• Enable: Cho phép ghi vào LCD
• D0 - D7: 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử dụng
Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7. d) Module wifi NODEMCU (ESP8266-12E)
Hình 2.11 Module Wifi NODEMCU (ESP8266-12E).
Chương 2 Cấu hình hệ thống
WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
Điện áp vào: 5V thông qua cổng USB
Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2C/One- wire, trừ chân D0)
Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
Giao tiếp: Cable Micro USB
Hỗ trợ bảo mật: WPA/WPA2
Tích hợp giao thức TCP/IP
Lập trình trên các ngôn ngữ: C/C++, Micropython, NODEMCU - Lua
Camera còn hoạt động tốt
Có khả năng sử dụng phần mềm IP CAMERA và kết nối wifi Tiến hành lựa chọn thiết bị:
Sử dụng một chiếc smartphone cũ làm camera giám sát cho hệ thống là một giải pháp hiệu quả, kết hợp với thẻ nhớ SD 16GB để lưu trữ dữ liệu khi cần thiết.
Chương 2 Cấu hình hệ thống
Hình 2.13 Cấu hình lắp đặt thiết bị của hệ thống.
CẤU HÌNH HỆ THỐNG
Cấu hình hệ thống
Hình 2.1 Cấu trúc tổng quan của hệ thống.
Hệ thống gồm các 3 thành phần chính sau:
Node cảm biến thu thập dữ liệu về nhiệt độ, độ ẩm không khí và độ ẩm đất tại các luống cây trồng, sau đó gửi thông tin này về Gateway thông qua công nghệ truyền thông LORA.
Node tải: nhận tín hiệu điều khiển từ Gateway thông qua truyền thông LORA để đóng
M Q T cắt máy bơm, cung cấp lượng nước phù hợp cho các luống cây, đảm bảo sự phát triển tốt của cây trồng.
Gateway thu thập và xử lý dữ liệu từ các node cảm biến, hiển thị thông tin lên web server qua giao thức TCP/IP, đồng thời cung cấp dữ liệu trên ứng dụng máy tính và điện thoại thông qua giao thức MQTT.
Chương 2 Cấu hình hệ thống cũng căn cứ vào dữ liệu của cảm biến độ ẩm đất để đưa ra luật điều khiển thích hợp cho tải máy bơm.
Ngoài ra, hệ thống có khả năng giám sát trực quan thông qua camera giám sát trên điện thoại smartphone cũ.
Thu thập dữ liệu về nhiệt độ, độ ẩm không khí, độ ẩm đất
Gửi về Gateway thông qua truyền thông LORA Tiến hành lựa chọn thiết bị:
Cảm biến nhiệt độ, độ ẩm không khí (DHT11) và cảm biến độ ẩm đất
Nguồn adapter 7-12VDC hoặc Pin a) Cảm biến nhiệt độ, độ ẩm không khí (DHT11)
Hình 2.2 Cảm biến nhiệt độ, độ ẩm không khí.
Dòng sử dụng: 2.5mA max (khi truyền dữ liệu).
Đo tốt ở độ ẩm 20-80%RH với sai số 5%.
Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C.
Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)
Chương 2 Cấu hình hệ thống
Kích thước 15mm x 12mm x 5.5mm.
4 chân, khoảng cách chân 0.1''. b) Cảm biến độ ẩm đất
Hình 2.3 Cảm biến độ ẩm đất.
Cảm biến độ ẩm đất hoạt động với hai chế độ ngõ ra là Analog và Digital Khi đất thiếu nước, cảm biến sẽ cho tín hiệu đầu ra ở mức cao (5V), trong khi trạng thái đầu ra mức thấp là 0V Hai đầu đo của cảm biến được cắm vào đất để xác định độ ẩm, và dây nối được sử dụng để kết nối cảm biến với module chuyển đổi.
Điện áp hoạt động: 3.3 -> 5VDC
Kích thước PCB: 3cm * 1.6cm c) Vi điều khiển STM32F103C8T6
Hình 2.4 Vi điều khiển STM32F103C8T6.
STM32 là dòng chip phổ biến của ST, bao gồm nhiều họ như F0, F1, F2, F3, F4 Trong đó, STM32F1 thuộc họ F1 với lõi ARM Cortex-M3 Vi điều khiển STM32F103 có kiến trúc 32 bit, tốc độ tối đa đạt 72MHz và có giá thành khá rẻ.
Chương 2 Cấu hình hệ thống với các loại vi điều khiển có chức năng tương tự Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng.
Hình 2.5 Phần mềm lập trình cho STM32F103C8T6 (KeilC v5).
Cấu hình chi tiết của STM32F103C8T6:
ARM 32-bit Cortex M3 với clock max là 72Mhz.
• 64 kbytes bộ nhớ Flash(bộ nhớ lập trình).
Clock, reset và quản lý nguồn.
• Power on reset(POR), Power down reset(PDR) và programmable voltage detector (PVD).
• Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz.
• Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz.
• Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC.
2 bộ ADC 12 bit với 9 kênh cho mỗi bộ.
• Khoảng giá trị chuyển đổi từ 0 – 3.6V.
• Lấy mẫu nhiều kênh hoặc 1 kênh.
• Có cảm biến nhiệt độ nội.
Chương 2 Cấu hình hệ thống
DMA: bộ chuyển đổi này giúp tăng tốc độ xử lý do không có sự can thiệp quá sâu của CPU.
• Hỗ trợ DMA cho ADC, I2C, SPI, UART.
• 3 timer 16 bit hỗ trợ các mode IC/OC/PWM.
• 1 timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắt input, dead-time
• 2 watdog timer dùng để bảo vệ và kiểm tra lỗi.
• 1 sysTick timer 24 bit đếm xuống
Hỗ trợ 9 kênh giao tiếp bao gồm:
• 3 bộ USART (ISO 7816 interface, LIN, IrDA capability, modem control).
Kiểm tra lỗi CRC và 96-bit ID. d) Module LORA E32-TTL-100
Module LORA SX1278 100mW sử dụng chip Semtech SX1278 của chuẩnLORATM không dây, module ngoài sử dụng công nghệ GFSK truyền thống, nó cũng
Chương 2 Cấu hình hệ thống sử dụng công nghệ LORA (long range) chống nhiễu và giảm dòng tiêu thụ Module hỗ trợ chuẩn giao tiếp UART, độ mạnh tín hiệu phát lớn 100mW, truyền tải được khoảng cách xa mà điện năng tiêu thụ thấp.
Module này rất phù hợp cho các ứng dụng phức tạp cần truyền tải dữ liệu không dây, bao gồm hệ thống nhà thông minh, ô tô điện tử, báo động an ninh, giám sát công nghiệp và điều khiển từ xa cho tưới tiêu Với giao thức SPI chuẩn, các module có thể dễ dàng được nhúng vào thiết kế sản phẩm hiện tại của khách hàng, giúp việc giao tiếp trở nên đơn giản Khoảng cách truyền tải có thể lên đến vài km, tùy thuộc vào mục đích sử dụng và mức tiêu thụ năng lượng.
Hình 2.7 Cấu tạo cơ khí của module LORA E32-TTL-100. Đặc tính nổi bật:
Độ an toàn cao, chống nhiễu tốt, truyền được khoảng cách xa mà ít bị ảnh hưởng bởi các thiết bị khác.
Tiêu thụ dòng thấp: Trong chế độ tiết kiệm năng lượng, dòng tiêu thụ khoảng 30uA khi thiết lập độ trễ khoảng 2s
Cho phép định địa chỉ truyền nhận: Ví dụ: module A yêu cầu truyền đến
Khi module B (địa chỉ 0x00 01, kênh 0x80) nhận dữ liệu AA BB CC, nó sẽ truyền dữ liệu dưới dạng 00 01 80 AA BB CC Chỉ có module B là nhận được dữ liệu này, trong khi các module khác không nhận được.
Chương 2 Cấu hình hệ thống
Có thể định địa chỉ 0xFFFF để nhận tất cả dữ liệu từ tất cả module trên cùng 1 kênh.
Hỗ trợ FEC forward error correction algorithm giúp gia tăng độ ổn định và tin cậy khi truyền nhận.
Trong chế độ sleep mode, module tiêu tốn chỉ vài uA và vẫn có khả năng nhận được cấu hình từ MCU gửi sang.
Thường được sử dụng trong các dự án yêu cầu khoảng cách xa, lượng data truyền nhận không lớn hay môi trường có độ nhiễu cao.
Tần số: 433MHz (410 ~ 441MHz) hỗ trợ 32 kênh.
Điện áp hoạt động: 2.3 ~ 5.5V DC Lưu ý: điện áp lớn 5.5V sẽ gây hư hỏng module
Độ mạnh phát: 20dBm (100mW) với 4 mức điều chỉnh (20, 17, 14, 10dBm).
Tốc độ truyền không dây: 2.4kbps có thể điều chỉnh 6 mức (0.3, 1.2, 2.4, 4.8, 9.6, 19.2Kbps)
Dòng sleep mode 2.0uA ở Mode 3
Dòng phát: 110mA @ 20dBm Lưu ý công suất nguồn nên cao hơn 250mA.
UART baudrate: 1200 ~ 115.200 Tổng cộng có tám loại tốc độ truyền (mặc định 9600)
UART TX, RX Cache 512 Bytes
Hỗ trợ 16 bit địa chỉ để thiết lập network
Anten SMA-K Threaded lỗ, 50Ω trở kháng
Độ nhạy nhận-130dbm @0.3kbp
Chương 2 Cấu hình hệ thống
Các chế độ vận hành:
Bảng 2.1 Các chế độ vận hành của Module LORA E32-TTL-100
Tên chế độ M1 M0 Mô tả Ghi chú
0 0 Cổng nối tiếp mở, kênh truyền không dây mở Cho phép truyền thông.
Bộ nhận phải làm việc ở mode 0 hoặc mode 1.
0 1 Cổng nối tiếp mở, kênh thông truyền không dây mở Điều khác biệt duy nhất với mode 0 là ở mode
1, dữ liệu tự động được thêm wake- up code Cho phép đánh thức bộ nhận ở chế độ 2.
Bộ nhận có thể làm việc ở mode 0, 1 hoặc 2.
1 0 Cổng nối tiếp đóng, kênh truyền làm việc ở chế độ wake-up Và cổng nối tiếp sẽ mở khi nhận được tín hiệu từ kênh truyền thông không dây.
Bộ truyền nên hoạt động ở mode 1 Không thể truyền ở chế độ này.
1 1 Chế độ ngủ, có thể thiết lập các thông số cho module.
Chương 2 Cấu hình hệ thống
Nhận tín hiệu điều khiển từ Gateway thông qua truyền thông LORA
Đóng cắt máy bơm để cung cấp nước phù hợp cho cây trồng Tiến hành lựa chọn thiết bị:
Phần giới thiệu về STM32F103C8T6 và module LORA đã được đề cập trong mục 2.1.1.
Hoạt động ở chế độ thời gian thực, hiển thị giờ phút giây, ngày tháng năm và các dữ liệu nhận được từ phía web server gửi cho gateway.
Nhận dữ liệu về các thông số của môi trường từ phía node cảm biến.
Xử lý dữ liệu từ node cảm biến để hiển thị trên web server qua kết nối Wi-Fi, đồng thời lưu trữ trên ứng dụng máy tính và điện thoại thông qua giao thức MQTT.
Gửi tín hiệu điều khiển đến node tải để bật hoặc tắt máy bơm theo nhu cầu thực tế của hệ thống tưới tiêu nông nghiệp cho cây trồng.
Module thời gian thực DS1307
Chương 2 Cấu hình hệ thống
Phần giới thiệu về STM32F103C8T6 và module LORA đã được đề cập trong mục 2.1.1. a) Module thời gian thực DS1307
DS1307 là chip đồng hồ thời gian thực (RTC) do Dallas Semiconductor (thuộc Maxim Integrated Products) sản xuất, sử dụng để theo dõi thời gian tuyệt đối tính bằng giây, phút và giờ Chip này bao gồm 7 thanh ghi 8-bit lưu trữ thông tin về giây, phút, giờ, ngày trong tuần, ngày, tháng và năm Ngoài ra, DS1307 còn có một thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống có thể sử dụng như RAM Việc đọc và ghi dữ liệu trên DS1307 được thực hiện thông qua giao diện nối tiếp I2C.
Hình 2.8 Sơ đồ chân của DS1307. b) Vi điều khiển dsPIC30F4011
Hình 2.9 Vi điều khiển dsPIC30F4011.
Vi điều khiển dsPIC30F4011 là một lựa chọn lý tưởng cho việc điều khiển động cơ, với khả năng hỗ trợ 6 kênh băm xung PWM, 4 chân ngắt ngoài và 24 chân ngắt CN Điều này cho phép ứng dụng điều khiển đồng thời 6 động cơ, mang lại hiệu suất cao trong các hệ thống tự động hóa.
Cấu hình chi tiết của dsPIC30F4011:
Chương 2 Cấu hình hệ thống
Khối xử lý trung tâm CPU
• Tập lệnh cơ bản gồm 84 lệnh
• Chế độ định địa chỉ linh hoạt
• Độ dài lệnh 24-bit, độ dài dữ liệu 16-bit
• Bộ nhớ chương trình Flash 24 Kbyte
• Bộ nhớ RAM độ lớn 1Kbytes
• Mảng 16 thanh ghi làm việc 16-bit
• Tốc độ làm việc lên tới 30 MIPS
Bộ chuyển đổi tương tự số ADC
• Bộ chuyển đổi tương tự - số (ADC) 10-bit
• Tốc độ lấy mẫu tối đa 1 Msps (Mega samples per second)
• Tối đa 10 kênh lối vào ADC
• Thực hiện biến đổi cả trong chế độ Sleep và Idle
• Chế độ nhận biết điện thế thấp khả lập trình
• Tạo Reset bằng nhận diện điện áp khả lập trình
Các cổng vào ra I/O Port và các ngoại vi
• Dòng ra, vào ở các chân I/O lớn: 25 mA
• 3 Timer 16-bit, có thể ghép 2 Timer 16-bit thành Timer 32-bit
• Các bộ so sánh/PWM 16-bit
• Module SPI 3 dây (hỗ trợ chế độ Frame)
• Module I2C, hỗ trợ chế độ đa chủ tớ, địa chỉ từ 7-bit đến 10-bit
• UART có khả năng địa chỉ hoá, hỗ trợ bộ đệm FIFO1
Chương 2 Cấu hình hệ thống c) Màn hình LCD 16x2
Hình 2.10 Màn hình hiển thị LCD 16x2.
Có thể được điều khiển với 6 dây tín hiệu
• Constrast Voltage (Vo): điều khiển độ sáng màn hình
• Register Select (RS): lựa chọn thanh ghi
• Enable: Cho phép ghi vào LCD
• D0 - D7: 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử dụng
Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7. d) Module wifi NODEMCU (ESP8266-12E)
Hình 2.11 Module Wifi NODEMCU (ESP8266-12E).
Chương 2 Cấu hình hệ thống
WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
Điện áp vào: 5V thông qua cổng USB
Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2C/One- wire, trừ chân D0)
Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
Giao tiếp: Cable Micro USB
Hỗ trợ bảo mật: WPA/WPA2
Tích hợp giao thức TCP/IP
Lập trình trên các ngôn ngữ: C/C++, Micropython, NODEMCU - Lua
Camera còn hoạt động tốt
Có khả năng sử dụng phần mềm IP CAMERA và kết nối wifi Tiến hành lựa chọn thiết bị:
Sử dụng một chiếc smartphone cũ làm camera giám sát cho hệ thống là một giải pháp hiệu quả, kết hợp với thẻ nhớ SD 16GB để lưu trữ dữ liệu cần thiết.
Chương 2 Cấu hình hệ thống
Lắp đặt thiết bị
Hình 2.13 Cấu hình lắp đặt thiết bị của hệ thống.
Việc lắp đặt thiết bị đo đạc trong nông nghiệp cần dựa trên yêu cầu thực tế để đảm bảo hệ thống hoạt động ổn định trong môi trường khắc nghiệt Mỗi luống hoa sẽ được trang bị nhiều node cảm biến, sử dụng thuật toán tính trung bình để cập nhật dữ liệu chính xác trên web server Điều này giúp tăng cường độ tin cậy trong việc điều khiển tưới tiêu, giảm thiểu tác động của các yếu tố môi trường như nắng, mưa và độ ẩm.
Chương 2 đã trình bày rõ ràng về cấu hình hệ thống, đồng thời cũng đưa ra các lựa chọn về thiết bị phần cứng, công nghệ sử dụng phù hợp với yêu cầu đã đặt ra, phục vụ cho việc ghép nối các thành phần thành một hệ thống hoàn chỉnh.
Chương 3 Thiết kế phần cứng
Board mạch được thiết kế bằng phần mềm Altium Designer là board mạch duy nhất, tích hợp đầy đủ các thành phần của node cảm biến, node tải và gateway trên cùng một bo mạch Mục đích của thiết kế này là tối ưu hóa hiệu suất và tính năng cho hệ thống.
Tiết kiệm chi phí đặt mạch
Giảm thiểu thời gian thiết kế file nguyên lý và đi dây cho file PCB
Giúp người lập trình nắm bắt cả hệ thống nhanh hơn
Dễ dàng hoán đổi các thành phần của hệ thống khi có sự cố hỏng hóc
Dễ dàng mở rộng quy mô hệ thống
Board mạch sử dụng trong đề tài có nhiều thành phần gồm:
Phần 2: Khối giao tiếp thời gian thực giữa DSPIC (4) và DS1307 (2) thông qua nút nhấn (3) và hiển thị lên LCD (4).
Phần 3: Khối cảm biến trong
Phần 4: Khối công suất trong node tải (6)
Phần 5: Khối truyền thông Lora của node cảm biến và node tải (7)
Phần 6: Khối truyền thông Lora của gateway, đồng thời cũng là khối kết nối wifi, truyền thông MQTT (8)
Chương 3 Thiết kế phần cứng
Khối nguồn được thiết kế để đảm bảo có nhiều phương án cấp nguồn cho mạch: dùng pin, dùng adapter 7-12VDC hoặc dùng dây sạc điện thoại…
Nguồn điện 7-12VDC được giảm xuống 5V qua IC LM7805 để cung cấp cho cảm biến DHT11 và cảm biến độ ẩm đất Sau đó, điện áp 5V tiếp tục được hạ xuống 3.3V bằng ASM1117 để cấp cho vi điều khiển STM32F103C8T6 và module LORA.
Tụ gốm 104 và tụ hóa 470uF có nhiệm vụ lọc nhiễu và làm phẳng điện áp ra từ nguồn.
LED3 có nhiệm vụ báo trạng thái hoạt động của nguồn.
Khối nguồn ra chân 3 cấp điện áp là 5V, 3V3, GND để sử dụng khi có thêm các ngoại vi khác.
Giao tiếp của DSPIC với LCD được thực hiện ở chế độ 4 bit, tức là chỉ sử dụng
Có bốn phương thức để truyền dữ liệu từ DSPIC lên LCD và hiển thị, sử dụng các chân D4, D5, D6, D7 Ngoài ra, chân RS được dùng để lựa chọn giữa thanh ghi lệnh và thanh ghi dữ liệu, chân EN cho phép giao tiếp với LCD, và chân R/̅ có vai trò quan trọng trong việc đọc ghi dữ liệu Cuối cùng, chân VSS được nối với chân nguồn.
Chương 3 Thiết kế phần cứng
Hình 3.2 Khối hiển thị LCD.
Hình 3.3 Module thời gian thực.
Chip AT24C512B là EEPROM hỗ trợ chip thời gian thực DS1307 trong việc lưu trữ thông số thời gian đã thiết lập, giúp bảo vệ dữ liệu khi mất điện Chip DS1307 có 8 chân và sử dụng dạng dán SMD.
X1 và X2 là đầu vào dao động cho DS1307 Cần dao động thạch anh 32.768Khz.
Vbat là nguồn cung cấp cho chip, với điện áp từ 2V đến 3.5V, thường sử dụng pin 3V Nguồn này giúp chip hoạt động liên tục ngay cả khi không có nguồn Vcc, cho phép DS1307 duy trì thời gian chính xác.
Vcc là nguồn cung cấp cho giao tiếp I2C với điện áp chuẩn 5V, thường được sử dụng chung với vi xử lý Nếu Vcc không có nhưng Vbat vẫn hoạt động, chip DS1307 vẫn có thể hoạt động bình thường, tuy nhiên sẽ không thể thực hiện việc ghi và đọc dữ liệu.
GND là nguồn Mass chung cho cả Vcc và Vbat
Chương 3 Thiết kế phần cứng
SQW/OUT là chân ngõ ra phụ dùng để tạo xung vuông Chân này không ảnh hưởng đến thời gian thực, vì vậy chúng ta không sử dụng và để trống chân này trong các ứng dụng thực tế.
SCL và SDA là hai bus dữ liệu của DS1307 Thông tin truyền và ghi đều được truyền qua 2 đường truyền này theo chuẩn I2C
Khối nút nhấn cho phép người dùng điều chỉnh các thông số thời gian như giờ, phút, giây, ngày, tháng, và năm Tất cả chân tín hiệu của nút nhấn được kết nối với ngắt của DSPIC, đảm bảo quá trình xử lý ưu tiên Mỗi nút nhấn được trang bị tụ 10-15uF nhằm giảm thiểu ảnh hưởng của việc dội nút nhấn Ngoài ra, điện trở kéo lên 10k giúp ngăn chặn hiện tượng trôi nổi, đảm bảo xác định chính xác trạng thái của nút nhấn ở mức cao hay thấp.
Hình 3.5 Khối vi điều khiển dsPIC30F4011.
Chương 3 Thiết kế phần cứng
Khối tạo dao động cho dsPIC sử dụng thạch anh 8Mhz Nút nhấn reset để khởi tạo lại vi điều khiển khi hệ thống bị treo.
Khối mạch nạp ICSP để nạp code cho chip.
Công tắc gạt để cấp nguồn và cắt nguồn của dsPIC khi hệ thống có sự cố
LED2 có nhiệm vụ báo trạng thái hoạt động của chip.
Chân SDA và SCL là hai chân thiết yếu trong giao tiếp I2C với module thời gian thực DS1307 Để thiết lập thời gian cho module này, người dùng có thể thao tác thông qua các nút nhấn, được kết nối với các ngắt ngoài và ngắt thay đổi trạng thái pin của DSPIC.
3.2.3 Khối cảm biến (đối với node cảm biến)
Hình 3.6 Khối giao tiếp cảm biến DHT11 và cảm biến độ ẩm đất.
Khe cắm cho module cảm biến mang lại sự tiện lợi, giúp người dùng không cần phải thực hiện đấu dây phức tạp Thiết kế khe cắm này tương thích với nhiều loại module cảm biến kỹ thuật số và analog, tạo điều kiện thuận lợi cho việc lắp đặt và sử dụng.
Có công tắc chuyển nguồn cho các loại cảm biến 5V và 3V3
Mỗi loại cảm biến có phương thức giao tiếp riêng với vi điều khiển; ví dụ, cảm biến DHT11 sử dụng giao tiếp 1-wire, yêu cầu kết nối một chân digital của vi điều khiển với chân tín hiệu của cảm biến Trong khi đó, cảm biến độ ẩm đất cần được kết nối với chân analog của vi điều khiển để nhận tín hiệu.
Chương 3 Thiết kế phần cứng
3.2.4 Khối công suất (đối với node tải)
Hình 3.7 Khối công suất đóng cắt máy bơm.
Việc đóng cắt tải là máy bơm công suất cần có bộ khuếch đại tín hiệu Ở đây, nhóm sử dụng transistor đóng cắt relay.
Điện trở hạn dòng R4, bảo vệ cho transistor (thường chọn từ 1k trở lên)
Diode M7 để thiết kế để hạn chế ảnh hưởng của dòng ngược của máy bơm khi đóng cắt, gây hỏng transistor.
3.2.5 Khối truyền thông Lora của node cảm biến và node tải
Hình 3.8 Khối giao tiếp với module LORA E32-TTL-100.
Nguồn cấp cho module LORA là 3V3.
Chân UART2_TX và UART2_RX kết nối với chân RX và TX để truyền dữ liệu từ vi điều khiển đến module, đồng thời nhận dữ liệu từ module trong quá trình truyền không dây.
Các chân PB14 và PB13 được kết nối với chân M1 và M0 của module LORA để cấu hình chế độ hoạt động của module Trong đề tài này, module chủ yếu hoạt động ở chế độ 0 và chế độ 3.
Chương 3 Thiết kế phần cứng