công nghệ tự động hóa ngày nay đã được ứng dụng rất nhiều trong đời sống giúp con người có được một cuộc sống tiện nghi và hiện đại hơn. Một trong những đối tượng được phát triển đó chính là năng lượng điện – nguồn năng lượng không thể thiếu trong đời sống ngày nay. Và một trong số những thiết bị được kỳ vọng đó chính là ngôi nhà thông minh hay rộng hơn đó là Internet of Things. Đề tài “Điều khiển thiết bị điện” mà nhóm đang hướng đến tuy không quá mới mẻ nhưng hứa hẹn sẽ đem đến cho người sử dụng những ứng dụng tốt nhất của công nghệ này.
CƠ SỞ LÝ THUYẾT
BO MẠCH ESP32
ESP32 là một vi điều khiển dựa trên kiến trúc hệ thống trong chip (SoC) được phát triển bởi công ty Espressif Systems ESP32 được giới thiệu lần đầu tiên vào năm 2016 và là phiên bản nâng cấp của phiên bản trước đó là ESP8266.
ESP32 được thiết kế để cung cấp khả năng kết nối Wi-Fi và Bluetooth cho các ứng dụng IoT (Internet of Things) và được tích hợp sẵn trên một chip.
Nó cũng có khả năng xử lý và điều khiển các tác vụ phức tạp hơn so với ESP8266 với bộ xử lý kép và bộ nhớ lớn hơn.
ESP32 được phát triển dựa trên nền tảng mã nguồn mở và được hỗ trợ bởi cộng đồng lập trình viên rộng lớn Nó cũng được tích hợp với nhiều công cụ phát triển phần mềm để giúp cho việc phát triển ứng dụng IoT trở nên dễ dàng hơn.
Trong những năm qua, ESP32 đã trở thành một trong những vi điều khiển phổ biến nhất được sử dụng trong các ứng dụng IoT như cảm biến, điều khiển thiết bị, hệ thống giám sát và nhiều ứng dụng khác.
Bo mạch ESP32 là một bo mạch điều khiển nhỏ gọn, tích hợp sẵn vi điều khiển ESP32 SoC, được sản xuất bởi công ty Espressif Systems Bo mạch này được thiết kế để cung cấp khả năng kết nối Wi-Fi và Bluetooth cho các ứng dụng IoT, với khả năng hoạt động độc lập hoặc làm phần mở rộng cho các hệ thống khác
Bo mạch ESP32 có thể được lập trình bằng nhiều ngôn ngữ và bộ công cụ phát triển phần mềm khác nhau, nhưng phổ biến nhất là sử dụng ngôn ngữ lập trình Arduino và sử dụng IDE Arduino để phát triển ứng dụng ESP32 cũng được hỗ trợ bởi các cộng đồng lập trình viên rộng lớn và có sẵn nhiều tài liệu và ví dụ code để giúp người dùng phát triển ứng dụng.
Các tính năng của ESP32 bao gồm:
CPU: Bộ vi xử lý Xtensa lõi kép (hoặc lõi đơn) 32-bit LX6, hoạt động ở tần số 240 MHz (160 MHz cho ESP32-S0WD và ESP32-U4WDH) và hoạt động ở tối đa 600 MIPS (200 MIPS với ESP32-S0WD/ESP32-U4WDH)
Bộ đồng xử lý (co-processor) công suất cực thấp (Ultra low power, viết tắt: ULP) hỗ trợ việc đọc ADC và các ngoại vi khi bộ xử lý chính (main processor) vào chế độ deep sleep.
Hệ thống xung nhịp: CPU Clock, RTC Clock và Audio PLL Clock
448 KB bộ nhớ ROM cho việc booting và các tính năng lõi
520 KB bộ nhớ SRAM trên chip cho dữ liệu và tập lệnh
Bluetooth: v4.2 BR/EDR và BLE (chia sẻ sóng vô tuyến với Wi-Fi)
34 GPIO pad vật lý với các ngoại vi:
10 cảm biến cảm ứng (touch sensor) (GPIO cảm ứng điện dung)
SPI (SPI, HSPI và VSPI) hoạt động ở cả 2 chế độ master/slave Module ESP32 hỗ trợ 4 ngoại vi SPI với SPI0 và SPI1 kết nối đến bộ nhớ flash của ESP32 còn SPI2 và SPI3 tương ứng với HSPI và VSPI.
2 I²C, hoạt động được ở cả chế độ master và slave, với chế độ Standard mode (100 Kbit/s) và Fast mode (400 Kbit/s) Hỗ trợ 2 chế độ định địa chỉ là 7-bit và 10-bit Các GPIO đều có thể được dùng để triển khai I²C.
3 UART (UART0, UART1, UART2) với tốc độ lên đến 5 Mbp
SD/SDIO/CE-ATA/MMC/eMMC host controller
Ethernet MAC interface cho DMA và IEEE 1588 Precision Time
Bộ điều khiển hồng ngoại từ xa (TX/RX, lên đến 8 kênh)
PWM cho điều khiển động cơ
LED PWM (lên đến 16 kênh)
Cảm biến hiệu ứng Hall
Bộ tiền khuếch đại analog công suất cực thấp (Ultra low power analog pre-amplifier)
Hỗ trợ tất cả các tính năng bảo mật chuẩn IEEE 802.11, bao gồm WFA, WPA/WPA2 và WAPI.
Secure boot (tạm dịch: khởi động an toàn)
1024-bit OTP, lên đến 768-bit cho khách hàng
Tăng tốc mã hóa phần cứng: AES, SHA-2, RSA, elliptic curve cryptography (ECC, tạm dịch: mật mã đường cong ellip), trình tạo số ngẫu nhiên (random number generator, viết tắt: RNG)
Hỗ trợ 5 chế độ hoạt động với mức tiêu thụ năng lượng khác nhau: Active, Modemơ-sleep, Light-ơsleep, Deep-ơsleep và Hibernation
Bộ ổn áp nội với điện áp rơi thấp (internal low-dropout regulator)
Miền nguồn riêng (individual power domain) cho RTC
Trở lại hoạt động từ ngắt GPIO, timer, đo ADC, ngắt với cảm ứng điện dụng.
ESP32 là một vi điều khiển nhúng (microcontroller) được tích hợp sẵn Wi-Fi và Bluetooth, nó có thể được sử dụng trong nhiều ứng dụng IoT khác nhau, bao gồm:
Thiết bị đo lường và giám sát: ESP32 có thể được sử dụng để thiết kế các thiết bị đo lường và giám sát, như các thiết bị đo nhiệt độ, độ ẩm, ánh sáng, chất lượng không khí, v.v. Điều khiển thiết bị: ESP32 có thể được sử dụng để điều khiển các thiết bị như đèn LED, motor, cửa tự động, hệ thống tưới cây, v.v.
Hệ thống giám sát và điều khiển: ESP32 có khả năng kết nối Wi-Fi và
Bluetooth, cho phép nó được sử dụng để giám sát và điều khiển các hệ thống từ xa, chẳng hạn như hệ thống an ninh, hệ thống quản lý năng lượng, v.v.
Thiết bị chuyển đổi thông tin: ESP32 có thể được sử dụng để chuyển đổi thông tin từ các cảm biến hoặc các thiết bị khác sang các dữ liệu số, giúp cho việc xử lý
TÌM HIỂU VỀ WOOKWI
Wokwi là một trình mô phỏng phần cứng trực tuyến, cho phép người dùng mô phỏng các mạch điện tử và vi điều khiển trên nền web Với Wokwi, người dùng có thể tạo ra các mạch điện tử phức tạp và mô phỏng chúng trực tiếp trên trang web, giúp tiết kiệm thời gian và chi phí cho việc lắp ráp và kiểm tra các mạch trên thực tế.
Wokwi hỗ trợ nhiều loại vi điều khiển và mạch điện tử phổ biến, bao gồm các loại vi điều khiển Arduino, Raspberry Pi, ESP32, các loại cảm biến, và các linh kiện điện tử khác như đèn LED, motor, v.v Người dùng có thể kéo thả các linh kiện này vào môi trường mô phỏng và kết nối chúng với nhau để tạo thành một mạch điện tử hoàn chỉnh.
Wokwi cung cấp một giao diện trực quan và dễ sử dụng cho phép người dùng tương tác với các linh kiện và vi điều khiển trong mạch điện tử, cũng như xem trạng thái của các linh kiện và vi điều khiển trong quá trình mô phỏng Ngoài ra, Wokwi còn cung cấp một chế độ debug cho phép người dùng theo dõi và gỡ lỗi chương trình trên vi điều khiển.
Wokwi là một công cụ hữu ích cho các nhà phát triển và học sinh trong việc phát triển và kiểm tra các mạch điện tử và chương trình trên vi điều khiển một cách nhanh chóng và dễ dàng Nó cũng là một cách tiết kiệm thời gian và chi phí trong việc kiểm tra các mạch điện tử trước khi triển khai chúng trên thực tế.
2.2.2 Mô phỏng ESP32 trên Wokwi
CẢM BIẾN VÀ CÁC MODULE CHỨC NĂNG
2.3.1 Cảm biến ánh sáng (LDR)
Cảm biến ánh sáng là thiết bị quang điện chuyển đổi ánh sáng (bao gồm cả ánh sáng nhìn thấy và ánh sáng dạng tia hồng ngoại) thành tín hiệu điện Nó là một dạng thiết bị cảm biến thông minh có thể nhận biết được các biến đổi của môi trường thông qua mắt cảm biến Từ đó, nó sẽ điều chỉnh ánh sáng cho phù hợp.
Hình 2 5 Cảm biến ánh sáng quang trở
Cảm biến này có thể nhận biết và điều chỉnh ánh sáng dựa trên các đi ốt quang học Cảm biến ánh sáng được gọi là “thiết bị quang điện” hay “cảm biến ảnh vì năng lượng được chuyển đổi từ phonto sang electron.
Model: VELT-W-LUX-I4 ngõ ra 4-20mA.
VELT-W-LUX-V10 ngõ ra 0-10VDC
VELT-W-LUX-RS ngõ ra RS485.
Ngõ ra điều khiển: 4-20mA, 0-10VDC, RS485.
Nhiệt độ và môi trường hoạt động: -20~60 độ C.
Cảm biến ánh sáng hoạt động dựa trên nguyên lý của hiệu ứng quang điện. Hiệu ứng quang điện là hiện tượng một số chất đặc biệt sau khi hấp thụ ánh sáng sẽ chuyển đổi năng lượng ánh sáng thành năng lượng điện.
Hiệu ứng quang điện có thể được chia thành:
- Hiệu ứng quang điện trong: Hiện tượng quang điện trong thường diễn ra với chất bán dẫn Khi chiếu ánh sáng vào vật liệu, năng lượng này sẽ làm thay đổi điện trở suất bên trong vật liệu gây ra suất điện động làm thay đổi tính chất điện của vật liệu.
- Hiệu ứng quang điện ngoài: Khi bề mặt của vật liệu được chiếu bởi ánh sáng, các điện tử sẽ hấp thụ năng lượng để tạo ra điện Khi các điện tử từ bên trong vật liệu bật ra ngoài bề mặt của vật liệu sẽ tạo ra hiệu ứng quang điện ngoài. Ứng dụng
Hiện nay trên nhiều thiết bị thông minh, cảm biến ánh sáng được ứng dụng vào với vai trò:
Kiểm soát mức độ chiếu sáng của hệ thống đèn thông minh trong gia đình. Điều chỉnh đèn nền của các thiết bị điện tử như tivi, màn hình máy tính, máy tính bảng, đèn nền LCD, máy ảnh kỹ thuật số,
Kiểm soát tiết kiệm năng lượng của các thiết bị chiếu sáng cảm ứng, đồ chơi hoặc các màn hình quảng cáo ngoài trời,
2.3.2 Cảm biến nhiệt độ độ ẩm (DHT22)
Cảm Biến Nhiệt Độ Và Độ Ẩm DHT22 là cảm biến rất thông dụng hiện nay vì truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào.
Điện áp hoạt động: 3V - 5V DC
Khoảng đo nhiệt độ: -40 ~ 80 độ C sai số 0.5% độ C
Phạm vi cảm biến độ ẩm: 20% - 90% RH, sai số ±5%RH
Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)
Kích thước: 28mm x 12mm x 10mm
Cảm biến DHT22 sử dụng nguyên lý đo nhiệt độ và độ ẩm bằng cách đo tỷ lệ của độ ẩm tương đối trong không khí và nhiệt độ Cảm biến này có một cặp khí, điện trở giữa hai điện cực này sẽ thay đổi Điện trở giữa hai điện cực sẽ giảm khi độ ẩm tăng và tăng khi độ ẩm giảm.
Cảm biến cũng chứa một bộ cảm biến nhiệt độ để đo nhiệt độ Bộ cảm biến này sử dụng một linh kiện gọi là thermistor, một loại linh kiện điện trở có trở khá thay đổi theo nhiệt độ Bộ cảm biến nhiệt độ sẽ đo điện trở của thermistor và tính toán nhiệt độ tương ứng.
Dữ liệu đo được từ các bộ cảm biến này sẽ được chuyển thành tín hiệu số và truyền đến vi điều khiển thông qua giao tiếp số dạng một wire (1-wire) Vi điều khiển sau đó sẽ giải mã tín hiệu số này và tính toán giá trị độ ẩm và nhiệt độ tương ứng.
Tín hiệu truyền từ cảm biến DHT22 sử dụng giao thức truyền dữ liệu có tên là
"Single Bus Interface" để truyền dữ liệu số Các bit dữ liệu được truyền bằng cách thay đổi thời gian giữa các xung tín hiệu điều khiển Vi điều khiển sẽ đọc các xung này và giải mã thành các giá trị nhiệt độ và độ ẩm tương ứng.
Tóm lại, cảm biến DHT22 sử dụng nguyên lý đo điện trở của hạt muối để đo độ ẩm tương đối và sử dụng bộ cảm biến nhiệt độ để đo nhiệt độ Dữ liệu đo được được truyền về vi điều khiển thông qua giao thức truyền dữ liệu "Single Bus Interface" và được giải mã để tính toán giá trị độ ẩm và nhiệt độ tương ứng. Ứng dụng
Cảm biến này được sử dụng trong các ứng dụng khác nhau như đo độ ẩm và giá trị nhiệt độ trong hệ thống sưởi, thông gió và điều hòa không khí Các trạm thời tiết cũng sử dụng các cảm biến này để dự đoán điều kiện thời tiết Sinh lý cao tuổi cảm biến được sử dụng như một biện pháp phòng ngừa trong những ngôi nhà có người bị ảnh hưởng bởi độ ẩm Văn phòng, ô tô, bảo tàng, nhà kính và các ngành công nghiệp sử dụng cảm biến này để đo giá trị độ ẩm và như một biện pháp an toàn.
Kích thước nhỏ gọn và tốc độ lấy mẫu đã khiến cảm biến này trở nên phổ biến đối với những người có sở thích Một số cảm biến có thể được sử dụng thay thế cho cảm biến DHT22 là DHT11, AM2302, SHT71.
2.3.3 Cảm biến chuyển động (PIR sensor)
Nó là chữ viết tắt của Passive InfraRed sensor (PIR sensor), tức là bộ cảm biến thụ động dùng nguồn kích thích là tia hồng ngoại Tia hồng ngoại (IR) chính là các tia nhiệt phát ra từ các vật thể nóng Trong các cơ thể sống, trong chúng ta luôn có thân nhiệt (thông thường là ở 37 độ C), và từ cơ thể chúng ta sẽ luôn phát ra các tia nhiệt, hay còn gọi là các tia hồng ngoại, người ta sẽ dùng một tế bào điện để chuyển đổi tia nhiệt ra dạng tín hiệu điện và nhờ đó mà có thể làm ra cảm biến phát hiện các vật thể nóng đang chuyển động Cảm biến này gọi là thụ động vì nó không dùng nguồn nhiệt tự phát (làm nguồn tích cực, hay chủ động) mà chỉ phụ thuộc vào các nguồn tha nhiệt, đó là thân nhiệt của các thực thể khác, như con người con vật…
Phạm vi phát hiện : góc 360 độ hình nón, độ xa tối đa 6m.
Điện áp hoạt động : DC 3.8V - 5V
Mức tiêu thụ dòng: ≤ 50 uA
Thời gian báo: 30 giây có thể tùy chỉnh bằng biến trở.
Độ nhạy có thể điều chỉnh bằng biến trở.
TÌM HIỂU VỀ FIREBASE
Firebase là một nền tảng lưu trữ dữ liệu và phát triển ứng dụng web và di động được cung cấp bởi Google Nó cung cấp một loạt các dịch vụ đám mây để phát triển ứng dụng, bao gồm cơ sở dữ liệu thời gian thực, xác thực người dùng, lưu trữ tệp, thông báo đẩy và phân tích.
Firebase cung cấp một API và SDK cho nhiều ngôn ngữ lập trình khác nhau, bao gồm JavaScript, iOS, Android và các nền tảng khác Nó cũng tích hợp với các công nghệ web phổ biến như Angular, React và Vue.
Một số tính năng chính của Firebase bao gồm:
Firebase Realtime Database: Cơ sở dữ liệu thời gian thực cho phép lưu trữ và đồng bộ hóa dữ liệu giữa nhiều người dùng và các thiết bị khác nhau.
Firebase Authentication: Cung cấp các dịch vụ xác thực và quản lý người dùng, bao gồm đăng ký, đăng nhập và phân quyền truy cập.
Firebase Storage: Cho phép lưu trữ và quản lý tệp, bao gồm cả hình ảnh và video.
Firebase Cloud Messaging: Cung cấp các dịch vụ thông báo đẩy để giúp ứng dụng gửi thông báo đến người dùng.
Firebase Hosting: Cho phép lưu trữ và phân phối các ứng dụng web và tài nguyên liên quan của chúng trên nền tảng đám mây của Firebase.
Firebase là một nền tảng phát triển ứng dụng đám mây mạnh mẽ và tiện lợi, được sử dụng rộng rãi trong cộng đồng phát triển ứng dụng di động và web.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
ĐẶC TẢ HỆ THỐNG
Xuất phát từ nhu cầu mở rộng quy mô ứng dụng hệ thống nhà thông minh không chỉ tập trung cho các nhà biệt thự, khách sạn… phục vụ cho các tầng lớp giàu có thượng lưu, mà còn đem lại cho người có mức thu nhập trung bình có được cơ hội sở hữu ngôi nhà thông minh với một số tính năng tự động nhất định của riêng mình trong khả năng kinh tế có hạn Vì vậy trong phạm vi của đề tài đề xuất xây dựng mô hình điều khiển thiết bị điện dân dụng, đảm bảo cho ngôi nhà có được một số tính năng tự động như sau:
Bật tắt hệ thống chiếu sáng tự động thông qua cảm biến chuyển động và cảm biến ánh sáng.
Bật tắt điều hòa, máy quạt tự động sử dụng cảm biến nhiệt độ. Ý tưởng xây dựng thuật toán điều khiển thiết bị điện Điều khiển đèn bằng cảm biến ánh sáng Điện trở của LDR thay đổi theo lượng ánh sáng chiếu vào nó Điện trở tăng khi có ít ánh sáng xung quanh và giảm khi có ánh sáng chói Trời càng tối, điện áp rơi trên LDR càng cao Điện trở tối đa của mỗi LDR có thể khác nhau tùy thuộc vào loại LDR nhưng nó thường từ 1kΩ đến 10kΩ mặc dù nó có thể cao hơn.
Mạch hoạt động theo nguyên tắc khi một LDR và một điện trở được kết nối để tạo thành một bộ chia điện áp, điện áp rơi trên LDR tỷ lệ với điện trở của LDR tỷ lệ thuận với lượng ánh sáng chiếu vào nó.
Chiết áp và LDR tạo thành mạch Phân chia tiềm năng Khi trời tối hơn, điện trở của LDR tăng và điện áp giảm trên nó tăng Điện áp này được gửi đến Pin A0 củaArduino để chuyển đổi điện áp tương tự đo được thành một số trong khoảng từ 0 đến 1023 Tùy thuộc vào kết nối của bạn, điện áp giảm trên LDR càng cao, con số này càng gần với 1023.
Hình 3 1 Mô tả nguyên lý hoạt động cảm biến ánh sáng
Về cơ bản, LDR cảm nhận lượng ánh sáng xung quanh và thông báo cho Arduino Arduino được lập trình để bật đèn LED khi trời tối và tắt đèn khi LED có đủ ánh sáng xung quanh Điều khiển đèn bằng càm biến chuyển động
Khi có một con vật đi ngang, từ thân con vật sẽ luôn phát ra tia nhiệt, nó được tiêu tụ mạnh với kính Fresnel và rồi tiêu tụ trên bia là cảm biến hồng ngoại, vậy khi con vật đi ngang, ở ngả ra của đầu dò chúng ta sẽ thậy Xuất hiện một tín hiệu, tín hiệu này sẽ được cho vào mạch xử lý để tạo tác dụng điều khiển hay báo động.
Hình 3 2.Mô tả nguyên lý phát hiện chuyển động Điều khiển điều hòa, máy quạt bằng cảm biến nhiệt độ
Chúng em đã kết nối một rơ le để điều khiển các thiết bị chạy bằng điện áp chính như quạt bàn Khi nhiệt độ phòng đạt đến nhiệt độ ngưỡng, quạt sẽ bật và tắt khi phòng nguội dần. Đây có thể là cách tốt nhất để tiết kiệm điện và đây có thể là thiên đường cho những người lười biếng muốn người khác BẬT quạt khi họ cảm thấy ấm.
Hình 3 3 Mô tả nguyên lý hoạt động DHT22 Phát hiện rò rỉ gas bằng cảm biến khí gas
Khả năng phát hiện khí của cảm biến Gas phụ thuộc vào chemiresister (điện trở hóa trị) để dẫn dòng điện Chemiresistor được sử dụng phổ biến nhất là Thiếc Dioxit (SnO2), là một chấtbán dẫn loại N có các điện tử tự do (còn được gọi là chất cho) Thông thường trong không khí chứa nhiều oxy hơn các khí dễ cháy Các phần tử oxy sẽ thu hút các điện tử tự do có trong SnO2 và đẩy chúng lên bề mặt của SnO2 Vì không có electron tự do nên dòng điện đầu ra sẽ bằng không
Khi đặt cảm biến trong môi trường khí độc hoặc dễ cháy, khí khử này(màu da cam) phản ứng với các phần tử oxy bị hấp phụ và phá vỡ liên kết hóa học giữa oxy và các điện tử tự do, do đó giải phóng các điện tử tự do Khi các điện tử tự do trở lại vị trí ban đầu, chúng có thể dẫn dòng điện, sự dẫn điện này sẽ tỷ lệ thuận với số lượng điện tử tự do có sẵn trong SnO2, nếu khí có độc tính cao thì sẽ có nhiều điện tử tự do hơn.
SƠ ĐỒ HỆ THỐNG
3.2.1 Sơ đồ khối thành phần
Hình 3 5 Sơ đồ đấu nối