成人国产精品,91乱视频在线观看,免费观看18禁91免费,日本高清不卡在线观看播放

首頁(yè)
產(chǎn)品
卓越 ? 易用 ? 可靠
視頻
讓中國(guó)物聯(lián)網(wǎng)領(lǐng)先世界
搜索
歷史搜索
搜索發(fā)現(xiàn)

ds18b20讀取溫度的工作原理

2025-05-14 16:53:21| 來(lái)源:聚英電子| | 0

DS18B20 通過(guò) 單總線(1-Wire)協(xié)議 與微控制器通信,其溫度讀取過(guò)程可分為 初始化、發(fā)送指令、溫度轉(zhuǎn)換、數(shù)據(jù)讀取 等步驟。以下是詳細(xì)的工作原理:

一. 硬件工作原理

- 溫度傳感核心

DS18B20 內(nèi)部包含一個(gè) 高精度溫敏振蕩器,通過(guò)測(cè)量與溫度相關(guān)的脈沖頻率來(lái)量化溫度值。

- 溫度變化 → 晶體振蕩頻率變化 → 計(jì)數(shù)器記錄脈沖數(shù) → 轉(zhuǎn)換為數(shù)字信號(hào)。

- 內(nèi)部結(jié)構(gòu)

- 64位ROM:存儲(chǔ)全球唯一地址(用于多設(shè)備識(shí)別)。

- 溫度傳感器:核心測(cè)量單元。

- 配置寄存器:設(shè)置分辨率(9~12位)。

- 暫存器(Scratchpad):臨時(shí)存儲(chǔ)溫度數(shù)據(jù)和控制參數(shù)。

二. 溫度讀取流程

步驟1:總線初始化(復(fù)位脈沖)

- 微控制器發(fā)送 480~960μs的低電平脈沖,釋放總線后等待DS18B20的 存在脈沖(60~240μs低電平),確認(rèn)設(shè)備在線。

步驟2:發(fā)送ROM指令

- 若總線上有多個(gè)DS18B20,需通過(guò)ROM指令選擇目標(biāo)設(shè)備:

- `0x55`:匹配特定ROM地址(單設(shè)備操作可跳過(guò))。

- `0xCC`:跳過(guò)ROM地址檢測(cè)(適用于單設(shè)備場(chǎng)景)。

步驟3:發(fā)送功能指令

- 啟動(dòng)溫度轉(zhuǎn)換:發(fā)送指令 `0x44`,DS18B20開始測(cè)量溫度。

- 轉(zhuǎn)換時(shí)間取決于分辨率(9位約93ms,12位約750ms)。

- 在此期間,微控制器可輪詢總線狀態(tài)或延時(shí)等待。

步驟4:讀取溫度數(shù)據(jù)

1. 重新初始化總線,發(fā)送 `0xBE` 指令讀取暫存器數(shù)據(jù)。

2. 連續(xù)讀取9字節(jié)(包括溫度值、配置參數(shù)等,通常只需前2字節(jié))。

3. 溫度數(shù)據(jù)以 16位二進(jìn)制補(bǔ)碼 格式存儲(chǔ),需轉(zhuǎn)換為實(shí)際溫度值。

三. 數(shù)據(jù)格式與溫度計(jì)算

- 示例:若讀取的16位數(shù)據(jù)為 `0x0191`(二進(jìn)制 `0000 0001 1001 0001`):

- 高字節(jié) `0000 0001` → 正溫度(最高位為0)。

- 低字節(jié) `1001 0001` → 小數(shù)部分。

- 計(jì)算:

- 整數(shù)部分:`0000 0001` → 1 × 16 = 16(高4位為整數(shù)高位)。

- 小數(shù)部分:`0001` → 1 × 0.0625 = 0.0625(低4位為小數(shù),12位分辨率時(shí)每單位0.0625°C)。

- 實(shí)際溫度:16 + 0.0625 = 16.0625°C。

- 負(fù)溫度處理:

若高字節(jié)最高位為1(如 `0xFF8F`),需取補(bǔ)碼后計(jì)算:

```c

temp = (讀取值 & 0xFFF8) * (-1) + (16 - (讀取值 & 0x000F) * 0.0625);

```

四. 關(guān)鍵時(shí)序與信號(hào)

- 單總線協(xié)議時(shí)序:

- 寫“0”:保持低電平 >60μs。

- 寫“1”:拉低總線1μs后釋放。

- 讀數(shù)據(jù):微控制器拉低總線1μs后采樣。

- 寄生供電模式注意事項(xiàng):

- 溫度轉(zhuǎn)換期間需通過(guò) 強(qiáng)上拉電阻 保持總線高電平供電,否則可能導(dǎo)致轉(zhuǎn)換失敗。

五. 常見問題與解決

1. 讀取值為85°C

- 原因:未等待溫度轉(zhuǎn)換完成或初始化失敗。

- 解決:增加延時(shí)(如 `delay(750)`)或檢查總線連接。

2. 數(shù)據(jù)不穩(wěn)定

- 原因:總線干擾或電源不穩(wěn)。

- 解決:縮短導(dǎo)線長(zhǎng)度,增加濾波電容(0.1μF靠近DS18B20的VDD和GND)。

3. 多設(shè)備沖突

- 原因:未正確匹配ROM地址。

- 解決:遍歷總線設(shè)備并單獨(dú)操作(使用 `search()` 函數(shù)獲取ROM地址)。

通過(guò)理解上述原理,可更高效地集成DS18B20到項(xiàng)目中,避免常見時(shí)序和硬件設(shè)計(jì)錯(cuò)誤。


聯(lián)系銷售
銷售王經(jīng)理微信 銷售王經(jīng)理
微信公眾號(hào) 微信公眾號(hào)
服務(wù)熱線
400-6688-400