基于单片机的温度控制系统毕业设计(编辑修改稿)内容摘要:

脚和单片机连接的的 I/O 口。 LCD1602 液晶显示模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。 1602 液晶模块 内部的控制器共有 11 条控制指令,如表 43 所示 : 7 表 43 LCD1602液晶模块内部的控制器共有 11条控制指令 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 写数到 CGRAM或 DDRAM) 1 0 要写的数据内容 11 从 CGRAM或 DDRAM读数 1 1 读出的数据内容 根据 LCD1602 的引脚定义和资料设计了了温度控制系统的显示模块,电路图如下图 44 图 44 温控系统显示模块 8 1602 接口信号说明 1602 接口信 号说明如 表 45所示 表 45 1602接口说明 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据口 2 VDD 电源正极 10 D3 数据口 3 VO 液晶显示对比度调节端 11 D4 数据口 4 RS 数据 /命令选择端 12 D5 数据口 5 R/W 读写选择端 13 D6 数据口 6 E 使能端 14 D7 数据口 7 D0 数据口 8 D1 数据口 1602 操作时序 1602 的操作时序图(见图 46) 图 46 1602操作时 序 分析时序图可知 1602 液晶的流程如下 ( 1) 通过 RS 确定是写数据还是写命令。 写命令包括液晶的光标显示 /不显示、 光标闪烁 /不闪烁、需不需要移动屏幕、在液晶什么位置显示等。 写数据是指要显示什么内容。 ( 2) 读 /写控制端设置为写模式,即低电平。 ( 3) 将数据或命令送至数据线。 9 ( 4) 给 E 一个高脉冲将数据送入液晶控制器,完成写操作。 DS18B20 温度采集模块的设计 DS18B20 的管脚排列如图 47 所示 , DQ 为数字信号输入 /输出端; GND 为电源地; VDD 为外接供电电源输人端。 本温度控制系统采用外接供电方式,电路图如下图 48所示 图 47 DS18B20管脚图 图 48 DS18B20电路图 10 DS18B20 的分辨率 DS18B20 温度传感器可完成对温度的测量,温度分辨率的设定能够影响到温度传感器的转换时间和转换的精确度 [11]。 温度的分辨率设置如表 49所示。 表 49: 温度分辨率设置表 R1 R0 分辨率 温度最大转换时间 0 0 9位 0 1 10位 1 0 11位 375ms 1 1 12位 750ms 由于本系统的对被控的对象的温度采集的实时要求 较高,所以选择 DS18B20的分辨率位 12 位,在 12 位分辨率的时候的温度采集精度是 度,满足温度系统的控制的精度的要求, 所以 R1和 R0 的设置分别为 R1=1,R0=1。 DS18B20 工作时序图 ( 1) 初始化(时序图见 410) 图 410初始化时序 ( 2)写数据(时序图见图 411) 11 图 411写数据时序 ( 3) 读数据(时序图见图 412) 图 412读数据时序 控制执行模块 STC89C52 是本温度控制系统的处理器。 首先由 DSl8B20 数字温度传感器检测并且采集温 度数据直接转换成数字信号发送给单片机,单片机将检测的温度值与设定的目标温度值进行比较,计算出温度的偏差,然后采用 PID 算法并且输出相应的控制信号,控制固态继电器在控制周期内的通断占空比 (控制电阻丝的平均发热功率的大小 ),从而达到较为精确可靠的控制温度的目的。 控制执行电路作为单片机温度控制系统的执行部分,他是将单片机处理后的数字控制信号用输出口输出,并将该数字信号通过电路对控制对象的控制。 由于单片机的输出信号电平很低,无法直接驱动外围设备进行工作,因此在本设计中单片机的控制部分需要外围设备的驱动、信号电平的 转换技术。 本温度控制系统的设计主要采用固态继电器作为控制电路的器件,通过固态继电器可以实现单片机的电平信号控制高功率负载的功能。 控制模块的电路设计如下图 413: 12 图 413控制模块电路图 加热模块 本次设计的温控系统由 100W 的电阻丝给水进行加热,加热的开关由固态继电器实现。 PID 控制算法 温度控制的 PID 控制原理是先求出实际的温度值与目标温度值的偏差值。 再对偏差值进行比例,积分与微分的计算处理,得到的控制数字信号来控制电阻丝的加热,使实际温度稳定 在设定的目标温度范围内。 本温度控制系统采用的数字PID算法是增量式 PID 算法,增量式 PID 算法的优点是编程比较简单,数据可以递推使用,占用存储空间少,运算快,可以用单片机的程序来实现。 增量式 PID 算法是指数字控制器的输出只是控制量的增量 ∆u(K),增量式 PID控制系统的系统如图 414 所示。 13 kr e(k) ku )(te te 图 414 增量式 PID控制系统框图 通过离散化过程,可得离散的 PID 表 达式为:           1kekeTTjeTTe ( k )kkuSDk0jisc 41 式中: k 为采样序号, k=0、 …… ; u(k)为第 k 次采样时刻的计算输出值; e(k)为第 k 次采样时刻输入的偏差值; e(k1)为第 k1 次采样时刻输入的偏差值。 SDDISi TTkTTk 。 可由式 (1)导出提供增量的 PID 控制算式,根据递推原理可得:           211101 kekekjekkekku Dkjc 42 用式 41减去式 42,可得:                2121 1  kekekekkekkekekku Dc 43 由上面的公式可得:控制系统的输出仅仅是与最近的 3 次的偏差有关。 在确定了各个常量之后,根据最近的 3 次偏差即可求出 PID 控制的增量。 增量式 PID算法的参数确定 PID 参数的设定决定了温度控制系统升温速度和温度控制系统的稳定性。 面对不同的控制对象的 PID 参数都是不相同。 根据这些参数在整个 PID 控制过程中的作用,在系统最终调试中具体来确定。 PID 参数的设置对系统的可能的影响如下: 1)温度很迅速就能达到设定的目标值,但是超 调量很大。 出现这种情况的可能的原因是:比例系数 KP 太大,使得温度达到目标值之前的上升比例过高;微被控对象 PID算法 执行机构 Σ 14 分系数 KD 太小,致使对温度系统的控制反应不够灵敏。 2)温度达不到目标值,长时间小于目标值。 出现这种情况的可能原因是:比例系数 KP 过小,升温的比例不够;积分系数 KI太小,对恒定的温度偏差补偿不足。 3)基本上能稳定在目标温度值上,但上下偏差很大而且经常波动。 出现这种现象的可能原因是:微分系数 KD 太小,对温度的即时变化反应不够迅速;积分系数 I太大,使得微分的反应被淹没从而钝化;基本的控制周期太短,加热温度还没有传到 测温点上。 PID参数的调整步骤为先比例,后积分,再微分的步骤。 编写程序的时先设定它们的大概的数值。 然后通过反复的实验调试,根据实验调试的结果最终确定比较理想的 PID 参数值。 5 软件设计 主程序流程图 主程序流程图如下图 51 图 51主程序流程图 开始 定时 设定温度 温度采集 PID算法控 温 加热控制 LCD显示 LCD初始化 15 子程序设计 子程序包括了 LCD显示模块程序,温度控制模块程序, DS。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。