-
이메일
319059197@qq.com
-
전화
15013668479
-
주소
심수시 남산구 남두거리 마가룡공업구 15동 3층 동
심천시원건감지과학기술유한공사
319059197@qq.com
15013668479
심수시 남산구 남두거리 마가룡공업구 15동 3층 동
제품 브로셔


제품 규격서


|
제품 이름: |
환경 공기 질량 측정기 |
|
제품 모델: |
MAQ01020406070914-S-P4 |
|
버전: |
V1.0 |
|
작성자: |
하근문 |
|
검토자: |
원 초 |
환경 공기 품질 검사 모듈 MAQ01020406070914-S-P4는 디지털 신호 출력의 다중 파라미터 센서 제품으로 온도, 습도,CO2、PM2.5、PM10、TVOC、포름알데히드 검측이 일체화되고 고성능의 센서 및 제어칩을 채용하여 정밀도가 높고 안정성이 좋은 등 특징을 갖고있다.장치는 넓은 전압 DC12 ~ 24V 전원 공급, RS485 신호 출력, 표준 Modbus-RTU 통신 프로토콜, 통신 주소 설정 및 전송률 변경 가능.기관차 에어컨, 건물 난방, 건축 에너지 절약, 스마트 홈,
학교, 병원, 공항역 등의 장소.
1. 격리된 RS485 회로를 사용하여 통신이 안정적이다.
2. 알루미늄합금 하우징을 사용하여 다양한 설치 방식을 적용합니다.
3. 온도, 습도,CO2、 PM2.5、 PM10、TVOC、포름알데히드는 여러 가지 파라미터를 가지고 있으며, 더 많은 공기 질 파라미터를 확장할 수 있다.
|
작동 온도 범위 |
0 ~50℃ |
|
작동 습도 범위 |
0 ~ 95% RH(비결로) |
|
저장 온도 범위 |
-40 ~50℃ |
|
전원 입력 |
DC 12~24V |
|
최대 작동 전류 |
≤ 100mA ( DC24V) |
|
신호 출력 |
Modbus-RTU ,시작 비트 1비트, 데이터 비트 8비트, 중지 비트 1비트, 체크/짝수 검사 없음, 전송률 9600bps(기본값) |
|
예열 시간 |
2분 (포름알데히드와 TVOC는 예열 안정이 필요하며 다른 매개변수는 전기로 표시됩니다.) |
|
설치 방법 |
흡착 장착, 벽면 장착 |
|
제품 무게 |
465그램 |
|
제품 크기 |
188.0mm×114.5mm×33.0mm |
4. 검측 매개변수
|
항목 테스트 |
검사 범위 |
검사 정밀도 |
검측 원리 |
|
온도 |
-40~125℃ |
±0.5℃(@25℃), ±1℃(전체) |
MEMS 부품 |
|
습도 |
0~ 100%RH |
±3% RH(@25℃, 30%~80% RH; 기타 ±5% RH) |
MEMS 부품 |
|
CO2 |
400~5000ppm |
± (75ppm + 5% of reading ) |
NDIR 비분산 적외선 센서 |
|
PM2.5 |
0 ~1000µg/m3 |
± 10%(@100~500μg/m3 ); ± 10μg/m3 (@ 0 ~100μg/m3 ) |
레이저 산란 |
|
PM10 |
0 ~1000µg/m3 |
± 10%(@100~500μg/m3 ); ± 10μg/m3(@ 0 ~100μg/m3 ) |
레이저 산란 |
|
TVOC |
0 ~2000ppb |
± 30%FS@25℃ |
반도체 가스 센서 |
|
포름알데히드 |
0 ~1000ppb |
± 15%FS@25℃ |
연료 전지 센서 |
참고:
1. 이상의 검측 정밀도는 모두 다음과 같은 환경 조건에서 측정되었다: 온도 25 ℃, 상대 습도 50% RH, 1개 대기압, 측정 대기 검측 항목은 최대 검측 범위를 초과하지 않는다.
2. 제품을 지속적으로 개선하기 위해 당사는 디자인 기능과 규격을 변경할 권리를 보유합니다.


1、 +12~24V;
2、GND;
3、 RS485A;
4、 RS485B;
5、GND1;
회로를 연결할 때, 전선을 연결 단자와 연결하여 연결이 정확하고 견고하도록 확보한다.
1. 전기를 켜고 사용하려면 2분 이상 예열해야 한다.
2. 테스트가 필요한 위치에 모듈을 설치하고 열원을 멀리해야 한다.
3. 이 모형조장의 시간을 고농도 유기기체 및 부식성 기체에 두지 마십시오.
4. 강한 대류 가스 환경에서 모듈을 설치하여 사용하지 마십시오.
5. 지면의 모래먼지, 흩날리는 솜 등 큰 먼지 입자 심지어 솜 모양의 오염으로 인해 선풍기가 감겨 막히는 것을 피한다.
6. 불가역적인 파괴를 방지하기 위해 센서를 분해하지 마십시오.
7. RS485 통신선은 차폐 쌍교선을 사용해야 하며, 필요시 250 오메가 단말기 2개가 저항을 일치시켜야 한다.
8. 사용환경에는 전기전도먼지가 없고 금속을 부식하지 않으며 절연을 파괴하는 기체가 존재하여 직접적인 빛과 비를 피해야 한다.
9. 모듈을 소금 안개, 산성 또는 산화 가스 (이산화 유황, 염산 등) 환경에 두는 것을 피한다.
1. 개요
통신 프로토콜은 환경 대기 질 검사 모듈의 입력 및 출력 명령, 정보 및 데이터를 상세하게 기술하여 제3자가 사용하고 개발할 수 있도록 한다.
본 제품은 표준 직렬 RS485 통신 인터페이스를 사용하며, 정보 전송 방식은 비동기 방식, 시작 비트 1비트, 데이터 비트 8비트, 정지 비트 1비트, 검사/짝 검사 없음(지령 전환을 통해);전송률 9600bps(기본값), 명령을 통해 수정할 수 있습니다.장치 주소 값은 기본적으로 01이고 설정할 수 있는 주소 값 범위는 01에서 255입니다.(단말기 저항은 120옴으로 설정할 수 있으며, 다이얼 스위치 형식으로 단말기 저항을 120옴으로 전환할 수 있다.)
2. 통신 프로토콜 상세 설명
2.1 통신 방식
(1) 모든 회로 통신은 마스터/슬레이브 방식에 따라 데이터가 마스터와 슬레이브 사이에서 전달되어야 한다.
(2) 알 수 없는 명령이 포함된 패키지가 마스터 스테이션이나 스테이션에서 수신되면 해당 패키지는 무시되고 수신 스테이션은 응답하지 않습니다.
2.2 데이터 프레임 구조 설명 반환
|
주소 |
기능 코드 |
데이터 수 |
데이터 1 |
...... |
데이터 n |
CRCL CRCH |
3. 전송 형식
3.1 호스트에서 읽기 주소 명령 보내기 (1 대 1):
|
주소 |
기능 코드 |
레지스터 주소 상위 |
레지스터 주소 하위 |
데이터 개수 상위 |
데이터 개수 하위 |
CRC 16비트 체크섬 |
|
00 |
03 |
01 |
00 |
00 |
01 |
84 27 |
컴퓨터에서 주소를 반환하려면 다음과 같이 하십시오.
|
주소 |
기능 코드 |
바이트 길이 |
주소 상위 |
주소 하위 |
CRC16비트 체크섬 |
|
00 |
03 |
02 |
00 |
xx |
CRCL CRCH |
예:
호스트 전송: 00 03 01 00 00 01 84 27
슬레이브 응답: 00 03 02 00 address CRCL CRCH;address가 2인 경우 읽은 센서 주소는 2입니다.
3.2 호스트에서 읽기 데이터 전송 명령:
|
주소 |
기능 코드 |
데이터 주소 상위 |
데이터 주소 하위 |
데이터 개수 상위 |
데이터 개수 하위 |
CRC 16비트 체크섬 |
|
xx |
03 |
00 |
02 |
00 |
07 |
CRCL CRCH |
(현재 주소 0x0002부터 시작하여 7개의 데이터 값을 동시에 읽는 모든 데이터만 지원), 7개의 센서 데이터는 7개의 센서 주소에 해당하며, 데이터 시작 주소 높음은 영원히 0이고, 반환 데이터 개수 높음은 영원히 0이다.
컴퓨터에서 값을 반환하려면 다음과 같이 하십시오.
반환 형식:
|
슬레이브 주소 |
기능 코드 |
데이터 개수 |
데이터 N0~N13 |
CRC 16비트 체크섬 |
|
xx |
03 |
0E |
xx |
CRCL CRCH |
데이터 컨텐트를 반환하려면 다음과 같이 하십시오.
|
N0 |
N1 |
N2 |
N3 |
N4 |
N5 |
N6 |
N7 |
N8 |
N9 |
N10 |
N11 |
N12 |
N13 |
|
CO2 상위 |
CO2 하위 |
포름알데히드 고위 |
포름알데히드 저위 |
TVOC 상위 |
TVOC 하위 |
PM2.5 상위 |
PM2.5 하위 |
PM10 상위 |
PM10 하위 |
온도 상위 |
온도 저위 |
습도 상위 |
습도 저위 |
예:
호스트 전송: 01 03 00 02 00 07 CRCL CRCH
슬레이브 응답: 01 03 0E 02 26 00 26 00 34 00 0E 00 11 00 FF 03 11 CRCL CRCH
참고: 데이터 반환 계산
1. CO2 데이터: 0x0226, 대응 10진수는 550으로 CO2 농도가 550ppm임을 나타낸다;
2. 포름알데히드 데이터: 0x0026, 대응 10진수는 38, 포름알데히드 농도는 38ppb를 나타낸다;
3. TVOC 데이터: 0x0034, 대응 10진수는 52이며, TVOC 농도가 52ppb임을 나타낸다;
4. PM2.5 데이터: 0x000E, 대응 10진수는 14이며, PM2.5 미세먼지 농도가 14ug/m³임을 나타낸다;
5. PM10 데이터: 0x0011, 대응 10진수는 17이며, PM10 미세먼지 농도가 17ug/m³임을 나타낸다;
6. 온도 데이터: 0x00FF, 10진수 255에 대응하여 온도를 25.5 ℃ (음온은 보정으로 구현함) 로 표시한다;
7. 습도 데이터: 0x0311, 대응 10진수 785, 표시 습도 78.5% RH;
3.3 주소 설정 명령 (1 대 1):
이 명령은 시스템의 주소를 설정할 수 있습니다. 주소 값은 01에서 255까지입니다.
호스트 전송 명령:
|
주소 |
기능 코드 |
레지스터 주소 상위 |
레지스터 주소 하위 |
슬레이브 주소 상위 |
슬레이브 주소 |
CRC 16비트 체크섬 |
|
00 |
06 |
01 |
00 |
00 |
xx |
CRCL CRCH |
전화 기반 응답:
|
주소 |
기능 코드 |
데이터 바이트 수 |
슬레이브 주소 상위 |
슬레이브 주소 |
CRC 16비트 체크섬 |
|
00 |
06 |
02 |
00 |
xx |
CRCL CRCH |
예:
호스트 전송: 00 06 01 00 00 address CRCL CRCH
슬레이브 응답: 00 06 02 00 address CRCL CRCH
address가 2인 경우 슬레이브 주소가 2로 설정됩니다.호스트에서 수신자 응답을 받은 후 주소 설정에 성공했습니다.
3.4 전송률 설정
이 제품의 전송 속도는 기본적으로 9600bps이며 업데이트 가능한 전송 속도(단위: bps)는 4800, 9600, 11400, 19200, 38400, 57600, 115200입니다.이러한 전송률은 각각 명령에서 1, 2, 3, 4, 5, 6, 7에 대응한다.
전송률 형식을 설정하려면 다음과 같이 하십시오.
|
주소 |
기능 코드 |
데이터 주소 상위 |
데이터 주소 하위 |
데이터 개수 상위 |
데이터 개수 하위 |
CRC 16비트 체크섬 |
|
xx |
06 |
00 |
FD |
00 |
xx |
CRCL CRCH |
예:
호스트 전송: 01 06 00 FD 00 04 CRCL CRCH
슬레이브 응답: 없음
주소가 01인 장치의 전송률을 04로, 즉 19200으로 변경함을 나타냅니다.
3.5 체크섬 패리티 없는 전환 형식
|
주소 |
기능 코드 |
데이터 주소 상위 |
데이터 주소 하위 |
데이터 개수 상위 |
데이터 개수 하위 |
CRC 16비트 체크섬 |
|
xx |
06 |
00 |
FE |
00 |
00/01 |
CRCL CRCH |
00: 체크섬 없음, 01은 패리티 없음
예:
호스트 전송: 01 06 00 FE 00 01 CRCL CRCH
슬레이브 응답: 없음
주소가 01인 디바이스 체크섬을 패리티로 변경했음을 나타냅니다.
4. 호스트 데이터 샘플링 주파수:
상위기가 데이터를 읽는 간격은 매번 500ms 이상이어야 하며, 권장치는 1s 이상이어야 한다.
5. CRC 검증 참조:
unsigned int GetCRC16(unsigned char *ptr, unsigned char len)
{
unsigned int index;
unsigned char crch = 0xFF;// 높음 CRC 바이트
unsigned char crcl = 0xFF;// 낮은 CRC 바이트
unsigned char code TabH[] = {//CRC 하이 바이트 값 테이블
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
} ;
unsigned char code TabL[] = {//CRC 로우 바이트 값 테이블
0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06,
0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD,
0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A,
0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4,
0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3,
0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4,
0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29,
0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED,
0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60,
0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67,
0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68,
0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E,
0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71,
0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92,
0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B,
0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B,
0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,
0x43, 0x83, 0x41, 0x81, 0x80, 0x40
} ;
while(len--) // 지정된 길이의 CRC 계산
{
index = crch ^ *ptr++;
crch = crcl ^ TabH;
crcl = TabL;
}
return ((crch<<8) | crcl);
}