FastBond2阶段1-基于空调智能开发设计
空调是一个非常常见并且必不可少的家用电器,我在家中和宿舍使用的空调都是传统型,但我觉得并不够智能,无法达到真正的舒适生活。所以我想借助FastBond2的机会来设计一款新的智能蓝牙自动适应环境空调,来使我们的生活更加智能。
标签
嵌入式系统
开发板
物联网
FastBond2阶段1
空调
Sakura33
更新2023-11-06
华中科技大学
450

一、项目思路

空调是一个非常常见并且必不可少的家用电器,在夏天能够提供凉爽的环境,并且能够实现室内通风,我在家中和宿舍使用的空调都是传统型,即采用红外遥控来进行空调的关开,风量风向的调节,制冷制热等模式的切换和空调的定时开关,但我觉得并不够智能,无法达到真正的舒适生活。所以我想借助FastBond2的机会来设计一款新的智能蓝牙自动适应环境空调,来使我们的生活更加智能,该空调相对于传统空调的新的功能主要有如下几点:

1.空调可以通过手机APP远程操控开关,以此来达到随时开关的便捷,并且解决了红外遥控要在一定范围内的短板。

2.空调在开启感温模式的情况下可以通过红外传感器来判断是否有人,并结合情况来判断是否自动开关电。

3.空调在开启声音传感模式的情况下可以通过判断是否是主人的声纹来决定是否开关。

4.空调可以通过温度传感器来结合温度自动调整风量来达到预定的温度,使室内的温度更为恒定。

5.空调在执行完行动后可以语音反馈,内置也有一个AI系统可以与主人互动交流。

并且在当下环境温度的变化不定,智能控制空调是非常有必要的,在当下智能设计的市场有广阔前景,并且顾客需求量也相应大得多,所以设计这样一款产品有足够的市场发展。

二、方案框图

根据比赛要求,这次使用得捷的Scheme-it来设计框图,操作简单,页面结构清晰,非常方便!!在后面的校园设计实践中会优先考虑Scheme-it,争取在更多的任务项目中运用起来这一个软件!

本项目的主要框图如下,得捷网站的链接如下:

https://www.digikey.cn/schemeit/project/fastbond2-智能蓝牙自动控制空调-4ba5eb19a83e4e9183b5d3ed03c0e80aFurpbk11dJdTmYgfK8uNLq7w3d84

主要的元器件:

1)KFR-72L/DY-IDPA400(FP) 美的空调室内主控板

2)MAX9838x数字输入D类放大器 Analog Devices

3)MAX44000环境光和红外接近检测传感器 Analog Devices:https://www.analog.com/media/cn/technical-documentation/data-sheets/MAX44000_cn.pdf

4)MAX31875低功耗I2C温度传感器 Analog Devices

5)INMP441麦克风芯片---支持IS2

MAX9838x

Analog Devices Inc. MAX9838x数字输入D类放大器,在小型2.93mm2、16引脚WLP(0.4mm间距)节省空间的封装中集成有IV反馈和断电保护。这些放大器具有2.3V至10V宽电源电压范围,可提供AB类音频性能,效率高,可延长单节、两节和外部调节/升压便携式应用中的电池寿命。MAX98388优化用于高达5.5V应用(单节),而MAX98389优化用于5V至10V外壳(两节)。

通过精密输出电流检测通道和输出电压反馈通道在音频数据输出上传输收集数据。该传输支持在主机音频DSP上运行音频增强、低音增强、扬声器保护和触觉功能等算法。有源辐射限制 (AEL) 和边沿速率限制电路与扩频调制 (SSM) 方案 结合,可降低EMI,无需输出滤波。可编程阈值回放通道ALC为便携式系统中的电池提供掉电保护,并提供强大的热/过流保护,以防止器件损坏。

ADI MAX9838x数字输入D类放大器设有用于音频播放和IV反馈数据的PCM接口。然后将PCM接口与标准I2C接口配对,用于器件控制/状态回读。PCM接口还支持音频数据格式,例如I2S、左对齐和TDM定时。独特的时钟结构无需外部高频参考时钟。除了减小器件尺寸和引脚数外,无需此时钟还可节省接口功耗,同时降低高速开关和潜在电路板耦合问题引起的EMI风险。

MAX31875

Maxim Integrated MAX31875低功耗I2C温度传感器设有I2C/SMBus接口,温度测量精度为±2。MAX31875采用微型封装,非常适合用于各种设备。I2C/SMBus兼容串行接口可接受标准写字节、读字节、发送字节和接收字节命令,以读取温度数据并配置传感器的行为。

如果时钟为低电平且超过30ms(标称值),则总线超时将重置接口。当与支持此功能的主机配合使用时,PEC有助于避免通信错误。MAX31875采用4焊球晶圆级封装 (WLP),工作温度范围为-20°C至+150°C。

INMP411

INMP441是InvenSense公司推出的一款具有底部端口的高信噪比、低功耗、数字输出的全向MEMS麦克风,信噪比高达61dB,使其成为近场应用的绝佳选择。INMP441的电路结构如图所示,包括MEMS声音传感器、模数转换器(ADC)、抗混叠滤波器、电源管理模块以及行业标准的24位I2S接口。 I2S接口让INMP441可以直接连接到FPGA等数字处理器,而无需再外接音频编解码器。

MAX44000

MAX44000集成了宽动态范围环境光传感器和一个红外接近检测传感器,是便携式触摸屏控制产品的理想方案。 在环境光检测+接近检测应用中, IC仅消耗11μA (时间平均)电流(包括外部IR LED电流)。

片上环境光传感器能够测量0.03 lux至65,535 lux较宽的动态范围; 内部IR接近检测传感器与集成IR LED驱动器配合工作。通过I2C总线读取所有数据,可编程中断减轻器件 数据轮询的工作负荷,节省微控制器资源并减少系统软件开销,最终降低系统功耗。

IC设计用于驱动外部IR LED,工作在1.7V至3.6V VDD供电电源。只有环境光传感器工作时,器件消耗5μA电流,使能接近检测接收器和驱动器后,器件仅消耗7μA电流。

APP开发制作

APP作为手机常用软件,是区分安卓和苹果的,所以如果一定要使用的话就要设计两款模式的APP,十分耗费人力物力,所以现在暂时考虑了两种方案:

1.方案一是基于已有的空调遥控软件进一步地开发更多功能,增加软件的代码量。

2.方案二则是转入微信小程序开发,因为微信本身并不区分安卓和苹果,开发工序少,并且小程序体量小,需要实现较为容易。

三、电路图

暂时省略,后续加上。

四、相关代码(tip:采用keil设计,但全代码还未完整,故并不附代码文件)

温度传感器主板(基于stm32).c

#include "ds18b20.h"
#include "delay.h"
//复位DS18B20

void DS18B20_Rst(void)
{
DS18B20_IO_OUT(); //SET PG11 OUTPUT
DS18B20_DQ_OUT=0; //拉低DQ
delay_us(750); //拉低750us
DS18B20_DQ_OUT=1; //DQ=1
delay_us(15); //15US
}
//等待DS18B20的回应
//返回1:未检测到DS18B20的存在
//返回0:存在

u8 DS18B20_Check(void)
{
u8 retry=0;
DS18B20_IO_IN(); //SET PG11 INPUT
while (DS18B20_DQ_IN&&retry<200)
{
retry++;
delay_us(1);
};
if(retry>=200)
    return 1;
else 
    retry=0;
while (!DS18B20_DQ_IN&&retry<240)
{
retry++;
delay_us(1);
};
if(retry>=240)
    return 1;
return 0;
}

//从DS18B20读取一个位
//返回值:1/0

u8 DS18B20_Read_Bit(void)
{
u8 data;
DS18B20_IO_OUT(); //SET PG11 OUTPUT
DS18B20_DQ_OUT=0;
delay_us(2);
DS18B20_DQ_OUT=1;
DS18B20_IO_IN(); //SET PG11 INPUT
delay_us(12);
if(DS18B20_DQ_IN)
    data=1;
else data=0;
delay_us(50);
return data;
}

//从DS18B20读取一个字节
//返回值:读到的数据

u8 DS18B20_Read_Byte(void)
{
u8 i,j,dat;
dat=0;
for (i=1;i<=8;i++)
{
j=DS18B20_Read_Bit();
dat=(j<<7)|(dat>>1);
}
return dat;
}

//写一个字节到DS18B20
//dat:要写入的字节

void DS18B20_Write_Byte(u8 dat)
{
u8 j;
u8 testb;
DS18B20_IO_OUT(); //SET PG11 OUTPUT;
for (j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if (testb)
{
DS18B20_DQ_OUT=0; // Write 1
delay_us(2);
DS18B20_DQ_OUT=1;
delay_us(60);
}
else
{
DS18B20_DQ_OUT=0; // Write 0
delay_us(60);
DS18B20_DQ_OUT=1;
delay_us(2);
}
}
}

//开始温度转换
void DS18B20_Start(void)
{
DS18B20_Rst();
DS18B20_Check();
DS18B20_Write_Byte(0xcc); // skip rom
DS18B20_Write_Byte(0x44); // convert
}

//初始化DS18B20的IO口 DQ 同时检测DS的存在
//返回1:不存在
//返回0:存在
u8 DS18B20_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE); //使能PORTG口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //PORTG.11 推挽输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_SetBits(GPIOG,GPIO_Pin_11); //输出1
DS18B20_Rst();
return DS18B20_Check();
}

//从ds18b20得到温度值
//精度:0.1C
//返回值:温度值 (-550~1250)
short DS18B20_Get_Temp(void)
{
u8 temp;
u8 TL,TH;
short tem;
DS18B20_Start (); // ds1820 start convert
DS18B20_Rst();
DS18B20_Check();
DS18B20_Write_Byte(0xcc); // skip rom
DS18B20_Write_Byte(0xbe); // convert
TL=DS18B20_Read_Byte(); // LSB
TH=DS18B20_Read_Byte(); // MSB
if(TH>7)
{
TH=~TH;
TL=~TL;
temp=0; //温度为负
}else temp=1; //温度为正
tem=TH; //获得高八位
tem<<=8;
tem+=TL; //获得底八位
tem=(float)tem*0.625; //转换
if(temp)return tem; //返回温度值
else return -tem;
}

温度传感器主板(基于stm32).h

#ifndef __DS18B20_H
#define __DS18B20_H
#include "sys.h"

//IO方向设置
#define DS18B20_IO_IN() {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=8<<12;}
#define DS18B20_IO_OUT() {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=3<<12;}

//IO操作函数
#define DS18B20_DQ_OUT PGout(11) //数据端口 PA0
#define DS18B20_DQ_IN PGin(11) //数据端口 PA0


u8 DS18B20_Init(void);//初始化DS18B20
short DS18B20_Get_Temp(void);//获取温度
void DS18B20_Start(void);//开始温度转换
void DS18B20_Write_Byte(u8 dat);//写入一个字节
u8 DS18B20_Read_Byte(void);//读出一个字节
u8 DS18B20_Read_Bit(void);//读出一个位
u8 DS18B20_Check(void);//检测是否存在DS18B20
void DS18B20_Rst(void);//复位DS18B20
#endif

五、总结

通过本次FastBond2阶段1的实践,并结合实际情况,我想到了开发这样一款更加智能的空调,目的是增加其灵活性,真正智能造福生活。它有多种输入输出,但仍然不是完美的,希望能和大家一起交流,将这个项目完美呈现,毕竟个人力量是不够的,后续也希望能学习一下非专业的短板,如电路,并且学习kikad,真正将项目做下去。

最后祝fastbond越做越好,集思广益,真正做出能智能造福生活的产品。

软硬件
附件下载
`(U[_JQW66JH_QCKF6AE0BD.png
框图设计
团队介绍
华中科技大学人工智能与自动化学院自动化类2306班杨征坷同学,单人开发
团队成员
Sakura33
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号