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