題:
我的DS18B20讀得很高。如何獲得正確的溫度?
Mark Booth
2014-03-18 05:21:03 UTC
view on stackexchange narkive permalink

我正在為自己的房屋設計加熱控制系統,但是溫度傳感器的讀數超出了我的預期。

我有一個5V Arduino Mini Pro克隆連接到繼電器模塊,一個HD47780顯示器和一個連接了DS18B20的Tiny RTC模塊。 (不確定Onewire庫是否支持這種操作模式),並且 DS18B20數據表說Vcc可能在3.0v至5.5v之間。我測量了Mini Pro在5.2v時的穩定功率。

我正在將DS的溫度與現有的房間溫度調節器(雙金屬),帶有兩個傳感器的RS台式溫度監控器,小型“溫濕度計”雙金屬冰箱溫度計(在其溫度範圍的上半部)† sup>。 DS的讀數總是比其他傳感器的讀數高1-2度,彼此之間的誤差在一定範圍內。

†不是實際的,而是類似的。 sup>

在各種論壇上,我聽說這些傳感器非常精確,但是會受到附近組件局部加熱的影響,因此我將傳感器移至20cm的電纜上,並將其放置在遠離傳感器的位置。其他電子產品。沒什麼區別。

然後我讀到,如果DS提供的Vcc電壓過高,DS就會變成自熱狀態,因此我添加了一個1.7v壓降的紅色LED並測量了LED上的新電壓。 DS為3.5v,但再次等到溫度再次穩定之後,這沒什麼不同。

有人可以建議為什麼DS可能讀數高嗎?我能做些什麼來防止這種情況?

您對房間恆溫器不只是讀取1-2度*低*有多自信?您應該得到第三個溫度計,並進行比較以確定“實際”來自哪裡。由於RS溫度計可能對兩個傳感器都使用相同的讀出電子設備,因此作為兩個不同的校準參考可能並不真正有用。
五 答案:
Cybergibbons
2014-03-18 13:48:54 UTC
view on stackexchange narkive permalink

我現在在各種傳感器節點上放置了很多DS18B20傳感器-可能是50個左右。我已經從他們那裡獲得了一些讀數。我知道您已經隔離了其中的一些原因,但可以肯定地確認它們是問題。

我不知道您使用的是攝氏溫度還是華氏溫度,因此問題尚不清楚。

局部加熱

我不認為Arduino是“熱”芯片,而是將DS18B20放在外殼中

將其移動到機箱外可解決此問題。

從高Vcc /頻繁加熱轉換

如果為芯片提供高Vcc並執行頻繁的轉換(即,盡可能頻繁地進行轉換),則芯片會預熱。我已經看到讀數增加了1-2°C。

我還沒有看到過高Vcc的問題,但是我大多數DS18B20都以寄生模式工作,並且每10s最多轉換一次。處於活動模式的設備通常在不使用時會關閉電源。

OneWire和DallasTemperature確實支持寄生模式。

並非所有溫度傳感器的創建方式均相同

在開始使用DS18B20之前,我有許多溫度傳感器。幾乎無一例外,這些都被閱讀了。它們大多數是基於熱敏電阻的,並且校準效果很差。我以為DS18B20讀數超標,但是當我使用一個好的熱電偶和儀表時,我可以驗證它們的正確性。

這是關於學習信任DS18B20的信息。 strong>沿導線傳導的熱量

如果導線上裝有傳感器,導線會產生令人驚訝的熱量。沿管道佈線時可能會出現問題。

假DS18B20

這些傳感器非常受歡迎,這似乎導致了假貨的出現。我有一批不銹鋼防水傳感器,它們會被過度讀取並且計時已到。他們使用OneWire庫,但不能使用DS2482 OneWire主機。我聽說普通的TO-92裝箱的都是假貨。

在開發板軟件的大智慧下,我不允許回答這個問題,因此我將在此處添加評論。正如我在https://github.com/PaulStoffregen/OneWire/issues/91上發現的困難方法一樣,如果您使用3.3V芯片,則需要用2.7k電阻器替換4.7k電阻器,否則某些傳感器會返回不正確的值。
Jordan Sitkin
2016-02-03 01:28:12 UTC
view on stackexchange narkive permalink

在我的情況下,我的uC和傳感器之間的接線太短,並且正在散發熱量。我以為一開始可能不是這種情況,因為另一個溫度傳感器正在報告相同距離的準確溫度。我將其移動到了板上的另一個位置,瞧!

Kingsley
2016-01-28 08:53:55 UTC
view on stackexchange narkive permalink

也許您可能要校準傳感器。

當浸入沸水(假定海平面)時,其讀數如何? 102.5攝氏度?這樣可以為-2.5C進行高溫校準。

顯然,最好在要測量的溫度附近進行校準。這意味著信任(或求平均值?)某些測量設備並對其進行校準。

NiKiZe
2017-05-27 18:52:06 UTC
view on stackexchange narkive permalink

當在3.3V總線上使用DS18B20時,我發現偏移了幾攝氏度,切換到穩定的5.0V總線,我得到了更合理的值。 (在有無寄生電源的情況下進行測試)

有趣的是,謝謝,與某些人所報告的相反。我想知道這是否是另一個偽造的DS18B20問題。
Michal.S
2019-10-01 00:09:32 UTC
view on stackexchange narkive permalink

我已經做過一些實驗,如果DS18B20是用短線<1cm連接到我的Arduino Pro Micro,則讀數比環境溫度高5度。在距離arduino板超過10cm的電纜上,無論電阻安裝在何處(arduino附近或DS18B20附近),讀數都很好。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...