DS18B20 của tôi đang đọc cao. Làm thế nào tôi có thể làm cho nó trở về nhiệt độ chính xác?


10

Tôi đang làm việc trên một hệ thống điều khiển nhiệt cho nhà của tôi, nhưng gặp vấn đề với cảm biến nhiệt độ đọc cao hơn tôi mong đợi.

Tôi có một bản sao 5V Arduino Mini Pro được nối với một mô-đun tiếp sức, màn hình HD47780 và mô-đun Tiny RTC, với DS18B20 được gắn vào nó.

DS18B20 được cung cấp từ Vv 5v áp dụng cho mô-đun Tiny RTC thay vì sử dụng năng lượng ký sinh trên dòng DQ (vì tôi không chắc các thư viện Onewire có hỗ trợ chế độ hoạt động này không) và biểu dữ liệu DS18B20 nói rằng Vcc có thể nằm giữa 3.0v và 5.5v. Tôi đã đo công suất quy định từ Mini Pro là 5,2v.

Tôi đang so sánh nhiệt độ từ DS với bộ điều nhiệt trong phòng hiện có (bi-metallic), máy theo dõi nhiệt độ máy tính để bàn RS với hai cảm biến, một 'nhiệt kế nhiệt kế ' nhỏ và nhiệt kế tủ lạnh hai kim loại (ở phần trên của nhiệt độ phạm vi) . Chỉ số đọc từ DS luôn cao hơn khoảng 1-2 độ so với chỉ số đọc từ các cảm biến khác, nằm trong một mức độ của nhau.

Không phải là thực tế, nhưng một cái gì đó tương tự.

Đọc các diễn đàn khác nhau tôi đã nghe nói rằng các cảm biến này khá chính xác nhưng có thể bị nóng cục bộ từ các bộ phận gần chúng, vì vậy tôi di chuyển cảm biến lên cáp 20 cm và đặt nó cách xa các thiết bị điện tử còn lại. Điều này làm cho không có sự khác biệt.

Sau đó tôi đọc được rằng DS có thể tự sưởi ấm nếu nó được cung cấp với điện áp Vcc quá cao, vì vậy tôi đã thêm một đèn LED màu đỏ với mức giảm 1.7v và đo điện áp mới trên DS là 3,5v, nhưng một lần nữa, sau khi chờ nhiệt độ để ổn định một lần nữa, điều này không có sự khác biệt.

Bất cứ ai có thể đề nghị tại sao DS có thể đọc cao và những gì tôi có thể làm để ngăn chặn điều này?


Làm thế nào bạn tự tin rằng bộ điều nhiệt phòng của bạn không chỉ đọc thấp 1-2 độ ? Bạn nên lấy nhiệt kế thứ ba và so sánh để xác định phần bù của bạn thực sự đến từ đâu. Vì nhiệt kế RS có thể sử dụng cùng một thiết bị điện tử đọc cho cả hai cảm biến, nên có lẽ nó không thực sự hữu ích vì hai tham chiếu hiệu chuẩn riêng biệt.
Sói Connor

Câu trả lời:


9

Bây giờ tôi đã đặt rất nhiều cảm biến DS18B20 trên các nút cảm biến khác nhau - có thể là 50 hoặc hơn thế. Tôi đã học được một chút về các bài đọc được trả lại từ họ. Tôi biết bạn đã cô lập một số trong số này không phải là nguyên nhân, nhưng thật tốt khi xác nhận rằng chúng là vấn đề.

Tôi không biết bạn đang sử dụng Celsius hay Fahrenheit, vì vậy mức độ của vấn đề không rõ ràng.

Sưởi ấm cục bộ

Tôi không nghĩ Arduino là một con chip "nóng", nhưng đặt DS18B20 trong vỏ bọc với Arduino và LCD khiến tôi thấy số đọc cao hơn 2-3 ° C so với dự kiến.

Di chuyển nó ra bên ngoài bao vây cố định này.

Làm nóng từ Vcc cao / chuyển đổi thường xuyên

Nếu bạn cung cấp cho chip một Vcc cao và thực hiện chuyển đổi thường xuyên (tức là càng thường xuyên càng tốt), chip sẽ nóng lên. Tôi đã thấy sự gia tăng số đọc này thêm 1-2 ° C.

Tôi chưa thấy vấn đề với Vcc cao, nhưng tôi vận hành hầu hết DS18B20 ở chế độ ký sinh và chuyển đổi nhiều nhất cứ sau 10 giây. Những cái hoạt động trong chế độ hoạt động thường tắt nguồn khi không được sử dụng.

OneWire và DallasTem Nhiệt độ hỗ trợ chế độ ký sinh.

Không phải tất cả các cảm biến nhiệt độ được tạo ra bằng nhau

Tôi đã có một số cảm biến nhiệt độ trước khi bắt đầu chơi xung quanh với DS18B20. Hầu như không có ngoại lệ, những người dưới đọc. Hầu hết chúng đều dựa trên nhiệt điện trở và hiệu chuẩn kém. Tôi nghĩ DS18B20 đã đọc quá nhiều, nhưng khi tôi sử dụng một cặp nhiệt điện và đồng hồ tốt, tôi có thể xác nhận rằng chúng là chính xác.

Đây là về việc học cách tin tưởng DS18B20.

Nhiệt dẫn dọc dây

Nếu bạn có các cảm biến trên dây, dây dẫn sẽ truyền một lượng nhiệt đáng kinh ngạc. Đây có thể là một vấn đề khi chạy dây dọc theo đường ống.

DS18B20 giả

Những cảm biến này rất phổ biến, và điều này dường như đã gây ra hàng giả xuất hiện. Tôi có một loạt các cảm biến chống thấm nước bằng thép không gỉ đọc quá nhiều và thời gian đã hết. Họ đã làm việc với thư viện OneWire, nhưng không phải là bậc thầy DS2482 OneWire. Tôi đã nghe nói về những chiếc vỏ TO-92 bình thường cũng là giả.


2

Trong trường hợp của tôi, hệ thống dây điện giữa uC của tôi và cảm biến quá ngắn và truyền nhiệt. Tôi nghĩ rằng ban đầu không thể là trường hợp như vậy, vì một cảm biến nhiệt độ khác đang báo cáo các temp chính xác ở cùng khoảng cách. Tôi chuyển nó đến một vị trí khác trên bảng và thì đấy!


1

Có lẽ bạn có thể muốn hiệu chỉnh cảm biến của bạn.

Nó đọc được gì khi ngâm trong nước sôi (giả sử mực nước biển)? 102,5 độ C? Điều đó sẽ cung cấp cho bạn một hiệu chuẩn nhiệt độ cao -2,5C.

Rõ ràng là tốt hơn để hiệu chỉnh xung quanh nhiệt độ mà bạn mong đợi để đo. Điều đó có nghĩa là tin tưởng (hoặc trung bình?) Một số thiết bị đo lường và hiệu chỉnh theo đó.


1

Tôi đã thấy độ lệch vài độ C khi sử dụng DS18B20 trên xe buýt 3,3V, chuyển sang xe buýt 5,0V ổn định và tôi nhận được các giá trị hợp lý hơn. (được thử nghiệm có và không có sức mạnh ký sinh)


Điều đó thật thú vị, cảm ơn, và ngược lại với những gì một số người đã báo cáo. Tôi tự hỏi nếu đây là một vấn đề DS18B20 giả mạo.
Gian hàng đánh dấu

0

Tôi đã thực hiện một số thí nghiệm. Nếu DS18B20 nằm trên cáp ngắn <1cm đối với Arduino Pro Micro của tôi thì số đọc cao hơn 5 độ so với môi trường. Trên chiều dài cáp> 10cm từ bảng arduino và bất kể điện trở được gắn ở đâu (gần arduino hoặc gần DS18B20), các bài đọc đều ổn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.