1樓:匿名使用者
有線傳輸……那就是每個ds18b20用一個簡單的微控制器(比如2051)控制,然後使用rs485傳輸到atmega16上。
如果atmega16微控制器與上位機通訊要使用串列埠,但是5個ds18b20節點與atmega16的通訊也要使用串列埠(rs485),那就需要atmega16來切換串列埠通道了。
或者ds18b20獲得的溫度資料轉換為電流訊號,在被atmega16取樣前再轉換為電壓訊號。atmega16有10位的adc且有8個輸入通道,這樣把電壓訊號送入atmega16的adc轉換為數字訊號,再通過串列埠傳遞給上位機——這樣有個好處,每個ds18b20有一個微控制器控制執行,得到的溫度資料轉換為電流訊號直接送到線路上到atmega16。所以atmega16不需要查詢每個18b20的狀態或發出請求資料的命令,只要直接轉換相關線路上的電流訊號即可得到資料。
2樓:
採集的溫度資訊傳輸100米無非是訊號太弱,只要在輸出端接組放大器就ok了
,還是很弱的話在上位機端再接組。買好一點的。。。。
3樓:
這種感測器 供電是3到5.5伏 一百米 確實是有點遠 如果你在實際發現 確實是不行 你中間加一個放大和反饋 電路
4樓:
1、用0.5以上的遮蔽雙絞線作為傳輸線,在微控制器io口端接外部上拉電阻。
2、每個ds18b20就近接入微控制器作為一個感測器節點,用485等工業匯流排把微控制器聯網。
3、每個ds18b20就近接入微控制器作為一個感測器節點,用無線數傳模組把微控制器聯網。4、
ds18b20溫度感測器與微控制器間的通訊線(延長線)可以多長
5樓:匿名使用者
50~100m可能有點長,我沒有試過那麼長,那麼長的話訊號可能不穩定~~~最好加些訊號放大之類的吧,防止衰減·~
6樓:蘭煙墨戌
如果僅僅靠延長來導線50——100米可以說源是不可能bai的。我提供幾中解決du方案:1、多加
zhi一塊51微控制器和485協議的dao轉換晶片,採集以後用485傳送到100外。2、成本要求不嚴格的話,可以用無線串列埠模組,網上有賣的。如果想自己動手做,可以用51+24l01來做。
3、想好玩一點呢,用串列埠經過放大驅動一個鐳射發射頭,接收部分自己設計個簡單的放大就能實現通訊。如果採用第三種方案我們可以進一步**。
為什麼我的DS18B20總是顯示
先不要顯示採集資料,就直接顯示乙個變數值,看看顯示是否正確?或者根本就和採集沒關係。ds18b20數碼管上顯示 000.06,是怎麼回事 溫度讀取失敗了,估計是reset延遲時間不夠所致,因為這個產品太老了,讀取速度很慢。申矽凌微電子的ct1820與之相容,且速度比之快了近20倍。uchar ct1...
ds18b20裡的溫度值正負判斷為什麼要判斷大於
科強小米 tem data l read byte 讀低8位資料,低8位資料格式 2 3,2 2,2 1,2 0,2 tem data h read byte 讀高8位資料,高8位資料格式 s,s,s,s,s,2 6,2 5 temp data tem data h 256 tem data l s...
用數碼管顯示ds18b20 為什麼顯示溫度一直不變
先用乙個資料變數顯示不同值,確定顯示部分是否正常。再確定溫度正不正常。數碼管顯示ds18b20溫度 完整才好改點,不完整的話,想除錯一下有些程式還得添啊剛剛編譯你的完整程式,有問題沒有通過 你怎麼都可以弄進去執行了呢?溫度十位。p2 1 p0 table1 a 1000000 100000 tabl...