温度调试实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温度检测系统调试实验报告
09级电力电子与电力传动张颖
1 温度检测系统电路原理
采用平衡电桥法的温度测量电路。温度传感器采用pt100热电阻,并把它作为测量电桥的一个桥臂。pt100的电阻值在0℃时为100Ω;100℃时为138.5Ω,具体的对照关系可查询分度表。当温度为0℃时,测量电桥平衡,输出为零。一旦温度不为零,电桥平衡被破坏,通过等臂电桥,把PT100据温度变化而引起的微弱的电压变化送到一个差分放大电路,信号经过放大反相后可得到一个在
0~100摄氏度内范围为0~2.43v的电压,这样就可以接入c8051f040进行AD转换得到输出对应一定温度值的电压信号。根据多次的实验数据,得出一条直线方程,方程换算为该电压值所对应的温度值。于是,只要标定其中的对应关系,就可以计算出实际的温度值。其中最后一个放大器起电压跟随器作用。温度检测电路原理图如下
图1温度检测电路原理图
2 硬件构成
硬件系统主要由传感器模块、调理电路、F04单片机和电源模块四部分组成。系统还包括液晶显示。
2.1 温度传感器PT100简介
该电路应用温度传感器PT100。PT100(铂热电阻温度传感器)具有精度高,
测温范围宽,使用方便等优点,在工业过程控制和测量系统中得到了广泛的应用。
当温度测量范围不大,元件长度和截面积随温度改变引起的阻值变化可以忽略时,热电阻元件的阻值随温度变化可以认为是线性的,可用下式表示:
20(1)t R R At Bt =++,其中0R 表示0摄氏度时PT100的电阻值100欧姆;t R 表示t
摄氏度PT100电阻的阻值;33.9080210/O A C -=⨯;75.8019510/O B C -=-⨯;经过理论计算:PT100在0~500摄氏度区间的非线性误差为1.2909%;在0~100摄氏度的非线性误差为0.1%,所以在我们的测量范围之内,可以按线性处理。 2.2
protel 制图
如图1所示温度检测电路原理图。鉴于电桥的敏感性,对元器件的要求比较高,两个臂上的电阻,即R1,R2最好选择高精度的精密电阻,用万用表从大量普通电阻中筛选几个精度较高的电阻。 PCB 板图
温度检测电路PCB 板图
2.3 温度的标识
首先,我们知道在温度为0摄氏度时, PT100的电阻值为100欧姆。假设PT100至于0摄氏度的环境里,调节电位器P2使R6和P2的总电阻为100欧姆达到电桥平衡。而后在温度为70℃时,调节P1使电路的输出达到最大1.748V 。而后就可以对其他温度值时的电压进行标定了。实验表明,如此调节之后,对于温度的标定可以带来很大的方便之处。为了使直线方程适用于所有的板子,可以调节P1,使6块板子都可以使用同一个方程。
3 软件
3.1端口设置
本模块选择AIN0.0通道AMX0SL=0x00;单端输入AMX0CF=0x00;ADC0开启,连续跟踪模式,对AD0BUSY写1启动ADC0转换,转换结果右对齐ADC0CN=0x80;采用VREF0参考电压,内部温度传感器关闭,内部参考电压产生器开启,内部参考电压输出开启2.43V REF0CN=0x03;禁止ADC0转换结束中断EIE2&=~0x02;禁止ADC0窗口比较中断EIE1&=~0x04。
3.2温度数据的处理
首先将AD转换得到的数据根据2.3中的方程换算为该值所对应的温度值,注意:由方程直接得到的温度数据若要在液晶屏显示还需要经过一些数据处理,才能准确地显示出来。为了能够精确的得到温度值,实验中,我们采集34组数据,然后经过数据处理,得到的值送显示。
3.3液晶显示设计
本文设计的液晶显示屏是128x64的。由于市场需求的液晶是多种多样的,例如,64x32、128x64、256x64等等,但是液晶的显示原理都是类似的,只是驱动稍有不同。液晶显示器(LCD)是现在非常普遍的显示器。它具有体积小、重量轻、省电、辐射低、易于携带等优点。根据液晶显示模块使用手册,在半宽字符表与汉字字符表中查找需要显示的字符的ASCII,然后由字符显示的RAM的地址与32个字符显示区域的一一对应关系,找出所要显示的字符的位置。在程序中,通过调用液晶控制相关函数,包括液晶初始化,写数据子程序,写指令子程序,在指定位置显示字符函数等,可以达到所需要的效果。
3.4 程序
/******************************************************************** *********
*Copyright (c) 2007 江苏大学电气学院
*All right reserved
*文件名称:main.c
*摘要
c8051f040单片机温度数据采集
*作者:
*完成日期:2009年7月28日
********************************************************************* *********/
#include
#include
unsigned char LCD_Ctrl=0;
#define SYSCLK 11059200
xdata unsigned char Show_Buf[3][16]={{0xA1,0xA0,0xA1,0xA0,0xA1,0xA0,0xCE,0xDE,0xCF,0xDF,0x A1,0xA0,0xA1,0xA0,0xA1,0xA0},
{0xB6,0xE0,0xB2,0xCE,0xCA,0xFD,0xCB,0xAE,0xD6,0xCA,0xBC,0xE0,0xB2,0x E2,0xD2,0xC7},
{0xCE,0xC2,0xA1,0xA0,0xB6,0xC8,0xA1,0xC3,0x20,0x20,0x20,0x20,0x20,0x20,0x A1,0xE6}};
void delayus(unsigned char i) //us级延时t=2i+5us
{
while(--i);
}
void delayms(unsigned int x) //ms级延时t=x ms
{
unsigned char j;
while(x--)
{
for(j=0;j<123;j++){;}
}
}
void Init_PORT(void)
{
WDTCN=0x07;
WDTCN=0xDE;
WDTCN=0xAD;
SFRPAGE=0x0F;
P0MDOUT=0x00;P0=0xff;
P1MDOUT=0x00;P1=0xff;
P2MDOUT=0x00;P2=0xff;
P3MDOUT=0x00;P3MDIN=0xff;P3=0xff;
P4MDOUT=0x00;P4=0xff;
P5MDOUT=0x00;P5=0xff;
P6MDOUT=0x00;P6=0xff;
P7MDOUT=0x00;P7=0xff;