基于51单片机的WIFI无线温度测控系统毕业论文.docx

上传人:小飞机 文档编号:4957690 上传时间:2023-05-26 格式:DOCX 页数:40 大小:790.46KB
返回 下载 相关 举报
基于51单片机的WIFI无线温度测控系统毕业论文.docx_第1页
第1页 / 共40页
基于51单片机的WIFI无线温度测控系统毕业论文.docx_第2页
第2页 / 共40页
基于51单片机的WIFI无线温度测控系统毕业论文.docx_第3页
第3页 / 共40页
基于51单片机的WIFI无线温度测控系统毕业论文.docx_第4页
第4页 / 共40页
基于51单片机的WIFI无线温度测控系统毕业论文.docx_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《基于51单片机的WIFI无线温度测控系统毕业论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机的WIFI无线温度测控系统毕业论文.docx(40页珍藏版)》请在三一办公上搜索。

1、目录第一部分总体设计与选型分析.31.1总体设计3.1.1.1受控模块3.1.1.2测温模块4.1.1.3单片机系统 4.1.1.4显示模块4.1.1.5控制模块4.1.1.6 wifi 模块4.1.1.7上位机4.1.2选型分析4.1.2.1受控模块方案 .4.1.2.2测温模块方案.4.1.2.3控制模块方案.5.1.2.4显示模块方案.5.第二部分电路硬件设计6.2.1受控模块6.2.2测温模块6.2.3单片机系统7.2.4显示模块8.2.5控制模块9.2.6 wifi 模块1.02.7上位机1.2第三部分 系统软件设计 123.1主程序设计1.33.2子程序设计1.43.2.1 LCD

2、1602 子程序143.2.2 DS18B20 子程序153.2.3 串口中断程序163.2.4 定时器中断程序 163.2.5 PID 子程序17第四部分PID调试1.84.1 PID 调节器控制原理 184.2位置式PID算法194.3 PID 参数整定194.3.1 整定比例带194.3.2 整定积分时间194.3.3 优化参数204.3.4 关于微分204.3.5 死区设置20第五部分系统性能优化205.1反应速度优化205.2稳定性优化215.3优化前后系统性能对比22第六部分问题总结236.1硬件问题236.1.1 MOS管开关无法正常工作236.1.2 电脑无法连接 WIFI模块

3、236.1.3下位机返回数据乱码 236.1.4液晶无法显示236.2软件问题236.2.1上位机与下位机无法正常通信236.2.2 PID程序无法调用246.2.3 DS18B20测温不稳定24第七部分总结24参考文献24附录A仿真图25附录B受控模块实物图 26附录C程序27基于单片机的WIFI无线温度测控系统摘要:温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、 蒸馏、浓度、结晶以及空气流动等物理和化学过程。温度控制失误可能引起生产 安全、产品质量、产品产量等一系列问题。本文介绍的是一个以单片机为核心的无线温度控制系统,主要通过 WIFI模 块完成远程温度控制功能。在一定

4、的区间内,在自动控制系统的控制下,温度始 终在人们要求的范围之内。它利用单片机STC89C52温度传感器DS18B2C及LCD 等器件实现。基本工作原理是单片机利用 DS18B20寸温度进行采集,通过串口传递给WIFI 模块,再利用无线信号将数据传递给上位机(笔记本电脑或手机)进行温度显示。 同时,上位机可以利用无线信号和通信串口发送目标温度给单片机, 单片机利用 内置的PID算法进行控温。关键词:单片机;WIFI发送接收;PID;温度控制;LCD显示第一部分总体设计与选型分析系统的总体设计方案应在满足系统整体性能指标的前提下, 充分考虑系统使 用的环境,所选的结构要尽量简单实用、易于实现,器

5、件的选用要着眼与合适的 参数、稳定的性能、较低的功耗、低廉的成本以及较好的互换性能。1.1总体设计以下为本设计的总体框图受控模块控制模块显示模块*单片机系统* wifi模块上位机1.1.1受控模块受控对象为水泥电阻和12v供电的风扇,水泥电阻使用12v电源进行加热, 风扇用来对水泥电阻进行降温,使其达到目标温度,从而实现温度控制。1.1.2测温模块测温电路核心器件是温度传感器DS18B20 DS18B20测得水泥电阻的温度传输给单片机进行相应的处理。1.1.3单片机系统本设计的单片机使用51单片机。单片机系统连接受控模块、显示模块、控 制模块、wifi模块四个部分。1.1.4显示模块显示模块使

6、用LCD1602进行显示,由单片机驱动,显示测温对象的当前温度 以及目标温度。1.1.5控制模块控制部分使用MOST作为开关器件来控制对受控对象的加热以及降温从而达 到温度控制的效果。单片机根据内置的PID程序输出不同占空比的PWM波,控制 MOST的通断,从而达到控温的目的。1.1.6 wifi 模块wifi模块为有人的USR-WIFI232-Twifi模块通过串口与单片机系统之间进 行双向的数据传输,具体数据由与 wifi模块连接的上位机决定。1.1.7上位机上位机软件使用wifi模块配套的软件,而不去重新编写以加快进度。上位 机通过wifi模块向下位机发送两种指令。一种是查询指令,要求下

7、位机返回受 控对象当前的温度;另一种是控制指令,修改测温对象的目标温度。1.2选型分析1.2.1受控模块方案方案一:将水泥电阻和风扇均直接置于外界环境中。该方案利于风扇对水泥 电阻的降温,但外界环境的空气流动以及温度变化将会对水泥电阻的加热产生较 大影响。方案二:将水泥电阻和风扇均至于密闭的容器内。该方案可以减小外界环境 变化对水泥电阻加热的影响,但由于空气难以流动使得风扇的降温效果较差。方案三:将水泥电阻置于容器内,将风扇固定在容器外,并在容器上风扇扇 叶位置钻孔。钻孔的容器仍有较好的隔热效果,且风扇工作时容器内外的空气能 较好的进行热交换。综合考虑,本设计采用方案三。1.2.2测温模块方案

8、方案一:使用数字型DS18B20温度传感器。DS18B20是常用的温度传感器, 具有体积小,硬件开销低,抗干扰能力强,精度高的特点。它是单线接口方式, 在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20勺双向通讯; 测温范围55C+ 125C,在10-50 C范围内精度高达0.1 C;支持多点 组网功能,多个DS18B2C可以并联在唯一的三线上;且在使用中不需要任何外围 元件。方案二:使用pt100通过电桥将温度变化转换为电压变化供单片机识别。铂 电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温(

9、-200 C 650 r )范围的温度测量中。PT100是一种广泛应用的测温元件,在-50600 CC 范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干 扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校 正。方案二用的是温敏电阻传感器,它是将温度变化转化为电阻变化,再通过外 围电路转换为电压信号,虽然测量范围较大,但操作复杂,且对外界的环境要求 很高,不宜实现。方案一利用的是 DS18B2C传感器,可以用单片机驱动,简单易 于实施,所以基于以上的分析和题目的要求,我们选择方案一。1.2.3控制模块方案方案一:使用MOST作为开关控制。MOS管为压控流

10、型器件,通过单片机10 口电平的不同可以控制电源通断,反应迅速,但由于单片机 I0 口的电压限制难 以直接驱动MOS管,因此需要在单片机10 口外接一个三极管以增加驱动电压, 然后接MOST控制电源通断。方案二:使用继电器作为开关控制。选用继电器可以将加热电路与控制电路 分离,以避免相互之间的干扰,但继电器的开关会有机械振动, 影响系统的稳定 性切会产生较大噪声,而且继电器的开关寿命短,反应速度要比MOS管慢得多,不适用于需要频繁开关的电路。本设计控制方法为单片机IO 口输出不同占空比的PWMfe以调节水泥电阻的 加热功率,以及风扇的降温功率,因此采用方案一比较合适。1.2.4显示模块方案方案

11、一:采用通用的LED数码管。该方案成本较低,电路设计简单,程序的 编写也相对来说较方便。但数码管只能显示数字,且显示位数越多所需的驱动电 流就越大,需要另外设计驱动电路。方案二:采用LCD1602液晶。LCD1602液晶模块内部的字符发生存储器(CGROM) 已经存储了 160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的 大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。这样在 显示温度数据的时候就比较直观,同时在一定程度上也增加了字符的丰富感。 但 成本较高,编程较为复杂。方案三:采用LCD12864液晶。带中文字库的128X64是一种具有4位/8位并 行、2线或3

12、线串行多种接口方式,内部含有国标一级、二级简体中文字库的点 阵图形液晶显示模块;其显示分辨率为 128X 64,内置8192个16*16点汉字, 和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作 指令,可构成全中文人机交互图形界面。可以显示8X4行16X16点阵的汉字.也 可完成图形显示低电压低功耗是其又一显著特点。但成本高,编程复杂。为了更加方便的满足设计要求,并节约成本,我们采用了方案二,采用 LCD1602进行显示。第二部分电路硬件设计设计由受控模块,测温模块,单片机系统等部分构成,具体框图请参照第一 页的总体框图。该设计的核心为单片机系统。测温模块测得温

13、度之后传递给单片 机,单片机根据当前温度与目标温度调用不同的程序去驱动控制模块对受控模块 进行控制。单片机作为下位机,与上位机进行双向的数据传输。 下位机接受上位 机的指令并给出一定的反馈。2.1受控模块受控模块的受控对象为水泥电阻和 12v供电的风扇,因为水泥电阻和风扇无 法仿真,在仿真电路中以LED串联10K电阻来模拟,LED的亮灭指示加热电路通 断以及风扇是否工作。本设计将四个3欧姆的水泥电阻串联焊接在电路板上并将其悬挂于用亚克力 板制成的密封容器内。由于容器内相对静止的空气有较好的隔热效果,可以减小外界环境对水泥电阻温度的影响。 两个水泥电阻缝隙间的温度较为稳定,利于温度传感器读取稳定

14、的温度值。风扇固定在容器外部,并在容器上风扇扇叶的位置以及容器上该面的相对面 上的相应位置钻孔。当风扇工作时容器内外的空气通过容器两个相对面上的小孔 流通,从而打到降温的效果。另外,我们在小孔位置悬挂了一片塑料膜,当风扇 工作时塑料膜被吹起,可以指示风力的大小,当风扇不工作时塑料膜覆盖在小孔 上,从而减小外界环境通过小孔对容器内部的影响。2.2测温模块测温模块使用DS18B20DS18B20是美国Dallas半导体公司的新一代数字式温度传感器,它具有独特 的单总线接口方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器, 从而使测温装置与各传感器的接口变得十分简单,克服了模拟式传感器与微机

15、接口时需要的A/D转换器及其他复杂外围电路的缺点,而且,可以通过总线供电, 由它组成的温度测控系统非常方便,而且成本低、体积小、可靠性高。DS18B20的测温范围-55+125C最高分辨率可达0.0625 C,由于每一个 DS18B20出厂时 都刻有唯一的一个序列号并存入其 ROM中,因此CPU可用简单的通信协议就可以 识别,从而节省了大量的引线和逻辑电路。Dallas公司的单总线技术具有较高的性价比, 适用于低速测控场合,测控对 象越多越显示出其优越性;硬件施工、维修方便,抗干扰性好;具有 CRC校验功 能,可靠性高;软件设计规范,系统简明直观,易于掌握。钟脉冲信号通过由高温系数振荡器产生的

16、门开通周期而被计数,通过该计数值来测量温度。计数器被预置为与-55 C对应的一个基数值,如果计数器在高温系数 振荡器输出的门周期结束前计数到零,表示测量的温度高于-55 C,被预置在-55 C的温度寄存器的值就增加一个增量,同时为了补偿和修正温度振荡器的非 线性,计数器被斜率累加器所决定的值进行预置,时钟再次使计数器计数直至零, 如果开门通时间仍未结束,那么重复此过程,直到高温系数振荡器的门周期结束 为止。这时温度寄存器中的值就是被测的温度值。这个值以16位二进制补码的形式存放在便笺式存储器中。温度值由主机通过读存储器命令读出,经过取补和 十进制转换,得到实测的温度值。2.3单片机系统本设计采

17、用的单片机是 STC89C52(仿真图中是AT89C52 。STC89C5是STC公司生产的一种低功耗、高性能CMOS位微控制器,具有8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高 灵活、超有效的解决方案。下图为proteus仿真图中的最小系统部分,包括了 STC89C52以及周围的复 位电路和晶振电路。晶振电路中使用的电容为22pf,晶振为11.0592HZ。复位电 路中的电阻为10K,电容为22

18、uf。XTAL2RSTU1PCDZADO P01W1PO.2W2PO.3/AD3PO 4/AD4PC 5/AD5PO 5/AD6PO 7/AD7psaiALE EAP2 0JAB P2 UA9 P2.2M10 P2.3AM1 P2 4/A12 P2SW13 P2 6/A14 P27/A1SPI m2 P1M2EXPI 2 PUPI 4P15P1 6PI 7P3 0URXDP3 1/TXDP3 2匝P3.3JiT1P3.4H0P3.5/T1P3 6AP3 7JRObibibtbiqqa亠qLJlHi2.4显示模块1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号 等的点阵型

19、液晶模块。它由若干个 5X7或者5X11等点阵字符位组成,每个点阵 字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔, 起到了字符间距和行间距的作用,它显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。设计采用LCD1602液晶,它与单片机P0和P3 口相连接,单片机根据所测得 的温度数据和内部存储的目标温度通过编程实现在LCD1602上显示。LCD2LM032L 粗呂也心匚lcc蔗gg 5r Ct Et LU QOCiCiQQCiQ3CD0O二r-iCCiy0IDOL.7 C;gCl0i-OOZioopp主要技术蔘数;显示容星18X2个字舒芯

20、片工作电压:4. 5-5. 5V工件电流:2.0mA (5 0V)換块盅佳工件昵压5.0V字将尺寸:2. 95X4 35 (IVXH) im接口信号说明:编号符号引髀说明编号符号引脚说阴1VSS&D2Data I/O2VD&电源正极1003Data I/O3VL液晶显示偏压值号11WData I/O4RS数堀/命令选择醴H/L12D5Data I/OSR/TT读/写选肾罐(hVL)13DGData I/O6E愷能信号14D7Data I/O7D0Data 1/015BLA背光源正掘801Data 1/016BLK背光理负扱在proteus中1602的VSS/VDD/VE都默认接上相应电压,无须

21、再接,背光源省略。值得一提的是本设计中8位数据位接的是单片机的P0 口,由于P0 口的驱动 能力较弱,此处使用10k的排阻进行上拉。RS接单片机P3A4 口,来选择传输的是命令还是数据。使能端E接单片机P3A5 口来控制液晶的开启与关闭。读写控制端RW接卩3八6,控制液晶操作是读还是写。 2.5控制模块控制模块的电路图如下所示(受控对象由 LED与电阻串联模拟)。控制电路共两个,分别控制水泥电阻的加热和风扇的工作,因为两个电路相 同,此处只列出一个。控制模块工作原理:当单片机控制端加低电平时,三极管 Q1导通,这时Q1 的上端,也就是C极被系统拉到0V左右,这时MOST Q3的G极为0V,所以

22、此 时MOST的DS端不会导通。当单片机控制端加高电平时,三极管Q1不导通,这 是Q1的上端,也就是C极电位为Vcc(15V)-R4两端的压降,电流穿过R3后被稳 压管D3稳压在12V,则此时MOSt的G极电压为12V,所以MOSf导通,负载工 作。2.6 wifi 模块wifi模块为采用实验室提供的有人 USR-WIFI232-T。 下图分别为USR-WIFI232-T外观图和管脚定义。本设计只用到该模块的1至6号管脚。USR-WIFI232-T管脚功能定义管脚描述网络名信号类型说明1GroundGNDPower2+3.3V电源DVDDPower 3鞫25QmA3恢复出厂配置nRcl (Mi

23、di低有效输入脚.可配SSmartLink 脚,必须接上拉电咀4模细复任nReset1低有效输入脚*也须接上拉电阻5串口接收UARTRXI不用请悬空6串口发送UART.TX0不用请悬空7模块电源 软开关,PU高有效输入脚.不用请悬空(此功能暂时未实现)8PWM/WF5m_3I/O黙认WPS功能*可配JPO/GPrOL8t 不用请悬空9PWnRcadyP1VMJ2I/O默认nRvddy功能,可配成PfM/GP 1012. 不用请悬空10mf/nI4nkI/O默认nLink功能,可配成PI/GPIOll. 不用请悬空单片机采用5v供电,而wifi模块采用3.3.v供电,因此需要转换电路,否 则下位

24、机无法正确返回数据。串口32#转5V推荐电路1.若用户设备RX引脚认为3.3瞽是高电平的话*可去掉2.7上位机本设计中使用笔记本电脑作为上位机,通过wifi模块配套的串口助手发送指令。当发送查询指令(十六进制00)时,下位机返回当前温度,并显示TURNON THE 18B20!。当发送控制指令(十六进制 29至3D,对应的十进制数为目标温 度,例如发送2D,即将目标温度修改为45 C )时,目标温度被修改,返回提示 信息 TARGETias been changed! The TARGETS *,并立刻在下位机控制的 LCD 上显示。当发送其他指令时,下位机关闭温度返回,显示TURNOFFTH

25、E18B20!。第三部分系统软件设计温度测量系统的功能是在程序控制下实现的。该系统的软件设计方法与硬件 设计相对应,同样采用模块化的设计思想,按整体功能分成多个不同的程序模块, 分别进行设计、编程和调试,最后通过主程序和中断处理程序将各程序模块连接 起来。这样有利于程序修改和调试,增强了程序的可移植性。温度测量系统的软 件主要分为:温度采集、温度控制、温度显示和数据无线传输。3.1主程序设计系统的主程序设计主要完成系统初始化以及判断调用各模块程序,即主要实现各程序模块的连接。具体有定时器0和定时器1的工作方式设置及初始化,LCD 的初始化,PID程序的初始化,串口通信参数的设置,各变量的初始化

26、。下图为主程序流程图。开始初始化显示目标温度读取当前温度3.2子程序设计321 LCD1602 子程序该子程序包含若干子函数,用于驱动 LCD1602的显示。因为本设计中单片机对LCD的操作速度较慢,因此不必等待,不必读取 LCD的状态写指令流程图写数据流程图RS=1rJP0=comma ndL.JI延时,EN=1JP0=data延时,EN=1延时,EN=0延时,EN=0LCD初始化流程图r?EN=0L1r-rRW=0J1F写指令1J1写指令2J1f写指令3J理T1写指令4J1F1写指令5J322 DS18B20 子程序该子程序包含若干子函数,用于驱动 DS18B20获取当前温度。DS18B2

27、0数据 线定义为DQ初始化函数流程图fDQ=1,稍作延时读字节函数流程图DQ=0,读一位DQ=0,延时大于480usDQ=1,稍作延时DQ=1返回写字节函数流程图读取温度函数流程图323串口中断程序当上位机发送数据给下位机时进入串口中断,调用串口中断程序。该程序主 要是设置标志位供主程序查询。RI=0将接收的数 据传递给af11flag_uart=1r根据a设置flag_Ton-返回324定时器中断程序定时器中断用来设置PID调用周期以及生成PWM波325 PID子程序PID程序是控温的核心程序,当当前温度与目标温度不同时PID程序便会一直调节加热和降温的功率,使当前温度靠近目标温度。第四部分

28、PID调试4.1 PID调节器控制原理在控制系统中,控制器最常用的控制规律是 PID控制。PID控制系统原理框 图如图3.1所示。系统由PID控制器和被控对象组成。图3.1 PID控制系统原理框图PID控制器是一种线性控制器,一种它根据给定值 rin(t)与实际输出值 yout(t)构成控制偏差:Error( t)=rin( t)-yout( t)PID控制就是对偏差信号进行比例、积分、微分运算后,形成一种控制规律。 即,控制器的输出为:1 /Toderror (t) / c 八u(t)=kp error (t)+ error (t)dt+ ( 3.1)lT1dt j或写成传递函数的形式:1+

29、占+TdS(3.2)E(s) I T1S 丿左中,kp 比例系数;Ti 积分时间常数;T d微分时间常数。简单说来,PID控制器各校正环节的作用如下:(1) 比例环节:成比例地反映控制系统的偏差信号error(t),偏差一旦产 生,控制器立即产生控制作用,以减小偏差。比例控制:Gc( s)= Kp(2) 积分环节:主要用于消除静差,提高系统的无差度。积分作用的强尽 弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。 积分控制:Gc(s) = Kp/T is(3) 微分环节:反偏差信号的变化趋势(变化速率),并能在偏差信号变 得太大之前,在系统中引入一个有效的早期修正信号,从而加快系

30、统 的动作速度,减少调节时间。微分控制:Gc(s) = KpT ds4.2位置式PID算法基本PID控制器的理想算式为(/) = Kp期+ #曲妙+耳讐(3.3)式中u(t)控制器(也称调节器)的输出;e(t)控制器的输入(常常是设定值与被控量之差,即e(t) =r(t) -c(t); Kp控制器的比例放大系数;Ti 控制器的积分时间; Td 控制器的微分时间。设u(k)为第k次采样时刻控制器的输出值,可得离散的吩)=瞅)+念+瓦伙)-咻-1)j-oS器为积分系数迢为微分系数式中-由于计算机的输出u(k)直接控制执行机构(如阀门),PID算式(3.4)u(k)的值与执行机构的位置(如阀门开度)

31、一一对应,所以通常称式 为位置式PID控制算法。 位置式PID控制算法的缺点:当前采样时刻的输出与过去的各个状态有关, 计算时要对e(k)进行累加,运算量大;而且控制器的输出 u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的 大幅度变化。4.3 PID参数整定4.3.1整定比例带先把系统设置为纯比例作用。也就是说积分时间无穷大,微分增益为0。逐渐加大比例作用,一直到系统发生等幅震荡。当我们把kp加大到20时,达到 了上述效果。根据经验公式,把比例增益乘以 0.8,kp定为16。此时观察被调 量曲线,发现衰减率大概为0.75,符合要求。4.3.2整

32、定积分时间为了消除静态误差,要添加积分作用。从 0.01开始逐步增加ki。过程中 发现被调量会剧烈变化。经检验发现是积分量sum没有设阈值导致其变量溢出。于是给它设定范围为【-1000-1000】。当增加到0.08时,发现被调量波 动小。系统稳定时间也比较短。于是设 ki为0.08。433优化参数为了进一步加快稳定时间,给 PID函数设置了一个执行范围,当目标温度 比实际温度多于三度时,使加热占空比为 100%当实际温度比目标温度多于一 度时,使散热占空比为100%此时曲线波动小但是震荡频繁,于是减小比例系数至 14。然后观察被调量 曲线发现其在第一个起伏使恢复至设定值所需时间较长, 于是减小

33、积分系数,当 减至0.06时,曲线波动小而平缓。调试结果较为满意。故选定积分参数为0.06, 比例参数为14。4.3.4关于微分微分有超前调节的功能,但是微分作用在测量值存在不间断的微小波动 时,反而会造成调节干扰,不如不要。考虑到温度会有小波动,我们最终决定只 做PI调节。Kd为0。4.3.5死区设置为了减少执行器动作次数,可以对PID调节器设置死区。但是死区过大会 降低调节精度,也会降低稳定性,因为它造成了调节滞后。权衡利弊之后,我们 决定不设置死区以换取高精度。第五部分系统性能优化我们的初步设计没有降温措施,只是加热。在初步完成设计之后我们发现虽 然温度可以稳定在非常接近目标温度的范围内

34、, 但从系统开始工作到温度稳定时 间很长,因此,我们对系统进行了硬件设计优化以及参数优化。5.1反应速度优化Fte Edh VWw I 血霆 FwhHdp_二*山电i.z-:a q 口上图为未经优化的系统控制水泥电阻温度稳定在40度的温度变化曲线(横坐标为采样个数,每两个点之间的时间间隔约为0.8s )。从下位机返回的数据可以看出温度误差已经控制在低于目标温度 0.1度和目标温度直接的范围内,但 从图像可以看出温度变化很慢,从开始加热到完全稳定需要将近十分钟。因此, 我们加上风扇进行降温。我们在加上风扇并微调参数后得到上图所示的温度变化曲线。从下位机返回的数据可以看出温度误差有所增大,为土 0

35、.1 C。从图像可以看出此时的温度出 现轻微的波动。5.2稳定性优化由上图可以看出,当温度第一次上升至目标温度并下降后需要较长时间才能 再次达到目标温度并稳定,我们在多次调节参数没有效果之后稍微改进了一下算 法。使当前温度低于目标温度时控制加热的PWM波有一个基础的占空比,这样就能在当前温度低于目标温度后尽快的上升至目标温度。下图为改进后的温度曲 线。Rt Ml Vkw I Mtn T-Mls DistalU0乍 、迭1金-0 口吕口由上图可以看出,虽然温度还是有一些波动,但较之前而言能更快的接近目 标温度。5.3优化前后系统性能对比本设计的功能除了将水泥电阻稳定在一个温度之外还可以更改目标温

36、度并 再次稳定。我们测试了从室温上升至40度,再上升至45度的情况。以下三幅图 像分别为优化前,第一次优化后以及第二次优化后的图像。由以下图像对比可知优化后虽然误差有了稍微的增大,但稳定所需时间大大缩短了。Rh tdri Vinv JnHrt Fodi OhKIdp Mriindhw Hvlp =J * q t .:恐型M -話n目第六部分问题总结6.1硬件问题6.1.1 MOS管开关无法正常工作在制作控制电路时我没有考虑 MOST的型号,直接在网上找了一幅MOST管 脚分布图作为参考,然而那幅图的漏极和源级的分部与我所用的MOS管刚好相反。MOST的管脚分布要参考官方资料,源级和漏极接反会导

37、致Vgs 直为高,从而使MOST直导通,达不到控制的效果。6.1.2电脑无法连接WIFI模块在实验室时电脑无法连接 WIFI模块,但在宿舍可以,应该是实验室相同型 号的WIFI模块较多,相互干扰导致无法连接,此问题暂未解决。6.1.3下位机返回数据乱码用上位机通过 WIFI模块给下位机发送数据,下位机能够正常接收,并且能 做出相应的正确反应,但下位机本应返回给上位机的数据丢失或者返回的是乱 码。经过查阅资料知道是电平不匹配的问题。单片机使用5V供电,WIFI模块使用3.3V供电,需要增加电平转换电路才能正常工作。6.1.4液晶无法显示开始以为是程序冋题或者是接线冋题,经检查发现是液晶损坏。6.

38、2软件问题6.2.1上位机与下位机无法正常通信1单片机使用11.0592HZ的晶振,波特率设置为9600,但WIFI模块的波特率 默认为115200,未修改时 WIFI模块与单片机之间无法正常进行串口通信。622 PID程序无法调用PID设计为每100ms调用一次,调用方法是由定时器中断处理函数置标志位, PID调用结束后标志位复位。但由于主函数中有较多延时函数,导致中断处理函 数置位后PID程序未来得及执行标志位又复位了。解决办法是将PID的调用放置 在中断处理函数中判断。6.2.3 DS18B20测温不稳定定时器中断开启使得18b20读数不稳定。因为定时器中断是强制性的,一旦 计时溢出,无

39、论程序执行到何处都会被暂停,优先去执行中断服务程序。DS18B20 这种对时序有严格要求的单总线通讯,在发送和接收数据时被定时器中断扰乱了 时序,所以无法通讯。解决办法是直接在读取温度时就把中断关闭,不让PWM的中断打扰,读取温度的时间应该很短,影响不大。第七部分总结本次课程设计由我们两人共同完成, 一人负责硬件电路的设计制作以及部分 辅助程序的编写,另一人负责核心PID算法的设计以及整体程序的调试。 与独自 制作相比分工合作效率更高。但由于都是第一次与他人合作去完成课设, 我们各 自写的程序移植性又不够好,导致两人写的程序不能完全兼容,花了一定的时间 来调试。PID参数整定时意识到:比例,积

40、分,微分三个参数的大小都不是绝对的。 切不可以为我发现一个参数比较合适,就把其固定死,不管别的参数怎么变化, 永远不变前面固定的参数。而要在多个参数之间反复权衡,既要把握原则性,又 要把握灵活性。我们从本次课程设计中收获很大, 除了专业知识以及分析问题解决问题的经 验外我们还学会了如何系统地去完成一个设计。我们已经能够系统地一步步去分 解任务去完成去总结,而不再是像无头苍蝇一样做到哪里算哪里。参考文献新概念51单片机C语言教程:入门、提高、开发、拓展全攻略/郭天祥编著.- 北京:电子工业出版社,2009.1PID调节控制 V1.1 Jan 23,2006 中文版中国电子网技术论坛附录A仿真图-

41、JLMZEL rrcxrrxr.12RWP5DTJ-E.U1Ff5P.b.-3r rtxrvr rr-d.Tr3-G9QEk r rXIEg. E dBBS EbvozEcrcF: LiF:6R84R7-rE.rrfxn-jD5LED-FEDD6R11. r rji.rrF:12g r rji.rr I 7 3 n AIAIAIAAAI HJa斗:.n P2P2P2P2P2R2n.llnJld:E PDmPDPDPDPDPDPDLED-FED r rO.rrpi J1F2pi.l|ruPJP JIPi.rRj.iinjDR3J3 FTHT R3J1 FfTT rnP33 r IpaHFffi1

42、Ra.nFff.rK32卜心Q4r rr-i.rrR9D3g r rcw严F:4Q2D2LED-FED r rtxrr附录B受控模块实物图附录C程序#in clude#i nclude#i ncludevi ntri ns.h#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned intuchar code table=target:;uchar code table1=curre nt:;sbit lcde n=P3M;sbit lcdrs=P3A5;sbit lcdrw=P3A6;sbit DQ=P2A2;sbit pwm=P2A4;sbit pw m仁 P2A5;sbit dula=P2A6;sbit wela=P2A7;sbit led=P1A0;/指示风扇PID函数执行sbit ledO=P1Al;指示主函数执行float TARGET=37;uchar num;uint hightime,high

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号