STM32温度闭环控制_第1页
STM32温度闭环控制_第2页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、自动化综合实践报告一、设计项目简介1.1 项目简介在人们的生产生活中,温度扮演着极其重要的角色。特别是在冶金、医药、食品制造和化学制造业等行业尤其显得重要,在适当的温度下生产的产品质量、产量和合格率会大大的提高。随着社会生产力和科学技术的发展,工农业生产和生活中对于温度的要求会越来越高,因此能够检测温度变化的温度检测设备出现在人们的视线中。恒温控制系统应用于各种工业或者民用领域,如何精确地控制温度成为一个非常重要的研究问题。本系统需要利用STM32来控制各器件的工作情况,使传感器维持在一个固定的温度上。本文所研究的课题是基于嵌入式的恒温控制系统设计,实现了温度的实时监测与控制。温度控制部分,提

2、出了用DHT11、STM32F103ZET6和LCD的硬件电路完成对室温的实时检测及显示,利用DHT11与嵌入式系统连接由软件与硬件电路配合来实现对加热片和散热风扇的实时控制。从DHT11读出或写入DHT11信息仅需要一根数据线,其读写及其温度变换功率来源于数据线,该总线本身也可以向所挂接的DHT11提供电源,不需要额外电源。DC5V散热风扇的实时控制也仅仅需要一根口线,由开发板供电,不需要外加电源。而且本次的设计主要实现温度监测,超温报警,温度控制,超过设定的门限值时自动启动加热和散热装置等功能。而且还要以STM32开发板为主机,使温度传感器通过一根信号线与嵌入式开发板相连接,再加上温度控制

3、部分和人机交互部分来共同实现温度的监测与控制。1.2 实现的功能(1) 能够连续测量环境的温度值,用LCD屏幕来显示环境的实际温度。(2) 能够设定恒温的温度范围,初始范围是29°C。(3) 能够实现温度自动控制,如果设定温度在30C33C,则能使温度保持恒定在30C33C。(4) 使用嵌入式STM32F103ZET6控制,通过按键来选择LCD屏显示的个人信息界面和温度控制界面,通过程序输入来控制恒温范围的设定值,数值采用LCD屏幕显示,并且能够实时显示降温风扇的输出特性曲线。(5) 温度超出范围时能够自动调节降温风扇的转速,达到恒温控制的目标。二、总体设计2.1系统功能设计该设计主

4、要由STM32单片机系统模块,温湿度采集模块、显示模块和键盘模块,降温模块等构成,以STM32F103ZET6芯片作为核心处理器。主要完成的功能有以下几点:对室内温度进行实时检测采集、可按照指令改变控制参数、检测的温度显示出来,通过PID控制算法保持设定温度的恒定,温度出现偏差时可通过降温风扇实时调节,并将输出特性显示在LCD屏上。2.2 系统方案论证电路总体可以分为温度采集模块、单片机STM32最小系统模块、电机驱动模块、按键模块以及显示模块等。以STM32单片机最小系统作为核心控制电路,传感器采集温湿度作为STM32的输入,电机驱动模块、TFTLCD2.8寸液晶屏,以及按键模块作为STM3

5、2的输出。采集温度方面由DHT11温度传感器来完成,它是一个数字温度传感器、内置模数转换,可直接与单片机相连接。而TFTLCD2.8寸液晶显示屏是插针式,也可以直接与单片机相连接。通过DHT11传感器采集当前的温湿度值、经单片机将其处理后的数据送到TFTLCD液晶显示屏来进行显示,主要显示测得的实时温度与设定的温度上下限。利用键盘设置温度阈值,如果当前采集的实时温度不在设定的温度阈值范围之内,则由STM32单片机发出指令来控制电机驱动模块,使电机正常工作来实现室内温度控制。2.3 系统功能框图按照系统能的具体要求,在保证实现其功能的基础上,尽可能降低系统成本。总体设计方案围绕上述思想,初步确定

6、系统的方案如图1.1所示图1.1功能模块框图三、硬件设计3.1控制芯片选择方案一:选用STM32F103ZET6单片机该单片机有144个引脚,为32微处理器M3内核,最大时钟频率可达到72MZhz,处理速度快,效率高。其内部有8个定时器,内个能输出4路PWM波,且有六个能能配置4个通道的捕获。同时内部还有多路AD、DA等,配置有SPI、I2C接口等,内部资源极为丰富,用该处理器为设计带来很大方便5。方案二:选用STM32F103RCT6单片机该单片机有64个引脚,跟上述的STM32ZET6功能极为相似,同样也有多路PWM、输入捕获、AD、DA,配有SPI、I2C等接口,内部资源较为丰富。但是相

7、比STM32ZET6,该单片机体积小,引脚少。内部只有四个定时器(定时器1到定时器4),不过都具有计数、产生PWM波及输入捕获功能。选用方案一3.2DHT11温湿度传感器原理图DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测

8、信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。其原理应用如图所示3.3 LCD液晶显示屏TFT-LCD又叫做薄膜晶体管液晶显示器,其管脚图如上,其管脚在STM32F103中有相应的管脚对应。常用的液晶屏接口很多种,8位、9位、16位、18位都有。而常用的通信模式呢,主要有6800模式和8080模式两种,今天呢,我们来讲的是8080模式。如果大家接触过LCD1602或者LCD12864等,那么就会发

9、现8080模式的时序呢,其实跟LCD1602或者LCD12864的读写时序是差不多的。8080接口有5条基本的控制线和多条数据线,数据线的数量主要看液晶屏使用的是几位模式,有8根、9根、16根、18根四种类型。3.4PID过程控制部分在检测过程中,由于来自外界的各种干扰不断产生,为了达到现场控制对象保持恒定的目的,就必须不断的进行控制。如果干扰使得控制对象发生变化,现场检测元件会将这调节器会按此偏差并以预先设定的整定参数规律发出控制信号,去控制调节器的开度增加或减少,从而使现场控制对象值发生改变,并趋于给定值,达到控制目的。将温度传感器输入作为当前输入,与设定值相减得到偏差,然后再对它进行PI

10、D运算产生输出结果fout,fout的值决定是否加热,加热时间是多少,进而控制加热器。图4.1PID控制流程图比例控制是在设计过程中最常用到的一种手段,但是很多控制对象都存在着滞后性,这会严重影响比例控制的控制效果。比如我们设定温度为70度,当我们只使用比例控制时,会出现实际温度在70度上下一定范围内振荡的情况。所以我们在比例控制的基础上加入了积分控制,积分控制的存在能帮助我们消除静态误差,达到准确的控制温度的目的。但与此同时它也带来了一些负面的影响,会使整个控制系统的响应速度降低。所以我们又加入了微分项,主要用来解决系统的响应速度的问题,其完整的公式如下:u(t)=Kp*e(t)+K忆e(t

11、)+Kde(t)一e(t-1)+u°在PID的调试过程中我们需要主意几个步骤:首先关闭I和D,就是说将他们设定为0。然后加大P,使系统产生振荡;再减小P,找到振荡的临界点;接着加大I,使他达到目标值;注意看超调、振荡和稳定时间是否符合要求;针对他们的情况可以适当的增加一些微分项;为了保证在全工作范围内调试完的结果都有效,我们应当在最大负载的情况下进行调试。11四、软件设计4.1整体程序设计整个设计系统功能是由软件程序配合硬件电路来实现,如果硬件电路已经确定,软件的功能也就基本上确定了,因为软件程序的编译是基于STM32单片机编程。软件部分可分为主程序和子程序,主程序是整个控制系统的核

12、心,用于调节和处理各模块之间的关系2。子程序是各个模块实现实质性的功能,其主要子程序包括:温度采集、键盘扫描、LCD显示等。开站栓浜Its謔是舌按下吕度是舌在设走阑僅范百度是舌在设走餌僅范结束启动电机按罡扫捕罢统初站化LCDrS竜录/J、DSiaB23g<5.$数捋首先进行系统初始化配置,即首先向在Stm32控制器中配制寄存器和I/O口,建立系统任务、测量任务及控制任务,并在启动任务中初始化传感器基础配置。然后在任务中编写用户程序。用户程序设计如下:将接DHT11读到的数据通过STM32的输入捕获模式得到该数据,送到TFTLCD液晶显示屏来进行显示,主要显示测得的实时温度。然后首先判断按

13、键是否按下,如果未按下按键则返回按键扫描,否则再进一步判断所测得的数据实时温度是否在室内温度设定的阈值范围内。如果没有在室内温度设定的阈值范围内,则需要启动电机驱动模块来启动电机,通过热冷客气对流来平衡温差,直到室内温度达到室内温度设定的阈值范围的要求4,.最2后温结度束采主程集序子。程主程序序流程如图3.1所示温度采集子程序就是驱动外部的温度传感器DHT进行工作,通过I/O口通信方式向STM32单片机中写入数据,并且送到TFTLCD液晶显示屏来进行显示。首先进行I/O口初始化,然后是复位DHT11使其恢复初始状态等待DHT11响应。将DS18B20读到的温度数据进行数据转换,并且写入DHT1

14、1单片机,最后结束子程序。配置程序流程图如图3.2所示3.3显示子程序在该系统中使用TFTLCD液晶显示屏来显示DS18B20所采集的当前温度值。显示子程序程序设计如下:首先进行LCD初始化,即向TFTLCD配制寄存器,包括写寄存器函数、LCD写GRAM命令,建立LCD光标位置、扫描方式、显示方向、显示颜色等,并在启动LCD初始化寄存器基础配置,然后通过STM32单片机向LCD写数据,并使LCD寄存器读出数据显示字符串,结束显示子程序。子程序流程图如图3.3所示。图3.3显示程序框图五、部分核心程序5.1主函数设计5.2DHT11读取温度uSDHTU_ReadTAndH(u8*t,uB*h)9

15、u8state=O:u8rxdata5:j;/i.k"发注开始信号/LlDHT11配畫输岀樟式DHTll_ImtInAndOut(L);輸岀'18ms的低电平+2040usJ电平DHT11._HL(h):DelaymsL8):DHTUHL;"2.DHT11发送应苔信号(MCU接收)DHTll_InitInAndOut(0)输入模式wtiile7DHTll_RDO):/等待应笞信号(低电平)while(!DHT11EDO)7/等待应答信号(高电平)/3.DHT11发送40位数据JTU接收)for(i-0;i<5;i卄)3for(j=u;j<Ei;j+-F)

16、3while(DHT11_RD0);/等待信号(拉低)whileC!DHT11_RD0)7/待信号(拉高)Delays(30):rxiiatai«=!;if(DHTll_RDO)rxdataji+:/儿判断校验和正确:1错误:Dif(rxdsta4=rxdsta0-l-rxdata2)*t=rxdata2;*h=txdataio:卜state=1:elsestate=0;returnEtateF六、收获及体会在本次的设计中,首先要感谢吴老师的指导,使我所学的理论知识接受了实践的检验,增强了运用所学知识的能力及动手的能力,为以后的学习和工作打下了很好的基础。通过这次的毕业设计,我学到了

17、许多,在一定的程度上增强了我们的单独动手能力,提高了我们思维的宽度还丰富了我们的专业知识。虽然完成设计的过程是十分辛苦的,但是我们同时也深刻的了解到了工作的不易,并且经过了不断的努力后终于完成设计的那种满足感无以言表。我们相信经过这样的一个历程,在以后的日子里我们会在工作中做得更好。我们所设计的基于单片机的PID温度控制系统本着节能环保的要求,顺应国内外工业生产的发展趋势,使用了自动化的设计模式,实现对水温的自动检测与控制。我相信在不久的将来温度控制系统肯定会广泛地应用在我们的日常生活及工农业生产中,这将会对提高企业自动化水平、降低生产成本、减轻工人劳动强度、提高生活质量等方面起到积极的促进作用,让温

温馨提示

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

评论

0/150

提交评论