TỔNG QUAN
ĐẶT VẤN ĐỀ
Ngày nay, kỹ thuật tự động điều khiển đóng vai trò quan trọng trong các lĩnh vực khoa học kỹ thuật, quản lý và công nghiệp, nhờ vào sự phát triển mạnh mẽ của công nghệ điện tử Là sinh viên chuyên ngành Điện tử - Viễn thông, chúng ta cần nắm bắt và áp dụng hiệu quả những kiến thức này để góp phần vào sự phát triển của khoa học kỹ thuật toàn cầu và kỹ thuật điện tử cụ thể, đồng thời thúc đẩy nền kinh tế đất nước.
Hệ thống điều khiển từ xa qua Internet ngày càng phổ biến, giúp các thiết bị giao tiếp dữ liệu hiệu quả Sự phát triển nhanh chóng của công nghệ viễn thông và tin học, cùng với nhu cầu cao về dịch vụ đa phương tiện chất lượng, đã dẫn đến những thay đổi lớn trong cơ sở hạ tầng thông tin Trong bối cảnh con người ngày càng quan tâm đến thực phẩm sạch, nhóm chúng tôi đã quyết định thực hiện đề tài “thiết kế và thi công hệ thống giám sát vườn rau qua mạng Internet” cho đồ án tốt nghiệp Mặc dù đã có một số sản phẩm tương tự, nhưng chúng còn tồn tại nhiều hạn chế như thiếu tính linh động, không cho phép điều khiển và giám sát từ xa, và gặp vấn đề khi thời tiết xấu Một mô hình vườn cây thông minh cần đáp ứng các yêu cầu như đo độ ẩm đất và nhiệt độ không khí để đảm bảo sự phát triển của cây trồng.
Hệ thống bơm nước tự động được thiết kế để tưới cây khi độ ẩm đất thấp và tự động tắt khi độ ẩm đạt mức cao, có khả năng điều khiển từ xa qua internet Sản phẩm này là sự kết hợp hoàn hảo giữa kỹ thuật cơ khí và kỹ thuật điện - điện tử, đảm bảo đáp ứng đầy đủ các yêu cầu cần thiết cho việc chăm sóc cây trồng.
MỤC TIÊU ĐỀ TÀI
-Áp dụng kiến thức học lý thuyết vào thiết kế mô hình ứng dụng trong thực tế
+Mọi người luôn cảm thấy yên tâm khi khu vườn được chăm sóc tốt +Tiết kiệm sức lao động
+Phát triển hệ thống tư duy, sáng tạo để có thể nghiên cứu, triển khai các hệ thống khác phức tạp hơn.
GIỚI HẠN ĐỀ TÀI
Vì thời gian cho phép thực hiện đồ án tốt nghiệp này có hạn 13 tuần nên nội dung đề tài chỉ tập trung giải quyết các vấn đề sau:
-Thiết kế mô hình vườn cây thông minh
-Ứng dụng các kiến thức đã học để hệ thống đảm bảo các yêu cầu sau:
+ Đo nhiệt độ độ ẩm không khí
+ Cảm nhận sự suy giảm của ánh sáng
Hệ thống tự động bơm nước sẽ tưới cho cây khi độ ẩm đất thấp và ngừng hoạt động khi độ ẩm đạt mức cao Đồng thời, hệ thống cũng tự động mở đèn để cung cấp ánh sáng cho cây quang hợp khi điều kiện ánh sáng không đủ.
+ Có thể điều khiển và giám sát từ xa thông qua internet.
KHẢO SÁT, ĐÁNH GIÁ THỰC TRẠNG
Rau xanh là loại thực phẩm không thể thiếu trong bữa ăn hàng ngày Chúng chứa nhiều loại vitamin và các chất dinh dưỡng thiết yếu với sức khoẻ
Ăn nhiều rau xanh không chỉ giúp ổn định huyết áp mà còn phòng chống bệnh tim mạch và thúc đẩy quá trình trao đổi chất Hiện nay, thị trường cung cấp đa dạng các loại rau củ quả; tuy nhiên, nhiều loại rau này có nguồn gốc không rõ ràng và không đảm bảo chất lượng vệ sinh an toàn thực phẩm Người tiêu dùng thường phải đối mặt với vấn đề dư lượng thuốc bảo vệ thực vật, thuốc kích thích, vi khuẩn và hóa chất độc hại trong rau củ quả.
Nhóm đã phát triển hệ thống giám sát vườn rau thông qua internet, tối ưu hóa cách tưới nước so với phương pháp truyền thống, giúp kiểm soát lượng nước cần thiết cho cây trồng Hệ thống này đo độ ẩm đất, tự động bơm nước khi độ ẩm thấp và tắt khi đủ ẩm, đồng thời mở đèn cho cây quang hợp khi ánh sáng không đủ Người dùng có thể điều khiển và giám sát từ xa, tiết kiệm nước và chi phí, đồng thời dễ dàng theo dõi sự phát triển của cây, phù hợp cho những người bận rộn.
NỘI DUNG CỦA ĐỒ ÁN MÔN HỌC GỒM
- Chương 2: Cơ sở lý thuyết
- Chương 3: Tính toán thiết kế
- Chương 4: Lập trình điều khiển
- Chương 5: Kết luận và hướng phát triển
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ Module Wifi Esp8266
Module ESP8266 là một giải pháp wifi giá rẻ, được ưa chuộng cho các ứng dụng Internet và Wifi, đồng thời có thể thay thế cho các module RF khác trong việc truyền nhận dữ liệu.
ESP8266 là một chip tích hợp cao, lý tưởng cho thế giới Internet of Things (IoT) Chip này cung cấp giải pháp kết nối Wi-Fi toàn diện, cho phép lưu trữ ứng dụng và giảm tải các chức năng kết nối mạng từ bộ xử lý ứng dụng.
ESP8266 sở hữu khả năng xử lý và lưu trữ ấn tượng, cho phép tích hợp dễ dàng với các bộ cảm biến, vi điều khiển và thiết bị ứng dụng cụ thể khác thông qua GPIOS, với chi phí và PCB tối thiểu.
- Wifi 2.4 GHz ,hỗ trợ WPA/WPA2
- Chuẩn điện áp hoạt động: 3,3V
- Có 3 chế độ hoạt động: Client, Access Point, Both Client và Access Point
- Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK,
WPA2_PSK, WPA_WPA2_PSK
- Hỗ trợ cả 2 giao tiếp TCP và UDP
- Làm việc như các máy chủ có thể kết nối với 5 máy con
- LED chỉ báo truyền nhận TX/RX
2.1.2 Sơ đồ chân kết nối:
Hình 2.2 Sơ đồ các chân của ESP8266
- RESET: chân reset, tích cực mức thấp [0]
- ADC: chân đọc dữ liệu analog
- CH_PD: Kích hoạt chip, sử dụng cho Flash Boot và updating lại module
- TXD: Chân Tx của giao thức UART
- RXD: Chân Rx của giao thức UART
2.1.3 Các chế độ hoat động:
Module ESP8266 hoạt động ở 3 chể độ: TCP Client, TCP server và WiFi Access Point
* Hoạt động ở chế độ TCP Client:
- Kích hoạt tính năng đa kết nối:
Để thiết lập kết nối kênh, bạn cần chỉ định rõ ràng từ 0 đến 4 kết nối, bao gồm các loại giao thức như TCP hoặc UDP, địa chỉ IP (hoặc tên miền nếu bạn có quyền truy cập vào DNS) và số cổng thông qua lệnh CIPSTART.
Ví Dụ : AT+CIPSTART=4,"TCP","google.com",80
Nếu thành công module sẽ trả về kết nối :
- Tiếp theo, cần phải xác định bao nhiêu dữ liệu mình muốn gửi (sau khi xác định được kênh) trong này
Ví dụ chúng ta sẽ gửi "GET / HTTP / 1.0 ¥ r ¥ n ¥ r ¥ n", đó là 18 byte:
Lần này, thay vì một câu trả lời "OK" mình sẽ nhận được một “ > ” nhắc:
Các mô-đun cần gửi 18 byte dữ liệu, nhưng có sự lộn xộn khi sử dụng màn hình nối tiếp Arduino do sự khác biệt giữa yêu cầu kết thúc dòng của module ("Carriage return only") và mong đợi của máy chủ HTTP ("Cả hai NL & CR") Để khắc phục, hãy thay đổi thiết lập cho cả hai NL & CR và gửi dữ liệu, nhớ nhấn S để hoàn tất lần gửi thứ hai cho các dòng sản phẩm mà máy chủ HTTP mong đợi.
- Các mô-đun nên gửi về với:
- Bây giờ đã có sự thay đổi kết thúc cài đặt để vận chuyển trở lại để mình có thể gửi thêm lệnh
- Các mô-đun nên cung cấp một phản ứng thứ hai một khi máy chủ web đáp ứng:
- Bây giờ ta sẽ thấy dữ liệu:
- Ta có thể sẽ nhận được một phản ứng OK hoặc hai và sau đó cuối cùng một dấu hiệu cho thấy các máy chủ có đóng kết nối:
*Hoạt động ở chế độ TCP Server:
- Kết nối với một điểm truy cập WiFi
- Cho phép nhiều kết nối
- Tìm ra địa chỉ IP của các mô-đun
- Lưu ý phản ứng, ví dụ
- Thiết lập các mô-đun để lắng nghe (tham số đầu tiên, chế độ được thiết lập để 1) cho một kết nối vào một cổng cụ thể
- Từ một thiết bị khác trên cùng một mạng kết nối với các cổng lắng nghe, ví dụ: với telnet: telnet 192.168.1.2 1336
Các module sẽ hiển thị:
*Hoạt động ở chế độ WiFi Access Point:
- Các module đi kèm với một điểm truy cập được xác định trước (SSID của
"ESP_ "), nhưng ta có thể định nghĩa của mình riêng với
Để cấu hình WiFi, bạn cần thiết lập tên SSID, mật khẩu và chọn kênh hoạt động cho WiFi Access Point mà không bị trùng lặp trong khu vực Cuối cùng, hãy chọn tiêu chuẩn mã hóa phù hợp để đảm bảo an toàn cho mạng.
Giá trị mã hóa 0 có nghĩa là mật khẩu bị bỏ qua, nhưng không thể để lại giá trị rỗng Dù không thể nhận được mã hóa hiệu quả (vì nó sẽ tạo ra một mạng không được mã hóa), có thể chúng ta sẽ gặp may mắn với một firmware mới hơn.
- Để thực sự cho phép mạng để được tạo ra, ta cần phải thiết lập chế độ
"WiFi" của các mô-đun để "AP" (2) hay "Cả hai" (3):
Hiện tại, bạn có thể kết nối với mô-đun của mình như một điểm truy cập từ các thiết bị khác, chẳng hạn như máy tính xách tay hoặc điện thoại di động.
Ta có thể liệt kê các địa chỉ IP…của bất kỳ thiết bị kết nối vào mạng bằng: AT+CWLIF
- Tạo ra các phản ứng:
Bây giờ, chúng ta có thể chạy các ví dụ máy chủ từ xa và kết nối, lưu ý rằng mô-đun luôn có địa chỉ IP 192.168.4.1 khi hoạt động như một điểm truy cập (AP) Đồng thời, giao tiếp với mô-đun ESP 8266 có thể thực hiện thông qua tập lệnh AT.
Khi sử dụng giao tiếp UART để gửi lệnh AT đến Module ESP 8266, chúng ta
14 phải gửi kềm kí tư để báo kết thúc lệnh
1 Lệnh Kiểm tra kết nối: AT
Kết quả trả về: OK nếu kết nối không bị lỗi
2 Lệnh Reset module: AT + RST
Trả về: Ready sau khi reset thành công module
3 Lệnh kiểm tra phiên bản module: AT+GMR
Trả về môt dãy số là mã phiên bản module
4 Lệnh cài đặt module hoạt động ở chế độ trạm phát wifi, điểm truy cập wifi: AT+CWMODE=3
Trả về: Ok sau khi cài đặt thành công
5 Lệnh tìm các mạng wifi đang có: AT+CWLAP
Kết quả trả về là danh sách các mạng wifi mà module có thể bắt được
6 Lệnh truy cập vào mạng wifi khác
AT+CWJAP="","" Sau khi truy cập thành công, trả về: Ok
7 Lệnh lấy đỉa chỉ IP của module AT+CIFSR Trả về một dãy số là địa chỉ IP của module
8 Lệnh đặt tên và mật khẩu cho mạng wifi do module ESP8266 phát ra: AT+CIFSR="tên_mang","mật_khẩu",3,0.
Sensor DHT 11
Cảm biến DHT11 là thiết bị đo nhiệt độ và độ ẩm, được phát triển để thay thế dòng SHT1x trong các ứng dụng không yêu cầu độ chính xác cao về các chỉ số này.
- DHT11 có 4 chân như hình Nó sử dụng giao tiếp số theo chuẩn 1 dây
+ Sai số nhiệt độ: ±2ºC
Sơ đồ kết nối vi xử lý:
Hình 2.4 Sơ đồ kết nối vi xử lý Nguyên lý hoạt động: Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:
+ Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại
+ Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được
- Bước 1 : gửi tín hiệu Start
MCU thiết lập chân DATA là Output và kéo chân DATA xuống 0 trong thời gian lớn hơn 18ms, từ đó DHT11 nhận biết rằng MCU muốn đo nhiệt độ và độ ẩm.
+ MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào
+ Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11
Chân DATA của DHT11 sẽ ở mức thấp 80us trước khi được kéo lên cao trong 80us Bằng cách giám sát chân DATA, MCU có thể xác định xem có kết nối thành công với DHT11 hay không Khi tín hiệu từ DHT11 đạt mức cao, quá trình giao tiếp giữa MCU và DHT được hoàn tất.
- Bước 2: đọc giá trị trên DHT11
+ DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:
• Byte 1: giá trị phần nguyên của độ ẩm (RH%)
• Byte 2: giá trị phần thập phân của độ ẩm (RH%)
• Byte 3: giá trị phần nguyên của nhiệt độ (TC)
• Byte 4 : giá trị phần thập phân của nhiệt độ (TC)
=> Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa
Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm
Hình 2.6.Tín hiệu Start củz Bit 0 và Bit 1
• Bit 0 : Được biểu hiện bằng 1 tín hiệu mức 1 với độ rộng 26-28us
• Bit 1 : được biểu hiện bằng 1 tín hiệu mức 1 với độ rộng 70us.
Tổng Quan Về Arduino
Arduino là bo mạch vi điều khiển được thiết kế bởi nhóm giáo sư và sinh viên Ý vào năm 2005, cho phép cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có khả năng thực hiện nhiều nhiệm vụ, từ việc lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ và các thiết bị khác Bên cạnh đó, Arduino cũng có thể kết nối với nhiều module như module đọc thẻ từ, ethernet shield, sim900A, nhằm mở rộng khả năng ứng dụng của nó.
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Hiện phần cứng
Arduino có 6 phiên bản, trong đó Arduino Uno và Arduino Mega là hai phiên bản phổ biến nhất Arduino Uno được sử dụng rộng rãi trên toàn cầu, với nhiều hướng dẫn và ví dụ trên YouTube, giúp người mới học dễ dàng tiếp cận và tự học.
Phần mềm IDE là công cụ chính để lập trình cho mạch Arduino, được phát triển dưới dạng mã nguồn mở Người dùng có thể dễ dàng tải phần mềm này từ trang web chính thức của Arduino tại arduino.cc.
2.3.1 Phần Cứng Của Arduino Uno R3:
Phần này nói về phần cứng của Arduino Uno R3, một bo mạch thông dụng hiện nay
*Chân xuất tín hiệu ra:
Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu
Chân băm xung (PWM) là những chân có khả năng điều khiển tốc độ động cơ hoặc độ sáng của đèn Hình 2.4 minh họa rõ ràng chức năng của các chân này.
IC Atmega 328 là thành phần chính của bo mạch Arduino Uno, đóng vai trò quan trọng trong việc thu thập và xử lý dữ liệu từ cảm biến, cũng như xuất tín hiệu ra Chân ICSP của ATmega 328 hỗ trợ kết nối và lập trình cho vi điều khiển này.
The ICSP pins of the ATmega 328 are utilized for SPI (Serial Peripheral Interface) communication, which is essential for various Arduino applications For instance, these pins are used when interfacing with the RC522 RFID module or the Ethernet Shield in Arduino projects.
*Chân lấy tín hiệu Analog:
Các chân này lấy tín hiệu Analog (tín hiệu tương tự) từ cảm biến để IC
Atmega 328 xử lý Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5
*Chân cấp nguồn cho cảm biến:
Các chân trên bo mạch cung cấp nguồn cho thiết bị bên ngoài như relay, cảm biến và servo RC, với các chân GND, 5V và 3.3V dễ dàng sử dụng Nhờ vào các chân này, người dùng không cần thiết bị chuyển đổi điện để cấp nguồn cho các thiết bị Ngoài ra, còn có chân Vin, chân reset và chân IOREF, tuy nhiên, chúng ít được sử dụng và sẽ không được đề cập chi tiết trong tài liệu này.
*Các linh kiện khác trên board Arduino Uno R3:
Arduino Uno R3 còn sở hữu một số linh kiện quan trọng khác ngoài các linh kiện đã nêu Bo mạch này bao gồm 4 đèn LED, trong đó có 1 đèn nguồn (LED ON) để báo hiệu rằng bo mạch đã được cấp nguồn, 2 đèn Tx và Rx để hiển thị trạng thái truyền dữ liệu, và 1 đèn L.
Rx sẽ nhấp nháy khi có dữ liệu truyền qua cổng USB từ board lên máy tính hoặc ngược lại Led L, được kết nối với chân số 13, là led on board giúp người dùng thực hành các bài đơn giản mà không cần sử dụng thêm led ngoài.
Trong 14 chân ra của bo còn có 2 chân 0 và 1 có thể truyền nhận dữ liệu nối tiếp TTL Có một số ứng dụng cần dùng đến tính năng này, ví dụ như ứng dụng điều khiển mạch Arduino Uno R3 qua điện thoại sử dụng bluetooth HC05
Chân 2 và chân 3 được sử dụng cho lập trình ngắt (interrupt), bên cạnh đó còn có một số chân khác có thể đảm nhận các chức năng bổ sung.
2.3.2 Sơ đồ nguyên lý Arduino Uno R3:
Hình 2.7 Sơ đồ nguyên lý Arduino Uno R3
- Chíp vi điều khiển: Atmega 328
- Kênh băm xung PWM: 7 Kênh
- Cổng vào/ra tương tự: 12 Cổng
- Dòng DC vào/ra mỗi cổng: 40 mA (5V), 50 mA (3,3V)
- Bộ nhớ chương trình: 32KB trong đó 4 KB được sử dụng làm bootloader
Bộ nhớ SRAM có dung lượng 2.5 Kbyte, nơi lưu trữ giá trị của các biến được khai báo trong quá trình lập trình Số lượng biến khai báo càng nhiều thì yêu cầu về bộ nhớ RAM càng lớn Tuy nhiên, dữ liệu trên SRAM sẽ bị mất khi có sự cố mất điện.
Atmega328 là vi điều khiển 8 bit mạnh mẽ hơn Atmega8, thuộc họ MegaAVR của Atmel Với kiến trúc RISC, Atmega328 sở hữu 32KB bộ nhớ chương trình ISP flash có khả năng ghi xóa nhiều lần, 1KB EEPROM và 2KB SRAM, mang lại hiệu suất cao trong lĩnh vực vi xử lý 8 bit Bootloader Arduino cho phép lập trình viên gửi mã chương trình cho ATmega328 qua giao thức Serial, giúp đơn giản hóa quá trình phát triển ứng dụng.
Bài viết đề cập đến các tính năng của hệ thống, bao gồm các ngắt nội và ngoại với hai lệnh trên một vector ngắt, cũng như giao thức truyền thông nối tiếp như USART, SPI và I2C Hệ thống còn hỗ trợ bộ biến đổi số tương tự 10 bít (ADC/DAC) có khả năng mở rộng tới 8 kênh và có tính năng lập trình được.
22 watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader
Hình 2.8 Atemega328 thực tế Atemega328 có khả năng hoạt động trong một dải điện áp rộng (1.8V – 5.5V), tốc độ thực thi (thông lượng) 1MIPS trên 1MHz
Hình 2.9 Các chân của Atemega328
Vi điều khiển Atmega328 hiện nay rất phổ biến trong các dự án nhỏ của sinh viên và học sinh nhờ vào chi phí thấp, khả năng xử lý mạnh mẽ và mức tiêu thụ năng lượng thấp (0.2 mA trong chế độ hoạt động, 0.1 μA trong chế độ ngủ và 0.75 μA trong chế độ tiết kiệm) Sự hỗ trợ nhiệt tình từ cộng đồng người dùng AVR cũng góp phần vào thành công của Atmega328, đặc biệt trong các sản phẩm mã nguồn mở như Arduino Uno (R3), Arduino Nano và Arduino Pro Mini, giúp người dùng dễ dàng hoàn thành chương trình chỉ trong “nháy mắt”.
- Kiến trúc CPU: 8Bit, Atmel
- Dộ phân giải ADC: 10 Bit
- Số chân vào ra IO: 23
- Giao tiếp Truyền thông: SPI, TWI, UART
Module cảm biến dòng (ACS712)
2.4.1 Lý thuyết về hiệu ứng Hall:
Trong nghiên cứu này, tôi đã sử dụng cảm biến dòng ASC712 để đo dòng điện qua tải, thiết bị hoạt động dựa trên hiệu ứng Hall.
24 thiệu về lý thuyết hiệu ứng Hall
Hiệu ứng Hall là hiện tượng vật lý xảy ra khi một từ trường vuông góc tác động lên một thanh kim loại, chất bán dẫn hoặc chất dẫn điện đang mang dòng điện Hiện tượng này tạo ra hiệu điện thế, gọi là hiệu thế Hall, xuất hiện giữa hai bề mặt đối diện của thanh Hall.
Điện trở Hall, tỷ số giữa hiệu thế Hall và dòng điện trong thanh Hall, đặc trưng cho vật liệu cấu thành thanh Hall Hiệu ứng này được phát hiện bởi Edwin Herbert Hall vào năm 1879.
Hình 2.10 Nguyên lý hiệu ứng Hall khi chưa có từ trường (a) và khi có từ trường (b)
Hình 1(a) minh họa nguyên lý cơ bản của hiệu ứng Hall, trong đó một tấm vật liệu bán dẫn mỏng (phần tử Hall) có dòng điện chạy qua Khi kết nối ngõ ra vuông góc với chiều dòng điện và không có từ trường tác động, sự phân bố dòng điện giữ nguyên và không xuất hiện điện áp ở ngõ ra.
Khi một từ trường vuông góc được đặt vào như hình (b), lực Lorentz tác động lên dòng điện, gây ra sự nhiễu loạn trong phân bố dòng điện Hệ quả của hiện tượng này là sự hình thành một điện áp khác biệt ở ngõ ra, được gọi là điện áp Hall.
Công thức liên hệ giữa hiệu thế Hall, dòng điện và từ trường là:
VH= IB/(den) Trong đó:
+ V H là hiệu thế Hall Đơn vị: Volt (V)
+ I là cường độ dòng điện Đơn vị: Ampere (A)
+ B là cường độ từ trường Đơn vị : Tesla (T)
+ d là độ dày của thanh Hall Đơn vị : Mét (m)
+ e là điện tích của hạt mang điện chuyển động trong thanh Hall Đơn vị: Coulomb (C)
+ n mật độ các hạt mang điện trong thanh Hall Đơn vị: 1/m 3
2.4.2Giới thiệu IC cảm biến dòng ASC712:
ACS712 của hãng Allegro là giải pháp kinh tế và chính xác cho việc cảm ứng dòng AC hoặc DC trong các hệ thống công nghiệp, thương mại và liên lạc Thiết bị có dạng đóng gói tiện lợi, giúp người sử dụng dễ dàng lắp đặt Với mạch điện Hall tuyến tính, độ lệch thấp và độ chính xác cao, ACS712 cảm biến dòng điện hiệu quả và tạo ra điện áp ngõ ra tương ứng Nhờ những tính năng nổi bật này, tôi đã chọn IC ACS712 cho kênh đo dòng điện của mình.
- Cảm biến dòng ASC712: có chức năng ánh xạ dòng điện qua tải thành một điện áp ngõ ra tương ứng Điện áp ngõ ra này có dạng:
Hình 2.11 Biểu đồ điện áp ngõ ra
= 2.5VDC là cố định tại ngõ ra của ASC712, tín hiệu dạng sine là ánh xạ của dòng điện qua tải với tỉ lệ 1 A 100 mV
- Mặt khác module ASC712 luôn cho ra trên ngõ V+ một điện áp DC bằng
V cc , do đó ta dùng điện trở R1 và R2 để phân áp từ nguồn Vcc, tạo ra điện áp
V cc đưa tới ngõ V- Như vậy sẽ triệt được thành phần
DC khi đưa vào bộ chuyển đổi
Hình 2.12 Cấu trúc của IC ASC712
Bảng 2.1 Mô tả chức năng chân:
Số thứ tự chân Tên Chức năng
1 và 2 IP+ Ngõ vào của dòng cần đo
3 và 4 IP- Ngõ ra của dòng cần đo
6 FILTER Chân lắp tụ chọn khoảng tần số làm việc
7 VIOUT Điện áp ngõ ra tương ứng với dòng điện vào
*Các đặc điểm chính của IC cảm biến dòng ASC712:
- Đường tín hiệu analog độ nhiễu thấp
- Băng thông của thiết bị được thiết định thông qua chân FILTER mới
- Thời gian tăng của ngõ ra để đáp ứng với dòng ngõ vào là 5us
- Tổng lỗi ngõ ra tại T% o C là 1.5%
- Dạng đóng gói SOIC8 với các chân nhỏ
- Điện trở dây dẫn trong 1.2MΩ
- Điện áp cách điện tối thiểu 2.1kV RMS từ chân 1-4 đến chân 5-8
- Độ nhạy ngõ ra từ 66 đến 185mV/A
- Điện áp ngõ ra tương ứng với dòng AC hoặc DC
- Điện áp offset (lệch ) ngõ ra cực kỳ ổn định
- Sự trễ từ gần bằng 0
- Ngõ ra tỷ lệ trực tiếp với ngõ vào từ nguồn cung cấp
* Mạch ứng dụng đo dòng:
Hình 2.13 Mạch ứng dụng đo dòng
Cảm biến độ ẩm đất
Cảm biến độ ẩm đất hoạt động với trạng thái đầu ra thấp (0V) khi đất đủ nước, và sẽ chuyển sang mức cao (5V) khi đất thiếu nước Độ nhạy của cảm biến có thể được điều chỉnh linh hoạt để đáp ứng nhu cầu sử dụng.
Cảm biến độ ẩm đất có phần đầu cắm vào đất để theo dõi độ ẩm Khi độ ẩm đạt ngưỡng đã được thiết lập, đầu ra DO sẽ chuyển từ trạng thái thấp sang cao.
Cảm biến độ ẩm đất được thiết kế với 4 chân: Vcc, GND, và hai ngõ ra D0 và A0 Trong đó, D0 cung cấp giá trị trả về ở mức logic 0 hoặc 1, trong khi A0 cho phép trả về giá trị analog, giúp đọc độ ẩm của đất một cách chính xác hơn.
- Khi cấp nguồn, led báo nguồn sáng
- Mạch có 2 đầu ra D0 và A0 tương ứng với digital output và analog output
- Board mạch tích hợp 1 mạch phân áp và 1 mạch so sánh sử dụng opam
- Mạch phân áp đưa tín hiệu đầu ra analog đưa vào chân so sánh của mạch opam và chân đầu ra analog
Mạch so sánh có khả năng thực hiện so sánh và cung cấp tín hiệu logic (1 hoặc 0) ở đầu ra số Bên cạnh đó, bo mạch còn được trang bị hai đèn LED, bao gồm một LED báo nguồn và một LED báo trạng thái.
Mạch digital output hoạt động bằng cách cài đặt ngưỡng so sánh thông qua biến trở Điện trở của cảm biến tỷ lệ thuận với độ ẩm, khi độ ẩm tăng, điện trở cũng tăng Theo sơ đồ phân áp, điện áp đầu ra tỷ lệ thuận với điện trở cảm biến, do đó độ ẩm đất cũng tỷ lệ thuận với điện áp đầu ra Khi độ ẩm thay đổi, điện trở trên cảm biến thay đổi dẫn đến điện áp đầu ra vào cổng so sánh trên opam cũng thay đổi Nếu điện áp từ cảm biến chưa vượt qua ngưỡng cài đặt, đầu ra D0 sẽ ở mức thấp và đèn LED không sáng Ngược lại, khi điện áp vượt qua ngưỡng, đầu ra D0 sẽ ở mức cao và đèn LED sẽ sáng.
Chân analog output được kết nối trực tiếp với mạch phân áp của cảm biến mà không qua mạch so sánh opam, giúp truyền tín hiệu điện áp trực tiếp đến đầu ra A0, phục vụ cho các mục đích đo lường, quan trắc và giám sát.
Hình 2.14 Sơ đồ nguyên lý cảm biến độ ẩm đất
• Led đỏ báo nguồn vào, Led xanh báo độ ẩm
IC LM393 được sử dụng trong các module cảm biến độ ẩm để phát hiện sự thay đổi điện áp tại đầu vào khi cảm biến kích hoạt Khi độ ẩm thay đổi, IC LM393 sẽ phản ứng ngay lập tức, cho phép người dùng theo dõi và điều chỉnh môi trường một cách hiệu quả.
Cảm biến độ ẩm đất sẽ phát ra tín hiệu 0V khi có sự thay đổi, từ đó giúp xác định mức độ ẩm của đất một cách chính xác.
• DO: Đầu ra tín hiệu số 0 và 1( Khi độ ẩm đất vượt quá giá trị được thiết lập, ngõ ra của module D0 ở mức giá trị là 0V )
• AO: Đầu ra Analog ( Tín hiệu tương tự )
+ Đầu ra Analog AO có thể được kết nối với bộ chuyển đổi ADC để có thể nhận được các giá trị chính xác hơn độ ẩm của đất
LM393 là vi mạch bao gồm hai bộ so sánh độc lập, có điện áp bù nhỏ khoảng 2.0mV, và có thể hoạt động với nguồn cấp đơn hoặc hai nguồn đối xứng Vi mạch này tương thích với cả chuẩn TTL và CMOS, thường được sử dụng trong các bộ chuyển đổi tương tự – số đơn giản, khối VCO, mạch tạo trễ thời gian, sóng vuông, mạch dao động và cổng logic số thế cao.
Hình 2.15 Ảnh thực tế và sơ đồ chân của LM 393
Bảng 2.2 Chức năng các chân
- Dải nguồn nuôi rộng từ 2Vdc đến 36Vdc
- Dải nguồn nuôi kép +/- 1Vdc đến +/- 18Vdc
- Dòng cực máng rất thấp độc lập với điện áp nguồn nuôi: 0.4mA
- Dòng lối vào thấp: 25nA
- Dòng offset lối vào thấp +/- 5nA và điệp áp off set cực đại là +/- 3mA
- Dải điện áp lối vào chung thấp (bao gồm cả mức điện áp bằng đất)
- Dải điện áp lối vào vi sai bằng với điện áp của nguồn cung cấp
- Điện áp offset lối vào thấp:– 2mA đối với LM393A.– 5mA đối với LM293/393
- Điện áp lối ra tương thích với các mức log ic DTL, ECL, TTL, MOS và CMOS
- Điện áp bão hòa lối ra thấp: 250mV, 4mA
*Sơ đồ khối chức năng:
Hình 2.16 Sơ đồ khối chức năng
Bảng 2.3 Bảng thông số kỹ thuật
Bảng 2.4 Đặc điểm các loại Op-Am
*Một số mạch ứng dụng của LM393:
Hình 2.17 Một số sơ đồ mạch ứng dụng
LCD16x2 (HD44780)
Hiện nay, màn hình LCD (Liquid Crystal Display) được ứng dụng rộng rãi trong các thiết bị VĐK nhờ vào nhiều ưu điểm vượt trội LCD có khả năng hiển thị đa dạng ký tự, bao gồm chữ, số và ký tự đồ họa, đồng thời dễ dàng tích hợp vào mạch ứng dụng thông qua nhiều giao thức giao tiếp khác nhau.
Hình 2.19 Các chân LCD16x2 (HD44780) Bảng 2.5 Chức năng các chân của LCD
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch điều khiển
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
The RS pin, or Register Select pin, is crucial for determining the operation mode of an LCD By connecting the RS pin to logic "0" (GND), the data bus DB0-DB7 will interface with the Instruction Register (IR) of the LCD in write mode Conversely, if the RS pin is connected to logic "1" (VCC), the data bus will connect to the address counter of the LCD in read mode.
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu
5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
Trong chế độ ghi, dữ liệu trên bus sẽ được LCD chấp nhận và chuyển vào thanh ghi nội bộ khi phát hiện xung chuyển từ cao xuống thấp của tín hiệu chân E.
Khi ở chế độ đọc, dữ liệu sẽ được LCD xuất ra các chân DB0-DB7 khi phát hiện cạnh lên (chuyển từ thấp sang cao) tại chân E, và dữ liệu này sẽ được giữ trên bus cho đến khi chân E trở về mức thấp.
Bảng 2.6 Chức năng các chân RS và R\W theo mục đích sử dụng
0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở
1 0 Ghi vào thanh ghi DR
1 1 Đọc vào thanh ghi DR
* Bộ đếm địa chỉ AC : (Address Counter)
Thanh ghi IR không trực tiếp kết nối với vùng RAM (DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC Bộ đếm này lại nối với 2 vùng
RAM theo kiểu rẽ nhánh cho phép khi một địa chỉ lệnh được nạp vào thanh ghi IR, thông tin sẽ được kết nối trực tiếp đến hai vùng RAM Việc lựa chọn vùng RAM tương tác được xác định ngay trong mã lệnh.
Sau khi dữ liệu được ghi vào RAM, bộ đếm AC tự động tăng hoặc giảm 1 đơn vị Nội dung của AC sẽ được truyền đến MPU qua các chân DB0-DB6 khi RS=0 và R/W=1 Thời gian cập nhật AC không được tính vào thời gian thực thi lệnh mà sẽ được thực hiện sau.
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :
+ 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
15 - Nguồn dương cho đèn nền
Khi cờ BF đạt mức cao (not busy), cần phải delay khoảng TADD từ 4uS đến 5uS (sau khi BF=1) trước khi nạp dữ liệu mới trong quá trình lập trình hiển thị.
Trong sơ đồ khối của LCD, có nhiều khối khác nhau, nhưng khi lập trình điều khiển, chúng ta chỉ có thể tác động trực tiếp vào hai thanh ghi DR và IR thông qua các chân DBx Để chuyển đổi giữa hai thanh ghi này, cần thiết lập các chân RS và R/W một cách phù hợp.
Mỗi lệnh gửi đến LCD đều yêu cầu một khoảng thời gian để hoàn tất, thời gian này có thể lâu do tốc độ của MPU Do đó, cần kiểm tra cờ BF hoặc sử dụng phương pháp đợi (delay) để đảm bảo rằng LCD đã thực thi xong lệnh hiện tại trước khi gửi lệnh tiếp theo.
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi vào RAM (Điều này giúp chương trình gọn hơn)
Các lệnh của LCD có thể chia thành các nhóm như sau:
1 Các lệnh về kiểu hiển thị
2 Chỉ định địa chỉ RAM nội
3 Nhóm lệnh truyền dữ liệu trong RAM nội.
Module Relay 2 Kênh
- Relay là thiết bị đóng cắt cơ bản, nó được sử dụng rất nhiều trong cuộc sống và trong các thiết bị điện tử
- Cấu tạo Relay gồm 2 phần: o Cuộn hút:
- Tạo ra năng lượng từ trường để hút tiếp điểm về phía mình
- Tùy vào điện áp làm việc người ta chia Relay ra DC: 5V, 12V, 24V
- Khi không có từ trường ( ko cấp điện cho cuộn dây) Tiếp điểm 1 được tiếp xúc với tiếp điểm 2 nhờ lực của lò xo Tiếp điểm thường đóng
- Khi có năng lượng từ trường thì tiếp điểm 1 bị hút chuyển sang 3
- Trong Relay có thể có 1 cặp tiếp điểm, 2 cặp tiếp điểm hoặc nhiều hơn Điều khiển Relay DC:
- Trong nội dung bài tập chung vào phân tích mạch Relay DC 5V, ghép nối với vi điều khiển
- Trong mạch trên là sơ đồ của 2 cặp Relay 5V
- Ta phân tích hoạt động của Relay 1 (Sử dụng Transistor PNP) o Tín hiệu S1 từ VĐK gửi tới
Khi S1 = 1; Q1 khóa lại, không có dòng chạy qua cuộn hút Relay1 Đèn LED1 tắt Tiếp điểm 1 với 2 nối với nhau
Khi S1 = 0; Q1 mở, có dòng từ VCC qua khóa Q1 cấp điện cho Cuộn hút Lúc này có chuyển mạch của cặp tiếp điểm Tiếp điểm 1 nối với
Diode D1 được kết nối ở hai đầu cuộn dây của Relay nhằm xả dòng cho cuộn hút khi không hoạt động Đối với sơ đồ sử dụng Relay 12V hoặc 24V, cần thiết phải bổ sung một mạch Buff để đảm bảo hoạt động ổn định.
Do tín hiệu điều khiển 5V, không cùng điện áp với điện áp cấp cho Relay (12V, 24V)
Ngoài việc sử dụng transistor PNP, chúng ta có thể điều khiển bằng transistor NPN (C1815) Khi S1 = 1, Q1 dẫn, dòng điện được cấp cho cuộn hút của Relay, làm cho đèn LED1 sáng Ngược lại, khi S1 = 0, Q1 ngắt, không có dòng qua cuộn hút, khiến đèn LED1 tắt Sơ đồ này cho phép thay thế Relay 5V bằng 12V hoặc 24V (tương ứng với VCC = 12V, 24V), trong khi điện áp điều khiển S1 chỉ cần 0,5V, mạch vẫn hoạt động bình thường.
2.7.2 Sơ đồ nguyên lý mạch relay 2 kênh :
Hình 2.20 Sơ đồ nguyên lý mạch relay 2 kênh
Hình 2.21 Ảnh thực tế và sơ đồ chân Transistor S8550
- Dòng điện cực đại: Ic= -500mA
- Công suất cực đại: Pc= 300mW
- Hệ số khuếch đại( hfe): 120-350
- Tần số cắt: Ft >150MHz
Bảng 2.7 Thông số kỹ thuật
Module BH1750
Cảm biến cường độ ánh sáng BH1750 đo lường cường độ ánh sáng bằng đơn vị lux, với tính năng tích hợp ADC nội và bộ tiền xử lý, cho phép trả về giá trị trực tiếp của cường độ ánh sáng.
- Độ Phân Giải ADC: 16Bit
Lumen là đơn vị đo lượng ánh sáng phát ra từ một nguồn trong một giây, được gọi là quang điện hoặc thông lượng chiếu sáng Cảm biến ánh sáng ghi nhận giá trị này trên một mét vuông, và đơn vị đo được sử dụng là Lux, viết tắt là lx.
* Module BH1750 có các ưu điểm sau:
- Chuyển từ tín hiệu ánh sáng sang kỹ thuật số
- Nhận tín hiệu trong phạm vi rộng với độ phân giải cao: từ 1-65535 lx
- Tiêu thụ điện năng rất thấp nhờ tính năng tự ngắt
- Tính năng giảm nhiễu ánh sáng 50Hz/60Hz
- Không yêu cầu phụ kiện bổ sung ngoài
- Có thể lựa chọn 2 kiểu I2C slave-address
- Có thể phát hiện thấp nhấp là 0.11lx, tối đa 100000lx khi sử dụng tính năng này
* Cường độ được tính như sau :
- Trời mây trong nhà: 5 - 50 lx
- Trời mây ngoài trời: 50 - 500 lx
- Trời nắng trong nhà: 100- 1000 lx
Hình 2.22 Sơ đồ nguyên lý Module BH1750
Hình 2.23 Sơ đồ chân BH1750
*Sơ đồ khối chức năng:
Hình 2.24 Sơ dồ khối chức năng
Máy Bơm Mini 6-12V MB385
Hình 2.26 Máy Bơm Mini 6-12V MB385
- Điện áp sử dụng: DC 6 -12V
- Nhiệt độ hoạt động: 80 độ C
- Đầu hút cách nước: