美的空调 R05D 红外协议研究(一)

技术 · 05-19 · 550 人浏览

背景

通常情况下红外遥控采用NEC协议传输数据,而美的空调采用 R05D 协议,因此一般的红外发射模块无法对空调进行控制。
本文将对美的空调 R05D 协议展开分析,并通过 STM32 单片机进行红外遥控。

R05D 红外协议原理

1.编码格式

编码格式为 L A A' B B' C C' S L A A' B B' C C'

2.L S A B C 字母说明

L 为引导码,S 为分隔码,A 为识别码 (一般为 10110010 = 0xB2,预留方案 10110111 = 0xB7),A' 为 A 的反码,B' 为 B 的反码,C' 为 C 的反码

3.帧

第一帧和第二帧相同,二者之间有一个分隔码 S

4.长度

A B C 长度均为 8 位,故一帧长度为 48 位(不包含 L S)

5.发送顺序

高位先发,即 MSB 在先,LSB 在后

6.B、C 含义

如下表所示:
B

B7 B6 B5B4 B3 B2 B1 B0
风速1  1  1  1  1

C

C7 C6 C5 C4C3 C2C1 C0
温度模式0  0

风速

风速B7 B6 B5
自动1  0  1
低风1  0  0
中风0  1  1
高风0  0  1
固定风0  0  0

注:在抽湿以及自动模式下,风速为固定风(B7 B6 B5 = 0 0 0)
制冷以及制热模式下,风速为自动风(B7 B6 B5 = 1 0 1)

温度

温度C7 C6 C5 C4
17°C0  0  0  0
18°C0  0  0  1
19°C0  0  1  1
20°C0  0  1  0
21°C0  1  1  0
22°C0  1  1  1
23°C0  1  0  1
24°C0  1  0  0
25°C1  1  0  0
26°C1  1  0  1
27°C1  0  0  1
28°C1  0  0  0
29°C1  0  1  0
30°C1  0  1  1
无定义1  1  1  0

注:只送风模式下,温度代码为 C7 C6 C5 C4 = 1 1 1 0

模式

模式C3 C2
自动1  0
制冷0  0
抽湿0  1
制热1  1
送风0  1

注:抽湿模式和送风模式代码一致,不同点在于抽湿模式有温度代码,而送风模式无

示例:
自动 制冷 25°C

(BIN) L 10110010 01001101 10111111 01000000 11000000 00111111 S ......
(HEX) L 0xB2 0x4D 0xBF 0x40 0xC0 0x3F S ......

7.引导码 L

发射端:4.4ms 高电平 + 4.4ms 低电平(与图片相反,下同)
接收端:4.4ms 低电平 + 4.4ms 高电平(与图片对应,下同)

L Code

8.分隔码 S

发射端:0.54ms 高电平 + 5.22ms 低电平
接收端:0.54ms 低电平 + 5.22ms 高电平

S Code

9.数据位 0

发射端:0.54ms 高电平 + 0.54ms 低电平
接收端:0.54ms 低电平 + 0.54ms 高电平

0 Code

10.数据位 1

发射端:0.54ms 高电平 + 1.62ms 低电平
接收端:0.54ms 低电平 + 1.62ms 高电平

0 Code

11.发射波形

0 Code

12.关机

固定为 A=0xB2 B=0x7B C=E0
即:

(BIN) L 10110010 01001101 01111011 10000100 11100000 00011111 S ...
(HEX) L 0xB2 0x4D 0x7B 0x84 0xE0 0x1F S ...

设计思路

通过 STM32 定时器功能,对红外发射管进行控制,输出 38kHz 载波,传输 R05D 红外编码。
具体需准备:

  • STM32F103C8T6
  • 红外发射管 (5mm)

使用到的外设:
GPIO、PWM、TIM2

下一篇文章将给出实现代码。

Theme Jasmine by Kent Liao