项目背景:
美的空调有一个“随身感”功能可以将遥控器感知到的温度发送给空调,使空调能精准调节遥控器附近的温度,改善人的体验。
此项目利用了这一机制,制作了一个锂电池供电的温度探头,安装到合适位置来减少空调 忽冷忽热/温度不受控的问题。
同时,空调工作过程中会拉低湿度,导致后半夜温度不变但体感变冷的现象,故参考NOAA的体感温度算法加了湿度补偿。
项目实现:
硬件:复刻Arduino mini的最小系统,外接HDC1080温湿度传感器,额外增加电池保护电路、充电芯片和串口烧写功能。
软件:Arduino,使用了IDE 2.3.6里现有的两个库,ClosedCube HDC1080 V1.3.2用于获取温度和湿度,IRremote V4.4.2用于发送红外编码。体感温度算法参考了NOAA的简化补偿算法。程序运行循环:获取温度湿度->计算体感温度->发送红外->休眠1分钟。
线控器配置:
想要启用外部随身感,减少线控器的影响,线控器需要一些设置/确认,长按 左2+右1右2 恢复出厂设置,长按 左1+右1 进工程模式,上下选择功能,右1确认,右2退出:
代码
功能
开关
默认值
需要值
C4
红外功能
00:禁用,01:启用
01
01
当设置“禁用线控器红外接收功能”时,线控器无法接收遥控器信号,包括“随身感”功能
C7
显示实时温度
00:否,01:是
00
01
默认只显示设定温度,打开方便观测
C15
掉电记忆
00:否,01:是
01
01
掉电记忆能记忆掉电前的室内机的模式、风 速、温度、随身感状态
C20
线控器温度补偿
-5~+5℃
-1.0
无所谓
只针对线控器自发热问题的补偿,对遥控的随身感无效
C28
线控器温度探头开关
00:开,01:关
00
01
建议关闭,线控器的探头严重干扰温度稳定性
温度失控的原因:
空调自身的温度探头在进风口,位置偏高,热气上升而冷气下沉,进风口感知到的温度天然偏高,上层温度冷到设定温度之后 下层就偏冷。
墙上的线控器内部也有温度探头,但此电路板自身有发热,让感知到的温度偏高,虽然后边有固定减1℃的处理,但显然不够准确。
线控器安装位置距离空调太远,空调需要疯狂制冷 才能拉低线控器附近的温度。
线控器所在的墙体温度偏高/偏低,墙体的热辐射会严重影响温度检测的灵敏度。
随身感红外编码:
美的的R05D红外编码格式见附件描述,实测随身感有一个细节与说明书中不同,
随身感所发送的三个byte,第一个byte是固定的功能编码0b10111010 ,第二个byte的前两bit固定是1,后6位是0~50℃的整数,第三个byte的前两bit实际上是温度的小数,以0.25℃为步进,后6位固定是0。
使用IRremote库的SendRAW功能发送原始编码,具体的时序上根据实测略有调整。