基于单片机的水温控制系统设计资料.doc





《基于单片机的水温控制系统设计资料.doc》由会员分享,可在线阅读,更多相关《基于单片机的水温控制系统设计资料.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的水温控制系统设计目 录摘 要4第1节 课题任务要求 .5第2节 总体方案设计 .52.1 总体方案确定.6 2.1.1 控制方法选择.6 2.1.2 系统组成7 2.1.3 单片机系统选择7 2.1.4 温度控制.7 2.1.5 方案选择.7第3节 系统硬件设计.83.1 系统框图.83.2 程序流程图.12第4节 参数计算.164.1 系统模块设计.16 4.1.1 温度采集及转换.164.1.2 传感器输出信号放大.17 4.1.3模数转换.184.1.4 外围电路设计.194.1.5 数值处理及显示部分.194.1.6 PID算法介绍.194.1.7 A/D转换模块.204.
2、1.8 控制模块.214.2 系统硬件调试.21第5节 CPU软件抗干扰 .245.1 看门狗设计.24第6节 测试方法和测试结果276.1 系统测试仪器及设备.276.2 测试方法.276.3 测试结果27结束语 .29 参考文献.30基于单片机的水温控制系统设计摘要:本系统以AT89C51,AT89C2051单片机为核心,主要包括传感器温度采集,A/D模/数转换,按扭操作,单片机控制,数码管数字显示等部分。本系统采用PID算法实现温度控制功能,通过串行通信完成两片单片机信息的交互而实现温度设定、控制和显示。本设计还可以通过串口与上位机(电脑)连接,实现电脑控制。系统设计有体积小、交互性强等
3、优点。为了实现高精度的水温控制,本单片机系统采用PID算法控制和PWM脉宽调制相结合的技术,通过控制双向可控硅改变电炉和电源的接通、断开,从而改变水温加热时间的方法来实现对水温的控制。本系统由键盘显示和温度控制两个模块组成,通过模块间的通信完成温度设定、实温显示、水温升降等功能。具有电路结构简单、程序简短、系统可靠性高、操作简便等特点。第1节 课题任务与要求:1.基本要求 一升水由1kw的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。2.主要性能指标a. 温度设定范围:30-90,最小区分度为1。b. 控制精度:温度控制的静态误差1。
4、c. 用十进制数码显示实际水温。d. 能打印实测水温值。3.扩展功能a. 具有通信能力,可接受其他数据设备发来的命令,或将结果传送到其他数据设备。b. 采用适当的控制方法实现当设定温度与环境温度突变时,减小系统的调节时间和超调量。c. 温度控制的静态误差1。d. 能自动显示水温随时间变化的曲线。第2节 总体方案设计2.1总体方案的确定2.1.1、控制方法选择由于水温控制系统的控制对象具有热存储能力大,惯性也较大的特点。水在容器内的流动或热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。一般来说,热过程大多具有较大的滞后,它对任何信号的响应都会推迟一段时间,使输出与输入之间产生相
5、移。对于这样一些存在大的滞后特性的过渡过程控制,一般来说可以采用以下几种控制方案:(1)输出开关量控制:对于惯性较大的过程可以简单地采用输出开关量控制的方法。这种方法通过比较给定值与被控参数的偏差来控制输出的状态:开关或者通断,因此控制过程十分简单,也容易实现。但由于输出控制量只有两种状态,使被控参数在两个方向上变化的速率均为最大,因此容易硬气反馈回路产生振荡,对自动控制系统会产生十分不利的影响,甚至会因为输出开关的频繁动作而不能满足系统对控制精度的要求。因此,这种控制方案一般在大惯性系统对控制精度和动态特性要求不高的情况下采用。(2)比例控制(P控制)比例控制的特点是控制器的输出与偏差成比例
6、,输出量的大小与偏差之间有对应关系。当负荷变化时,抗干扰能力强,过渡时间短,但过程终了存在余差。因此它适用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的系统。使用时还应注意经过一段时间后需将累积误差消除。a. 比例积分控制(PI控制)由于比例积分控制的特点是控制器的输出与偏差的积分成比例,积分的作用使得过渡过程结束时无余差,但系统的稳定性降低。虽然加大比例度可以使稳定性提高,但又使过渡时间加长。因此,PI控制适用于滞后较小、负荷变化不大、被控量不允许有余差的控制系统,它是工程上使用最多、应用最广的一种控制方法。b. 比例积分加微分控制(PID控制)比例积分加微分控制的特点是微分
7、的作用使控制器的输出与偏差变化的速度成正比例,它对克服对象的容量滞后有显著的效果。在比例基础上加上微分作用,使稳定性提高,再加上积分作用,可以消除余差。因此,PID控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。 结合本例题设计任务与要求,由于水温系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足系统对控制品质的要求。但从以上对控制方法的分析来看,PID控制方法最适合本例采用。另一方面,由于可以采用单片机实现控制过程,无论采用上述哪一种控制方法都不会增加系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案。因此本系统可以采用PID的控制方式,以最大限度地
8、满足系统对诸如控制精度、调节时间和超调量等控制品质的要求。2.1.2、.系统组成就控制器本身而言,控制电路可以采用急经典控制理论和常规模拟控制系统实现水温的自动团结。但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,采用数字控制、显示、A/D与D/A转换,配额后执行器与控制阀构成的计算机控制系统,在过程控制过程中得到越来越广泛的应用。由于本例是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。因此,应以单片微型计算机为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,单片机的
9、使用也为实现水温的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑道路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制系统(DDC)。2.1.3、.单片机系统选择AT89C2051、AT89C51单片机是最常用的单片机,是一种低损耗、高性能、CMOS八位微处理器。AT89C2051与MCS-51系列的单片机在指令系统和引脚上完全兼容,而且能使系统具有许多MCS-51系列产品没有的功能,功能强、灵活性高而且价格低廉。AT89S51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于4K,四个
10、I/O口全部提供给拥护。系统运行中需要存放的中间变量较少,可不必再扩充外部RAM。1.1.4、温度控制键盘输入一个需要控制的温度,通过单片机2051的串口把数据传送到AT89C51,AT89C51通过数据比较,PID分析,T0,T1产生PWM波来控制电炉是否继续加热还是停止加热。1.1.5、方案选择方案一:用热敏电阻:通过电阻的变化来获得电压的变化,起价格虽然便宜但是精度不是很高。对于一个精度要求高的系统不宜采用方案二:用A/D590:通过AD590温度传感器采集温度,由于AD590是电流传感器,经过电阻转换为电压。虽然价格较高但是精度高。经比较,我们选择方案二第3节 系统硬件设计3.1系统框
11、图传 感器电炉单 片 机 基 本 系 统信号放大A/D功率放大键盘显示图3-1 单片机控制系统原理框图3.1.2键盘显示电路本模块以AT89C2051单片机为核心,利用138译码器对显示器动态扫描及作为键盘的扫描线,采用此方法大大简化了硬件,充分的利用了单片机的资源,这也是本设计的巧妙所在。可同过键盘来设置温度,并显示在数码管上,并通过串口发送出去,另外检测到温度通过串口接收进来,并显示在相应的数码管上键盘的扫描输入与显示器的扫描输出由单片机控制,但考虑到键盘与接口需要较多的I/O口线,如果直接由单片机控制,一方面必须扩充系统I/O口,另一方面,键盘与LED显示的扫描处理占用大量机时,增加软件
12、编程负担。为此在组成系统人机对话通道时采用了可编程的键盘。显示接口芯片8051,由8051负责键盘扫描、消抖处理和显示输出工作。根据认为的要求,8051键盘被设计为2*8行,扫描线有SL0SL8经译码输出,接入键盘列线,查询RL0RL1提供,采用键盘扫描法对16个按键进行读取状态。使用行列式,把这16个按键分为82,采用74LS138对8行键盘轮流扫描,再通过P3.2和P3.7这2列读进来,从而判断按键是否按下。电路如图3所示。键盘的系统框图如下: 键盘显示图一 键盘显示图二2系统温度控制前向通道:以AT89C51单片机为控制核心,采集到温度,经放大,AD转换后送单片机处理,再通过串行口发送到
13、显示模块因为考虑到PID运算时需要调用浮点数运算程序库,程序需要占用很大的存储空间,8051内部的能满足此要求,所以不需要扩展外部ROM,系统中运行中需要存放的中间变量只有给定温度和实测,PID运算中间结果及输出结果等十几个变量.因而8051片内的RAM能够满足要求,可不必再扩展。后向通道:后向通道是实现控制型号输出的通道,单片机系统产生的控制信号经过功率放大器的放大控制电炉的输入功率,以实现水温的控制的目的.根据系统的总误差要求,后向通道的控制精度也要应控制在0.83%之内.以上就是整个电路的框图, 将前述各单元电路连接起来,就可构成完整的系统硬件电路图。系统硬件电路中除了包含前、后向通道的
14、输入、输出插座外,还应考虑增加苦干个插座,以方便主控板与各部件的连接。硬件电路制作包括印刷线路板制作、焊接和系统连接等几个方面。印刷线路板的设汁一般都是在计算机上利用Protel 99 SE软件进行辅助设计。3.2 程序流程图系统软件由主程序、键盘扫描、LED显示、串行口中断组成。由于本模块就进行键盘与显示任务,且键盘扫描与LED扫描是用同个74LS138来完成,可以将程序精简,即把键盘和显示的程序合在一起放在主程序里。(1)初始化。设定可编程芯片的工作方式,对内存中的工作参数区进行初始化,显示系统初始状态。(2)读温度程序. 通过DS18B20的侧温.(3)调用PID算法子程序通过键盘模块发
15、送过来的数据,即给定值,和测量值进行计算,输出PWM波.对电炉的水温度进行控制.(4)返回(2)定时中断服务程序: 采样定时由定时器o的定时操作完成,定时器o的定时初值时间由PID的运算结果控制。程序流程如图所示:(3)脉宽调制输出子程序:NYYNYNNY开始初始化P3.3、P3.4、P3.5=000消抖31H 0P130H延时Flaga=1等待按键放开P3.2=0?P3.7=0?消抖等待按键放开Flaga=1?P3.3、P3.4、P3.5=001P131H延时Flagb=1?Flagb 132H 0Flagb0.P3.3、P3.4、P3.5=010P3.3、P3.4、P3.5=011.P3.
16、3、P3.4、P3.5=101P3.3、P3.4、P3.5=100P3.3、P3.4、P3.5=110P3.3、P3.4、P3.5=111入口P0.0输出高电平脉宽标志位清0返回脉宽标志位是高电平?P0.0输出低电平把脉宽标志位置1YN初始化调用水温检测子程序调用PID算法子程序开起定时器定时时间到?调用脉宽子程序返回YNN初始化调读温度子程序调PWM子程序调PID子程序调发送子程序定时时间到YPID子程序T1=T1+K(Ek-E(K-1)设置温度大于实测温度设置温度减实际温度实际温度减设置温度置标志位清标志位差值放30HYN子程序返回占空比加上差值标志位为1PWM占空比到上限PWM占空低到下
17、限占空比减去差值开始复位DS18B20发读存储器命令返回发跳过ROM命令发温度转换命令延时复位DS18B20将温度转换成BCD码发送温度值,显示温度水温检测子程序第4节 参数计算系统调试包括硬件调试和软件调试。按+键设定温度值加一;按-键设定温度值减一;按设温键,可任意设置温度,输入相应的数值,按确定键即可,按取消键则返回前一次设置的值;按初始键则返回刚一开机的状态。软件的调试府在仿真器提供的单步、断点、跟踪等功能的支持下对各子程序分别进行调试将调试完的工程序连接起来再调试逐步扩大调试范围。4.1 系统各模块设计及参数计算4.1.1、温度采集部分及转换部分我们使用AD590来采集外界的温度。A
18、D590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:mA/K式中: 流过器件(AD590)的电流,单位为mA; T热力学温度,单位为K。2、AD590的测温范围为-55+150。3、AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。4、输出电阻为710MW。5、精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线性误差为0.3。由
19、于AD590采集的输出数据是模拟量电流,而且很小,不易测量,所以我们要将电流量转换成电压量,这样有利于后面的放大及D/A转换。我们改用一个固定电阻(9.1k或10k)和一个电位器(1K)串接的方法,这样可以通过调节电位器使得每路输出电压基本一致。如以0为参考值则应使其电压输出为2.73V;如以25为参考值,则应使其电压输出为2.98V.4.1.2、传感器输出信号放大电路部分:由于取得的电压量很小,我们选用LM324做为运放,以为其内部带有四个运放,可以使得运放部分在电路版上不占用太大的体积。我们用了其内部的三个运放。第一级运放我们做成射级跟随器的形式,起到阻抗匹配的作用。第二级运放设计为反相比
20、例求和电路,根据反相比例求和电路公式,我们设计了如下图的电路,U=-((10/10)*U1+10/(20+R)),其中U为第二级输出电压,R为50k的电位器。可以通过调节电位器使得输出电压达到要求。设0时,第二级的输出为2.73-2.73=0V,而25时,第二级的输出为2.73-2.98= -0.25V(反相)(零位调整)。第三级运放设计为反相比例放大电路,我们设计为将第二级的输出电压放大5倍。所以我们选用了10k和50k的电阻来实现。4.1.3、模数转换电路部分:这部分最初想用ADC0809的,但为了配合使用CD4051,我们最终选择了ADC0804。ADC0804的规格及引脚图8位CMOS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水温 控制系统 设计 资料

限制150内