基于PT100智能温度测量仪表软件设计与仿真Word格式.docx
- 文档编号:22359080
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:21
- 大小:185.43KB
基于PT100智能温度测量仪表软件设计与仿真Word格式.docx
《基于PT100智能温度测量仪表软件设计与仿真Word格式.docx》由会员分享,可在线阅读,更多相关《基于PT100智能温度测量仪表软件设计与仿真Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
DS18B20数字温度计是DALLAS公司生产的1-Wire单总线器件,作为温度采集芯片,可直接将采集值进行处理得到数字量送入单片机数码管显示并通过串口送至上位机。
方案二选用PT100温度传感器来实现温度信号的采集与转换。
铂电阻温度传感器有PT100,电阻温度系数为3.9×
10-3/℃,0℃时电阻值为100Ω,电阻变化率为0.3851Ω/℃。
铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区(-200℃~650℃)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。
1.2方案的确定
因为PT100相比DS18B20来说测温范围更加广泛,并且本设计要求有A/D转换功能,而DS18B20集数据采集和A/D转换为一体,直接将采集值进行处理得到数字量送入单片机,从而不需要A/D转换,故最终选择PT100温度传感器即方案二。
由PT100温度传感器构成的测温电路的工作原理:
PT100铂热电阻的阻值随着温度的变化而变化,利用这一特点来采集温度信号,将采集到得信号转换成电压信号;
再经过A/D转换成数字信号并由单片机系统读取;
单片机系统把读取到的数字信号进行识别处理,最后再由显示器显示输出温度值。
PT100分度表如表1.1所示:
温度℃
PT100阻值Ω
传感两端电压mV
100.00
124.38
1
100.39
124.8
50
119.40
147.79
100
138.51
170.64
150
157.33
192.93
200
175.86
214.68
250
194.10
235.90
300
212.05
256.59
350
229.72
276.79
400
247.09
296.48
450
264.18
315.69
500
280.98
334.42
表1.1PT100分度表
第二章智能温度测量仪表的硬件设计
2.1系统硬件框图
硬件组成主要包括PT100测温电路、信号调理电路(包括放大、模拟滤波等)、A/D转换接口电路、数码管显示4个组成部分。
将利用PT100温度传感器采集到得信号转换成电压信号;
再经过A/D转换成数字信号传送给单片机系统读取;
其组成框图如图2.1所示:
图2.1系统硬件框图
2.2系统的输入通道设计
系统的输入通道包括PT100测温电路、信号放大电路、模拟滤波电路和A/D转换电路。
实现将温度信号经调理和转换,成为单片机能够识别和处理的信号。
其各部分硬件电路设计电路原理图见附录(附图1——图4所示)。
2.3人机接口电路设计
本部分主要完成人机接口电路的设计工作,它主要由四位一体数码显示管和CH451芯片构成,用于实现系统的温度显示功能。
此外,如果要实现温度设定功能可以在CH451芯片上再接4*4矩阵键盘。
在该人机接口电路的设计中,CH451为该模块电路的核心器件,功能相对完善。
CH451能有效的将采集到的温度值通过数码管进行实时显示,同时通过CH451芯片控制数码显示,还可有效的节省单片机P口的使用,方便单片机的扩展设计。
单片机控制与数码管显示电路见附录(附图5)所示:
第3章智能温度测量仪表的软件设计
3.1主程序设计
主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。
流程图如图3.1所示。
系统在初始化完成后就进入温度测量程序,实时地测量当前的温度并通过显示电路在数码管LED上显示。
程序中以中断的方式来重新设定温度的上限。
根据硬件设计完成对温度的控制。
按下4*4键盘上的A键可以设定温度上限。
系统软件设计的总体流程图如图3.1所示:
图3.1主程序流程图
主程序设计代码如下所示:
/*主程序*/
/******************************************************************/
main()
{unsignedcharTempH,TempL,i,j,m;
relay=1;
ch451_init();
//初始化451
ch451_write(0x0403);
//开显示、键盘
ch451_write(0x580);
//设置BCD译码
EA=1;
//开中断
while
(1)
{EX1=1;
//允许键盘中断
flag=0;
if(setb==1)
{
Set_temp();
}
str[0]=TempH/100;
//百位温度
ch451_write(CH451_DIG0|str[0]);
str[1]=(TempH%100)/10;
//十位温度
ch451_write(CH451_DIG1|str[1]);
str[2]=(TempH%100)%10;
//个位温度,带小数点
ch451_write(CH451_DIG2|str[2]);
ch451_write(CH451_DIG3|0x0c);
for(i=0;
i<
3;
i++)
if(str[i]>
showtemp[i])//则停止加热
m=1;
i=i+3;
elseif(str[i]<
showtemp[i])//则继续加热
{
m=0;
i=i+3;
}
elsem=m;
//继续比较
relay=m;
temp=ReadTemperature();
//if(temp&
0x8000)
//{
//str[3]=0x40;
//负号标志
//temp=~temp;
//取反加1
//temp+=1;
//}
//else
str[3]=0;
TempH=temp>
>
4;
TempL=temp&
0x0F;
TempL=TempL*6/10;
//小数近似处理
}
3.2ADC0832数据读取程序设计
本次设计采用ADC0832芯片将从传感器输出的信号来进行A/D转换,由于ADC0832数据转换时间仅为32us,所以A/D转换得数据采样频率可以很快,从而也保证某些场合对A/D转换数据实时性的要求。
ADC0832芯片接口程序的编写,程序流程图如图3.2所示:
图3.2ADC0832数据读取流程图
A/D转换程序代码如下:
ADCSBITP3.5;
使能接口
ADCLKBITP3.4;
时钟接口
ADDOBITP3.3;
数据输出接口(复用)
ADDIBITP3.3;
数据输入接口
以下语句在调用转换程序前设定
MOVB,#00H;
装入通道功能选择数据值
以下为ADC0832读取数据子程序
====ADC0832读取数据子程序====
ADCONV:
SETBADDI;
初始化通道选择
NOP
NOP
CLRADCS;
清零/CS端
SETBADCLK;
置位CLK端
CLRADCLK;
清零CLK端,形成下降沿
MOVA,B
MOVC,ACC.1;
确定取值通道选择
MOVADDI,C
清零CLK端,形成下降沿2
MOVC,ACC.0;
置位CLK端
清零CLK端,形成下降沿3
SETBADDI
MOVR7,#8
AD_1:
MOVC,ADDO;
接收数据
MOVACC.0,C
RLA;
左移一次
SETBADCLK
形成一次时钟脉冲
DJNZR7,AD_1;
循环8次
MOVACC.0,C
MOVB,A
AD_13:
RRA;
SETBADCLK
DJNZR7,AD_13;
CJNEA,B,ADCONV;
数据校验
SETBADCS;
清零CLK端
SETBADDO;
提高数据端,回到初始状态
RET
3.3数字滤波程序设计
数字滤波方法可以有效抑制信号中的干扰成分,消除随机误差,同时对信号进行必要的平滑处理,以保证仪表及系统的正常运行。
其中中值滤波法比较适合用于去掉由偶然因素引起的波动和采集不稳定而引起的误码等造成的脉冲干扰,对温度等缓慢变化的被测参数采用此法能收到良好的效果,其对应的子程序软件流程图如图3.3所示:
图3.3数字滤波程序流程图
数字滤波程序代码如下:
#include<
reg51.h>
absacc.h>
#defineucharunsignedchar
#definecount5/*设置采样值个数*/
unchartdatamedian;
uncharfiltering(void)/*中位值滤波子程序*/
{
uncharidata*addr;
inti,j;
unchardatabuffer;
addr0x30;
/*设置采样值存储单元首地址*/
for(j=0;
j<
=count-1;
j++)/*冒泡排序法*/
for(i=0;
=count-j;
if((*addr+i)>
*(addr+i+1))
{buffer=*(addr+i);
(*addr+i)=*(addr+i+1);
*(addr+i+1)=buffer;
madian=*(addr+(count-1)/2);
/*返回中值*/
3.4温度设定及显示程序设计
该部分主要实现人机接口相互对话的功能,通过开键盘中断,键盘扫描判断有无键按下,若有,则从高位到低位依次将按键值通过对应的4位数码管显示出来,完成温度设定功能;
若无,则继续键盘扫描。
其程序流程图如图3.4所示。
图3.4温度设定及显示程序流程图
温度设定及显示程序代码如下:
voidSet_temp(void)//设定保温点
{unsignedchari;
ch451_write(CH451_DIG0|showtemp[0]);
//显示原来设定温度
ch451_write(CH451_DIG1|showtemp[1]);
ch451_write(CH451_DIG2|showtemp[2]);
//设定温度
ch451_write(CH451_TWINKLE|1);
//闪烁
EX1=1;
while(flag==0);
EX1=0;
//禁止键盘中断
showtemp[0]=ch451_key;
//保存数据
ch451_write(CH451_DIG0|showtemp[0]);
//显示键值
ch451_write(CH451_TWINKLE);
//停止闪烁
ch451_write(CH451_TWINKLE|2);
EX1=1;
showtemp[1]=ch451_key;
ch451_write(CH451_TWINKLE|4);
EX1=0;
showtemp[2]=ch451_key;
setb=0;
第4章系统调试
4.1硬件调试
每部分硬件电路设计完毕后,在proteldxp上进行系统仿真,仿真确保无误之后表明设计基本正确。
按照所设计的电路图在PCB板上将元器件焊接完毕,然后检查元器件安装是否正确,用万用表检测焊接线路是否正确,有无虚焊或短路现象,检查直至无误即表明硬件调试完毕。
4.2软件调试
将所设计的软件程序用程序编写软件写出来,进行查错,确定无误后用程序烧写软件将程序下载到单片机最小系统,与硬件电路连接,将程序加载到单片机最小系统上之后,上电后观察现象,可以观察到实时温度低于设定温度时,红灯亮;
当实时温度高于设定温度时,继电器工作,停止加热,红灯熄灭。
如果现象正确,表明软件调试已完毕。
4.3调试过程
通过硬件和软件调试,在调试过程中出现了一些问题,首先检查硬件电路是否连接正确,焊接线路是否正确,检查无误后,用编程软件检查软件程序是否有语句错误,无误后,再对应硬件电路观察现象检查程序能否实现对应功能,若那部分有问题则返回去修改对应的程序直至无误为止。
比如在调试过程中,上电后实时温度低于设定温度时红灯没有亮,先检测硬件部分没有问题,再检测软件部分虽然程序中无语句错误但经过仔细检查发现是主程序中对于控制继电器那一部分设计出现了逻辑上的错误,经改过来之后,发现现象能够显示正常。
第5章设计体会与小结
为了满足我们对智能仪器课程设计的实践需求,学校特地给我们提供了为期2周的课程设计时间,这门课程将智能仪器技术基础、单片机技术基础理论与实际操作有机地联系起来,意在加深我们对所学理论课程的理解。
通过让我们运用已基本掌握的程序设计与调试、不同功能的单元电路的设计、安装和调试方法,在单元电路设计的基础上,设计出具有特定功能的电子装置。
通过这次课程设计,深化了我们所学理论知识,培养了综合运用能力,增强了独立分析与解决问题的能力,训练培养了我们严肃认真的工作作风和科学态度。
同时,它也培养我们查阅资料的能力和学生的工艺素质,培养我们的组员合作精神以及综合设计和实践能力。
同时训练我们撰写课程设计报告,为以后毕业论文打好基础。
经过两个周的方案论证、系统的硬件和软件的设计、系统的调试。
查阅了大量的关于传感器、单片机及其接口电路、以及控制方面的理论。
经过了一番特殊的体验后,经历了失败的痛苦,也尝到了成功的喜悦。
运用所学的专业知识来解决问题,检查了自己的知识水平,使我对自己有一个全新的认识。
通过这次课程设计,不仅锻炼自己分析问题、处理问题的能力,还提高了自己的动手能力。
这些培养和锻炼对于我们这些即将走向工作岗位的大学生来说,是很重要的。
这次课程设计基本地完成了任务书的要求,实现了温度的控制。
通过测试表明系统的设计是正确的,可行的。
但系统中也存在一些不足,这也表明自己的知识水平还存在很大的不足,这将更加激励我在以后的学习中能够更加深入的学习知识、勇于发现问题并思考解决问题。
参考文献
1.《51系列单片机设计实例》李光飞,楼然苗编著北京航空航天大学出版社,
2.《单片机微型计算机与接口技术》李群芳,张士军,黄建编著电子工业出版社
3.《单片机应用系统设计——入门向导与设计实例》韩志军,沈晋源,王振波编著机械工业出版社
4.《智能仪器设计基础》史健芳编著电子工业出版社
5.《智能仪器原理及应用》赵茂泰编著电子工业出版社
6.《测控电路》(第3版)张国雄主编机械工业出版社
附录
系统硬件电路原理图
附图1桥式测温电路
附图2仪用放大电路
附图3模拟滤波电路
附图4A/D转换电路
附图5人机接口电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PT100 智能 温度 测量 仪表 软件设计 仿真