您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 基于单片机温度测量装置的设计.
目录1引言………………………………………………………………..42方案设计…………………………………………………………..53单元电路设计……………………………………………………..64系统软件设计……………………………………………………..125课程设计总结……………………………………………………..146电路总原理图……………………………………………………..157电路仿真…………………………………………………………..168参考文献…………………………………………………………..179程序附录…………………………………………………………..181引言在人类的生活环境中,温度扮演着极其重要的角色。温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密相关,因此温度控制是生产自动化的重要任务。随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化是现代温度控制系统发展的主流方向。特别是近几年来,温度控制系统早已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又与人们息息相关的一个世纪问题。针对这种实际情况,设计一个温度测量系统具有广泛的应用前景与意义。在本设计中选用AT89C52型单片机作为主控制器件,采用热电阻作为测温元件,通过数码显示管并行传送数据,实现温度显示。本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用C语言实现温度的采集与显示。最终完成了数字温度计的总体设计。其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。2方案设计基于单片机的温度测量装置方框图:图1总体方案框图2.1电路总体说明2.1.1温度的测量用PT-100的热电阻来测量温度。因为随着温度的变化阻值也发生变化。2.1.2运算放大电路是可以把信号放大。2.1.3A/D转化是将模拟量转化为数字量。2.1.4选用AT89C51的单片机来控制温度的变化。2.1.5在选用数码管将温度显示的数码管上面。温度的测量运算放大A/D转化单片机数码管显示3单元电路设计3.1温度测量电路图一为热电阻的三线制测温电路,可以消除和减小引线电阻的影响。如图一,热电阻的三根导线接到测温电桥,其中两根引线的内阻分别串入测量电桥相邻两臂的电阻上。引线的长度变化不影响电桥的平衡,所以可以避免因连接导线电阻受环境影响而引起的测量误差。我们采用pt-100的热敏电阻,阻值会随着温度的变化而变化,测温的精度在1度左右。Pt-100的工作原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成近似匀速的增长。但他们之间的关系并不是简单的正比的关系,而更应该趋近于一条抛物线。铂电阻的阻值随温度的变化而变化的计算公式:-200t0℃Rt=R0[1+At+Bt*t+C(t-100)t*t*t](1)0≤t850℃Rt=R0(1+At+Bt2)(2)Rt为t℃时的电阻值,R0为0℃时的阻值。公式中的A,B,系数为实验测定。这里给出标准的DINIEC751系数:A=3.9083E-3、B=-5.775E-7、C=-4.183E-12根据韦达公式求得阻值大于等于100欧姆的Rt-〉t的换算公式:0≤t850℃t=(sqrt((A*R0)^2-4*B*R0*(R0-Rt))-A*R0)/2/B/R0PT100温度感测器是一种以白金(Pt)作成的电阻式温度检测器,属于正电阻系数,其电阻和温度变化的关系式如下:R=Ro(1+αT)其中α=0.00392,Ro为100Ω(在0℃的电阻值),T为摄氏温度br因此白金作成的电阻式温度检测器,又称为PT100。金属热电阻的电阻值和温度一般可以用以下的近似关系式表示,即Rt=Rt0[1+α(t-t0)]式中,Rt为温度t时的阻值;Rt0为温度t0(通常t0=0℃)时对应电阻值;α为温度系数。半导体热敏电阻的阻值和温度关系为Rt=AeB/t中Rt为温度为t时的阻值;A、B取决于半导体材料的结构的常数。图2热电阻测温电路3.2运算放大电路因为通过PT-100热电阻测的温度的信号很小,所以我们采用具有一定抗共模抗干扰能力的减法差动放大器电路,所以我们才有LM244这个四运算放大器。减法差动放大电路只对U有放大作用。从图中可以看到U1、U2两个同相运放电路构成输入级,在与差分放大器U3串联组成三运放差分防大电路。电路中有关电阻保持严格对称,具有以下几个优点:(1)U1和U2提高了差模信号与共模信号之比,即提高了信噪比;(2)在保证有关电阻严格对称的条件下,各电阻阻值的误差对该电路的共模抑制比KCMRR没有影响;(3)电路对共模信号几乎没有放大作用,共模电压增益接近零。因为电路中R1=R2、R3=R4、R5=R6,放大倍数是:Avd=U0/Ui1-Ui2=-[(Rp+2R1)/Rp]*(R5/R3)通常,第一级增益要尽量高,第二级增益一般为1~2倍,这里第一级选择100倍,第二级为1倍。则取R3=R4=R5=R6=10KΩ,要求匹配性好,一般用金属膜精密电阻,阻值可在10KΩ~几百KΩ间选择。则Avd=(RP+2R1)/RP先定RP,通常在1KΩ~10KΩ内,这里取RP=1KΩ,则可由上式求得R1=99RP/2=49.5KΩ取标称值51KΩ。通常RS1和RS2不要超过RP/2,这里选RS1=RS2=510,用于保护运放输入级。A1和A2应选用低温飘、高KCMRR的运放,性能一致性要好。图3运算放大电路3.3A/D转化A/D转换的目标是将模拟量转换成数字量,在本次课程设计中,选用ADC0804。ADC0804是一款8位、单通道、低价格A/D转换器,主要特点是:模数转换时间大约100us;方便TTL或CMOS标准接口;可以满足差分电压输入;具有参考电压输入端;内含时钟发生器;单电源工作时(0~5)V输入电压范围是0~5V;不需要调零等等。1.转换时序ADC0804控制信号的时序图如图所示,由图可见,各控制信号时序关系为:当CS与WR同为低电平时,A/D转换被启动而在WR上升沿后100μs模数完成转换,转换结果存入数据锁存器,同时INTR自动变为低电平,表示本次转换已结束。如CS、RD同时来低电平,则数据锁存器三态门打开,数字信号送出,而在RD高电平到来后三态门处于高阻状态。2.零点和满刻度调节ADC0804的零点无需调整。其中Vmax是输入电压的最大值,Vmin是输入电压的最小值。当输入电压与VIN+值相当时,调整VREF/2端电压值是输出码为FEH或FFH。3.参考电压的调节在使用A/D转换器时,为保证其转换精度,要求输入电压满量程使用,如输入电压动态范围较小,则可调节参考电压VREF,以保证小信号输入时ADC0804芯片8位的转换精度。4.接地模数、数模转换电路中要特别注意到地线的正确连接,否则干扰很严重,以致影响转换结果的正确性。A/D、D/A及取样-保持芯片上都提供了独立的模拟地(AGND)和数字地(DGND)的引脚。在线路设计中,必须将所有的器件的模拟地和数字地分别相连,然后将模拟地与数字地仅在一点上相连接。地线的正确连接方法。转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后才能传送。模拟转换电压范围:0~+5V,即0≤Vin≤+5V。分辨率:8位,即分辨率为1/28=1/256,转换值介于0~255之间。放大倍数在ADC0804的精度之间。由于设计误差要求为1℃,1℃对应的输入电压为(1/100)*5=0.05V,8位A/D转换芯片的分辨率为1/256*5V=19.53mV转换精度-它是A/D转换器的最大量化误差和模拟精度的共同体现。8位转换器的最大量化误差为9.765mV(80mV0.5=9.765mV,)全量程的相对误差为0.19%(9.765mV/5V100%)放大倍数满足A/D转换精度。图4A/D转换电路3.4单片机单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-52单片机有一个复位引脚RST,采用施密特触发输入。单片机的复位方式可由手动复位方式完成。AT89C52单片机内部有一个高增益反相放大器,用于构成振荡器。引脚XTAL2和XTAL1分别是此放大器的输出端和输入端。作为反馈器件的片外晶体谐振器与该放大器一起构成一个自激振荡器。电容C2和C1和外接晶体谐振器一起构成并联谐振电路,接在放大器的反馈回路中。虽然对外接电容的值没有非常严格的要求,但震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性会由电容的大小影响。所以,此电路系统的晶体振荡器的值为12MHz,电容的种类应尽量选择陶瓷电容,电容值大概30μF。在电路板焊接时,电容和晶体振荡器应尽可能安装得靠近单片机芯片,这样做是为了减少寄生电容,更好地保证震荡器可靠稳定地工作。图5单片机晶振电路3.5数码显示电路这是显示电路,我们使用的是LM020L这个LED显示管,这个显示管一共是16个引脚。第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。当我们要读数据:输入RS=1,RW=1,E=高脉冲。输出:D0—D7为数据。通过单片机将数据发送我们通过数码显示管来显示我们此时的温度。(1)主要性能:与MCS-52单片机产品兼容、8K字节的在系统可编程Flash存储器、一千次的擦写周期、全静态操作:0Hz~24MHz、三级加密程序存储器、三十二个可编程I/O口线、三个16位定时器/计数器以及八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。(2)功能特性:AT89C52是一种低功率消耗、性能较高CMOS8位微控制器,具备8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器高技术制作,可以与工业80C51产品指令和引脚全部兼容片上。Flash能够允许程序存储器在系统可编程执行,亦适合于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。图6数码显示电路4系统软件设计4.1主程序设计主程序既把以上各子程序串连成一个整体,使整个程序循环运行。主程序一直调用显示电路,若温度改变,则会进入以下的主程序部分执行相应的A/D转换操作并作出相应的处理。通过转换后,显示的值也会同时发生改变。之后再返回到程序始端,如此反复运行,就构成了程序的整体。图图7主程序流程图4.2A/D转换子程序设计这次课程设计采用的是ADC0804,每一个时钟信号下降沿开始,输出一位数据,直到8位数据全部输完为止,输出的顺序是从最高位到最低位。A/D转换子程序的工作原理:开启A/D转换芯片,将A/D转换结果送进位C,然后左移A寄存器,直到8位数全部送到A寄存器,关闭A/D转换,最后将A/D转换结果存储到30H单元.开始初始化开计数器T0读TL0数据A/D转换调用显示程序图8A/D转化程序流程图4.2显示子程序的设计将AD转换的结果送A寄存器,将100送B寄存器,然后A除以B,得到的商存到百位存储单元。再将B寄存器里的数送A寄存器,把10送B寄存器,再A除以B,得到的商存十位存储单元,余数存个位单元。图9显示子程序流程图100送BA除以B商存百位存储单元B送A10送B商存十位存
本文标题:基于单片机温度测量装置的设计.
链接地址:https://www.777doc.com/doc-4111432 .html