十合一空气质量센서설명书

무료무료 기술 자료

이 글은 바로 읽을 수 있으며 기초 학습과 검색 유입에 적합합니다.

十合一空气质量传感器说明书
十合一空气质量传感器说明书插图

一、통신 프로토콜개요

1. 默认통신매개변수

  • 통신 속도:9600
  • 데이터 비트:8
  • 패리티:无
  • 정지 비트:1(即 9600/8/N/1)
  • 默认设备주소:0x01
  • 响应时间:< 100ms

2. CRC 검증

  • 算法:CRC-16/Modbus(多项式 0x8005)
  • 체크섬형식:2 바이트,高位在前(如 CRC_H CRC_L)。
  • 계산도구:参考 CRCTool 或사양书第 IX 章代码。

二、프로토콜功能详解

1. 읽기设备주소和固件버전

功能:获取当前设备주소和固件버전号。

请求형식(主机→센서)
바이트位置데이터설명
00xFE广播주소(所有设备响应)
10x11기능 코드(읽기주소)
2-50x00固定填充
6-7CRCCRC 검증码

예제命令:

FE 11 00 00 00 01 28 06
响应형식(센서→主机)
바이트位置데이터설명
00x01设备주소
10x11기능 코드
20x02데이터길이(2 바이트)
30x12固件버전(如 0x12=V1.2)
40x01当前주소
5-6CRCCRC 검증码

예제响应:

01 11 02 12 01 70 5C


분석:

  • 固件버전:V1.2
  • 设备주소:0x01

2. 修改设备주소

功能:更改设备 Modbus 주소(范围 1~247)。

请求형식(主机→센서)
바이트位置데이터설명
0当前주소原주소(如 0x01)
10x06기능 코드(修改주소)
2-40x00固定填充
5新주소目标주소(如 0x02)
6-7CRCCRC 검증码

예제命令(修改주소为 0x02):

01 06 00 00 00 02 08 0B
响应형식(센서→主机)

与请求형식一致,返回修改后的주소确认。

예제响应:

01 06 00 00 00 02 08 0B


설명:响应데이터与请求相同表示修改成功。

3. 읽기센서데이터

功能:읽기指定레지스터的센서데이터(支持单次읽기多个센서)。

请求형식(主机→센서)
바이트位置데이터설명
0设备주소如 0x01
10x03기능 코드(읽기데이터)
2-3시작주소레지스터시작주소(高位在前)
4-5레지스터 수량需읽기的레지스터 수량
6-7CRCCRC 검증码

예제命令(읽기전체 11 个센서데이터):

01 03 00 00 00 0B C5 CD
响应형식(센서→主机)
바이트位置데이터설명
0设备주소如 0x01
10x03기능 코드
2데이터길이바이트数(레지스터 수량 × 2)
3~N센서데이터每个레지스터 2 바이트(高位在前)
N+1~N+2CRCCRC 검증码

예제响应(部分데이터):

01 03 16 00 96 00 64 00 32 00 30 00 28 00 1E 01 2C 00 0A 00 14 70 5C


분석:

  • 00 96 → eCO₂ = 150 ppm
  • 00 64 → TVOC = 100 ppb
  • 00 32 → CH₂O = 50 μg/m³
  • 온습도데이터:
  • 湿度:0x012C → 300 → 300/100 = 30.0%RH
  • 온도:0x000A → 10 → 10/100 = 0.10℃

4. 系统매개변수설정(高级功能)

4.1 읽기/设置통신 속도

레지스터주소:0x0103(통신 속도代码见附录表)。

읽기통신 속도请求:

01 03 01 03 00 01 CRC


设置통신 속도请求(设为 115200):

01 06 01 03 00 07 CRC
4.2 校准센서데이터

레지스터주소:

  • 온도校准:0x011D
  • 湿度校准:0x011C

예제命令(온도校准 +2.5℃):

01 06 01 1D 00 FA 98 73


설명:

  • 00 FA → 250(即 250/100 = 2.5℃)
  • 负值需转换为补码(如 0xFF9C → -100 → -1.00℃)。

三、데이터분석方法

1. 계산公式

센서유형公式예제
eCO₂CO₂ = (CO₂_H << 8) + CO₂_L0x0096 → 150 ppm
온도온도 = 有符号值 / 1000xFF9C → -100 → -1.00℃
조도Lux = (Lux_H << 8) + Lux_L0x01F4 → 500 Lux

2. 有符号数处理

  • 方法 1:直接转为有符号整数(如 0xFF9C → -100)。
  • 方法 2:若值 > 32767,则 真实值 = (原始值 - 65536) / 100。

四、注意事项

  1. 预热时间:VOC 模块需预热 ≥3 分钟,其他센서上电即用。
  2. 安装要求:
  • 安装高度 ≥15cm,避免地面尘埃污染。
  • 避免高粉尘(>300 μg/m³)、油烟或高湿度환경。
  1. 校准警告:
  • 高级功能需谨慎操作,误修改可能导致데이터异常。
  • 校准值需按实际환경调整,建议记录出厂默认值。
  1. CRC 검증:所有命令必须包含正确 CRC,否则设备无响应。

五、附录

1. 센서레지스터주소表

레지스터주소센서유형데이터형식
0x0000eCO₂2 바이트无符号整数(ppm)
0x0001TVOC2 바이트无符号整数(ppb)
0x0002CH₂O2 바이트无符号整数(μg/m³)
0x0003PM2.52 바이트无符号整数(μg/m³)
0x0004湿度2 바이트(真实值 × 100)
0x0005온도2 바이트(真实值 × 100)
0x0006PM102 바이트无符号整数(μg/m³)
0x0007PM1.02 바이트无符号整数(μg/m³)
0x0008조도2 바이트无符号整数(Lux)
0x0009MCU 온도2 바이트(真实值 × 100)
0x000A소음2 바이트无符号整数(dB)

2. 통신 속도代码表

代码통신 속도
01200
12400
24800
39600
419200
538400
657600
7115200

3. CRC 계산代码(C 언어예제)

uint16_t CRC16_Check(const uint8_t *pushMsg, uint8_t us데이터Len) {
    uint8_t uchCRCHi = 0xFF, uchCRCLo = 0xFF;
    uint8_t uIndex;
    while (us데이터Len--) {
        uIndex = uchCRCLo ^ *pushMsg++;
        uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];
        uchCRCHi = auchCRCLo[uIndex];
    }
    return (uint16_t)(uchCRCHi << 8 | uchCRCLo);
}

产品购买:https://item.taobao.com/item.htm?ft=t&id=675637355531

실제 프로젝트에 이 자료를 활용하시겠습니까?

도구 센터에서 프레임 분석, CRC 검증, 장비 디버깅을 진행하거나 요청을 제출하여 선정 및 연동 제안을 받아보세요.

엔지니어 회원

이 글을 실행 가능한 디버깅 자료로 활용하세요

가입하면 고급 프레임 분석, 자료 패키지 다운로드, 코드 예제, 엔지니어링 사례, 우선 기술 지원을 이용할 수 있어 실제 프로젝트 납품에 적합합니다.

고급 도구 무제한 이용
자료 패키지와 코드 패키지
완전한 엔지니어링 사례 라이브러리
우선 기술 지원 채널

답글 작성

이메일 주소는 공개되지 않습니다. 必填项已用 * 标注