电子课程设计报告设计课题:水温控制系统专业班级:电子1106班学生姓名:王亮亮、张佩佩、杨梅学号:1130060221、1130060265、1130060260指导教师:梁斌设计时间:2014年3月水温控制系统设计一、设计任务与要求:1.任务:设计并制作一个水温自动控制系统,控制对象为200mL净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。2.要求:基本要求:(1)温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。(2)环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。(3)用十进制数码管显示水的实际温度。发挥部分:(1)采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。(2)温度控制的静态误差≤0.2℃。3.说明:(1)加热器采用低压24V铝壳恒温PTC陶瓷加热板。工作电压:24V(裸线接出,不分正负极,接额定电压即可)外观尺寸:35x21x5mm(核心加热部分)额定功率:20W(实际耗散功率10~30W)干烧表温:220度左右(内部PTC加热芯片温度为260度左右)(2)测量水温时只要求在容器内任意位置设置一个测量点。二、方案设计与论证:1.温度传感器的比较与选择:方案一、AD590是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测具有线性好,精度适中,灵敏度高,体积小,使用方便等优点。AD590D的输出形式有电流和电压两种形式,要将温度传感器采集的温度值经过AD转换,然后送入单片机进行处理。方案二、采用DS18B20数字温度传感器对水温进行采样,无需进行AD转换。将采集的值直接送入单片机进行处理。DS18B20测温范围-55℃~+125℃,固有测温分辨率0.5℃,支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温。在市面上AD590比DS18B20贵几倍,同时AD590的外围电路比DS18B20的复杂,就这价格和电路实现难易的考虑,本系统选择方案二。2.主控MCU选择:方案一、采用最简单的51单片机处理温度数据、键盘的输入和LCD的显示。利用51单片机的优点是价格便宜,使用比较方便,缺点是接口少,使用时需扩展,外围电路比较多,运算处理速度不高,功耗高。方案二、利用MSP430对温度数据等进行处理,处理能力强、运算速度快、超低功耗、片内资源丰富、方便高效的开发环境。对于实现本系统的功能绰绰有余。综合比较以上两个方案,本系统选择方案二。3.加热器的比较与选择:方案一:采用直形加热管。直形加热管的加热效率低,速度慢,且加热不均匀,导致容器内水温的上下温差较大,使温度计测量的温度误差较大,影响实验的准确性。方案二:采用螺旋加热管。可将螺旋加热管固定到容器内部,通电加热时能使水在容器内形成对流,效率相对较高,加热较均匀,使得测量误差较小。综合比较以上两个方案,本系统选择方案二。4.显示器的比较与选择:方案一、采用TFT_LCD作为显示温度值的器件。每个液晶像素点都是由集成在像素点后面的薄膜晶体管来驱动,从而可以做到高速度、高亮度、高对比度显示屏幕信息,是目前最好的LCD彩色显示设备之一。方案二、采用LCD12864作为显示温度值的器件。LCD12864是工业字符型液晶,1602采用标准的16脚接口,其中包括8根数据线,三根控制线,电源、地、就液晶驱动电压引脚。使用方便,价格适中。由于本系统只需要显示温度值,对分辨率和颜色方面要求不高,所以综合价格和系统需求考虑,本系统选择方案二。三、单元电路设计与参数计算:1.温度传感器电路设计图2DS18B20采用一总线技术,在使用时需在外部接一个上拉电阻(取经验值4.7K),在总线闲置时为高电平。信息通过单总线接口将数字温度值送入单片机进行处理和显示。DS18B20的特性:(1)电压范围为3.0~5.5V,在寄生电源方式下可由数据线供电。(2)温度使用范围为-55°C~+125°C,在-10°C~+85°C时精度为±0.5°C。(3)可编程的分辨率为9~12位,对应的课分辩温度为0.5°C、0.25°C、0.125°C和0.0625°C,可实现高精度测量。(4)具有负电压特性。2.键盘电路设计图3键盘的行列线接入单片机的P1口,当有键按下时就会产生中断信号(P1口的每一个位都可以产生中断信号),然后进入中断程度,对键盘进行扫描,确定按键的值。表一键盘功能键表行列一二三四I12确定——II————————III————————IV————————数字1键来控制温度的十位,数字2键来控制温度的各位,当设定好温度后按确定键即可。3.加热器加热电路设计图4当单片机P5.5脚输出高电平时,三极管8050导通,从而固态继电器打到NO端,电热杯与220V交流电形成通路,对水进行加热。二级管IN4148固态继电器起着保护作用。4.风扇冷却电路设计图5当实时温度比设定的温度高出0.7°C时,P5.7输出高电平,导通8050,从而使固态继电器打到NO端是风扇工作,对水降温。风扇由5V直流电源驱动。5.液晶显示电路设计图6P3.0、P3.1、P3.2接LCD12864的三个控制引脚,P4口作为LCD12864的数据接口。通过对控制引脚的控制,从而实现温度显示的功能。6.温度控制与PID算法下面的叙述以波峰焊及回流焊加热温区的温度控制为实例,简单地结合控制理论,以浅显的方式,将温度控制及PID算法作一个简单的描述。6.1温度控制的框图这是一个典型的闭环控制系统,用于控制加热温区的温度(PV)保持在恒定的温度设定值(SV)。系统通过温度采集单元反馈回来的实时温度信号(PV)获取偏差值(EV),偏差值经过PID调节器运算输出,控制发热管的发热功率,以克服偏差,促使偏差趋近于零。例如,当某一时刻炉内过PCB板较多,带走的热量较多时,即导致温区温度下降,这时,通过反馈的调节作用,将使温度迅速回升。其调节过程如下:温度控制的功率输出采用脉宽调制的方法。固态继电器SSR的输出端为脉宽可调的电压UOUT。当SSR的触发角触发时,电源电压UAN通过SSR的输出端加到发热管的两端;当SSR的触发角没有触发信号时,SSR关断。因此,发热管两端的平均电压为Ud=(t/T)*UAN=K*UAN其中K=t/T,为一个周期T中,SSR触发导通的比率,称为负载电压系数或是占空比,K的变化率在0-1之间。一般是周期T固定不便,调节t,当t在0-T的范围内变化时,发热管的电压即在0-UAN之间变化,这种调节方法称为定频调宽法。下面将要描述的PID调节器的算式在这里的实质即是运算求出一个实时变化的,能够保证加热温区在外界干扰的情况下仍能保持温度在一个较小的范围内变化的合理的负载电压系数K。6.2温度控制的两个阶段温度控制系统是一个惯性较大的系统,也就是说,当给温区开始加热之后,并不能立即观察得到温区温度的明显上升;同样的,当关闭加热之后,温区的温度仍然有一定程度的上升。另外,热电偶对温度的检测,与实际的温区温度相比较,也存在一定的滞后效应。这给温度的控制带来了困难。因此,如果在温度检测值(PV)到达设定值时才关断输出,可能因温度的滞后效应而长时间超出设定值,需要较长时间才能回到设定值;如果在温度检测值(PV)未到设定值时即关断输出,则可能因关断较早而导致温度难以达到设定值。为了合理地处理系统响应速度(即加热速度)与系统稳定性之间地矛盾,我们把温度控制分为两个阶段。(1)PID调节前阶段在这个阶段,因为温区的温度距离设定值还很远,为了加快加热速度,SSR与发热管处于满负荷输出状态,只有当温度上升速度超过控制参数“加速速率”,SSR才关闭输出。“加速速率”描述的是温度在单位时间的跨度,反映的是温度升降的快慢,如上图所示。用“加速速率”限制温升过快,是为了降低温度进入PID调节区的惯性,避免首次到达温度设定值(SV)时超调过大。在这个阶段,要么占空比K=0,SSR关闭;要么占空比K=100%,SSR全速输出。PID调节器不起作用,仅由“加速速率”控制温升快慢。(2)PID调节阶段在这个阶段,PID调节器调节输出,根据偏差值计算占空比(0-100%),保证偏差(EV)趋近于零,即使系统受到外部干扰时,也能使系统回到平衡状态。6.3PID算法PID控制的原理是基于下面的算式:输出M(t)是比例项,积分项和微分项的函数。其中:M(t)PID回路的输出,是时间的函数KcPID回路的比例增益ePID回路的偏差(设定值(SV)与过程变量(PV)之差)MinitialPID回路的静态输出值为了能让数字计算机处理这个算式,连续算式必须离散化为周期采样偏差算式,才能用来计算输出值。数字计算机处理的算式如下:从这个公式可以看出,积分项是从第一个采样周期到当前采样周期所有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是当前采样的函数。在数字计算机中,不保存所有的误差项,其实也不必要。由于计算机从第一次采样开始,每有一个过程采样值必须计算一次输出值,只需要保存前一次过程值(PVn-1)和积分项前值。利用计算机处理的重复性,可以将以上算式变换为:其中:Mn在第n采样时刻,PID回路的输出计算值SVPID回路设定值PVn在第n采样时刻的过程变量值PVn-1在第n-1采样时刻的过程变量值MX积分前项值MintialPID回路的静态输出值KcPID回路的比例增益KI积分项的比例常数KI=Kc*Ts/TiTs是离散化时的采样时间间隔Ti是积分时间参数;KD微分项的比例常数KD=Kc*Td/TsTs是离散化时的采样时间间隔Td是微分时间参数;从上面PID的算式,可以分析三个基本参数Kc,KI,KD在实际控制中的作用:(1)比例调节作用:比例项按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少偏差。但是过大的比例调节,使系统的稳定性下降,甚至造成系统的不稳定。(2)积分调节作用:积分项消除系统的稳态误差,提高无差度。只要有偏差,积分就进行,直到无偏差时,积分运算才停止,积分调节项输出一常数值。积分作用的强弱取决于积分时间常数Ti,Ti越小,积分作用越强。积分控制可提高系统的无差度,但积分项输出响应缓慢,使得系统调节时间增长。(3)微分调节作用:微分项反映系统过程变量的变化率((PVn-1-PVn)/Ts),具有预见性,能预见变化的趋势,因此,能产生超前的调节作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间参数Td选择合适的情况下,可以减少超调,减少调节时间。微分调节对干扰有放大效果,过强的微分调节,对系统抗干扰不利。此外,微分项反映的是过程变量的变化率,而当过程变量没有变化时,微分调节输出为零。微分调节不能单独使用,需要与另外两种调节规律相结合,组成PD或PID调节器。四、总原理图及元器件清单1.总体框图:该系统控制核心采用MSP430F5438单片机,采用4x4矩阵键盘作为设定温度的输入,采用LCD12864显示数据,采用DS18B20单线温度传感器,单片机通过控制两个继电器,达到分别控制风扇和电热杯的目的。2.总原理图:3.程序流程图:总程序一共包含5个c文件,程序结构框图如图3所示:系统初始化调用各种初始化函数端口1(键盘)中断循环执行温度获取函数显示键盘输入的温度实时与设定温度进行比较PID算法获取控制信号,同时控制加热时间液晶初始化显示单个字符显示多个字符显示一个字符串温度获取函数写入各种控制命令读取温度转换结果将数字温度转换为浮点键盘初始化按键判断获取键值延时消抖Ds18b20.ckeypad.cLcd.c各种精确的延迟函数Delay.cMain.c3.1主函数:主函数流程图如图4所示开始系统初始化键盘初始化LCD初始化I/O端口初始化温度获取函数图4主函数流程图3.2温度获取函数温度获取函数流程图如图9所示YN