행복한 하루

USB to RS485(MFA-02) 모듈을 이용해서 불꽃감지기 IRT-020-K(IR-3 Digital)와 통신하기 본문

IT

USB to RS485(MFA-02) 모듈을 이용해서 불꽃감지기 IRT-020-K(IR-3 Digital)와 통신하기

변화의 물결 2022. 12. 20. 12:04

 

 

 안녕하세요.

 

 이번에는 지난번 불꽃 감지기 RS485 통신 테스트하는 겸 RS485 to USB 모듈 테스트를 진행해보았습니다.

 별로 차이는 없지만, 불꽃 감지기 본체만 가지고 한다면 소화전과 같은 물리적으로 제어를 하겠지만, 통신이 가능하다면 소프트웨어적으로 제어 및 모니터링 가능한 장점이 있다고 생각합니다.  거두절미(去頭截尾)하고 바로 확인해보도록 하겠습니다.


1. 제품 확인

 - IRT-020-K 제품은 이전 글을 참조하시면 도움이 될 것이라 생각됩니다.

 

 

불꽃감지기 IRT-020-K(IR-3Digital 50m) 제품 확인

안녕하세요. 화재 감지 테스트를 위해서 불꽃 감지기 제품을 확인하게 되었습니다. 열화상 카메라는 온도 중심으로 감지한다면 불꽃 감지기는 빛의 파장을 중심으로 감지한다라고 생각하면 어

remnant24c.tistory.com

 

 - USB to RS485 모듈 [Bitbus MFA-02]

  <스  펙>

 - USB Chip : CP2104

 - USB 케이블 : B Type

 - 표시 LED : Power, Tx, Rx 상태 표시

 - 출력 핀 : RS485-A, RS485-B, GND

 - 보호회로 : Poly Switch, SN65176B 내장으로 PC 및 타깃 보드를 보호

 -  종단 저항( 선로 중간에 종단 저항 설정 시에는 설정한 기기의 이후 선로는 통신이 되지 않으니, 주의)

2. 제품 연결방법

 - USB to RS485 모듈을 PC에 연결하면 장치 관리자에 아래와 나타납니다. 알 수 없는 장치라고 나타난다면

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads 링크에서 드라이버를 다운로드하여서 설치해야 합니다.

 - 불꽃감지기 RS485(+)와 RS485 모듈 RS485_A 와 연결

 - 불꽃감지기 RS485(-)와 RS485 모듈 RS485_B 와 연결

3. 불꽃 감지기(IRT-020-K) 프로토콜(Protocol) 확인

 - 제조사에서 통신으로 상태를 확인할 수 있게 RS485 프로토콜을 정의해놓았습니다. 이 문서 기반으로 간단하게 송수신 데이터를 확인해봅니다.

4. 통신 설정

 - USB to RS485를 사용해서 통신 테스트를 하고 있지만, IoT 모듈 등 원격지에서 보려고 한다면 RS485 to TTL 제품으로 바꿔서 임베디드 보드에서 송수신을 처리해야 합니다. 현재는 PC에서 프로토콜을 확인하는 차원에서 확인하였습니다.

 

 - 테스트에 사용한 프로그램은 SerialPortMon을 사용하였지만, 시리얼 통신하는 다른 프로그램을 사용해도 문제없습니다. 통신 포트 설정만 잘 맞춰주면 됩니다.

5. 통신 테스트

1) ID 설정(변경)

 - 장비를 처음 받으면 ID가 FF(0xFF) 이므로 변경이 필요하다고 나옵니다. 그래서 ID를 01(0x01)로 먼저 설정해줍니다.

    HEX 송신-> ) 00 FF 02 01 02 AA

 - 변경 데이터를 송신하면 수신 값 받음

    HEX 수신<- ) 00 01 02 01 04 AA

 

2) 감지기 상태 확인

 - 감지기 상태를 확인하기 위해 명령어 04(0x04) 보내면 알람 단계에 맞게 수신 값을 보내줍니다.

     HEX 송신-> ) 00 01 04 00 05 AA

 

 - 라이터 작은 불을 0.5m 정도 움직이면 1단계, 2단계 알람 상태 데이터를 전달해주다가 더 가깝게 가면 화재 발생 알람이 발생했습니다.

- 감지기 상태 데이터는 2초 이내로 요청하면 응답하지 않는 경우가 생기므로 최소 2초 이상의 주기로 상태 데이터를 요청해야 합니다.

 

3) 불꽃 감지기 재시작

 - 화재감지가 되면 전원을 불꽃 감지기의 전원을 다시 끄고 켜지 않으면 빨간불이 깜박이며 알림 신호를 주기 때문에 전원제어가 아니라면 리셋 명령 01(0x01)로 초기화해줄 수 있습니다.

    HEX 송신-> ) 00 01 01 00 02 AA

    HEX 수신<- ) 수신 데이터 없음

 

4) 처음 전원 인가 시

 - 불꽃 감지기에 전원을 인가하면 FC가 하나 들어오고 Protocol 문서에 없는 command “00”을 전달합니다. 아마 장비 상태 및 아이디 확인 차원에서 전달되는 데이터로 생각됩니다.

 

- 리셋 신호를 보내면 FC 없이 00 커멘드가  들어옵니다.

 

5) 화재 감지 시

 - 감지기 상태 확인 명령어를 보내다가 화재 알람이 발생한 경우 04(0x04)로 데이터 수신됩니다.

 - 개발하려고 하는 응용프로그램에서 알람 데이터를 체크해서 상태를 확인해주면 될 것으로 보입니다.

6. 최종 후기

 - RS485 장비였지만, USB 변환 모듈을 통해서 RS232 통신처럼  쉽게 데이터를 받을 수 있었습니다.

 - 불꽃 감지기는 정의된 Protocol에 맞게 데이터가 잘 들어왔습니다. 그런데 감지 단계가 어떤 경우에 1,2,3 단계인지 명확하지 않았습니다.

 

 - 소방법에 맞게 알람이 발생하려면 특정 거리에서 큰 불꽃이라는 것이 인식되기까지 몇 초가 소요되는 것은 맞는데, 애초에 작은 불을 잡겠다고 생각하면 맞지 않을 것으로 생각됩니다.

 

 - 사무실 공간에서 위에서 아래로 내려보는 것이 아니라 책상 높이에 그냥 두었을 때도 비주기적으로 한 두 번 알람이 울려서 현장에서 약간의 잘못된 알람이 발생할 수 있겠다는 생각이 들었습니다. (UV가 장착된 제품을 추가로 테스트해보고 싶은 마음이 듭니다.)

 

 - 향후 임베디드 모듈과 연결하려면 RS485 to TTL제품과 연결해서 통신하는 프로그램 개발이 필요해 보입니다.

 

감사합니다.

 

<참고 사이트>

1. USB to RS485 모듈 [MFA-02]

https://www.bitbus.co.kr/module_dev/?idx=26

2. RS232/RS422/RS485에 대해서 2

https://blog.naver.com/jmsin30/220264593087

3. IRT-020-K

https://www.irtkorea.co.kr/page/?M2_IDX=7650

 

 

Comments