Mục lục:
- Quân nhu
- Bước 1: Sơ đồ & Mã nguồn
- Bước 2: Làm việc của mạch
- Bước 3: Kiểm tra sức khỏe
- Bước 4: Đo năng lượng và tuổi thọ pin
- Bước 5: Cải tiến trong tương lai
Video: Cảm biến cửa không dây - Công suất cực thấp: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Tuy nhiên, một cảm biến cửa khác !! Động lực thúc đẩy tôi tạo ra cảm biến này là rất nhiều thứ mà tôi thấy trên internet có hạn chế này hay hạn chế khác. Một số mục tiêu của cảm biến đối với tôi là:
1. Cảm biến phải rất nhanh - tốt nhất là dưới 5 giây
2. Bộ cảm biến sẽ hết pin Li-ion 3.7V vì tôi có hàng tá trong số chúng nằm xung quanh
3. Cảm biến sẽ hoạt động trong nhiều tháng chỉ với một lần sạc pin. Nó sẽ tiêu thụ <10uA ở chế độ ngủ
4. Cảm biến có thể đánh thức để truyền dữ liệu quan trọng như tình trạng pin ngay cả khi cửa không hoạt động trong thời gian dài.
5. Cảm biến sẽ truyền dữ liệu đến một chủ đề MQTT khi cửa được mở cũng như khi cửa được đóng lại
6. Cảm biến nên tiêu thụ cùng một lượng điện năng bất kể trạng thái của cửa
Hoạt động của cảm biến:
Cảm biến có 2 bộ điều khiển chính. Đầu tiên là bộ điều khiển siêu nhỏ ATiny 13A. Thứ hai là ESP thường ở chế độ ngủ và chỉ thức dậy khi ATiny bật chế độ này. Toàn bộ mạch cũng có thể được tạo ra chỉ nhờ ESP bằng cách sử dụng nó ở chế độ nghỉ nhưng dòng điện mà nó tiêu thụ lớn hơn nhiều so với mức cần thiết để pin có thể sử dụng trong nhiều tháng nên ATTiny đã ra tay giải cứu. Nó chỉ phục vụ mục đích đánh thức sau N giây, tìm kiếm sự kiện cửa hoặc sự kiện kiểm tra sức khỏe, nếu có, nó giữ chân CH_PD của ESP thành HIGH và gửi tín hiệu thích hợp của loại sự kiện đến ESP. Vai trò của nó kết thúc ở đó.
Sau đó, ESP sẽ tiếp quản, đọc loại tín hiệu, kết nối với WiFi / MQTT, xuất bản các thông báo cần thiết bao gồm mức pin và sau đó tự TẮT nguồn bằng cách đưa chân EN về LOW.
Bằng cách sử dụng các chip này theo cách này, tôi tận dụng lợi thế của dòng ngủ thấp của ATtiny và dòng không tải bằng 0 của ESP khi chip bị vô hiệu hóa thông qua chân CH_PD.
Quân nhu
Yêu cầu trước:
- Có kiến thức về lập trình ATTiny & ESP 01
- Kiến thức về các thành phần hàn trên PCB
ESP-01 (hoặc bất kỳ ESP nào)
ATTiny 13A - AVR
LDO 7333-A - Bộ điều chỉnh điện áp Low Dropout
Điện trở - 1K, 10K, 3K3
Tụ điện: 100uF, 0,1 uF
Công tắc nút bấm, công tắc BẬT / TẮT micro - (cả hai tùy chọn)
Diode - IN4148 (hoặc bất kỳ tương đương nào)
Pin Li-ion
Công tắc sậy
Một trường hợp để chứa tất cả
Hàn, PCB, v.v.
Bước 1: Sơ đồ & Mã nguồn
Sơ đồ như trong sơ đồ đính kèm.
Tôi đã bao gồm một MOSFET Kênh P để bảo vệ phân cực ngược. Nếu bạn không cần điều này, bạn có thể bỏ qua nó. Bất kỳ MOSFET Kênh P nào có Rds BẬT thấp sẽ làm được.
Hiện tại, ESP không có khả năng OTA nhưng đó là khả năng cải thiện trong tương lai.
Mã nguồn cảm biến cửa thông minh
Bước 2: Làm việc của mạch
Quy trình làm việc ATTiny
Điều kỳ diệu ở đây xảy ra trong cách ATTiny giám sát vị trí của công tắc cửa.
Tùy chọn thông thường sẽ là gắn một điện trở kéo lên vào công tắc và tiếp tục theo dõi trạng thái của nó. Điều này có mặt trái của dòng điện không đổi được tiêu thụ bởi điện trở kéo lên. Cách điều này đã được tránh ở đây là tôi đã sử dụng hai chân để giám sát công tắc thay vì một chân. Tôi đã sử dụng PB3 & PB4 ở đây. PB3 được định nghĩa là đầu vào và PB4 là đầu ra với INPUT_PULLUP bên trong trên PB3. Thông thường PB4 được giữ ở mức CAO khi ATtiny ở chế độ nghỉ, điều này đảm bảo không có dòng điện chạy qua điện trở kéo lên đầu vào bất kể vị trí của công tắc cây lau. I E. Nếu công tắc đóng, cả PB3 và PB4 đều CAO và do đó không có dòng điện nào chạy giữa chúng. Nếu công tắc mở thì không có đường dẫn giữa chúng và do đó dòng điện bằng không. Khi ATtiny thức dậy, nó sẽ viết THẤP trên PB4 và sau đó kiểm tra trạng thái của PB3. Nếu PB3 CAO thì công tắc sậy MỞ còn công tắc khác thì nó được ĐÓNG CỬA. Sau đó, nó sẽ ghi lại điểm CAO trên PB4.
Giao tiếp giữa ATtiny & ESP xảy ra thông qua hai chân PB1 / PB2 kết nối với Tx / RX của ESP. Tôi đã xác định tín hiệu là
PB1 PB2 ====== Tx Rx
0 0 ====== WAKE_UP (Kiểm tra sức khỏe)
0 1 ====== SENSOR_OPEN
1 0 ====== SENSOR_CLOSED
1 1 ====== KHÔNG ĐƯỢC SỬ DỤNG
Ngoài việc gửi tín hiệu đến ESP, nó cũng gửi một xung CAO trên PB0 được kết nối với chân CH_PD của ESP. Điều này đánh thức ESP. Điều đầu tiên ESP làm là giữ GPIO0 HIGH được kết nối với CH_PD, do đó đảm bảo năng lượng của nó tăng lên ngay cả khi ATTiny lấy đi PB0 HIGH. Kiểm soát bây giờ là với ESP để xác định thời điểm nó muốn tắt nguồn.
Sau đó, nó kết nối với WiFi, MQTT, đăng thông báo và tự tắt nguồn bằng cách viết LOW trên GPIO0.
ESP 01 Luồng làm việc:
Dòng ESP hướng thẳng về phía trước. Nó đánh thức và đọc giá trị của các chân Tx / Rx để xác định loại tin nhắn sẽ được đăng. Kết nối với WiFi và MQTT, đăng tin nhắn và tự ngắt nguồn.
Trước khi tắt nguồn, nó sẽ kiểm tra lại giá trị của các chân đầu vào để xem liệu chúng có thay đổi kể từ lần đọc cuối cùng hay không. Điều này là để đảm bảo việc đóng mở cửa nhanh chóng. Nếu bạn không có kiểm tra này thì một số trường hợp bạn có thể bỏ lỡ việc đóng cửa nếu nó được đóng trong vòng 5-6 giây kể từ khi mở. Một kịch bản thực tế về cánh cửa được mở và đóng trong vòng 2 giây hoặc lâu hơn được ghi lại bởi vòng lặp while liên tục đăng thông báo miễn là trạng thái hiện tại của cánh cửa khác với trạng thái trước đó. Kịch bản duy nhất mà nó có thể bỏ lỡ để ghi lại tất cả các sự kiện mở / đóng là khi cửa được đóng / mở liên tục trong vòng 4-5 giây, đây là một trường hợp rất khó xảy ra - có thể là trường hợp trẻ nghịch cửa.
Bước 3: Kiểm tra sức khỏe
Tôi cũng cần một cách để có thông báo kiểm tra sức khỏe từ ESP nơi nó cũng gửi mức pin của ESP để đảm bảo rằng cảm biến hoạt động tốt mà không cần kiểm tra thủ công. Đối với điều này, ATTiny gửi tín hiệu WAKE_UP 12 giờ một lần. Nó có thể được định cấu hình thông qua biến WAKEUP_COUNT trong mã ATtiny. Điều này rất hữu ích cho các cửa ra vào hoặc cửa sổ hiếm khi được mở và vì vậy bạn có thể không biết có vấn đề gì xảy ra với cảm biến hoặc pin của nó hay không.
Trong trường hợp bạn không cần chức năng kiểm tra sức khỏe thì toàn bộ khái niệm sử dụng ATTiny là không cần thiết. Trong trường hợp đó, bạn có thể tìm thấy các thiết kế khác mà người ta đã tạo ra trong đó nguồn cung cấp cho ESP được cấp qua MOSFET và do đó bạn có thể đạt được dòng chảy bằng không khi cửa không được vận hành. Có những thứ khác cần được quan tâm như bản vẽ hiện tại giống nhau ở vị trí mở cửa và đóng cửa - vì ở đâu đó tôi đã thấy một thiết kế sử dụng công tắc sậy 3 trạng thái thay vì trạng thái 2 thông thường.
Bước 4: Đo năng lượng và tuổi thọ pin
Tôi đã đo mức tiêu thụ hiện tại của mạch và nó mất ~ 30uA khi ngủ và xung quanh. Đi theo các bảng dữ liệu của ATTiny, nó phải vào khoảng 1-4 uA cho toàn bộ mạch bao gồm cả dòng điện tĩnh của LDO nhưng sau đó các phép đo của tôi cho thấy 30. MOSFET và LDO tiêu thụ dòng điện không đáng kể.
Vì vậy, một pin 800mAH nên sử dụng trong một thời gian dài. Tôi không có số liệu thống kê chính xác nhưng tôi đã sử dụng nó trên 2 cửa ra vào của tôi hơn một năm nay và mỗi ô 18650 với khoảng 800mAH còn lại trong chúng tồn tại trong khoảng 5-6 tháng trên cửa chính của tôi mở và đóng lúc ít nhất 30 lần một ngày. Cửa trên mái chỉ mở vài lần trong tuần, kéo dài 7-8 tháng.
Bước 5: Cải tiến trong tương lai
1. ESP không xác nhận việc gửi bản tin MQTT. Chương trình có thể được cải thiện bằng cách đăng ký chủ đề mà nó đăng thông báo để xác nhận gửi hoặc có thể sử dụng thư viện Async MQTT để đăng thông báo với QoS 1.
2. Cập nhật OTA: Mã ESP có thể được sửa đổi để đọc chủ đề MQTT cho một bản cập nhật và do đó, hãy vào chế độ OTA để nhận tệp.
3. ESP01 có thể được thay thế bằng ESP-12 để có quyền truy cập vào nhiều mã PIN đầu vào hơn và do đó có thể gắn nhiều cảm biến hơn vào cùng một. Trong trường hợp đó, giao tiếp thông qua phương thức 2 bit là không thể. Điều này sau đó có thể được cải thiện để thực hiện giao tiếp I2C giữa ATtiny và ESP. Điều này hơi phức tạp nhưng hoàn toàn khả thi. Tôi có nó hoạt động trong một thiết lập khác trong đó ATTiny gửi các giá trị bộ mã hóa quay tới ESP qua dòng I2C.
4. Mạch hiện tại giám sát Vcc bên trong của ESP, Nếu chúng ta sử dụng ESP12 thì điều này có thể được sửa đổi để đọc mức pin thực tế thông qua chân ADC.
5. Trong tương lai, tôi cũng sẽ đăng một bản sửa đổi cho điều này có thể được sử dụng như một cảm biến độc lập mà không cần MQTT hoặc bất kỳ hệ thống tự động hóa gia đình nào. Cảm biến sẽ hoạt động độc lập và có thể thực hiện cuộc gọi điện thoại khi được kích hoạt - tất nhiên nó cần có kết nối internet cho việc này.
6. Và danh sách tiếp tục…
7. Bảo vệ pin ngược - XONG (Hình ảnh thiết bị thực tế là hình cũ nên không phản ánh MOSFET)
Đề xuất:
Gửi dữ liệu của cảm biến nhiệt độ và độ ẩm không dây tới Excel: 34 bước
Gửi dữ liệu của cảm biến nhiệt độ và độ ẩm không dây tới Excel: Chúng tôi đang sử dụng cảm biến nhiệt độ và độ ẩm của NCD ở đây, nhưng các bước vẫn như nhau đối với bất kỳ sản phẩm ncd nào, vì vậy nếu bạn có các cảm biến không dây ncd khác, hãy trải nghiệm thoải mái quan sát bên cạnh đó. Bằng cách dừng lại của văn bản này, bạn cần phải
Mạng cảm biến không dây chi phí thấp trên băng tần 433MHz: 5 bước (có hình ảnh)
Mạng cảm biến không dây chi phí thấp trên băng tần 433MHz: Rất cảm ơn Teresa Rajba đã vui lòng cho tôi chấp nhận sử dụng dữ liệu từ các ấn phẩm của họ trong bài viết này. * Trong hình trên - năm đơn vị gửi cảm biến mà tôi đã sử dụng để thử nghiệm mạng? Một định nghĩa đơn giản woul
Gửi dữ liệu-của-IOT-không dây-nhiệt độ và độ ẩm-cảm biến-đến-MySQL: 41 bước
Gửi-Dữ liệu-IOT-Không dây-Nhiệt độ-và-Độ ẩm-Cảm biến-đến-MySQL: Giới thiệu Cảm biến Nhiệt độ và Độ ẩm IoT phạm vi dài của NCD. Tự hào với phạm vi lên đến 28 dặm và kiến trúc mạng lưới không dây, cảm biến này truyền dữ liệu về độ ẩm (± 1,7%) và nhiệt độ (± 0,3 ° C) trong khoảng thời gian do người dùng xác định, đang ngủ
Tạo thông báo qua email của cảm biến nhiệt độ và độ ẩm không dây NCD bằng Node-Red: 22 bước
Tạo thông báo qua email về cảm biến nhiệt độ và độ ẩm không dây NCD bằng Node-Red: Chúng tôi đang sử dụng ở đây cảm biến Nhiệt độ và độ ẩm của NCD, nhưng các bước vẫn như nhau đối với bất kỳ sản phẩm ncd nào, vì vậy nếu bạn có các cảm biến không dây ncd khác, hãy trải nghiệm miễn phí quan sát bên cạnh. Bằng cách dừng lại của văn bản này, bạn cần phải
Xuất bản dữ liệu cảm biến áp suất không dây bằng MQTT: 7 bước
Xuất bản dữ liệu cảm biến áp suất không dây sử dụng MQTT: ESP32 vàESP 8266 là SoC rất quen thuộc trong lĩnh vực IoT. Đây là một loại lợi ích cho các dự án IoT.ESP 32 là một thiết bị tích hợp WiFi và BLE. Chỉ cần cung cấp cấu hình SSID, mật khẩu và IP của bạn và tích hợp mọi thứ vào