资源描述
基于单片机的智能晾衣架控制系统的设计与实现董阳通信工程专业通信1301班学号130250004指导教师李丽芬副教授摘要现在都市的生活越来越忙,很多人都没有时间和精力来管理一些细节上的东西,比如,在合适的阳光温度时间内晾晒衣服。针对这来问题我们开始了研究,通过对智能晾衣架控制系统的设计与实现的不断探究,得到了比较好的设计思路。通过使用DHT11温湿度传感器、光敏电阻等元件,对环境的变化进行检测,然后再将测量数据传递给STC89C51单片机,单片机的核心板再对所测量的温湿度和光线的强弱进行判别,驱使电机进行正转或者反转,达到智能晾晒衣物的目的。在温湿度检测方面使用的是DHT11传感器模块,该模块将测量得到的数据与设定值进行对比,如果湿度超越过设定值,系统会默认回收晾衣架,发送脉冲信号来控制电机收回晾衣架。针对光照强度方面的检测我们选择使用光敏电阻,光照强度的改变会使电阻阻值产生相应的变化,单片机将变化后的阻值与设定值进行对比,如果超过设定值,则控制电机进行转动,使衣架收回,从而实现智能晾衣服的目的。关键词:智能STC89C51DHT11 Design and Implementation of Intelligent Clothes Hanger Control System Based on Single Chip MicrocomputerAbstractNow the city life more and more busy, a lot of people do not have the time and energy to manage some of the details, for example, in the appropriate temperature of the sun drying clothes. In order to solve this problem, we started the research, through the intelligent clothes hanger control system design and implementation of continuous research, get a better design ideas. By using the DHT11 temperature and humidity sensor, photosensitive resistance and other components, the change of environment were detected, and then the measurement data are transmitted to the STC89C51 microcontroller core board microcontroller to measure the temperature and humidity and light intensity discrimination, motor driven forward or reverse, achieves the intelligent clothes drying purpose. Used in the detection of the temperature and humidity DHT11 sensor module, the module will be measured data are compared with the set value, if the humidity is beyond the set value, the system will default recovery racks, send pulse signal to control the motor back racks. Similarly, the photosensitive resistor for detecting the light intensity of the light intensity, the changes will cause the resistance change, will change the resistance compared with the set value, if it exceeds the set value, then control the motor to rotate, the clothes hanger to recover, so as to achieve the purpose of intelligent clothes.Key words: intelligent STC89C51 DHT11目录前言1第1章绪论2第1.1节选题背景2第1.2节 研究方法及目的2第1.3节研究意义3第2章系统总体设计4第2.1节总系统设计框图4第2.2节系统组成概述4第2.3节控制系统核心选择4第2.4节湿度检测模块选择5第2.5节遥控电路设计5第2.6节遥控发射模块参数6第2.7节光强检测模块选择7第2.8节电机模块选择7第.9节 系统设计要求8第3章控制系统硬件设计9第3.1节单片机的介绍及其工作系统设计9第3.2节温湿度传感器电路14第3.3节光敏检测电路17第3.4节直流电机驱动电路19第4章控制系统设计21第4.1节程序流程图21第4.2节程序设计22第4.3节系统初始化22第4.4节温湿度检测25第5章系统整体调试27第5.1节系统仿真演示28第5.2节 硬件实物的焊接33结论37附录39参考文献41致谢42 前言科技是第一生产力科技的进步推动着人类生活的进步,人们对生活也开始不断的追求智能化,这种形式促使各国也在家具智能方面开始了深入的研究。人工智能化的产生以及运用使人们对家电、照明、窗帘管理控制和防盗报警等智能化方面的研究更进了一步,促使人们生活向全面人工智能化也更近了一步。但是,在各项人工智能的家具中针对晾衣工具这个方面的研究我国并没有得到很大中的重视和研究,甚至可以用没有什么改变来形容,所以其市场研究价值很高,十分利于我们开发研究。现在在我国大多数普通用户生活中,很少会存在能够随着外界环境改变而硬件自身够功进行变化的智能晾衣架,从而达到自动收缩或者伸展晾衣架的目的。常见的普通晾衣架在实际生活活中并不是很人性化帮助人们生活便利,并且很多常见的问题不能够解决。例如,我们工作不在家时,突然下起雨,在外面晾洗的衣服不能够及时回收而导致重洗;晚上因为加班不能够回家,晾晒的衣服也不能够及时回收造成损失,并且在酷热夏日,我们因为工作繁忙的原因通常会导致把洗好的衣物晾晒在室外一整天,而不能及时收回。假设我们不在家,但是在夏天的正午时候不能够把衣物回收到屋子里,导致衣物暴晒,这样的现象在我们平时的生活中最为常见,所以普通的晾衣架对我们的衣物伤害极大。虽然在国际上有很多大的厂家对智能晾衣架有一定的研究,但是他们所研究量产的智能晾衣架大都是半智能化的,用户只能经过电路按键等控制方式使衣物达到垂直升降晾晒衣服的目的。基于这一现状我的设计思路是使用DHT11温湿度传感器和光传感器来检测室外的天气温度和光照的情况,然后得到当下天气信息,这些信息再由传感器传输到单片机,单片机再通过脉冲信号使电机进行转动,进而达到智能晒衣物的目的。第1章绪论第1.1节选题背景科技是第一生产力科技的进步推动着人类生活的进步,人们对生活也开始不断的追求智能化,这种形式促使各国也在家具智能方面开始了深入的研究。人工智能化的产生以及运用使人们对家电、照明、窗帘管理控制和防盗报警等智能化方面的研究更近了一步,促使人们向全面人工智能化也更近了一步。但是,在各项人工智能的家具中针对晾衣工具这个方面的研究我国并没有得到很大中的重视和研究,甚至可以用没有什么改变来形容,因此智能晾衣架也有很大发展空间,其市场研究价值很高,并且渐渐的这种生活模式将会吸引社会的很大关注。第1.2节 研究方法及目的1.2.1研究目的现在在我国大多数普通用户生活中,很少会存在能够随着外界环境改变而硬件自身够功进行变化的智能晾衣架,从而达到自动收缩或者伸展晾衣架的目的。常见的普通晾衣架在实际生活活中并不是很人性化帮助人们生活便利,并且很多常见的问题不能够解决。例如,我们工作不在家时,突然下起雨,在外面晾洗的衣服不能够及时回收而导致重洗;晚上因为加班不能够回家,晾晒的衣服也不能够及时回收造成损失,并且在酷热夏日,我们因为工作繁忙的原因通常会导致把洗好的衣物晾晒在室外一整天,而不能及时收回。假设我们不在家,但是在夏天的正午时候不能够把衣物回收到屋子里,导致衣物暴晒,这样的现象在我们平时的生活中最为常见,所以普通的晾衣架对我们的衣物伤害极大。虽然在国际上有很多大的厂家对智能晾衣架有一定的研究,但是他们所研究量产的智能晾衣架大都是半智能化的,用户只能经过电路按键等控制方式使衣物达到垂直升降晾晒衣服的目的,但是这样的设计并不能完美的晾晒衣服并且让其对衣服无损伤,通过用单片机为核心的设计可以很好解决这个问题。整个系统的工作过程为,单片机经过DHT11温湿传感器来获取当下天气情况,当室外的温度或湿度为系统设定数值的时候,单片机会发送信号驱使电动机进行转动,来完成智能晾晒衣服目的。另外,在转动的过程中当传动杆接触到位置开关时,电机就会中止转动;在雨过天晴的时候阳光会比较充足,此时光敏电阻会因为光照变化的原因使自身阻值产生变化,并将其变化信息发送给单片机,单片机在程序的指引下对光照强度进行判断,然后发送脉冲信号给电机,使电机进行转动进而实现智能晾衣。 1.2.2研究方法(1)文献法。由于本研究将会触及到很多单片机方面的绘图以及变成等方面的知识和技术,为了能够更好的完成研究,所以需要对大量的期刊杂志等书籍进行浏览、整理和分析。这样做能够快速而且有效的获得大量对本研究由有利的信息和材料,因此成为研究方法不可缺少的部分。(2)观察法。合理的观察对研究有很大的帮助,这种研究方法具有很强的目的性和计划性,在实验中往往能达到意想不到的效果,从而开辟人们的思路,招致新的发现,因此也成为研究方法不可缺少的部分。第1.3节研究意义按照现阶段的晾衣架开发情况,本设计方法能够把人们从原始的晾衣操作方法中解脱出来,实现智能生活化。这种智能晾衣架除了人工智能外还有其他的优点,例如占地面积相对其他的晾衣架而言较小,并且它的操作方法也特别简单,能够通过遥控来实现人工伸展和收回,它的外观也有很高的美观性。相对其他晾衣架而言这种设计方式的晾衣架大大避免了那些操作麻烦方面的问题。它的工作方式是,各个相应的检测模块在获取到这个时候的温湿度或者光的强度后会把自己获取的东西发送给单片机,单片机会发送相对应的信号来驱使电动机进行转动,实现晾衣服的功能。第2章系统总体设计第2.1节总系统设计框图本设计使用STC89C51单片机,同时再通过温湿度传感器和光敏电阻等装置来配合来检测外界的环境变化,把他们自己获取的信息发送给单片机,再使单片机来驱使电机转动,完成智能晾衣功能,对于智能晾衣架的总体设计框图如图2.1所系统总体控制框图示:温湿度传感电路晾衣架执行机构电机驱动单片机最小系统光敏传感电路报警电路图2.1 系统总体控制框图第2.2节系统组成概述系统主要由:控制系统核心、湿度检测模块、光强检测模块、电机驱动模块、直流电机、拨码开关模块和显示模块。控制系统核心作为系统的控制核心和数据处理中心;湿度检测模块用来采集环境湿度信号;光强检测模块用来采集环境光强信号;电机驱动模块用来功率放大驱动电机正反转,进而带动晾衣架做伸出或缩回运动;拨码开关模块是用来设置系统工作模式,并在手动工作模式下,设置晾衣架的伸出或缩回;显示模块用来显示湿度数据、光强情况、晾衣架状态等内容。第2.3节控制系统核心选择方案一:采用STC89C51作为系统的控制器。STC89C51是一种性能好、功耗低的8位结构的微处理器,其内部配置了系统可编程的8K的 Flash存储器3。该芯片性能稳定、抗干扰能力强;并且能够灵活的编程和设计,在很多的工业控制现场和嵌入式系统中都可以非常有效的担任控制任务。方案二:采用FPGA作为系统的主控制器。FPGA的功能非常强大,对于很多具有复杂逻辑功能的控制系统均可作为系统的核心;并且开发的系统具有较小的体积、极高的集成度、极强的稳定性、丰富的硬件资源、扩展易实现、处理速度快,通常用于控制功能复杂、控制要求较高的控制系统中,但该控制器价格很高、编程较单片机复杂很多。本系统逻辑功能简单,仅仅需要读取传感器和拨码开关信号、控制电机、控制显示屏,对控制器的数据处理能力要求不是很高,STC89C51单片机完全能达到控制要求,从性价比方面考虑选择方案一。第2.4节湿度检测模块选择方案一:采用DHT11传感器采集湿度,该传感器集测温、测湿度为一体,输出为数字量信号,数字量信号以经内部校准。传感器采用专业的集成数字传感器技术,其具有极高的稳定性和极强的可靠性4。传感器内部设置了一个感温元件和一个感湿元件,输出为总线形式,可直接与单片机相连。该传感器不仅性能十分优越,价格也非常低廉,在很多低成本控制系统中被应用。方案二:采用HR202电阻型湿度传感器,HR202湿敏电阻其核心感湿元件是一种新型的高分子材料,该材料具有很宽的感湿范围,并且常见稳定有效,可广泛的应用在仓库、大棚等需要检测、控制湿度的系统中,但该传感器不能直接通过直流驱动,采集信号要通过A/D转换,因此电路设计较为复杂。综合考虑性能和读取方式,DHT11虽然编程较为复杂,但其外围电路简单,可通过单片机I/O口直接读取,所以选择方案一作为系统的湿度检测模块。第2.5节遥控电路设计对于遥控方面所采用的模块是SC2262和SC2272,它们用于遥控和接收,其中遥控电路图如图2.2所示:图2.2遥控电路遥控器设计部分将使用12V电池对其进行供电,当按下按键后电池的正极才能够使其芯片和发射模块的电源端相互连通并发出信号,之所以有这样设计是为了能够更好地确保电池的耐用。其中接收部分的电路图如2.3接收电路所示: 图2.3接收电路接收电路输出端经过NPN三极管9013将输出的高电平转变成低电平,这样的设计方便了单片机能够更好的识别低电平变动。第2.6节遥控发射模块参数 1、通讯方式:调幅AM 2、工作频率:315MHZ/433MHZ 3、频率稳定度:75KHZ 4、发射功率:500MW 5、静态电流:0.1UA 6、发射电流:350MA 7、工作电压:DC 312V第2.7节光强检测模块选择方案一:采用光敏电阻采集光强。光敏电阻的阻值受环境光强影响,随光强不同,阻值也会随之而改变。通过将电阻值转化成电压信号、再经电压比较器比较得到电平信号,得知外部环境光照的强弱15。光敏电阻价格极为便宜,只需简单的处理电路即可达到系统的要求。方案二:采用GY-30采集光强。GY-30是一款数字光强检测模块,采用ROHM原装BH单片机可以直接读取,不需要开发人员进行标定。该方案电路简单、可以采集准确的光照强度,但编程非常复杂。综合考虑,系统中只要对光的强弱做作一个区分,并不需要采集出准确的数值,从程序编写的难以程度上考虑,选择方案一作为系统光强检测模块。第2.8节电机模块选择方案一:利用L298N芯片驱动电机,该芯片是专用的电机驱动芯片。每个L298中配置了两个H桥电路,可能够对两个小型直流电机进行正反转运行控制。芯片的使能端直接接在逻辑电压的高、低上,能够实现电机的转动和停止;也能够将单片机输出PWM接在芯片的使能端上,通过改变PWM的占空比来对电机转速进行调节,用来需要调节转速的系统中6。L298具有很强的驱动能力,在其可以驱动电压范围内,可以提供的最大驱动电流是2A。L298还具有过热保护和电流反馈检测功能,是一种安全、可靠的电机驱动方案。 方案二:利用控制继电器组成电机驱动模块,通过四个继电器组成来实现电机的正反转控制,并通过触点动作速度实现电机调速7。这种实现方式电路简单,但是继电器的响应时间较长,并且频繁的开通、关断会造成继电器的寿命降低,可靠性较低。综合考虑,为增强系统的可靠性、提高性能,电机驱动模块选择方案一作为系统的电机驱动模块。第2.9节系统设计要求在智能晾衣架的研究设计中,应达到以下几点要求:(1)简单性:智能晾衣架是为现在生活节奏快的上班一族设计,因此本设计必须操作简单,因为忙碌一天的上班族是不愿意在这些小事上花费精力。而且本设计就是为了解决生活小事,若是操作繁杂,这就与我们的初衷恰恰相反的,所以此设计必须操作简单。(2)经济性:本设计拥有着大量的潜在市场,是能够在家庭中应用的。所以必须要设计合理。设计合理中经济性尤为重要,而且我们设计的是智能晾衣架,作为一个晾衣架本身功能来说,就决定了本设计的产品价格就不能太高。并且,任何人都喜欢性价比高的产品。所以我们的设计应该追求物美价廉。这就要求我们不仅要技术先进,经济上也要更加合理。(3)实用性:本设计是工具,因此我们设计应该多考虑一些实用功能,不能设计那些不实用的功能。本设计针对的是经常在露天晾晒衣物的人群设计,所以在设计过程中也会做一些调整,添加实用的功能,减少冗杂而不必要的功能。(4)安全、可靠性:因为智能晾衣架是应用于家庭的,所以要保证其安全、可靠性。从电子元件、电路设计、材料的选用都应注意提高其安全性与可靠性。第3章控制系统硬件设计在之前总体设计完成之后,本章将会对控制系统硬件面进行设计,其中包含STC89C51的概述和简介,DHT11温湿度传感器的使用简介,光敏检测电路的设计,还有电机驱动的电路设计,然后在根据系统性能的要求对其硬件设计进行修改和完善。第3.1节单片机的介绍及其工作系统设计3.1.1 STC89C51特点STC89C51的主要性能10:1、与MCS-51单片机产品兼容2、1000次擦写周期3、时钟频率0 35MHz的一般8051 0至420 MHz.实践工作频率可达48MHz三级加密程序存储器4、低功耗空闲和掉电模式5、STC89C516AD具备ADC功能。10 位精度ADC,共8 路掉电标识符引脚结构如图3.1STC89C51引脚结构所示:图3.1 STC89C51引脚结构STC89C51芯片内部带有8K字节Flash存储器,其具有性能高、功耗低等优点,俗称单片机。该器件存储器的制造技术是采用ATMEL高密度非易失性技术,和工业上的MCS-51的系列芯片具有完成相同的引脚配置和指令集。该芯片性能稳定、具有很强的抗干扰能力;并且能够灵活的编程和设计,在很多的工业控制现场和嵌入式系统中都可以非常有效的担任控制任务;并且该芯片价格超低,在许多的小型、低成本的控制系统中作为控制核心。STC89C51单片机的功能特性:40个外部引脚,Flash闪速存储器4k字节,内部RAM1288位,输入/输出(I/O)口32个,中断优先级5个,中断嵌套中断2层, 16位定时器/计数器3个,全双工串行通信口(UART)1个,看门狗(WDT)定时器,片内振荡器和时钟电路。该芯片常见的封装形式有:TQFP、PLCC和PDIP三种,用来满足各种工作场合的需求10。其引脚图(PDIP封装形式)如图3.1所示。STC89C51单片机的引脚功能说明:VCC:电源正端输入。VSS:接地。RST:单片机的复位输入。EA/VPP:外部访问允许。“EA”是英文“External Access”的缩写,表示存储外部程序代码,为使能从0000H 到FFFFH 的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在Flash编程期间,EA也接收12伏VPP电压。PSEN:是外部程序存储器的选通信号。当单片机开始从外部程序存储器执行程序时,该引脚会被激活,其周期是机器周期的一半,而在访问外部数据存储器时,则不激活PSEN。ALE:当访问数据存储器或外部程序存储器时,该引脚将输出脉冲,用来锁存地址的低8位字节。P0口(P0.0P0.7):P0口是一个8位双向输入/输出(I/O)端口,其漏极开路,每脚最多能够驱动的TTL逻辑电平为8个。在对单片机进行编程操作时,指令字节通过P0口接收;而进行校验程序时,指令字节通过P0口输出,此时P0必须外部上拉电阻才能输出高电平。P0.0表示第0位,也就是最低位;P0.1表示第1位;依此类推,P0.7表示第7位,也就是最高位。四组I/O口中只有P0口具有内部无上拉电阻,其余I/O均在内部配置上拉电阻,将I/O的电平拉高。P0在当做I/O用时可以推动8个LS的TTL负载。P1(P1.0P1.7):P1口是一个8位双向I/O端口,内部配置了上拉电阻,P1口缓冲器最多能够输出或接收4个LS TTL门电流。若将P1口管脚写入1,则I/O口输出高电平,表示该端口设置为输入,可以读取外部电平信号。P2(P2.0P2.7):P2口是一个8位双向I/O端口,其内部配置了上拉电阻,每一个引脚最多能驱动4个LS的TTL逻辑门电路。若想将P2设置为输入口,用来读取外部电平信号,则需控制P2输出高电平。P3(P3.0P3.7):P3口和P1口,P2口一样,也是一个8位双向I/O端口,其内部也配置了上拉电阻的,其输出缓冲级可驱动4个TTL逻辑门电路。P3口也可作为STC89C51的一些特殊功能口,其引脚第二功能分配如下表3.1所示。XTAL1:反向振荡器的输入。XTAL2:反向振荡器的输出。表3.1 P3口引脚第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)3.1.2单片机工作系统设计单片机必须在具备晶振电路和复位电路后才能保证其正常运行。晶振电路也称时钟电路,该电路是给单片机提供稳定的时钟源,复位电路的功能是重置单片机,使其总起始地址开始工作,从程序代码的起始端开始运行。下面将对时钟电路和复位电路进行详细介绍。(1)时钟电路设计图3.2 时钟电路在使用51系列单片机开发系统时,晶振电路主要由两部分组成:石英晶体和瓷片电容。适石英晶体一般选择为12MHz或11.0592MHz;匹配的瓷片电容是2030pf之间,这个大小的电容可以很好的抑制干扰,使时钟电路稳定工作。如图3.2所示为本次设计的时钟电路,选用11.0592M的晶振,其晶振两脚与单片机的时钟输入引脚XTAL1和XTAL2相连,并在两端分别连接30pf瓷片电容C1,C2的一端,瓷片电容的另一端直接接地9。(2)复位电路设计若系统在运行时,受环境干扰单片机内代码执行时跑飞或需要从新执行代码时,这时需要将单片机复位,从头执行程序代码,这就需要设置复位电路。STC89C51单片机在RST引脚上施加两个机器周期以上的时间就会完成复位,代码将从最开始地址从新执行。在系统上电时,也要对单片机进行复位,为了方便,无需每次上电都通过操作按键进行复位,复位电路中设置了上电复位。图3.3为本设计的复位电路。该电路即可实现上电复位,又能实现手动复位。系统在得电开始运行前,由于电容C3充电, RST引脚上为高电平,高电平持续时间是电容充电时间,充电时间大于两个机械周期则上电复位;单片机在正常工作时,按下复位按键S1,则RSE引脚直接接在+5V电源上,松手后恢复低电平,实现手动复位。图3.3 复位电路 第3.2节温湿度传感器电路DHT11数字温湿度传感器它经常被用来测量环境的温湿度,之所以使用它是确保设计的产品测量数据的可靠性和准确性,DHT11具有质量好、响应快、抗干扰能力强、性价比好等优点。另外,他还具有超小体积,低功耗,以及信号传输间隔长度能够达到20米以上的特点。在非常精确的湿度校准实验室校准每个DHT11传感器都要进行再次校准,用来确保DHT11温湿度模块的测量准确性以及可靠性,传感器的接口方式采用单线串行接口,之所以使用这样的设计方式是为了使系统变得简单快捷并且单排针4针组件产品,连接方便,可根据用户要求提供特殊包装格式3。1.DHT11的工作特点:相对湿度和温度测量全部校准,数字输出卓越的长期稳定性无需额外部件超长的信号传输距离超低能耗 4 引脚安装完全互换 2.DHT11应用领域暖通空调 气象站家电 湿度调节器医疗 除湿器测试及检测设备 汽车数据记录器 消费品自动控制3. DHT11数字传感器电源引脚以及串行接口电源电压:工作电压是3V到5.5V,工作时候需要先等待一秒钟,其目的是确保不稳定状态器件不发送任何的指令3。串行接口:DATA 用于微处理器与DHT11之间的通信和同步,本设计采取使用单总线数据形式,一次通讯市场大约为4ms,其中数据分小数部分和整数部分,详细格式在下面说明,此时小数部分用来以后扩充,现在读取出为零。操作流程为一次完整的数据传输为40bit,先出高位。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8 bit温度整数数据+8bit温度小数数据”所得最后数据的末8位3。用户 MCU 发送一次信号之后,DHT11将从低功耗模式转换到高速形式, 等候主机开始信号完毕后,DHT11再发送相对应的信号,同时送出40bit的数据,并触发一次信号采集,再次选择读取部分数据3。在这个模式下,DHT11 接收到开始信号后触发一次温湿度采集,假如没有接收到主机发送开始信号,DHT11不会自动开始温湿度采集。采集数据后转换为低速模式,过程如图3.4通信过程(1)所示:图3.4通讯过程(1)总线处于空闲模式的时候电平为高电平,主机会把总线拉低等待DHT11的响应,这时候的总线需要的时间超过18ms,这样做是为了保证DHT11可以启动信号检测。当DHT11接收主机信号开始后,就开始发送80s低电平相应信号,等待20 40s,才开始阅读DHT11响应信号。主机开始发送信号后,可以切换到输入模式或者输出高电平模式,通过总线将上拉电阻,进程如图3.5通信过程(2)所示:图3.5 通讯过程(2)当总线为一种低水平的响应信号时候,DHT11发送响应信号后,再把总线拉高80us,开始发送数据,每一位数据都是以50us低水平时隙开始的,高电平的长短表明了数据位是0还是1。(如图3.6数字0信号表示方法,图3.7数字1信号表示方法)读高水平的响应信号,如果DHT11没有响应,请检查线路是否正常。最后一个bit数据传送完成后,DHT11将会拉低总线50s,然后总线的上拉电阻将会进入空闲阶段。图3.6 数字0信号表示方法数字1信号表示方法图3.7 数字1信号表示方法DHT11数字温湿度传感器它经常被用来测量环境的温湿度,使用它的原因是因为它能够确保设计的产品测量数据的可靠性和准确性,它还具有超小体积,低功耗,以及信号传输间隔长度能够达到20米以上的特点。在非常精确的湿度校准实验室校准每个DHT11传感器都要进行再次校准,用来确保DHT11温湿度模块的测量准确性以及可靠性。产品为单排针4针组装,方便连接,特殊包装格式可根据用户要求提供。接口说明如图3.8 DHT11典型应用电路所示:图3.8 DHT11典型应用电路第3.3节光敏检测电路系统光强检测通过光敏电阻来实现,在外边天气光强不同时,光敏电阻的阻值会发生变化。光敏电阻还可以叫做光导管,制作中常用的材料有:硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等。这些材料具有很强的光特性,在一定波长的光照下,其产生的阻值立即发生变化。这种现象是产生的原因是由于光照会产生载流子,而这些载流子将会参与导电,使光敏电阻的阻值迅速的下降11。光强检测电路如图3.9所示。光敏电阻与47K电阻串联,当光强较弱时,光敏电阻阻值较高,这时光敏电阻上端输出电压较高;当光强较强时,光敏电阻阻值较低,这时光敏电阻上端输出电压较低;光敏电阻上端输出电压为V;输出电压V是随光强变化的模拟量信号,需要进行电路处理才能被I/O口读取12。如图所示,输出的电压信号V通过两个电压比较器与两个阈值相比较得到两个电平信号,当电压信号V高于高阈值时,才认为光线较强;在电压信号V低于第阈值时,才认为光线较弱。有效防止了使用一个阈值时,电压V在阈值附近时,电平信号震荡的问题。电压信号V分别输入至两个电压比较器的负输入端和正输入端,R7和R10两个电位器分别为电压比较器提供一个可调的上限和下限电压阈值,然后在电压比较器输出端上拉一个4.7K电阻,电路即可正常工作。当电压比较器的正输入端电压大于负输入端时,输出高电平;当电压比较器的正输入端电压小于负输入端时,输出低电平。电压比较器输出的电平信号送至单片机的I/O口,I/O口通过扫描即可获知外部的光线强弱。图3.9 光敏检测电路其中GL5528电阻的各项参数是:最大电压(V-dc):150 最大功耗(mW):100 环境温度(C):-30- +70 光谱峰值(nm):540 亮电阻(10Lux)(K):10-20 暗电阻(M):1 10010:0.6 响应时间(ms):上升:20 下降:30第3.4节直流电机驱动电路3.4.1L298N基本参数(1)类型 : 半桥;(2)输入类型 : 非反相;(3)输出数 :4;(4)电流-输出/通道 :2A;(5)电流-峰值输出 :3A;(6)电源电压 :4.5 V 46 V;(7)工作温度 :-25C 130C;(8)安装类型 : 通孔;(9)封装/外壳 :Multiwatt-15(垂直,弯曲和错列引线);(10)供应商设备封装 :15-Multiwatt;(11)包装 :管件。3.4.2L298N简介L298是由SGS公司设计生产的,其封装是采用15脚Multiwatt封装,其内部都配置了4通道逻辑驱动电路。可以作为一个两相步进电机,或者两个小型直流电机的驱动器,使用极为方便。L298N芯片可以作为一个四相电机和两个二相电机的驱动器,其控制电机的最大供电电压可达到50V,输出控制电机的电压随着输入的电压的变化而变化,可以通过调节输入的电压来改变电机的控制电压;控制引脚可以直接连接在单片机的I/O上,可直接通过编程来改变I/O口输出电平来控制L298N的工作模式;并且所需的外围辅助器件非常少,控制极为方便14。L298N的逻辑电源VSS可接入的范围为直流457 V,其逻辑控制口可接受TTL电平信号。芯片第4引脚VS可直接与电机的供电电源连接,其电机的供电电源VS是在2550 V之间。最大可输出25 A供驱动电流,可以直接用来驱动阻性或感性负载。L298芯片上的OUT1,OUT2是一组直流电机的接口,OUT3,OUT4是另一组,本设计我们通过它来驱动一个小型直流电机。5和7以及10和12脚接入单片机的I/O口,通过输出不同的电平信号来控制直流电机的转向。ENA和ENB为控制的使能端,也接入单片机的I/O口,可同过I/O输出PWM来控制电机的启动和、停止和转速。表3.2是L298N功能逻辑图。表3.2 L298N功能逻辑图ENA(ENB)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转LXX停止3.4.3电机驱动电路本系统中,需要对一个电机进行方向和速度控制,将IN1、IN2和ENA分别连到单片机的I/O口P2.2、P2.3、P2.4上,通过改变I/O口的电平状态,实现电机的方向和速度控制。芯片供电电源VSS接+5V逻辑电平,电机的动力电源VS与也接+5V输入,ISENA和ISENB分别接地。芯片输出端口接电机两端,为了保护芯片,防止电流回流,在OUT1,OUT2两端分别接上续流二极管1N4007。为了滤除电机干扰,在电源上加入了一个100UF和一个104进行滤波9。具体电路如图3.10所示。图3.10 电机驱动电路第4章控制系统设计第4.1节程序流程图系统软件设计采用结构化和模块化的设计方法,原因是因为这样很容易编译,调试过程1。然后根据设计要求,以及前端控制系统硬件设计的具体条件进行说明,设计软件基于单片机控制,其中单片机控制系统软件程序流程图如图4.1所示:系统是否是智能模式是否光线明暗湿度大小打开按钮是否按下关闭按钮是否按下暗或湿度大亮或湿度小否是是关闭晾衣架打开晾衣架关闭晾衣架打开晾衣架否否关闭限位是否闭合打开限位是否闭合是是中止动作结束图4.1 程序流程图第4.2节程序设计C语言是计算机程序设计语言的一种,它处于机器语言与高级语言之间,它不仅具备机器语言的特点,同时又具备高级语言的特点。C语言1972年产生于美国,它是由贝尔研究所的D.M.Ritchie推出的。在此之后,各种不同类型的计算机都被移植成为C语言。C语言不仅能够编写工作系统和控制程序代码,还能够作为设计应用程序的语言,其编写的应用程序与计算机硬件无绝对关系。如今,C语言的使用范围非常之广泛,因为该语言极其强大的处理数据的能力,已经不仅仅是应用在软件的开发上,很多种类的科研也都开始使用C语言编程8。C语言简明易懂、开发和维护都很方便,并且不受硬件操作能力约束,采用模块化设计移植很容易,开发周期短。使用C语言开发单片机的控制程序代码,储存单元的分配都是通过编译器自动完成的,程序设计者只需要关注程序本身的设计,无需考虑储存单元分配等问题。C语言可以采用模块化的编程,对一些常用控制功能或算法的函数可以编写相应的程序块,在使用时直接调用,可以极其方便的进行程序开发和移植,缩短程序开发周期。第4.3节系统初始化软件系统设计设置包含声明库函数如:#include,#include 等,利用DHT11温湿度传感器,对于温度和湿度的检测都要使用DHT11单总线数据方法,同时对于这些操作都有严格的顺序安排。单片机刚开始会发送一个复位脉冲,这个脉冲信号会使所有DHT11芯片进入复位状态,等到ROM操作命令到达的时候,系统会使相应编码的DHT11激活。当DHT11被激活后,它将处于等待存储器访问请求的状态3。系统程序展示和说明8:#define uc unsigned char#define ui unsigned intsbit in_go=P13;sbit in_back=P12; sbit out_go=P30;sbit out_back=P35; sbit limit_go=P34;sbit limit_back=P36; sbit led_go=P14;sbit led_back=P15; sbit light=P10; sbit change=P11; sbit led_zhishi =P17;sbit buzz=P16;sbit W1=P22;sbit W2=P21;void COM(void) uc i; for(i=0;i8;i+) U8FLAG=2; while(!DATA)&U8FLAG+);Delay_10us();Delay_10us();Delay_10us(); U8temp=0; if(DATA)U8temp=1; U8FLAG=2;while(DATA)&U8FLAG+); if(U8FLAG=1)break; U8comdata=1; U8comdata|=U8temp; /0 /rofuc RH(void) DATA=0;Delay1(180); /原来为5DATA=1;/总线将上拉电阻拉高 延时20usDelay_10us();Delay_10us();Delay_10us();Delay_10us();DATA=1;if(!DATA) /T ! U8FLAG=2; while(!DATA)&U8FLAG+);第4.4节温湿度检测检测温湿度情况所用的模块为DHT11温湿度传感器,DHT11传感器的读写都会占用同一根线,所以操作的时候的每一步都有严格的要求。图4.2为测温子系统流程图,单片机刚开始会发送一个复位脉冲,这个脉冲信号会使所有DHT11芯片进入复位状态,等到ROM操作命令到达的时候,系统会使相应编码的DHT11激活。被激活后传感器将会进入等待访问的状态,内存访问命令完成温度转换、读取等工作。系统复位发匹配ROM指令发64位ROM码发温湿度转换命令系统复位读数据至内存发读暂存命令发64位ROM码发匹配ROM指令完成转换?是返回否图4.2 温度检测流程图温湿度检测所用的电路为555检测电路,通过该电路测出输出频率,然后再利用公式4.1将输出频率带进公式就能够得到湿度传感器的阻抗,通过之前DHT11对温度的检测,用表4.1进行查询就可以得到所对应的湿度值。(4.1)表4.1 0-60湿度阻抗特性数据152535455530%518.8352.8256.7241.313735%347.6261.814313780.3340%277.2166.693.681.535.45%172.892.860.352.733.3850%96.360.641.4334.322.0555%70.840.429.1224.2515.8860%56.229.520.817.7112.1765%43.321.115.6113.129.0270%31.315.4411.5110.096.5875%22.611.848.747.354.6480%15.89.136.525.463.3885%10.486.554.523.892.4890%74.63.152.651.807第5章系统整体调试根据设计好的电路,然后编写程序在Keil_c上进行完成,再使用模拟器对连接好的电路进行调试,如果采用专业型的标准MCS - 51内核单片机模拟,仿真芯片的真实性会增加,但是他会导致PC端的用户种类会变的复杂。用于监测和显示输出目标单片机TXD引脚支持Keil printf函数打印也有实时跟踪内部变量的变化功能,同时还能够防止因为错误的操作对仿真器损害能够很好的保护电路,以避免操作不当所带来的损失,同时模拟器自带和64 K的程序存储器和64 K的硬件断点记忆等许多强大的功能14。图5.1 JDT-8052XP仿真器连接图使用JDT 8052 XP模拟器在Keil_c工作站的编程和调试非常方便而且快捷,能够对各种子程序进行设置和调试。在检查错误和警告的时候,不但能够及时发现错误警告还可以对其进行修改,然后将他们放在一起,根据程序流程图写作前的机主程序同时调试15。 Keil_c软件界面如图图5.2 Keil_c软件界面第5.1节系统仿真演示该系统利用Keil u vision4仿真软件Keil公司宣布在二月2009,Keilvision4,Keilvision4将窗口控制系统引入软件,极大的方面了窗口的可操作话,使窗口的位置可以放在任何位置,增加了用户的体验质量。为开发人员提供了一个更加高效地开发应用环境。Keil uVision4软件界面图14:图5.3 Keil uVision4软件界面图通过对软件的学习和使用我们对本系统进行了仿真操作接下来我们演示系统仿真效果:图5.4为本系统的系统仿真图,图5.5为系统的湿度加减操作位置,通过在温湿度的增加或减小来控制系统系对湿度的判定,图5.6为系统湿度增加的效果图,图5.7为系统湿度减小效果图,从图中可以看出随着湿度的增加和减弱,上方的LED显示也随之改变。图5.4 系统仿真图图5.5 系统的湿度加减操作位置图5.6 系统湿度增加的效果图图5.7 系统湿度减小的效果图图5.8为系统模式选择位置,通过模式的切换来改变系统所选模式,图5.9为自动模式。图5.8 系统模式选择位置图5.9 自动模式图5.10为手动模式。当为手动模式时可,手动控制电机的正转反转,同时可触碰限位开关,使电机中止转动。当为自动模式时候,系统根据所检测到的温湿度来自动控制电机的正反转,同时,可触碰限位开关来中止电机的转动。图5.10 手动模式当手动模式,按键伸出时伸出的指示灯亮,如图5.11所示,当按键收缩时收缩指示灯同样亮起如图5.12所示。通过仿真可以发现,仿真效果和初步设想基本相同,很好的达到了预期的设想 。图5.11 手动伸出图5.12 手动收缩第5.2节 硬件实物的焊接硬件焊接需要充分了解各个器件的型号,了解各个器件的具体功能,这就像人民教师教书育人一样,要因材施教,将各个器件的功能充分发挥。 焊接的方法有很多种,在这其中最精确的是激光焊接,但是这种焊接的代价太高了,所以本次设计就用的是最为传统的手工焊接,握铁烙铁的方法也是有讲究的,包括:握笔、正握、反握式三种。手工焊接的步骤可以分为以下几步:(1)准备焊接:在进行焊接之前需要做一些准备工作,需预先将被焊接元器件周边的污渍清理干净,由常识可知在焊接过程中温度会很高,所以为了避免将其他元器件烫坏,可以将周边的元器件掰开一些。(2)加热焊接:焊接时候需要蘸取少许松香到烙铁头,然后再触碰被焊元器件,等到烙铁头变热后用再用工具将元器件轻轻小心进行焊接。(3)清理焊接面:被焊部位处的焊锡量要根据实际情况自己判断,不能过多也不能太少,太少焊接的不够完整,太多会造成表面不光滑,还浪费资源。(4)检查焊点:焊接完成之后需对焊接成果进行检查,检查的工作包括前面几步中写到的检查焊锡量的多少,是否造成被焊接元器件周边的元器件损坏。 焊点需满足手工焊接以下几点: (1)具有良好的导电性。 (2)机械强度适中。 (3)焊点表面光滑。 焊接质量不高的原因有以下几点: (1)焊接量把握不好,过多造成焊接表面不光滑,过少造成焊接表面未全部覆盖。 (2)焊接的时候烙铁头的温度未达标,温度不够造成焊接表面会有些许细纹。 (3)焊锡和被焊元器件之间在完成焊接之后的理想结果是不能有其他物质存在的,但是由于自身的操作问题,或多或少的会夹杂一些松香,有加热温度不足的黄褐色松香膜和加热过量的黑色松香膜。 (4)被焊元器件的表面有时会由焊锡形成的凸起,造成这种情况的原因是因为在加热时温度和焊锡把控不好。 易损元器件的焊接:被焊元器件的种类有很多,当然也是可以从不同的方面讲其分类,本次设计就从易损坏程度将这些元器件分类。易损元器件的定义是在焊接的过程中容易因为外界因素造成影响元器件正常工作的元器件。所以在焊接之前就需要将前面说到的工作都做好。首先是清理元器件表面的污渍,保证元器件表面的整洁,第二准确控制烙铁头的温度并调节元器件之间的间距,防止造成不必要的损失。第三,选准被焊接点,使用适中的焊锡进行焊接,减少烙铁头和被焊元器件之间热量传递的最有效方便的就是用酒精棉球保护元器件。这样做就可以很好的保护易损元器件,保证焊接的正常进行。 对于焊接过程的过程是有规律可循:精确掌握烙铁头的温度,本着从小到大的原则对元器件依次焊接,避免损坏不必焊接的元件,造成设计成本的升高。 在焊接的过程中有几点是必须要谨记的: (1)因为在焊接中会有很多元器件,所以焊接之前最好有一个比较大的底板,这样就可以避免易损元器件的损坏,提高设计本身的属性。 (2)因为单片机的引脚比较多,所以在焊接的时候要格外的注意,要做到便焊接边看图,保证每个引脚的准确性,防止损坏单片机。 (3)电容含有极性,在焊接的过程中要格外注意,不要影响工作的正常进行。 (4)芯片的引脚排列方式比较复杂,这要求我们可以准确判断。如图5.13为实物正面:图5.13实物正面如图5.14为实物背面:图5.14实物背面如图5.15为遥控器正面:图5.15遥控器正面如图5.16为遥控器背面:图5.16遥控器背面结论随着时代的发展智能家具越来越受到大家的
展开阅读全文