本文主要介紹ds18b20溫度傳感器工作原理,DS18B20 的工作原理,可以從物理世界到數(shù)字信號的轉(zhuǎn)化過程來理解。它內(nèi)部并沒有采用我們常見的模數(shù)轉(zhuǎn)換器(ADC),而是用了一種精巧的“脈沖計數(shù)”方式來測量溫度。
![]()
ds18b20溫度傳感器工作原理
為了讓你更清晰地理解,我們可以把這個過程拆解為兩個部分:硬件上它是如何測量溫度的,以及最終讀到的數(shù)據(jù)代表什么意思。
第一部分:它是如何“感知”溫度的?—— 脈沖計數(shù)法
你可以把 DS18B20 的內(nèi)部想象成一個精密的“秒表”車間,有兩個關(guān)鍵部件在協(xié)同工作:
兩個特性不同的振蕩器:
低溫度系數(shù)振蕩器:就像一個節(jié)拍極其穩(wěn)定的節(jié)拍器。它受溫度影響極小,負(fù)責(zé)產(chǎn)生頻率固定的脈沖,作為整個測量的時間基準(zhǔn)。
高溫度系數(shù)振蕩器:像一個對溫度非常敏感的脈沖發(fā)生器。溫度越高,它產(chǎn)生脈沖的頻率就越快;溫度越低,頻率就越慢。
兩個相互配合的計數(shù)器:
計數(shù)器1:初始時,芯片會根據(jù)一個基準(zhǔn)溫度(通常是-55℃)給計數(shù)器1預(yù)設(shè)一個初始值。然后,穩(wěn)定的節(jié)拍器(低溫度系數(shù)振蕩器)每發(fā)出一個脈沖,計數(shù)器1就減1。當(dāng)它減到0時,就向溫度寄存器報告:“我數(shù)完了一次!” 同時,計數(shù)器1會自動重新加載初始值,開始下一輪計數(shù)。
計數(shù)器2:它負(fù)責(zé)控制整個測量的總時長。敏感的振蕩器(高溫度系數(shù)振蕩器)產(chǎn)生的脈沖會送給計數(shù)器2。當(dāng)計數(shù)器2從初始值減到0時,它就會發(fā)出指令,停止整個測量過程。
溫度值的誕生:
在整個測量過程中,每當(dāng)計數(shù)器1完成一次從初始值減到0的循環(huán),溫度寄存器的值就會增加1。這個過程會一直持續(xù),直到計數(shù)器2減到0才停止。
最終,溫度寄存器里累加的值,就代表了當(dāng)前的溫度。溫度越高,高溫度系數(shù)振蕩器跑得越快,計數(shù)器2就減得越快,留給計數(shù)器1的計數(shù)時間就越短,但這背后更精細(xì)的算法確保了最終累加的值能與溫度精確對應(yīng)。
一個小小的“補丁”——斜率累加器
由于高溫度系數(shù)振蕩器的頻率變化并非完美的線性關(guān)系,DS18B20內(nèi)部還有一個“斜率累加器”電路。它就像一個智能校準(zhǔn)器,會根據(jù)溫度實時微調(diào)計數(shù)器1每次重新加載的初始值,從而補償非線性誤差,保證測量的準(zhǔn)確性。
一個形象的比喻:這就像用兩個跑步的人來測量距離。一個人(計數(shù)器1)以固定速度短距離往返跑,每跑完一趟就插一面旗(溫度值+1)。另一個人(計數(shù)器2)以變速跑(速度受溫度影響)來決定總共跑多長時間。最終插下的旗子總數(shù),就代表了“溫度”這個距離。
第二部分:讀到的數(shù)據(jù)怎么理解?—— 16位數(shù)字輸出
當(dāng)測量結(jié)束后,DS18B20會通過單總線把結(jié)果送出來。這個結(jié)果是一個16位的數(shù)字,你需要知道如何“翻譯”它。
數(shù)據(jù)格式:這16位數(shù)據(jù)以二進(jìn)制補碼的形式存儲。
高5位(Bit 15 ~ Bit 11):這是符號位。如果這5位都是 0,表示溫度為正;如果都是 1,則表示溫度為負(fù)。
低11位(Bit 10 ~ Bit 0):這是溫度數(shù)據(jù)的絕對值。其中,高7位是整數(shù)部分,低4位是小數(shù)部分。
轉(zhuǎn)換公式:無論正負(fù),你都可以用同一個公式來計算實際溫度:實際溫度 = (讀取的16位二進(jìn)制補碼數(shù)據(jù)) × 0.0625 °C。
這里的 0.0625°C (即 1/16) 是傳感器在12位分辨率下的最小分辨率。
舉個栗子:
如果你從傳感器讀到的數(shù)據(jù)是 07 D0(十六進(jìn)制),轉(zhuǎn)換成十進(jìn)制是 2000,那么實際溫度 = 2000 × 0.0625 = 125°C。
如果你讀到的數(shù)據(jù)是 FC 90(十六進(jìn)制),這是一個負(fù)數(shù)。先把它轉(zhuǎn)換成十進(jìn)制是 -880,那么實際溫度 = -880 × 0.0625 = -55°C。
總的來說,DS18B20就是用這種獨特的脈沖計數(shù)法,將物理世界的溫度,巧妙轉(zhuǎn)化成了我們可以直接讀取的數(shù)字信號。
小結(jié):以上就是ds18b20溫度傳感器工作原理,希望對各位電子元器件買家有幫助,了解更多電子元器件知識內(nèi)容。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.