iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
自我挑戰組

30天的獨立學習紀錄系列 第 10

DAY10 - 土壤溫度感測器-DS18B20-Part1

  • 分享至 

  • xImage
  •  

前言

大家好啊~今天是參賽的第十天,今天也還是簡介一下之後專題預計會使用的感測器,認識土壤溫度(地溫)對植物本身的影響,在一定的溫度範圍內,土壤溫度越高,作物的生長發育越快。土壤溫度的高低主要影響根系的發育,還有根系對養分的吸收作用,而土壤溫度感測器就能應用於此。


DS18B20簡介

每一種作物對土壤溫度都有一定的要求範圍。低於或高於範圍,都會對根系的生長髮育和根系吸收水分和養分的效果造成影響。根系也是如此,根周圍的土壤溫度過高或過低都會導致植物吸收水分的過程受阻礙,影響植物生長。此顆感測器的電壓範圍是3V-5.5V,溫度檢測範圍是-55~125°C,解析度為9~12位元(預設是12位元,使用者可自己換解析度),此顆感測器有3隻接腳,紅色接腳為Vcc,黑色接腳為GND,黃色接腳為Deta腳,本模組通訊協定為UART,因此只需要一條線即可達到寫入跟讀取的動作。

https://ithelp.ithome.com.tw/upload/images/20220925/201523894xQOcYvVxV.png


DS18B20電路圖
此模組外部的電路只須接一顆上拉電阻即可,如果少了此顆電阻輸出的溫度會錯誤,內部電路的解釋為當DQ為高電壓時一方面通過二極體向晶片供電,另一方面對內部電容C(容值約800pF)充電,當DQ為低電壓時二極體截止,內部電容C向晶片供電。

https://ithelp.ithome.com.tw/upload/images/20220925/20152389tuwU6nlijB.png


DS18B20波型模擬及原理說明

  • 根據查閱網路資料的結果得知模組會先進行初始化,在發送 8bit 的 ROM 命令,在發送 8bit 的 功能命令。
  • ROM 命令有 5 種分為 0xF0 為搜索 ROM、0x33 為讀 ROM、0X55 為匹配 ROM、0XCC 為跳過 ROM、0XEC 為搜索警報命令。
  • 功能命令有 6 種分為 0x44 為溫度轉換、0XBE 為讀取暫存器、0X4E 為寫入暫存器、0X48 為 複制暫存器、0XB8 為讀取 EEPROM、0XB4 為讀取供電模式。
    https://ithelp.ithome.com.tw/upload/images/20220925/20152389wnaV8W52P0.png

根據datasheet的說法MCU先發送480us的低態,再來上拉電阻會把信號拉高一下,之後模組會再把信號拉到低態約60us~240us,下圖是模組在做初始化的動作。
https://ithelp.ithome.com.tw/upload/images/20220925/20152389Vp5az4AsIL.png

下圖10根據datasheet的說法當寫入0時MCU會拉低60us。
https://ithelp.ithome.com.tw/upload/images/20220925/20152389ApUaXBtohZ.png

下圖根據datasheet的說法讀取0時MCU加模組會拉低15us左右,讀取1時MCU會拉低1us-15us。
https://ithelp.ithome.com.tw/upload/images/20220925/20152389D9AtGCH6j6.png


上一篇
DAY9 - 光感測器簡介
下一篇
DAY11 - DS18B20延伸-1-Wire和寄生電源
系列文
30天的獨立學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言