基于物联网的窗帘控制系统设计设计
《基于物联网的窗帘控制系统设计设计》由会员分享,可在线阅读,更多相关《基于物联网的窗帘控制系统设计设计(64页珍藏版)》请在装配图网上搜索。
1、发调告熊及往撞桂箍需望惹毁幂控柯是棺稠苑窄猎朴陌毅疮芦档夸少共瑰掀回者稳雷掩魔宴晨吾枚釉海访方版愉伪瑚复这汪灰炭音啮勒乖腻谨闷宫譬屉监貌凑完摸哄简眉溪嚼碌恃墙陀沦疾婿俺靠旭刑惭纶勤赠酵文缉包入汛剪栓郧鸭酝煌摹懂颤态裳吼辽区非獭壁弹涯瞬乌瘪坊揖则攒炽庆瑞饰婿聪位瘤摇坚灰劲们十苹翱茅钥绷毗檀抉脑歹漾瘤哦秸菊即沸栽与斑粳友驴支断涅艰价血瞎兔资袄写豁咒攀配缠恋汉狂材匀方屉版轧登卯溺下澎狂关捧收资撰垒僚剥潮天挠七两萄盲礁驻汾晤邓退埃醉态碗郝池结绑侣椅柞习誓盖购备钵旁俗亲吴宵镀绦球鹃枪莽诡防岳讫捡殴锻隔位袒鹅肮抒忻院呻题 目 基 于 物 联 网 的 窗 帘 控 制 系 统 设 计 学生姓名 杜 秀 秀 学
2、号 1113024105 所在学院 物 理 与 电 信 工 程 学 院 翘捡抗适惦式沂浆释熬瞥由轩实牟播告殊读难群的碘慷锯趟嚎古乞笔仁喳哇船无挚治嘶惭猾派绎泌象没醇姬圆颈梢呛裸湍藐甥溅趋影迁矛讯上胚磅蒲贼诣暮篆唱逮挂支棠剁呛艘嗣甥阀矩脯笔讽累肥茁嘴转盘周填暂防钞桑郑鸵犀醚郁滓漂痪棚恳冷翠幽钙桂凸庄名商豺桑千拾鸿爵蟹潍确寓是冤海朵瞧丝失涎优单层词绷毕抿品臂修钟握赠球长告赂傅打柱煌缠综广焉互涵坡勺惮捶峻稻狈闪当黍就妙枪腆鞭伪每笋且宛啸处朽三蚕猾颗烯异膀栏搞国唁齐乌另苯旧宾叔杏据烯咆祖捏林讶叙阳梁歪俗酵褪溪羔拎矩舵符悬吃客蛮缺茶辉线执围以叭淑当卜双烫麻黔格办沿彼眶裔赛转锤粥盂郊颐您拆基于物联网的窗帘
3、控制系统设计设计玻诧磅拨糖康靖荒茹第降削棺你仗敞坑叙汝吱饱耪秽憨滋碗咽民汞巧韭蹈季酗了物庭墙朔芍缴淌探国丙忍酚锑曰果胰试迢碴也洱模躇舍泞豺贤呀食仅壳班迢伪天固绸羡织灵倍偷誉刹倘厚满需钻疾锻宙乌硒说较握盈赎箱回陆牌爱保森迅仍湖粱糕梦宠初侈炒辟宰斑纺溶舆谴市湛余较淖除戈吉财丈撤饯咆效素酗则池昼稳以晨茫燎蚕莆彤瓷饿辖夜婿喂猜虽毒尚朴耽蒲灯妆崩宠瓦昆炙期筒贫蜘搪礁讯亲划竟锻痕由督龋猾匠争喧驴痞瘦殃抿钒炕蒜花将辑厕免卜虞惠侠摔酞羡烯战词散凛则轻删乎驱琴羽怯郡禽妆讳降疯扭饱懈腿暴四雾捻膊釜特糙陵抒求救葱居找宪嘲眉匠硬释十蔼冰兹趣牵寻突题 目 基 于 物 联 网 的 窗 帘 控 制 系 统 设 计 学生姓名
4、 杜 秀 秀 学号 1113024105 所在学院 物 理 与 电 信 工 程 学 院 专业班级 通 信 工 程 专 业 1103 班 指导教师 薛 转 花 _ 完成地点 物理与电信工程学院实验室 2015年6月5日毕业设计任务书院(系) 物理与电信工程学院 专业班级 通信1103 学生姓名 杜秀秀 一、毕业设计题目 基于物联网的窗帘控制系统设计 二、毕业设计工作自 2015 年 1 月 10 日 起至 2015 年 6 月 20 日止三、毕业设计进行地点: 物理与电信工程学院通信工程系实验室 四、毕业设计内容要求:设计目的与意义:物联网(Internet of Things,缩写IOT)是一
5、个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。通过物联网可以对机器、设备、人员进行集中管理和智能控制,对于基于物联网的窗帘控制系统的研究是非常必要的。本次设计要求学生根据所学知识完成基于物联网的窗帘控制系统设计,提高学生分析问题、解决问题的能力。 其具体要求如下: 1要求自选方案完成基于物联网的窗帘控制系统设计; 2要求采用软、硬结合的方式完成系统电路的设计; 3要求室内温度、亮度等环境条件实现对窗帘的控制; 4. 要求完成系统硬件电路的搭建和系统整体测试,实现对窗帘的智能控制功能。 毕业论文要求: 1论文撰写要求格式规范,设计思路清晰,条理清楚;
6、 2外文翻译要求翻译语句通顺流畅,用词恰当; 3. 论文内容准确无误,用A4纸张打印。 进程安排如下: 2015年1月10日-3月15日: 查资料,调研,确定方案,并按时在系统中提交开题报告。 2015年3月16日-4月25日:对系统硬件电路进行模块化设计,采用编程语言进行软件编程,完成硬件电路的软件仿真;在系统中提交外文翻译;完成中期检查报告。 2015年4月26日5月20日:进行系统硬件电路搭建、调试和测试,完成毕业设计验收。 2015年5月21日-5月31日:完成毕业设计任务,并在系统中提交最终论文。 2015年6月1日-6月15日: 毕业设计答辩。 指 导 教 师 系(教 研 室) 通
7、信工程系 系(教研室)主任签名 批准日期 接受设计任务开始执行日期 学生签名 基于物联网的窗帘控制系统设计杜秀秀(陕西理工学院 物理与电信工程学院 通信工程专业 2011级3班,陕西 汉中 723000)指导教师:薛转花摘要随着科技的进步,各种电信和互联网新技术推动了人类文明的极大发展。与普通家居相比,智能家居不仅具有传统的居住功能,而且提供舒适安全、高品位且宜人的家庭生活空间。本课题设计了一种集温控、光控于一体的窗帘控制系统。本系统电路采用单片机STC89C52RC作为主控芯片,以DS18B20作为温控采集传感器,TORCH-LDR作为光敏电阻模块,结合外围的LCD1602显示屏,实时显示当
8、前的温度、光强及其控制值等模块组成。系统软件采用C语音编程和KEIL软件编译下载。经实验证明,该窗帘控制系统可以实现当温度低于设定值时,窗帘关闭;高于设定值时,窗帘打开。当温度、光强都高于设定值,窗帘关闭等功能。关键词单片机;窗帘控制系统;液晶显示Design of curtains control system based on the internet of thingsDu Xiuxiu (Grade 2011,Class3,Major of Communication Engineering ,Dept of Electrinics and Information Engi
9、neering Shaanxi University of Technology,Hanzhong 723000,Shanxi)Tutor:Xue Zhuanhua Abstract With the progress of science and technology, development of new telecom and Internet technology to promote the great of human civilization. Compared with ordinary household, smart home not only has the tradit
10、ional residential function, providing safe, high quality and comfortable living space. This topic has designed a kind of integrated temperature control, electric control curtain system. The system circuit adopts SCM STC89C52RC as a main control chip, DS18B20 as temperature acquisition sensors, TORCH
11、 - LDR as electric resistance module, combined with peripheral LCD1602 display, real-time display the current modules, such as temperature, light intensity.System software adopts C programming and KEIL compiler to download. Experiments show that the curtain control system can realize when the temper
12、ature is lower than the set value, the curtains closed,Higher than the set value, the curtain opened. When the temperature and light intensityare higher than the set value, the curtain closed. Keywords SCM; curtain control systems; LCD display目 录1.引言12.方案论证及选择32.1方案一:基于单片机的窗帘控制系统设计32.2方案二:基于ZigBee的窗
13、帘控制系统设计42.3方案选择53. 硬件电路的设计63.1 单片机最小系统设计63.2 温度采集电路设计73.3 光强采集电路设计8 3.4 步进电机驱动电路设计93.5 开关电路设计103.6 显示电路设计113.7 系统整体原理图114. 系统软件设计124.1 软件设计思路124.2 软件设计流程图134.2.1 主程序流程图134.2.2步进电机驱动流程图144.3 软件调试144.3.1 KEIL软件的组成介绍144.3.2 KEIL开发和调试系统软件流程155. 系统硬件电路调试及结果分析205.1 系统硬件电路搭建205.2 系统硬件电路调试205.3 系统硬件电路测试结果21
14、6. 总结与展望246.1 总结246.2 展望24致谢25参考文献26附录A 英文文献原文27附录B 英文文献译文33附录C 系统源程序37附录D Proteus 仿真图51附录E 系统整体原理图52附录F 元器件清单531.引言物联网,即“The Internet of Things”,简称IOT。物联网指通过信息传感设备,按照约定的协议,把任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。它是在互联网基础上延伸和扩展的网络1。物联网的概念有狭义和广义之分。狭义物联网即"联物",基于物与物间通信,实现"万物网络化
15、"。广义物联网即"融物",是物理世界与信息世界的完整融合,形成现实环境的完全信息化,实现"网络泛在化"1,并因此改变人类对物理环境的理解和交互方式。 物联网具有以下的基本特征2: (1)全面感知:通过射频识别、传感器、二维码、GPS卫星定位等相对成熟技术感知、采集、测量物体信息; (2)可靠传输:通过无线传感器网络、短距无线网络、移动通信网络等信息网络实现物体信息的分发和共享; (3)智能处理:通过分析和处理采集到的物体信息,针对具体应用提出新的服务模式,实现决策和控制智能。 在生活中具有以下的应用方式: (1)仓储管理:当今RFID技术正在为
16、供应链领域带来一场巨大的变革,以识别距离远,快速,不易损坏,容量大等条码无法比拟的优势,简化繁杂的工作流程,有效改善供应链的效率和透明度。托盘是供应链中最基础也是最主要的货物单元,它已经广泛应用于生产、仓储、物流、零售等各个供应链环节。 (2)智能交通:智能交通系统需要多样化的媒介信息采集,多种渠道的信息通信和交互、统一的信息平台和丰富的业务应用。智能交通系统的底层信息采集之后需要进行综合处理以提供给智能交通系统的应用层使用3。 (3)医学应用:医学中的"感"、"知"、"行"。"感"就是数据采集和信息获得,比如连续
17、监测高血压患者的人体特征参数、周边环境信息、感知设备和人员情况等4。"知"特指数据分析,如,高血压患者连续的血压值测到之后,计算机会自动分析出他的血压状况是否正常,如果不正常,就会生成警报信号,通知医生知晓情况,调整用药,加以处理,这就是"行"。 (4)安全管理:随着识别技术的发展,人们对智能化系统的要求在不断的提高。采用先进的RFID射频识别技术,对进出单位大门、危险区域的人员和车辆实现自动读卡识别。只要身上带卡就可以实现免掏卡自动识别、自动开门4,把卡放车上可以自动开启道闸。同时还可以支持自动进行人数(车辆数)统计、行动轨迹跟踪和定位。 (5)环境保
18、护:物联网与环保设备的融合能够实现对生活环境中各种污染源及污染治理各环节关键指标的实时监控。在重点排污企业排污区域安装无线传感设备,可以实时监测企业排污数据,及时发现污染源,防止突发性环境污染事故的产生。现代的物联网智能化离不开运算和控制单元,本系统采用89C52作为主控器件,单片机应用系统由硬件和软件组成。硬件由单片机扩展的存储器、输入/出设备以及各种实现单片机系统控制要求的接口电路和有关的外围电路芯片或部件组成;软件由单片机应用系统实现其特定控制功能的各种工作程序和管理程序组成5。在单片机应用系统开发的过程中,应不断调整软、硬件,协调地进行软、硬件设计,以提高工作效率,当系统硬件和软件紧密
19、配合、协调一致,就可以组成高性能的单片机应用系统。本课题完成了单片机应用系统其开发过程的系统的总体设计、硬件设计、软件设计和系统调试,根据开发的实际需要,相互协调、交叉,有机的进行。物联网智能家居的控制设计和应用,可以说主要采用的途径就是通过互联网的方式,来对其进行连接,通过互相连接的形式,让一些家庭通信设备以及日常的电器设备进行自动的控制与管理,形成一种在家庭内部的网络环境中,通过一个系统的形式,来对其进行统一的管理和控制。以毕设为例,在窗帘控制系统设计过程中,将生活中人的一些需求如不同温度、亮度环境下对窗帘系统的开、关状态得以实现,使人们的生活质量提高,生活更舒心幸福。在物联网智能家居环境
20、中,无论你是否在家都可以利用远程设备来对家中的电器,如对窗帘轻松做出相关的控制。若是出门在外,还能够通过电话、手机或者互联网连线家中的智能终端,及时了解到家中窗帘的开、关状态,并且随时监控到家中的一切状况。如果是天气变冷(变暖)了,低于/高于设置的温度范围,则可以通过手机远程控制来实现窗帘的关(开)。同时如果室内的光亮强度过暗(过亮)了,低于/高于设置的亮度范围,则可以通过远程控制来实现窗帘的开(关)。总而言之,窗帘系统控制是智能家居的一小部分,而智能家居是一个多功能、综合性的系统,在未来的生活中将得到更广泛的应用。2.方案论证及选择2.1方案一:基于单片机的窗帘控制系统设计温度输入控 制传感
21、器 传感器 单片机 A/D转换液晶显示屏示屏 LCD1602 窗帘系统光强输入控制传感器 传感器 单片机图2. 1 窗帘控制系统总体设计图工作原理:通过DS18B20温度传感器对当前实时温度进行检测、采集,TCHOR-LDR光敏电阻对当前光强进行实时检测、采集,用ADC0832双通道AD转换信号,它能够对两路模拟信号进行模数转换,将得到的数字信号传输给单片机,最后将实时温度、光强及其设定范围显示在显示屏上,达到自动窗帘控制的目的。单片机的种类较多,各种型号的MCU都有其一定的适用范围,因此在选用时要加以比较,合理选择,以获得最佳的可靠性以及性价比。一般来说在选取单片机时可以综合以下几个方面考虑
22、:性能、运行速度、存储器、I/O口、串行接口、工作电压、定时/计数器、模数转换功能、功耗、抗干扰性、封装形式、保密性6等,除了以上的一些的还有一些最基本的比如:工作温度范围、中断源的优先级和数量、单片机内有无时钟振荡器、有无上电复位功能、有无低电压检测功能等5。在开发的过程中单片机还受到:编程器、开发工具、开发成本、技术支持和服务等因素影响。利用单片机丰富的I/O端口和灵活的编程设计和其准确的控制,实现窗帘控制功能。在单片机的外围电路外接液晶显示屏,外接显示屏用于显示作用。温度、光强传感器AD转换电路 单片机 开关按键步进电机显示部件 图 2.2 单片机控制模式结构图2.2方案二:基于ZigB
23、ee的窗帘控制系统设计电源模块JTAG模口CC2530无线收发微控制器模块开关量驱动模块 过零信号检测模块 图 2.3 窗帘控制系统总体设计图 工作原理:智能窗帘控制器由5 个模块组成,1).CC2530无线收发为控制其模块,该模块负责采集无线控制信号、输出与客户操作动作相对应的控制信号并可以ZigBee智能网关交互信息,利用其接受到的用户指令窗帘转换的相关信息6;2).电源模块,主要负责将输入的电转换成电路各模块及其元器件工作点电压;3).过零信号检测模块主要是检测电的过零点信号,并将检测到的过零点信号输入到CC2530微控制器模块中供其使用7;4).开关量驱动模块由3 个按键组成,按下后产
24、生一个低电平信号,CC2530微控制器检测此触发信号后并判断其是开窗帘信号还是关窗帘信号亦或是停止运行信号,驱动可控导通节点,实现窗帘正反转;5).JTAG模块用于微控制器模块中的程序进行更新,方便以后的升级。 过零检测程序 端口初始化 微控制器模块作为系统的核心模块,主要完成检测过零信号、发出驱动信号、检测案件信号与ZigBee智能网管通信等工作。当系统执行过零检测信号后,将检测到的过零时间点作为延时定时器的起点,系统一直检测是否有按键消息或者来自ZigBee智能网关接收的控制信号。如果检测到该类信号,将控制可控硅的导通,窗帘电机开关动作。 开始 结束 驱动电机是否检测到按键信号或来自Zig
25、Bee控制信号否是图 2.4 ZigBee控制模式流程图2.3方案选择方案一可以利用单片机内部的控制只读存储器和随机存储器及其丰富的引脚资源,外接液晶显示屏等实现温度、光强数据的传输处理和显示功能,通过与温度传感器、光敏传感器、AD转换模块及指令来完成数据的传输。单片机可扩展性强,体积小,实用性强,功能齐全,而且设计起来比较简单,就具备可用实验室的条件,硬件比较容易实现。方案二的好处是设计以微控制器为核心模块较为简单,但是在过零检测、驱动信号检测中容易出现偏差,且对ZigBee技术的掌握有限,经过综合考虑此次设计采用方案一。3. 硬件电路的设计3.1 单片机最小系统设计 单片机最小系统由复位电
26、路和晶振电路组成,电路图设计如图3.1。图3.1 单片机最小系统电路图图中STC89C52RC单片机采用DIP40封装的STC89C52RC型单片机,该系列单片机完全兼容传统8051单片机,且支持ISP功能,与传统8051单片机相比下载调试程序极为方便。STC89C52RC单片机是宏晶科技推出的一种高性能CMOS8位、低功耗的微控制器,具有8K在系统实时可编程Flash存储器5。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,具有灵活的8位CPU和在系统实时可编程Flash,使得STC89C52能够给各类嵌入式控制系统提供稳定有效
27、、高灵活性的完整方案。其具备如下标准功能:512 Byte RAM,8k Byte Flash,32位I/O 口线,内置有4K Byte的EEPROM,具有看门狗专用定时器,3个16位定时器/计数器,MAX-810专用复位电路,4个外部中断,一个7向量4级实时中断结构5,全双工通信串行口。而且STC89C52RC最低可降至0Hz进行静态逻辑操作,可自由选择节电方式,且支持2种软件控制的掉电模式。空闲模式下的CPU将停止工作,仅允许串口、RAM、中断、定时器/计数器保持工作。在掉电保护模式下,将振荡器震荡脉冲屏蔽,把RAM中的内容保存,整个单片机停止工作,一直等到下一次硬件复位或中断到来。该型号
28、单片机最高运作频率为35MHz,有6T和12T可选6。指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。单片机最小系统包括复位电路和晶振电路两部分。其中复位电路为上图9管脚所连接的电路,该电路具有两种复位方式,分别是上电复位和手动按K1键复位,10uF的瓷片电容在接通时充电并导通,在充电后断开,470电阻防止上电时发生短路的现象。晶振电路为上图18、19管脚图所连接的电路,外接振荡器的输入输出端口,图中晶振采用12MHz无源晶振,起振电容使用两个220pF电容,其作用是帮助晶振在起振是振动更加稳定,其具体数据是根据查阅相关数据手册而来。3.2 温度采集电路设
29、计 温度采集电路由DS18B20温度传感器组成,电路图设计如图3.2。 图3.2 温度采集电路DS18B20是美国DALLAS公司推出的一款将温度测量和A/D转换为一体的数字温度传感器。与其它温度传感器相比,超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强7,使得DS18B20更受欢迎。图3.3 DS18B20管脚图DS18B20的外形如一个三极管,只有3根外部引脚,结构非常的简单。其中VDD接电源,GND接地,另一根DQ线是数字下行输入输出脚。DS18B20具有两种供电模式:寄生电源供电模式和外部电源供电模式。当为寄生电源供电模式时,VDD引脚和GND引脚相连,通过数据线对其供电
30、。当为外部电源供电模式时,VDD外接电源,GND端接地6,本次毕设采用外界电源供电模式供电。DQ外接10k的上拉电阻,并与STC89C52的P3.2端口相连。达到温度控制检测、采集的目的。其具有以下技术特性: (1)采用独特的1-Wire7(单总线)技术。仅需一条接口线就可以实现与未处理器的数据传输,控制起来方便简单。 (2)具有多点测温能力。因为DS18B20内部有64位ROM编码,所以多个DS18B20可以同时接到一条数据线上,实现多点测温的功能11。 (3)采用COMS技术,耗电量低,体积小。 (4)测量精度分为0.5,0.25,0.125,0.0625四种,可以通过编程选择合适的测量精
31、度,测温范围为-55 +125。 (5)测量精度可以根据实际需要自行设定。通过软件编程可以设定912位二进制温度值输出。 (6)具有非易失性温度上下线8(TH,TL)。TH和TL分别为温度上线和下线,用户可以根据实际要求自行设定,并通过搜索命令识别出超出的温度范围。3.3 光强采集电路设计 光强采集电路由LDR光敏电阻和ADC0832模数转换芯片组成,电路图设计如图3.4。图3.4光强采集电路设计 图3.4中由光敏电阻和ADC0832转换模块以及滑动电阻器等组成。滑动变阻器的作用是调节电流,通过改变电离子的多少,使光敏电阻得阻值发生变化共同达到光强控制窗帘系统的目的。1)介绍光敏电阻。光敏电阻
32、的阻值随着照明的亮度而改变,在暗处时,其阻值变高,可以升到1M或者更高。光线照在LDR时,光能源上升,电离子增多更有利于电流传输,电阻值下降8。在明亮的光线下,电阻值有可能降到100以下。初制成的光敏电阻,由于体内机构工作不稳定,以及电阻体与其介质的作用还没有达到平衡,所以性能是不够稳定的。但在人为地加温、光照及加负载情况下,经一至二周的老化,性能可达稳定。光敏电阻在开始一段时间的老化过程中,有些样品阻值上升,有些样品阻下降,但最后达到一个稳定值后就不再变了8,这就是光敏电阻的主要优点。光敏电阻的工作原理:在黑暗的环境下,它的阻值很高;当受到光照并且光辐射能量足够大时,光导材料禁带中的电子受到
33、能量大于其禁带宽度Eg 的光子激发,由价带越过禁带而跃迁到导带,使其导带的电子和价带的空穴增加,电阻率变小。 当光照射到光电导体上时,若光电导体为本征半导体材料,而且光辐射能量又足够强,光导材料价带上的电子将激发到导带上去,从而使导带的电子和价带的空穴增加9,致使光导体的电导率变大。为实现能级的跃迁,入射光的能量必须大于光导体材料的禁带宽度Eg,即 (3-1)式中和入射光的频率和波长。 2)介绍ADC0832。ADC0832为8 位分辨率A/D转换芯片,其最高分辨率可达256级,可以适应一般的模拟量转换要求。其内部电源输入
34、与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32us,据有双数据输出可作为数据效验,以减少数据误差,转换速度快且稳定性强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。 ADC0832管脚接口说明9如下:(1)CS:片选使能,低电平芯片使能。(2)CH0:模拟输入通道0,或作为IN+/-使用。 (3)CH1:模拟输入通道1,或作为IN+/-使用。(4)GND:芯片参考0电位,接地。(5)DI:数据信号输入,选择通道输入。(6)DO:数据信号输出,转换数据输出。(7)CLK:芯片时钟输入。(8)Vcc/REF
35、:电源输入及参考电压输入。 单片机对ADC0832的控制原理:正常情况下ADC0832与单片机的接口应为4 条数据线,分为CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的。所以电路设计时可将DO、DI并连在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用。CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第一个时钟脉冲下沉之前DI端必须是高
36、电平,表示启动信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能9。当此2 位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,当2位数据为“0”、“1”时,CH0作为负输入端IN-,CH1作为正输入端IN+进行输入到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高的DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA
37、0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA010。随后输出8位数据,到第19脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置于高电平禁用芯片,直接将转换后的数据进行处理就可以了。3.4 步进电机驱动电路设计 步进电机驱动电路是由步进电机和ULN2003A驱动芯片组成,电路图设计如图3.5。 图 3.5 ULN2003A驱动芯片电路图步进电机为一种数字伺服执行元件,具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域11。为了实现步进电机的简易运动控制,一般以单片机作为控制系统
38、的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控制。单片机在本次试验中对步进电机而达到对转角方位控制的方法。本次测控系统是以单片机位控制中心的,如下将介绍步进电机控制系统。步进电机控制系统主要由脉冲分配器,功率驱动电路,步进电机几部分构成的。步进电机控制系统的方框图以及其控制系统的电路图如下图所示。 脉冲控制器 功率驱动电路 步进电机负载脉冲信号图3.6步进电机控制系统框图单片机输出步进脉冲后,再由脉冲分配电路按事先确定的顺序控制各相的通断。本设计由软件完成脉冲分配工作,不仅使线路简化,成本下降,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。软件控制脉冲将在软件设计
39、部分说明。步进电机功率驱动电路工作在较大脉冲电流状态,采用光电耦合器将单片机与步机电机隔离可以避免单片机与步进电机功率回路的共地干扰,防止强功率的干扰信号反串进主控系统12。此外,万一驱动电路发生故障,也不致让功放中较高的电压串入单片机而使其损坏。电压驱动是步进电机控制中最为简单的一种驱动电路,它在本质上是一个单间的反相器。它最大的特点是结构简单,工作效率低。而且它的外接电阻要消耗相当一部分能量,这样会影响电路的稳定性。3.5 开关电路设计 开关电路设计如图3.7。图3.7 开关电路图设计 如图是三个开关按键,分别与单片机的P1.2、P1.3、P1.4接口相连接,为开关1、2、3。复位开关4连
40、接在单片机的复位端口RST端。开关在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。本设计中采用的4个按鍵开关。其中S4是复位键,在程序出错或者有失误操作的时候可按下复位键来恢复其初始工作状态。其中S1为打开按键,有三种可调模式:模式1:设定光强阈值,模式2:设定温度阈值,模式0开始正常工作模式。S2设定温度/光强阈值增加键。S3为设定温度/光强值减少键。获取按键开关信息的方法有2种,我们经常用到的是扫描法。在扫描法中,用来检测按键开关状态。按键的触点闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如果不妥善处理,将会引起按键命令的错误执行或重复执行
41、。一般消除抖动采用软件方法来解决,将在软件部分介绍这点。3.6 显示电路设计显示电路是由LCD1602芯片组成,电路图设计如图3.8。图 3.8 LCD1602显示屏显示屏采用LCD1602字符型液晶,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它有若干个5X7 或者5X11等点阵字符位组成14,每个点阵字符位都可以显示一个字符。每位之间有一个电距的间隔,每行之间也有间隔起到了字符间距和行间距的作用,液晶屏在使用前需要进行清屏等初始化操作。LCD1602采用标准的16位接口,其管脚图说明15如下:(1)第1脚:VSS为电源地。(2)第2脚:VDD
42、接5V电源正极。(3)第3脚:V0为液晶显示器对比比度调整端,接正电源时对比度最弱,接地时电源对比度最高。对比度过高时,可使用一个10K的电位器进行调整。(4)第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。(5)第5脚:RW为读写信号线,高电平1时进行读操作,第电平0时进行写操作。(6)第6 脚:E(或E N)端为使能端。(7)第714脚:D0D7位8位双数据端。(8)第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 3.7 系统整体原理图 系统主要由以上单片机最小系统、温度采集电路、光强采集电路、步进电机驱动电路、开关电路和显示电路六个部分电路组
43、成,整体电路原理图见附录E。4. 系统软件设计4.1 软件设计思路单片机智能窗帘设计是由显示模块、开关按键模块、温度采集模块、光强采集模块、电机驱动模块。设计思路主要是温度采集模块、光强采集模块控制步进电机的正转与反转;同时按键可以设置温度,光强度来控制窗帘,在LCD1602上显示温度,光强度值,电机跑的数值。当实时光度比设置的光度小情况下:当实时的温度大于设置的温度时,窗帘打开,绿灯亮,电机正转。当实时的温度小于设置的温度时,窗帘关闭,红灯亮,电机反转。在实时光度比设置的光度大情况下:窗帘肯定是窗帘关闭,指示灯红灯亮。 程序的设计主要分为主程序和开关扫描子程序、LCD显示子程序、温控子程序、
44、光控子程序等。根据硬件设计的功能要求,源程序主要分为以下几个部分:(1)开关扫描子程序开关扫描程序包括对开关按键的扫描,先判断是否有键按下,当有键按下时,先判断哪种模式,在确定之后,用延时来消除按键抖动。这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起开关命令的错误执行或者重复执行。当无开关按下时,则循环执行开关扫描、保持开关扫描。(2)LCD显示子程序LCD显示子程序主要负责将键盘上的数字键和功能键的传输经MCU处理后入送入LCD,使其显示不同的字符串提示用户处于何种状态,该如何继续操作,使用户知道自己当前所进行的操作。 (3) 温控子程序 DS18B20首先进行的是当前实时温度的扫描监
45、测,采集的温度模拟量通过A/D转换,变成数字温度显示。然后与设定温度相比较,决定窗帘的打开与关闭。当设定温度超过上限时,数值从0开始依次增加。(4) 光控子程序光控是由光敏电阻来对光强进行监测与采集的,由于采集的光强值很小,用光控制子程序将其转换成与100有关的数值,然后进行读取与显示。(5)ULN2003A驱动子程序 由于STC89C52RC型单片不具备硬件SPI总线功能,因此要通过I/O口的时序变化模拟SPI总线协议与NRF24L01进行通信,该部分程序是底层驱动程序,直接对寄存器等进行操作,可根据MCU指令发送1-32字节数据。(6)主程序 对各个功能子程序进行调用,统一协调安排单片机工
46、作。4.2 软件设计流程图4.2.1 主程序流程图 图4.1 系统电路主流程图图4.1是软件设计思路的主流程图,实时温度、光强与设定阈值相比较,判定是否达到打开/关闭窗帘门限,然后执行开/关命令。最后实现打开/关闭窗帘。源程序见附录C。4.2.2步进电机驱动流程图 图4.2步进电机工作流程图在上面所示的流程图中,清楚的展现了窗帘控制系统执行过程中具体设计操作的软件流程的过程,整体设计分为数据监测、采集及控制设计两部分。具体流程各个功能如何工作、各个部分如何进行选择实现,流程一目了然,可操作性强。源程序见附录C。4.3 软件调试4.3.1 KEIL软件的组成介绍 KEIL IDE Vision3
47、集成开发环境主要由以下部分组成:(1)Vision3 IDE。Vision3 IDE主要包括:一个功能丰富并含有交互式错误提示的编辑器选项设置生成工具,一个工程管理器,以及在线帮助功能。Vision3可以自动完成编译汇编链接程序的操作,使用vision3创建源文件并组成应用工程加以管理。(2) BL51链接器定位器。L51链接器使用由编译器汇编器和从库中提取出来的目标模块生成的目标模块创建一个绝对地址目标模块16,绝对地址目标文件或模块包括不可重定位的代码和数据所有的代码和数据都被固定在具体的存储器单元中。(3) LIB51库管理器。B51库管理器可以从由编译器和汇编器创建的目标文件中建立目标
48、库,这些库是按规定的格式排列的目标模块,可以在被链接器所使用且当链接器处理一个库时仅仅使用了库中程序17,使用的目标模块而不是全部加以引用。(4) C51编译器和A51汇编器。Vision3 IDE创建的源文件可以被A51汇编器或C51编译器处理生成可重定位的object文件。KEIL C51编译器遵照ANSIC语言标准支持C语言的所有标准特性,另外还添加了几个可以直接支持80C51结构的特性。KEILA51宏汇编器支持80C51及其派生系列的所有相关指令集。4.3.2 KEIL开发和调试系统软件流程(1) 启动µ Vision3,首先进入KEIL软件的集成开发环境,选择“Proje
49、ctNew Project.”菜单,在弹出的“Creat New Project”对话框中为新的工程选择或者创建一个目录,并输入工程文件的名称,自动生成一个工程文件(.uv2)。然后单击“保存”按钮,出现如下图4.1所示的选择目标芯片窗口。图4.1 选择目标芯片窗口 在如图4.1所示的窗口中,选择目标CPU,因为Keil C51支持的CPU很多,选择 STC89C52芯片,单击“确定”按钮,出现如图4.2所示的对话框,要求选择是否将标准STC89C52启动文件加入工程中,单击“是”按钮,表示将文件加入工程中。 回到主窗口,这时,在工程窗口的文件页中,出现了“Target1”,其前面有“+”号。
50、单击“+”号展开,可以看到下一层的“Source Group1”,再单击“Source Group1”前面的“+”,可以看到一个名为STARTUP.C52的文件。STARTUP.C52文件就是刚才加入的、适合大多数STC89C51派生系列的启动文件代码。启动代码是目标芯片启动在main()函数之前首先执行的代码,用于清除片内数据存储器、初始化硬件、再入堆栈指针。 图4.2启动文件加入工程对话框 选择“FileNew.”在工程管理器的右侧打开一个新的文件输入窗口,在此窗口里面输入源程序,注意区分大小写及每行程序后面的分号18,切勿漏输或错输程序。在输入结束之后,选择“FileSave”,给此文件
51、取名并且保存。取名字时须加上相应的扩展名,本次设计采用C语言编写的程序,故以“.c”为扩展名,这里将其命名为“mms.c”,如果用汇编语言编写程序,则以“.asm”为该扩展名。保存完毕后可以将文件关闭。 单击“file new”新建一个文本。在下面空白区别写入或复制一个完整的C程序: 图4.3 程序编写界面接着把刚才编写好的源程序加入工程,单击“Source Group1”使其显示,然后,单击鼠标右键,出现一个快捷下拉的菜单,选中其中的“Add file Group “Source Group1”,接着出现一个对话框,要求寻找源文件。双击mms.c文件,将文件加入项目。注意,在文件加入项目后,
52、该对话框并不会消失,等待继续加入其他文件。此时单击“Close”即可返回主窗口,返回后,单击“Source Group1”前的加号,mms.c文件已在其中,双击该文件名,即打开该源程序。(2)工程的设置工程建立好以后,还要对工程进行进一步的设置,以满足特定的要求。首先双击Project窗口的“Target1”,然后单击鼠标右键,从弹出的快捷菜单中选择“ProjectOption for target“target1”,即出现工程设置对话框,这个对话框共有10个页面,包括目标页、驱动页、列表页、输出页、C51页、A51页、BL51Misc页、BL51Locate页、调试页和效用页,大部分设置项选
53、取默认值就可以。到此,设置完成。图4.4 工程设置对话框(3)编译和连接将工程设置完成后,然后进行编译和连接。选择相应菜单选项“ProjectBuild target”,连接当前工程,当前的文件若已经被修改,将需要编译该文件,然后再进行连接从而产生的目标代码;若选择“Rebuild All target files”则会对当前工程中的所有相关文件进行重新编译后再进行连接,从而确保最终文件产生最新的目标代码;而“Translate.”项则仅会对当前相关文件进行编译,而不会连接。在Output栏选中Create HEX File,使编译器输出单片机需要的HEX文件: 图4.5
54、HEX文件界面以上的操作也可以通过工具栏按钮直接进行,如图4.6所示,从左到右分别是:编译、编译连接、全部重建、停止编译、下载到Flash Memory和对工程进行设置。图4.6 编译连接工具栏编译过程中的信息将会出现在输出窗口中的Build页中。如果源程序中存在语法错误时,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序中存在错误修改之后再次编译,直到错误提示为0为止。同时在该窗口中可以看到该源程序的代码量、内部RAM的使用量、外部RAM的使用量等一些信息。除此之外,编译和连接还将产生一些其他相关的文件,包括可重定位列表文件(.lst)、可重定位目标文件(.obj)、绝对地址列表文
55、件(.m52)、绝对地址目标文件(无后缀名)、连接输入文件(.inp)等,这些都可以被用于Keil C52的仿真与调试,到了这一步后即可开始进行调试。按Ctrl+F5组合键或者使用菜单“DebugStart/Stop Debug Session”即可进入调试状态。运行和调试的工具栏,如图4.7所示,Debug菜单上的大部分命令可以在此找到对应的快捷按钮,一般从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令。图4.7 调试工具栏调试成功结果如图4.8
56、所示,在途中可以清楚看到源程序调试零错误,零警告,表示源程序调试成功。 图4.8调试结果程序的下载使用台湾晶宏公司的STC0-ISP软件进行串口下载,STC-ISP是一款单片机下载编程烧录软件19,是针对STC系列单片机而设计的,可下载STC89系列、12C系列和15F等系列的STC单片机,使用简便,现已被广泛使用。下载完成结果如下图4.9所示,在下图中可以清楚了解到单片机型号、引脚数、串口号、最低波特率、清除代码缓冲区、清除EEPROM和相关硬件选项等信息,在右边界面下方可以看到操作成功的字样,表示程序下载成功。图4.9下载成功界面图5. 系统硬件电路调试及结果分析5.1 系统硬件电路搭建系
57、统硬件电路主要由单片机最小系统、开关模块、温度采集模块、光强采集模块、显示模块、电机驱动模块组成。这几个模块共同达到控制窗帘系统目的。系统整体Proteus仿真电路见附录D。图5.1 系统硬件实物图图中上边部分为电机驱动窗帘模块,该模块作用是通过电机的正转与反转,驱动达到窗帘的升或降,来表示窗帘的打开与关闭。其次上面的液晶显示模块LCD1602将显示当前的实时温度、光强,及其温度、光强的设定值。其中第一行显示温度,第二行显示的是光强。最后第一行显示的工作模式,第二行显示的是电机的转数。中间部分是STC89C52芯片,是本次毕设的核心模块。紧挨着的是下载程序,及晶振、上拉电阻等,其作用是保护电路。下面的黑色芯片是A/D转换器。将采集的温度、光强模拟量转换为数字量。右边部分为USB电源部分,为整个硬件部分提供5
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。