【基于51单片机的智能电风扇控制系统设计6600字(论文)】_第1页
【基于51单片机的智能电风扇控制系统设计6600字(论文)】_第2页
【基于51单片机的智能电风扇控制系统设计6600字(论文)】_第3页
【基于51单片机的智能电风扇控制系统设计6600字(论文)】_第4页
【基于51单片机的智能电风扇控制系统设计6600字(论文)】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章系统硬件组成PAGE15PAGE14基于51单片机的智能电风扇控制系统设计摘要在现代生活中,人们无法忍受高温所导致的人体不适。在日常生活中夏天所带来的炎热的气温使人们需要通过某些方法来降温,因此这就体现了电风扇的重要性。同样的,不仅仅是在人们的日常生活中,在工业领域同样需要大型的工业专用电风扇来进行降温散热等工作。目前随着电风扇这方面的技术的不断发展和成熟,越来越多的电风扇开始渐渐的走进了人们的日常生活当中。而在这些种类繁多的电风扇中,温控电风扇从中脱颖而出。那么什么是温控电风扇,顾名思义温控电风扇的特点在于可以根据当前环境的温度来控制电风扇的运行。但在实际生活中,仅仅具有温控是远远不够的。因此本次设计的温控电风扇还有有个特殊的功能便是可以自动调节转速,充分发挥温控电风扇的功效,有效的节省宝贵的电能源,从而最大程度上的提高温控电风扇的可利用率,极大的为人们在日常生活和工人在工业生产中提供了方便关键词:温控,单片机,自动控制,温度检测,定时电风扇目录摘要 I第一章绪论 11.1研究本课题的目的和意义 11.2发展现状 1第二章系统硬件组成 22.1系统结构 22.2DS18B20温度采集电路 22.2.1DS18B20的特点及内部构造 22.2.2引脚功能介绍 32.2.3DS18B20的工作原理 42.2.4DS18B20的工作时序 52.3数码管驱动显示电路 82.3.1数码管驱动电路 82.3.2数码管显示电路 8第三章系统软件设计 103.1主程序流程图 103.2DS18B20子程序流程图 113.3数码管显示子程序流程图 113.4按键子程序流程图 12第四章系统调试 144.1软硬件调试 144.1.1按键显示部分的调试 144.1.2传感器DS18B20温度采集部分调试 144.2仿真 14参考文献 17第一章绪论1.1研究本课题的目的和意义在目前的日常生活和工业生产中,炎热的天气和高温的工作环境使电风扇的应用越来越广泛,在性价比上电风扇获得了广大人们群众和企业的青睐。举个列子,比如在炽热的夏日,人们在家中、在办公室中需要通过电风扇来进行降温;在工业领域需要通过大型的机械电风扇来进行大规模降温散热,就连在数码产品上比如私人笔记本电脑也需要使用带有只能温控的CPU风扇等等。随着目前温度控制技术的不断发展与成熟,人们逐渐开始将发展研究的目标放在了电风扇的噪音以及能源消耗上。因此为了有效的降低电风扇在运行的时候所发出的噪音,以及减少电风扇在运作时不必要能源浪费。带有温控功能电风扇慢慢的进入了人们的视野,并逐渐得到了人们的重视和应用。为此本课题主要研究带有温度控制系统的电风扇。设计出具有人性化,高效率的新一代温控电风扇。1.2发展现状随着中国的稳健发展,相比较过去的社会如今的社会环境得到空前的进步和提升。数字时代的开启使社会步入了电子化数字化信息化时代。这使得温度控制系统的脚印深入到各行各业当中去,因为其不可缺少的功能使温度控制系统得到的广泛的应用和传播,给人们的日常生活和工作带来了极大的方便并带来大量的经济效益。温度控制系统顾名思义是用来对当前的温度进行实时的监测,因此它可以保证将带有温度控制系统的工业用工具仪器、精密测量工具仪器控制在规定的温度范围内,使其能够正常的运行。当然也可以用于农业的种植上,来控制室温环境。目前的温度控制系统其亮眼的功能在于可以一直对环境的温度进行监控,当温度过高时通过控制电机的启动或停止来对当前环境的温度进行改变。而温度控制系统核心便是一个以单片机为基础的小型控制器。随着中国的发展,单片机开发生产的成本越来越低,这使得温度控制系统能够更容易的走进中国的大部分家庭去,同时又可以根据不同的需要用于不用的工作场合中去实行温度的检测和控制。第二章系统硬件组成2.1系统结构STC89C51单片价格比较实惠适合进行对温控电风扇的编程及运行,同时方便后期对程序的维护实现对温度控制系统的升级优化。具体的系统构架图如下。见图2.1图2.1系统构架图2.2DS18B20温度采集电路DS18B20温度采集器采用的是可以进行双向数据传输的信号线,它可以同时对数据和始终进行双向输送,其明显的优点在于构造简单,制作成本低,对I/O线路所消耗的电路进行了优化,有效降低了采集器的维护难度以及其数据总线可以进行扩展。2.2.1DS18B20的特点及内部构造该温度采集器有以下主要特点:特点1:采用单根双通道进行数据交互,因此即使只有一个数据信号连接线与控制前对接,也可以实现两端信号的相互传输;特点2:温度采集器对温度的信号输出做了优化,可以直接将测量出的结果进行转化为数字信号;特点3:温度采集器可以共用同一组线,实现对多个点位的测量和传输;特点4:与原来相比温度采集器的有效的扩大了测量范围(-55℃~125℃),在一定的范围内(-10℃~85℃时)可实现较高精度的检测其测量精度高达±0.5℃;特点5:可以通过编程等其他技术手段,可以增加读取数值的位数(9~12位),因此可以实现多种精度的测量,比如0.5℃,0.25℃,0.125℃,0.0625℃等精度;特点6:温度采集器在设计上具有负压特性。因此芯片不会因操作上的失误导致电源极性接反从而使芯片因为发热而烧毁影响正常工作。DS18B20温度采集器封装图以及其内部的具体构造,如图2.2和图2.3所示图2.2外部结构框图图2.3内部结构框图2.2.2引脚功能介绍(1)NC:此处为空引脚,因此悬空不使用;(2)VDD:这里可以选择电源引脚,此电源的电压应该控制再3~5.5V之间。当温度采集器工作于寄生电源时,此时引脚应当接地处理;(3)I/O:此处为输入/输出引脚,在常态下保持为高电平1。DS18B20温度采集器有2种封装方式。一种是TO-92封装,此封装有3脚;另一种是CSP封装,此封装为8脚SOIC。图2.4所示为DS18B20温度采集器的内部结构具体封装框图,该采集器主要包含8个部分,分别为:单总线接口、温度传感器、结构寄存器、8个位的循环校验码、高速暂存器、寄生电源、TH和TL触发器和光刻ROM。图2.4DS18B20的封装2.2.3DS18B20的工作原理如如图2.5所示,64位ROM的前8个位是用来辨别产品类型的产品编号;随后的48位数字编号为中间序列号,该中间序列号为唯一的产品辨别码;而最后的8位数字编码是通过对前面56位的加密计算而生成的CRC检验码,这也正是可以实现多个DS18B20共线通信的主要原因。图2.564位ROM示意图测量出来的温度的都将存储在前两个字节。中间两个字节是用来保存TH和TL触发器的副本,因为其有易失性这就使得高速暂存模块在每次上电复位时都会使内部的后两个字节刷新复位。而第五个字节也就是最后一个字节叫做配置寄存器,主要用途为规定频率,使温度值的数字转换处于一个稳定的转换周期。DS18B20的精度值是通过存储在寄存器里的分辨率来进行控制的。根据运行要求规定低5位的值始终为1,如果需要改变其精度值可以通过R1和R2来对精度值进行改变。检测器在出厂的时候会被厂家设置为默认值0,因此用户不能对其随意做出更改。当温度传感器对全部的温度进行转换之后,会将监测到的温度与存储在RAM中设定的最高的值进行一一对照,如果对比出的结果是当前检测值大于上限值或者小于下限值,那么就代表当前的温度超出了设定的范围,从而使内部的报警标志置位,并作出向主机端发出报警命令的特殊响应。而由于温度检测器可以共用同一组线,这便使得DS18B20可以同时测得多点的温度并进行报警搜索。在64位ROM的后8位编码里存储了检验码(CRC)。因此主机可以根据64位ROM里的前56个位通过特殊的计算公式来获得新的CRC值。之后主机会将新的CRC值与原本的CRC值进行数据对比,从而让主机能判断出当前获得的ROM数据失误完全正确2.2.4DS18B20的工作时序为提高效率这里要求程序内部所有的写时隙都必须在60~120微秒内完成,而且都需要设置1微秒的时间来恢复每个循环的状态。当程序处于写0时隙期间,CPU在整个时隙中会将总线变换到低电平0;而当程序处于写1时隙期间,CPU在整个时隙中会将总线变换到高电平1,然后将释放总线的动作安置在时隙起始后的15微秒处。时序图如图2.6所示。图2.6初始化时序图具体步骤如下:第一步:先将数据线置位为高电平1。第二步:进行延时(时间尽可能短一些)。第三步:将数据线置位为低电平1。第四步:设置延时时间为750微秒(该范围可以在480微秒至960微秒自由选择)。第五步:将数据线置位为高电平1。第六步:进行延时等待。但值得注意的是,此操作不能进行无休止的等待,如果持续进行等待会让系统出现不可预估的错误,为了避免了个问题的出现,我们需要在这里设置一个超时判断。如果CPU读到数据线上的低电平0后,还会进行一个超时的计时,该计时会从发出高电平的那一个算起(即从上述流程的第5步的开始算起),此延迟计时不得少于480微秒。第七步:将数据线再次拉置高电平1后结束。1.数据时序为提高效率这里要求程序内部所有的写时隙都必须在60~120微秒内完成,而且都需要设置1微秒的时间来恢复每个循环的状态。当程序处于写0时隙期间,CPU在整个时隙中会将总线变换到低电平0;而当程序处于写1时隙期间,CPU在整个时隙中会将总线变换到高电平1,然后将释放总线的动作安置在时隙起始后的15微秒处。时序图如图2.7所示。DS18B20采样DS18B20采样DS18B20采样DS18B20采样图2.7写数据时序图具体步骤如下:第一步:先将数据线置位为低电平0。第二步:设置延时确定的时间为15微秒。并按照严格的顺序依次发送数据(每次传送只能发出一个位)。第三步:设置延时时间为45微秒。第四步:再将数据线置位为高电平1。第五步:依次重复从第一步到第五步的动作步骤,一直到整个字节全部发送完毕。第六步:最后将数据线置位为高电平1。2.读数据时序温度监测器只会在收到由主机发出的读插槽指令时才会进行数据的传输。因此为了能够让温度监测器有效的执行读取和数据传输命令,必须在主机发出指令后生成读取时隙,因为读取插槽这个过程至少需要60微秒的工作时间,因此必须要有1微秒的恢复时间在两个独立的读插槽中间。由于每个读插槽都是通过主机来启动和控制的,因此这要求总线被拉下的时间不得小于1微秒。当主机成功的启动读插槽指令后,温度监测器设备会开始向总线根据数据情况来发送低电平0或者高电平1。如果温度监测器发出了1的数据信号,那么总线便会保持高电平状态。如果温度监测器发出了0的数据信号,那么总线便会保持低电平状态。然而当数据传输值为0时,会通过对电阻器的上拉把总线置位为高电平状态。由于温度监测器发送的数据在开始后依然会有15微秒的有效期。所以主机的释放总线动作必须在读插槽的期间内完成。具体顺序图如图2.8所示。图2.8读数据时序图具体步骤如下:第一步:先将数据线置位为高电平1。第二步:设置延时时间为2微秒。第三步:将数据线置位为低电平0。第四步:设置延时时间为6微秒。第五步:将数据线置位为高电平1。第六步:设置延时时间为4微秒。第七步:读数据线获得一个状态位,并进行数据处理。第八步:设置延时时间为6微秒。第九步:依次重复从第一步到第五步的动作步骤,一直到整个数据全部读取完毕。2.3数码管驱动显示电路2.3.1数码管驱动电路当锁存使能端的信号为高电平时,Dn则会将数据输入到锁存器中,这时锁存器的输出状态将会根据D输入变化的不同而进行不同的变化。当锁存使能端的信号为低电平时,Dn则会将数据暂存在其中一段时间,当使能端的信号为高电平时,才会将数据输入进去,具体的设置见图2.9。图2.974HC573电气参数表2.3.2数码管显示电路各数码管的端子为了有效接收来自单片机P0口所生产的显示段码,根据设计要求分别衔接在了一起。为了便于接收来自单片机P2端口所生产的位选择码,这里将S1、S2、S3、S4引脚端子选定为位选择端子。接下来便要设计系统采用动态扫描方式。对扫描方式的确定很见到那,那便是将所有同名8段数码管同DP通过接口电路对接起来,相应的由I/O线独立来控制每个数码管的公共极。但由于人类视觉保留的现象,因此在人类的视觉效果里会出现一端稳定可靠的数字。因为数码管任何时刻都只有一根数码管工作,所以还有功耗低的优点。具体示意图见图2.10图2.10数码管显示电路第三章系统软件设计第三章系统软件设计3.1主程序流程图如果我们想实现在系统自动判断出温度之后进行降温控制,那么我们需要让系统无时不刻的对当前获取的数据进行检测和比较,确保程获得的数据在规定的范围内。那么我们的基本设计思路就已经浮出了水面,在程序要实现的功能上,我们可以控制系统无时不刻的对当前获得的数值与规定的最大值和最小值进行比较,当获得到的数据超过最大值时,会进行降温处理;当获得到的数据小于最小值时,则会停止动作。为此我们将风力的大小分为小大停着三种不同的运动状态。具体的工作过程如图3.1所示。图3.1主程序流程图3.2DS18B20子程序流程图现在我们来开始介绍油管温度监测器与主板的基本运作流程。在程序的开始,我们需要对存储在检测器的数据进行复位,也就是初始化。然后通过ROM的数据传输来执行下发的操作指令。当完成以上的步骤置惠,才能对存储器内部的数据进行的操作或者数据的操作。为了保证温度检测器能进行有效的工作,我们需要让其严格的遵守的每一步的工作时序,当然这里也包含通信协议。举个例子如果我们要让主板发出并使检测器完成检测指令,那么根据流程图我们可以了解到,完成这一步骤其必须要依次历经以下这几个步骤:第一步,每一次读写之前都要对DS18B20温度检测器的值进行复位;第二步,只有当温度检测器复位成功后才能发送一条ROM指令;第三步,发送RAM指令,这样才能对温度检测器执行预定中的操作。见图3.2图3.2DS18B20程序流程图3.3数码管显示子程序流程图程序实现的功能是通过二进制的装转换将检测器获取到的温度准换成显示在屏幕上的这一过程。见图3.3图3.3程序流程图3.4按键子程序流程图在硬件设计上我们通过3个按钮来对最大值和最小值进行设置。如果我们要对温度的最大值进行调整,可以按下K1来启动设置;如果我们要让温度的最大值增加进行调整,按下K2后温度最大值便会执行依次自加一,实现增加的功能;如果我们要让温度的最大值减小进行调整,按下K2后温度最大值便会执行依次自减一,实现减小的功能。如果我们要对温度的最小值进行调整,可以通过再按一次K1来启动设置,同样的如果此时按下“加”键K2,那么温度最小值便会执行依次自加一,当按下“减”键K3后,温度最小值便会执行依次自减一。为满足一般情况下的使用要求,我们设置最大值为100摄氏度,最小值为10摄氏度。这时如果再按一次设置键K3,便会停止对温度的上限和下限的调整。见图3.4图3.4程序流程图第四章系统调试第四章系统调试4.1软硬件调试4.1.1按键显示部分的调试首先,根据系统程序的设计:如果要有效的实现外部键盘输入的功能以及数码管显示的功能,那么我们需要通过P3口连接程序的键盘,通过P0口来对数码管显示器进行有效的LED断码控制,因此P2的用处便在于控制LED的位码,进过这种设置可以实现以上的功能要求。在仿真时,如果编译的程序并没有错误,那么显示管只会出现乱码,这是因为当前并没有获得正确的显示温度,因此按键功能将不会起作用,这个时候如果你进行按键操作时,会发现显示结果有多种的改变。4.1.2传感器DS18B20温度采集部分调试在温度转换的程序中,为了能实现正确的检测到小数点位数并完全无误的将结果显示出来,我们可以同通过会将得到的温数值扩大100倍,然后将扩大后的值当作四位整数来做处理。举个例子,当检我们的检测器测到了当前温度为24.5摄氏度,那么此数值会通过编好的程序放大100倍,那么经过放大运算的出来的数值就变成了2450,如此以来一整数的形式来进行编程的话可以大大减轻我们的编程难度和负担,也在一定程度上避免了一些程序错误。在系统调试中,我们可以通过握住芯片来判断温度检测器是否能在系统板上正常进行工作,当我们握紧后,可以发现显示屏所显示的温度正在升高,这就说明芯片可以在系统板上正常工作。4.2仿真该系统可以实现以定时器为基础的单片机控制,通过将获得的数据与内部设定的最大值和最小值来进行数据比较,将数据比较后得出的数值转化为相应电流的供给控制风扇运作的电机,因为给出的电流大小不一样,这样我们就实现了可以根据实际温度而只能进行产生出不同的转速。然后通过对比当时的环境温度与设定温度来对电机进行启动停止的控制。当检测器获得的数据比内部预设好的最小值要小时,那么为了防止温度继续变低,系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论