温度测控仪设计毕业设计样本.docx
- 文档编号:25337474
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:41
- 大小:395.86KB
温度测控仪设计毕业设计样本.docx
《温度测控仪设计毕业设计样本.docx》由会员分享,可在线阅读,更多相关《温度测控仪设计毕业设计样本.docx(41页珍藏版)》请在冰豆网上搜索。
温度测控仪设计毕业设计样本
温度测控仪设计
学生:
XXX指引教师:
XXX
内容摘要:
本文重要简介了智能温度测量仪设计,涉及硬件和软件设计。
先对该测量仪进行概括性简介,然后简介该测量仪在硬件设计上重要器件:
“Pt100热电阻”、AT89C51单片机和LCD显示屏以及描述测量仪总体构造原理。
在本设计中,是以铂电阻PT100作为温度传感器,采用恒流测温办法,通过单片机进行控制,用放大器、A/D转换器进行温度信号采集。
总体来说,该设计是切实可行。
核心词:
温度Pt100热电阻AT89C51单片机LCD显示屏
Designofandcontrolinstrument
Abstract:
Thispaperdescribesthedesignoftheintelligenttemperaturemeasuringinstrument,includinghardwareandsoftwaredesign.Bethefirstgeneraldescriptionofthemeasuringinstrument,andthendescribesthehardwaredesignofthemeasuringinstrument'smaindevice:
"Pt100thermalresistance",AT89C51microcontrollerandLCDdisplay,anddescribetheprincipleofmeasuringtheoverallstructure.Inthisdesign,asisthePT100platinumresistancetemperaturesensor,temperaturemeasurementusingconstantcurrentmethod,throughthemicrocontrollertocontrol,amplifier,A/Dconverterfortemperaturesignalacquisition.Overall,thedesignisfeasible.
Keywords:
temperaturePt100thermalresistanceAT89C51microcontrollerLCDmonitor
.
温度测控仪设计
前言
随着工业生产效率不断提高,自动化水平与范畴也不断扩大,因而对温度检测技术规定也愈来愈高,
当前工业上通用温度检测范畴为200~3000℃,而此后规定能测量超高温度与超低温度。
特别是液化气体极低温度测量更为迫切,入10K如下
温度测量为当今研究重要课题。
温度检测技术将会由点测温发展到线、面,甚至立体测温。
应用范畴已经从土业领域延伸到环保、家用电器、汽车工业以及航天工业领域。
发展新型产品
运用此前检测技术生产处适应于不同场合、不同工况规定新型产品,以满足顾客需要。
同步运用新检测技术制造出新产品。
对许多场合中温度检测器有特殊规定,入防硫、防爆、耐磨等性能规定;又如移动物体和高速旋转物体测温、钢水持续测温、火焰温度检测等。
因而,本设计方向就是在温度测量远距离传送和保存方面进行有效摸索。
1总体硬件方案设计
本系统分为两大某些,一某些为温度采集模块、51单片机及发送模块,另一某些为远距离数据接受模块与51单片机。
温度采集及发送某些:
本设计运用AD590进行温度测量,在通过电压跟随器,放大电路放大、调节之后通过A/D转换器TLC549将模仿电压信号转化为数字信号,A/D转换之后数据送到单片机1进行解决,单片机1控制液晶显示屏,将温度值在液晶显示屏上进行显示,在通过PT2262进行无线发送。
接受及显示某些:
用SC2272进行无线接受,接受后数据送到单片机2,单片机2控制液晶显示屏进行显示。
图1-1发送模块框架图
图1-2接受模块框架图
1.1温度传感器放大电路设计
AD590是美国模仿器件公司生产单片集成两端感温电流源,它会将温度转换为电流,在8051各种课本中经常看到。
其规格如下:
◆度每增长1℃,它会增长1μA输出电流
◆可测量范畴-55℃至150℃
◆供电电压范畴+4V至+30V
AD590管脚图及元件符号如下图所示:
图1.1-1AD590管脚图
AD590输出电流值阐明如下:
◆其输出电流是以绝对温度零度(-273℃)为基准,每增长1℃,它会增长1μA输出电流,因而在室温25℃时,其输出电流Iout=(273+25)=298μA。
AD590基本应用电路:
图1.1-2基本应用电路
◆AD590输出电流I=(273+T)uA(T为摄氏温度),因而测量电压为(273+T)μA×10K=(2.73+T/100)V。
为了将电压测量出来又务须使输出电流I不分流出来,咱们使用电压跟随器其输出电压V2等于输入电压V。
◆由于普通电源供应教多器件之后,电源是带杂波,因而咱们使用齐纳二极管作为稳压元件,再运用可变电阻分压,其输出电压V1需调节至2.73V。
◆接下来咱们使用差动放大器其输出Vo1为(100K/10K)×(V2-V1)=T/10,如果当前为摄氏28℃,输出电压为2.8V,输出电压接AD转换器,那么AD转换输出数字量就和摄氏温度成线形比例关系。
◆通过R9和R12进行分压,V0=T/20,由于测试温度不不不大于100℃,使得最后输出最大Vo为(1/2)×10=5V;能在A/D转换器TCL549输入电压范畴输入0.3V~VCC+0.3V之内。
温度采集电路图采用智能化间歇数据采集,即一方面把温度变化值分为报警温度、预警温度、准预警温度、正常温度四个档次。
当温度处在正常状况下时,温度采集周期为30min,若某一点温度有变化,当接近准预警点时,采集周期变化为10min,若温度仍有提高达到预警温度,则采集周期为3min,一旦浮现报警温度,系统进入实时采集状态,并发出报警。
图1-3温度采集电路
1.2TLC549模数转化电路设计
TLC549是8位串行A/D转换器芯片,可与通用微解决器、控制器通过CLK、CS、DATAOUT三条口线进行串行接口。
具备4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,TLC549为40000次/s。
总失调误差最大为±0.5LSB,典型功耗值为6mW。
采用差分参照电压高阻输入,抗干扰,可按比例量程校准转换范畴,VREF-接地,VREF+-VREF-≥1V,可用于较小信号采样。
其工作原理为:
TLC549均有片内系统时钟,该时钟与I/OCLOCK是独立工作,不必特殊速度或相位匹配。
其工作时序如图2所示。
当CS为高时,数据输出(DATAOUT)端处在高阻状态,此时I/OCLOCK不起作用。
这种CS控制作用容许在同步使用多片TLC549时,共用I/OCLOCK,以减少多路(片)A/D并用时I/O控制端口。
将V0电压值输入TLC549进行AD转换,从芯片DO脚输出,然后由单片机读取。
两个4148二极管是进行电源稳压,R7,R8进行参照电压设立,基本上等于5V。
图1.2-1模数转换电路
1.3显示电路设计
1602液晶已经涉及在单片机学习板内了,在这里只稍微简介它引脚功能。
D0~D7是命令/数据口,接单片机P1口,由单片机读(写)命令(数据),RS是命令/数据选取端口,RW是读/写选取端口,E是1602使能端。
1602有它自己字库,顾客只需写入相应代码并控制好1602给出时序就可以在液晶屏上显示但愿得到字符或图像了。
图1.3-1液晶显示屏
1.4无线发送与接受模块选取与设计
PT2262、SC2272是一种CMOS工艺制造编码电路。
采集温度信号可以通过PT2262编码,通过17脚输出到射频发射模块数据输入端发射出去,与此同步射频接受模块接受后将数据送到解码芯片SC2272,其地址通过核对与SC2272地址匹配后,SC2272VT脚才输出高电平,与此同步PT2262相应数据脚也输出高电平。
图1.4-1PT2262引脚图
图1.4-2PT2262时序图
1.5键盘设计
独立键盘也涉及在单片机学习板内,P3.2接单片机外部中断。
图1.5-1独立键盘引脚图
2总体软件程序设计
2.1温度数据采集和数据解决子程序设计
经AD590采集温度转化为了电压值,然后经放大电路解决后,使输出电压V=T/20,这样才干保证TLC549输入电压不不不大于基准电压。
在硬件调试时,基准电压设立成5V,因此在程序解决时要将从TLC549得到数字值乘以5/255才干得到电压V,然后再乘以20才干得到温度(此时温度是双精度型)。
中值滤波是为了得到很短时间温度平均值,有稳定数值作用。
图2.1-1温度采集和解决流程图
2.2温度显示、保存解决子程序设计
图2.2-1温度显示和保存流程图
由于采集到每个温度值都是0~100摄氏度之间任意值,为了使精度达到0.1℃,咱们只保存一位小数(在二进制表达中只占低4位)。
将温度分解成整数某些和小数某些,是为了以便存储和发送。
本设计只保存10组温度。
2.3无线发送与接受子程序设计
由于选用发送模块是集成PT2262无线射频芯片PC-T2A,因此只能运用其6位数据口中4位,将温度分解发送。
经计算每编码发送都需要发送3~4次接受端才干接受到有效数据,因此在程序中恰当对发送使能端置高进行延时。
发送完4位数据后也需要延时,给接受端解决数据时间,防止乱码。
图2.3-1无线发送流程图
选用接受模块是与集成SC2272PCR1B-2芯片。
当接受到编码地址与之相匹配时候,SC2272VT端从低电平变为高电平,然后立即恢复低电平。
因此运用其下降沿可以触发单片机2外部中断0进行温度接受解决。
SC2272需要接受三次才干得到一种完整温度值。
123
图2.3-2无线接受解决流程图
2.4十组温度查询子程序设计
由于独立键盘接是单片机1外部中断0,因此当它按下去时产生下降沿触发外部中断,在中断解决程序中依照中断次数读取储存温度。
在中断解决程序中关中断是为了消除按键抖动触发另一次中断。
图2.4-1温度查询流程
3调试与成果分析
3.1调试仪器及办法
测试仪器:
数字万用表,示波器,函数信号发生器
测试办法:
硬件调试时,运用函数信号发生器,与示波器依照原理调相应线路电压值,达到与AD590采到温度,及TLC549转化进行相相应。
依照理论原理分析,输入一信号,运用示波器去跟踪观测PT2262,SC2272各引脚高低电平与否合理对的,即意味着在无线传播中两芯片地址与否匹配?
达到对的发送与接受。
3.3软、硬件调试与故障因素分析
调试过程:
一开始测试温度误差很大,经检查发现是采温某些TLC549参照电压与程序解决中参照电压不匹配,经调试硬件和程序,得出误差较小温度值。
发送后,发现接受模块无法显示,经检查发现接受模块SC-2272VT端驱动能力较差,不能与单片机TTL电平匹配,于是咱们就用C9018三极管增强它驱动能力,使得接受模块有温度显示,但是发现接受显示乱码,经示波器检查发当前发送温度时由于PT2262芯片发送使能端默认接地,导致不受单片机控制,接受模块无法对的接受温度数据。
因此咱们将PT2262发送使能端与默认地剪断,让其受单片机控制。
最后实现了温度无线传送。
4结束语
本次课程设计完毕是基于集成温度传感器AD590温度测量及其无线传送设计,并通过LCD1602显示温度值,通过半个月不断努力、克服各种困难,最后实现了任务目的。
本次设计重要是对在温度测量智能化、集成化方面摸索,这也是温度测试发展趋势。
同步,也是测控技术将来发展趋势。
设计是理论知识与实践完美结合,对于当代大学生实践能力是个较好培养。
短短半个月设计虽然短暂,但是它给咱们收获的确难忘,不但仅在智能仪器方面有了很大进步,并且在传感器,单片机等方面也学到了不少在上课学不到知识。
这段时间咱们查阅到诸多关于课程设计书籍,对咱们协助也很大。
此前很盲目东西,当前明白了诸多。
也对咱们专业动手实践兴趣提高了诸多。
有了这些经历对于咱们日后工作一定会有很大协助。
令咱们终身受益。
在课程设计过程中也可以看到咱们局限性,如原理知识掌握不实,曾经学过知识如今却不会应用,软件应用也不纯熟,但愿日后提供应咱们更多锻炼机会来培养咱们实践能力。
本设计是在XX教师悉心指引下完毕。
孙活教师作为一名先进、经验丰富教师,具备丰富知识和经验,在整个论文实验和论文写作过程中,对我进行了耐心指引和协助,提出严格规定,引导我不断开阔思路,为我答疑解惑,勉励我大胆创新,使我在这一段宝贵时光中,既增长了知识、开阔了视野、锻炼了心态,又培养了良好实验习惯和科研精神。
在此,我向我指引教师表达最诚挚谢意!
附录1:
硬件原理图及PCB板
附录2:
软件程序代码
发送模块代码:
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
/*TLC549引脚设立*/
sbitSCLK=P2^0;
sbitDO=P2^1;
sbitCS=P2^2;
/*1602引脚设立*/
sbitRS=P2^5;
sbitRW=P2^6;
sbitE=P2^7;
/*PT2262引脚设立*/
sbitD1=P1^0;
sbitD2=P1^1;
sbitD3=P1^2;
sbitD4=P1^3;
sbitTE=P2^3;
/*AT24C02引脚设立*/
sbitscl=P1^5;
sbitsda=P3^6;
/*按键设立*/
sbitfront=P3^2;
ucharcodelie1[]="NOWT:
";
ucharcodelie2[]="10PreT:
";
ucharxdataxiaoshu,zhengshu,cishu,xuhao;//定义两个变量,分别存储温度整数某些和小数某些
/********************************************************************
温度采集模块子函数
**********************************************************************/
/********************************************************************
*名称:
delay(uintz)
*功能:
延时,延时时间大概为z毫秒。
*输入:
无
*输出:
无
**********************************************************************/
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/********************************************************************
*名称:
ad549(void)
*功能:
将AD590采集温度电压化为8位数字量。
*输入:
温度电压
*输出:
相应TLC549中参照电压数字量
*
**********************************************************************/
uintTLC549(void)//把模仿量转换成数字量,参照是REF。
仅仅是数字量,不是真实电压值。
{
uchartemp,i;//定义存储数据和变量
CS=1;
SCLK=0;//初始化
CS=0;//DO输出最高位
_nop_();
_nop_();//两个机器周期满足了1.4微秒
for(i=0;i<8;i++)//串行数据移位输入
{
temp<<=1;
temp|=DO;
SCLK=1;
_nop_();//时序控制看芯片资料
SCLK=0;
_nop_();
}
CS=1;
for(i=0;i<17;i++)
_nop_();
return(temp);
}
/********************************************************************
*名称:
average(void)
*功能:
将TLC549转换完毕数字量换成电压值,并通过一定关系,化为温度值,精度为0.1℃。
*输入:
温度电压相应average(void)
*输出:
AD590采集温度值
*
**********************************************************************/
doubleaverage(void)//定义一种数组,存储25个AD采样数据,然后取平均值,这种办法叫做中值滤波,作用是使输出稳定,并把数据换成电压。
{
uchari;
uinttemp;
doubletemp1,j,average1[25];
for(i=0;i<25;i++)
{
temp=TLC549();
j=((double)temp)*20*5/255;//依照电路图可知REF=5V,AD输出时8位数据,因此要提成255份。
average1[i]=j;
delay
(1);//采样间隔随规定定。
}
for(i=0;i<25;i++)
{
temp1+=average1[i];
}
temp1=temp1/25;//一定要注意不同类型间赋值和计算必要用强制转换。
尚有一种特别重要C51FPS.LIB文献必要要在安装目录下LIB文献夹内。
return(temp1);
}
/********************************************************************
液晶显示模块子函数
**********************************************************************/
/********************************************************************
*名称:
convert(ucharinput)
*功能:
实验板上把D0~D7位置弄反了!
需要转过来
*输入:
需在液晶屏上显示值,或是1602命令值
*输出:
相应实验板上"正常值"
**********************************************************************/
ucharconvert(ucharinput)//实验板上把D0~D7位置弄反了!
需要转过来
{
uchari,temp,output;
for(i=0;i<8;i++)
{
temp=input&0x01;
input>>=1;
output|=temp;
if(i<7)
output<<=1;
}
return(output);
}
/********************************************************************
*名称:
order(ucharo)
*功能:
控制1602液晶显示功能
*输入:
1602液晶命令值或数据指针地址
*输出:
无
**********************************************************************/
voidorder(ucharo)
{
RS=0;
RW=0;
P0=convert(o);
E=0;
delay(5);
E=1;
delay(5);
RS=1;
}
/********************************************************************
*名称:
shuju(uchars)
*功能:
将需显示数值显示在1602液晶上
*输入:
字符
*输出:
无
**********************************************************************/
voidshuju(uchars)
{
RS=1;
RW=0;
P0=convert(s);//一定要放在en=0前面否则会浮现乱码。
。
。
E=0;
delay(5);
E=1;
delay(5);
RS=0;
}
/********************************************************************
*名称:
init()
*功能:
液晶屏初始化
*输入:
无
*输出:
无
**********************************************************************/
voidinit(void)
{
uchari;
order(0x38);//设立16*2显示,5*7点阵,8位数据接口
order(0x06);//当读写一种字符后地址指针加1,光标向后移1
order(0x0c);//开显示屏,不显示光标
order(0x01);//数据指针清零,显示屏清空
/*在液晶屏上显示上行为"NOWT:
°C",下行为"10PreT:
°C"*/
order(0x80);
for(i=0;i<6;i++)
shuju(lie1[i]);
order(0x80+0x40);
for(i=0;i<7;i++)
shuju(lie2[i]);
order(0x80+0x0c);
shuju(0xdf);//
shuju(0x43);//C
order(0x80+0x40+0x0e);
shuju(0xdf);//
shuju(0x43);//C
}
/********************************************************************
*名称:
fasongzhengshu(uchars)
*功能:
发送温度整数某些
*输入:
无
*输出:
无
**********************************************************************/
voidfasongzhengshu(uchars)
{
P1=s;
//1=0x37;
//TE=0;
//while
(1);
P1=_cror
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 测控 设计 毕业设计 样本