基于单片机的光控自动窗帘控制系统设计说明书1 - 图文

更新时间:2024-05-23 08:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

机电工程学院

毕业设计说明书

学生姓名: 彭华云 学 号: 201028050130

设计题目: 基于单片机的光控自动窗帘控制系统设计

专业班级:机械设计制造及其自动化(专升本)1001班 指导教师: 颜丙生

年 月 日

目录

1. 背景意义 ....................................................................... 3 1.1 光控自动窗帘系统的背景、意义 ................................................ 3 1.2 国内外研究现状 .............................................................. 4 2.方案论述 ........................................................................ 8 2.1方案设计说明 ................................................................. 8 2.2方案选择说明 ................................................................. 8 3.硬件设计 ....................................................................... 10 3.1 光电传感器信号采集模块设计 ............................................... 10 3.2 单片机信号处理模块设计 .................................................... 14 3.3 执行单元模块设计 .......................................................... 18 4.软件设计 ....................................................................... 24 4.1程序流程 ................................................................... 24 4.2 程序设计................................................................... 25 5. 总体设计 ...................................................................... 27 PROTEL总电路图&&PROTUES仿真图 ................................................. 28 6.结论 .......................................................................... 30 7. 致谢 .......................................................................... 30 参考资料 ......................................................................... 31

1

1. 背景意义

1.1 光控自动窗帘系统的背景、意义

随着生活的提高,时代的进步,人们对居住空间、周围环境有了更高的要求,这是社会的必然潮流。单片机控制的自动窗帘系统,既能解决每天手拉开和关上窗帘的不便,又显示出了生活的便捷和档次,对室内设计而言,窗帘不仅具有遮光作用,更有美化功能,它不仅可以协调居室的色彩搭配,而且能够柔化空间造型的线条,营造温馨惬意的环境[1],同时还可以根据光线的明暗来自动控制窗帘开光,以调节室内光线,更进一步地满足了人们的享受要求,随着高新技术及电子器件的发展,光控、温控及遥控窗帘应运而生,给人们的生活带来了很多方便。同时,也为人们的生活环境以及智能家居的实现提供了依据,为此,研究与设计智能窗帘控制系统具有深远的现实意义[2] ,所以产品如能形成大规模生产,必能很快普及国内市场,产生巨大的经济效益,另外,除了广大市民住宅使用外,该遥控窗帘器还可广泛用于别墅、公寓、宾馆、饭店、歌舞厅、写字楼、银行、歌剧院、会议厅、学校、医院等各种公用场所,因此该产品具有广阔的市场前景。

光感自动窗帘系统在我国还刚刚兴起,但其发展前景广阔,推广和应用自动窗帘系统具有重要的现实意义。其一,改变人们的生活方式。单片机控制的光感自动窗帘系统具有丰富的智能化功能,为家庭用户营造一个环保、高效、便利、舒适的居住环境。单片机控制的光感自动窗帘用三个按钮和环境光控制窗帘的开和关,解决人们手动开关窗帘问题,给人们日上生活带来极大的方便。这些都将改变人们传统的生活方式,并提高了人们的生活质量。其二,开拓一个崭新的市场。遥控自动窗帘系统牵动了许多的行业,它将不仅仅是目前的IT系统集成商或建筑弱电工程总包商的市场,而且是专业公司和智能化装饰公司的市场。其三、牵动一大批产业。单片机控制的遥控自动窗帘产品面向家庭用户,其应用市场是庞大的,发展前景也是广阔的,必将吸引大批有远见的各类企业介入,从而牵动一大批产业的发展。这里最先受益的应该是房地产业,单片机控制的遥控自动窗帘不仅是一个很好的概念与“卖点”,同时也是直接提升住宅档次的一个条件,这将会给房地产商带来新的利润空间。在家居集成化、网络化的趋势下,家居集成也成为一种潮流,许多更专业的、美观的、智能化的家居集成产品相继出现。

现在很多厂家生产的自动窗帘(含门帘)控制系统,都是由主机(以微电脑芯片为核心组成的智能控制中心)、各种传感器(红外线传感器、风雨信号传感器等、温度传感器、烟雾传感器等)、各种报警终端(警灯、警笛、电话报警器、接警指挥中心等)、遥控器以及一系列机械传动装置组成的一种具有智能化、人性化、网络化的高科技产品。本文讲述了用单片机结合软件来采集光强

2

并控制步进电机转动从而控制窗帘开、闭。

1.2 国内外研究现状

1.2.1光电传感器

通过光电传感器采集数据(光强度),反映出光信号变化,然后借助光电元件进一步将光信号转换成电信号。光电检测方法具有精度高、反应快、非接触等特点,且可测参数多,传感器的结构简单,形式灵活多样。本设计通过检测光线的强弱,并根据光线的强弱自动将窗帘打开和关闭,实现了自动控制的功能,极大地方便了人们的日常生活,并在生活中得到了广泛的应用。

光敏电阻是采用半导体材料制作,利用内光电效应工作的光电元件。光敏电阻又称光导管,为纯电阻元件,其工作原理是基于光电导效应。无光照时,光敏电阻值(暗电阻)很大,电路中电流(暗电流)很小,当光敏电阻受到一定波长范围的光照时,它的阻值(亮电阻)急剧减小,电路中电流迅速增大。一般希望暗电阻越大越好,亮电阻越小越好,此时光敏电阻的灵敏度高。它在光线的作用下其阻值往往小。在黑暗的环境里,它的电阻值很高,当受到光照时,光敏电阻阻值下降。光照愈强,阻值越低。入射光消失后,光敏电阻的阻值逐渐恢复原值。在光敏电阻两端的金属电极之间加上电压,其中便有电流通过,受到适当波长的光线照射时,电流就会随光强的增加而变大,从而实现光电转换。一般暗电流越大、亮电阻越小,光敏电阻的灵敏度越高。光敏电阻的暗电阻的阻值一般在MΩ数量级,亮电阻在几千欧以下。暗电阻与亮电阻之比一般在102~106之间。在一定照度下,流过光敏电阻的电流与光敏电阻两端的电压的关系称为光敏电阻的伏安特性。光敏电阻在一定的电压范围内,其I-U曲线为直线[5]。

光敏电阻的光照特性用于描述光照强度和光电流I之间的关系,绝大多数光敏电阻光照特性曲线是非线性的。光敏电阻对入射光的光谱具有选择作用,即光敏电阻对不同波长的入射光有不同的灵敏度[6]。光敏电阻的相对光敏灵敏度与入射波长的关系称为光敏电阻的光谱特性,亦称光谱响应。光敏电阻的光电流不能随着光强改变而立刻变化,不同材料的光敏电阻具有不同的时间常数(ms数量级),因而它们的频率特性也就各不相同。 1.2.2单片机

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种

3

机械的单片机。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

目前,单片机在民用和工业测 控领域得到最广泛的应用。彩电,冰箱,空调,录像机,VCD,遥 控器,游戏机,电饭煲等无处不见单片机的影子,单片机早已深深 地溶入我们每个人的生活之中。 单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产 上也极大地提高了生产效率和产品质量。

单片机按用途大体上可分为两大类: 1--通用型单片机 2--专用型单片机,专用型单片机是指用途比较专一,出厂时程序已经一次性固化好, 不能再修改的单片机。例如电子表里的单片机就是其中的一种。 其生产成本很低。通用型单片机的用途很广泛,使用不同的接口电路及编制不同的应用程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设备和整套生产线都可用单片机来实现自动化控制。

当前国内外单片机的发展现状良好,技术比较先进和稳定的有以下十几种: 1.Motorola单片机:

Motorola是世界上最大的单片机厂商,品种全,选择余地大,新产品多,在8位机方面有68HC05和升级产品68HC08,68HC05有30多个系列200多个品种,产量超过20亿片. 16位单片机68HC16也有十多个品种.32位单片机683XX系列也有几十个品种。

2.Microchip 单片机:

Microchip单片机是市场份额增长最快的单片机.他的主要产品是16C系列8位单片机,CPU采用 RISC 结构,仅 33条指令,运行速度快,且以低价位著称。

3.Scenix单片机:

Scenix单片机的I/O模块最有创意.I/O模块的集成与组合技术是单片机技术不可缺少的重要方面. Scenix单片机在I/O模块的处理上引入了虚拟I/O的概念. Scenix单片机采用了RISC结构的CPU,使CPU最高工作频率达50MHz.运算速度接近50MIPS.

4.NEC单片机:

NEC 单片机自成体系,以 8 位机 78K 系列产量最高,也有16 位,32位单片机.16位单片机采用内部倍频技术,以降低外时钟频率.

5.东芝单片机:

东芝单片机从4位到64 位,门类齐全.4 位机在家电领域仍有较大市场.8 位机主要有 870

4

系列,90系列等.该类单片机允许使用慢模式,CPU内部多组寄存器的使用,使得中断响应与处理更加快捷.

6.富士通单片机:

富士通也有 8 位,16 位和 32 位单片机,但是 8 位机使用的是 16 位的 CPU 内核.也就是说 8 位机与16位机指令相同,使得开发比较容易.8位机有名是MB8900系列,16位机有MB90系列.

7.Epson单片机:

Epson公司以擅长制造液晶显示器著称,故Epson单片机主要为该公司生产的LCD配套.其单片机的LCD驱动做的特别好.在低电压,低功耗方面也很有特色.

8.8051单片机

最早有Intel公司推出8051/31类单片机,也是世界上使用量最大的几种单片机之一.目前,8051类单片机主要有Philips,三星,华帮等公司接手.这些公司在保持与8051单片机兼容基础改善了8051的许多特点.提高了速度,降低了时钟频率,放宽了电源电压的动态范围,降低了产品价格.

9.Zilog单片机:

Z8 单片机是该公司的产品,采用多累加器结构,有较强中断处理能力.产品为OTP型,Z8 单片机的开发工具可以说是物美价廉.

10.Atmel单片机:

ATMEL公司是世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体制造公司,ATMEL公司的单片机在自动化工业控制宇航设备仪器仪表和各种消费类产品中有着广泛的应用前景.另外ATMAL的增强型51系列单片机目前在市场上仍然十分流行,其中AT89S51十分活跃.

11.TI 公司的 MSP430 系列单片机:

MSP430 系列单片机是由 TI公司开发的 16 位单片机。其突出特点是超低功耗,非常适合于各种功率要求低的场合。典型应用是流量计、智能仪表、医疗设备和保安系统等方面。由于其较高的性能价格比,应用已日趋广泛。

12.NS单片机:

COP8 单片机是美国国家半导体公司的产品,该公司以生产先进的模拟电路著称,能生产高水平的数字模拟混合电路.COP8 单片机内部集成了 16 位 A/D。

13.STC 单片机:

STC单片机完全兼容51单片机,并有其独到之处,其抗干扰性强,加密性强,超低功耗,可以远程升级,内部有 MAX810 专用复位电路,价格也较便宜。

5

14.三星单片机:

三星单片机有 KS51和KS57系列4位单片机,KS86和KS88系列8位单片机,KS17 系列 16位单片机和KS32系列32位单片机。

15.凌阳单片机:

中国台湾凌阳科技股份有限公司致力于8位和16位机的开发.。在系列芯片中相同的片内硬件功能模块具有相同的资源特点;不同型号的芯片只是对片内资源进行删减.其最大的特点就是超强抗干扰。

16.华帮单片机:

华帮单片机属于8051类单片机,它们的W78系列与标准的8051兼容,W77系列为增强型51,对8051的时序做了改进.同样时钟下速度快了不少.

17. SST 单片机:

美国 SST 公司推出的 SST89 系列单片机为标准的 51 系列单片机,它与8052系列单片机兼容.提供系统在线编程(ISP 功能).内部 flash 擦写次数 1 万次以上,程序保存时间可达 100年.

1.2.3步进电机

步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

目前,比较常用的步进电动机包括反应式步进电动机(VR)、永磁式步进电动机(PM)、混合式步进电动机(HB)等。步进电动机和普通电动机的区别主要就在于其脉冲驱动的形式,因此,步进电动机多和现代的数字控制技术相结合。但步进电动机在控制精度、速度变化范围、低速性能方面都不如传统闭环控制的直流伺服电动机;所以主要应用在精度要求不是特别高的场合。步进电机主要应用在数控机床制造领域,由于其不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以一直被认为是最理想的数控机床执行元件。

此外,步进电动机也存在许多缺陷;由于步进电机存在空载启动频率,所以步进电机可以低速正常运转,但若高于一定速度时就无法启动,并伴有尖锐的啸叫声;不同厂家的细分驱动器精度可能差别很大,细分数越大精度越难控制;并且,步进电机低速转动时有较大的振动和噪声。赞同

2.方案论述

本文采用单片机AT89C52作为系统的核心控制器件,通过光电传感器采集数据(数字信号),

6

经单片机根据接收到的信号来控制步进电机的转动方向及步数,并根据光线变化自动调整窗帘的开度。

2.1方案设计说明

考虑到自动窗帘的成本和巨大的市场空间,本文提出一种方案,应用光控原理工作,光亮在一定程度窗帘自动打开,光线变暗窗帘自动关闭,实现光控电动自动窗帘的设计,成本低,环保且方便使用。实现框图如图1所示:

光敏 电阻 采集 光强 电路 单片机 驱动电机芯片 步进电机正反转控制窗帘开闭

图1:本设计实现的方框图

该系统具有抗干扰能力强、结构简单、性能稳定,成本低廉,利于推广等特点,能够满足智能家居需求,具有良好的市场应用前景.

2.2方案选择说明

论文设计的核心控制器选用的是AT89C52单片机,光线采集选用光电传感器ULN3330。它输出单片机能读入数字信号,然后由L298驱动芯片驱动步进电机转动,调节其转动角度。电机选用比较容易进行角度调节的步进电机,单片机与步进电机之间的连接采用L298驱动器,它是一种两相和四相步进电机专用驱动芯片。 2.2.1 硬件方案选择说明

硬件电路绘图平台为PROTEL软件, 所用元器件在其上绘出,例如AT89C52微控制器、电机驱动芯片L298、42BYG系列步进电机、电阻、电容、按键、肖特基二极管、转换开关等。

逻辑框图如图2所示。

光电 传感器 单 片 机 步进电机 步进电机 驱动器

7

图2.系统硬件电路设计

○1光检测模块

选用集成光电传感器ULN3330,当器件顶部受到大于50 Lx[4]的光照时就输出高电平,负载上没有电流;当光照不足45 Lx时,器件就输出低电平,负载上有电流通过。

○2单片机模块

选用MCS-51单片机系列,AT89C52单片机。 ○3步进电机的驱动模块

选用步进电机专用驱动芯片L298,采用L298,通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正、反转、停止的操作。

○4步进电机选用

步进电机的步距角选用1.8度/步(四相电机)。 2.2.2软件方案设计说明(主控程序流程图)

软件开发平台为Keil软件,用C语言编写具体的程序代码。主控程序流程图如图3所示。

开始 光敏传感器ULN3330 数字信号送入单片机 是 高电压? 否 正转 反转 否 到达顶部? 是 到达底部? 是 否 停止 8

图3:主控程序流程图

3.硬件设计

3.1 光电传感器信号采集模块设计

3.3.1 光电传感器ULN3330介绍

光电传感器按输出信号有开关型和模拟型, 开关型用于转速测量、 模拟开关、 位置开关等;模拟型用于光电式位移计、 光电比色计等。 光电检测必须具备光源、 被测物和光电元件。

ULN3330是美国摩托罗拉公司生产的集成光电传感器。 它是一种新颖的光电开关, 将光敏二极管、 低电平放大器、 电平探测器、 输出功率驱动器和稳压电路等五部分都集成在了一块131.8(mm×mm)的硅片上, 形成一种具有驱动能力的光敏功率器件。 该器件可用于众多使用光敏器件的场合, 使光敏器件的应用变得更简单、 可靠。

ULN3330的内电路框图如图4所示。光敏二极管的光敏区域约为1.131.1(mm×mm),峰值波长为880 nm。 当它受到光照时,会产生微安数量级的光电流。低电平放大器是一种低噪声小电流放大器,能对微安级的光电流进行放大、电平位移,最后输出可供电平探测器进行鉴别的电平。 电平探测器是由施密特电路构成的,它具有约20%的“滞后”特性。 输出功率驱动器是NPN中功率晶体管,最大可通过100 mA的电流,可以直接驱动各种负载。 稳压电路可确保当电压在4~15 V范围内变化时电路也能稳定地工作。ULN3330接上电源与负载后, 不需要其他元件就能工作。当器件顶部受到大于50 Lx的光照时, 就输出高电平,负载上没有电流;当光照不足45 Lx时,器件就输出低电平,负载上有电流通过。

ULN3330各引脚说明 1脚USS----接地端 ○

2脚OUT PUT----输出端 ○

3脚UDD----+12V电源输入端 ○

图4 ULN3330内部电路原理图

9

表1 ULN3330电参数

3.1.2 传感器信号采集模块设计

由于光电传感器ULN3330直接输出数字信号,因而与单片机连接电路之间无需模数转换电路。

ULN3330控制电路基本思路:

光照强度 OUTPUT输出端

E>50LX 高电平1

E<45LX 低电平0

表2 光照强度与窗帘状态关系

窗帘开合状态 打开 关上 下面两图即为光电传感器ULN3330模块电路连接图: 1左图: ○

光电传感器的输出端○2OUTPUT接单片机的P3.0口,输出端的高低电平就送到单片机的口,电源端接+12V的直流电压,VSS端接地。

10

当外界逐渐变亮,光电传感器件顶部受到大于50 Lx的光照时,就输出高电平,经单片机后由驱动电路L298驱动步进电机正转,窗帘打开,当光电传感器件顶部光照不足45 Lx时,光电传感器件就输出低电平。经单片机后由驱动电路L298驱动步进电机反转,窗帘闭合。

2右图: ○

用开关模拟光电传感器,开关一端接单片机的P3.0口,另一端为接地端,单片机上电后其端口为高电平,因而当开关断开时,P3.0口即为高电平,窗帘打开。当开关闭合时,开关接地,P3.0口为低电平,窗帘闭合。

下图即为光电传感器ULN3330的电路连接图:

图5 ULN3330与单片机的连线图

11

图6 PROTUES中连线图

说明:要用PROTUES软件仿真,因其中器件库中没有光敏这块,用开关替代,左图为光电传感器在单片机上的连接图,右图为用开关代替光电传感器在与单片机的连接图。

3.2 单片机信号处理模块设计

3.2.1 MCS-51单片机的结构

单片机全称单片微型计算机,顾名思义,它指的是一种单硅片上集成的微型计算机主要功能部件的集成芯片。单片机的出现要归功与大规模集成电路技术的发展,就组织和功能而言,它如一个微型计算机系统,内部集成了中央处理器,随机数据存储器、只读程序存储器、定时器/计数器、输入输出(I/O)接口电路和串行通信接口等主要功能部件。这里的51单片机指的是Intel公司的MCS-51系列单片机,属于这一系列的单片机芯片有许多种,如8051/8052、8031/8032、8752/8751等,他们的基本组成、基本性能、指令系统都是相同的。 (1)MCS-51单片机的内部结构

单片机是在一块芯片中继承了CPU、RAM、ROM、定时/计数器和多功能I/O接口等计算机所需要的基本功能部件的大规模集成电路,又称MCU。51系列单片机内包含下列几个部件: 21个8为CPU。

21个片内振荡器及时钟电路。 24KB ROM程序存储器。 2128B RAM数据存储器。

2可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路。

12

232条可编程的I/O线(4个8位并行I/O接口)。 22个16位的定时/计数器。 21个可编程全双工串行接口。

25个中断源、2个优先级嵌套中断结构。

51系列单片机内部结构图如图7所示,各个功能部件由内部总线连接在一起。程序存储器部分用ROM代替即为8051/8052;用EPROM代替即为8751/8752;若去掉ROM即为8031/8032;用FLASH EPROM代替即为89C51/89S52。

基准频率源 脉冲技术输入

振荡器及定时电路4KB/8KB程序存储器128B/256B数据存储器2/3个16位定时器/计数器CPU64KB总线扩展控制可编程I/O接口可编程串行接口

外部中断 控制 并行I/O接口 串行输入 串行输出

图7 MCS-51单片机内部结构框图

(2)引脚功能

有总线扩展的51单片机有44个引脚的方形封装形式和40个引脚的双列直插式封装形式,本文用40个引脚的双列直插式封装形式, 40个引脚封装的引脚图如图8,各引脚的功能说明如下。 AT89C52的引脚:

13

A T89C52单片机40脚

G ND 2

XTAL1, XTAL2 2 RESET 1 EA/Vpp 1 ALE/PROG 1 PSEN 1 P0.0—P0.7 8 P1.0—P1.7 8 P2.0—P2.7 8 P3.0—P3.7 8

图8 AT89C52单片机引脚图

2GND:接地端。 2VCC:电源端,接+5V。

2XTAL1:接外部晶体的一个引脚。CHMOS单片机采用外部时钟信号时,外部时钟信号由此引脚接入。

2XTAL2:接外部晶体的一个引脚。HMOS单片机采用外部时钟信号时,外部时钟信号由此引脚接入。

2RST:①复位信号输入。②VCC掉电后,此引脚可接备用电源,低功耗条件下保持内部RAM中的数据。

2ALE/RPOG:①地址锁存允许。当单片机访问外部存储器时,该引脚的输出信号ALE用于锁存P0端口的低8位地址。ALE输出的频率为时钟振荡频率的1/6。②对8751单片机片内EPROM编程时,编程脉冲由该引脚接入。

2PSEN:程序存储器允许。输出读外部程序存储器的选通信号。取指令操作期间,PSEN的频率为振荡频率的1/6;但若此期间有访问外部数据存储器的操作时,则有一个机器周期中的PSEN信号将不出现。

2EA/VPP: ①EA=0,单片机只访问外部程序存储器。对8031单片机此引脚必须接地。EA=1,单片机访问内部程序存储器。对于内部有程序存储器的8XX51单片机,此引脚应接高电平,但若地址值超过4KB范围,单片机将自动访问外部程序存储器。②在8751单片机内EPROM编程期

14

间,此引脚接入21V编程电源VPP。

2P0.0~P0.7: P0数据/低八位地址复用总线端口。具有双重功能:①可以作为输入/输出口,外接输入/输出设备。②在有外接存储器和I/O接口时常作为低8位地址/数据总线,即低8位地址与数据线分时使用P0口。此低8位地址由ALE信号的下跳沿使它锁存到外部地址锁存器中,尔后,P0口出现数据信息。

2P1.0~P1.7:P1静态通用端口。具有单一接口功能,P1口每一位都能作为可编程的输入或输出口线。

2P2.0~P2.7:P2高八位地址总线动态端口。具有双重功能:①作为输入/输出口使用,外接输入/输出设备。②在有外接存储器和I/O接口时,作为系统的地址总线,输出高8位地址,与P0口低8位地址一起组成16位地址总线。对于内部无程序存储器的单片机来说,P2口只作为地址总线使用,而不作为I/O接口。

2P3.0~P3.7:P3双功能静态端口,①可以作为输入/输出口,外接输入/输出设备。②作为第二功能使用

时,每一位功能定义如表3所示

端口引脚 端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入线) TXD(串行输出线) INT0(外部中断0输入线) INT1(外部中断1输入线) T0(定时器0外部计数脉冲输入) T1(定时器1外部计数脉冲输入) WR(外部数据存储器写选通信号输出) RD(外部数据存储器读选通信号输出) 表3 P3口第二功能说明 (3)单片机本身的微小电路

15

图9 单片机的微小系统连线图

上图为单片机的小系统,包含片内振荡电路和复位电路。

片内振荡电路:通常外接一个晶振,两个电容, 电容值取值范围15~45pf,取值范围晶振值0~24MHZ。时钟电路为单片机产生时序脉冲,单片机所有运动与控制过程都是在统一的时序脉冲驱动下进行的,时钟电路好比人的心脏,如果人的心脏停止工作,则人就没有生命了,同样,如果单片机的时钟电路停止工作,那么单片机也就停止运行了。

复位电路:当振荡器运行时,在此引脚上出现2个机器周期以上的高电平使单片机复位,一般在此引脚与VSS之间接一个下拉电阻,与VCC引脚之间接一个电容,单片机复位后,从程序存储器的0000H单元执行程序,并初始化一些专用寄存器为复位状态值。本文中单片机复位电路的连接如上图:外接一个10μf电容和10KΩ电阻,分为上电复位电路和手动&上电复位电路,本文用的是手动&上电复位电路。

3.3 执行单元模块设计

3.3.1 驱动电机部分&&行程开关 (1)L298芯片介绍

L298 为意大利SGS半导体公司生产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同

16

时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准 TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号, L298 之接脚如图9 所示, OUTl、OUT2 和OUT3、OUT4 之间接步进电机;input1~input4 输入控制电位来控制电机的正反转;Enable 则控制电机停转。本文主要采用L298驱动芯片,通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作。

图10 L298内部逻辑图

输入引脚与输出引脚的逻辑关系表(ENB引脚与ENA引脚同):

L298功能引脚模块 ENA 0 1 1 1 1 IN1 3 1 0 1 0 IN2 3 0 1 1 0 运转状态 停止 正转 反转 刹停 停止 表 4 L298功能引脚模块

17

图11 L298引脚图

(2)芯片(采用powerso20封装)引脚说明:

+5V:芯片电压5V。功率电源电压,此引脚与地必须连接100nF电容器

VCC:电机电压,最大可接50V。逻辑电源电压。 此引脚与地必须连接100nF电容器 GND:共地接法。

EnA,EnB:接控制使能端高电平有效,ENA、ENB分别为 IN1和IN2、IN3和IN4的使能端。 IN1~ IN4:输入控制电平,控制电机的正反转,输入端电平和输出端电平是对应的。 OUT1~ OUT4:输出端,接电机。

L298需要从外部接两个电压,一个是给电机的,另一个给L298芯片的。

图12 双四拍模式波形图

(3)位置开关(行程开关)

步进电机正转或反转的位置的末端分别安装行程开关,当窗帘运动到末端位置时会碰到行程开关,使开关的常开触头闭合,一旦常开触头闭合,电机就停止正转或反转。当天亮或天暗时,步进电机会反方向运动,开关的障碍物去除,常开触头恢复,由此实现步进电机的末端停止控制,没有碰到常开触头,电机会一直运转,这样也可使窗帘拉到极限位置,很好的保证了室内私密性的性能。

18

位置开关(又称限位开关)的一种,是一种常用的小电流主令电器。利用机械运动部件的碰撞使其出头动作来实现接通或断开控制电路,达到一定的控制目的,用以控制其行程、进行终端限位保护。通常,这类开关被用来限制机械运动的位置或行程,使运动部件暗特定的位置或行程自动停止、反向运动、变速运动或自动往返运动等。

在电气控制系统中,位置开关的作用是实现顺序控制、定位控制和位置状态的检测。用于控制机械设备的行程及限位保护。一般限位开关由操作头、触点系统和外壳组成。

在实际生产中,行程开关被安装在预先定好的位置,当安装在机械运动部件上的模块撞击行程开关时,行程开关的触点动作,实现电路的切换,所以说,行程开关是一种根据运动部件的行程位置而切开电路开关,其作用原理与按钮相似。

行程开关可以安装在相对静止的物体(如固定架、门框等,简称静物)上或者运动的物体(如行车、门等,简称动物)上。当动物接近静物时,开关的连杆驱动开关的接点引起闭合的接点分断或者断开的接点闭合。由开关接点开、合状态的改变去控制电路和机构的动作

本文选用的是直动式行程开关。

直动式行程开关动作原理同按钮类似,所不同的是:一个是手动,另一个则由运动部件的撞块碰撞。当外界运动部件上的撞块碰压按钮使其触头动作,当运动部件离开后,在弹簧作用下,其触头自动复位。

1:推杆 2&4:弹簧 3:动断触点 5:动合触点

图13 直动式位置开关示意图 3.3.2 步进电机选用

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。本文选用的是混合式步进电机,混合式步进电机是混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度,五相步进角一般为0.72度,这种步进电机的应用最为广泛。 (1)表5步进电机动态指标:

19

步距角精度 步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。 失步 失调角 电机运转时运转的步数,不等于理论上的步数。称之为失步。 转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。 最大空载起动频率 最大空载的运行频率 运行矩频特性 电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。 电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。 电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。如下图所示: 其它特性还有惯频特性、起动频率特性等。 电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。 要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。 电机的共振点 步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。 电机正反转控制 对于四相步进电机来说,电机绕组通电时序为AB-BC-CD-DA时为正转,通电时序为DA-CA-BC-AB时为反转。 (2)步进电机控制波形(PWM信号)

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图11.a、b、c所示:

a. 单四拍 b. 双四拍 c.八拍

图11.步进电机工作时序波形图

20

(3)本文中的步进电机用42BYG(250)系列混合式步进电动机. 表6 步进电机规格

驱动方式 励磁方式 转向 额定电流(单相) 额定电压 步距角 绝缘等级 恒流斩波驱动 2相励磁(四相四拍运行).可正反向旋转 按AB-BC-CD-DA顺序通电 0.4A DC 12V 1.8°,四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步) B级绝缘 表7 步进电机参数

工作条件 绕组直流电阻(20℃) 绕组电感 定位转矩 保持转矩 最大空载起动频率 最大空载运行频率 温升(两相同时通以额定电压12V) 步距角精度 转动惯量 重量 轴向间隙 径向间隙 轴伸径向图跳动 安装配合面垂直度 安装配合面同心度 1.8°±0.09° 38g.cm2 0.20Kg REF ≤0.08mm ≤0.02mm ≤0.025mm ≤0.03mm ≤0.05mm 环境温度:-24~60℃;相对湿度: 90%MAX;安装位置:轴水平或垂直安装 30Ω±10% 32mH±20% 11.8mN.m REF ≥210mN.m(I=0.4A) ≥2000pps ≥3000pps ﹤80 K; 电机定子铁芯与接线端子间冷态绝缘电阻应大于100MΩ(用DC500V兆欧表测量); 3.3.3 执行单元模块电路连接 (1)电机驱动电路连接

21

本文主要采用L298,通过单片机的I/O输入改变芯片控制端的电平,改变绕组脉冲信号的顺序即可对电机实现正反转。

L298的输入引脚与单片机的P1.0~P1.3口分别相连,IN1~IN4引脚从单片机输入控制电平,控制步进电机的正反转,OUT1~OUT4分别接步进电机的四个相线,ENA、 ENB接控制使能端控制步进电机的转、停。当ENA、 ENB同时接高电平时L298芯片是工作的,即使能端有效,控制IN1~IN4引脚电平的频率即可控制步进电机的转速。芯片的输出引脚分别接2个续流二极管,起到保护电路作用。芯片的VCC和VSS引脚与地必须连接100nF电容器,图中0.1μF和100μF电容并联即为100nf。

对本自动系统的设计还必须满足用户想要窗帘停的某一位置停下来的需求,为此设计了步进电机停止开关,为简化程序,更加利用L298芯片本身的功能,本文采用了一个单刀双掷开关SW1,开关一端接使能端ENA、 ENB,另两端一段接+5V的电源,为芯片使能端提供高电平,另外一端接地,限制使能端的使用,当开关接到地时,两个使能端接地,L298芯片不再起作用,电机停止运动,由此达到停止的目的。

电机控制窗帘的两个极限位置------窗帘的两端,要能使电机停下来,这一问题的解决有两种方案,一种是计算步进电机在窗帘开合长度中所要转的圈数,根据步进电机本身的步长计算电机转数,写入程序里进行控制,还有一种是利用行程开关进行控制,当窗帘走到极限位置时会碰到行程开关,使行程开关闭合,这里的行程开关是接地和使能端的,开关闭合就是关闭使能端,电机停止转动,分析比较这两种方案,认为后一种较为简便且使居室的严密性得到保证,因为受限于步进电机本身的精确度和丢步失步现象,电机难免不会在某一时刻出现丢步,是窗帘在还没完全拉合的状态下停止。

行程开关控制步进电机极限位置停止:天亮时,光敏传感器接受到高电平,依程序所设步进电机正转,顺时针转动,窗帘以某一速度被慢慢拉开,走到极限位置时,窗帘碰到右端的行程开关SW3,开关闭合使能端关闭,电机停止转动。当天暗时,光敏传感器输出低电平,电机要逆时针转动了,窗帘打开,障碍物去除,开关断开,使能端打开,电机反转,同样电机反转碰到左边的行程开关SW4时,开关闭合,使能端关闭,电机停止转动。

鉴于上述考虑,我的设计电路图如下所示:

22

图12 L298控制电机电路

图13 行程开关电路部分

4软件设计 4.1程序流程

51单片机的开发除了需要硬件的支持外,同样离不开软件。CPU真正可执行的是机器码,用汇编语言或C语言等高级语言编写的源程序必须转为机器码才能被执行,转化方法有手动汇编和机器汇编两种,前者已很少使用,机器汇编是通过汇编软件将源程序转换为机器码的编译方法。这种汇编软件称为编译器,keil是目前最流行的51单片机开发软件,

23

keil提供了一个集成开发环境uVision,它包括编译器、宏汇编、连接器、库管理、和一个功能强大的仿真调试器。这样,在开发应用软件的过程中,编辑、编译、汇编、连接、调试等各个阶段都集中在一个环境中。先用编译器编写程序、接着调用编译器进行编译,连接之后即可直接运行。这样免去了过去先用编译器进行编译,再退出编辑状态进行编译,调试后又要调用编译器的反复过程。因此可以缩短开发周期。

因此我所选用的软件开发平台为Keil软件,用C语言编写具体的程序代码。主控程序流程图如图14所示。

开始 光敏传感器ULN3330 数字信号送入单片机 是 高电压? 否 正转 反转 否 到达顶部? 是 到达底部? 是 否 停止 图14:主控程序流程图 4.2 程序设计

#include

#define uchar unsigned char #define uint unsigned int

uchar code ffw[]={0xfc,0xf6,0xf3,0xf9 }; //2相励磁正转表

24

uchar code rev[]={0xf9,0xf3,0xf6,0xfc }; //2相励磁反转表 sbit k1=P3^0; //定义K1开关 uint m=1;

void delay(uint x) //延时函数 { uchar i;

while(x--) //i=x即延时约x毫秒 for(i=0;i<60;i++); }

/********以下是步进电机正转函数********/ void setp_motor_ffw(uchar n) { uchar i,j;

for(i=0;i<5*n;i++) {

for(j=0;j<4;j++) {

P1=ffw[j]; //取正转数据

delay(250); //转一个角度停留的时间,可调节转速

//转n圈

} } }

/********以下是步进电机反转函数********/ void setp_motor_rev(uchar n) { uchar i,j;

for(i=0;i<5*n;i++) //转n圈 {

for(j=0;j<4;j++) {

//if(k2==0) break;

25

P1=rev[j]; //取反转数据

delay(250); //转一个角度停留的时间,可调节转速

} } }

/* 主程序 */ void main() {

while(m--) { if(k1==1)

{ delay(10); if(k1==1) {

setp_motor_ffw(3);

//调用电机正转函数 //K1送入高电平 //电机转m圈

}

}

//K1送入低电平

else {

delay(10);

setp_motor_rev(3); //调用电机反转函数 } } }

5. 总体设计

随着社会的发展,人们对生活追求,各式各样的窗帘出现。窗帘不仅具有遮挡作用 ,还具有美观性,给大家带来美的视觉享受。人们对居室的舒适度和自动化程度要求越开越高,为了满足生活的需要,通过以往的人为的通过拉动使窗帘开与闭则就比较费事,也易损坏。因此,设计一种能够控制居室窗帘的检测自动控制装置,能够在夜间关闭,白天打开,具有很强的实用性。

本文设计通过光电传感器采集数据 (光强度),反映出光信号变化,然后将光电元件光数字信

26

号输送到单片机中。光电检测方法具有精度高、反应快、非接触等特点,且可测参数多,传感器的结构简单,形式灵活多样。该设计通过检测光线的强弱,并根据光线的强弱自动将窗帘打开和关闭,实现了自动控制的功能,极大地方便了人们的日常生活,并在生活中得到了广泛的应用。

PROTEL总电路图&&PROTUES仿真图

图15 基于单片机的室内光线自动控制系统总体原理图

上图是我的设计完整原理图,本文主要光敏传感器ULN3330,它是一个开关型的光电传感器,直接输出数字信号,OUTPUT端根据外部光照度的变化输出相应的数字信号------高电平或低电平,ULN3330的其他相应引脚分别接地或电源,然后把OUTPUT端接单片机的P3.0端口。

单片机本身包括复位电路和振荡电路,片内振荡电路:通常外接一个晶振,两个电容, 电容值取值范围15~45pf,取值范围晶振值0~24MHZ;复位电路:当振荡器运行时,在此引脚上出现2个机器周期以上的高电平使单片机复位,一般在此引脚与VSS之间接一个下拉电阻,与VCC引脚之间接一个电容;

驱动步进电机芯片采用L298,通过单片机的I/O输入改变芯片控制端的电平,改变绕组脉冲信号的顺序即可对电机实现正反转。L298的输入引脚与单片机的P1.0~P1.3口分别相连,IN1~IN4引脚从单片机输入控制电平,控制步进电机的正反转,OUT1~OUT4分别接步进电机的四个相线,ENA、 ENB接控制使能端控制步进电机的转、停。当ENA、 ENB同时接高电平时L298芯片是工作的,即使能端有效,控制IN1~IN4引脚电平的频率即可控制步进电机的转速。芯片的输出引脚分别接2个续流二极管,起到保护电路作用。芯片的VCC和VSS引脚与地必须连接100nF

27

电容器,图中0.1μF和100μF电容并联即为100nf。

对本自动系统的设计还必须满足用户想要窗帘停的某一位置停下来的需求,为此设计了步进电机停止开关,为简化程序,更加利用L298芯片本身的功能,本文采用了一个单刀双掷开关SW1,开关一端接使能端ENA、 ENB,另两端一段接+5V的电源,为芯片使能端提供高电平,另外一端接地,限制使能端的使用,当开关接到地时,两个使能端接地,L298芯片不再起作用,电机停止运动,由此达到停止的目的。

行程开关控制步进电机极限位置停止:天亮时,光敏传感器接受到高电平,依程序所设步进电机正转,顺时针转动,窗帘以某一速度被慢慢拉开,走到极限位置时,窗帘碰到右端的行程开关SW3,开关闭合使能端关闭,电机停止转动。当天暗时,光敏传感器输出低电平,电机要逆时针转动了,窗帘打开,障碍物去除,开关断开,使能端打开,电机反转,同样电机反转碰到左边的行程开关SW4时,开关闭合,使能端关闭,电机停止转动。

图16 基于单片机的室内自动光线控制仿真图

5.2 主要元器件清单:

器件名称 AT89C52微控制器 电机驱动芯片L298 42BYG型号步进电机 电阻、电容、按键、肖特基二极管等 器件数量 1片 1片 1个 若干 表8 主要元器件清单

6.结论

28

我经过将近四个月的努力,终于完成了基于单片机的室内自动光线系统的设计,虽然有部分功能尚未实现,但总体上完成了一个从硬件到软件完整的设计的流程。

论文设计的核心控制器选用AT89C52单片机,光线采集选用光电传感器ULN3330。它输出单片机能读入数字信号,然后由L298驱动芯片驱动步进电机转动,调节其转动角度。电机选用比较容易进行角度调节的步进电机,单片机与步进电机之间的连接采用L298驱动器,它是一种两相和四相步进电机专用驱动芯片。

该系统经过多次改进,参考了现在实际电路通用的做法,在现有技术的状态下各项指标已经达到技术要求,但由于自身水平有限,电路中还有些技术方面还可以进一步加强。如电路可以进一步调试其精确度和灵敏度,通过多只光敏电阻更加准确的控制窗帘升降。通过此次毕业设计,使我进一步熟悉MCS-51单片机和步进电机的工作原理及应用,对于C51程序设计的编写也较熟练了,锻炼了独立思考与勤快耐心的能力。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不不足之处,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,将使我终身受益。

7. 致谢

在此要感谢我的指导老师颜丙生老师对我悉心的指导,感谢老师们给我的帮助。颜老师在整个系统设计的过程中给了我很大的帮助,在论文任务制定时,他不仅肯定了我们项目的大方向,而且又帮我具体分析设计的各个模块,这在我对室内自动光线控制这个具体目标的设计时起到了不可估量的作用,受能力限制,在论文提纲制定时,我的思路不是很清晰,经过老师的指导,我的设计思路逐渐明晰。完成初步方案论证后,颜老师认真查看了我的各个方案,指出了方案中存在的很多问题。在软件仿真环节,我遇到了些许困难,每每请教老师时,颜老师都很负责的耐心解决了我无法解决的问题,之后在多次修改论文的过程中他以极大的耐心帮助修改我的论文,使我深受感动。同时感谢所有曾经教导过我、帮助过我的老师,正是因为他们多年来孜孜不倦的教诲才使得我的专业技能有很大的提高。最后要感谢在整个论文写作过程中帮助过我的每一位校友、宿友!

参考资料

[1]光敏窗帘自动控制器设计,陈莉明,彭芳芳,内江科技2008年第三期。

29

[2]自动窗帘控制系统设计,孙勇,杨文月,赵宇新,电子技术应用。

[3]光电传感器在自动窗帘中的应用,刘芹,秦魏,赵继聪,科技向导2011年第08期。 [4]余瑞芬.传感器原理[M].北京:航空工业出版社,1995 [5]康华光.电子技术基础,高等教育出版.2006.

[6]沈聿农.传感器及应用技术,化学工业出版社.2002. [7]戴维、戴卫恒编著 51单片机C语言应用程序设计实例精讲 北京:电子工业出版社 2006 [8]孙余凯 吴鸣山 项绮明编著 传感器应用电路300例 北京:电子工业出版社 2008.3 [9]朱云芳 江桦 翟旭的编著 PROTEL99SE电路设计与制板 北京:机械工业出版社 2007.11 [10]刘建清编著 轻松玩转51单片机C语言 北京:北京航空航天大学出版社 2011.3

30

[2]自动窗帘控制系统设计,孙勇,杨文月,赵宇新,电子技术应用。

[3]光电传感器在自动窗帘中的应用,刘芹,秦魏,赵继聪,科技向导2011年第08期。 [4]余瑞芬.传感器原理[M].北京:航空工业出版社,1995 [5]康华光.电子技术基础,高等教育出版.2006.

[6]沈聿农.传感器及应用技术,化学工业出版社.2002. [7]戴维、戴卫恒编著 51单片机C语言应用程序设计实例精讲 北京:电子工业出版社 2006 [8]孙余凯 吴鸣山 项绮明编著 传感器应用电路300例 北京:电子工业出版社 2008.3 [9]朱云芳 江桦 翟旭的编著 PROTEL99SE电路设计与制板 北京:机械工业出版社 2007.11 [10]刘建清编著 轻松玩转51单片机C语言 北京:北京航空航天大学出版社 2011.3

30

本文来源:https://www.bwwdw.com/article/5h57.html

Top