收藏 分销(赏)

恒温箱控制系统.doc

上传人:人****来 文档编号:3911769 上传时间:2024-07-23 格式:DOC 页数:59 大小:2.23MB 下载积分:14 金币
下载 相关 举报
恒温箱控制系统.doc_第1页
第1页 / 共59页
恒温箱控制系统.doc_第2页
第2页 / 共59页


点击查看更多>>
资源描述
学科代码:080601 学 号: 贵 州 师 范 大 学(本 科) 毕 业 论 文 题 目:恒温箱自动控制系统 学 院:机械与电气工程学院 专 业:电气工程及其自动化 年 级:2023级 姓 名: 周康 指导教师: 吴志坚(讲师) 完毕时间:2023年5月5日 摘要 恒温箱重要是用来控制温度,它为农业研究、生物技术测试提供所需要的各种环境模拟条件,因此可广泛合用于药物、纺织、食品加工等无菌实验、稳定性检查以及工业产品的原料性能、产品包装、产品寿命等测试。恒温箱供科研机关及医院作细菌培养之用;也可以作育种、发酵以及大型养殖孵化等用途。 恒温箱控制系统可以自动温度控制、人工干预温度控制、远程温度控制等多功能的高性能装置。可以形成规模化和产业化,大范围的应用到现代化工业生产。 本论文结合工厂中如何实现恒温箱控制,讨论大多数工业生产情况下对恒温箱中的温度进行有效控制的方法。因此采用以单片机为基础的恒温箱控制系统,单片机系统涉及89C52解决器、扩展存储器27512及6264,并行接口芯片8255、8253、ADC0809、8279、掉电保护和复位以及看门狗电路等。具体方法是使用铂锗-铂热电偶进行温度数据采集,通过放大和滤波电路进行A/D转换,转换后的值再根据标准分度表转换成温度值,同时显示出来。并且通过CAN总线传输控制参数 关键词: 单片机、恒温箱、 热电偶、 CAN总线 Abstract The 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, 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 large 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 production.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 chip 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 amplifying 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. Key words:Single chip microcomputer, Thermostat, Thermocouples, The CAN bus 引言 温度控制是工业生产过程中经常碰到的过程控制,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用,其温度的控制效果直接影响着产品的质量,因而设计一种较为抱负的温度控制系统是非常有价值的。对于不同场合、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同。因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。运用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。然而现有的温度传感元件大多为模拟器件(热电耦)体积大、应用复杂、并且不容易实现数字化等缺陷,阻碍了应用领域的扩展。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机STC89C52作为主控芯片,液晶显示屏作为显示输出,实现了对温度的实时测量与恒定控制。 目录: 1 系统方案 ………………………………………………………………………………1 1.1 恒温箱控制系统设计任务和规定 …………………………………………………1 1.2 恒温箱控制系统部分 ………………………………………………………………2 1.3 温度控制系统算法分析 ……………………………………………………………2 2 系统硬件设计 …………………………………………………………………………5 2.1 总体设计框图及说明 ………………………………………………………………6 2.2 各个子模块设计 ……………………………………………………………………7 2.2.1 CPU的选择 …………………………………………………………………7 2.2.2温度采集电路 ………………………………………………………………8 2.2.3温度控制电路设 计…………………………………………………………10 2.2.4 LCD显示电路 ………………………………………………………………12 2.2.5 报警电路 …………………………………………………………………13 3 系统软件设计……………………………………………………………………………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 继电器控制程序 ……………………………………………………………21 4 结论与心得体 会………………………………………………………………………23 5 参考文献 ………………………………………………………………………………24 6 致谢 ……………………………………………………………………………………24 7 附录 系统源程序 ……………………………………………………………………25 1 系统方案 1.1恒温箱控制系统设计任务和规定 该系统为一实验系统,系统设计任务如下: 设计一个恒温箱自动控制系统,控制对象为一玻璃钢的一部分。箱内温度可以在一定范围内由人工设定,并能在环境温度减少时实现自动调整,以保持特定的温度不变。 系统设计具体规定: 温度设定范围为30-50摄氏度; 环境温度减少是控制恒温箱温度误差小于0.5摄氏度; 采用适当的方法,使得温度在一定范围内才进行控制,大于某一范围直接加热或者不加热,减小系统的调节时间; 采用适当方法减少系统的超调量; 用LCD1602显示温度与时间。 1.2 恒温箱控制系统部分 温度控制系统是一个过程控制系统,组成框图如图1所示,由控制器、执行器、被控对象其反馈作用的测量组成。 图1 计算机控制系统框图 本系统中CPU选择为单片机,执行器为继电器,控制加热片通断,检测装置为温度传感器采集温度并反馈给单片机。此外尚有显示部分以及报警部分(硬件的具体选择与应用我会在第二章做具体说明),总体框图如下(图2) 图2 温控箱控制系统总体框图 1.3 温度控制系统的算法分析 系统算法控制采用工业上常用的位置型PID数字控制,并且结合特定的系统加以算法的改善,形成了开关量控制—积分分离PID控制相结合的自动辨认的控制算法。该方法不仅减小了超调量,并且有效地克服了积分饱和的影响,使控制精度提高。长期以来国内外科技工作者对温度控制器进行了广泛进一步的研究,产生了大批温度控制器,如性能成熟应用广泛的PID调节器、智能控制PID调节器、自适应控制等。目前在过程控制中应用较多的还是PI控制算法、PD控制算法和PID控制算法。 温度控制系统的控制对象具有热储存能力大,惯性也较大的特点,空气的流动或加热片热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。 对于大惯性系统的过渡过程控制,一般可采用以下几种控制方案: 比例控制(P控制) t y 图4 比例控制 比例控制的输出与偏差成比例关系,当负荷变化时,抗干扰能力强,过渡过程时间短,但过程终了存在余差;合用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的系统。如图4所示。 比例积分控制(PI控制) 控制器的输出与偏差的积提成比例,积分的作用使过渡过程结束时无余差,但减少了系统的稳定性;PI控制合用于滞后较小,负荷变化不大,被控量不允许有余差的控制系统。如图5所示。 t y 图5 PI控制 t y 图6 PID控制 比例积分加微分控制(PID控制) 微分的作用是使控制器的输出与偏差变化的速度成比例,它对克服对象的容量滞后有显著的效果;在比例基础上加入微分作用,使稳定性提高,再加上积分作用,可以消除余差;PID控制合用于负荷变化大、容量滞后较大、控制品质规定又很高的控制系统。如图6所示。 由图7可知PID调节器是一种线性调节器,这种调节器是将设定值w与实际输出值y进行比较构成偏差 并将其比例、积分、微分通过线性组合构成控制量。其动态方程为: 其中---为调节器的比例放大系数 ---为积分时间常数 ---为微分时间常数 PID调节器的离散化表达式为; 其增量表达形式为: 其中T为采样周 图7 PID调节器 可见温度PID调节器有三个可设定参数,即比例放大系数、积分时间常数、微分时间常数。 比例调节的作用是使调节过程趋于稳定,但会产生稳态误差; 积分作用可消除被调量的稳态误差,但也许会使系统振荡甚至使系统不稳定; 微分作用能有效的减小动态偏差。 通过以上分析,结合温度系统的特性,该系统选择位置式PID,并用开关量控制——积分分离PID相结合的改善算法进行系统的调节与控制。选择PID参数是使得系统满足精度规定的关键。 2 系统硬件设计 2.1 总体设计框图及说明 本系统是一个简朴的单回路控制系统。为了实现温度的自动测量和控制,根据系统总体方案,系统由单片机基本系统、前向通道、反馈通道和人机对话通道等4个重要的功能模块组成,总体框图如上面图2所示。 单片机系统是整个控制系统的核心,STC89C52可以提供系统控制所需的I/O口、中断、定期及存放中间结果的RAM电路;前向通道是控制执行的通道,重要涉及光耦、继电器、加热管;反馈通道由DS18b20构成,采集当前实际的温度。 数据采集:运用DS18b20数字温度传感器采集当前温度并反馈给CPU进行解决,用于控制和显示。 数据显示:运用LCD1602字符型液晶显示屏显示设定温度、实际温度以及当前的时间。 执行机构:通过三极管控制继电器来完毕对加热管的控制,为防止强电弱电互相影响,在单片机与继电器之间加入TLP521-1光电耦合器进行强电弱电的隔离。 系统总体仿真图如图8 图8 恒温箱温度控制系统图 2.2 各个子模块设计 2.2.1 CPU的选择 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据解决能力的中央解决器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定期器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。其使用起来十分简朴灵活方便,因此选择单片机作为CPU。 本系统选择自己较为熟悉的STC89C52单片机作为CPU。如图9所示。 图9 STC89C52封装图 STC89C52是一个低电压,高性能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串行通道;   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 技术性能描述: ①、 独特的单线接口方式,DS18B20在与微解决器连接时仅需要一条口线即可实现微解决器与DS18B20的双向通讯。   ② 、测温范围 -55℃~+125℃,固有测温分辨率0.5℃。   ③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,假如数量过多,会使供电电源电压过低,从而导致信号传输的不稳定。   ④、工作电源: 3~5V/DC   ⑤ 、在使用中不需要任何外围元件   ⑥、 测量结果以9~12位数字量方式串行传送   ⑦ 、不锈钢保护管直径 Φ6 图13是DS18b20的仿真部分: 图13 DS18b20与单片机连接图 可见该数字传感器用起来十分方便,仅需要一根口线与单片机相连,数据线与电源之间一般接4K7的电阻,保证DQ在空闲时为高电平(DS18B20数据线是漏级开路结构,在没有数据的时候,总线状态不拟定.加一个上拉电阻就可以使总线在空闲的时候处在高电平状态.) 2.2.3 温度控制电路设计 此部分通过控制继电器的通断从而控制加热片,采用对加在电热管两端的电压进行通断的方法进行控制,以实现对恒温箱中空气加热功率的调整,从而达成对温度控制的目的,即在闭环控制系统中对被控对象实行控制。继电器选则松乐SRD-05VDC-SL-C 继电器。此外,为了防止强电对弱电的影响,我在继电器与单片机之间加了TLP521—1进行隔离。 继电器是一种电控制器件。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它事实上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。如图14所示 图14 继电器原理图 图15 实际应用的继电器 只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回本来的位置,使动触点与本来的静触点(常闭触点)释放。这样吸合、释放,从而达成了在电路中的导通、切断的目的。 本系统采用松乐5V直流继电器。该继电器为无极性电磁继电器,吸合电压为5V,最低为3.75V,吸合额定电流为71.2mA,落下电压为0.5V。 光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端。在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生光电流,由受光器输出端引出,这样就实现了电一光一电的转换。内部电路如图16 本系统采用TLP521—1光耦。其封装如图16 图 16 TLP521—1 以下为光耦使用参数 温度控制电路图如图17 图 17 温度控制电路图 三极管作为继电器的驱动电路,二极管的作用是保护驱动继电器的三极管,避免三极管由导通变为截止时继电器产生的自感电动势使得三极管击穿。 2.2.5 LCD显示电路 本系统采用LCD1602显示温度值与时间。如图20所示。 图20 LCD1602 图21 LCD 与单片机连接图 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。 1602LCD重要技术参数: 显示容量:16×2个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 1602液晶显示模块可以和单片机STC89C52直接接口,电路如图21所示。 2.2.6 报警电路 本系统采用简易的报警电路进行报警,仿真图如图22所示: 图22 报警电路图 设计思想为当预设温度不在所盼望的范围(30—50度)内,则蜂鸣器发出警报,若实际温度大于50度则亮红灯进行提醒,若实际温度小于30度则亮黄灯进行提醒。 3 系统软件设计 3.1 程序框架结构 一个整体的系统软件设计是由各个在系统里起着不同作用的模块整合在一起,从而实现系统的所要实现的功能。本系统涉及主控制程序,键盘扫描程序,温度采集程序,时间显示与调整程序,PID算法程序,LCD显示程序。结构框架图如图23所示。 图23 系统程序框架 主程序模块相称于调度室,对子程序模块的调用进行管理,它重要负责初始化IO口;等待键盘的被按下,并调用相应的模块进行解决;显示温度控制过程及时间;在适当的时候通过DS18b20检测实际温度,并与所设定的值进行比较,判断报警并通过调用PID算法解决数据,解决后来控制继电器的通断,从而控制热电管达成控制温度的目的。 3.2 程序流程图及部分程序 3.2.1 主程序模块 由于模块化程序的设计,通过调用程序即可实现所用功能,主程序流程图如图24所示。 图 24 主程序流程图 主程序见附件一。 由以上程序可以看出,调用程序前即系统运营首要先对系统进行初始化。然后对按键进行扫描,然后读取当前温度进行计算并显示,计算是否报警以及是否进行PID计算,最终控制继电器的工作。 3.2.3 LCD显示程序 程序显示要根据芯片的时序图编写 图 26 重要接口说明 图27 基本操作时序图 图 28 状态字说明 图29 RAM地址映射图 图 30 显示模式设立 图31 显示开关及光标设立 图32 数据指针设立 图 33 读操作时序 图44 写操作时序 由于LCD1602比较常用,编程序是按照时序写入即可,这里不再赘述。 LCD显示程序见附件一. 3.2.4 DS18b20采集温度程序 DS18b20数字温度传感器对时序的规定十分严格,延时大多是us级的,因此该子程序中的延时程序需要区别于LCD显示的延时程序。 DS18B20有六条控制命令: 温度转换 44H 启动DS18B20进行温度转换   读暂存器 BEH 读暂存器9位二进制数字   写暂存器 4EH 将数据写入暂存器的TH、TL字节   复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中   重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU DS18B20的初始化 (1) 先将数据线置高电平“1”。 (2) 延时(该时间规定的不是很严格,但是尽也许的短一点) (3) 数据线拉到低电平“0”。 (4) 延时750微秒(该时间的时间范围可以从480到960微秒)。 (5) 数据线拉到高电平“1”。 (6) 延时等待(假如初始化成功则在15到60微妙时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来拟定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 (7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 (8) 将数据线再次拉高到高电平“1”后结束。 其时序图如图28 图28 DS18b20初始化时序图 DS18B20的写操作   (1) 数据线先置低电平“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即可运营。 DS18b20具体程序见附件。 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-15度之间时才采用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;} //温差小于等于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;} } else{outflag=0;OUT=1;break;} //不加热 } } (2)5s调用一次PID函数 //控制加热片加热时间 if(TIM>Time_on) //模拟迟滞 { OUT=1; outflag=0; } if(TIM>=100) //5s进行一次PID计算 { PID(); TIM=0; } 4.结论与心得体会 结论与展望 三个多月的毕业设计即将结束了,我深刻感受到专业知识的缺少,同时,在整个设计过程中我也感受到自身知识的进步,特别是在单片机控制系统方面。 设计是以80C51单片机为核心进行的,数据采样模块采用可直接输出数字量的数字温度传感器DS18B20,使系统的软、硬件都简化了很多;采用继电器驱动模块作为为系统的降温部分,大大地简化了系统硬件电路。通过对风机的控制可实现粮库温度的自动控制。由于采用数字温度传感器DS18B20采集温度,所以,具体介绍了DS18B20的运用;软件设计方面采用汇编语言对系统的软件编程,为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计方法。 鉴于温度控制的发展趋势,在以后的实践中对系统还要做进一步的改善:硬件方面,采用DSP, ARM或者运用第一章提到的片上系统SOC对系统的硬件进行重新设计,软件方面,摒弃传统的前后台系统软件编程模式,改用基于实时操作系统的系统软件开发;控制算法方面,采用了 PID控制。 5.参考文献: [1] 万隆.单片机原理与应用技术.北京:清华大学出版社.2023.4 [2] 徐玮等.AVR单片机快速入门.北京:机械工业出版社.2023.11 [3] 戴胜华单片机原理与应用.北京:清华大学出版社.北京交通大学出版社.2023.4 [4] 胡寿松.自动控制原理.北京:科学出版社.2023.1 6.致 谢 本课题是在代广珍导师的悉心指导下完毕的,从论文的选题、系统设计、到修改定稿都没有离开代老师的无私帮助,通过本次设计,本人在代老师的指引下学到了许多知识,这些是在平时的学习中得不到的知识,他严谨的治学态度、渊博的学识和悉心的指导使我受益非浅。在此,向代老师表以崇高的敬意和由衷的感谢!还要感谢各位评阅老师,通过你们的认真评阅和指正,将会使我的设计的系统更加完善。在此,我向你们致以最真挚的谢意! 贵州师范大学机电学院的老师们,在平时严谨的治学和勤恳的教育,让我在平时打下坚实的基础,才干顺利完毕本次设计,可以说没有你们的教导和指导,我们也不会取得今天的成绩。我想对他们说一声:感谢你们的教导和关心,您们辛劳了! 本次课程设计的完毕还离不开我身边同学和一些老师的帮忙,在系统软件设计方面同学给了我很大的帮助,由于期间我一直在外实习工作,许多事都要麻烦在校的老师和同学帮忙,在此,向他们表达感谢! 鉴于本人所学知识有限,经验局限性,又是初次研究这种复杂的设计,在此过程中难免存在一些错误和局限性之处,恳请各位老师给予批评和指正。 7.附件:恒温箱控制系统源程序 /*************************************************************************/ 恒温箱控制系统源程序 程序实现功能:通过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 num; 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 = P1^0; //定义减少键 下限 sbit DEC1=P1^1; // 定义减少键 上限 sbit ADD1=P1^3; // 定义增长键 上限 sbit ADD = P1^2; //定义增长键 下限 sbit BEEP= P3^7; //定义蜂鸣器 sbit OUT=P2^6; //光耦、继电器驱动信号 sbit lcdrs=P2^3; //数据、命令选择端 sbit lcdrw=P2^4; //读/写信号选择断 sbit lcden=P2^5; //LCD使能信号 sbit DQ=P3^6; //定义ds18b20通信端口 sbit LED1 = P1^4; //调整上限加减的灯 sbit LED2 = P1^5; //调整下限加减的灯 unsigned int TIM; //PID计时中断变量 bit start_flag=0; // 开始PID运算标志位 float 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() //报警程序 {
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服