![恒温箱控制系统_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/5cccbb7f-8ae4-48ef-9be9-274df53b1931/5cccbb7f-8ae4-48ef-9be9-274df53b19311.gif)
![恒温箱控制系统_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/5cccbb7f-8ae4-48ef-9be9-274df53b1931/5cccbb7f-8ae4-48ef-9be9-274df53b19312.gif)
![恒温箱控制系统_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/5cccbb7f-8ae4-48ef-9be9-274df53b1931/5cccbb7f-8ae4-48ef-9be9-274df53b19313.gif)
![恒温箱控制系统_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/5cccbb7f-8ae4-48ef-9be9-274df53b1931/5cccbb7f-8ae4-48ef-9be9-274df53b19314.gif)
![恒温箱控制系统_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/5cccbb7f-8ae4-48ef-9be9-274df53b1931/5cccbb7f-8ae4-48ef-9be9-274df53b19315.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、恒温箱自动控制系统设计 学科代码:080601 学 号:101401010078 贵 州 师 范 大 学(本 科)毕 业 论 文题 目:恒温箱自动控制系统 学 院:机械与电气工程学院专 业:电气工程及其自动化年 级:2010级姓 名: 周康指导教师: 吴志坚(讲师)完成时间:2014年5月5日 摘要 恒温箱主要是用来控制温度,它为农业研究、生物技术测试提供所需要的各种环境模拟条件,因此可广泛适用于药物、纺织、食品加工等无菌试验、稳定性检查以及工业产品的原料性能、产品包装、产品寿命等测试。恒温箱供科研机关及医院作细菌培养之用;也可以作育种、发酵以及大型养殖孵化等用途。 恒温箱控制系统能够自动温度
2、控制、人工干预温度控制、远程温度控制等多功能的高性能装置。可以形成规模化和产业化,大范围的应用到现代化工业生产。 本论文结合工厂中如何实现恒温箱控制,讨论大多数工业生产情况下对恒温箱中的温度进行有效控制的方法。因此采用以单片机为基础的恒温箱控制系统,单片机系统包括89C52处理器、扩展存储器27512及6264,并行接口芯片8255、8253、ADC0809、8279、掉电保护和复位以及看门狗电路等。具体方法是使用铂锗-铂热电偶进行温度数据采集,经过放大和滤波电路进行A/D转换,转换后的值再根据标准分度表转换成温度值,同时显示出来。并且通过CAN总线传输控制参数关键词: 单片机、恒温箱、 热电
3、偶、 CAN总线AbstractThe thermostat is mainly used to control temperature. It can provide many kinds of simulated conditions which are needed for agricultural research and biological technology tests.So the thermostat is widely used for the sterility testing of medicine,textile industry,food processing,
4、and stability check and all tests on industrial product,including the material properties of products,product packaging and product life.The thermostat can supply scientific research institutions and hospitals with germiculture.In addition,the thermostat can be used for breeding,fermentation and lar
5、ge scale breeding incubator.The thermostat is a high performance device with many functions,which can automatically control temperature,conduct manual intervention and remotely control temperature and can form scale and industrialization and be widely brought in the modernization of industrial produ
6、ction.The paper explains how the thermostat realizes temperature control in factories and discusses the ways in which the factories effectively control the temperature of the thermostat in industrial production.The paper takes the thermostat based on single chip microcomputer as an example.Single ch
7、ip microcomputer system consists of the 89C52 processor ,the Extended memory 27512 and 6264 ,Parallel interface chip 8255, 8253, 8279 and ADC0809, Power-fail protection and reset and watchdog circuit.The specific method is using PT ge - Platinum thermocouple to collect data on temperature, then ampl
8、ifying and filtering the circuit to converse A/D,then according to the standard indexing table,converting the conversion value to the temperature value and showing the two values,the conversion value and the temperature value.Finally conveying the controlling parameter by the CAN bus transmission.Ke
9、y words:Single chip microcomputer, Thermostat, Thermocouples, The CAN bus引言 温度控制是工业生产过程中经常遇到的过程控制,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用,其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同。因而,对温度的测控方法多种多样。随着电子技术和
10、微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。然而现有的温度传感元件大多为模拟器件(热电耦)体积大、应用复杂、而且不容易实现数字化等缺点,阻碍了应用领域的扩展。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机STC89C52作为主控芯片,液晶显示屏作为显示输出,实现了对温度的实时测量与恒定控制。目录:1 系统方案 11.1 恒温箱控制系统设计任务和要求 11.2 恒温箱控制系统部分 21.3 温度控制系统算法分析 22 系统硬件设
11、计 52.1 总体设计框图及说明 62.2 各个子模块设计 72.2.1 CPU的选择 72.2.2温度采集电路 82.2.3温度控制电路设 计102.2.4 LCD显示电路 122.2.5 报警电路 133 系统软件设计13 3.1程序框架结构 14 3.2程序流程图及部分程序 14 3.2.1主程序模块 14 3.2.2 LCD显示程序 15 3.2.3 DS18B20采集温度程序 18 3.2.4 PID计算程序 20 3.2.5 继电器控制程序 214 结论与心得体 会235 参考文献 246 致谢 247 附录 系统源程序 251 系统方案1.1恒温箱控制系统设计任务和要求 该系统为
12、一实验系统,系统设计任务如下: 设计一个恒温箱自动控制系统,控制对象为一玻璃钢的一部分。箱内温度可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持特定的温度不变。 系统设计具体要求: 温度设定范围为30-50摄氏度; 环境温度降低是控制恒温箱温度误差小于0.5摄氏度; 采用适当的方法,使得温度在一定范围内才进行控制,大于某一范围直接加热或者不加热,减小系统的调节时间; 采用适当方法减少系统的超调量; 用LCD1602显示温度与时间。1.2 恒温箱控制系统部分温度控制系统是一个过程控制系统,组成框图如图1所示,由控制器、执行器、被控对象其反馈作用的测量组成。 图1 计算机控制系
13、统框图本系统中CPU选择为单片机,执行器为继电器,控制加热片通断,检测装置为温度传感器采集温度并反馈给单片机。另外还有显示部分以及报警部分(硬件的具体选择与应用我会在第二章做具体说明),总体框图如下(图2) 图2 温控箱控制系统总体框图1.3 温度控制系统的算法分析系统算法控制采用工业上常用的位置型PID数字控制,并且结合特定的系统加以算法的改进,形成了开关量控制积分分离PID控制相结合的自动识别的控制算法。该方法不仅减小了超调量,而且有效地克服了积分饱和的影响,使控制精度提高。长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,产生了大批温度控制器,如性能成熟应用广泛的PID调节器、智
14、能控制PID调节器、自适应控制等。目前在过程控制中应用较多的还是PI控制算法、PD控制算法和PID控制算法。温度控制系统的控制对象具有热储存能力大,惯性也较大的特点,空气的流动或加热片热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。对于大惯性系统的过渡过程控制,一般可采用以下几种控制方案:比例控制(P控制) ty 图4 比例控制比例控制的输出与偏差成比例关系,当负荷变化时,抗干扰能力强,过渡过程时间短,但过程终了存在余差;适用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的系统。如图4所示。比例积分控制(PI控制) 控制器的输出与偏差的积分成比例,积分的作用使过
15、渡过程结束时无余差,但降低了系统的稳定性;PI控制适用于滞后较小,负荷变化不大,被控量不允许有余差的控制系统。如图5所示。 ty 图5 PI控制 ty 图6 PID控制比例积分加微分控制(PID控制) 微分的作用是使控制器的输出与偏差变化的速度成比例,它对克服对象的容量滞后有显著的效果;在比例基础上加入微分作用,使稳定性提高,再加上积分作用,可以消除余差;PID控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。如图6所示。由图7可知PID调节器是一种线性调节器,这种调节器是将设定值w与实际输出值y进行比较构成偏差并将其比例、积分、微分通过线性组合构成控制量。其动态方程为: 其中
16、-为调节器的比例放大系数-为积分时间常数-为微分时间常数PID调节器的离散化表达式为; 其增量表达形式为: 其中T为采样周图7 PID调节器可见温度PID调节器有三个可设定参数,即比例放大系数、积分时间常数、微分时间常数。比例调节的作用是使调节过程趋于稳定,但会产生稳态误差;积分作用可消除被调量的稳态误差,但可能会使系统振荡甚至使系统不稳定;微分作用能有效的减小动态偏差。 通过以上分析,结合温度系统的特性,该系统选择位置式PID,并用开关量控制积分分离PID相结合的改进算法进行系统的调节与控制。选择PID参数是使得系统满足精度要求的关键。2 系统硬件设计2.1 总体设计框图及说明本系统是一个简
17、单的单回路控制系统。为了实现温度的自动测量和控制,根据系统总体方案,系统由单片机基本系统、前向通道、反馈通道和人机对话通道等4个主要的功能模块组成,总体框图如上面图2所示。单片机系统是整个控制系统的核心,STC89C52可以提供系统控制所需的I/O口、中断、定时及存放中间结果的RAM电路;前向通道是控制执行的通道,主要包括光耦、继电器、加热管;反馈通道由DS18b20构成,采集当前实际的温度。数据采集:运用DS18b20数字温度传感器采集当前温度并反馈给CPU进行处理,用于控制和显示。数据显示:运用LCD1602字符型液晶显示屏显示设定温度、实际温度以及当前的时间。执行机构:通过三极管控制继电
18、器来完成对加热管的控制,为防止强电弱电相互影响,在单片机与继电器之间加入TLP521-1光电耦合器进行强电弱电的隔离。系统总体仿真图如图8 图8 恒温箱温度控制系统图2.2 各个子模块设计2.2.1 CPU的选择单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。其使用起来十分简单灵活方便,因此选择单片机作为CPU。本系统选择自己较为熟悉的STC89C52单片机作为CPU。如图9所示。图9 STC89C52封装图STC89C52是
19、一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52单片机在电子行业中有着广泛的应用。主要功能特性:1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通
20、道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。其最小系统连接如图10图10 89C52最小系统连接图(其中晶振连接18、19两脚)2.2.2 温度采集电路本系统采用DS18b20数字温度传感器进行当前温度的采集。DS18b20是一片支持“一线总线”借口的温度传感器,体积小,不占单片机过多的IO口,经济灵活,实物如图11(图12为实际应用的带探头的温度传感器) 图11 DS18b20芯片 图12 实际应用的带探头的DS18b20
21、技术性能描述: 、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 、测温范围 55+125,固有测温分辨率0.5。 、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 、工作电源: 35V/DC 、在使用中不需要任何外围元件 、 测量结果以912位数字量方式串行传送 、不锈钢保护管直径 6 图13是DS18b20的仿真部分: 图13 DS18b20与单片机连接图可见该数字传感器用起来十分方便,仅需要一根口线与单片机相连,数据
22、线与电源之间一般接4K7的电阻,保证DQ在空闲时为高电平(DS18B20数据线是漏级开路结构,在没有数据的时候,总线状态不确定.加一个上拉电阻就可以使总线在空闲的时候处于高电平状态.)2.2.3 温度控制电路设计 此部分通过控制继电器的通断从而控制加热片,采用对加在电热管两端的电压进行通断的方法进行控制,以实现对恒温箱中空气加热功率的调整,从而达到对温度控制的目的,即在闭环控制系统中对被控对象实施控制。继电器选则松乐SRD-05VDC-SL-C 继电器。另外,为了防止强电对弱电的影响,我在继电器与单片机之间加了TLP5211进行隔离。继电器是一种电控制器件。它具有控制系统(又称输入回路)和被控
23、制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。如图14所示 图14 继电器原理图 图15 实际应用的继电器只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。 本系统采用松乐5V直
24、流继电器。该继电器为无极性电磁继电器,吸合电压为5V,最低为3.75V,吸合额定电流为71.2mA,落下电压为0.5V。 光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端。在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生光电流,由受光器输出端引出,这样就实现了电一光一电的转换。内部电路如图16本系统采用TLP5211光耦。其封装如图16图 16 TLP5211以下为光耦使用参数温
25、度控制电路图如图17图 17 温度控制电路图三极管作为继电器的驱动电路,二极管的作用是保护驱动继电器的三极管,避免三极管由导通变为截止时继电器产生的自感电动势使得三极管击穿。2.2.5 LCD显示电路本系统采用LCD1602显示温度值与时间。如图20所示。 图20 LCD1602 图21 LCD 与单片机连接图1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V
26、)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm1602液晶显示模块可以和单片机STC89C52直接接口,电路如图21所示。2.2.6 报警电路本系统采用简易的报警电路进行报警,仿真图如图22所示:图22 报警电路图设计思想为当预设温度不在所期望的范围(3050度)内,则蜂鸣器发出警报,若实际温度大于50度则亮红灯进行提醒,若实际温度小于30度则亮黄灯进行提醒。3 系统软件设计3.1 程序框架结构一个整体的系统软件设计是由各个在系统里起着不同作用的模块整合在一起,从而实现系统的所要实现的功能。本系统包括主控制程序,键盘扫描程序,温度采集程序,时间显示与
27、调整程序,PID算法程序,LCD显示程序。结构框架图如图23所示。图23 系统程序框架主程序模块相当于调度室,对子程序模块的调用进行管理,它主要负责初始化IO口;等待键盘的被按下,并调用相应的模块进行处理;显示温度控制过程及时间;在适当的时候通过DS18b20检测实际温度,并与所设定的值进行比较,判断报警并通过调用PID算法处理数据,处理后来控制继电器的通断,从而控制热电管达到控制温度的目的。3.2 程序流程图及部分程序3.2.1 主程序模块由于模块化程序的设计,通过调用程序即可实现所用功能,主程序流程图如图24所示。 图 24 主程序流程图 主程序见附件一。由以上程序可以看出,调用程序前即系
28、统运行首要先对系统进行初始化。然后对按键进行扫描,然后读取当前温度进行计算并显示,计算是否报警以及是否进行PID计算,最终控制继电器的工作。3.2.3 LCD显示程序程序显示要根据芯片的时序图编写图 26 主要接口说明 图27 基本操作时序图 图 28 状态字说明 图29 RAM地址映射图 图 30 显示模式设置 图31 显示开关及光标设置 图32 数据指针设置 图 33 读操作时序 图44 写操作时序由于LCD1602比较常用,编程序是按照时序写入即可,这里不再赘述。LCD显示程序见附件一.3.2.4 DS18b20采集温度程序 DS18b20数字温度传感器对时序的要求十分严格,延时大多是u
29、s级的,因此该子程序中的延时程序需要区别于LCD显示的延时程序。DS18B20有六条控制命令:温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9位二进制数字 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPUDS18B20的初始化 (1) 先将数据线置高电平“1”。 (2) 延时(该时间要求的不是很严格,但是尽可能的短一点) (3) 数据线拉到低电平
30、“0”。 (4) 延时750微秒(该时间的时间范围可以从480到960微秒)。 (5) 数据线拉到高电平“1”。 (6) 延时等待(如果初始化成功则在15到60微妙时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 (7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 (8) 将数据线再次拉高到高电平“1”后结束。其时序图如图28 图28 DS18b20初始化时序图DS18B20的写操作 (1) 数据线先置低
31、电平“0”。 (2) 延时确定的时间为15微秒。 (3) 按从低位到高位的顺序发送字节(一次只发送一位)。 (4) 延时时间为45微秒。 (5) 将数据线拉到高电平。 (6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。 (7) 最后将数据线拉高。DS18B20的读操作 (1)将数据线拉高“1”。 (2)延时2微秒。 (3)将数据线拉低“0”。 (4)延时3微秒。 (5)将数据线拉高“1”。 (6)延时5微秒。 (7)读数据线的状态得到1个状态位,并进行数据处理。 (8)延时60微秒。时序图如图29图29 DS18b20读写时序图只要严格按照时序图写程序,DS18b20即可运行。D
32、S18b20具体程序见附件。3.2.5 PID计算和继电器控制程序前面已经提到PID是一种线性控制器,因此本系统PID控制的思路是在第一次PID调节时记下PID调节器的输出值uk0(该值为以后PID调节器输出地最大值),并以该值为参考,以后的输出uk与uk0做比值,假设uk0表示加热a, 那么输出uk与uk0比值表示加热a*uk/uk0时间,以此类推,最后算出每次计算应该加热的时间作用于继电器,控制加热管加热。由于温度变化缓慢,则设置为5s计算PID一次。另外本系统的PID采用了开关量计算积分分离相结合的改进PID算法,具体思路是当温差大于等于15度时不用PID直接进行开关控制。当温度在0-1
33、5度之间时才采用PID计算。当温差大于4度是采用PD控制加快响应速度并减少超调,当温差小于4度是采用PID控制保证系统的稳态精度。 具体程序如下:(1)PID计算void PID(void) float ek,ek1,ek2,ek_sum; uint a; ek=K-temp; /计算误差 while(1) if(ON_OFF=1) /温控开关开 if(ek>=15) outflag=1;OUT=0;Time_on=100;break; /温差大于15度,不用PID调节 else if(ek<0) ek=0;outflag=0; OUT=1;Time_on=0;break; /温差
34、小于等于0不调节 else if(ek>5) a=0;if(ek<5)a=1; ek2=ek1; ek1=ek; ek_sum+=ek; uk=kp*ek+ki*ek_sum+kd*(ek1-ek2); /计算PID输出uk if(start_flag=0) /PID运算标志位 uk0=uk; /uk初值,用于参考以后uk加热时间 start_flag=1; div=100/uk0; /开始PID计算 else if(start_flag=1) /加热片加热时间 Time_on=uk*div; OUT=0; outflag=1; break; elseoutflag=0;OUT=1
35、;break;/不加热(2)5s调用一次PID函数/控制加热片加热时间if(TIM>Time_on) /模拟迟滞 OUT=1; outflag=0; if(TIM>=100) /5s进行一次PID计算 PID(); TIM=0; 4.结论与心得体会 结论与展望 三个多月的毕业设计即将结束了,我深刻感受到专业知识的缺乏,同时,在整个设计过程中我也感受到自身知识的进步,特别是在单片机控制系统方面。 设计是以80C51单片机为核心进行的,数据采样模块采用可直接输出数字量的数字温度传感器DS18B20,使系统的软、硬件都简化了很多;采用继电器驱动模块作为为系统的降温部分,大大地简化了系统硬
36、件电路。通过对风机的控制可实现粮库温度的自动控制。由于采用数字温度传感器DS18B20采集温度,所以,详细介绍了DS18B20的运用;软件设计方面采用汇编语言对系统的软件编程,为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计方法。 鉴于温度控制的发展趋势,在以后的实践中对系统还要做进一步的改进:硬件方面,采用DSP, ARM或者利用第一章提到的片上系统SOC对系统的硬件进行重新设计,软件方面,摒弃传统的前后台系统软件编程模式,改用基于实时操作系统的系统软件开发;控制算法方面,采用了 PID控制。5.参考文献:1 万隆.单片机原理与应用技术.北京:清华大学出版社.2005.4 2
37、 徐玮等.AVR单片机快速入门.北京:机械工业出版社.2011.113 戴胜华单片机原理与应用.北京:清华大学出版社.北京交通大学出版社.2005.44 胡寿松.自动控制原理.北京:科学出版社.2007.16.致 谢 本课题是在代广珍导师的悉心指导下完成的,从论文的选题、系统设计、到修改定稿都没有离开代老师的无私帮助,通过本次设计,本人在代老师的指引下学到了许多知识,这些是在平时的学习中得不到的知识,他严谨的治学态度、渊博的学识和悉心的指导使我受益非浅。在此,向代老师表以崇高的敬意和由衷的感谢!还要感谢各位评阅老师,经过你们的认真评阅和指正,将会使我的设计的系统更加完善。在此,我向你们致以最诚
38、挚的谢意! 贵州师范大学机电学院的老师们,在平时严谨的治学和勤恳的教育,让我在平时打下坚实的基础,才能顺利完成本次设计,可以说没有你们的教诲和指导,我们也不会取得今天的成绩。我想对他们说一声:感谢你们的教导和关心,您们辛苦了! 本次课程设计的完成还离不开我身边同学和一些老师的帮忙,在系统软件设计方面同学给了我很大的帮助,因为期间我一直在外实习工作,许多事都要麻烦在校的老师和同学帮忙,在此,向他们表示感谢! 鉴于本人所学知识有限,经验不足,又是初次研究这种复杂的设计,在此过程中难免存在一些错误和不足之处,恳请各位老师给予批评和指正。7.附件:恒温箱控制系统源程序/*/ 恒温箱控制系统源程序 程序
39、实现功能:通过PID调节控制恒温箱中温度为一定值*/#include"delay.h"#include"1602.h"#include"zhongduan.h"#include"wendu1.h"#include"delay.h"#include"1602.h"bit shanshuo_st; /闪烁间隔标志bit beep_st; /蜂鸣器间隔标志uchar n;signed char m; /温度值全局变量uchar baiwei,gewei,shiwei;uchar n
40、um;uchar code table1="wendu:"uchar code table2='0','1','2','3','4','5','6','7','8','9'signed char shangxian=50; /上限报警温度 signed char xiaxian=30; /下限报警温度sbit DEC = P10; /定义减少键 下限sbit DEC1=P11;/ 定义减少键 上限sbit ADD1=
41、P13;/ 定义增加键 上限sbit ADD = P12; /定义增加键 下限sbit BEEP= P37; /定义蜂鸣器sbit OUT=P26; /光耦、继电器驱动信号sbit lcdrs=P23; /数据、命令选择端sbit lcdrw=P24; /读/写信号选择断sbit lcden=P25; /LCD使能信号sbit DQ=P36; /定义ds18b20通信端口 sbit LED1 = P14; /调整上限加减的灯sbit LED2 = P15; /调整下限加减的灯unsigned int TIM; /PID计时中断变量bit start_flag=0; / 开始PID运算标志位fl
42、oat div,kp=1.5,kd=1;/用于PID计算的变量float ki=0.01;float uk,uk0;uint Time_on;/控制加热片加热时间void PID(void); /PID计算子程序void Alarm();void Disp_alarm(uchar baojing);void Alarm() /报警程序if(m>=shangxian)|(m<xiaxian)BEEP=0;else BEEP=1; void Disp_alarm(uchar baojing) /显示调整温度值Delay(200);shiwei=baojing%10; /显示十位baiw
43、ei=baojing/10; /显示百位n=0;/*延时函数,12.000mhz*/#include"delay.h"void Delay_DS18B20(uint num1) while(num1-);void Delay(uint num1)while( -num1 );void delay_ms(uchar z)/ms级延时 while(z-) delay_us(245); delay_us(245); void delay_us(uchar z)/us级延时 while(-z);/*LCD初始化子函数*/void lcdinit() write_cmd(0x38);
44、 /设置16X2显示,5X7点阵显示 delay_ms(4); write_cmd(0x38); delay_ms(4); write_cmd(0x0c); /开显示,不显光标 delay_ms(4); write_cmd(0x06); /显示一个字符后,地址指针加1且光标加1 delay_ms(4); write_cmd(0x01); /清屏 delay_ms(4);/*写指令到LCD子函数*/void write_cmd(uchar cmd) lcdrs=0; /写命令信号 lcdrw=0; delay_ms(4); lcden=1; /开使能端 delay_ms(4); P0=cmd;
45、/写命令字 delay_ms(4); lcden=0; /*写数据到LCD子函数*/void write_date(uchar date) lcdrs=1; /写数据信号 lcdrw=0; delay_ms(4); lcden=1; /开使能端 delay_ms(4); P0=date; /写数据 delay_ms(4); lcden=0;/*LCD显示函数函数*/void Display() /check_wendu(); write_cmd(0x81);/显示第一行 for(num=0;num<6;num+) write_date(table1num); delay_ms(4); w
46、rite_cmd(0xc2);/显示第二行 write_date(table2baiwei); delay_ms(4); write_date(table2shiwei); delay_ms(4); write_date('.'); delay_ms(4); write_date(table2n); delay_ms(4); write_cmd(0xc7);/显示第二行 write_date('C'); delay_ms(4); /*ds18b20初始化函数*/void Init_DS18B20(void) unsigned char x=0;DQ = 1;De
47、lay_DS18B20(8);DQ=0;Delay_DS18B20(80);DQ=1;Delay_DS18B20(14);x=DQ;Delay_DS18B20(20); /*读取ds18b20温度函数*/unsigned char ReadOneChar(void) unsigned char i=0;unsigned char dat=0;for(i=8;i>0;i-)DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;Delay_DS18B20(4);return(dat); void WriteOneChar(unsigned char dat) unsigned char i=0;for(i=8;i>0;i-)DQ=0;DQ=dat&0x01;Delay_DS18B20(5);DQ=1;dat>>=1; unsigned int ReadTemperature(void) unsigned char a=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度跑步活动公共卫生安全防控合同4篇
- 健康体检与肺功能测试评估考核试卷
- 2025年度债务清偿与资产保全合同范本
- D打印技术在建筑结构智能化设计的应用考核试卷
- 2025-2030年垃圾渗滤液深度处理设备行业跨境出海战略研究报告
- 2025-2030年在线医疗投资与创业孵化器行业深度调研及发展战略咨询报告
- 声学器件的音频处理与多方通话考核试卷
- 2025-2030年新能源汽车出口市场拓展企业制定与实施新质生产力战略研究报告
- 2025-2030年复古风格休闲服装复兴行业深度调研及发展战略咨询报告
- 2025-2030年可降解矿物餐具企业制定与实施新质生产力战略研究报告
- 新员工入职通识考试(中软国际)
- 四星级酒店工程样板房装修施工汇报
- 圆翳内障病(老年性白内障)中医诊疗方案
- 博士后进站申请书博士后进站申请书八篇
- 华为携手深圳国际会展中心创建世界一流展馆
- 2023版思想道德与法治专题2 领悟人生真谛 把握人生方向 第3讲 创造有意义的人生
- 全过程工程咨询服务技术方案
- GB/T 41509-2022绿色制造干式切削工艺性能评价规范
- 土木工程毕业设计(论文)-五层宿舍楼建筑结构设计
- 青年卒中 幻灯
- 典型倒闸操作票
评论
0/150
提交评论