APP下载

基于STC89C52单片机的智能窗帘设计

2022-05-20贾稀月陈飞险艾辉虎朱令乾拾云洁

物联网技术 2022年5期
关键词:直流电机窗帘遥控器

贾稀月,陈飞险,艾辉虎,朱令乾,拾云洁

(苏州城市学院,江苏 苏州 215104)

0 引 言

智能家居是以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日常事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。与传统型家居产品相比,智能家居不但有效地改变了传统家居生活,还为广大消费者提供了舒适安全、品质优雅的家居生活环境。日常生活中的窗帘,在使用时一般需要频繁地手动开合,为了使窗帘开合更加便捷、智能,本文设计了一款以STC89C52单片机为核心的窗帘控制系统,可以通过不同方式对窗帘进行控制。

1 系统硬件设计

1.1 系统总体结构

本设计方案按模块划分主要包括STC89C52单片机、按键模块、红外遥控模块、蓝牙模块和电机驱动模块。STC89C52单片机作为系统核心部件,实现对整个系统的控制和管理。按键模块、红外遥控模块和蓝牙模块提供了三种不同的控制方式,丰富了系统控制功能。电机驱动模块用于驱动直流电机正反转,以模拟窗帘的升降。本系统硬件结构框图如图1所示,系统电路如图2所示。

图1 总体硬件结构框图

图2 总体硬件电路

1.2 按键控制电路

按键控制电路用于手动控制窗帘的升降。本设计共有5个物理按键,其中按键K1、K2、K3用于控制窗帘进行相应的动作。当按下K1时电机正转,窗帘下降;按下K2时电机反转,窗帘上升;按下K3时电机停止动作,窗帘停止动作。按键K4、K5用于模拟限位开关,当窗帘开合到最大时触碰到限位开关停止动作,防止过卷。这5个按键的公共端接地,另一端分别与单片机P2.6、P2.7、P3.5、P3.6、P3.7口连接。由于P3口内置上拉电阻,因此按键电路不须额外接上拉电阻。按键电路如图3所示。

图3 按键电路

1.3 红外遥控电路

红外遥控电路包括红外遥控器和红外接收部件两部分。红外遥控器采用NEC协议,当按下遥控器后,遥控器发出相应的控制信号。

红外接收部件选用HX1838集成芯片,该芯片集放大、接收功能于一体。当按下红外遥控器按键时,遥控器将相对应的二进制信号调制为一系列的脉冲信号,通过红外发射管发射红外信号;HX1838芯片将接收到的光脉冲转换成电信号,再经过放大器和限幅器,将脉冲幅度控制在一定范围内,信号再经过滤波等处理后送给解调电路进行解调,还原出发射端的信号波形。HX1838芯片与单片机的P3.3口相连,红外遥控器按键1、2、3分别控制窗帘的下降、上升、停止。红外遥控电路如图4所示。

图4 红外遥控电路

1.4 蓝牙控制电路

蓝牙控制部分采用HC-05蓝牙模块,HC-05是主从一体的蓝牙串口模块。当蓝牙设备与单片机配对连接成功后,HC-05内部程序可以直接将蓝牙串口设备当作串口使用。

当单片机上电后,可通过手机蓝牙与HC-05配对,配对成功后即可通过手机向单片机发送控制指令。单片机收到控制指令后将触发串口中断请求,此时单片机进入串口中断处理程序,将接收到的数据送入CPU进行处理,以控制窗帘进行相应的动作。HC-05蓝牙模块的RXD、TXD引脚分别与单片机的RXD(P30)、TXD(P31)口相连接,其电路如图5所示。

图5 蓝牙控制电路

1.5 电机驱动电路

本设计通过直流电机的正反转来模拟控制窗帘的升降,由于单片机内部电路输出的电流较小,无法直接驱动直流电机,因此选用L9110芯片驱动直流电机。

L9110是为控制和驱动电机设计的两通道推挽式功率放大专用器件,它具有较强的电流驱动能力,且容易通过单片机控制。L9110配备了两个TTL/CMOS兼容电平的输入,具有很强的抗干扰能力,两个输出端能直接驱动电机的正反转动作。

电机驱动电路如图6所示。L9110的IA、IB引脚为信号的输入端,分别与单片机P2.1、P2.2口连接;OA、OB引脚与直流电机相连接。单片机通过控制P2.1、P2.2口的状态即可控制电机的状态,对应的电机状态见表1所列。

图6 驱动模块电路

表1 电机状态对应

2 系统软件设计

本系统软件程序在Keil μVision4的开发环境下使用C语言进行编程,遵循了程序模块化设计理念,软件主要包括主程序、物理按键程序、红外遥控控制程序、蓝牙模块控制程序等。

主程序主要负责完成初始化操作以及各个子程序之间的联系任务,无限循环。利用子程序中设定的机械按键、红外遥控器按键以及收发蓝牙串口数据并在主程序中分别进行调用,不断循环检测控制信号,从而通过不同的方式实现控制直流电机动作即控制窗帘的动作。主程序流程如图7所示。

图7 主程序流程

当主程序初始化完成以后,按键子程序检测P3.5、P3.6和P3.7口电平是否变化。当按下按键时,单片机检测到电平变化,根据按下的按键发出指令控制电机做出相应动作。红外遥控器发出的信号作为单片机的中断信号,单片机对P3.3口进行实时检测,若检测到脉冲信号,则进行解码,并根据编码对电机执行相应的动作。

蓝牙模块控制程序主要完成控制信号的传输。在单片机上电后,首先与手机进行配对,若配对成功,表明通信正常。此时可通过手机APP对单片机发出控制命令,单片机通过P3.0(RXD)口接收命令,然后根据接收到的命令控制直流电机进行相应的动作。

3 结 语

本系统以STC89C52单片机为控制核心,可通过按键、红外遥控、蓝牙等不同的方式控制直流电动机的动作,从而达到控制窗帘自动升降的效果。本设计成本低,具有较高性价比,且具有一定的实用价值。在丰富了智能窗帘功能的同时,也符合现在家居智能化的发展方向,能够让生活更加便捷、智能、舒适。

猜你喜欢

直流电机窗帘遥控器
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
风儿撩起了窗帘
我是“糊涂虫”
时间遥控器
爸妈有个“遥控器”
巧做窗帘
基于FPGA的双绕组无刷直流电机软件设计
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法
感恩的窗帘