一、제품 개요
1.1 简介
KIR01 제어기은(는)万能型적외선遥控학습제어기,支持普通 NEC 编码的적외선리모컨的학습,也支持에어컨的长码编码的학습。之后根据指令重新将학습的键码보내기出去,以实现리모컨的복사或者통합到智能设备中。具有多种控制방식,시리얼 포트简码或者 485+MODBUS,并配合提供的上位机软件,能轻松的实现产品的개발,大大的降低了新产品的개발难度。
설명书下载
1.2 基本매개변수
- 전원 공급방식:DC 7-24V 100mA(静态电流<10mA,发射电流 600mA)
- 遥控距离:单向发射头 8 米距离,4 向发射头半径 6 米。另外可选配更远距离的发射头,最远可达 20 米
- 통신방식:485 통신,MODBUS 프로토콜+简码통신 프로토콜,8 位데이터,1 位정지 비트,无奇偶패리티
- 控制방식:485 的 MODBUS 控制、电脑端控制、板内扩展 TTL 시리얼 포트控制
- 통신 속도:2400、4800、9600(出厂默认)、19200、115200
- 编码방식:支持 NEC、에어컨码、RC-5、RC-6、PWM、PPM 等等绝大部分적외선리모컨
- 载波频率:38KHz
- 键值数量:可학습并储存 48 个键值
1.3 인터페이스설명
- 485 인터페이스:用于 485 통신控制的인터페이스,2 线。배선时需要注意线序,A 接 A,B 接 B,线序不对会造成无法통신。
- 电源인터페이스:用于给设备전원 공급的인터페이스,2 个脚,可以不分正负极,直流或者交流,7-24V 电源(最高입력电压不得超过 26V),电流不小于 400mA。
- 주소DIP 스위치:MODBUS 통신控制时用到的통신주소=DIP 스위치주소+软件设置주소。软件设置주소默认是 1。
- 적외선수신头:进行리모컨학습时,需要用리모컨对准수신头,距离 1 米远按리모컨,进行遥控按键학습。
- 工作指示灯:제어기通电的时候闪一下,학습리모컨的时候常亮,학습成功就熄灭,发射적외선信号会闪一下。
- 发射头인터페이스:需要注意배선的正负极,线序接错了会造成无法发射적외선信号。如果연결发射头,红线接+,黑线接-;如果연결发射管,长脚接+,短脚接-。적외선光信号人眼无法看到,但是手机摄像头可以看到微弱的紫色光,所以有时候需要确认发射头是否能发射적외선信号,可以用手机摄像头观察。
1.4 产品적용시나리오
- 스마트 홈产品:如多功能리모컨魔方、万能리모컨等。此적용시나리오推荐使用单片机+제어기,采用시리얼 포트简码통신 프로토콜。
- 工业控制产品:如에어컨제어기,온습도机제어기,恒温恒湿제어기。
- 万能리모컨:如将多款设备集合到一个리모컨里面。
- 산업 제어管理:如档案管理室,远程的 ERP 控制设备;学校宿舍统一管理에어컨。
1.5 제어기功能简单설명
- 연결上位机:通过시리얼 포트链接上位机软件,可以实现매개변수설정、键值학습、键值测试、통신 프로토콜디버깅、적외선码库的导出、导入。方便批量的설정제어기工作매개변수和导入적외선학습码库데이터。제어기和上位机软件都支持 2 种통신 프로토콜。
- 통신 프로토콜:通过시리얼 포트控制设备的时候시리얼 포트데이터유형支持 2 种통신 프로토콜,由短路点决定。
- 简码통신 프로토콜:55 AA 03 01 03(发射键值 01)통신 프로토콜比较简单,带有패리티,简单可靠,适合单片机控制。
- MODBUS 프로토콜:采用표준的工业控制 MODBUS-RTU 프로토콜,方便直接将产品적용到工业领域,无需过多개발。
- 학습遥控键值:进入적외선학습后,将리모컨对准적외선수신头,距离 1 米,轻点需要학습的按键即可。
- 测试遥控键值:对应的键值학습成功之后,可以通过上位机或者버튼测试对应的键值,将적외선发射头对准设备,然后测试发射。
- 测试按键:제어기上面有个按键,长按按键进入键值 0 的학습状态,短按按键则发射键值 0(前提是键值 0 已经학습成功)。
- 485 주소:这个是 MODBUS 프로토콜下有效,통신주소=软件설정的주소偏移量+DIP 스위치주소+1(주소有效范围 1-250)。
1.6 上位机简介
“적외선遥控학습管理器”은(는) windows 系统 PC 端的一款软件,方便用户更快速的上手使用적외선학습제어기而研发的。通过该软件可以非常方便的测试,和설정적외선학습제어기,还能很方便的批量下载적외선학습码库,以实现高效率研发、生产产品。
二、적용시나리오
2.1 简述
由于제어기支持的인터페이스多,可以적용于多种시나리오,不同的시나리오使用的방식不同,下面根据对应的시나리오进行설명。
2.2 시나리오一:直接电脑端上位机디버깅测试
此적용시나리오通常用于제어기初期개발测试,需要自备一个 USB 转시리얼 포트도구,推荐使用 CH340 相关도구,并进行배선。其中 CFG 引脚是用于选择통신 프로토콜방식的引脚,제어기支持 2 种통신 프로토콜,简码통신 프로토콜比较简单可靠,能通过单片机시리얼 포트보내기简单的指令就能有效控制;MODBUS 프로토콜则是工业领域적용广泛的一种프로토콜,但编程稍微复杂,可以根据需要选择合适自己的一套통신 프로토콜,并且需要修改上位机软件所处的프로토콜状态。
- CFG 低电平:选择简码프로토콜
- CFG 高电平:选择 MODBUS 프로토콜
배선接好之后,将시리얼 포트도구插上电脑 USB 口,并且安装好시리얼 포트도구的驱动,选择对应的 COM 口和통신 속도,클릭“시리얼 포트 열기”버튼,再클릭“읽기信息”버튼,如果能읽기设备信息,则代表设备연결成功,不能읽기则检查배선、驱动、매개변수相关是否有误。
在上位机软件界面,最底下有对应操作的시리얼 포트指令首发具体데이터콘텐츠:
- 예제一:modbus 프로토콜보내기键值 0
- 电脑보내기:
- 0x00 주소 00 设备(00 주소是广播주소)
- 0x06 操作码 06,写유지 레지스터
- 0x00,0xC8 레지스터 200,对应的是发射적외선信号键值 0
- 0x00,0x01 데이터콘텐츠 01
- 0xC8,0x25 CRC-16-Modbus-Rtu 检验데이터
- 제어기针对电脑보내기:
- 0x05 주소 05 设备
- 0x06 操作码 06,写유지 레지스터
- 0x00,0xC8 레지스터 200,对应的是发射적외선信号键值 0
- 0x00,0x01 데이터콘텐츠 01
- 0xC8,0x70 CRC-16-Modbus-Rtu 检验데이터
- 예제二:简码프로토콜보내기键值 0
- 电脑보내기:
- 0x55,0xAA 固定的데이터头
- 0x03 操作码 03,보내기적외선键值
- 0x00 键值 0
- 0x02 累加和체크섬,0X55+0XAA+0X03+0x00=0x102,只保留一바이트就是 0x02
- 제어기针对电脑보내기:
- 0x55,0xAA 固定的데이터头
- 0x03 操作码 03,보내기적외선键值
- 0x01 结果值:1 보내기成功,0 보내기失败
- 0x02 累加和체크섬,0X55+0XAA+0X03+0x01=0x103,只保留一바이트就是 0x03
2.3 시나리오二:제어기+RS485 电路用于工业领域
此시나리오常用于산업 제어领域,比如원격 제어에어컨、加湿机针对档案管理室、变电站、机房进行恒温恒湿控制。无需额外加单片机,不需要개발单片机代码,直接加电源电路、RS485 电路即可。
2.4 시나리오三:제어기+单片机实现复杂的功能
此적용시나리오常用于스마트 홈、산업 제어领域,通过单片机挂载其他的센서可以轻松实现复杂的功能。比如单片机挂载语音识别模块,再挂载제어기,则可实现语音控制에어컨,台灯,风扇……。
- 此모드下建议短接短路点,采用简码통신 프로토콜,개발简单。
- 接산업 제어主机,或者电脑端的 USB 转 485 设备。
三、上位机使用설명
使用 USB 转 485 도구进行연결,将 USB 插上电脑,열기자료包里面有驱动,安装完驱动之后열기上位机软件,选择对应的시리얼 포트号,设置出厂默认的통신 속도 9600,클릭열기버튼,之后클릭읽기信息,표시 장치연결成功。
3.1 键值학습和测试
클릭학습 시작버튼,则제어기会进入적외선학습的状态,此时指示灯亮,需要在 20 秒内将被학습的리모컨对准제어기的수신头,距离 1 米,轻点리모컨按键,학습成功之后제어기指示灯熄灭。之后将제어기的发射头对准被测试的设备,클릭测试键值,如果设备有相应的反应,则代表학습成功,若학습失败,请重试학습步骤,重新학습。
在上位机的最下方有시리얼 포트통신데이터收发信息显示(下面仅以简码프로토콜做설명,Modbus 类似):
- 发:[0x55,0xAA 데이터头]+[0x02 命令(进入적외선학습)]+[0x04 键值 4]+[0x05 체크섬]
- 收:[0x55,0xAA 데이터头]+[0x02 命令(进入적외선학습)]+[0x01 操作结果有效]+[0x02 체크섬]
- 发:[0x55,0xAA 데이터头]+[0x03 命令(发射적외선信号)]+[0x04 键值 4]+[0x06 체크섬]
- 收:[0x55,0xAA 데이터头]+[0x03 命令(发射적외선信号)]+[0x01 操作结果有效]+[0x03 체크섬]
3.2 键值학습状态查询
클릭“읽기학습状态”버튼,可查询 48 个键值的학습状态,打钩的代表已经학습。
在下方会有收发信息,55 AA 为데이터头,01 是指令码,代表查询학습状态,后面 8 바이트데이터转换成 8 个 8 位,一共 64 位2진수数,代表:键值 63、键值 62、键值 61、键值 60……键值 2、键值 1、键值 0 共 64 个键值的학습状态。1 为학습成功,0 代表没有학습,因为 IR02 只有 48 个键,所以 8 바이트데이터只有低位的 6 个바이트有效。
- TX:55 AA 01 00
- RX:55 AA 01 00 00 80 00 00 00 01 03 84
上图 8 个데이터:00 00 80 00 00 00 01 03,取右边 6 바이트 80 00 00 00 01 03 表示 48 键학습状态,转换成 2 진법是:
- 1000 0000
- 0000 0000
- 0000 0000
- 0000 0000
- 0000 0001
- 0000 0011
代表键值 0、1、8、47 键值已经학습成功。
3.3 键值改名
为了方便使用적외선제어기,上位机软件上面的键值名称可以被修改并저장。
3.4 导出导入적외선학습码库文件
为了方便批量生产产品,免除反复的进行遥控학습,通过上位机的적외선학습码库管理,可以轻松地批量下载码库文件。首先取一个제어기,将需要학습的键值전체학습并测试通过,之后클릭“从设备导出所有的학습码库”버튼,대기导出完成,之后클릭저장버튼,文件会以当前日期时间命名并且저장到软件所在的目录位置,之后可以自行修改文件名称,存档备用。然后可以更换成其他的제어기,再클릭“导入학습码库到设备”버튼,进行其他제어기的快速설정。码库导入导出的时候可以将통신 속도设置最高,以加快速度,导完了之后改为低통신 속도。
四、简码통신 프로토콜
当焊接了短路点时,통신 프로토콜运行于简码프로토콜。
4.1 통신 프로토콜형식
协定一套통신 프로토콜,为的是更可靠的将적외선학습제어기与 MCU 제어기进行통신,프로토콜码由:시작码(2 바이트)+指令码(1 바이트)+데이터码(n 바이트)+체크섬(1 바이트)组成。并且一条指令,需要在 100mS 内보내기完成,超时未보내기完的,视为无效指令。
- 시작码:0x55, 0xAA
- 指令码:
- 0x01:查询적외선학습键值
- TX:0x55,0xAA,0x01,0x00
- RX:0x55,0xAA,0x01,【0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF】,0xFD
- 0x02:指定键值进入학습状态
- TX:0x55,0xAA,0x02,0x05,0x06
- RX:0x55,0xAA,0x02,【0x01】,0x02
- 0x03:指定键值发射적외선信号
- TX:0x55,0xAA,0x03,0x05,0x07
- RX:0x55,0xAA,0x03,【0x01】,0x08
- 0x04:设置통신통신 속도
- TX:0x55,0xAA,0x04,0x02,0x05
- RX:0x55,0xAA,0x04,【0x01】,0x06
- 데이터码:不同的指令后面的데이터码数量不同
- 체크섬:체크섬指的是从시작码开始,到最后一个데이터码的 8 位累加和溢出值作为체크섬。例如:0x55+0xAA+0x04+0x02+0x01 = 0x106,只取 8 位,就是 0x06
4.2 통신 프로토콜,命令详述
| 命令 | 설명 | MCU/上位机 보내기 | 제어기回码 |
|---|---|---|---|
| 1 | 查询적외선학습结果 | 0x55,0xAA,0x01,0x00 | 无데이터 비트 0x55,0xAA,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13 8 바이트데이터 비트,转换成 64 位的2진수数,就代表着 64 个键值的학습状态(IR02 有 48 个键),1 已학습,0 未학습。从最右边的데이터 0 位开始,至最左边的데이터 63 位,分别代表键值 0……键值 63。0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13 表示键值 0、1、4 已학습,其他的键值未학습 |
| 2 | 指定对应的键值학습 시작적외선 | 0x55,0xAA,0x02,0x05,0x06 1 바이트的데이터 비트,取值范围 0……47 | 0x55,0xAA,0x02,0x01,0x02 1 바이트的데이터 비트,若是 0 代表操作无效(可能没有这个键值),1 代表操作有效(不代表학습成功了)。进入학습状态需要在 20 秒内进行键值학습,超时视为학습失败。 |
| 3 | 发射键值 | 0x55,0xAA,0x03,0x05,0x07 1 바이트데이터 비트,데이터取值范围 0……47 | 0x55,0xAA,0x03,0x01,0x03 1 바이트的데이터 비트,若是 0 代表操作无效(可能没有这个键值或没有학습),1 代表操作有效 |
| 4 | 设置통신통신 속도 | 0x55,0xAA,0x04,0x02,0x05 1 바이트데이터 비트 0:2400 1:4800 2:9600(出厂默认) 3:19200 4:115200 | 0x55,0xAA,0x04,0x01,0x04 1 바이트데이터 비트,若是 1 表示成功,若是 0 表示修改失败 修改통신 속도之后,断电重启都是以新的통신 속도在工作 |
五、MODBUS 통신 프로토콜
제어기默认没焊接短路点,통신 프로토콜运行于 Modbus-RTU 프로토콜。
5.1 통신 프로토콜简述
采用표준 MODBUS-RTU 통신 프로토콜,能很方便的对接市面上大部分的工业设备,或者对接구성(SCADA)软件,甚至对接 PLC 设备。
| 레지스터주소 | PLC주소 | 操作码 | 설명 |
|---|---|---|---|
| 0 | 40001 | 03/06 | 485 통신주소偏移量 |
| 1 | 40002 | 03/06 | 485 통신통신 속도 |
| 100 | 40101 | 06 | 键值 0 进入적외선학습 |
| 101 | 40102 | 06 | 键值 2 进入적외선학습 |
| …… | …… | …… | …… |
| 147 | 40248 | 06 | 键值 47 进入적외선학습 |
| 200 | 40201 | 06 | 键值 0 发射적외선信号 |
| 201 | 40202 | 06 | 键值 2 发射적외선信号 |
| …… | …… | …… | …… |
| 247 | 40248 | 06 | 键值 47 发射적외선信号 |
| 300 | 40301 | 03 | 键值 15……0 학습状态매개변수 |
| 301 | 40302 | 03 | 键值 31……16 학습状态매개변수 |
| 302 | 40303 | 03 | 键值 47……32 학습状态매개변수 |
| 303 | 40304 | 03 | 键值 63……48 학습状态매개변수 |
六、크기图

七、附件
7.1 简码프로토콜的체크섬 계산方法,累加和체크섬
u8 UartCrc(u8 *buf, u8 lenth) {
u8 temp = 0;
u8 i;
for (i = 0; i < lenth; i++) {
temp += buf[i];
}
return temp;
}
Uart1_Tx_Dat[0] = 0x55;
Uart1_Tx_Dat[1] = 0xAA;
Uart1_Tx_Dat[2] = 0x01;
Uart1_Tx_Dat[3] = UartCrc(Uart1_Tx_Dat, 3);
Uart_Sendstr_lenth(Uart1_Tx_Dat,4);
八、버전历史
- V1.0:2022.07.09 修订
- V1.1:2022.08.03 完善部分细节설명,更换部分图片,新增板载短路点焊接설명,新增简码통신 프로토콜的설명
- V1.2:2023.02.18 新增제어기板载的시리얼 포트 TTL 설명
답글 작성