电子课程设计基于ad590的智能温度测量仪表软件设计

上传人:痛*** 文档编号:100848033 上传时间:2022-06-03 格式:DOC 页数:20 大小:436.50KB
收藏 版权申诉 举报 下载
电子课程设计基于ad590的智能温度测量仪表软件设计_第1页
第1页 / 共20页
电子课程设计基于ad590的智能温度测量仪表软件设计_第2页
第2页 / 共20页
电子课程设计基于ad590的智能温度测量仪表软件设计_第3页
第3页 / 共20页
资源描述:

《电子课程设计基于ad590的智能温度测量仪表软件设计》由会员分享,可在线阅读,更多相关《电子课程设计基于ad590的智能温度测量仪表软件设计(20页珍藏版)》请在装配图网上搜索。

1、目录前言1第一章 智能温度测量仪表方案设计与论证21.1 功能与要求21.2 方案的论证与比拟21.3 方案确实定3第二章 智能温度测量仪表的硬件设计42.1 系统硬件设计42.2 输入通道电路的设计42.3 人机接口电路的设计62.4 自校准电路的设计7第三章 智能温度测量仪表软件设计83.1 主程序设计8 3.2 自校准的软件实现93.3 温度采集子程序设计10数字滤波的设计10转换子程序设计11键盘显示子程序设计12第四章 温度测量系统的安装与调试134.1 硬件调试134.2 软件调试13第五章 设计体会与小结14 参考文献15附录16 前言 电子课程设计是电子技术学习中非常重要的一个

2、环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。温度控制系统在实际应用中起着非常重要的作用,根本上人们的生活离不开它。随着科学研究、工业和家用电器等方面对测温和温控的需要,各种新型的集成温度传感器是将温敏晶体管与相应的辅助电路集成在同一块芯片上,它能直接给出正比于绝对温度的理想线性输出。在众多温度传感器中,集成温度传感器AD590因其线性好,精确度高和易于实现计算机在线测试与数据处理等优点,在生活中有着广泛应用。科学技术的迅猛开展,特别是自动化技术和计算机技术的开展,极大的促进了智能化技术的开展,同时对智能化技术提出了更高的要求。温度传感器的应用范围很广,它不仅广泛

3、应用于日常生活中,而且也大量应用于自动化和过程检测控制系统。温度传感器的种类很多,我们需要根据现场使用条件,选择恰当的传感器类型才能保证测量的的准确可靠,并同时到达增加使用寿命和降低本钱的作用。我们要注重注重智能仪器根本原理和根本设计方法,同时注重理论结合实际,引入设计实例,从而提高自己的分析、解决实际问题的能力,为以后的学习和工作打下扎实的理论和实践根底。一方面我们要注重智能仪器的开展方向,加强对新器件、新技术的了解,拓宽知识面;另一方面,我们要增强学习的主动性和求知欲望。第一章 AD590测温电路方案设计与论证1.1 功能与要求功能:此次课程设计主要完成测温电路的设计,其中要包括一些智能化

4、功能。所设计的电路要求可以完成温度信号的采集放大以及在LED上显示,另外还可以通过键盘对温度进行设定要求:测温电路的测温范围:0100 ;测温精度:;提出系统的设计方案,给出系统方框图,分析系统的工作原理及和实现的功能,给出系统的硬件设计,系统软件设计包括系统实现的功能、程序主流程图、子程序流程图等,还要完成系统制作与调试。1.2 方案的论证与比拟方案一:采用Pt100铂热电阻温度传感器采集温度数据。PT100温度传感器0时电阻值为100,电阻变化率为/。由于其电阻值小,灵敏度高,所以引线的阻值不能忽略不计,采用三线式接法可消除引线线路电阻带来的测量误差。电桥输出电压是mv级,再后级采用仪用放

5、大器对信号进行放大,为了能在ADC采样后得到的数字值是从零开始。还需在放大电路后面加上调零电路。然后得到一个05V 的电压信号,输入A/D转换器之后将模拟电压变成便于单片机处理的数字信号。 方案二:采用DS1820数字传感器采集温度数据,然后送入单片机进行数据处理。通过一个单线接口发送或接收数据,因此单片机与DS18B20之间仅需一条连线加上地线。作为温度采集芯片,可直接将采集值进行处理得到数字量送入单片机数码管显示并通过串口送至上位机。采用此芯片做温度采集,使得硬件电路结构简单,同时也防止了使用多级电路出现前后级阻抗不匹配的问题,不但节约了硬件局部的本钱,提高了采集数据的可靠度。 方案三:采

6、用AD590温度传感器采集温度数据,然后送入单片机进行数据处理。AD590温度传感器是一种已经IC化的温度感测器,它会将温度转化成电流。温度每增加1度,它会增加1uA输出电流。可测温度范围-55到150。供电电压范围+4V至+30V。三种方案进行比拟: DS18B20温度范围只能在-55度到+125度之间。由集成的数字温度传感器DS18B20完成温度的采集,/D自动转换等工作,减少了硬件电路的搭建,更加便于设计。Ptl00铂电阻具有抗震性能好、测温范围广、测量精度高等优点,使得测量更加的准确,但它所采集的温度信号需要经过仪用放大器处理,还要经过专门的A/D转换电路将模拟信号转换成数字信号。采用

7、AD590增加了硬件的投入,同时也引入一些不稳定的因素造成的误差。1.3 方案确实定 通过比拟,最后采用AD590设计,它精度高、价格低、不需辅助电源、线性好是比拟理想的测温元件,故确定此次课程设计为基于温度传感器AD590的智能测温电路。基于AD590的测温电路为首先将采集到的温度值送给温度传感器经过I/V转换送入仪用放大器AD620经放大后的模拟信号进入A/D转换器AD574转变为数字量送给单片机进行分析和处理。然后单片机将处理好的数字量送入LED显示器显示,从而与实际温度进行比拟得到控制量,调节实际温度使之与设定温度逼近。第二章 智能温度测量仪表的硬件设计2.1 系统硬件设计温度控制系统

8、组成框图如下图,其中传感器选用集成温度传感器AD590,信号调理电路包括I/V转换电路、仪用放大器、数字滤波、自校准等,A /D转换器选用A/D574,显示电路为显示。根本过程为烘烤箱的温度信号经温度传感器AD590后送入到信号调理电路中经I/V转换、放大、滤波后的模拟信号送给A/D转换器,A/D转换电路将模拟量转换成数字量送给单片机进行分析处理然后送给显示电路显示,键盘可以对温度进行设定。烘烤箱AD590集成温度传感器信号调理电 路A/D转换单片机键盘显示电 路 系统硬件框图2.2 输入通道电路的设计1 输入通道的硬件电路包括AD590测温电路,放大电路,转换与单片机接口电路。AD590作为

9、温度采集芯片,将采集到的温度信号经AD590测温电路处理后送给放大电路,再经转换后送到单片机进行分析和处理。AD590测温电路如下图其中包括V转换及温标转换电路图2.2 AD590测温电路原理图2 放大电路选用的放大器为仪用放大器AD620,AD620为三运放集成的仪表放大器结构,它的两个内部增益电阻为因而增益方程式为G=49.4k/ RG +1,对于所需的增益那么外部控制电阻值为RG=49.4/(G-1)K,放大电路如下列图2.3所示。 图2.3 放大电路原理图3 A/D转换与单片机接口电路采用的是8051单片机与AD590的接口电路,其中还使用了三态锁存器74LS373和74LS00与非门

10、电路,因为51系列单片机是8位机,如果AD574启动为12位转换方式,转换结果只能按双字节分时读入,所以引脚12/8接地。当8051的查询到STS端转换结束信号后,先将转换后的12位A/D数据的8位读进8051,然后再将低四位读进8051。这里不管AD574是处在启动,转换和输出结果,使能端CE必须为1,因此将8051的写控制线WR-和读控制线RD-通过与非门74LS00与AD574的使能端CE相连。电路原理图如图2.4所示 图2.4 A/D转换与单片机接口电路原理图2.3 人机接口电路的设计人机接口电路的设计,它主要由四位一体数码显示管、4*4 矩阵键盘和 CH451 芯片构成,用于实现系统

11、的温度显示与温度设定功能。人机接口电路的原理图如图2.5所示图2.5 人机接口电路原理图2.4 自校准电路的设计由于校准对于状态性能很重要,所以器件在每次上电后均要即时执行自校准。另外,器件亦可容许用户根据需要以手动形式执行自校准工作。一般来说,这顶功能会在当系统温度超出原先系统设计所订立的阈值时启动。下列图2.6为输入偏置电流自动补偿和校准电路,在仪器的输入高端和低端输入一个带有屏蔽的10M电阻盒,输入偏执电流Ib在该电阻上产生压降,经A/D转换后存储于非易失性校准存储器内,作为输入偏置电流的修正值。在正常测量时,微处理器根据修正值选出适当的数字量到D/A转换器,经输入偏置电流补偿电路产生补

12、偿电流Ib1,抵消Ib,消除仪器输入偏置电流带来的测量误差。 10M电阻输入前置放大器A/D转换器微处理器系 统 图2.6 输入偏置电流自动补偿和校准电路原理图第三章 智能温度测量仪表软件设计 3.1 主程序设计 温度采集芯片AD590将采集到的温度信号送给信号调理电路进行I/V转换和放大处理,再经A/D转换送给单片机分析和处理,输出的数字量用LED显示并与设定温度进行比拟,小于设定温度那么显示实时温度。 温度信号采集开始单片机分析处理数据大于设定值?YND转换显示温度结束 图3.1 主程序流程图主程序如附录所示3.2 自校准的软件实现软件方法进行自校准时, 用信号发生器送出标准信号,将此标准

13、信号直接送至输入电路,进行自校准程序, 观察显示的温度值是否为标准信号所对应的温度值。如有误差, 那么按“参数键, 根据显示的温度值(五位) 与标准值的差异, 再按动“增加或“减少键直至显示准确温度值时为止,自校准程序流程图如图3.2所示。取A/D转换结果除以放大倍数显示是标准信号所对应的温度吗?将参数作相应减少有键按下吗?将参数作相应增加是“参数键吗?是“增加键吗?是“减少键吗?入口参数号加1,显示参数号YN返回YNNYYNY返回N 图3.2 自校准程序流程图3.3 温度采集子程序温度传感器获取温度值,并送往单片机进行处理和显示,同时对温度信号进行监测,首先将AD590初始化对温度信号进行采

14、集,定时时间到那么采集完成对数据经传输否那么继续采集。初始化开始数据采集数据传输定时时间到?YN 图3.3 温度采集子程序流程图温度采集子程序如附录所示3.4数字滤波的设计数字滤波采用的是限幅滤波算法,又称程序滤波算法。方法为:1) 根据经验判断,确定两次采样允许的最大偏差值设为A);2) 每次检测到新值时判断;3) 如果本次值与上次值之差A,那么此次值无效,放弃本次值用上次值 代替本次值优点:能有效克服偶然误差引起的脉冲干扰缺点:无法抑制那种周期性的脉冲干扰;平滑度差入口|Yk-Y(k-1)|A?、Yk=Y(k-1)返回YN图3.4 限幅滤波程序流程图/*A值可根据实际情况调整 value为

15、有效值 new_value为当前采样值 滤波程序返回有效的实际值*/#define A 10Char value;char new_value; new_value=get_ad();If(new_value-value)A|(value-new_value)A return value; return new_value;3.5A/D转换子程序逻辑控制信号由8051的数据口P0出发,并由三态锁存器输出端Q0,Q1,Q2上,用于控制AD574A的工作过程。当8051的查询到STS端转换结束信号后,先将转换后的12位A/D数据的8位读进8051,然后再将低四位读进8051。设定控制信号转换结束?

16、高8位输出低8位输出启动转换等待转换结束N Y 图3.5 A /D转换子程序流程图A /D转换子程序如附录所示 3.6 键盘/显示子程序当键盘没有键按下时,将会显示原来设定的温度,键盘上的按键标志位A按下时可以对温度进行设定,A键没有按下那么显示实时温度。显示原来温度按键标志位A=1?温度值设定实时温度显示YN图3.6 键盘/显示子程序流程图键盘/显示子程序如附录所示第四章 温度测量系统的安装与调试4.1 硬件调试硬件调试局部我们按照设计好的电路图进行焊接,焊接完成后开始查错,查错的过程较为繁琐,主要是看有没有出现虚焊和短路等情况。4.2 软件调试将编译好的初始编译好的程序加载到烧写板上,发现

17、不能到达预期的效果,存在一定的误差,在程序中又参加了自校准程序重新将编译好的程序加载到程序烧写板上,将焊好的电路板与单片机最小系统按照管脚要求相连通电后观察现象,在电路板上可以观察到数码管显示为31,实验现象初步正确,再看键盘接入是否正确,通过键盘键可以设定温度,当A键按下时可以对温度值进行设定那么键盘接入正确。又可以观察到当采集温度值大于设定温度时二极管不亮表示加热停止,采集温度值比设定温度小时二极管亮那么表示继续加热,通过上述实验现象可以确定软件调试成功。第五章 设计体会与小结这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个工程的有条不絮。另外在课程设计的过程中,当我们

18、碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的典范。我觉得作为一名测控专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多觉得很难,也没有很有效的方法通过自身去理解,但是通过这两个星期的学习,我学到了很多东西也让我更加自信。参考文献1、?智能仪器? 史健芳主编 电子工业出版社2、?单片机微型计算机与接口技术? 李群芳 张士军 黄建主编

19、电子工业出版社3、?测控电路? 张国雄主编 机械工业出版社4、?Protel DXP实用教程? 赵志刚 吴海彬主编 清华大学出版社5、?传感器与传感技术应用? 丁镇生主编 电子工业出版社附录主程序如下所示:main()unsigned char TempH,TempL,i,j,m; relay=1; ch451_init();/初始化451ch451_write(0x0403); /开显示、键盘 ch451_write(0x580); /设置BCD译码 EA=1;/开中断while(1) EX1=1; /允许键盘中断 flag=0; if(setb=1) Set_temp(); str0=Te

20、mpH/100; /百位温度 ch451_write(CH451_DIG0|str0); str1=(TempH%100)/10; /十位温度 ch451_write(CH451_DIG1|str1); str2=(TempH%100)%10; /个位温度,带小数点 ch451_write(CH451_DIG2|str2); ch451_write(CH451_DIG3|0x0c);for(i=0;ishowtempi)/那么停止加热 m=1;i=i+3;else if(stri4; TempL=temp&0x0F; TempL=TempL*6/10;/小数近似处理 温度采集子程序如下所示:A

21、JMP P10 ORG 33HP10: NOP MOV 091H,#01H;-置为高阻输入 MOV 092H,#00H MOV 0C6H,#00H;-结果位清零 MOV 0BEH,#00H MOV 0C5H,#0E8H;-开始ADC转换P20: MOV A,#010H;-判断ADC转换完成否 ANL A,0C5H JZ P20 MOV 0C5H,#00H;结束ADC转换;*;整理检测到的A/D十位二进制数 MOV A,0C6H ANL A,#0C0H SWAP A CLR C RRC A CLR C RRC A MOV R6,A MOV A,0C6H CLR C RLC A CLR C RLC

22、 A MOV R7,A MOV A,0BEH ANL A,#03H ORL A,R7 MOV R7,A RET END A /D转换子程序如下所示:include/#define AD574POL2/#define AD57420Vunsigned char DisTab=0xfc,0x60, 0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7,0x00,0x02,;unsigned char DisBuffer9=0,20,20,20,20,20,20,20,;#d

23、efine AD574Data P1sbit AD574_A0=P00;sbit AD574_RC=P01;sbit AD574_STS=P02;#define ADC_8 AD574_A0=0; /#define Out_H8 AD574_A0=0; /高八位输出#define Out_L4 AD574_A0=1;/低四位输出#define AD574_Start AD574_RC=0;#define AD574_Read AD574_RC=1;unsigned int AD574value;void SelDis(void) unsigned int i; for(i=0;i8;i+) S

24、BUF=DisTabDisBufferi; while(!TI);TI=0; for(i=0;i10000;i+);void AD574Convert(void) /双极 unsigned char h8,l4; ADC_8; AD574_Start;/启动转换 while(AD574_STS=1);/等待转换结束 AD574_Read; Out_H8; h8=AD574Data; Out_L4; l4=AD574Data; 键盘/显示子程序如下所示:void Set_temp(void)/设定保温点 unsigned char i;ch451_write(CH451_DIG0|showtem

25、p0);/显示原来设定温度 ch451_write(CH451_DIG1|showtemp1); ch451_write(CH451_DIG2|showtemp2); /设定温度ch451_write(CH451_TWINKLE|1); /闪烁 EX1=1; /允许键盘中断 while(flag=0); EX1=0; /禁止键盘中断 flag=0; showtemp0=ch451_key; /保存数据 ch451_write(CH451_DIG0|showtemp0); /显示键值 ch451_write(CH451_TWINKLE); /停止闪烁ch451_write(CH451_TWINK

26、LE|2); EX1=1; /允许键盘中断 while(flag=0); EX1=0; /禁止键盘中断 flag=0; showtemp1=ch451_key; ch451_write(CH451_DIG1|showtemp1); ch451_write(CH451_TWINKLE);ch451_write(CH451_TWINKLE|4); EX1=1; /允许键盘中断 while(flag=0); EX1=0; /禁止键盘中断 flag=0; showtemp2=ch451_key; ch451_write(CH451_DIG2|showtemp2); ch451_write(CH451_

27、TWINKLE);setb=0; /*/键盘中断 读取键值并且转换为二进制代码 /* void ch451_inter() interrupt 2 using 1 unsigned char i; unsigned char keycode1,keycode;/定义命令字,和数据存储器 keycode1=0x07; /输入读451命令字 ch451_load=0; for(i=0;i=1; /往右移一位 ch451_dclk=1; /产生时钟上升沿锁通知CH451输入位数据 ch451_load=1;/产生加载上升沿通知CH451处理命令数?keycode=0; /去除keycode keyc

28、ode1=0; ch451_dclk=0; /产生时钟下升沿通知CH451输出下一位 ch451_dclk=1; for(i=0;i3;i+) /输出行数 有四行 第一行0keycode1=1;keycode1|=ch451_dout;ch451_dclk=0;ch451_dclk=1;for(i=0;i3;i+) / 输出列数 四列 第一列为0keycode=1;keycode|=ch451_dout;ch451_dclk=0;ch451_dclk=1; ch451_key=keycode1*4+keycode;/计算键值换算成编号 if(ch451_key=10) setb=1; flag=1; /标记 IE1=0; /清中断标志

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!