1、项目编号_201111 _江南大学物联网工程学院大学生创新训练计划结题报告项 目 名 称 基于 51单片机的智能窗帘控制系统设计与实现项目负责人 秦 晶所学专业 电气工程及其自动化所在学院 物联网工程学院电话(手机 ) 15052270915电子信箱 diamond-项目起止年月 2011/11-2012/05第一指导教师 肖 永 松专业技术职务 工 程 师电话(手机 ) 18762804437电子信箱 结题日期 2012 年 5 月江南大学物联网工程学院创新训练计划项目结题验收表学院名称:物联网工程学院 填写日期: 2012 年 5 月项目名称 智能窗帘控制系统 项目编号姓名 学号 承担工作
2、量 () 本人签字 备注负责人 秦晶 0701090108 20成员 1 蔡楷倜 0701100101 20成员 2 张佳斌 0701100225 20成员 3 方新茂 0701100204 20项目组成员成员 4 乔勇 0704100513 20姓名 年龄 职称 联系电话(手机)指导教师 1 肖永松 29 工程师 18762804437指导教师指导教师 22一、 研究成果简介控制系统的主要由核心芯片 STC89C51、数模转换芯片 PCF89C51、时钟芯片DS1302、步进电机驱动芯片 ULN2003 几部分构成。控制系统可实现光信号控制步进电机转向及转动圈数来达到控制窗帘开合状态的功能。
3、窗帘开合状态分为五档,窗帘当前所处档位和当前时间均可以在液晶上显示出来。当前时间可以通过按键来设置。手动控制模式下可以通过按键选择窗帘预期的档位。自动模式需设定预设时间(默认为 7:00-18:00) ,在预设时间内窗帘可处于光控状态,当光信号转换来的数字信号超过 80 时窗帘拉合,低于 20 时完全打开。3二、 成果特色及创新点:1. 光敏模块用来采集光信号,并抓换为电信号,灵敏度很高。模拟信号的输出值大,不需要放大电路,提高了信号的精确度2. 控制: STC89C51 对经 AD 转换后的电信号进行读取,并根据所读取数据对步进电机驱动电路进行控制以实现对电机转向和转速的控制。3. 显示:1
4、602 液晶显示器采用串行输入,相比于数码管显示更加节省 I/O 口。且显示信息量更大,效率更高。4. 时间设置:纽扣电池可以在方口 USB 不供电时继续供电,时钟电路保持运行,确保当前时间的准确性。5. 电机:采用步进电机比直流电机更加容易控制转向和转动圈数,灵活可靠。三、成果形式及数量:文献综述 1 份; 专利 个;调研报告 份; 软件 件;设计作品 份; 图纸 1 套;实验记录 份; 论文 篇;制作实物 1 件: 课件 件;心得体会 1 份; 其它 。4大学生创新训练计划基于 AT89C51 单片机的智能窗帘控制系统成 果 精 粹江 南 大 学二一二年五月5简介随着物联网概念的发展,智能
5、家居的理念也渐渐渗透到我们的生活中,受此启发,我们想尝试着做一个智能窗帘的控制系统,希望可以通过光强和时间来控制窗帘的开合。恰好我们都进行了电路、模电数电的学习,也曾初步接触了单片机,我们想通过设计这个控制系统来加深我们对所学内容的理解和掌握,更加熟悉使用 protel 等专业软件。计划设计一个系统可以实现以下功能:在自动模式下,在设定的时间内,如早成 6 点至晚上 8 点,晚上 8 点至早晨 6 点,时间控制,可以避免室内开灯造成窗帘自动拉开。通过光强控制,在设定光照强度范围内,窗帘拉开,超过设定强度,如夏日中午,为避免房间被光直射造成温度过高,窗帘关闭。在手动模式下,通过按键来调整窗帘的开
6、合状态。最终设计使用 STC89C51 单片机,STC89C51 有 512 字节的数据存储空间,是 AT89C51 的两倍,并且带有 4K 字节的 EEPROM 存储空间,可以断电后保存资料,可以直接使用串口下载,而 AT89C51 需要专用下载器。控制系统可以实现对光信号的采集、转换、传输,并根据单片机接收到的信号,结合时钟电路的信号,对步进电机进行控制,通过控制步进电机转向及转动圈数,来实现对窗帘的打开及拉合控制。设计时对硬件进行了模块化分析,以 STC89C51 作为主控芯片,光信号采集使用光敏模块,数模转换主要使用 PCF8591 芯片,显示模块采用 1602 液晶显示器,时钟电路采
7、用 DS1302 芯片,电机驱动器主要使用 ULN2003。6控制器设计:构成模块主要功能:单片机控制系统:处理信号并控制电机运行。AD 转换:将光敏模块输出的模拟信号转换为数字信号。光敏模块:采集光信号并转换为模拟信号。液晶模块:用于显示时间及控制模式。时钟电路:配合外部晶体实现振荡,为单片机提供运行时钟。按键:设置时间及选择模式。电机驱动:为步进电机提供足够大的驱动电流。复位:进行复位。电源:为系统运行进行供电。图 1 模块功能图7硬件设计 单片机控制模块图 2 单片机控制模块电路原理图:STC89C51 芯片 共 40 引脚,18 脚是通用 I/O 接口(p1.0p1.7 ) ,9 脚
8、rst复位键,10、11 脚 RXD 串口输入、 TXD 串口输出,1219 脚:p3 接口 (12,13 脚 INT0 中断 0、INT1 中断 1,14,15: 计数脉冲 T0 T1 16,17:WR 写控制 RD 读控制输出端) ,18,19 脚:晶振谐振器, 20 脚接地线,2128 p2 接口高 8 位地址总线 29: psen 片外 rom 选通端,单片机对片外 rom 操作时 29 脚(psen) 输出低电平 30:ALE/PROG 地址锁存器 31:EA rom 取指令控制器,电源+5V。本系统采用 P0 口及 P10、P11、P12 控制液晶显示,P13-P17 口控制按键、
9、P30、P31、P34 口控制DS1302、P35、P36 口控制 PCF8591,P20-P23 口控制 ULN2003。 光敏模块: 功能:采集光信号并转换为模拟信号。说明:VCC 外接 3.3V-5V 电压(可以直接与 5v 单片机和 3.3v 单片机相连) GND 外接 GND DO 小板数字量输出接口(0 和 1) AO 小板模拟量输出接口 图 3 光敏模块电路图8本系统使用 AO 端作为 AD 转换模块的模拟信号输入。 模数转换模块:图 4 AD 转换模块电路原理图功能:将光敏模块输出的模拟信号转换为数字信号,本系统采用第三通道(AIN3)说明:因为 STC89C51 芯片没有 A
10、D 转换模块,故而采用 PCF8591T 芯片来实现 AD 与 DA 转换功能的,它有 4 路模拟输入,1 路模拟输出,一个 I2C-BUS 接口,3 个给硬件地址编程的脚。通过 I2C 总线与处理器通信,其价格低廉,接口简单,转换控制容易等优点,在单片机应用系统中得到了广泛的应用。其引脚定义如下:AIN0AIN3:模拟输入(A/D 转换) 。 AOUT:模拟输出(D/A 转换) 。 A0-A2:硬件设备地址。 GND:电源负极地。 VREF:参考电压输入。 EXT:振荡器输入时,内部/外部的切换开关。 OSC: 振荡器输入/输出。 SCL: I2C BUS 时钟输入。 SDA:I2C BUS
11、 数据输入/输出。 AGND:模拟地,摸拟信号和基准电源的参考地。 液晶显示模块: 功能:用于显示时间及控制模式说明:此液晶为工业字符型液晶,能够同时显示 16x02 即 32 个字符。 (16 列 2 行) 图 6 液晶电路原理图9图 5 液晶实物图1602 采用标准的 16 脚接口,其中: 第 1 脚:VSS 为地电源第 2 脚:VDD 接 5V 正电源第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存
12、器。第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 1516 脚:空脚 按键模块:用于设置时间及选择模式图 7 按键电路原理图说明:P1.3:右P1.4:中P1.5:下P1.6:左P1.7:上10 时钟电路图 8 时钟电路原理图说明:低功耗时钟芯片 DS1302 可以对年、月、日、
13、时、分、秒进行计时 DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1 RES(复位);2 I/O(数据线);3 SCLK(串行时钟) 。时钟/RAM 的读/写数据以一个字节或多达 31 个字节的字符组方式通信。 步进电机驱动模块:用于驱动步进电机图 9 步进电机驱动电路说明:电机选用 28BYJ-48 型步进电机,电压 5V,五线四相11图 10 步进电机原理图表 1 步进电机转动相序相顺序 A B C D0 1 1 0 01 0 1 1 02 0 0 1 13 1 0 0 1相顺序从 0 到 1 称为一步,电机轴将转过 18 度,01234 则称为通电一周,
14、转轴将转过 72 度,若循环进行这种通电一周的操作,电机便连续的转动起来,而进行相反的通电顺序如 4321 将使电机同速反转。通电一周的周期越短,即驱动频率越高,则电机转速越快,但步进电机的转速也不可能太快,因为它每走一步需要一定的时间,若信号频率过高,可能导致电机失步,甚至只在原步颤动。 电源模块:为系统供电图 11 电源模块原理图12 复位模块图 12 复位电路原理图软件设计设计流程图:图 13 软件流程图13实物展示图 14 PCB 板正面图 15 PCB 板背面14项目心得通过这次历时半年的项目,我们都收获颇多。在所学专业知识上,我们都有了更深的理解和认识,能够把课本的知识同实际应用对
15、应起来,学习的过程就充满了趣味,不那么枯燥。在最初的基础知识准备的过程中,我们翻阅了大量的资料,看视频教程,练习使用 protel 等软件,对进行项目所需要的只是做了系统的学习,这个过程中有许多的不解和困惑,大家相互交流,总结自己学习的收获,感觉很充实。半年的过程中,遇到过各种各样的难题,但是大家齐心协力,相互配合,虽然不是每次都能够顺利解决问题,有的时候会因为检查电路或程序的错误而花费大量的时间,但是我们能够从解决问题的过程中相互学习,彼此之间的合作也使得我们的进展不会停滞不前。每一次一起解决掉某个问题的时候,获得一定成就的时候我们都很受鼓舞。在分工及合作中的交流也很重要,每个人的思路和想法
16、都让我们从不同的角度去思考。这次的项目合作让我们都受益匪浅。我们都非常高兴能够参加这次项目,这会是我们大学学习中非常有趣也很有收获的经历。附: proteus 仿真图15表 1 硬件模块元件清单模块 元件 型号 数量PCF8591 1 个电阻 1K 1 个10K 2 个滑变电阻器 10K 1 个AD转换电容 104 1 个液晶显示器 1602 1 个液晶模块 滑变电阻器 10K 1 个DS1302 1 个晶振 32768 1 个时钟电路电阻 10K 1 个按键 四脚按键 5 个单片机 STC89C51 1 个晶振 110592 1 个电容 20PF 2 个LED 2 个单片机控制系统电阻 10K 2 个四脚按键 1 个电解电容 1uf 1 个复位电阻 10K 1 个LED(电源指示) 1 个纽扣电池 1 个电阻 1K 1 个方口 USB 1 个电源六角按键 1 个ULN2003 1 个电机驱动 电容 104 1 个