摘 要
为了解决家居环境中手动调节窗帘调整采光避光问题,满足人们智能地调控窗帘的需求,本文设计了单片机控制的智能窗帘系统。该系统含两种控制方式:手动和自动。当处于手动控制状态时,人们可以自主选择打开关闭窗帘。当系统是自动控制状态的时候,利用光照传感器与光敏电阻来进行当前环境的检测,系统控制功能则由单片机完成。单片机将检测到的光强数据经过分析处理传递给执行模块,从而控制电动机正反转。该窗帘系统能够根据所处环境的光照强度与时间来实现窗帘的自动打开和关闭,当光照强度比最低预设值小的时候,窗帘自动打开,相反,光照强度超出最高预设值时,窗帘自动关闭。
本次所设计智能窗帘系统不仅能够根据光照变化实现窗帘的自动打开与关闭控制,而且可以通过设定的时间进行窗帘的开关,操作简洁易懂。
这款用单片机控制的窗帘控制彻底解放人们亲自开窗帘的麻烦。整套系统在运行中表现极好,其智能、便捷的特点也备受消费者的欢迎。
关键词:STC89C52单片机;光强检测;ULN2003驱动芯片;显示模块
1 控制系统设计
1.1 系统方案设计
单片机应用于多种电子产品中所取得的便捷性受到了人们的广泛喜爱,对于自动窗帘控制系统对单片机应用的智能化要求,实现自动控制的方案有两种:
方案一 以单片机为基础的温度及声控检测器件的自动控制。
方案二 以单片机为基础的光照强度及时钟模块的自动控制。
方案比较:
相同点:都是通过单片机控制的,利用步进电机控制开关以及以液晶屏显示。
不同点:检测器件的选取不同。
方案一系统框图如图1.1。
图 1.1 方案一框图
方案二系统框图如图1.2。
图 1.2 方案二框图
2.3红外接收模块
红外线接收模块采用的是VS1838b,在此设计中作为红外线接收头用来接收遥控器发射的指令。VS1838b的组成是包括PIN光电二极管、放大前置IC[10]。它具有几个特性:电压一般是在2.7V到5.5V之间,工作电压比较宽;拥有较低的功耗;VS1838b对外部环境的干扰的抵抗力较强,稳定性较高。它的输出在低电平的状态下生效,和TTL以及CMOS相匹配。VS1838b通常应用于家庭电器,制冷设备,电扇,灯棍等。
如图2.6所示,图中三个引脚是信号输出脚、接地脚GND、电压引脚VCC。
图2.6 VS1838b引脚
2.4 光敏检测模块电路
根据外面环境的光照强度值变化来控制电动机合理的打开或者是关闭窗帘,而光敏电阻主要负责感应光强从而完成此部分要实现的功能。在此次焊接设计中用到的是光敏电阻。光敏电阻,意思也就是外部光照强度值的变化会直接影响电阻值的改变,对此感应十分敏感。光照强度增加电阻值减少;反之则电阻增大[11] ,如图2.7所示。
图2.7光强检测原理图
光敏电阻系统接收外部光照,在光照达到一定强度时窗帘会关闭,在光照弱时会自动打开。光敏电阻收集到的是动态的模拟信号[12],我们需要将这些信号转换成数字信号并输出到单片机使其驱动电机正反方向转动。根据这一方面就要用到数模转换电路,在本作品中选用的是ADC0832芯片。
2.5 步进电动机控制电路
步进电机利用电磁感应原理,其角位移是通过控制电脉冲的数量来实现的[13]。步进电机主要涉及相数、拍数、步距角、启动转矩以及电机正反转控制等[14]。电动机连接图与ULN2003芯片结构如图2.8和图2.9所示。
图2.8电动机管脚连接图
图2.9 ULN2003芯片内部结构
3 系统原理图
本次毕设作品智能窗帘系统主要有两种控制模式。当系统处于手动模式的时候可以通过按键实现一键开关窗帘;当系统处在自动模式下通过光敏检测元件检测光强从而实现窗帘的自动开关。DS1302芯片是本设计的时钟芯片,可以设置时间开启和关闭窗帘,还可以实时的检测当前时间。液晶显示模块显示当前时间、光照强度系数和工作模式等信息。原理图如图3.1所示。
图3.1 系统设计原理图
4 软件设计
4.1系统主程序设计
本设计系统的主程序需要完成的功能有:单片机各个模块的初始化操作,定时器初值设置以及开启,按键的扫描,电机运转,显示时间光照数字量等[16]。如图4.1所示。
图4.1程序框图
5焊接与调试
5.1 电路焊接
在整个设计作品系统电路中焊接起着重要的作用,不管我们在设计系统时想的和设计的再多,如果在焊接实物的这个过程中出现了问题,会影响到整个控制系统的运行,这个系统的设计很有可能就会以失败而告终。所以说焊接的技术会直接导致设计的这个控制系统是否能够使用。数字电路和单片机电路更适合使用单孔板,而模拟电路和分立电路则更适合使用连孔板,所以本次毕业设计作品采用的是单孔板。焊接后实物图如图5.1所示。
图5.1 焊接实物图
为了确保系统能够正常运行,在焊接的时候要严格根据电路图认真对照,尽量避免焊接位置出现错误或者连错线等问题,焊接时成45°角正确操作。铜板要注意防氧化,使用前用橡皮或棉棒沾酒精擦拭,锡板材质比铜板坚硬,不易变形,价钱也比较贵。
5.2 系统调试
在系统接通电源之前,首先观察实物的焊接是否存在问题,如:有明显断裂、正负极连接、器件连接、焊接不实等;如果焊接的物体没有问题接下来我们用万用表来检测电源的正负电压,观察是否出现了严重的电源问题,如短路、断路等以确认焊接的系统没有问题。
物体焊接没有问题以后,还需要对软件程序进行调试,如果程序调试没有出现错误等问题,接下来就要依次验证系统的功能是否可以满足预设的要求,如果作品调剂还有问题,还需继续对程序调试,最后能够达到所有功能都一一调试成功。
5.2.1 软件调试
在软件调试过程中,点击编译按键,文件在系统中正常运行,提示的信息可以在窗口中进行显示,若提示的信息中显示“error”,就要根据提示找到错误程序并改正,直到错误消失。
实际在调试过程中,第一次对程序进行编译时提示窗口提示错误,根据窗口错误提示,检查发现在程序句末尾出现了中文字符下的符号,除此之外出现过其他的问题,经过请教老师以及同学的帮助,一次次的编译和修改,直到程序提示没有错误为止。
5.2.2 硬件测试
首先使用万用表检测电源是否连接完好,然后检查元器件的管脚是否连接正确,有没有出现接线错误的情况。接通电源以后,观察每个元器件是否能够进行正常的工作,逐一测试功能。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。