目录第1节引言…………………………………………………………………………3第2节方案论证与比较……………………………………………………………32.1总体方案设计及论证……………………………………………………32.2各部分电路方案论证……………………………………………………4第3节总体设计框图………………………………………………………………5第4节硬件电路设计与计算………………………………………………………54.1温度采样和转换电路…………………………………………………54.2温度控制电路……………………………………………………………74.3单片机控制部分…………………………………………………………74.4键盘及数字显示部分……………………………………………………8第5节软件设计及程序流程图……………………………………………………95.1主程序流程图……………………………………………………………95.2串行通信流程图………………………………………………………105.3键盘显示部分的程序流程图…………………………………………105.4PID算法………………………………………………………………10第6节测试方法和测试结果……………………………………………………116.1系统测试仪器及设备…………………………………………………116.2测试方法………………………………………………………………126.3测量结果………………………………………………………………12第7节设计总结…………………………………………………………………13第8节参考文献…………………………………………………………………13附录…………………………………………………………………………………141主系统电路原理图…………………………………………………142键盘与显示电路原理图……………………………………………14水温控制系统第1节引言引言:该系统以AT89C51单片机为核心实现温度控制。温度信号由AD590和温度/电压转换电路获得,温度实时控制采用PID算法,控制输出采用PWM波触发可控硅来控制加热通断。使系统具有较高的测量精度和控制精度。第2节方案论证与比较本题目是设计制作一个水温控制系统,对象为一升净水,加热器为1KW的电炉。要求能在35℃--95℃范围内设定控制水温,并具有较好的快速性和较小的超调,以及键盘控制和数码管显示等功能。2.1总体方案设计及论证根据题目的要求,我们提出了以下的两种方案方案一:采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法,控制精度做得不高,而且不能用数码显示和键盘设定。方案框图如图1所示:信号采集信号放大温度预置上限比较下限比较信号处理固态继电器负载图1模拟控制方案框图方案二:采用单片机AT89C51为核心,采用温度传感器AD590采集温度变化信号,A/D采样芯片ADC0804将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。比较两种方案,方案二明显的改善了方案一的不足及缺点,并具有控制简单、控制温度精度高的特点。因此本设计电路采用方案二。2.2各部分电路方案论证本电路以单片机为基础核心,系统由前向通道模块、后向控制模块、系统主模块及键盘显示模块等四大模块组成。现将各部分主要元件及电路做以下的论证:(1)温度采样部分方案一:采用热敏电阻,可满足35℃--95℃的测量范围,但热敏电阻精度低、重复性和可靠性都比较差,对于检测精度小于1℃的温度信号是不适用的。方案二:采用温度传感器AD590。AD590具有体积小、质量轻、线形度好、性能稳定等优点。其测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃,其各方面特性都满足此系统的设计要求。此外AD590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。经上述比较,方案二明显优于方案一,故选用方案二(2)、键盘显示部分控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。方案一:采用可编程控制器7279与数码管组成,可编程/显示器件7279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。用7279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。方案二:采用单片机AT89C2051与地址译码器74LS138组成控制和扫描系统,并用AT89C2051的串口与主电路的单片机进行通信,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案二。(3)、控制电路部分方案一:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。方案二:本方案的CPU模块采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。方案三:采用AT89C51单片机,其内部有8KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。比较以上三种方案,综合考虑单片机的各部分资源,因此此次设计选用方案三。第3节总体设计框图该水温控制系统主要由AT89C51单片机控制系统、前向通道(温度采样转换电路)、后向通道(温度控制电路)、键盘显示电路等四部分组成,其总体设计框图如图2所示。温度传感器温度电压转换电路A/D采样电路AT89C51单片机控制系统输出电路电炉AT89C2051键盘显示电路图2水温控制系统总体框图第4节硬件电路设计与计算本电路总体设计包括四部分:主机控制部分(AT89C51)、前向通道(温度采样和转换电路)、后向通道(温度控制电路)、键盘显示部分。一温度采样和转换电路系统的信号采样和转换电路主要由温度传感器AD590、基准电压7815、运算放大器OP-07及A/D转换电路ADC0804四部分组成。电路图如图3所示图3温度采样和转换电路原理图(1)AD590性能描述测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃。AD590为电流型传感器温度每变化1℃其电流变化1uA在35℃和95℃时输出电流分别为308.2uA和368.2uA。(2)基准电压7812提供12V标准电压,它与运算放大器OP-07和电阻组成信号转换与放大电路,将35℃--95℃的温度转换为0—5V的电压信号。(3)ADC0804性能描述。ADC0804为8位逐次逼近型A/D转换器,其输入电压范围在0—5v,转换速度为100us,转换精度为0.39﹪,对应误差为0.234℃。满足系统的要求。(4)电路原理及参数计算温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再通过OP-07将电流量转换成电压量,通过A/D转换器ADC0804将其转换成数值量交由单片机处理。图3中三端稳压7812作为基准电压,由运放虚短虚断可知运放OP-07的反向输入端Ui(2脚)的电压为零伏。当输出电压为零伏时(即Uo=0v),令7812的输出电压为Ub=12V,OP-07的2脚处为A点,AD590的转换电流为IC。列出A点的结点方程如下:Ub/(R1+R2)=Ic由于系统控制的水温范围为35℃--95℃,所以当输出电压为零伏时AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流Ib等于电流Ic等于308.2uA,三端稳压7812的输出电压为12v所以由方程(1)得R1+R2=Ub/Ic=12v/308.2uA=38.94k由方程(2)的取电阻R1=30k,R2=20k的电位器。又由于ADC0804的输入电压范围为0—5v,为了提高精度所以令水温为95℃时ADC0804的输入电压为5v(即Uo=5v)。此时列出A点的结点方程如下:Uo/(R3+R4)+Ub/(R1+R2)=Ic5V/(R3+R4)+308.2uA=368.2uAR3+R4=83.33K当水温为95℃时AD590的输出电流为368.2uA。由方程式(3)得R3+R4=83.33k,因此取R3=81k,R4=5k的电位器。1、温度控制电路此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。采用脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。100Ω电阻与0.01uF电容组成双向可控硅保护电路。控制部分电路图如图4所示。图4温度控制电路原理图2、单片机控制部分此部分是电路的核心部分,系统的控制采用了单片机AT89C51。单片机AT89C51内部有8KB单元的程序存储器及256字节的数据存储器。因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。电路原理图如图5所示:图5单片机控制电路部分原理图3、键盘及数字显示部分在设计键盘/显示电路时,我们使用单片机2051作为电路控制的核心,单片机2051具有一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。键盘/显示接口电路如图6所示。图6键盘/显示部分电路图6中单片机2051的P1口接数码管的8只引脚,这样易于对数码管的译码,使数码管能显示设计者所需的各数值、符号等等。单片机2051的P3.2、P3.3、P3.4接3-8译码器74L138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端口这样能大大的减少单片机的I/O,减少硬件的花费。键盘的接法的差别直接影响到硬件和软件的设计,考虑到单片机2051的端口资源有限,所以我们在设计中将传统的4*4的键盘接成8*2的形式(如图7),键盘的扫描除了和显示共用的8个端外,另外的两个端直接和2051的P3.5和P3.7相连。图7键盘接线如图7的接法已经完全用完了单片机的15个I/O口,有效的利用了单片机的资源。第5节软件设计及程序流程图3.1主程序流程图(如图8所示)开始系统、变量初始化定时器、串口中断设置中断设置开中断定时器计数等待图8主程序程序3.2串行通信流程图(图9)入口关闭中断A-SBUF清RI开启中断返回入口关闭中断SBUF-A清TI开启中断返回图9串行中断程序图3.3键盘显示部分的程序流程图(图10)开始系统初始化数码管显示键盘扫描图10键盘显示部分程序流程图3.4PID算法PID算法为此温控系统的性能好坏的决定性因数,其程序流程图如图13所示。PID为控制中最为成熟的一中算法,其一般算式及模拟控制规律表达式如下式:01()()[()()]tdetutKcetetdtTdTidt上式中U(t)为控制器的输出;e(t)为偏差,即设定值与反馈值之差;Kc为控制器的放大系数,即比例增益;Ti为控制器的积分常数;Td为控制器的微分时间常数。PID算法的原理即调节Kc、Ti、Td三个参数使系统达到稳定。由于PID的一般算式不易与单片机的处理,因此我们在设计中采用了增量型PID算法。将式(4-1)转换成式(4-2)的形式:由上式可得:()()(1)ukukuk由上式中的u(k)即输出PWM波的倒通时间。图13PID算法第6节测试方法和测试结果6.1系统测试仪器及设备:双路跟踪稳压稳流电源DH1718E-5伟福E6000/L仿真器数字万用表P4CPU2.4内存261.616RAMHaier机。0~100℃温度计、调温电热杯、秒表6.2测试方法(1)在水