找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4836|回復(fù): 4
收起左側(cè)

單片機(jī)+DS18B20獲取溫度后,溫度顯示不穩(wěn)定

[復(fù)制鏈接]
ID:886931 發(fā)表于 2021-2-27 21:54 | 顯示全部樓層 |閱讀模式
項(xiàng)目內(nèi)容:智能溫控系統(tǒng)在檢測中,通過溫度傳感器DS18B20實(shí)時獲取當(dāng)前溫度,若低于設(shè)定溫度下限或熱釋電傳感器沒有感測到人體則不會下達(dá)開機(jī)指令,若溫度介于上限和下限之間且熱釋電傳感器感測到人體時電機(jī)轉(zhuǎn)速緩慢,當(dāng)溫度大于上限值且熱釋電傳感器感測到人體時,電機(jī)全速轉(zhuǎn)動。
仿真時,LCD顯示屏dw為模式,dw:0即溫度低于設(shè)置的下限,dw:1即溫度介于溫度范圍間,dw:2即溫度大于溫度上限
在模擬仿真時,LCD顯示的溫度一直在變化,且相差幾十度,反復(fù)跳動,求助!
相關(guān)文件已上傳到附件,向各位前輩求助!
仿真截圖.png

溫控風(fēng)扇.zip

77.89 KB, 下載次數(shù): 7

回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2021-2-28 08:55 | 顯示全部樓層
DS18B20是單總線器件,對時序非常敏感。讀取一次溫度值需要幾ms時間,定時器中斷程序就有可能破壞DS18B20讀寫時序,導(dǎo)致讀寫數(shù)據(jù)出錯。需要重新設(shè)計(jì)程序構(gòu)架來消除干擾。
回復(fù)

使用道具 舉報(bào)

ID:517951 發(fā)表于 2021-2-28 09:48 | 顯示全部樓層
我這里有5個18B20 LCD顯示十位數(shù),個位數(shù),小數(shù),其中只有一個小數(shù)位跳動得很厲害,另外4個正常穩(wěn)定。 所以你換個18B20,看是否是單個個體18B20的問題,再來調(diào)整程序時序。
回復(fù)

使用道具 舉報(bào)

ID:887027 發(fā)表于 2021-2-28 14:25 | 顯示全部樓層
改變采樣的頻率或者采用平均值
回復(fù)

使用道具 舉報(bào)

ID:420836 發(fā)表于 2021-2-28 23:56 | 顯示全部樓層
可以在代碼中添加數(shù)字濾波器以獲取傳感器讀數(shù)的平均值
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表