毕业设计(论文)-基于PID控制的智能风扇的设计.doc_第1页
毕业设计(论文)-基于PID控制的智能风扇的设计.doc_第2页
毕业设计(论文)-基于PID控制的智能风扇的设计.doc_第3页
毕业设计(论文)-基于PID控制的智能风扇的设计.doc_第4页
毕业设计(论文)-基于PID控制的智能风扇的设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计题 目 基于pid控制的智能风扇的设计 作 者 姓 名 指 导 教 师 提 交 日 期 原创性说明本人郑重声明:本人所交的论文是在指导教师的指导下独立进行研究所取得的成果。学位论文中凡是引用他人已经发表或未经发表的成果、数据、观点等均已明确注明出处。除文中已经引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。本声明的法律责任由本人承担。 论文作者签名: 年 月 日 论文指导教师签名: 基 于pid 控 制 的 智 能 风 扇 的 设 计 (天水师范学院电信学院 甘肃 741000)摘要:在现代化工业生产中,随着各种生产规模的不断壮大,人们对产品质量的要求日益有了普遍性提高,同时也使工业过程控制系统已成为生产中必不可少的设备。随着发展的不段创新,pid控制逐渐演变成两人最实用化的控制方式,它指的是一项流行的线性控制策略,是对偏差信号e(t)进行比例、积分、微分运算变换后形成的一种控制规律,基本思想是“利用偏差、消除偏差”。pid控制被证明是一种非常好的控制模式。用它生产的产品已经在工程实际中得到了广泛的应用,很多大公司都开发了具有pid参数自整定功能的智能控制器。本文设计了基于pid控制的温控风扇系统,采用单片机作为控制器,利用温度传感器ds19b20作为温度采集元件,并根据采集到的温度,通过一个达林顿反向驱动器uln2003a驱动风扇电机。根据测到的温度与系统温的比较实现风扇电机的自动启动和停止,采用pid算法来控制风扇的转速,能根据温度的变化自动改变风扇的转速,同时用lcd1602显示检测到的温度与设定温度。 关键词:80c4片机; pid参数;达林顿反向驱动器uln2003apid control of the smart fan design is based onliu junxiu(gansu tianshui normal university institute of telecommunications liu junxiu 741,000)abstract: modern industrial production, along with the growing scale of production, quality of peoples increasing demand for the product, as well as the complexity of the modern environment, industrial process control systems have become an essential production equipment. pid control is the most practical way of control, referring to a popular linear control strategy, which is a control law after the error signal e (t) proportional, integral, differential operation transformation form, the basic idea is use deviation, to eliminate bias. pid control has been proven to be a very good control mode. its products have been widely used in engineering practice, many large companies have developed an intelligent controller with pid parameters self-tuning feature. this article is designed based on temperature-controlled fan system with pid control, using scm as the controller, use the fan motor temperature sensor ds19b20 as temperature gathering element, and according to temperature collected by a darlington reverse drive uln2003a drive. according to the comparison of the measured temperature and the system temperature to achieve the fan motor automatically starts and stops, use pid algorithm to control fan speed, can automatically change the fan speed based on temperature changes, while lcd1602 display with the detected temperature and the set temperature.keywords: 80c4 machine; pid parameters; darlington reverse drive uln2003a 目 录1 绪论 . 1.1 概述. 1.2 论文研究的内容和结构安排.2 pid控制. 2.1 pid控制的特点. 2.2 pid的优缺点.3 系统的整体设计方案. 3.1 系统整体方案. 3.2 主控模块. 3.2.1 单片机的定义. 3.2.2 89c51单片机内部结构. 3.2.3 单片机的引脚介绍. 3.2.4 89c51单片机的工作原理.4 电路设计. . 4.1 电源电路设计. 4.2 按键电路设计. 4.3 显示电路设计. 4.4 定时电路设计. 4.5 温度显示电路. 4.6 电机驱动电路.5 程序设计. 5.1 protues简介. 5.2用keil uvision4编写程序. 5.3 用protues进行仿真. 6 结束语. 参考文献. 致谢.1 绪论1.1 概述目前,空调的应用已经越来越普遍,并有代替电风扇的趋势。但是,由于空调具有的一些问题,电风扇仍然占有很大的市场份额。智能风扇是目前发展兴盛的一门新兴技术,它的设计为人们的生活带来了诸多方便,在提高人们生活质量、生产效率的同时还能节省风扇运转所需的能量。但是人们对家居的性能以及安全性的要求也越来越高,随着各行各业的不断发展自动控制化已经越来越重要了。目前,pid控制器以及用它所生产的产品已经很多,而且都在实际生活中得到了广泛的应用,在这些产品当中,很多都有用到了pid来控制。目前化工生产中应用最多的还是pid控制,主要原因有以下两方面:一是各种非常高级的控制在应用上还不够完善,二是大多数化工场合使用pid控制才可以满足他们的需要,三是有些企业上的技术人员对高级控制难以掌握。pid控制技术早在30年代末期就已经出现在人们的生活当中,到至今已有近70年的发展,因为它具有很多优点,例如调整很方便、稳定相比较好,结构简单 所以很多工业控制都采用它作为主要技术。pid控制,其实她有pi和pd两个部分,它根据系统的误差,利用比例、积分、微分计算来进行控制的。它简化了建模手续、算法很简单、明显提高了系统的控制品质,引发了国内外的广泛关注和大量支持,已成为当前控制研究领域的一大亮点。而且在长期的已有过程中,控制工程师们已经积累了大量的pid控制参数,为以后pid的发展做出了巨大的贡献。 随着单片机在各个领域的应用,许多用单片机做控制的一些温控系统也越来越多,并且单片机因为具有其价格低、功耗小等特点,而得到了各行各业的亲睐。单片机存在于人们生活的各个环节中。在日常的生活中,我们虽然已经有了各种各样的智能家居,但是却忽略了家用电风扇的更高的性能,在炎热的夏天,电风扇仍然是家家户户必不可少的,在本次设计中,主要是通过控制算法的方法来控制风扇的转动,来实现自动升温和降温,它有着十分重要的应用价值和研究意义。模拟pid控制系统的原理结构图如下: 1.2 论文研究的结构安排 通过对pid控制的不断变化状况及其特点和单片机的一些结构有了一定的了解之后,设计了一个基于单片机控制的设计。在这篇论文当中,第一章是绪论,它介绍了本设计研究目的意义和价值,并且介绍了pid的发展现状。第二章简介绍了pid控制的特点和它的的原理。从第三章开始就介绍了基于设计各个模块硬件的选型,第四章主要是对单片机性能的描述以及电路的设计,其中包括电源电路、按键电路、显示电路、定时电路和单片机的复位和晶振电路。第五章主要是软件设计,有对本次设计用到的两个软件protues和keil的介绍,还有仿真图,以及对仿真图各个不同阶段的工作现象。第六章是对本次设计的中用到的pid算法的程序数据分析。最后主要是对这次设计的收获和对一些在设计过程当中给予我帮助和知道的老师和同学的感谢。 2 . pid控制2.1 pid控制的特点 在工程应用中,应用最为广泛的控制规律为比例、积分、微分控制,简称pid控制,又称之为pid调节。比例控制(p)比例控制就是说它的输入与输出误差信号构成了比例关系,比例控制其实是一种最为简单的控制方式,并且只有存在比例控制时系统的输出才存在稳定误差。积分控制(i)积分控制就是说控制器的输入与输出误差的积分构成了正比关系。在一个自动控制系统当中,如果在进入了稳态之后还是有误差的存在,就说嘛这个控制系统有稳态误差。对于这个稳态误差,是要将其消除的,在此就要引入积分项,积分项对误差由时间的积分来确定,随着时间的不断增大,积分项也会跟着增大。即使存在的误差很小,积分项也还是会随着时间的增大而不断增大的。所以,比例控制加上积分控制,可以使系统在稳态后不存在误差。微分控制(d) 控制器的输入与输出信号的微分成正比关系。在客服误差时,它的调节过程会出现振荡甚至失去稳定,是因为较大惯性造成的,所以说在控制器中仅仅引入“比例”是远远不够的。这样,比例加上微分的控制,可以使抑制误差等于零,比例加上微分控制能够改善系统过程的动态性。2.2 pid控制器 pid的优点就是它的控制理论是独立的,它只用控制目标与被控制的对象来现出误差。 pid的缺点是信号处理简单、不能全面的发挥其优点。容易引起超调,微分信号的产生只能是近似的。在误差积分反馈的引入中,闭环会变得很迟钝。 3. 各个模块的硬件选择3.1 系统整体方案单片机电源电路按键电路温度传感器液晶显示发光二极管电机复位、晶振 这次论文主要是在单片机的基础上设计的pid控制器,外围电路包括电源电路、按键电路、晶振复位电路、定时电路、温度传感电路、液晶显示电路、电机驱动电路和串口电路。设计三个按键。第一个按键实现温度的加值功能,第二个实现温度的减值功能,第三个实现开启定时的功能,也就是d1灯亮时,开启定时,否则定时关。在液晶显示电路中,上面一行显示当前的时间,下面一行前半部pt显示温度传感器的温度值,后半部分td显示设定的温度值。3.2 方案论证 3.2.1 温度传感器的选择在本设计中,采用了数字式的集成温度传感器ds18b20作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理。由于数字式集成温度传感器ds18b20的高度集中化,大大降低了误差因数,使误差变得很小,并且可以直接测出被测量的温度,而且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使其温度的分辨率极高,而且它采用3线制与单片机相连,减少了外部硬件电路,并且它体积小、硬件开销低、精度高、抗干扰能力强,具有成本低和易使用的特点。 3.2.2控制核心的选择在本设计中采用at89c54单片机作为控制核心,通过软件编程的方法进行温度检测和判断,并在其i/o口输出信号。at89c54单片机工作电压低,性能高,片内含有8k字节的只读程序存储器rom和256字节的随机存储器ram,它兼容标准的mcs-51指令系统,单片机价格也不贵 3.2.3 温度显示器的选择 方案一:采用lcd1602液晶显示屏显示温度。 方案二:采用led共阴数码管显示温度对于方案一,液晶显示具有显示字符优美,其不仅能显示数字还能显示字符甚至是图形,这是led数码管无法比拟的。而且它低压,微功耗、极低的工作电压。方案二:用数码管显示成本很低,显示温度很清晰明确,既是在很黑的地方也可以看得到,而且软件相应的编程也简单一点。 本设计中用1602,如果用数码管的话要用4个单个数码管,而不要用4位1组的数码管,因为4位1组数码管的显示需要动态扫描太浪费cpu的资源,因为cpu主要精力在于用定时中断处理pwm,如果在加上动态扫描led管就会出现不连续的现象甚至led管根本就不显示内容。用1602可以节省一些cpu资源。 3.2.4 电机控制的选择在本设计当中,要想让单片机控制直流风扇就需要加驱动电路,原因是可以为直流电机提供足够大的驱动电流。在本次的设计当中,用到了达林顿反向驱动器uln2003a来驱动直流风扇电机。uln2003a在使用时接口简单,操作方便,可为电机提供较大的驱动电流,它实际上是一个集成芯片,每块芯片可同时驱动8个电机,每个电机由单片机的一个i/o口控制,单片机i/o口输出为5v的电压。 4 电路设计4.1 单片机的介绍 4.1.1 单片机的定义scm(微控制器)是一个集成电路芯片,是采用超大规模继承电路技术对cpu具有数据处理能力,随机存取存储器ram,只读存储器,多种i / o口和中断系统,定时器/计数器等功能(其也可以包括一个显示驱动电路中,脉冲宽度调制电路,模拟复用器,a / d转换电路)成小但完美片硅微计算机系统构成,在广泛应用于工业控制。从80年代的4,8位微控制器,到现在的高速单片机300m。 4.1.2 89c51单片机内部结构 单片机是在一块鬼片上集成了cpu、ram、rom、定时器/计数器、并行i/o接口、串行接口等基本功能部件的大规模集成电路,又称为mcu.89c51单片机主要具有下列部件:a、 mcs-51内核的8位微处理器(cpu)一个;b、 片内振荡器及时钟电路一个,它最高的允许振荡频率为24mhz;c、 4kb程序存储器rom用于存放程序代码、数据或表格的;d、 用于存放随即数据,变量、中间结果的128字节数据存储器ram;e、 4个8位并行i/o接口p0-p3,它的每个口都可以作为输入或输出;f、定时方式或者计数器方式用2个16位定时器/计数器,每个定时器/计数器都可以设置;f、 单片机之间或单片机与pc机之间的串行通讯用1个全双工串口;g、 中断控制系统具有5个中断源、2个中断优先级。 4.1.3 单片机引脚说明: vcc:供电电压。gnd:接地。p0口:p0口是一个8位的漏级开路的双向i/o端口,它的每个脚可吸收8ttl门电流。当p1口的管脚第一次被写入1时,就被定义为高阻输入。p0用于外部程序数据存储器,它被定义为数据/ 地址的低八位。p1口:p1口是一个为内部提供上拉电阻的8位双向i/o端口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,由于内部上拉的缘故,p1口被外部下拉为低电平时,将输出电流,。p2口:p2口管脚为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。内部上拉的缘故它作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。由于上拉的缘故,作为输入,由于外部下拉为低电平,p3口将输出电流(ill)。p3口也可作为at89c51的一些特殊功能口,如下所示:p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)。rst:复位输入。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入xtal2:来自反向振荡器的输出。4.2 各部分电路设计 4.2.1 电源电路设计 本次设计的电源电路用的是7805稳压电源。 7805是我们在平时的实验及设计中最常用到的稳压芯片,它如果要输入一个直流稳压电源只需要一个很简单的电路就可以了,它的输出电压正好是+5v,就符合乐51单片机运行所需的电压值。它有三个引脚:其中1接整流器输出的正电压,2为公共地也就是负极,3是+5v电压。 4 .2.2 按键电路设计在单片机的应用中,按键它主要有两种方式:1、直接按键; 2、矩阵编码键盘。在直接按键中,它的每个按键都单独接到了单片机的相应的一个i/o口上,而直接按键则是通过判断按键端口的电位即可识别按键操作;而矩阵键盘则是通过行列交叉按键编码来进行识别的。在本设计中则采用直接按键,是用三个按键控制的,第一个对控制温度的值进行加操作,第二个对控制温度的值进行减操作,第三个用来开启定时功能。 进行一次完整的击键过程,主要包含以下5个阶段: 1. 等待阶段: 此时如果按键还没有被按下,则处于空闲阶段,也就是等待阶段。2. 前沿(闭合)抖动阶段:此时如果按键刚刚被按下,但按键信号还有抖动存在,这个存在抖动的时间一般为520ms。为了确保按键操作不会出现错误,此时必须有个前沿消抖动延时。3. 键稳定阶段:此时抖动已经结束乐,已经产生了一个有效的按键动作。系统应该在此刻就开始执行按键功能;或将按键所对应的键值记下来,待按键释放。4. 后沿(释放)抖动阶段:一般来说,程序应该在这里再做一次的消抖延时,。 5. 按键释放阶段:此时后沿抖动操作已经结束,按键已经完全处于释放状态, 如果按键在释放后再执行功能的,则就可以在这个阶段进行一些按键操作的相关。 4.2.3显示电路设计在本次设计中采用了lcd1602液晶显示来显示当前所设定的时间值,环境温度值,与控制温度值。字符型lcd1602的每一个字符都有它固定的代码,代码对应的字符的点阵图形数据由字符发生器产生,通过驱动电路后在lcd上显示出字符,它是用5x7的点阵图形来显示个各种字符的一种液晶显示器。通常为了简化开发,可以购买lcd及其驱动电路的显示器,称为lcd模块。1602lcd是指显示的内容一共有16x2,即可以显示两行,每行有16个字符液晶模块(显示字符和数字)。(1) 液晶各个引脚功能说明: 第1脚:vss为接地电源 第2脚:vdd接5v正电源 第3脚:vl为液晶显示器对比调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的滑动变阻器调整对比度。 第4脚:rs为寄存器选择,低电平时选择指令寄存器、高电平时选择数据寄存器。 第5脚:r/w为读写信号线,在输入高电平时进行读操作,输入低电平时进行写操作。当rs和r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平r/w为高电平时可以读忙信号,当rs为高电平r/w为低电平时可以写入数据。 第6脚:e端为使能端,当e端由高电平跳变为低电平时,液晶模块执行命令。 第7-14脚:d0-d7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。(2) 液晶工作原理 如图所示是1602内部地址 例如第二行第一个字符是40h,那么是否直接写入40h就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址是要求最高位d7恒定位高电平1,所以写入的数据应该是01000000b(40h)+100000000b(80h)=11000000b(c0h). 在本设计当中,主要用lcd1602来显示当前的时间以及采集温度和定时温度。在液晶的第一行,显示当前的时间,它使用ds1302芯片来控制的,第二行的前半部分tp显示的是当前的环境温度,也就是ds18b20的温度,后半部分td是系统设定的温度,如图所示: 4.2.4定时电路设计本设计当当中用到了ds1302时钟芯片。ds1302是一种高性能、低功耗的实时时钟芯片,采用spi三线接口与cpu进行同步通信。它的实时时钟可提供秒、分、时、日、星期还有年。工作电压宽达2.55.5v. 引脚功能:vcc1:主电源;vcc2:备用电源;当vcc2vcc1+0.2v时,由vcc2向ds1302供电,当vcc2 vcc1时,由vcc1向ds1302供电; sclk:串行时钟,输入,控制数据的输入与输出; i/o:三线接口时的双向数据线。 ce:输入信号,在进行读、写数据期间,必须将其设置为高。该引脚由两个功能:第一,ce开始控制字访问移位寄存器的控制逻辑;第二,ce提供结束单字节或多字节数据传输的方法。 本设计当中用到了ds1302时钟芯片来控制当前的时间,在芯片引脚的x1、x2端口用到了32.768khz的晶振,这个晶振就像是一个非常标准的时钟,它可以很准确的显示时间。32.768khz的晶振比较容易产生1秒的时钟频率,在本设计当中,它与单片机的如图所示: 4.2.5 温度采集电路 本设计采用温度传感器ds18b20作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强。 ds18b20内部结构主要有四部分:温度传感器、配置寄存器、64位rom、非挥发的温度报警触发器th和tl.其管脚有三个,其中i/o为数字信号端,gnd为电源地,vdd为电源输入端。在本设计当中,温度传感器用来检测当前的环境温度,它与单片机的连接如下图所示: 4.2.6 电机驱动电路本设计要用单片机控制风扇直流电机,需要驱动电路,为直流电机提供足够大的驱动电流。本设计电路中,用到了达林顿反向驱动器uln2003a来驱动风扇电机。uln2003a接口简单,操作方便,可为电机提供较大的驱动电流. uln2003a输入5v ttl电平,输出可达500ma/50v。它是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350ma。它由七个硅npn达林顿管组成,其中每一对达林顿都串联一个2.7k的基极电阻,在5v的工作电压下它能与ttl和cmos电路直接相连,可以直接处理原先需要标准逻辑缓冲器。uln2003a的输出结构是集电极开路的,所以要在输出端接一个上拉电阻,在输入低电平时的时候输出才是高电平,电流是由电源通过负载灌入uln2003a. 本设计当中用到了uln2003a来驱动直流风扇,其中10k的滑动变阻器与电机相连,主要是用来检测系统,如果系统出现问题,也就是说风扇不转的时候,还可以手动调节风扇的转速,它与单品机的连接方式如图所示: 5 软件设计5.1 程序设置 程序设计主要包括主程序、ds18b20初始化函数、ds18b20温度转换函数、温度读取函数,液晶显示函数,定时处理函数以及风扇电机控制函数。ds18b20初始化函数完成对ds18b20的初始化;ds18b20温度传感函数完成对环境温度的采集,温度读取函数完成主机对温度传感器的读取及数据换算,按键函数则 根据需要完成初值的加减设定,温度处理函数对采集到的温度进行分析处理,为电机转速的变化提供条件,风扇电机控制函数则根据温度的数值完成对电机转速及启停的控制。 主程序流程图 5.2 keil uvision4的介绍 最新的keil uvision4 引入了灵活的窗口管理系统,能够拖放到试图内的任何地方,包括支持多显示器窗口。它不仅给人们提供了丰富的函数库,而且它强大的集成开发调试工具从而为程序的调试带来了极大的方便,在开发大型软件是能够体现出很多高级语言所具有的优势。在使用时要先建立一个工程,然后添加文件并开始 编写程序,在程序编写好以后再进行调试。 keil uvision4的使用界面如下: 5.3 protues的介绍 protues是世界领先的eda工具(仿真软件),从原理图设计,调试和单片机外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的代码完整的设计。为单片机的开发应用带来了很多方便。软件使用的界面如图: 本设计基于protue的仿真 把温度传感器ds18b20的温度设置为34摄氏度,用按键k+调节系统一定的温度为30摄氏度。单击开始按钮后,系统就开始仿真了,待一段时间系统达到稳定后,观察此时的风扇直流电机的转速为+59r/s. 把温度传感器ds18b20温度设置为37摄氏度,用按键k+调节系统预设的温度为30度。点击开始按钮,系统看是进行仿真,待一段时间电机的转动稳定后,观察到直流风扇电机的转速为+68.3r/s, 当把温度传感器ds18b20温度设置为39摄氏度,用按键k+调节系统预设的温度为30摄氏度。点击开始后,系统就开始进行仿真,等过一段时间系统稳定后,观察此时的直流风扇电机的转速为,如图所示+80.8r/s,如图所示 在上一步的仿真基础上(温度传感器ds18b20温度设置为39摄氏度,系统预设温度为30摄氏度),用按键k+调节系统预设温度至40摄氏度,此时可知系统预设温度大于温度传感器ds18b20检测到的温度,观察到直流风扇电机的转速逐渐减小,最后转速变为0.符合系统要实现的功能,如图所示。 通过上述仿真可以发现,当直流风扇电机在系统设定一定温度的情况下,转速会随着环境温度,也就是温度传感器ds18b20检测到的温度的增加而增加。当环境温度低于系统预设的温度时,直流电机风扇的转速就会逐渐减小,直到停止转动,这就实现了所设定功能。 6 程序运行数据分析在本设计当中,直流风扇电机的转动主要是通过pid控制算法来实现的,也就是比例控制、积分控制、微分控制。其中ds18b20所显示的温度就是环境温度,它与系统设定的温度值进行比较,当环境的温度值大于系统设定的温度值时,直流风扇电机的转速会不断增大,否则反之。 通过对上述两幅图的比较,可以发现,pid 控制的优点是:原理简单、使用方便,而且适应性强;它的控制品质对被控制对象的变化不太敏感;pid算法有它独特的一套c参数征订与设计方法,易于被 工程技术人员掌握;许多工业回路中对控制快速性和控制精度要求不是很高,而更重视系统的可靠性,使用pid控制能获得较高的性价比;长期应用过程中,对pid算法缺陷可以进行改良 6 结束语 本次设计的系统以单片机为核心,用温度传感器来检测环境温度,实现了根据环境温度变化调节不同的直流风扇电机转速,在一定范围内能实现直流风扇电机转速的调节,用液晶显示来显示当前的时间、环境温度和设定温度,而且用到了两个独立按键来调节不同的设置温度。在这次毕业设计中,从一开始的确定设计方案,收集各种资料到硬件的焊接调试到最后的撰写论文,我都得到了梁老师的全力帮助和耐心指导,在此非常感谢梁老师。同时也向每一位给予我帮助的同学表示感谢。大学四年的生活中,我不仅能学到了很丰富的专业知识,也学到了积极地生活态度。这次的毕业设计使我对以前课本上所学的知识巩固并加深了一下。在本次毕业设计结束之际,再次给予帮助与支持我的同学和老师们致以最真诚的感谢。参考文献1 肖看 单片机原理、接口及应用嵌入式系统技术基础(第2版)。清华大学出版社, 2009 2 谢和瑞等,串行技术大全. 清华大学出版社,20033 朱清慧.proteus显示控制系统设计与实例.清华大学出版社,20114 陶永华.新型pid控制及其应用.北京:机械工业出版社,19985 吴占雄;王友钊.基于80c51单片机的智能pid控制器的设计与实现.电子器件2006年第03期6 潘新民.微型计算机控制技术m.北京:电子工业出版社,20037 张毅刚、彭喜源、谭晓军等.mcs-51单片机应用设计.哈尔滨工业大学出版社,20008 蓝厚荣 单片机的pwm控制技术j.工业控制计算机 .2010.23(3).97989 胡寿松 自动控制原理基础教程(第三版).科学出版社.200310 张普光.基于单片机的温度控制器设计与研究.西安电子科技大学,200811 马忠梅等.单片机的c语言应用程序设计.北京航空航天大学出版社,2003修订版12 齐志才、赵继印.mcs-51系列单片机原理及接口技术.北京:中国建筑工业出版社,2005#include#includeds1302.h#includelcd1602.h/*常量、相关的单片机管脚的定义*/#define uchar unsigned char#define uint unsigned int/*按键的定义*/sbit k_set = p33;sbit k_model = p34;sbit key1=p35;sbit key2=p36;sbit key3=p37;sbit led = p14;/*电机管脚的定义*/sbit motor=p13;/*ds18b20数据管脚的定义*/sbit ds=p16;systemtime currenttime;unsigned char kshi = 14,kfen = 40;unsigned char gshi = 14,gfen = 40;uint count=500,alarm=200; /最初温度上下限值:30度、20度,它们是可以通过按键自己设定修改的;uint temp_set = 300;uchar shu,ii,choice; /记录k1键被按下的次数,来确定数码管要显示的内容; uint temp; / 定义温度变量uchar tempstring4,tdstring4;uchar flag,flag2,flag3; /标志位uchar dt_flag;uchar model_flag; /模式标志位uint speed = 10; /风扇转速基准systemtime currenttime;uint kp_gain = 10; /proportional gainuint ki_gain = 2; /integral gainuint kd_gain = 15; /differential gain/*串口uart初始化函数*/void send_int(void) tmod = 0x21;/ 定时器1工作于8位自动重载模式, 用于产生波特率th1 = 0xfd; / 波特率9600tl1 = 0xfd; th0=0xd8; /定时器0定时10ms tl0=0xf0; et0=1; /允许定时器0中断 es=1; /允许串口中断 ea=1; /开中断 scon = 0xd8; / 设定串行口工作方式pcon = 0x00;/ 波特率不倍增/*延时函数*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=120;y0;y-);void delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j0)i-;ds=1;i=4;while(i0)i-;/*ds18b20的读函数*/uchar tmpread() /读取一字节uchar j,k,dat;uint i; for(j=1;j0)i-;dat=(k1);/读出的数据最低位在最前面存一个字节在dat里 return(dat);/*ds18b20的写函数*/void tmpwritebyte(uchar dat) /写一个字节 uint i; uchar j; bit testb; for(j=1;j1; if(testb) /写 1 ds=0; i+;i+; ds=1; i=8;while(i0)i-; else ds=0; /写 0i=8;while(i0)i-;ds=1;i+;i+; /*ds18b20的数据转换函数*/void tmpchange() /ds18b20温度变换dsreset();delay(1);tmpwritebyte(0xcc); /跳过读取内存romtmpwritebyte(0x44); /开始转换/*ds18b20的读温度函数*/uint tmp() /读取温度float tt;uchar a,b;dsreset();delay(1);tmpwritebyte(0xcc);tmpwritebyte(0xbe);a=tmpread(); /a为低字节8位b=tmpread(); /b为高字节8位temp=b; /temp为温度值uint 16bittemp127) flag=1; temp=temp+1;tt=temp*0.0625; / temp/16 则是温度的真实值tt.7位整数,4位小数temp=tt*10+0.5; / 扩大十倍取出了第一位小数return(temp); /*温度显示*/void di

温馨提示

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

评论

0/150

提交评论