您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子系统设计-温度控制系统实验报告
电子系统设计实验报告温度控制系统的设计姓名:杨婷班级:信息21学校:西安交通大学一、问题重述本次试验采用电桥电路、仪表放大器、AD转化器、单片机、控制通断继电器和烧水杯,实现了温度控制系统的控制,达到的设计要求。设计制作要求如下:1、要求能够测量的温度范围是环境温度到100oC。2、以数字温度表为准,要求测量的温度偏差最大为±1oC。3、能够对水杯中水温进行控制,控制的温度偏差最大为±2oC,即温度波动不得超过2oC,测量的精度要高于控制的精度。4、控制对象为400W的电热杯。5、执行器件为继电器,通过继电器的通断来进行温度的控制。6、测温元件为铂热电阻Pt100传感器。7、设计电路以及使用单片机学习板编程实现这些要求,并能通过键盘置入预期温度,通过LCD显示出当前温度。二、方案论证1、关于R/V转化的方案选择方案一是采用单恒流源或镜像恒流源方式,但是由于恒流源的电路较复杂,且受电路电阻影响较大,使输出电压不稳定。方案二是采用电桥方式,由电阻变化引起电桥电压差的变化,电路结构简单,且易实现。2、关于放大器的方案选择方案一是采用减法器电路,但是会导致放大器的输入电阻对电桥有影响,不利于电路的调节。方案二是采用仪表放大器电路,由于仪表放大器内部的对称,使电路影响较小,调整放大倍数使温度从0到100度,对应的电压为0-5V。三、电路的设计1、电桥电路通过调节电位器R3使其放大器输出端在0度的时候输出为0实现调零,然后合理选择R1、R2的阻值配合后面放大器的放大倍数实现热电阻阻值向电压值的转化。通过调节电位器R3使其放大器输出端在0度的时候输出为0实现调零,然后合理选择R1、R2的阻值配合后面放大器的放大倍数实现热电阻阻值向电压值的转化。本次实验中:R1=R2=10KΩ,R3为500Ω的变阻器。2、仪表放大器本实验中:Rf=R3=R4=R5=10KΩ,R1=R2=10KΩ,Rg为500Ω的变阻器,这个电路放大倍数大概为128倍左右。3、TLC1549(10位)模拟数字转换器(A/D)10位分辨率A/D转换器,其引脚图如下:合理选择R1、R2、R3、R4、R5、Rf,调节Rg可以实现放大倍数可变的电压差分放大。令R3=R4=R5=Rf,R1=R2,输出端Vo与输入电压差值关系为Vo=Rf/R3(2R1/Rg+1)△Vin。TLC1549器件有两个数字输入和一个3态输出、片选(CS),输入输出时钟(I/O时钟)和数据输出(数据)的提供三线接口,串口主机处理器。VCC(8):正电源电压4、单片机中的1602液晶显示器其引脚图如下:管脚说明:ANALOGIN(2):模拟信号输入。外部驱动源的模拟,应该有一个十毫安电流能力。CS(5):芯片选择。高向低过渡的重置内部计数器和控制,使数据和I/O时钟内最大的一个设置时间加上两个属于边缘内部系统时钟。低到高过渡禁用I/O时钟设置时间内下降的边缘加两个的内部系统时钟。DATAOUT(6):这3态串行输出的A/D转换结果是在高阻抗状态时,以有效的芯片选择,数据是从高阻抗状态,并动相应的逻辑电平的最高有效位先前的转换结果。下一个下降沿的I/O时钟驱动器DATAOUT的逻辑水平相应的下一个最重要的一点,其余位转移,以便与LSB的出现在第九个下降沿的I/O时钟。十下降沿的I/O时钟,数据驱动低逻辑电平的串行接口,使数据传输的超过10个时钟产生的未使用的零LSBs。GND(4):接地I/OCLOCK(7):输入/输出时钟。I/O时钟接收串行I/O时钟输入和执行下列三个功能:在第三个下降沿的I/O时钟,模拟输入电压开始充电电容阵列和继续这样做,直到第十下降沿的I/O时钟。其余九位前转换数据上的数据。转让控制转换的内部状态控制器的下降沿十时钟。REF+(1):上参考电压值(标称虚拟通道连接)适用于参考+。最大输入电压范围为所确定的差别电压适用于参考+和电压适用于参考-。REF–(3):较低的基准电压值(标称地面)适用于参考-。1602采用标准的16脚接口,其中:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15~16脚:空脚。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。1602液晶模块内部的控制器共有11条控制指令,如下表所示。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)5、继电器驱动电路、继电器电路、烧水壶利用单片机输出的控制信号(高低电平),通过继电器驱动电路,控制继电器的通断时间比例,从而控制烧水的温度。四、测试方案与测试结果1、实验所需器件表电阻:10K/0.5w8个LM324四运放集成芯片1个102电位器2个Pt100铂热电阻1个数字温度计1个51单片机文具盒1个继电器驱动电路1个继电器电路1个烧水杯1个螺丝刀1把万用表1个示波器1台导线若干2、水温控制测量调试方法通过铂热电阻Pt100将温度变化转换为电阻值的变化,再通过电桥间温度变化转换为电压变化,之后通过仪表放大器将电压放大一定的倍数(128倍左右),使输出电压在0-5V,将输出电压送入A/D转换器(TLC1549)转换为数字信号(10位二进制数)送入单片机,单片机对数字信号进行处理并将其输出至液晶显示屏(1602LCD)上显示。为控制水温使之稳定,我们引用了PID控制算法,通过PID值控制继电器的占空比,继电器连接着电热杯的开关,所以可以使温度稳定在设定值。(1)PID控制算法:在测出目前水温的前提下,采用PID控制算法,即比例微分积分控制算法,将测得的水温与设定的温度值做差,利用温差做PID算法,产生控制信号,控制水的温度。增量式PID算法如下:控制信号u=Kp*E(k)+Ki*[E(k)+E(k-1)+……+E(1)]+Kd*[E(k)-E(k-1)]控制信号增量△u=Kp*[E(k)-E(k-1)]+Ki*E(k)+Kd*[E(k)-2E(k-1)+E(k-2)]利用控制信号的增量不断修改控制信号,实现对温度的控制。这种增量式算法相比位置式算法,没有积分项的长叠加,避免了随着控制时间变长导致的计算时间增加的问题出现。(2)关于AD转化的数据处理由于A/D转换送进来的信号是一个10位的二进制数(0-1023)代表一个温度为0oC-100oC的温度,为了方便数据的处理,我们使0对应0oC,1000对应100oC,所以只需要对信号除以10即可得到温度值,由于液晶显示的时候只能一位位显示,所以将信号的百、十、个位分别取出来放入数组中,方便液晶显示输出。(3)继电器控制水温的方法PID算法的输出值这里设定为一个0-100的数字,不超过最大值100,超过使其等于100,然后利用单片机内部的定时器控制单片机的一个端口的通断占空比,PID的控制量值越大,端口通的时间越长。将此端口与一个继电器相连,控制继电器的开断,继电器连接在烧水壶的电源线上,继电器的开端比决定了烧水壶的通断电时间比,从而控制了烧水壶的烧水功率。实现了对水温的控制。(4)零度和满度校准的问题实验中我们采用24度室温和65度高温两个温度下校准,低温时调整电桥的电位器,高温时调整放大器的电位器,在数字测温计示数稳定的前提下,将单片机的目前温度与数字测温计读数调为一致,反复调整几次,即可达到最佳状态。3、测试结果分析在单片机键盘输入设定温度65度,在单片机控制下烧水杯开始烧水,当单片机的实测温度低于设定温度大约5度左右,即60度左右,继电器开始通断,并且随着实测温度的升高,继电器的通断比越来越小,最终温度稳定在设定温度65度左右,达到的实验要求。五、结束语通过本次实验,我对控制系统有了更加真实的体会,了解到要控制一个系统,并且达到一定的精度要求,要充分考虑到多个方面的影响因素,了解现有器材的缺陷,尽可能利用较小误差的测量方法。另外,通过本次试验对于单片机液晶屏显示的应用,我也更加的熟悉单片机的原理和编程方法。最后,感谢老师的辛勤指导,我也深刻体会到自己通过理论与实际的结合,学到不少实际设计中的知识,但是也深刻感受到自己的不足,今后仍需努力。
本文标题:电子系统设计-温度控制系统实验报告
链接地址:https://www.777doc.com/doc-5218675 .html