1、计算机控制技术课程设计说明书光感自动窗帘控制系统学生姓名: 张 静 学号: 学 院: 专 业: 电气工程及其自动化 指导教师: 2016 年 1 月摘要随着生活水平的提高,智能家居越来越被人们关注。智能窗帘也随着科技发展悄然兴起,它不但具备窗帘优雅美观的特点,而且还能提供智能化的服务,使家居生活更加舒适、温馨与贴心。本文设计的是基于单片机控制系统的智能窗帘。它具备光感、红外遥控、温度显示、定时等功能。该窗帘可以根据外界的光亮程度来控制窗帘开启,从而达到调节室内光线,同时还提供按键来控制窗帘的关合。为了方便用户使用,增设定时模块,用户可根据自身的需要对某段时间,设置窗帘的开启程度。当定时结束,窗
2、帘自动切换到光感模式实现对室内光线的控制。同时,还增设温度显示,使用户可以了解温度状况。关键词:智能窗帘:红外遥控;光感控制;单片机I目 录第 1 章 绪论 .11.1 设计的背景和意义 11.2 本设计的内容 11.3 存在的主要问题 21.3.1 光感功能的实现 21.3.2 遥控功能的实现 2第 2 章 总体方案设计 .42.1 主控制系统 CPU 42.2 窗帘结构安装及电机选择 62.2.1 窗帘结构安装 62.2.2 步进电机选择 62.3 硬件总体方案 72.3.1 方案设计说明 82.3.2 方案选择说明 83.1 光电传感器信号采集模块设计 .103.3 执行单元模块设计 .
3、17第 4 章 系统软件设计 234.1 程序流程 .234.2 程序设计 .245 课程设计体会 .26II参考文献 .27附录 硬件电路图 28第 1 页 共 26 页第 1 章 绪论1.1 设计的背景和意义21 世纪是信息化的世纪,各种电信和互联网新技术推动了人类文明的巨大进步。利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。在现代社会,对室内设计而言,窗帘不仅具有遮光作用,更有美化功能,它不仅可以协调居室的色彩搭配,而且能够柔化空间造型的线条,营造温馨惬意的环境。随着高新技术及电子器件的发展
4、,光控、温控及遥控窗帘应运而生,给人们的生活带来了很多方便。单片机控制的自动窗帘控制系统,既能解决每天手动拉开和关上窗帘的不便,又显示出了生活的档次,同时还可以根据光线的明暗来自动控制窗帘的开关,以调节室内的光线,更进一步地满足了人们的享受要求。同时,遥控和定时的组合控制,可以让人们在需要的时段内,方便、快捷使用。自动控制窗帘系统的推广和应用具有重要的现实意义,它改变了人们的生活方式,单片机控制的自动窗帘控制系统具有丰富的智能化功能,为家庭用户营造一个高效、舒适、便利的居住环境,给人们日常生活带来了极大地方便。自动控制窗帘系统又牵扯一大批产业,单片机控制的自动控制窗帘产品面向家庭用户,其应用市
5、场是庞大的,发展前景也是广阔的,必将吸引大批各类企业介入,从而牵动一大批产业的发展。1.2 本设计的内容主要设计内容:窗帘结构设计、窗帘安装布局的设计、控制系统软件的设计和硬件的选择。窗帘结构设计:在现代的审美观念中,人们往往追求的整体美观,同时窗帘作为整体家居环境的一部分,它的结构和尺寸大小有一定的限制。为了满足人们对美的追求,在设计过程中采用硬度高、质量轻的铝合金材料来制作窗帘的整体框架。第 2 页 共 26 页窗帘安装布局的设计:窗帘光感模块依靠两个光感模块和三个限位开关来实现。对于不同尺寸的窗帘,可根据实际情况改变限位开关的距离来实现控制。控制系统软件的设计:智能窗帘的智能化体现在其自
6、身光控部分,当人们在室内休息、工作的时候,由于外界光线强度的改变,可能给在室内的人们造成不适,而光控刚好解决了这一缺陷。只要事先设置好光感的强度,程序就可根据这个光线改变而实现窗帘的开合,从而改变室内光线强度,给人们一个舒适、温馨的环境。系统的定时部分可提供任何状态下 12 个小时的定时功能,在定时结束后,系统自动恢复到光感模式,同时用户也可在未到时间的情况下重新开启光感模式。本系统还可提供温度时时检测,时刻提醒用户注意温度变化。1.3 存在的主要问题1.3.1 光感功能的实现光感部分主要可分成光感检测和光感执行两部分。光感检测依靠的是光敏电阻的使用。光敏电阻可分成暗电流和亮电流两部分。暗电流
7、:光敏电阻在室温条件下,全暗(无光照射)后经过一定时间测量的电阻值,称为暗电阻,此时在给定电压下流过的电流。亮电流:光敏电阻在某一光照下的阻值,称为该光照下的亮电阻,此时流过的电流。光敏电阻的暗电阻越大,而亮电阻越小则性能越好。也就是说,暗电流越小,光电流越大,这样的光敏电阻的灵敏度越高。实用的光敏电阻的暗电阻往往超过 1M,甚至高达 100M,而亮电阻则在几 k 以下,暗电阻与亮电阻之比在 102106 之间,可见光敏电阻的灵敏度很高。而本设计中在光感电路加入一个滑动电阻,用户可根据当地光线的实际情况来改变光感元件对光线的敏感程度,从而达到完美的控制目的。光感执行部分主要包括一个直流电机和三
8、个限位开关来实现。当光敏电阻判断光线强度改变时,电机按相应方向转动。以光线程度变强为例,电机向窗帘关合的方向运动,当绕绳碰到某一限位开关时,电机停止转动。再进入另一光敏电阻的判断,如果还是超过设定的位置,电机继续以同方向转动,碰到行第 3 页 共 26 页程开关停止。1.3.2 遥控功能的实现遥控器使用方便,功能多。目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。如果能将遥控器上许多的按键解码出来,用作单片机系统的输入,则解决了常规矩阵键盘线路板过大、布线复杂、占用 IO 口过多的弊病。而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使
9、用。红外线的是一种波长为 950nm 的光,超出人类的可视光谱范围,因此是不可见的。这也是我们用它来做遥控的原因之一,另一个原因就是红外线很容易人工生成,成本低廉。虽然人眼不能直接看到红外线,但是通过摄像机或者数码相机,我们就能在图片里看到它们。不幸的是我们周围有很多红外源。太阳是最大的红外源,其它的比如灯泡,蜡烛,中央加热系统,甚至是我们的身体都是红外源。事实上,只要是发热的物体,就会发射红外线。所以我们必须采取一些措施来防止我们的控制信号受到干扰,采用调制可以使我们的控制信号免受干扰。通过调制,我们把红外线以特殊的频率发射,然后红外接收设施以相同的频率来接收,从而避免干扰。第 4 页 共
10、26 页第 2 章 总体方案设计2.1 主控制系统 CPU单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机的最小系统只用了一片集成电路,即可进行简单运算和控制。目前,单片机在民用和工业测 控领域得到最广泛的应用。彩电,冰箱,空调,录像机,VCD,遥 控器,游戏机,电饭煲等无处不见单片机的影子,单片机早已深深地溶入我们每个人的生活之中。单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产
11、 上也极大地提高了生产效率和产品质量。 当前国内外单片机的发展现状良好,我们根据单片机技术的先进性和稳定性制订了如下几种方案:方案一:STC 单片机STC 公司的单片机主要是基于 8051 内核,是新一代增强型单片机,指令代码完全兼容传统 8051,速度快 812 倍,带 ADC,4 路 PWM,双串口,有全球唯一 ID 号,加密性好,抗干扰强. 其中,STC 公司推出了了 STC89 系列单片机,增加了大量的新功能,提高了 51 的性能,是 MCS51 家族中的佼佼者。STC89 系列单片机是 MCS-51 系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准 8052 单片机完
12、全兼容,DIP40 封装系列与 8051 为 pin-to-pin 兼容。STC89 系列单片机高速(最高时钟频率 90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。方案二:MOTOROLA 单片机 MOTOROLA 是世界上最大的单片机厂商。品种全、选择余地大、新产品多是其特点,在 8 位机方面有 68HC05 和生级产品 68HC08,68HC05 有 30 多个系列,200 多个品种,产量已超过 20 亿片。8 位增强型单片机 68HC11 也有 30 多个品第 5 页 共 26 页种,年产量在 1 亿片以上。生级产品有 68HC12。16 位机 68HC16
13、也有十多个品种。32 位单片机的 683XX 系列也有几十个品种。近年来,以PowerPC、Coldfire、M.CORE 等为 CPU,将 DSP 未为辅助模块集成的单片机也纷纷推出,目前仍是单片机的首选牌品。MOTOROLA 单片机特点之一是在同样速度下所用的时钟频率较 Intel 类单片机低得多,因而使得高频噪声低、抗干扰能力强,更适合用于工控领域及恶劣的环境。MOTOROLA8 位单片机过去的策略是以掩膜为主,最近推出 OTP 计划以适应单片机发展趋势,在 32 位机上,M.CORE在性能和功耗方面都胜过 ARM7。方案三:Scenix 单片机 Scenix 单片机的 I/O 模块有新
14、意。I/O 模块的集成与组合技术是单片机技术不可缺少的重要方面。除传统的 I/O 功能模块如并行I/O、URT、SPI、I2C、A/D、PWM、PLL、DTMF 等,新的 I/O 模块不断出现,如USB,CAN、J1850,最具代表性的是 MOTOROLA32 位单片机,它集成了包括各种通信协议在内的 I/O 模块,而 Scenix 单片机在 I/O 模块的处理上引入虚拟 I/O的新概念。Scenix 采用了 RISC 结构的 CPU,使 CPU 最高工作频率达 50MHz。运算速度接近 50MIPS。有了强有力的 CPU,各种 I/O 功能便可以用软件的办法模拟。单片机的封装采用 20/28
15、 引脚。公司提供各种 I/O 的库函数,用于实现各种 I/O 模块的功能。这些用软件完成的模块包括多路 UART、多种A/D、PWM、SPI、DTMF、FSK、LCD 驱动等,这些都是通常用硬件实现起来也相当复杂的模块。综合比较三个方案,方案一工具好用,DEMO 易搞,成本偏低,所以此次选用的是 AT89C52 单片机。这是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C52 产品指令和引脚完全兼容。同时具有 8k 字节 Flash,256 字节RAM,32 位 I/O 口线,看门狗定时
16、器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保第 6 页 共 26 页护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图 2.1 89C52 图2.2 窗帘结构安装及电机选择2.2.1 窗帘结构安装家居窗帘不仅要美观,而且得低噪音,高稳定性。因此采用在滑线上缚有一或二只永磁体,与之相对应有一或二只吊环是磁性材料制
17、成,滑线上缚有永磁体,在封闭的帘杆内腔运行,而吊环全部套在帘杆外周或嵌进下部开的缝内,永磁体用磁力透过帘杆牵引吊环,这种新型电动窗帘滑线不外露,不会蒙尘和缠绕,可以电动手拉兼容。 第 7 页 共 26 页图 2.2 窗帘结构示意图2.2.2 步进电机选择步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。目前,比较常用的步进电动机包括反应式步进电动机(VR) 、永磁式步进电动机(
18、PM) 、混合式步进电动机(HB )等。步进电动机和普通电动机的区别主要就在于其脉冲驱动的形式,因此,步进电动机多和现代的数字控制技术相结合。但步进电动机在控制精度、速度变化范围、低速性能方面都不如传统闭环控制的直流伺服电动机;所以主要应用在精度要求不是特别高的场合。步进电机主要应用在数控机床制造领域,由于其不需要 A/D 转换,能够直接将数字脉冲信号转化成为角位移,所以一直被认为是最理想的数控机床执行元件。表 2.3 直流电机参数本设计采用的是 12V 的来直流电机驱动,计算转数与扭矩如下:按上表参数计算电机在 9V 下的扭矩,N=最大空载转数(运行电压峰值电压)=63(912)=47.25
19、r/min峰值堵转型号转矩(N.m)电流( A)电 压(V)功率(W)最大空载转数(r/min)GW31ZY-63 7.5 1.5 12 18 63第 8 页 共 26 页M=峰值堵转扭矩(运行电压峰值电压)=7.5(912)=5.625N.m 在 9V 的状态下,电机产生 5.625 的扭矩足以带动绕绳的转动。 2.3 硬件总体方案硬件设计的好坏决定整个方案的成功与否,所以在硬件设计时,在实现功能的情况下电路设计越简单越好,这样才能保证这个系统的稳定运行。本文采用单片机 AT89C52 作为系统的核心控制器件,通过光电传感器采集数据(数字信号) ,经单片机根据接收到的信号来控制步进电机的转动
20、方向及步数,并根据光线变化自动调整窗帘的开度。2.3.1 方案设计说明考虑到自动窗帘的成本和巨大的市场空间,本文提出一种方案,应用光控原理工作,光亮在一定程度窗帘自动打开,光线变暗窗帘自动关闭,实现光控电动自动窗帘的设计,成本低,环保且方便使用。实现框图如图 2.4 所示:图 2.4 本设计实现的方框图该系统具有抗干扰能力强、结构简单、性能稳定,成本低廉,利于推广等特点,能够满足智能家居需求,具有良好的市场应用前景.2.3.2 方案选择说明论文设计的核心控制器选用的是 AT89C52 单片机,光线采集选用光电传感器 ULN3330。它输出单片机能读入数字信号,然后由 L293D 驱动芯片驱动步
21、进电机转动,调节其转动角度。电机选用比较容易进行角度调节的步进电机,单片机与步进电机之间的连接采用 L293D 驱动器,它是一种两相和四相步进电机专用驱动芯片。2.3.3 硬件方案选择说明硬件电路绘图平台为 PROTEL 软件, 所用元器件在其上绘出,例如AT89C52 微控制器、电机驱动芯片 L293D、42BYG 系列步进电机、电阻、电容、第 9 页 共 26 页按键、肖特基二极管、转换开关等。逻辑框图如图 2.5 所示。图 2.5 系统硬件电路设计光检测模块 1选用集成光电传感器 ULN3330,当器件顶部受到大于 50 Lx4的光照时就输出高电平,负载上没有电流;当光照不足 45 Lx
22、 时,器件就输出低电平,负载上有电流通过。单片机模块 2选用 MCS-51 单片机系列,AT89C52 单片机。步进电机的驱动模块 3选用步进电机专用驱动芯片 L293D,采用 L293D,通过单片机的 I/O 输入改变芯片控制端的电平,即可以对电机进行正、反转、停止的操作。 步进电机选用 4步进电机的步距角选用 1.8 度/步(四相电机) 。2.4 软件方案设计说明(主控程序流程图)软件开发平台为 Keil 软件,用 C 语言编写具体的程序代码。主控程序流程图如图 2.6 所示。第 10 页 共 26 页图 2.6 主控程序流程图第 3 章 硬件电路设计3.1 光电传感器信号采集模块设计3.
23、1.1 光电传感器 ULN3330 介绍光电传感器按输出信号有开关型和模拟型, 开关型用于转速测量、 模拟开关、 位置开关等;模拟型用于光电式位移计、 光电比色计等。 光电检测必须具备光源、 被测物和光电元件。ULN3330 是美国摩托罗拉公司生产的集成光电传感器。 它是一种新颖的光电开关, 将光敏二极管、 低电平放大器、 电平探测器、 输出功率驱动器和稳压电路等五部分都集成在了一块 11.8(mmmm)的硅片上, 形成一种具有驱动能力的光敏功率器件。 该器件可用于众多使用光敏器件的场合, 使光敏器件的应用变得更简单、 可靠。光敏二极管的光敏区域约为1.11.1(mmmm) ,峰值波长为 88
24、0 nm。 当 ULN3330 受到光照时,会产生第 11 页 共 26 页微安数量级的光电流。低电平放大器是一种低噪声小电流放大器,能对微安级的光电流进行放大、电平位移,最后输出可供电平探测器进行鉴别的电平。 电平探测器是由施密特电路构成的,它具有约 20的“滞后”特性。 输出功率驱动器是 NPN 中功率晶体管,最大可通过 100 mA 的电流,可以直接驱动各种负载。 稳压电路可确保当电压在 415 V 范围内变化时电路也能稳定地工作。ULN3330 接上电源与负载后, 不需要其他元件就能工作。当器件顶部受到大于50 Lx 的光照时, 就输出高电平,负载上没有电流;当光照不足 45 Lx 时
25、,器件就输出低电平,负载上有电流通过。3.1.2 传感器信号采集模块设计由于光电传感器 ULN3330 直接输出数字信号,因而与单片机连接电路之间无需模数转换电路。ULN3330 控制电路基本思路:表 3.1 光照强度与窗帘状态关系下面两图即为光电传感器 ULN3330 模块电路连接图:图 3.2: 1光照强度 OUTPUT 输出端 窗帘开合状态E50LX 高电平 1 打开E45LX 低电平 0 关上第 12 页 共 26 页光电传感器的输出端 OUTPUT 接单片机的 P3.0 口,输出端的高低电平就 2送到单片机的口,电源端接+12V 的直流电压,VSS 端接地。当外界逐渐变亮,光电传感器
26、件顶部受到大于 50 Lx 的光照时,就输出高电平,经单片机后由驱动电路 L293D 驱动步进电机正转,窗帘打开,当光电传感器件顶部光照不足 45 Lx 时,光电传感器件就输出低电平。经单片机后由驱动电路 L293D 驱动步进电机反转,窗帘闭合。图 3.3: 2用开关模拟光电传感器,开关一端接单片机的 P3.0 口,另一端为接地端,单片机上电后其端口为高电平,因而当开关断开时,P3.0 口即为高电平,窗帘打开。当开关闭合时,开关接地,P3.0 口为低电平,窗帘闭合。下图即为光电传感器 ULN3330 的电路连接图:图 3.2 ULN3330 与单片机的连线图第 13 页 共 26 页图 3.3
27、 PROTUES 中连线图说明:要用 PROTUES 软件仿真,因其中器件库中没有光敏这块,用开关替代,左图为光电传感器在单片机上的连接图,右图为用开关代替光电传感器在与单片机的连接图。3.2 单片机信号处理模块设计3.2.1 MCS-51 单片机的结构 单片机全称单片微型计算机,顾名思义,它指的是一种单硅片上集成的微型计算机主要功能部件的集成芯片。单片机的出现要归功与大规模集成电路技术的发展,就组织和功能而言,它如一个微型计算机系统,内部集成了中央处理器,随机数据存储器、只读程序存储器、定时器/计数器、输入输出(I/O)接口电路和串行通信接口等主要功能部件。这里的 51 单片机指的是 Int
28、el 公司的 MCS-51 系列单片机,属于这一系列的单片机芯片有许多种,如8051/8052、8031/8032、8752/8751 等,他们的基本组成、基本性能、指令系统都是相同的。(1)MCS-51 单片机的内部结构单片机是在一块芯片中继承了 CPU、RAM、ROM、定时/计数器和多功能 I/O第 14 页 共 26 页接口等计算机所需要的基本功能部件的大规模集成电路,又称 MCU。51 系列单片机内包含下列几个部件:1 个 8 为 CPU。1 个片内振荡器及时钟电路。4KB ROM 程序存储器。128B RAM 数据存储器。可寻址 64KB 外部数据存储器和 64KB 外部程序存储器的
29、控制电路。32 条可编程的 I/O 线(4 个 8 位并行 I/O 接口) 。2 个 16 位的定时/计数器。1 个可编程全双工串行接口。5 个中断源、2 个优先级嵌套中断结构。51 系列单片机内部结构图如图 3.3 所示,各个功能部件由内部总线连接在一起。程序存储器部分用 ROM 代替即为 8051/8052;用 EPROM 代替即为8751/8752;若去掉 ROM 即为 8031/8032;用 FLASH EPROM 代替即为89C51/89S52。基准频率源 脉冲技术输入第 15 页 共 26 页振荡器及定时电路4 K B / 8 K B 程序存储器1 2 8 B / 2 5 6 B
30、数据存储器2 / 3 个 1 6 位定时器 /计数器C P U6 4 K B 总线扩展控制可编程 I / O 接口 可编程串行接口外部中断 控制 并行 I/O接口 串行输入 串行输出图 3.4 MCS-51 单片机内部结构框图(2)引脚功能有总线扩展的 51 单片机有 44 个引脚的方形封装形式和 40 个引脚的双列直插式封装形式,本文用 40 个引脚的双列直插式封装形式, 40 个引脚封装的引脚图如图 3.4,各引脚的功能说明如下。第 16 页 共 26 页哥 GND 2 XTAL1, XTAL2 2RESET 1EA/Vp 1ALE/PROG 1PSEN 1P0.0P0.7 8P1.0P1
31、.7 8 P2.0P2.7 8P3.0P3.7 8图 3.5 AT89C52 单片机引脚图GND:接地端。VCC:电源端,接+5V。XTAL1:接外部晶体的一个引脚。CHMOS 单片机采用外部时钟信号时,外部时钟信号由此引脚接入。XTAL2:接外部晶体的一个引脚。HMOS 单片机采用外部时钟信号时,外部时钟信号由此引脚接入。RST:复位信号输入。VCC 掉电后,此引脚可接备用电源,低功耗条第 17 页 共 26 页件下保持内部 RAM 中的数据。ALE/RPOG:地址锁存允许。当单片机访问外部存储器时,该引脚的输出信号 ALE 用于锁存 P0 端口的低 8 位地址。ALE 输出的频率为时钟振荡
32、频率的1/6。对 8751 单片机片内 EPROM 编程时,编程脉冲由该引脚接入。PSEN:程序存储器允许。输出读外部程序存储器的选通信号。取指令操作期间,PSEN 的频率为振荡频率的 1/6;但若此期间有访问外部数据存储器的操作时,则有一个机器周期中的 PSEN 信号将不出现。EA/VPP: EA=0,单片机只访问外部程序存储器。对 8031 单片机此引脚必须接地。EA=1,单片机访问内部程序存储器。对于内部有程序存储器的8XX51 单片机,此引脚应接高电平,但若地址值超过 4KB 范围,单片机将自动访问外部程序存储器。在 8751 单片机内 EPROM 编程期间,此引脚接入 21V 编程电
33、源 VPP。P0.0P0.7: P0 数据/低八位地址复用总线端口。具有双重功能:可以作为输入/输出口,外接输入/输出设备。在有外接存储器和 I/O 接口时常作为低 8 位地址/数据总线,即低 8 位地址与数据线分时使用 P0 口。此低 8 位地址由 ALE 信号的下跳沿使它锁存到外部地址锁存器中,尔后,P0 口出现数据信息。P1.0P1.7:P1 静态通用端口。具有单一接口功能,P1 口每一位都能作为可编程的输入或输出口线。P2.0P2.7:P2 高八位地址总线动态端口。具有双重功能:作为输入/输出口使用,外接输入/输出设备。在有外接存储器和 I/O 接口时,作为系统的地址总线,输出高 8
34、位地址,与 P0 口低 8 位地址一起组成 16 位地址总线。对于内部无程序存储器的单片机来说,P2 口只作为地址总线使用,而不作为I/O 接口。P3.0P3.7:P3 双功能静态端口,可以作为输入/输出口,外接输入/输出设备。作为第二功能使用时,每一位功能定义如表 3.6 所示第 18 页 共 26 页单片机端口 外围电路P0.0-P0.7,P2.0-P2.2 屏幕显示模块P2.5-P2.7 电机驱动模块P2.3-P2.4 光感模块P1.0-P1.2,P1.3-P1.5 33 矩阵按键模块P1.6-P1.7,P3.0 定位开关模块P3.2 红外线P3.3 温度模块P3.7 蜂鸣器表 3.6
35、P3 口第二功能说明(3)单 片 机 本 身 的 微 小 电 路第 19 页 共 26 页图 3.7 单片机的微小系统连线图上图为单片机的小系统,包含片内振荡电路和复位电路。片内振荡电路:通常外接一个晶振,两个电容, 电容值取值范围 1545pf,取值范围晶振值 024MHZ。时钟电路为单片机产生时序脉冲,单片机所有运动与控制过程都是在统一的时序脉冲驱动下进行的,时钟电路好比人的心脏,如果人的心脏停止工作,则人就没有生命了,同样,如果单片机的时钟电路停止工作,那么单片机也就停止运行了。复位电路:当振荡器运行时,在此引脚上出现 2 个机器周期以上的高电平使单片机复位,一般在此引脚与 VSS 之间
36、接一个下拉电阻,与 VCC 引脚之间接一个电容,单片机复位后,从程序存储器的 0000H 单元执行程序,并初始化一些专用寄存器为复位状态值。本文中单片机复位电路的连接如上图。3.3 执行单元模块设计3.3.1 驱动电机部分&行程开关第 20 页 共 26 页(1)L293D 芯片介绍L293D 为意大利 SGS 半导体公司生产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ),内部包含 4 信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动 2 个二相或 1 个四相步进电机,内含二个 H-Bridge 的高电压、大电流双全桥式驱动器,接收标准 T
37、TL 逻辑准位信号,可驱动 46V、2A 以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的 IO 端口来提供模拟时序信号,L293D 之接脚如图 3.8 所示,OUTl、OUT2 和 OUT3、OUT4 之间接步进电机;input1input4 输入控制电位来控制电机的正反转;Enable 则控制电机停转。本文主要采用 L293D 驱动芯片,通过单片机的 I/O 输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作。 图 3.8 L293D 内部逻辑图输入引脚与输出引脚的逻辑关系表如表 3.9(ENB 引脚与 ENA 引脚同):L293D 功能引脚模块 N IN
38、1 IN2 运转状态0 停止1 1 0 正转第 21 页 共 26 页1 0 1 反转1 1 1 刹停1 0 0 停止表 3.9 L293D 功能引脚模块(2)芯片(采用 powerso20 封装)引脚说明:+5V:芯片电压 5V。功率电源电压,此引脚与地必须连接 100nF 电容器VCC:电机电压,最大可接 50V。逻辑电源电压。 此引脚与地必须连接 100nF电容器GND:共地接法。EnA,EnB:接控制使能端高电平有效,ENA、ENB 分别为 IN1 和 IN2、IN3 和 IN4的使能端。IN1 IN4:输入控制电平,控制电机的正反转,输入端电平和输出端电平是对应的。OUT1 OUT4
39、:输出端,接电机。L293D 需要从外部接两个电压,一个是给电机的,另一个给 L293D 芯片的。图 3.10 双四拍模式波形图(3)位置开关(行程开关)第 22 页 共 26 页步进电机正转或反转的位置的末端分别安装行程开关,当窗帘运动到末端位置时会碰到行程开关,使开关的常开触头闭合,一旦常开触头闭合,电机就停止正转或反转。当天亮或天暗时,步进电机会反方向运动,开关的障碍物去除,常开触头恢复,由此实现步进电机的末端停止控制,没有碰到常开触头,电机会一直运转,这样也可使窗帘拉到极限位置,很好的保证了室内私密性的性能。位置开关(又称限位开关)的一种,是一种常用的小电流主令电器。利用机械运动部件的
40、碰撞使其出头动作来实现接通或断开控制电路,达到一定的控制目的,用以控制其行程、进行终端限位保护。通常,这类开关被用来限制机械运动的位置或行程,使运动部件暗特定的位置或行程自动停止、反向运动、变速运动或自动往返运动等。在电气控制系统中,位置开关的作用是实现顺序控制、定位控制和位置状态的检测。用于控制机械设备的行程及限位保护。一般限位开关由操作头、触点系统和外壳组成。在实际生产中,行程开关被安装在预先定好的位置,当安装在机械运动部件上的模块撞击行程开关时,行程开关的触点动作,实现电路的切换,所以说,行程开关是一种根据运动部件的行程位置而切开电路开关,其作用原理与按钮相似。行程开关可以安装在相对静止
41、的物体(如固定架、门框等,简称静物)上或者运动的物体(如行车、门等,简称动物)上。当动物接近静物时,开关的连杆驱动开关的接点引起闭合的接点分断或者断开的接点闭合。由开关接点开、合状态的改变去控制电路和机构的动作本文选用的是直动式行程开关。直动式行程开关动作原理同按钮类似,所不同的是:一个是手动,另一个则由运动部件的撞块碰撞。当外界运动部件上的撞块碰压按钮使其触头动作,当运动部件离开后,在弹簧作用下,其触头自动复位。3.3.2 步进电机选用第 23 页 共 26 页步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而
42、不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。本文选用的是混合式步进电机,混合式步进电机是混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为 1.8 度,五相步进角一般为 0.72 度,这种步进电机的应用最为广泛。3.3.3 执行单元模块电路连接(1)电机驱动电路连接本文主要采用 L293D,通过单片机的 I/O 输入改变芯片控制端的电平,改变绕组脉冲信号的顺序即可对电机实现正反转。L293D 的输入引脚与单片机的 P1.0P1.3 口分别相连,IN1IN4 引脚从单片机输入控制电平,控制步进电机的正反转,OUT1OUT4 分别接步进电机的四个相线,ENA、
43、ENB 接控制使能端控制步进电机的转、停。当 ENA、 ENB 同时接高电平时 L293D 芯片是工作的,即使能端有效,控制 IN1IN4 引脚电平的频率即可控制步进电机的转速。芯片的输出引脚分别接 2 个续流二极管,起到保护电路作用。芯片的 VCC 和 VSS 引脚与地必须连接 100nF 电容器,图中 0.1F和 100F 电容并联即为 100nf。对本自动系统的设计还必须满足用户想要窗帘停的某一位置停下来的需求,为此设计了步进电机停止开关,为简化程序,更加利用 L293D 芯片本身的功能,本文采用了一个单刀双掷开关 SW1,开关一端接使能端 ENA、 ENB,另两端一段接+5V 的电源,
44、为芯片使能端提供高电平,另外一端接地,限制使能端的使用,当开关接到地时,两个使能端接地,L293D 芯片不再起作用,电机停止运动,由此达到停止的目的。电机控制窗帘的两个极限位置-窗帘的两端,要能使电机停下来,这一问题的解决有两种方案,一种是计算步进电机在窗帘开合长度中所要转的圈数,根据步进电机本身的步长计算电机转数,写入程序里进行控制,还有一种是利用行程开关进行控制,当窗帘走到极限位置时会碰到行程开关,使行程开第 24 页 共 26 页关闭合,这里的行程开关是接地和使能端的,开关闭合就是关闭使能端,电机停止转动,分析比较这两种方案,认为后一种较为简便且使居室的严密性得到保证,因为受限于步进电机
45、本身的精确度和丢步失步现象,电机难免不会在某一时刻出现丢步,是窗帘在还没完全拉合的状态下停止。行程开关控制步进电机极限位置停止:天亮时,光敏传感器接受到高电平,依程序所设步进电机正转,顺时针转动,窗帘以某一速度被慢慢拉开,走到极限位置时,窗帘碰到右端的行程开关 SW3,开关闭合使能端关闭,电机停止转动。当天暗时,光敏传感器输出低电平,电机要逆时针转动了,窗帘打开,障碍物去除,开关断开,使能端打开,电机反转,同样电机反转碰到左边的行程开关 SW4 时,开关闭合,使能端关闭,电机停止转动。鉴于上述考虑,我们小组的设计电路图如 3.11 所示:图 3.11 L293D 控制电机电路 第 4 章 系统软件设计4.1 程序流程51 单片机的开发除了需要硬件的支持外,同样离不开软件。CPU 真正可执行的是机器码,用汇编语言或 C 语言等高级语言编写的源程序必须转为机器码才能被执行,转化方法有手动汇编和机器汇编两种,前者已很少使用,机器汇编是通过汇编软件将源程序转换为机器码的编译方法。这种汇编软件称为编译器,keil 是目前最流行的 51 单片机开发软件,keil 提供了一个集成开发环境uVision,它包括编译器、宏汇编、连接器、库管理、和一个功能强大的仿真调