- 가능한 제조업체 - Aideepen. 사이트를 찾을 수 없습니다.
- 보드는 XY-MD01로 표시됩니다.
- SHT20 정밀 칩은 온도 및 습도 센서로 사용됩니다.
- 작동 전압: DC4-30v(최고값은 33v를 초과하지 않음).
- 소비 전력: 0.2W
- 성능 특성:
- 온도 20℃ - 60℃,
- 습도 0-100.
- 변경 정확도:
- 온도 ± 0.3℃,
- 습도 ± 3% RH.
- 연결 인터페이스 - RS485. 전송 속도: 9600(사용자가 설정할 수 있음), 8비트, 원스톱, 체크 없음.
- Modbus RTU 작동을 위한 프로토콜입니다.
모드버스 프로토콜
Modbus를 통해 센서를 연결하려면 슬레이브 ID가 필요하고 설명과 함께 주소를 등록해야 합니다.
장치 주소 : 1-247을 설정할 수 있으며 기본값은 1입니다. 따라서 기본적으로 Slave ID = 1입니다.
Modbus 기능 코드:
- 0x03: "등록 유지" 읽기
- 0x04: "입력 레지스터" 읽기
- 0x06: 단일 "유지 레지스터" 쓰기
- 0x10: 더 많은 유지 레지스터 쓰기
이 데이터는 연결하기에 충분하지 않습니다. 진부하고 Slave ID, 속도, 오프셋을 변경하여 온도 및 습도 판독 값을 읽는 방법이 명확하지 않으며 2 바이트라면 시퀀스를 파싱하는 순서가 무엇인지 명확하지 않습니다. 판매자는 기기와 무관한 절대적으로 왼손잡이 문서를 제공하지만 가격은 좋습니다.
Alaexpress에서 유사한 센서를 검색하면 별도로 판매되는 보드 를 가격이 부적절하게 높지만
더 자세한 설명이 포함되어 있어 매개변수 선택에 이미 충분합니다.
Offset | Description | Number of bytes | |
Input Register | 0x0001 | Temperature scale | 2 |
0x0002 | Humidity value | 2 | |
Hold Register | 0x0101 | Device address (1~247) |
2 |
0x0102 | Baud rate 0 : 9600 1 : 14400 2 : 19200 |
2 | |
0x0103 | Temperature correction(/10) -10.0 ~ 10.0 |
2 | |
0x0104 | Humidity correction value(/10) -10.0 ~ 10.0 |
2 |
테스트
작동하려면 USB <-> RS 485 어댑터와 전원 공급 장치가 필요합니다.
6볼트 파워서플라이를 사용했습니다. 전원 및 데이터 단자를 연결합니다.
ModBus RTU 장치를 폴링하는 소프트웨어로서 저는 무료 QModMaster를 좋아합니다.
소프트웨어 설정 옵션 -> Modbus RTU에서 연결 매개변수를 설정합니다.
컨버터가 설치된 포트는 제어판 -> 시스템 -> 장치 -> COM 포트에서 쉽게 찾을 수 있습니다.
명령 -> 연결을 클릭합니다.
- 모드버스 모드 -> RTU.
- 슬레이브 주소 -> 1.
- 기능 코드 -> Read Input Registers (0x04).
- 시작 주소 -> 1 Hex.
- 레지스터 수 -> 1 (1 레지스터 - 2바이트)
- 데이터 형식 -> Dec
View -> Bus Monitor 를 엽니다.
Command -> Read/Write 를 클릭합니다.
버스 모니터에서 값 316을 얻습니다.
316의 온도가 상당히 높기 때문에 레지스터 값을 10으로 나누어야 합니다.
즉, 이것은 31.6 °C로 실온과 거의 같습니다.
일반적으로 정확도가 낮거나 해당 홀드 레지스터에 보정 계수를 입력하여 센서를 보정해야 합니다.
command -> scan 모드로 이동하면 스캔 속도(ms) 매개변수에 설정된 주파수로 장치가 스캔됩니다.
슬레이브 ID 변경(장치 주소)
■ 슬레이브 ID 읽기
Slave ID | Function Code | SA Hi | SA Lo | Count Hi | Count Lo |
0x01 | 0x03 | 0x01 | 0x01 | 0x | 0x01 |
■ 슬레이브 ID 변경하기
SlaveID를 변경하려면 0x06 기능을 사용해야 합니다. 예에서 SlaveID를 주소 0x02로 변경합니다
Slave ID | Function Code | SA Hi | SA Lo | Count Hi | Count Lo |
0x01 | 0x06 | 0x01 | 0x01 | 0x00 | 0x02 |
예에서 내 SlaveID는 이미 이전에 0x02로 변경되었습니다.
장치에 새 유닛 ID가 있는 스티커를 즉시 붙이기를 권장합니다.