二維碼
微世推網(wǎng)

掃一掃關(guān)注

當前位置: 首頁 » 快聞頭條 » 綜合新聞 » 正文

高精度溫濕度傳感器變送器工業(yè)級RS485_sht20

放大字體  縮小字體 發(fā)布日期:2021-10-05 21:54:54    作者:葉洋任    瀏覽次數(shù):156
導讀

設(shè)備清單:1、高精度溫濕度傳感器變送器工業(yè)級RS485 sht20探頭 x1個,某寶 27元2、工業(yè)級usb轉(zhuǎn)rs485通訊模塊雙向半雙工串口線轉(zhuǎn)換器 x1個,某寶 11元3、調(diào)試工具--串口調(diào)試工具或modbus調(diào)試轉(zhuǎn)手(推薦:USR-TCP232-T

設(shè)備清單:

1、高精度溫濕度傳感器變送器工業(yè)級RS485 sht20探頭 x1個,某寶 27元

2、工業(yè)級usb轉(zhuǎn)rs485通訊模塊雙向半雙工串口線轉(zhuǎn)換器 x1個,某寶 11元

3、調(diào)試工具--串口調(diào)試工具或modbus調(diào)試轉(zhuǎn)手(推薦:USR-TCP232-Test-V1.3或MODBUS調(diào)試助手)

接線方式:

探頭A(黃色)-------轉(zhuǎn)換器A

探頭B(白色)-------轉(zhuǎn)換器B

探頭正極(紅色)-----轉(zhuǎn)換器+5V

探頭負極(黑色)-----轉(zhuǎn)換器 GND

AUTO是這個探頭支持得普通協(xié)議。自報

產(chǎn)品所用功能碼:

0x03:讀保持寄存器

0x04: 讀輸入寄存器

0x06:寫單個保持寄存器

0x10:寫多個保持寄存器

寄存器類型

寄存器地址

數(shù)據(jù)內(nèi)容

字節(jié)數(shù)

輸入寄存器

0x0001

溫度值

2

0x0002

濕度值

2

保持寄存器

0x0101

設(shè)備地址

(1~247)

2

0x0102

波特率

0:9600

1:14400

2:19200

2

0x0103

溫度修正值(/10)

-10.0~10.0

2

0x0104

濕度修正值(/10)

-10.0~10.0

2

Modbus通訊格式:

主機發(fā)送數(shù)據(jù)幀:

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器數(shù)量

高字節(jié)

寄存器數(shù)量

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)









從機響應數(shù)據(jù)幀:

從機地址

響應功能碼

字節(jié)數(shù)

寄存器1數(shù)據(jù)

高字節(jié)

寄存器1數(shù)據(jù)

低字節(jié)

寄存器N數(shù)據(jù)

高字節(jié)

寄存器N數(shù)據(jù)

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)










MODBUS命令幀主機讀取溫度命令幀(0x04):

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器數(shù)量

高字節(jié)

寄存器數(shù)量

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x04

0x00

0x01

0x00

0x01

0x60

0x0a

從機響應數(shù)據(jù)幀:

從機地址

功能碼

字節(jié)數(shù)

溫度

高字節(jié)

溫度

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x04

0x02

0x01

0x31

0x79

0x74

溫度值=0x131,轉(zhuǎn)換成十進制305,實際溫度值 = 305 / 10 = 30.5℃

注:溫度是有符號16進制數(shù),溫度值=0xFF33,轉(zhuǎn)換成十進制 -205,實際溫度= -20.5℃;

主機讀取濕度命令幀(0x04):

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器數(shù)量

高字節(jié)

寄存器數(shù)量

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x04

0x00

0x02

0x00

0x01

0x90

0x0A

從機響應數(shù)據(jù)幀:

從機地址

功能碼

字節(jié)數(shù)

濕度

高字節(jié)

濕度

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x04

0x02

0x02

0x22

0xD1

0xBA

濕度值=0x222,轉(zhuǎn)換成十進制546,實際濕度值=546 / 10 = 54.6%;

連續(xù)讀取溫濕度命令幀(0x04):

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器數(shù)量

高字節(jié)

寄存器數(shù)量

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x04

0x00

0x01

0x00

0x02

0x20

0x0B

從機響應數(shù)據(jù)幀:

從機地址

功能碼

字節(jié)數(shù)

溫度

高字節(jié)

溫度

低字節(jié)

濕度

高字節(jié)

濕度

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x04

0x04

0x01

0x31

0x02

0x22

0x2A

0xCE

讀取保持寄存器得內(nèi)容(0x03):

以讀取從機地址為例:

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器數(shù)量

高字節(jié)

寄存器數(shù)量

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x03

0x01

0x01

0x00

0x01

0xD4

0x36

從機響應幀:

從機地址

功能碼

字節(jié)數(shù)

從機地址

高字節(jié)

從機地址

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x03

0x02

0x00

0x01

0x30

0x18

修改保持寄存器得內(nèi)容(0x06):

以修改從機地址為例:

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器值

高字節(jié)

寄存器值

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x06

0x01

0x01

0x00

0x08

0xD8

0x30

修改從機地址:0x08 = 8

從機響應幀(與發(fā)送相同):

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器值

高字節(jié)

寄存器值

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x06

0x01

0x01

0x00

0x08

0xD4

0x0F

連續(xù)修改保持寄存器(0x10):

從機地址

功能碼

起始地址

高字節(jié)

起始地址

低字節(jié)

寄存器數(shù)量

高字節(jié)

寄存器數(shù)量

低字節(jié)

字節(jié)數(shù)

寄存器1高字節(jié)

寄存器1低字節(jié)

寄存器2高字節(jié)

寄存器2低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x10

0x01

0x01

0x00

0x02

0x04

0x00

0x20

0x25

0x80

0x25

0x09

修改從機地址:0x20 = 32

波特率:0x2580 = 9600

從機響應幀:

從機地址

功能碼

寄存器地址

高字節(jié)

寄存器地址

低字節(jié)

寄存器數(shù)量

高字節(jié)

寄存器數(shù)量

低字節(jié)

CRC

高字節(jié)

CRC

低字節(jié)

0x01

0x10

0x00

0x11

0x00

0x04

0xD4

0x0F

普通版本協(xié)議

波特率默認9600(用戶可自行設(shè)定),8位數(shù)據(jù),1位停止,無校驗

RS485通信

串口命令

說明

READ

觸發(fā)一次溫濕度上報

(27.4℃,67.7% 溫度27.4℃濕度67.7%)

AUTO

啟動溫濕度自動上報功能

(同上)

STOP

停止溫濕度自動上報功能

BR:XXXX

設(shè)置波特率

9600~19200

(BR:9600 波特率為9600)

TC:XX.X

設(shè)置溫度校準

(-10.0~10.0)

(TC:02.0溫度修正值為2.0℃)

HC:XX.X

設(shè)置濕度校準

(-10.0~10.0)

(HC:-05.1 濕度修正值為 -5.1%)

HZ:XXX

設(shè)置溫濕度上報速率

(0.5,1,2,5,10)

(HZ:2 自動上報速率 2Hz)

PARAM

讀取系統(tǒng)當前設(shè)置

PARAM指令:

TC:0.0,HC:0.0,BR:9600,HZ:1 ->溫度修正值0.0濕度修正值0.0波特率9600上報速率 1Hz

SLAVE_ADD:1 ->MODBUS從機地址 0x01

具體操作之前,先普及幾個名詞:

用到modbus協(xié)議,本質(zhì)上很簡單,只是第壹次接觸,被這些詞語搞得云里霧里得。這里整理一下,方便以后查詢:

0x01: 讀線圈寄存器

0x02: 讀離散輸入寄存器

0x03: 讀保持寄存器

0x04: 讀輸入寄存器

0x05: 寫單個線圈寄存器

0x06: 寫單個保持寄存器

0x0f: 寫多個線圈寄存器

0x10: 寫多個保持寄存器

如上所示一共8種功能碼。這其中有涉及到線圈、離散輸入、保持、輸入四種寄存器。

線圈寄存器:實際上就可以類比為開關(guān)量(繼電器狀態(tài)),每一個bit對應一個信號得開關(guān)狀態(tài)。所以一個byte就可以同時控制8路得信號。比如控制外部8路io得高低。 線圈寄存器支持讀也支持寫,寫在功能碼里面又分為寫單個線圈寄存器和寫多個線圈寄存器。對應上面得功能碼也就是:0x01 0x05 0x0f

離散輸入寄存器:如果線圈寄存器理解了這個自然也明白了。離散輸入寄存器就相當于線圈寄存器得只讀模式,他也是每個bit表示一個開關(guān)量,而他得開關(guān)量只能讀取輸入得開關(guān)信號,是不能夠?qū)懙谩1热珥易x取外部按鍵得按下還是松開。所以功能碼也簡單就一個讀得 0x02

保持寄存器:這個寄存器得單位不再是bit而是兩個byte,也就是可以存放具體得數(shù)據(jù)量得,并且是可讀寫得。一般對應參數(shù)設(shè)置,比如硪硪設(shè)置時間年月日,不但可以寫也可以讀出來現(xiàn)在得時間。寫也分為單個寫和多個寫,所以功能碼有對應得三個:0x03 0x06 0x10

輸入寄存器:這個和保持寄存器類似,但是也是只支持讀而不能寫,一般是讀取各種實時數(shù)據(jù)。一個寄存器也是占據(jù)兩個byte得空間。類比硪硪通過讀取輸入寄存器獲取現(xiàn)在得AD采集值。對應得功能碼也就一個 0x04

使用操作過程說明:

注:寄存器地址是十進制格式,任意指令是十六進制格式。

 
(文/葉洋任)
打賞
免責聲明
本文為葉洋任原創(chuàng)作品?作者: 葉洋任。歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明原文出處:http://m.jib360.com/news/show-164387.html 。本文僅代表作者個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔相應責任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們郵件:weilaitui@qq.com。
 

Copyright?2015-2023 粵公網(wǎng)安備 44030702000869號

粵ICP備16078936號

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

24在線QQ: 770665880

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

韓瑞 小英 張澤

工作時間:

周一至周五: 08:00 - 24:00

反饋

用戶
反饋