基于PC的PID温度测控系统设计_第1页
基于PC的PID温度测控系统设计_第2页
基于PC的PID温度测控系统设计_第3页
基于PC的PID温度测控系统设计_第4页
基于PC的PID温度测控系统设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

浙江万里学院 本科毕业设计本科毕业设计( (论文论文) ) (2011 届) 论文题目论文题目 基于 PC 的 PID 温度测控系统设计 下位机温度测控 (英文)The Design of PID Temperature Control System Based on PCLower Computer Temperature Control 所在学院 电子信息学院 专业班级 电子信息工程本 062 学生姓名 崔晓宇 学号 指导教师 吕昂 职称 副教授 完成日期 2010 年 4 月 20 日 基于基于 PCPC 的的 PIDPID 温度测控系统设计温度测控系统设计 下位机温度测控下位机温度测控 崔晓宇 (浙江万里学院电信学院电子本 062 班) 2010 年 4 月 摘摘 要要 温度控制是工业生产、科研活动中一个举足轻重的环节,它直接关系到整 个生产系统的控制系统,因此温度控制的研究具有重要的现实意义。 本系统针对温度控制的特点,设计了一种基于PC的PID温度测控系统。本系 统包括远程控制终端(RTU)和人机接口(HMI)两个部分。RTU主要作用于信号 采集、测量和控制。HMI主要实现的是温度数据在上位机上的数据处理功能。 RTU硬件电路以51单片机为微处理器,分为温度采集模块、液晶显示模块、 串行通信模块和输出控制模块四个部分。软件部分主要对PID算法进行编程。系 统利用单片机低功耗、处理能力强的特点,使PC与单片机进行串行通信,用数字 温度传感器DS18B20采集温度后,对设定温度与采集温度信号的偏差进行PID控 制,输出的控制信号传递给温度控制电路,从而实现升温或降温。系统具有人 机交互良好、控温精度高、自动化程度高等特点,有效地实现了水温温度的自动 控制,具有良好的实用价值和发展前景。 关键词:关键词:DS18B20;PID 控制;PWM 控制;串行通信 Abstract Temperature control takes a vital part in the industrial production and scientific research activities, it directly related to the control system of the entire production system, so the research of the temperature control has its important practical significance. This issue designed a PC-based PID temperature control system featured for temperature control. The system includes two parts- Remote Terminal Unit (RTU) and Human Machine Interface (HMI). RTU majors in signal acquisition, measurement and control. HMI mainly realizes the function of temperature data in the host computers data processing. The microprocessor of the RTU hardware circuit is 51 MCU; it divides into four parts: temperature acquisition module, temperature display module, serial communication module and data processing module. The software part is mainly program the PID algorithm. The system makes use of the future of the low power consumption and the processing capability of the SCM, which enables PC and SCM do serial communication. After acquire the temperature with digital temperature sensor DS18B20, do the PID control to the signal deviations between the setting temperature and the acquisition of the temperature, the output control signal transmits to the temperature control circuit, in order to heating or cooling the temperature. The system with good human-computer interaction, high precision temperature control, auto level, effectively realize the auto-control of the water temperature, it has good practical value and development prospects. Key Words: DS18B20;PID control;PWM control;serial communication 目目 录录 1 1 引言引言.1 1 2 2 系统方案设计系统方案设计.3 3 3 3 RTURTU 硬件设计硬件设计 .5 5 3.1 微处理器系统 .5 3.1.1 时钟电路 .5 3.1.2 复位电路 .6 3.2 温度采集模块 .6 3.2.1 温度传感器选择 .6 3.2.2 温度采集电路 .6 3.3 液晶显示模块 .7 3.3.1 显示模块选择.7 3.3.2 液晶显示电路 .7 3.4 串行通信模块 .8 3.5 输出控制模块 .9 3.5.1 输出控制方式选择 .9 3.5.2 输出控制电路 .10 4 4 RTURTU 软件设计软件设计 .1111 4.1 主程序 .11 4.2 温度采集模块 .12 4.2.1 初始化 .12 4.2.2 读操作 .13 4.2.3 写操作 .14 4.2.4 温度转换 .15 4.3 液晶显示模块 .17 4.4 串行通信模块 .18 4.5 PID 控制模块.19 4.5.1 PID 调节器控制原理.19 4.5.2 PID 参数对系统性能的影响.20 4.5.3 PID 计算程序.20 5 5 HMIHMI 设计设计 .2323 5.1 HMI 硬件.23 5.2 HMI 软件.23 6 6 仿真和调试仿真和调试.2525 6.1 调试工具与平台 .25 6.2 系统调试与仿真 .26 6.3 测试结果与分析 .28 6.3.1 设计所达到的性能指标 .28 6.3.2 结果分析论述 .29 7 7 结论结论.3030 致致 谢谢.3131 参考文献参考文献.3232 附录附录 1 1 实验原理图实验原理图 .3434 浙江万里学院本科毕业论文 - 0 - 1 引言引言 自本世纪 30 年代以来,自动化技术成就惊人,在工业生产和科学发展中起 着关键的作用。在工业生产过程中,为了高效地进行生产,必须对生产工艺过 程中的主要参数,如温度,压力,流量,速度等进行有效的控制。其中温度的 控制在生产过程中占有相当大的比例。温度控制已成为工业生产、科研活动中 很重要的一个环节,能否成功地将温度控制在所需的范围内,关系到整个活动 的成败。温度控制由于控制对象的多样性和复杂性,导致采用的温控手段的多 样性,且控制对象普遍具有时间常数大、纯滞后时间长、时变性较明显等特点。 不同的温度控制对象有不同的温度控制方法。总体来看,温度的控制方法 按划分标准不同可分为不同温度控制方式。按操作途径分:手动控温和自动控 温;按调节原理分,主要有位式、PID、模糊控制、PID加模糊控制等;按调节 手段分,可采用调节负载电压或调节负载功率来实现温度控制。准确的测量和 采用合理的温度控制方式是实现高精度温度控制的有效途径。 目前PID控制技术最为成熟,控制结构简单,参数容易调整,不必求出被控 对象的数学模型就可以调节,所以在恒温控制系统中通常采用PID算法。其中 PID调节器的三个基本参数Kp(比例系数)、Ki(积分系数) 、Kd(微分系数)的选 择将直接影响一个控制系统的准确性。 PID控制是最早发展起来的控制策略之一,问世至今已有近70年历史。由于 其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。PID控制器历 史悠久,生命力旺盛,并有其独特的优点。当被控对象的结构和参数不能完全 掌握,或无法建立精确的数学模型且控制理论的其它技术难以采用时,系统控 制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为 方便。近年来,随着现代控制理论(诸如智能控制、自适应模糊控制和神经网 络技术等)研究和应用的发展与深入,为控制复杂无规则系统开辟了新途径。 PID控制器的发展历史经历了3个阶段: 117世纪中叶至20世纪20年代,出现了调节方式类似于BangBang继电控 制,精度较低,控制器的形式是P和PI。 220世纪20年代至40年代,发现了微分作用,它能直观地实现对慢系统的 浙江万里学院本科毕业论文 - 1 - 控制,与先期提出的比例和积分作用成为主要的调节部件。 31942年以后至现在,在PID控制器的调整方面取得了很多成果,出现了 诸如最优PID控制、预估PID控制、自适应PID控制等高级PID控制策略。 PID控制器根据偏差的比例、积分、微分进行控制。比例控制是一种最简单 的控制方式。其控制器的输出与输入误差信号成比例关系。偏差一旦产生,控 制器立即产生控制作用,以减少偏差。在积分控制中,控制器的输出与输入偏 差信号的积分成正比关系。积分作用的强弱取决于积分时间常数Ti,Ti越大, 积分作用越弱,反之则越强。在微分控制中,控制器的输出与输入误差信号的 微分(即误差的变化率)成正比关系。输出与微分之间的曲线关系能反映偏差信 号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入 一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。 在温度控制原理中,单片机具有集成度高、功能强、体积小、可靠性高、 价格低和开发周期短等特点。采用不同的芯片和模块来组成各种控制系统非常 方便,因此单片机控制将得到越来越广泛的应用。同时随着计算机技术的进步, 控制精度会随着控制理论的完善和测量精度的提高而日趋提高。因此单片机PID 温度的控制问题是一个各行业生产中经常会遇到的问题。 本设计运用 PID 算法对温度进行测量与控制,其研究意义深远。本系统包 括温度采集模块,液晶显示模块,串行通信模块、输出控制模块和 PID 控制模 块五个部分。开发环境采用 Keil C,编程语言为 C51 语言。文中对每个部分功 能、实现过程作了详细介绍。本设计系统的核心是进行温度的测控与数据通信。 浙江万里学院本科毕业论文 - 2 - 2 2 系统方案设计系统方案设计 无论是工农业生产中,还是日常生活中,对温度的检测和控制都是必不可 少的。对于温度控制的方法也有很多:如单片机控制、PLC 控制、模拟 PID 调 节器和数字 PID 调节器等等。 方案一:基于单片机的温度测控系统 利用单片机系统实现温度的控制,其系统总体结构图如图 2-1 所示。系统 主要包括温度采集、实时温度显示和 AT89S51 单片机。温度采集电路以数字形 式将温度传至单片机。单片机用 RS232 与计算机进行串行通信,根据现场温度 与从 PC 获取的用户设定温度,采用增量式 PID 算法进行控制,计算出实时控制 量。以此控制量控制继电器的开通和关断,从而决定温度控制电路的工作状态, 使温度不超过设定值。在温度接近或达到设定值时,单片机通过采样回的温度 与设置的设定温度比较做出相应的控制,使温度上升或下降。系统运行过程中 由液晶实时显示各种状态参量。 温度测量单 片 机 液晶显示 控制电路 串行通信 PC 机 温度显示 温度调控 图像显示 图 2-1 方案一的系统总体结构框图 方案二:利用 PLC 实现温度测控系统 利用 PLC 实现对温度的控制,其控制系统采用 PLC 控制实现自动控制方式, 来达到控制温度的恒定。在温度采集方面,采用温度传感器进行数据采集。控 制算法采用 PID 算法,可以使系统具有较好的快速性和较小的超调。将占空比 可调的控制电平经输出隔离电路去控制可控硅门极的通断,实现自适应的恒温 控制。若温度升的过快,PLC 也将输出关断电平信号转换为可控硅电路相匹配 的输入信号。该系统温度调控方便、可靠、精度高,且具有良好的运行稳定性。 浙江万里学院本科毕业论文 - 3 - 方案三:利用模拟 PID 调节的温度测控系统 基于模拟 PID 调节的恒温控制系统由数字电路部分和模拟电路两部分组成, 其控制系统的结构框图如图 2-2 所示。由用户自设定某一温度,通过 RS232 传 送给单片机,单片机对设定温度值进行查表计算后转换为对应的电压数字值, 通过 16 位的数模转换器得到与之精确对应的电压信号,此电压值于实测电压值 比较产生一个误差信号,经过 PID 电路后将获得一个控制量,此控制量经过控 制反馈电路,形成一个实时闭环系统,同时将实际测量的电压值并显示在液晶 屏上。 单 片 机 液晶显示 D/A A/D PID 电路 反馈电路 控制电路 温度测量 串行通信 PC 机 温度显示 温度调控 图像显示 图 2-2 方案三的系统总体结构框图16 比较3种方案,可以得出。方案一的成本低,可靠性高,抗干扰性强,但对 于系统的动态性能与稳态性能要求较高的场合并不合适;方案二中PLC成本高, 且外围系统配置复杂,不利于设计。对于方案三,模拟调节器调节能力有限, 当控制规律较为复杂时,就难以甚至无法实现,但数字控制器能实现复杂控制 规律的控制。由于数字PID调节运算量大,只要选择合适的参数就能将温度的控 制精度达到较好的效果。为了使设计的成本低、抗干扰强,系统动态性能与稳 态性能好的前提下,采用方案一的设计,选择具有高速DA转换功能并且运行速 度快的单片机作为主控芯片,通过单片机对偏差进行PID运算。 浙江万里学院本科毕业论文 - 4 - 3 3 RTURTU 硬件硬件设计设计 RTU(Remote Terminal Unit),即远程控制终端,主要作用于信号采集、 测量和控制。RTU 可将采集到的信号转换成数据格式显示在 PC 机或其他媒体上, 也可将从 PC 机等媒体上接受到的数据装换成命令,执行相关命令,实现功能。 RTU 具有更大的存储容量和更大的通信功能。 本系统硬件主要有五大模块组成:微处理器系统、温度采集模块、液晶显 示模块、串行通信模块和输出控制模块。 3.1 微处理器系统 系统采用AT89C51作为微处理器系统。AT89C51是一种带4K字节闪烁可编程 可擦除只读存储器的低电压、高性能CMOS 8位微处理器。该器件与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单 个芯片中,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的 方案。 3.1.1 时钟电路 单片机内部有一个高增益反相放大器,输入端为芯片引脚 XTAL1,输出端 为引脚 XTAL2。在芯片外部 XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容, 构成了一个稳定的自激振荡器。这里使用振荡频率为 12MHz 的石英晶体。其电 路图如图 3-1 所示。为了使晶振能够方便快速的起振,在晶振两端加了 2 个 30pF 的起振电容 C1、C2。 XTAL1 XTAL2 X1 CRYSTAL C1 30pF C2 30pF 图3-1 晶振时钟电路图 浙江万里学院本科毕业论文 - 5 - 3.1.2 复位电路 复位是单片机的初始化操作,其作用是使 CPU 和系统中其他部件都处于一 个确定的初始状态,并从这个初始状态开始工作。 如果复位电路中 R、C 的值选择不当,使复位时间过长,单片机将处于循环 复位状态。本设计采用按键电平复位,电平复位是通过 RST 端经电阻与 VCC 接 通而实现的,其电路图如图 3-2 所示。RST 引脚是复位信号的输入端,复位信 号是高电平有效。 RST EA R1 100 R2 10k C3 1uF 图 3-2 单片机外围复位电路 3.2 温度采集模块 3.2.1 温度传感器选择 传统的温度采集方式采用热电偶或热敏电阻,热电偶一般用于工业生产, 但精度低,需冷端补偿,电路设计复杂;热敏电阻虽然精度较高,但需要标准 稳定电阻匹配才能使用,而且重复性、可靠性都比较差。采用数字温度传感器 DS18B20可以直接输出数字温度信号,与单片机接口,结构简洁且制作成本较低。 因此本系统采用高精度数字温度传感器DS18B20。这种数字温度传感器是DALLAS 公司生产的单总线,结构简单,不需外接电路,具有独特的单总线接口方式, 仅需使用1个端口就能实现与单片机的双向通讯。 3.2.2 温度采集电路 DALLAS 半导体公司的数字化温度传感器 DS18B20 是支持“一线总线”接口 浙江万里学院本科毕业论文 - 6 - 的数字温度传感器。测量温度范围为-55+125,在-10+85范围内,精 度为0.5,可由程序设定 912 位的分辨率。它共有三个引脚:一个 VCC 电 源引脚,一个数据总线,一个地引脚,可采用外部电源供电,也可采用总线供 电方式。DS18B20 的内部结构主要由 64 位 ROM、温度传感器及高速缓存器配置 寄存器等部分组成。 温度采集电路模块如图 3-3 所示。DSB8B20 的 2 脚接系统中单片机的 P1.7 口线,用于将采集到的温度送入单片机中处理,由于 DS18B20 的 DQ 端是单线双 向通讯的,其内部结构是开漏,因此在 2 脚和 3 脚之间接一个 4.7K 上拉电阻,即 完成温度采集部分硬件电路。其中 DQ 为数字信号输入/输出端;GND 为电源地; VDD 为电源输入端。本设计采用外部电源供电方式。 P1.7 22.0 DQ 2 VCC 3 GND 1 U2 DS18B20 R64k7 图 3-3 温度采集电路 3.3 液晶显示模块 3.3.1 显示模块选择 液晶显示模块采用的是液晶显示屏。LCD 具有功耗低、轻薄短小、平面直 角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点。 而数码管虽然低能耗、低损耗、低压、寿命长、耐老化,程序编译容易,资源 占用较少,但显示的内容较少,并不是很符合系统要求。 3.3.2 液晶显示电路 液晶显示采用 LCM1602。LCM1602 是 2 行16 个字符的字符型 LCD 显示器, 它由 32 个字符点阵块组成,可以显示 ASCII 码表中的所有可视的字符。内置字 符产生器 ROM(CGROM)、字符产生器 RAM(CGRAM)和显示数据 RAM(DDRAM)。CGROM 中内置 192 个常用字符的字模,CGRAM 包含 8 个字节的 RAM,可存放用户自定义 浙江万里学院本科毕业论文 - 7 - 的字符,DDRAM 用来寄存待显示的字符代码。 液晶显示电路图如 3-4 所示。电路中 VSS 端接地,VDD 端接 5V 电源,VEE 端接一个 10K 的滑动变阻器接地,VEE 端为对比度调整端,接正电源时对比度 最弱,接地电源时对比度最高,对比度过高时会产生“鬼影” ,电位器(可变电 阻)用于调节对比度。7-14 脚为 8 位双向数据线,接 P0 口。RS 端为寄存器选 择,高电平时选择数据寄存器、低电平时选择指令寄存器,接 P2.1 口。RW 端为 读写信号线,高电平时进行读操作,低电平时进行写操作,接 P2.2 口。E 端为 使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令,接 P2.3 口。 P2.0 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.1 P2.2 2 3 4 5 6 7 8 9 1 RP1 RESPACK-8 10k D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 图 3-4 液晶显示电路 3.4 串行通信模块 PC 内通常都装有一个 RS-232 异步通信适配器板,其主要器件为可编程的 UART 芯片,从而使 PC 有能力与其他具有标准 RS-232 串行通信接口的计算机设 备进行通信。51 单片机本身具有一个全双工的串行口,但它为 TTL 电平,需要 外接一个 TTL-RS-232 电平转换器才能够与 PC 的 RS-232 串行口连接,组成一个 简单可行的通信接口。 美国 MAXIM 公司生产的 MAX232 系列 RS-232 收发器是目前应用较为普遍的 串行口电平转换器件。MAX232 是一种双组驱动器/接收器,片内含有一个电容 性电压发生器以便在 5V 电源供电时提供 EIA/TIA-232-E 电平。 浙江万里学院本科毕业论文 - 8 - MAX232 利用 4 个外接电容 C11C14 就可以在外接电源+5V 电源供电的条件 下,将输入的+5V 电压转换为 RS-232 输出所需要的12V 电压。电容可以取 O.1uF 到 10uF 左右的电容,有无极性均可。 串行通信模块的电路如图 3-5 所示。MAX232 的 T1IN 端接单片机的 TXD 脚, R1OUT 端接单片机的 RXD 脚;MAX232 的 T1OUT 端接 PC 的 RXD 脚,R1IN 端接 PC 的 TXD 脚。AT89C51 单片机的串行口工作在方式 1,即 8 位异步串行通信方式, 数据格式为 10 位(1 位起始位,8 位数据位,1 位停止位,无奇偶校验位)。 波特率由定时器 1 的溢出率决定。 TXD RXD T1IN 11 R1OUT 12 T2IN 10 R2OUT 9 T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 C2+ 4 C2- 5 C1+ 1 C1- 3 VS+ 2 VS- 6 U4 MAX232 ERROR TXD 3 RXD 2 CTS 8 RTS 7 DSR 6 DTR 4 DCD 1 RI 9 P1 COMPIM C11 1uF C12 1uF C13 1uF C14 1uF R11 10k 图 3-5 串行通信电路 3.5 输出控制模块 3.5.1 输出控制方式选择 本系统使用电阻丝进行加热,使用风扇进行降温。当水温超过设定温度时 开启风扇散热,当水温低于设定温度时加热电阻丝关闭风扇。对于输出控制电 路可采用可控硅或采用继电器控制。 可控硅是一种半控器件,应用于交流电的功率控制有两种形式:控制导通 的交流周期数和控制导通角。由交流过零检测电路输出方波经适当延时控制双 向可控硅的导通角,延时时间即移相偏移量由温度误差计算得到。可以实现对 交流电单个周期有效值周期性控制,保证系统的动态性能指标。继电器作为开 关可控制电阻丝和风扇的电路联通,并用单独的电路为其供电,即可实现电气 浙江万里学院本科毕业论文 - 9 - 隔离。继电器比较容易通过较高的电压和电流,在正常条件下工作十分可靠。 采用继电器控制可省去交流过零检测电路,虽然该控制精度不高,但由单 片机对温差进行处理后可以提高系统动态性能。在软件上选用适当的 PID 控制 算法,可达到较好的效果。因此本系统采用继电器控制输出控制电路。 3.5.2 输出控制电路 输出控制电路有光耦元件、继电器、二极管、三极管、若干电阻等构成。 这部分电路的主要作用是光电隔离,即消除后级电机对前级单片机的影响。三 极管是NPN型的,把其集电极接+5V电压,射极接继电器。当单片机引脚给出高 电位时,使其内部的三极管导通,继而通过第4引脚上的1K电阻分得电压。当基 极提供足够的电压时三极管导通,继电器的常开开关闭合,电机上电工作。当 风扇停止工作,继电器周围的那个回路会产生很强的感应电动势,二极管起保 护三极管的作用,保护三极管不被击穿。风扇输出控制电路图如图3-6所示。热 电阻输出控制电路与风扇输出控制电路相同,只是将风扇替换成了热电阻。 电路中的光耦以光为媒介传输电信号,使信号单向传输,输入端与输出端 完全实现了电气隔离,抗干扰能力强,传输效率高。利用线性光耦合器构成的 光耦反馈电路,可通过调节控制端电流改变占空比,达到精密稳压的目的。 P3.7 R7 220R 6 5 4 1 2 U3 OPTOCOUPLER-NPN R8 1k R9 10k Q1 NPN RL1 12V D1 1N4001 +220v +12v 图 3-6 风扇输出控制电路 浙江万里学院本科毕业论文 - 10 - 4 4 RTURTU 软件软件设计设计 PID温度测控软件系统主要包括温度采集模块,液晶显示模块,串行通信模 块和PID控制模块四个部分。 4.1 主程序 整个系统的主程序主要包括初始化模块,温度采集模块,液晶显示模块, 串行通信模块和PID控制模块。初始化模块的主要功能是初始化AT89C51和 DS18B20芯片;温度采集模块的功能是主要通过数字温度传感器DSl8B20实时读 取数据;液晶显示模块的主要功能是显示当前温度及设定温度;串行通信模块 的主要功能是通过MAX232与PC进行通信,传递数据;PID控制模块的主要功能是 将设定温度与实测温度的偏差信号进行PID控制,采用脉冲宽度调制(PWM)对 温度进行相应的降温或加温处理。其主程序流程图如图4-1所示。 初始化 读取设定的 PID 值 温度采集模块 液晶显示模块 PID 控制模块 传送 PC 当前温度 开始 结束 图4-1 主程序流程图 浙江万里学院本科毕业论文 - 11 - 4.2 温度采集模块 对 DS18B20 软件的设计主要根据其操作时序和操作协议编写的。其时序分 为初始化操作时序,读操作时序,写操作时序。其操作协议如下: 初始化ROM 操作命令存储器操作命令处理数据 DS18B20 每进行一次操作都要遵守操作协议流程。这一过程可具体描述为 主机的总线低电平持续时间 480 至 900 微秒然后释放总线,等 60 微秒后读总线 是否为低,为低电平表示器件 DS18B20 反馈存在信号等待主机的下一步操作。 4.2.1 初始化 单总线上的所有处理均从初始化开始,温度初始化流程图如图 4-2 所示。 总线置 1 并延时 总线置 0 并延时 总线置 1 返回 开始 图 4-2 温度初始化流程图 初始化主要通过复位脉冲开始初始化序列,从属器件通过发出同时的存在 脉冲作出相应。初始化中先将总线复位置 1,拉高数据线,稍做延时后将总线 置 0,将数据线拉低,延时保持 480s 以上,向 DS18B20 发出一持续 480us 的 低电平复位脉冲,再将总线置 1,释放数据线,延时后判断总线是否为 0,为 0 则初始化成功。 以下是 DS18B20 的初始化关键代码: DQ = 1; /DQ 复位 delay_18B20(8); /稍做延时 DQ = 0; /单片机将 DQ 拉低 浙江万里学院本科毕业论文 - 12 - delay_18B20(80); /精确延时大于 480s DQ = 1; /拉高总线 delay_18B20(14); /延时 x=DQ; /若 x=0 则初始化成功,x=1 则初始化失败 其中 delay_18B20()是 DS18B20 延迟子函数,在初始化时发初始化脉冲, 延时后检测 DQ 是否为 0,若为 0 则表示输出了存在脉冲,则当 DQ 为 0 时初始 化成功。 4.2.2 读操作 DS18B20 读操作流程图如图 4-3 所示。读操作子程序的主要功能是读取字 节数据。 N Y 设循环次数为 8 开始 总线置 0 总线置 1 读一位数据 8 位读完 返回 图 4-3 读操作流程图 在读操作流程中,总线应先置 0,单片机从 DS18B20 读数据时,将数据线 从高拉低即启动读时序。读数据后再置 1,为单片机检测 DS18B20 的输出电平 作准备,在确认循环 8 次后结束读字节的操作。 以下是 DS18B20 读一个字节的关键代码: 浙江万里学院本科毕业论文 - 13 - for (i=8;i0;i-) DQ = 0; /给脉冲信号 dat=1; /右移一位 DQ = 1; /给脉冲信号 if(DQ) dat|=0 x80; delay_18B20(4); /延时 return(dat); /返回读取温度数据 读温度子程序的主要功能是读出 RAM 中的字节,在读出时需进行 CRC 校验, 校验有错时不进行温度数据的改写。在 DQ 置 1 后,若 DQ 恒等于 1,则将数据 存入 dat。8 次循环读完,稍作延时后返回读出的十进制数据。 4.2.3 写操作 DS18B20 写操作流程图如图 4-4 所示。写操作子程序的主要功能是写字节 数据。其流程与读操作子程序流程大致相同。 N Y 设循环次数为 8 开始 总线置 0 总线置 1 写一位数据 8 位读完 返回 图 4-4 写操作流程图 浙江万里学院本科毕业论文 - 14 - 在写操作流程中,总线应先置 0,单片机从 DS18B20 读数据时,将数据线 从高拉低即启动写时序。写数据后再置 1,释放数据线。在确认循环 8 次后结 束写字节的操作。 以下是 DS18B20 写一个字节的关键代码: for (i=8;i0;i-) DQ = 0; /给脉冲信号 DQ = dat delay_18B20(5); /延时 DQ = 1; /给脉冲信号 dat=1; /右移一位 DQ = dat /读取温度值低位 b=ReadOneChar(); /读取温度值高位 temp1=b4; temp2=a temp=(b*256+a)4); /当前采集温度值除 16 得实际温度值 其中 ReadOneChar()是 DS18B20 读取一个字节子程序,b、a 分别是温度值 的高低位。此程序将温度移入缓存寄存器后,分别将高低位赋给临时值,再进 行十六进制与十进制的转换。 浙江万里学院本科毕业论文 - 16 - 4.3 液晶显示模块 液晶显示程序流程图如图4-6所示。液晶显示模块的主要功能是通过读取 DS18B20的信息,在LCD上显示实时温度、设定温度等各种状态量。 开始 检测忙信号 传送数据 选择寄存器 结束 进行写操作 使能端由 1 转为 0 图 4-6 液晶显示程序流程图 液晶显示程序流程图中先选中选择数据寄存器,再进行写操作,E 端为使 能端,当 EN 端由高电平跳变成低电平时,液晶模块执行命令。 以下是写数据到 LCM 的关键代码: lcd_wait( ); /检测忙信号 DATAPORT=WDLCM; /将变量传给数据端 LCM_RS=1; /选择数据寄存器 LCM_RW=0; /写模式 LCM_EN=1; _nop_();_nop_();_nop_(); /空操作三个机器周期 LCM_EN=0; lcd_wait()是 lcm 用来检测信号是否忙的信号函数;WDLCM 是一个字符型 变量;RS 定义为 P2.0 脚,为数据/命令端;RW 定义为 P2.1 脚,为读/写选择端; EN 定义为 P2.2 脚,为使能端;DATAPORT 定义 P0 口为 LCD 通讯端口。 浙江万里学院本科毕业论文 - 17 - RS 为高电平时,选择数据寄存器;为低电平时,选择指令寄存器。RW 为高 电平时,进行读操作;为低电平时,进行写操作。EN 从高电平转换到低电平时, 执行命令。将变量传给数据端 P0 口后,选择数据寄存器,再进行写操作,将芯 片进行使能操作,当 E 端由高电平跳变成低电平时,液晶模块开始执行命令, 数据就写入 LCM 了。 4.4 串行通信模块 串行通信的主要功能是接收从 PC 传送的数据,并将数据发送给 PC。流程 图如图 4-7 所示。 Y Y N N 等待控制命令 开始 数据编码 CRC 校验 打开串口接收数据 有数据 返回正确信息 图4-7 串行通信程序流程图 利用电平转换器件 MAX232 实现电平匹配。PC 先发送设定好的温度及 PID 参数,单片机接收后回发给 PC 机实时温度值。单片机将收到的数据转转换到 LCD 显示,其他数据直接显示为字符的 ASCII 码。 以下是串行口初始化的关键代码,用于下位机通讯: SCON =0 x50; /选择方式 1 PCON =0 x00; /串口波特率为 SCON 中串口方式定义值 浙江万里学院本科毕业论文 - 18 - TI=1; /发送中断 RI=1; /接收中断 ES=1; /使能端置 1 SCON 为串行口控制寄存器,前两位为 01,表示选择方式 1,8 位 UART,可 变波特率;PCON 为电源控制寄存器,第一位为 0,表示串口波特率为 SCON 中串 口方式定义值;SUBF 为串行(UART)数据缓冲寄存器,当数据被送到 SBUF 时, 它进入发送缓存器等待串行发送。向 SBUF 写入一个字节即启动发送过程,当从 SBUF 读出数据时,数据来自接收缓冲器;TI 为发送中断标志,当 UART 发送完 一个字节数据时,该位被硬件置 1。置 1 表示该位将导致 CPU 转到 UART 中断服 务程序,该位必须用软件手动清 0;RI 为接收中断标志,当 UART 接收到一个字 节数据时,该位被硬件置 1。该模块主要将接收到的数据存入 SBUF,再由 SBUF 载入累加器,然后再发送数据给 PC,从而使 PC 具有达到监控的目的。 4.5 PID 控制模块 PID控制模块采用PID控制进行温度控制,它是一种闭环控制系统,根据控 制量的实际值与设定值的偏差来计算下一步的控制量。软件的基本流程是: 采样当前温度PID 运算PWM(占空比式)输出 4.5.1 PID 调节器控制原理 在控制系统中,控制器最常用的控制规律是 PID 控制。PID 控制系统原理框 图如图 4-8 所示。系统由 PID 控制器和被控对象组成。 比例 微分 积分 被控对象 Rin(k) Yout(k) + - + + 图 4-8 PID 控制系统原理框图 P:比例控制是最简单的控制结构,但也能使系统满足某一方面的特性要求, 如 GM、PM、稳态误差等;它也称为增益,在控制回路中必须有一个值大于零。 浙江万里学院本科毕业论文 - 19 - I:加入积分控制,则增加了系统的稳态误差精度。在控制回路,积分控制, 也称为重置,随着时间的推移将误差进行积分,传递给输出。 D:加入微分控制,增加阻尼作用;它也称为比率,作用于误差的变化值, 再传给输出。5 4.5.2 PID 参数对系统性能的影响 各种调节系统中PID参数经验数据以下可参照: 温度T:P=2060%,T=180600s,D=3-180s; 压力P:P=3070%,T=24180s; 液位L:P

温馨提示

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

评论

0/150

提交评论