基于stm32的红外遥控风扇设计 下载本文

内容发布更新时间 : 2024/11/5 23:18:48星期一 下面是文章的全部内容请认真阅读。

基于Android的红外智能风扇

摘要:为了解决家用电器在遥控方面的缺陷,结合智能家居的相关概念和技术,本文提出了一种基于Android手机的红外智能风扇设计方案。利用Android平台的应用软件,将智能风扇分为两种模式,一种模式是手动调节模式,通过红外模块把控制信号发送到STM32控制模块,而后由主控芯片STM32控制风扇的启停以及速度调节;另一种模式是智能模式,利用人体红外感应器和温湿度传感器,当检测到是否有人存在,且当前的温湿度(可通过设置数值大小)是否超出设定值,风扇将自动开关,调节风速大小,从而实现智能手机遥控电器的功能。

关键词 :智能家居;Android;红外线;STM32;风扇

第一章 概述

目前,市面上的家用电器如电视、空调、DVD等都有自己专用的红外遥控器;另外,还有一种叫万能遥控器,可以实现控制不同品牌的家用电器。但是遥控器过多,也给用户带了不便,可以通过手机集成红外遥控功能,实现简化。该方法通过手机发射红外信号,主控芯片接受到该红外信号后,对与之连接各种电器设备进行相应控制。

Android系统是Google公司推出的开源手机平台,采用Linux内核,是一

个标准化的、开放式的手机平台[1]。它具有强大的无线网接入能力,丰富、便捷的开发工具,和开放的平台等特点。STM32F1系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。该控制芯片具有低功耗、高稳定、大容量等特点,适合多场合的控制应用。

基于当前安卓智能手机的普及,为了满足智能家居的需求,本文设计了一款基于Android手机控制的智能风扇。把安卓智能手机作为控制平台,采用红外通信接口,把安卓智能手机与家用电器结合在一起,从而实现手机的无线智能遥控的功能。另外,本文还对风扇工作的模式进行了拓展,使其能够红外遥控调节模式与智能调节模式之间切换。

第二章 硬件设计

2.1 方案选择

红外协议需要载波调制信息,设计方案有:

方案一:采用555定时器调制38KHz载波信号供单片机加载信息;555 定时器成本低,性能可靠,但占空比调制困难,频率确定无法改变。

方案二:采用单片机内部的PWM机制调制38KHz载波信号加载信息;这个方案节约空间、抗噪性能强,可随时改变频率与占空比,但程序不易编写

众多遥控器一体对数据库存储需求大,方案设计有: 方案一:采用AT24Cxx扩展外部存储器; 方案二:采用自带高存储容量的存储器;

综合以上考虑,本设计采用STM32系列单片机,这款单片机有脉宽调节模式,能满足本方案的38KHz需求,且此单片机Flash程序存储区有512K,不需要扩展存储空间也能满足加载万能遥控器的数据库。功能满足的情况下,也为了不让硬件过剩的原则,我们采用了载波方案二和数据库存储方案二。

2.2 电路设计

本设计总模块框图

电源模块红外发射红外接受模块DHT11温湿度模块STM32F103红外人体感应模块风扇通断电路

图2-1 总模块框图

电路设计主要分为电源模块,红外接受模块、STM32控制模块、人体感应模块、DHT11温湿度检测模块和风扇驱动模块组成。其中电源模块采用电源适配器负责为其他模块电路提供稳定的5V电压。

红外模块负责与手机红外经行相互通信,传递控制信息;单片机控制模块负责识别以及处理从红外模块传递过来的控制信息。手机加载数据库信息到PWM调制38KHz载波上驱动红外发射模块进行红外波发射。

2.2.1单片机模块

单片机模块中的单片机采用STM32F103ZET6芯片,如图2-2所示。它是基于ARM Cortex-M3核心的32 位微控制器,LQFP-144封装,512K片内FLASH(相当于硬盘),64K片内RAM(相当于内存,片内FLASH 支持在线编程(IAP);高达72M 的频率,数据,指令分别走不同的流水线,以确保 CPU运行速度达到最大化;通过片内BOOT区,可实现串口下载程序(ISP);片内双RC 晶振,提供8M和32K 的频率;支持片外高速晶振(8M),和片外低速晶振(32K).其中片外低速晶振可用于CPU的实时时钟,带后备电源引脚,用于掉电后的时钟行走;42个16位的后备寄存器(可以理解为电池保存的RAM),利用外置的纽扣电池,和实现掉电数据保存功能;多达80个IO,4个通用定时器,2个高级定时器,2个基本定时器,3路SPI接口,2路I2S 接口,2路I2C接口,5路USART,一个USB从设备接口,一个 CAN接口,SDIO接口,可兼容SRAM,NOR和NAND Flash 接口的16位总线-FSMC;3路共16通道的12位AD输入,2路共2 通道的12位 DA 输出.支持片外独立电压基准;CPU操作电压范围:2.0-3.6V。