时间:2024-05-04
郝建峰 任国凤
摘要:为了给人们提供舒适便捷的生活,文章采用AT89C51 为核心器件设计了智能电动窗帘系统,该系统的硬件部分利用光敏传感器采集信号输入到单片机,由单片机分析信号实现对电机驱动电路的控制;软件部分采用C语言进行编程,与硬件部分共同完成窗帘拉合的目标。另外,根据用户生活习惯、天气情况等因素,文章设计了选控开关,用户可任意选择光控或手控方式实现对窗帘驱动电路的控制。
关键词:智能窗帘;电机;单片机
中图分类号:TN710.1 文献标识码:A
文章编号:1009-3044(2022)17-0117-03
智能窗帘控制系统在家居、大型会议室等领域得到了广泛的应用,满足了人们对窗帘系统的各种需求,有效地克服了传统手拉式或滑轮式窗帘的缺点,为人们提供了更加舒适、方便、快捷的生活环境,提高了人类的生活水平。通过光线亮暗采集来控制窗帘的开合,早上拉开窗帘,同时起到提醒用户起床的作用,给人们营造温馨舒适的生活环境。同时根据业主的特定要求增加了手动键控功能,可以通过按键的状态实现窗帘的拉开与关闭[1-2]。
1 系统硬件设计
1.1 系统整体结构图
1.2 控制单元
主控制器原理图如图2所示。
用软件控制单片机引脚的高低电平,利用P0端口控制MOS管H桥实现电机的正、反转;当主控制器的P0-6端口和P0-7端口分别输出高、低电平时,电机正向旋转,窗帘开启;当主控制器的P0-6端、P0-7端口输出分别为低、高电平时,电机反向旋转,窗帘闭合;当主控制器的P0-6端、P0-7端均输出高电平时,电机停止运转,窗帘维持原态[3]。
晶振为11.0592M,P0-6和P0-7为高低电平输出端口;P2-2、P2-3是光敏模块的外接按键控制端,P2-2是光敏电阻传感器模块电压输入端。
1.3 光敏电阻传感器模块
本文选择TYL系列光敏电阻,该电阻是依据半导体的光电效应原理——入射光阻值强弱发生改变制作的电阻器[4]。该模块由LM393比较器、电阻、光敏电阻和滑动变阻器等元件组成,其电路连接如图3所示。其电路原理是根据滑动变阻器和光敏电阻阻值的变化来控制电位器2、3号引脚电位的变化,从而使1号引脚输出不同的电位。R6的阻值随着光线变弱而增大,并与电阻R7实现分压,造成LM393的3号引脚压值低于2号引脚,使得1号引脚输出高电平。
在系统中,光敏电阻模块1引脚输出的信号传输到89C51,控制系统收到光明暗程度数据。当电压比较器LM393的1端为高电平时,光线强;1端为低电平时,光线弱。单片机采集到光线强弱信息后,控制电机带动窗帘的开关转动。
1.4 手动控制模块
智能窗帘控制部分除了能够实现光敏控制功能之外,还可以实现其第二功能,即手动控制;用户只需通过手动控制模块上的开/关按钮就可以控制电机的转向来实现窗帘的开/关,并且能够随时实现暂停。进而,窗帘轨道上配以位置检测器,当窗帘开合到位后自动切断电源,达到保护控制电路的目的[5-6]。在设计中需根据窗帘的长度,计算电机转动的圈数,然后精确设定软件程序电机转动的延时时间。
手動控制模块电路设计原理图如图4所示:
单片机P2-7端接开关K7,K7为手控选择按键;当K7按键按下时,主控制器AT89C51的P2-7端口选通,手控功能启动。
当K1按下K2断开时,P20为低电平,控制电机正转,窗帘拉开。当K2按下K1断开时,P21为低电平,控制电机反转,窗帘关闭。
1.5 H桥MOS管驱动电机电路模块
电路原理图如图5所示[7-9]。
本文将4个MOS管组合成H形的4条腿,电机是H中的横杠。本设计中选用MOS管,而不采用普通的三极管,是因为普通的三极管有一定的导通电阻,当电路中流过大电流时器件会迅速升温,倘若不及时散热,三极管可能被烧毁[8]。而MOS管的工作原理与三极管不一样,其导通电阻阻值低,可以承受更大的电流,另外MOS管内置反向二极管,因而采用MOS管连接H桥电路不仅可以增加电路功率,而且简化了电路的设计。使用MOS管搭建H桥,高位电路使用P沟道管; Q1和Q2采用绝缘栅型N沟道耗尽型场效应管,型号为IRF9540;Q3和Q4采用绝缘栅型P沟道耗尽型场效应管,型号为IRF540。
当P0-6和P0-7分别输入高、低电平时,Q1和Q4管导通,Q2和Q3管截止,电机正向旋转。当P0-6和P0-7分别输入低、高电平时,Q2和Q3管导通,Q1和Q4管截止,电机反向旋转。
2 系统软件设计
2.1 各个单元的设计思路和实现功能
(1)实现智能窗帘系统的自动开合功能
在软件程序的设计中,光控程序实现的功能:当P0-6端口赋值高电平,P0-7端口赋值低电平时,正转指示灯LED1亮,电机正转;当P0-6端口赋值低电平,P0-7端口赋值高电平时,反转指示灯LED2亮,电机反转。
(2)实现智能窗帘系统的按键控制功能
利用单片机的低电平有效理论实现按键控制窗帘开合;软件系统的主程序部分嵌套手控子程序和光控子程序,先检测手控按键是否按下,如果按下则执行该程序;如果未按下则执行主程序中的光控程序。通过软件编程来控制芯片AT89C51引脚的状态,P0口输出高低不同电平,以达到控制电机的目的。
(3)实现对光敏电阻采集的信号采样滤波及数值处理
利用Keil C编写采样和中值滤波程序,实现光检测窗帘自动开合。
(4)实现电机的正反向旋转
在驱动模块中采用H桥式驱动电机电路,四个MOS管和二极管连接H桥式电路具有单向导电的特点;利用主控制器51芯片加载的程序来控制引脚P0.6和P0.7引脚的高低电位差,从而控制驱动电路。
(5)主控制器电路设计
在主控制器电路设计方面,51芯片中加载的主程序需将光控程序和手控程序合理地进行调用,首先检测手控按键,如果按下则调用手控子程序,如果未按下则执行主程序中的光控程序。
2.2 软件程序框图
软件程序主要实现智能光控、手动控制两大功能,首先选择控制电路的方式,即手控或光控;如果手控按键按下则判断控制电机转向按钮,从而控制电机相应地转动;如果手动模式未开启,则执行光控模式,即天亮,窗帘自动拉开;天黑,窗帘自动关闭。手控和光控功能需在窗帘拉开时开限位未启动,否则程序结束运行,电路复位;同理,窗帘关闭时关限位未启动。智能电动窗帘软件程序框图如图6所示。
3 总结
本文基本完成了窗帘系统的光控和手控两大功能,达到了设计要求。在选材方面,采用ULN2003驱动步进电机,有效地控制了电机转动圈数,提高了控制系统的精确度;在软件设计方面,采用了模块化的编程思想,缩短了程序的运行周期,提高系统的运行速度。该窗帘控制器在智能家居及大型场所方面应用前景更为广泛。
参考文献:
[1] 张倩,刘平.光控自动窗帘设计[J].电子制作,2012(12):147.
[2] 李洋.单片机技术在智能家居中的应用与发展[J]. 数码设计(上),2019(5):1.
[3] 李晓微,孟芳宇,郭卓然,等.基于开源软硬件的智能家居边缘计算系统设计[J].科技与创新,2019(8):150-152.
[4] 申斌,张桂青,汪明,等.基于物联网的智能家居设计与实现[J].自动化与仪表,2013,28(2):6-10.
[5] 杨亚让.基于AT89C51的窗帘控制系统设计[J].科技通报,2012,28(6):43-46.
[6] 孙勤.基于单片机的光控窗帘设计[J].微型机与应用,2012,31(16):32-34,37.
[7] 孙健.智能家居电动窗帘的设计与实现[J].机械工程与自动化,2012(2):133-135.
[8] 孙勇,杨文月,赵宇新.自动窗帘控制系统设计[J].微型机与应用,2010,29(13):15-17.
[9] Han D M,Lim J H.Design and implementation of smart home energy management systems based on zigbee[J].IEEE Transactions on Consumer Electronics,2010,56(3):1417-1425.
收稿日期:2022-01-16
基金項目:山西省虚拟仿真实验教学项目(X2020048);山西省教学改革研究项目(J2021572,J2021588);忻州师范学院学术带头人资助项目
作者简介:郝建峰(1974—),男,忻州市公安局道路交通安全教育中心工程师,主要从事交通安全设施设备及交警应急预警系统机械电子工程技术研究;任国凤(1979—)女,忻州师范学院电子系教授,博士研究生,主要从事通信信号处理的研究工作。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!