王洪霞
摘 要:本文采用单片机STC12C5A60S2,控制一个步进电动机,控制窗帘的拉开和关闭,利用了光敏电路以及按键电路等外围电路,整个系统在各模块的配合下可实现自动控制、手动控制等功能。该设计采用Protel软件进行原理图设计,并用PCB板做出了实物,模拟窗帘的开闭。
关键词:单片机 自动控制 STC12C5A60S2 Protel
前言
目前,家庭居住环境的采光及避光问题主要采用的是手动开闭窗帘,手动开闭不仅费力而且很多方面不够人性化,可能对用户造成一定的困扰,窗帘控制系统可以解决这些问题。本设计正是把利用STC12C5A60S2单片机的优点以及简单实用性,顺利的完成了对智能控制的要求,并且为智能化的家居设备提供了良好的基础。
一、总体方案设计
自动窗帘控制系统总体方案设计是基于满足设计要求的前提并且根据理论上的可实现性和硬件上的经济实用性,而进行设计的重要环节。本文从人们对系统功能需求出发,在综合考虑各种因素的情况下,设计出自动控制系统的总体构架,并且在基本功能需求的基础上尽可能考虑系统的可扩展性。
1.系统基本功能
本控制系统提出可以根据光照以及定时等开关窗帘,具体有以下几大功能:(1)手动控制状态:此功能使自动窗帘控制系统具有手动拉开、关闭和停止功能。(2)半自动控制状态:此功能是在要打开或者关闭窗帘的时候,通过“开”或“关”按键,窗帘在电机的带动下可以自动开闭。
2.系统总体结构设计
根据光照来开闭窗帘主要原理是用光敏电阻采集外界的光强度,从光传感器采集的信号利用信号校正电路放大,滤波后输入到A/D转换器,由于A/D转换器件的转换需要一定时间,一旦在这段时间内信号发生变化,转换结果将会出现偏差,所以在转换期间应该采用采样保持电路。传入的信号由单片机来控制,并且做出响应,以实现电机的正转、反转与停止。显示模块是用来显示自动窗帘控制器的各种状态。通过不同按键来控制单片机进行各种运转状态。
二、硬件设计
采用STC12C5A60S2单片机作为控制核心,并且辅助以外围电路,其中包括电源电路,定时电路,步进电机控制电路,键盘/显示电路等一系列相关电路。
1.电源电路
单片机正常工作电压为5V,因此设计的电源电路主要是提供单片机工作电压[1][2]。
2.晶振电路
电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。
片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~24MHz之间选取。C1、C2是反馈电容,其值在20pF~100pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz[3]。
3.复位电路
主要功能是使单片机进行初始化,在初始化的过程中需要在复位引脚上加大于2个机器周期的高电平。复位后的单片机地址初始化为0000H,然后继续从0000H单元开始执行程序。在复位电路中提供复位信号,等到系统电源稳定后,再撤销复位信号。但是为了在复位按键稳定的前提下,电源稳定后还要经一定的延时才撤销复位信号,以防在按键过程中引起的抖动而影响复位。
4.显示电路
5.电压比较部分
LM393是由两个独立的、高精度电压比较器组成的集成电路,失调电压低,最大为2.0mV。它专为获得宽电压范围、单电源供电而设计,也可以以双电源供电;而且无论电源电压大小,电源消耗的电流都很低[4]。393被设计成能直接连接TTL和CMOS;当用双电源供电时,它能兼容MOS逻辑电路——这是低功耗的393相较于标准比较器的独特优势[5]。
6.手动和自动转化电路
按键K2表示手动开关窗,按键K3代表手/自动切换。
7.步进电机
步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。步进控制器的作用是把输入脉冲转换成环型脉冲,以控制步进电机的转向。在实际应用中由软件代替步进控制器,其优点是使线路简化,降低成本,可靠性提高。在窗帘控制系统中选用了型号为130HZ308-450的三相反应式步进电机,其优点是力矩大,精度高,其步进角度是1.2°。
8.总体设计图
三、软件设计
介绍各个功能模块的设计流程以及设计思路。
1.主程序的设计
主程序主要完成系统初始化操作及各个子程序之间的联系任务,主程序是无限循环,主要的功能是完成单片机初始化,开关中断,对按键进行扫描,控制步进电机工作等。
主程序的作用主要是先初始化寄存器以及显示内容;然后查询按键操作,并且对按键进行分析以及处理,通过分析处理,控制步进电机工作。对于控制键,执行窗帘开闭的工作。如果经过分析后都不是,采取复位的操作。
2.主要子程序的设计
(1)红外遥控程序设计
红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。红外遥控可实现手自动切换和开关窗动作。
(2)步进电机程序设计
步进电机是操控窗帘开闭的主要执行器件,其设计主要是按照单片机指令以及按键指令进行正转或者反转。
结语
本次设计系统地介绍了自动窗帘控制系统的硬件电路设计以及软件设计。在总体方案设计中以光敏电阻作为传送信号的传感器,用步进电机作为信号输出的执行元件,STC12C5A60S2单片机作为主要的控制元器件,光敏电阻接收外界光照信号,经过A\D转换后,传送给单片机一个电信号,单片机经过处理后,控制步进电机做出相应的动作,以控制窗帘的开闭。在实现一般应用的基础上,又添加了定时元器件电路,使窗帘的自动化性能得到进一步提升。光敏电阻的良好感光性以及步进电机的结构简单,控制方便的优点使窗帘控制开关更加稳定。虽然设计内容完成了基本的功能,但是其中还是存在一定欠缺,比如在设计中没有考虑到窗帘工作方式的显示以及没有添加类似红外遥控的设计等。
参考文献
[1]王幸之.AT89系列单片机原理.北京:北京航空航天大学出版社 2004
[2]AT89C51 DATA SHEEP Philips Semiconductors 1999.dec
[3]胡汉才,单片机原理及接口技术.北京:清华大学出版社,2004.
[4]阎石.数字电子技术基础.北京:高等教育出版社,1998.
[5]童诗白,华成英.模拟电子技术基础.高等教育出版社,2003.