logo资料库

基于PID的单片机炉温控制系统设计.doc

第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
资料共27页,剩余部分请下载后查看
Abstract
1.1 系统综述
1.2 各模块电路的方案选择及论证
1.2.1系统硬件总框图
图1-1系统硬件总框图
1.2.2 主机控制模块
1.2.3 温度控制模块
1.2.4 温度采集模块
1.2.5 显示模块
1.3 系统各模块的最终方案
2 控制原理和方案选择
直接算法和增量算法:直接算法是运用标准的直接计算法公式算出结果,得到的是当前需要的控制量。增量算法是
3 系统硬件设计
3.1 STC89C52构成的最小系统
3.1.1 晶振回路
图3-1 晶振电路
3.1.2复位电路
3.2温度采集模块的硬件设计
3.3 报警电路设计
3.4 电源电路设计
3.5 按键电路设计
3.5.1矩阵式键盘的结构与工作原理
3.5.2矩阵键盘两种扫描方式
3.6 显示电路设计
3.6.1 LCD1602简介
液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,因此,在袖珍式仪表和低功耗应用系统中得
3.6.2 温度显示模块电路图
LCD1602引脚详解:
3.7 电平转换电路设计
3.7.1 RS-232标准介绍
3.7.2 DB-9连接器
3.7.3 MAX232芯片介绍
3.7.4 串口硬件连接图
3.8 继电器驱动电路设计
3.8.1 固态继电器的分类与工作原理
3.8.2 固态继电器的硬件连接图
4 系统的软件设计
4.1 主程序的设计
4.2 液晶显示模块
4.3温度模块软件设计
4.3.1 DS18B20测温数据的读取程序设计
4.3.2 DS18B20温度读取流程
4.4中断服务函数
结 论
参考文献
长春工程学院微机控制课程设计 摘 要 在现代工业生产中,人们需要对各类加热炉、 反应炉和锅炉中的温度进行 检测和控制。为适应这一需要有必要设计一个性能良好、 操作方便的温度控制 系统。课题主要设计一个水温测控系统 ,控制锅炉中水的温度,选择合适的控 制规律,使锅炉中水的温度按预定规律变化,并且能够进行越限报警。可通过键 盘 ,显示电路设定目标温度和参数。控制系统按功能分主要包括温度传感器模 块、温度显示/设定模块、温度控制模块、单片机模块。系统可通过键盘对电阻 炉水温以及恒温时间长短进行预设,单片机根据当前炉内温度和预设温度,根据 设定的 PID 算法计算出控制量,控制固态继电器的导通和关闭从而控制电阻丝的 导通时间,以实现对炉温的控制。 关键词 PID, STC89C52, DS18B20 Abstract the goal The project is mainly about designing a water temperature monitoring system to control the water temperature in the boiler, and choosing proper control rules to make water temperature in the boiler change within the predetermined path, with the function of alerting temperature rising limit. Through the keyboard and display, we can set temp. and other parameters. Control system, according to the functions, includes temperature sensor module, the temperature display / setting module, a temperature control module, MCU and host computer communication module. System can preset the resistance furnace temperature and heating time through the keyboard. Single-chip microcomputer, according to the furnace temperature and preset temperature and the set of algorithms, calculates the volume control, and according to the control volume, control solid state relay to switch on and off so as to control the resistance wire conduction time in order to achieve temperature control. Key words STC89C52, DS18B20, PID
长春工程学院微机控制课程设计 目 录 1 系统方案选择和工作原理 ............................................ 1 1.1 系统综述 .................................................... 1 1.2 各模块电路的方案选择及论证 .................................. 1 1.3 系统各模块的最终方案 ........................................ 4 2 控制原理和方案选择 ............................................... 4 3 系统硬件设计 ...................................................... 6 3.1 STC89C52 构成的最小系统 ..................................... 6 3.2 温度采集模块的硬件设计 ....................................... 8 3.3 报警电路设计 ................................................. 8 3.4 电源电路设计 ................................................. 9 3.5 按键电路设计 ................................................ 10 3.6 显示电路设计 ............................................... 11 3.7 电平转换电路设计 ........................................... 12 3.8 继电器驱动电路设计 .......................................... 15 4 系统的软件设计 .................................................... 16 4.1 主程序的设计 ............................................... 16 4.2 液晶显示模块 ................................................ 17 4.3 温度模块软件设计 ............................................ 18 4.4 中断服务函数 ................................................ 21 结 论 ............................................................... 23 参考文献 ............................................................ 24
长春工程学院微机控制课程设计 1 系统方案选择和工作原理 1.1 系统综述 本文所要研究的课题是基于单片机控制的水炉温度控制系统,主要是介绍了对水箱温度 的测控,实现了温度的实时显示及控制。用 DS18B20、STC89C52 单片机及 LCD 的硬件电路完 成对水温的实时检测及显示,由 DS18B20 检测炉内温度,并在 LCD1602 中显示。控制器是用 STC89C52 单片机,根据设定的算法计算出控制量,根据控制量通过控制固态继电器的导通和 关闭从而控制电阻丝的导通时间,以实现对炉温的控制。DS18B20 可直接将温度转化成串行数 字信号供微机处理,而且每片 DS18B20 都有唯一的产品号,可以一并存入其 ROM 中,以便在 构成大型温度测控系统时在单线上挂接任意多个 DS18S20 芯片。从 DS18S20 读出或写入 DS18S20 信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以 向所挂接的 DS18B20 供电,故不需要额外电源。同时它无需任何外围硬件即可方便地构成温 度检测系统。本设计主要实现温度测控,温度显示,温度门限设定,超过设定的门限值时自 动启动相应的功能。而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接, 再结合上位机通信部分来共同实现温度的监测与控制。 1.2 各模块电路的方案选择及论证 根据题目的基本要求,设计任务主要设计一个水温测控系统,控制锅炉中水的温度,选 择合适的控制规律,使锅炉中水的温度按预定规律变化,并且能够进行越限报警。可通过键 盘,显示电路设定目标温度、控制参数、运行等。 1.2.1 系统硬件总框图 图 1-1 系统硬件总框图 1
长春工程学院微机控制课程设计 1.2.2 主机控制模块 方案一:采用 FPGA 作为系统控制器。FPGA 功能强大,可实现各种复杂的逻辑功能,规模 大,密度高,它将所有器件集成在一块芯片上,可以减少体积,提高稳定性,并且可用 EDA 软件仿真、调试,易于进行功能扩展,但成本较高。由于本设计对数据的处理速度本不高, FPGA 的高速处理优势得不到充分体现,且引脚较多。 方案二:采用模拟放大器组成的 PID 控制系统。对于水温控制系统是足够的。但要附加 显示,温度设置等功能,附加电路较多,且反应速度慢。 方案三:采用 STC89C52 单片机作为控制器。单片机算术运算功能强,软件编程灵活、自 由度大,可用软件编程实现各种算法和逻辑功能。本身带有定时/计数器,可以用来定时、计 数,并且具有功耗低、体积小、技术成熟和成本低等优点。 基于以上分析,拟定方案三,由 STC89C52 作为主机控制部分。 1.2.3 温度控制模块 根据题目要求,可以用电阻炉进行加热,控制电阻炉的通断频率即可以控制加热的速度。 当水温过高时,关掉电阻炉,即可使水温控制在设定的温度范围内。对加热控制模块有以下 三种方案: 方案一:采用可控硅来控制加热器有效功率。可控硅是一种半控器件,应用于交流电的 功率控制有两种形式:控制导通的交流周期数达到控制功率的目的;控制导通角来控制交流 功率。可以实现对交流电单个周期有效值周期性控制,保证系统的动态性能指标。该方案电 路稍复杂,需使用光耦合驱动芯片以及变压器等器件。但该方案可以实现功率的连续调节, 因此反应速度快,控制精度高。 方案二:采用电磁继电器作为控制器件。电磁继电器是一种电子控制器件,它具有控制系 统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上 是用较小的电流、较低的电压去控制较大电流、较高的电压。但是电磁继电器开关频率低, 不能用于开关频率高的场合。 方案三:采用固态继电器控制。使用固态继电器可以很容易地实现控制较高的电压和电 流,在正常条件下,工作十分可靠。继电器无需外加光耦,自身即可实现电气隔离。固态继 2
长春工程学院微机控制课程设计 电器具有控制电压宽(3~32 V)、驱动电流小(5~20 mA)、通断延间小(<10 ms)等优点, 适合通断频率高的控制场合。 分析可知方案三无法精确实现电热丝功率控制,但是采用固态继电器控制省去光耦和交 流过零检测电路,并且可以通过算法,利用 pwm 波控制开关频率,同样可以达到要求的控温 精度。 1.2.4 温度采集模块 方案一:选用 Harris 公司生产的采用激光修正的精密集成温度传感器 AD590。AD590 的 测温范围是-55℃~+150℃,最大非线性误差为±0.3℃,响应时间仅为 20us,重复性误差低 至±0.05℃,功耗低,仅为 2mW。此外 AD590 是温度-电流传感器,对于提高系统抗干扰能力 有很大的帮助,但是该器件需要模数转换电路。 方案二:采用热敏电阻。选用此类元件的优点价格便宜,但由于热敏电阻的非线性特性 会带来较大的误差。 方案三:使用带有 A/D(模数转换)单片集成的 DS18B20 传感器。DS18B20 数字传感器是 DALLAS 公司生产的即单总线器件,无需其他外加电路,直接输出数字量。可直接与单片机通 信,读取测温数据。具有线路简单,性能稳定体积小的特点,测温范围-55℃~+125℃,固 有测温分辨率 0.5℃。 比较以上方案,DS18B20 传感器直接输出数字信号,结构简单性能可靠,测温范围和测温 精度满足设计要求,而且比方案一成本低,所以选择方案三。 1.2.5 显示模块 方案一:采用三个 LED 八段数码管分别显示温度的十位、个位和小数位。数码管具有亮 度高,寿命长,耐老化,对外界环境要求低。但 LED 八度数码管引脚排列不规则,显示时要 加驱动电路,硬件电路复杂。 方案二:采用带有字库的 12864 液晶显示屏。12864 液晶显示屏(LCD)具有功耗低、轻 薄短小无辐射危险,平面显示及影像稳定,不闪烁,可视面积大,画面效果好,能显示文字 和图像,抗干扰能力强。但是 12864 价格昂贵。 3
长春工程学院微机控制课程设计 方案三:1602 液晶也叫 1602 字符型液晶它是一种专门用来显示字母、数字、符号等的点 阵型液晶模块它有若干个 5×7 或者 5×11 等点阵字符位组成,每个点阵字符位都可以显示一 个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正 因为如此所以他不能显示图形,但是价格便宜,编程简单。 比较以上方案,方案二是显示温度曲线的首选,但是因为设计会做单片机与上位机通信, 通过上位机显示温度曲线,下位机无需再显示温度曲线,考虑经济因素,采用方案三作为显 示模块。 1.3 系统各模块的最终方案 根据以上分析,结合器件和设备等因素,确定如下方案: ①采用 STC89C52 单片机作为控制器,分别对温度采集、LCD 显示、温度设定、加热装置、 上位机通信进行控制。 ②温度测量模块采用 DS18B20,此器件的使用可以省去 A/D(模数转换)部分。 ③电热丝有效功率控制采用固体继电器控制,实现电路简单实用,固体继电器的开关频 率可以满足设计要求。 ④显示用 LCD1602 显示屏显示温度值和时间,用数字键和功能设置键实现温度、时间的 设置。 2 控制原理和方案选择 直接算法和增量算法:直接算法是运用标准的直接计算法公式算出结果,得到的是当前 需要的控制量。增量算法是标准算法的相邻两次运算之差,得到的结果是增量,即在上一次 控制量的基础上需要增加的控制量,对于空调温度的控制就是需要增加表示当前测量值与设 定目标之差,设定目标是被减数,结果可以是正或负,正数表示还没有达到,负数表示已经 超过了设定值。这是面对比例项 P 用的变动数据。 累计偏差∑e:∑e 用于考察当前控制对象的变化趋势,作为快速反应的重要依据,这 是面对微分项 D 用的变动数据。 三个基本参数 P、I、D:这是做好一个控制器的关键常数,分别称为比例常数、积分常 数和微分常数,不同的控制对象需要选择不同的数值,还需经过现场调试才能获得较好的效 4
长春工程学院微机控制课程设计 果。 PID 算法:PID 控制器调节输出,保证偏差 e 为零,使系统达到稳定状态,偏差 e 是 给定值 SP 和过程变量 PV 的差。 三个基本参数 P、I、D 在实际控制中的作用如下: 1) 比例调节作用: 系统一旦出现了偏差,比例调节立即按比例产生作用减少偏差。增大比例系数一般将加 快系统的响应,有利于减小静差。但过大的比例系数会使系统有较大的超调量,并产生振荡, 使稳定性下降。 2) 积分调节作用: 能使系统消除稳态误差,提高无差度。系统有误差,积分调节就工作,直至无差,积分 调节停止,输出为常数。积分作用的强弱取决于积分时间常数,其越小,积分作用就越强, 有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢。积分作用常 与另两种调节规律结合,组成 PI 调节器或 PID 调节器。 3) 微分调节作用: 微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产 生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统 的动态性能。在微分时间选择恰当的情况下,可以减少超调,缩短调节时间。微分作用对噪 声干扰有放大作用,因此过强的微分调节,对系统抗干扰不利。此外,微分反应的是变化率, 而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规 律相结合,组成 PD 或 PID 调节器。 4) PID 算法 在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的 PID 控制器(亦 称 PID 调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广, 控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的 典型对象——“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID 控制器是一 种最优控制。PID 调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简 便,结构改变灵活(PI、PD、…)。 控制点目前包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法, 5
长春工程学院微机控制课程设计 微分先行。 这三种 PID 算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。 在模拟量的控制中,经常用到 PID 运算来执行 PID 回路的功能,PID 回路指令使这一任务 的编程和实现变得非常容易。如果一个 PID 回路的输出 M(t)是时间函数,则可以看作比例 项,积分项和微分项三部分之和。即: M )( t  * eK c  t  0 ed t  * dKM  0 c / d t e (公式(1)) 以上各量都是连续量,第一项为比例项,最后一项为微分项,中间两项为积分项,其中 P 是给定值与被控制变量之差,即回路偏差,K 为回路的增益。 用数字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信号 也要离散化,公式如下 MPn  K c (* SP n  PV n )  /[ TTK c i * n (* SP n  PV n )]  /[ TTKMX i *  n c (* SP n  PV n )] (公式(2)) 3 系统硬件设计 3.1 STC89C52 构成的最小系统 微型计算机即单片机是因工业测控系统数字化,智能化的迫切需求而发展起来的。 STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制 应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash,512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,三个 16 位 定 时器/计数器,一个 6 向量 2 级中断结构,全双工串行口。另外 STC89X52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计 数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切 工作停止,直到下一个中断或硬件复位为止。最高运作频率 35Mhz。 3.1.1 晶振回路 晶振回路主要任务是为 STC89C52 单片机正常工作需要的时钟电路提供一个稳定的工作频 率。根据 STC89C52 单片机时钟周期的要求,回路需要选用频率为 11.0592MHz 的晶振。晶振 回路由电容和陶瓷谐振器晶振组成。作为单片机的时钟源。STC89C52 内部有一个用于构成振 荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚 XTAL0 和 XTAL1,在 XTAL0 和 XTAL1 端口接上时钟电源即可构成时钟电路。本设计中采用内部时钟产生方式。在 XTAL0 和 6
分享到:
收藏