Mục lục:
- Bước 1: Câu chuyện đằng sau…
- Bước 2: Cách thức hoạt động
- Bước 3: Vật liệu & Công cụ
- Bước 4: Khắc phục mọi thứ cùng nhau
- Bước 5: Kết nối mọi thứ lại với nhau
- Bước 6: Kết nối các cảm biến
- Bước 7: Phần mềm điều khiển
- Bước 8: Kết luận
Video: Bộ điều khiển mạng cảm biến nhiệt độ chịu lỗi: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Có thể hướng dẫn này hướng dẫn bạn cách chuyển đổi bảng Arduino Uno thành bộ điều khiển đa năng cho một bộ cảm biến nhiệt độ DS18B20 có khả năng tự động cô lập các cảm biến bị lỗi.
Bộ điều khiển có thể quản lý tối đa 8 cảm biến với Arduino Uno. (Và hơn thế nữa với Arduino Mega hoặc với một chút sửa đổi phần mềm.)
Bước 1: Câu chuyện đằng sau…
Một vài năm trước, tôi đã thiết lập mạng cảm biến nhiệt độ DS18B20 trong nhà kính của cha tôi cho bộ điều khiển sưởi ấm dựa trên pi của tôi. Thật không may, độ tin cậy của bộ điều khiển kém chủ yếu do cảm biến thường xuyên bị mất điện. Tôi đã thử nhiều thiết lập - nguồn ký sinh, nguồn trực tiếp, kết nối mạng với pi cũng như kết nối nó với bảng tùy chỉnh dựa trên Atmega (mục đích chính là để điều khiển động cơ van).
Điều tồi tệ hơn, độ tin cậy của mạng cảm biến giảm chủ yếu vào các đêm mùa đông trong khi hầu như không có vấn đề gì vào mùa hè! Cái quái gì đang xảy ra ở đây?
Để điều tra cảm biến nào gây ra sự cố, cần phải bật / tắt từng cảm biến hoặc bật bất kỳ sự kết hợp nào giữa chúng.
Bước 2: Cách thức hoạt động
DS18B20 (cảm biến nhiệt độ) sử dụng giao thức 1 dây độc quyền cho phép nhiều cảm biến chia sẻ liên kết dữ liệu chung (một dây đó). Liên kết dữ liệu chung này được kết nối với một trong các chân GPIO của Arduino và đến + 5 V thông qua một điện trở kéo lên - không có gì lạ, nhiều tài liệu hướng dẫn đề cập đến thiết lập này.
Bí quyết là mỗi dây dẫn nguồn của cảm biến được kết nối với các chân GPIO (chuyên dụng) riêng, để chúng có thể được bật và tắt riêng biệt. Ví dụ: nếu một cảm biến có dây dẫn Vcc được kết nối với chân số 3 và GND với chân số 2, việc đặt chân số 3 thành CAO sẽ cung cấp năng lượng cho cảm biến (không có gì ngạc nhiên) trong khi đặt chân số 2 thành THẤP sẽ cung cấp nguồn điện cho tôi). Đặt cả hai chân ở chế độ đầu vào sẽ (gần như) cô lập hoàn toàn cảm biến và hệ thống dây điện của nó - bất kể lỗi gì (ví dụ: phím tắt) xảy ra bên trong nó, nó sẽ không ảnh hưởng đến các chân khác.
(Công bằng mà nói rằng việc kết nối dây dữ liệu với một thứ khác được kết nối bằng cách nào đó với Arduino thực sự sẽ gây ra nhiễu, nhưng nó gần như là không thể trong thiết lập của tôi).
Lưu ý rằng DS18B20 tiêu thụ tới 1, 5 mA trong khi một chân Arduino có thể cấp nguồn / chìm lên đến 40 mA, do đó, hoàn toàn an toàn khi cấp nguồn trực tiếp cho cảm biến bằng chân GPIO.
Bước 3: Vật liệu & Công cụ
Vật liệu
- 1 bảng Arduino UNO
- 3 tiêu đề ghim cái: 1 × 4, 1 × 6 và 1 × 6 (hoặc lâu hơn - tôi cắt chúng từ một tiêu đề 1 × 40)
- một loại keo
- một đoạn dây cooper trần (ít nhất 10 cm)
- băng cách nhiệt
- vật tư tiêu hao hàn (dây, từ thông…)
Công cụ
- thiết bị hàn (sắt, giá đỡ,…)
- kìm cắt nhỏ
Bước 4: Khắc phục mọi thứ cùng nhau
Dán các đầu ghim cái vào các tiêu đề bảng Arduino:
- Tiêu đề 1 × 4 bên cạnh tiêu đề chân "tương tự", cạnh nhau với các chân A0 – A4
- Tiêu đề 1 × 6 bên cạnh tiêu đề ghim kỹ thuật số đầu tiên, cạnh nhau với các chân 2–7
- Tiêu đề 1 × 6 bên cạnh tiêu đề ghim kỹ thuật số thứ hai, cạnh nhau với các chân 8–13
Lưu ý rằng tiêu đề của tôi dài hơn một chút … nó không có khuyết điểm và cũng không có ưu điểm mà tôi cho là.
Bước 5: Kết nối mọi thứ lại với nhau
Đấu dây cho đường dây bus 1 dây:
- Kết nối tất cả các dây dẫn của các tiêu đề được dán ở phía "kỹ thuật số" (tiếp giáp với các chân 2–13) bằng cách hàn một đoạn dây trần vào chúng
- Hàn đầu dây này vào dây dẫn chân SCL (kết nối bên trong với A5)
- Kết nối tất cả các dây dẫn của tiêu đề được dán ở phía "tương tự" (chân A0 – A3) bằng cách hàn một đoạn dây trần vào chúng
- Hàn đầu dây này vào dây dẫn A4 và A5 (Tôi đã sử dụng A5 và A6 vì tôi có một bảng có A6 & A7)
- Hàn một điện trở 4k7 giữa đầu kia của dây này và dây dẫn chân +5 V.
Ghi chú:
- Các chân A0 – A5, mặc dù được đánh dấu là "tương tự", cũng có thể được sử dụng làm chân kỹ thuật số GPIO.
- Chân SCL ở phía "kỹ thuật số" được kết nối nội bộ với A5 ở phía "tương tự"; được kết nối với các tiêu đề, điều này tạo thành đường dây buýt 1 dây
- A4 (được sử dụng như đầu vào tương tự) đo điện áp của bus cho mục đích chẩn đoán. Đó là lý do tại sao nó được kết nối trực tiếp với xe buýt.
- Tôi đã sử dụng A6 thay vì A4 vì tôi có một bảng có A6 & A7; ban đầu tôi muốn sử dụng A7 làm bus chính 1 dây nhưng hai chân này không thể được định cấu hình thành GPIO kỹ thuật số.
- Để tránh kết nối sai các đầu nối cảm biến, bạn có thể bỏ / cắt phần tiếp xúc không sử dụng (không được kết nối với bất kỳ dây nào) khỏi mỗi đầu nối đực và chèn nó vào lỗ tương ứng trên đầu ghim được dán.
Bước 6: Kết nối các cảm biến
Bạn vừa tạo một mảng tám ổ cắm 2 × 2. Bạn có thể hàn và lắp ráp các đầu nối Dupont 2 × 2 với cáp cảm biến và kết nối chúng với các ổ cắm này. Phần mềm cấu hình các chân để chân chẵn là chân GND và chân lẻ là chân Vcc. Đối với mỗi cảm biến, chân Vcc chỉ là chân GND + 1. Một trong hai chân khác của ổ cắm 2 × 2 (một trong hai chân đó trong tiêu đề được dán & hàn) dành cho dây dữ liệu của cảm biến. Nó không quan trọng mà bạn sử dụng.
Bước 7: Phần mềm điều khiển
Bản phác thảo SerialThermometer chạy bộ điều khiển. Bạn có thể tìm thấy nó trên github. Mở và tải lên bằng Arduino IDE.
Từng bước một:
- Mở Arduino IDE của bạn và cài đặt thư viện DallasTempentic và tất cả các phụ thuộc của nó thông qua Sketch | Bao gồm Thư viện | Quản lý Thư viện.
- Kho lưu trữ sao chép git. Nếu không quen với git, hãy tải xuống và giải nén zip này ở bất kỳ đâu trên máy tính của bạn.
- Mở bản phác thảo SerialThermometer trong Arduino IDE của bạn.
- Kết nối bảng Arduino đã sửa đổi của bạn với máy tính bằng cáp USB (cách tiêu chuẩn)
- Tải lên bản phác thảo bằng Arduino IDE của bạn
- Mở Serial Monitor qua Tools | Màn hình nối tiếp
- Bạn sẽ thấy đầu ra chẩn đoán chứa một số phép đo vật lý, sau đó là các kết quả đo nhiệt độ - mỗi ổ cắm cảm biến trên một đường thẳng. Nếu số lượng cảm biến khác nhau khi bật riêng và khi bật tất cả cùng nhau), các vòng chẩn đoán cho đến khi được giải quyết. Nhưng đừng lo lắng, chẩn đoán cũng cung cấp các phép đo nhiệt độ!
Xem hình ảnh chú thích để biết thêm chi tiết về kết quả chẩn đoán.
Bước 8: Kết luận
Tôi có cảm giác chắc chắn rằng lỗi mạng cảm biến của tôi là do điện dung cao của hệ thống dây điện dài của tôi - khoảng 10 m cáp LIYY 314 (3 × 0, 14 mm²) cho mỗi cảm biến. Các thí nghiệm của tôi cho thấy rằng giao tiếp bị ngắt nếu có điện dung xung quanh hoặc cao hơn 0,01 μF giữa xe buýt 1 dây và mặt đất, tôi nghĩ vì điện trở kéo lên 4k7 không thể kéo xe buýt đến + 5 V đủ nhanh để tuân thủ các giới hạn giao thức.
Trong thiết lập của tôi, nó xảy ra khi có hơn 3 cảm biến được kết nối với nhau. Sau đó, bộ điều khiển lặp lại trong chu kỳ chẩn đoán, đo nhiệt độ từng cảm biến (cảm biến cũng mát mẻ…)
Nhưng cảm biến thứ 5 (28: ff: f2: 41: 51: 17: 04: 31) trông khá ốm (có thể là hàn sai), vì vậy tôi có thể điều tra thêm!
Đề xuất:
Tự động hóa gia đình với cảm biến cảm ứng NodeMCU Rơle điều khiển nhiệt độ LDR: 16 bước
Tự động hóa gia đình với cảm biến cảm ứng NodeMCU Rơle điều khiển nhiệt độ LDR: Trong các dự án NodeMCU trước đây của tôi, tôi đã điều khiển hai thiết bị gia dụng từ Ứng dụng Blynk. Tôi đã nhận được nhiều nhận xét và tin nhắn để nâng cấp dự án với Điều khiển bằng tay và bổ sung thêm nhiều tính năng hơn. Vì vậy, tôi đã thiết kế Hộp mở rộng nhà thông minh này. Trong IoT này
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Cảm biến cảm ứng & Cảm biến âm thanh Điều khiển đèn AC / DC: 5 bước
Cảm biến cảm ứng & Cảm biến âm thanh Điều khiển đèn AC / DC: Đây là dự án đầu tiên của tôi và dự án này hoạt động dựa trên hai cảm biến cơ bản, một là Cảm biến cảm ứng và cảm biến thứ hai là Cảm biến âm thanh, khi bạn nhấn bàn phím trên cảm biến cảm ứng, đèn AC sẽ chuyển BẬT, nếu bạn nhả nó ra, Đèn sẽ TẮT và cùng
Bảng điều khiển cầm tay với bộ điều khiển và cảm biến không dây (Arduino MEGA & UNO): 10 bước (có hình ảnh)
Bảng điều khiển cầm tay với bộ điều khiển và cảm biến không dây (Arduino MEGA & UNO): Những gì tôi đã sử dụng: - Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " Màn hình cảm ứng TFT 320x480 HXD8357D- Buzzer- Loa 4Ohm 3W- Đèn LED 5mm- Máy in Ultimaker 2+ w / Black PLA Filament- Lasercutter w / MDF wood- Phun sơn đen (cho gỗ) - 3x nRF24
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu