智能仪器实习报告重点讲义资料.docx

上传人:b****4 文档编号:12026175 上传时间:2023-04-16 格式:DOCX 页数:25 大小:807.21KB
下载 相关 举报
智能仪器实习报告重点讲义资料.docx_第1页
第1页 / 共25页
智能仪器实习报告重点讲义资料.docx_第2页
第2页 / 共25页
智能仪器实习报告重点讲义资料.docx_第3页
第3页 / 共25页
智能仪器实习报告重点讲义资料.docx_第4页
第4页 / 共25页
智能仪器实习报告重点讲义资料.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

智能仪器实习报告重点讲义资料.docx

《智能仪器实习报告重点讲义资料.docx》由会员分享,可在线阅读,更多相关《智能仪器实习报告重点讲义资料.docx(25页珍藏版)》请在冰豆网上搜索。

智能仪器实习报告重点讲义资料.docx

智能仪器实习报告重点讲义资料

智能仪器实习报告

 

课题名称:

智能热电偶温度测试仪设计

班级:

电子1131

姓名:

王晓强

学号:

1131202223

指导老师:

唐永峰

2017年1月2日

 

概述

将温度变化转换为电阻变化的称为热电阻传感器称为热电阻传感器,其可分为金属热电阻式和半导体热电阻式两大类,前者简称热电阻,后者简称热敏电阻。

常用的热电阻材料有铂、铜、镍、铁等,它具有高温度系数、高电阻率、化学、物理性能稳定、良好的线性输出特性等,常用的热电阻如Pt100、Pt1000等。

这类器件的最大缺点是测温的范围太窄,而且温度的测量精度都不高,好的才±0.5℃,一般有±2℃左右,因此在高精度的场合不太满足用户的需要。

但我们此次的实习不需要很高的精度,所以选用Pt100热电阻进行我们的实习还是可行的。

此次实习我们利用SST89V564RD单片机结合温度传感器技术而开发设计了这一温度测量系统。

文中将传感器理论与单片机实际应用有机结合,利用铂电阻PT100作为温度传感器来测量实时的温度,并通过液晶显示出来的过程。

 

智能热电偶温度测试仪设计

一、设计方案

本设计的整体思路是:

用热电偶测量热端的温度T,并进行I/V转换和线性放大,由另一个设备测量冷端温度T0并进行温度补偿,再进行I/V转换和线性放大。

然后把从热端和冷端得到的信号分时进行A/D转换,再送到单片机进行运算处理,从而得到热电偶测到的实际温度值,最终在LED液晶显示屏上显示。

热电偶冷热端分测方案

本方案由AD590集成温度传感器测量冷端温度T0,由热电偶测量热端温度T。

它们分别经过I/V转换和线性放大,分时进行A/D转换,转换后的数字信号送入AT89C51单片机,经单片机运算处理,转换成ROM地址,在通过二次查表法计算出实际温度值。

此值送4位共阴极LED数码管显示。

图2.1测温整体框图

该方案采用模块化设计把各个模块分离开,使得设计的测温系统适应性很强,可以随时改变各个模块的一些硬件的参数和各个结构而适应不同的复杂测温环境,并且测量的精度也比较高。

因此设计采用了该方案。

二、MK4-PC智能仪器实验教学系统简介

智能仪器课程是一门综合性、实践性强的课程,涉及到基础理论及各种当代新技术的具体应用,要求学生不仅能够掌握书本上的理论知识,还要具有实践动手能力甚至系统开发能力。

智能仪器实验平台就是为提高学生理解掌握知识、提高系统设计开发能力而设计的。

智能仪器实验开发平台集中了单双极性输入通道、程控放大、模拟滤波、16位A/D转换及CPLD技术和单片机技术,并具有超过128KB的大存储空间,集中体现了智能仪器课程所涉及到的各种软硬件技术,非常适合大学本科生的学习以及在此基础上的进一步开发。

2.1平台整体结构

智能仪器实验开发平台采用模块化设计,整个平台设有一个母板,该母板具有四个相同规格的扩展部分,每个扩展部分设四个插口,每个插口对应的分别为单片机的P0、P1、P2、P3口。

设计时将单片机作为控制部分的核心,因此单片机板独立占用其中一个扩展,显示部分采用液晶模块完成,该部分还设有四个按键作为组合按键使用。

第三个部分为基于CPLD的16位数据采集部分,设有两个独立输入通道,每个通道可设置为单极性输入或双极性输入,具有程控放大、模拟滤波等功能,CPLD控制A/D转换器完成数据的采集工作,数据采集的采样频率可设置为10KHz、20KHz…500KHz,采样点数可以根据要求设置。

平台的最后一个扩展部分为空,留给平台的使用者做扩展使用,根据要求自己独立设计该部分的电路。

2.2平台的设计思路

智能仪器实验开发平台设计时考虑到本科学生的水平差异,可以使不同能力的学生都可以对其进行使用。

对于能力相对较差的学生,实验平台设计了几个基本的演示程序,包括:

信号源输出、放大、滤波、采集、键盘显示、串行通信等,通过串行口与计算机相连,计算机带有为学生提供的参数设置及数据显示面板,学生通过对参数设置,可以观察到不同的数据结果,提高学生对课程知识的理解能力。

对于能力较好,但知识面相对单一的学生,可让其在了解接口定义的基础上单独设计CPLD程序或单片机程序,使其在该方面能力加强的同时又能增加对相关知识的了解。

而对于成绩好、实践能力强的优秀学生,则该平台只是为其提供一个硬件基础,给其提供硬件接口后,可以根据自己需要任意发挥以实现自身需要的各种功能。

可完成以下实验:

1、液晶显示

2、键盘显示

3、A/D转换实验

三、硬件电路设计

3.1硬件功能分析

智能仪器实验开发平台集中了单双极性输入通道、程控放大、模拟滤波、16位A/D转换及CPLD技术和单片机技术,并具有超过128KB的大存储空间,集中体现了智能仪器课程所涉及到的各种软硬件技术,非常适合大学本科生的学习以及在此基础上的进一步开发。

智能仪器实验开发平台采用模块化设计,整个平台设有一个母板,该母板具有四个相同规格的扩展部分,每个扩展部分设四个插口,每个插口对应的分别为单片机的P0、P1、P2、P3口,如图3.1所示。

设计时将单片机作为控制部分的核心,因此单片机板独立占用其中一个扩展,显示部分采用液晶模块完成,该部分还设有四个按键作为组合按键使用。

第三个部分为基于CPLD的16位数据采集部分,设有两个独立输入通道,每个通道可设置为单极性输入或双极性输入,具有程控放大、模拟滤波等功能,CPLD控制A/D转换器完成数据的采集工作,数据采集的采样频率可设置为10KHz、20KHz…500KHz,采样点数可以根据要求设置。

平台的最后一个扩展部分为空,留给平台的使用者做扩展使用,根据要求自己独立设计该部分的电路。

图3.1俯视尺寸规格图(单位:

毫米)

除平台能够独立完成各项实验项目外,为实现对采集的数据进行图形化显示,该平台还可以通过标准的R-232接口与PC机连接,通过PC机的显示器将数据波形显示出来,同时还可以利用该串行接口对单片机进行仿真或传输控制参数使其工作在设定模式下。

整个功能框图如图3.2所示。

图3.2框图

3.1.1CPU控制模块

该模块包括单片机、大容量RAM数据存储和RS-232串行数据通信接口。

整个实验平台以单片机SST89V564RD为控制处理核心。

美国SST公司生产的SST89系列单片机是一款非常有特色的以8051内核为核心的新型8位单片机。

它具有独特的FLASH技术和小扇区结构设计,其最大的特点是采用在应用可编程和在系统可编程技术,在不占用用户资源和无须改动硬件的情况下,可直接通过串口在系统仿真,在线实现远程升级,无须专用仿真器和编程器。

SST89系列单片机还在其他功能上较之传统的51单片机有了长足的改进和进步,如片内含有大容量的RAM数据存储器,其独特的DPTR数据指针结构使得在进行查表寻址运算时更加方便。

正是因为SST89系列单片机所具有的优点,而且价格低廉,因此在仿真器和下载仪中得到广泛的应用。

根据本系统实际需要选用SST公司的3.3V供电的SST89V564RD单片机。

为满足因高速采集和大量数据计算所需要的大容量存储器,该模块包含了一片存储容量为128KB的高速RAM存储器,单片机利用分页方式对其访问。

另外,该模块上还包含了单片机对PC机通信的RS-232芯片。

整个模块的结构如下图所示:

图3.3CPU控制模块结构图

3.1.2基于CPLD的采集模块

该模块以CPLD为控制处理核心,利用CPLD的I/O与单片机的总线连接,通过单片机总线将控制字写入CPLD内部的存储器,而CPLD则通过读取存储器控制字的方式按单片机的要求工作。

由于该方式使用非常灵活,如果CPLD不是挂接在单片机总线而是其它的控制总线,则只要控制字能够满足要求,该模块同样可以进行工作。

CPLD根据控制字的要求可以控制该模块实现以下功能:

输入信号的程控放大及滤波,数据采集频率及采集点数,实现对模块自带RAM的读写以及产生简单的信号源供测试使用。

该模块共有两个输入通道和一个信号源输出通道。

整个模块的结构如下图示:

图3.4数据采集模块结构示意图

为提高实验平台的性能,本模块选用的A/D转换器为16位转换精度且其最大采样频率为500KHz,能够满足很多数据采集的需要。

3.1.3液晶显示模块

该模块包含一块字符型液晶屏、4个按键和8个显示状态信息的LED发光二极管。

平台独立运行时,利用字符型液晶模块显示按键控制信息和平台的部分运行结果,同时,LED二极管可以给出单片机P0口的状态。

模块结构如下:

图3.5按键显示模块结构示意图

3.2各部分硬件设计

3.2.1冷端采集和补偿电路模块

冷端采集和补偿电路运用AD590温度传感器采集冷端温度,并连接补偿电路进行温度补偿,如图

图3.6冷端采集和补偿电路

3.2.2热端放大电路模块

图3.7热端放大调理电路

热电偶的热端放大电路如图3.2所示。

热电偶的热端接入到INP口,然后进行一系列的调试放大。

本系统应用K型热电偶,导热系数测定过程中通常温度范围小于100℃,为保证测量精度,热电偶线性化软件我们每隔5℃分一段,并且精确到小数点后两位。

硬件调理电路截取K型热电偶100℃的热电势4.095mv作为输入满量程,放大到5V,提供给AD转换器,要求调理电路放大倍数达1200多倍,为此我们选取高精度运算放大器MC33078,构成两级运算放大器,每级放大倍数小于40倍,。

MC33078除了具有普通运算放大器的特点和应用范围外,还具有高增益、高共模抑制比、失调小和漂移低等特点,利用动态校零技术消除了CMOS器件固有的失调和漂移,所以常被应用于热电偶、电阻应变电桥、电荷传感器等测量微弱信号的电路中。

3.3A/D转换器

A/D转换器的连接图如下:

图3.8A/D转换器的连接图

U20为AD780,它是基准电压芯片。

A/D转换器是AD7655,它是一款16位的A/D,它的数据口D0-D7、控制端口BUSY、CNVST、IMPULSE、BYTESWAP连接至CPLD。

单片机通过往CPLD写控制字来控制A/D的采样率。

3.4单片机模块

单片机板位于底板右上方。

机械图如下:

图3.10机械图

U1为本实验教学系统的处理器--SST89V564RD,它的I/O电平为3.3V。

VCC为3.3V电源。

晶振和复位电路如下图:

图3.11晶振和复位电路

U2为74HC573,作用是为U3(RAM)锁存低八位地址。

U1、U2、U3之间的连接如下:

图3.12芯片连接图

IS63LV1024是RAM芯片。

硬件连接是总线方式。

编程时使用XBYTE[0xXXXX]指令进行读写。

U5是74HC138,U6是74HC245,它们组成片选电路。

原理图如下:

图3.13原理图

VCC为3.3V。

单片机的P1.2、P1.3、P1.4是控制信号。

CS_KBRD是获取键码时的片选信号,键盘接口具体介绍在本章第二节。

CS_RAM是RAM存储器的片选信号。

CS_USB是键盘接口板USB芯片PDIUSBD12的片选信号。

CS_DISP是128*64中文液晶显示电路的片选信号。

CS_DA是数据采集板上数模转换器的片选信号。

其中显示电路和D/A转换器片选信号为5V电平,74HCT245作为电平转换。

液晶显示控制电路原理图如下:

图3.14液晶显示控制电路原理

两片74HCT245作电平转换用,把单片机I/O口3.3V电平转换为5V电平。

跳线J1可选择12864液晶显示模块为并行或串行数据传输,PSB为液晶显示模块的串并选择端口,系统默认为并行。

Rpot1是液晶驱动电压调节电位器,Rpot2是液晶背光亮度调节电位器。

CS_DISP连接到两片74HCT245的使能端。

单片机板上还有一个双向电平转换电路,电路图如下:

图3.15双向电平转换电路

电路功能是为单片机P1.6和P1.7提供双向电平转换。

P1.6和P1.7为3.3V电平,VCC为3.3V。

SDA和SCL为5V电平,它们连接到数据采集板的数字电位器X9241。

两个小MOS管的型号为AO3400。

A/D转换器输出的为BCD码,2-1~2-8口不是总线式的。

因此,单片机只能通过并行I/O接口或扩展I/O口与其相接。

还可以通过单片机的P1口直接与其连接。

图4.16A/D芯片与单片机连接图

EOC是A/D转换结束的输出标志信号。

89C51读取A/D转换结果可以采用中断方式或查询方式。

采用中断方式,EOC端与89C51外部输入端

相连,采用查询方式是EOC端可直接接入89C51的任一I/O口线。

四、软件设计

1、编程环境介绍

对于我们本次实习的单片机SST89V564RD,我们用keilC51编程环境进行程序的编写。

keilC51软件是众多单片机应用开发的优秀软件之一。

它集编辑、编译、仿真于一体,支持汇编、PLM语言和C语言的程序设计。

界面友好,易学易用。

对于下载的软件我们可以直接用keilC51下载。

同时我们也可以在SST软件的下载页面中下载。

而且这两种下载方式都需要程序生成.HEX文件。

如下图所示:

图13

而应用SoftICE调试工具进行程序在线仿真调试的过程是这样的:

(1)利用SSTBoot-StrapLoader软件将SoftICE直接下载到单片机中,重新上电复位后,单片机中的SoftICE便可以与Keil51软件通信以进行仿真调试,下载界面如下

(2)在Keil51软件上选择使用的单片机型号SST89V564RD;

(3)在Keil51软件的Project下拉菜单中选择“OptionsforTarget‘Monitor51’”;

(4)在OptionsforTarget‘Monitor51’窗口的Debug栏中选择“UseKeilMonitor-51Driver”,由于每次RESET目标板时用户代码区会被擦除,如果用户程序需要在开始时下载到目标板,要勾上“LoadApplicationatStartup”;

(5)点击Settings项,弹出TargetSetup窗口进行配置,可以选择PC机与目标板通信的串行接口及波特率,如果需要显示存储器的实时窗口,请不要选CacheOptions,注意,如果选择了的中断向量3SerialInterrupt去StopProgramExacution,SoftICE将修改在位置0023H个字节,要确保用户程序未占用这些地址;

(6)开始调试,此时可以根据Keil51软件的Debug进行程序调试。

通过View下拉菜单的部分选项可以观察及修改特殊功能寄存器及数据存储器等的内容。

2、软件功能需求分析

单片机软件开发采用目前比较通用的Keil51开发软件完成。

如果不使用硬件仿真器,多数通用单片机都无法实现在线仿真功能,两者皆可以通过PC机的标准RS-232串口与Keil51软件通信实现。

针对在线仿真功能,SST公司为方便用户使用单片机调试程序而开发了调试工具SoftICE(SoftwareInCircuitEmulator,在电路软件模拟)。

该调试工具可实现下述功能:

(1)下载INTELHEX文件;

(2)在线调试及设置断点,支持汇编语言和C51语言;

(3)反汇编代码区到8051助记符;

(4)读写代码/数据存储器、FSR特殊功能寄存器及PORT端口;

(5)IAP(InApplicationProgramming,应用中再编程)功能;

(6)软件重启动。

利用该调试工具我们可以很方便的用计算机对MK-4PC智能仪器实验开发平台进行各项试验及实习。

3、各部分软件设计

主程序流程图如下:

图14主程序流程图

主程序如下:

#include

#include

#include

#include

#include

#include

#include

#include//XBYTEXWORD

#include"stdio.h"

#include"daq.h"

#include"x9241.h"

unsignedcharcodeMainCap1[]="数据处理实验";

unsignedcharcodeMainText1[]="正在等待上位机";

unsignedcharcodeMainText2[]="正在发送数据";

unsignedcharcodeMainText3[]="发送完毕";

unsignedcharcodeMainText4[]="温度过高";

unsignedcharcodeMainText5[]="温度过低";

voidLcdDisp(char*Buff,charRow)

{

Select(0);

delayms

(1);

TransferData(0x98,0);//SetGraphicDisplayRAMAddress

while(*Buff)

{

TransferData(*Buff++,1);

}

}

voidLcdDisp1(char*Bufff,charRoww)

{

Select(0);

delayms

(1);

TransferData(0x88,0);//SetGraphicDisplayRAMAddress

while(*Bufff)

{

TransferData(*Bufff++,1);

}

}

main()

{

unsignedchari,a;

unsignedintadr,j=0;

charidataBuff[16];

charidataBufff[16];

staticfloatidataVal,Adv;

staticfloatidataT;

floatk=0.397;

unsignedcharidataResA[4]={10,50,10,50};

unsignedcharidataResB[4]={20,50,20,50};

CHADpotWW(ResA);//设置A通道增益

CHBDpotWW(ResB);//设置B通道增益

//系统初始化

AUXR=0x03;//关闭SST单片机内部RAM和ALE输出

Select(3);

page_reg=0;

page_ram=0;

LedDisplay(0x00);

//液晶显示初始化

Select(0);

delayms

(1);

initinal();//调用LCD字库初始化程序

delay(100);//大于100uS的延时程序

//显示数据处理实验

TransferData(0x80,0);//SetGraphicDisplayRAMAddress

for(i=0;i<16;i++)

{

a=MainCap1[i];

TransferData(a,1);

}

//显示正在等待上位机

TransferData(0x90,0);//SetGraphicDisplayRAMAddress

for(i=0;i<16;i++)

{

a=MainText1[i];

TransferData(a,1);

}

//AD采集程序

daq_init();//adc初始化

for(;;){

adc_start();

delayms(100);

adc_end();

Val=daq_a();//获得原始AD值

Adv=Val-32768;

Adv=Adv*5000/65535;

Val=Adv*-1;

Val=Val/6;//A通道放大倍数4,电平转换放大倍数0.5

T=2.58*Val-258;

//定标处理,获得外部信号的mV值。

y=kx+b

//热偶温度变换,线性化处理。

sprintf(Buff,"%5.1f%d",Val,j++);

LcdDisp(Buff,0);

sprintf(Bufff,"%5.1f%d",T,j++);

LcdDisp1(Bufff,0);

if(T>100)

{

TransferData(0x80,0);//SetGraphicDisplayRAMAddress

for(i=0;i<16;i++)

{

a=MainText4[i];

TransferData(a,1);

}

}

if(0

{

TransferData(0x80,0);//SetGraphicDisplayRAMAddress

for(i=0;i<16;i++)

{

a=MainCap1[i];

TransferData(a,1);

}

}

if(T<0)

{

TransferData(0x80,0);//SetGraphicDisplayRAMAddress

for(i=0;i<16;i++)

{

a=MainText5[i];

TransferData(a,1);

}

}

//温度报警处理。

包含显示报警信息。

//mainkey();//键盘处理,报警温度设定/补偿设置。

}

//数字滤波函数

//限幅滤波(相连两个数据之差不超过一个经验值,若超过,前一个数据覆盖后一个数据)

for(adr=0;adr<499;adr++)

{

if(XBYTE[4*(adr+1)+1]>XBYTE[4*adr+1])

{

if((XBYTE[4*(adr+1)+1]-XBYTE[4*adr+1])>10)//10是经验值

XBYTE[4*(adr+1)+1]=XBYTE[4*adr+1];

}

else

{

if((XBYTE[4*adr+1]-XBYTE[4*(adr+1)+1])>10)

XBYTE[4*(adr+1)+1]=XBYTE[4*adr+1];

}

}

//显示正在发送数据

Select(0);

delayms

(1);

TransferData(0x90,0);//SetGraphicDisplayRAMAddress

for(i=0;i<16;i++)

{

a=MainText2[i];

TransferData(a,1);

}

//发送RAM低2000地址数据至上位机

//send_data();

//显示发送数据完毕

Select

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1