热电偶温度计的课程设计1剖析.docx
《热电偶温度计的课程设计1剖析.docx》由会员分享,可在线阅读,更多相关《热电偶温度计的课程设计1剖析.docx(18页珍藏版)》请在冰豆网上搜索。
![热电偶温度计的课程设计1剖析.docx](https://file1.bdocx.com/fileroot1/2023-1/5/167ce0da-3f1d-4dde-aab9-7b59087b578e/167ce0da-3f1d-4dde-aab9-7b59087b578e1.gif)
热电偶温度计的课程设计1剖析
热电偶温度计的毕业设计
题目:
热电偶温度计的设计与制作
系别:
机电工程系
专业:
检测技术及应用
班级:
计量
学生姓名:
刘一
指导老师:
陆晓强
完成日期:
2013年3月15日
河南质量工程职业学院
河南质量工程职业学院
毕业设计
班级
计量
学生姓名
刘一
指导教师
陆晓强
课程设计题目
热电偶测温计的设计与制作
主要
设计
内容
主要
技术指标
和设
计要
求
1.设计指标
1实现智能数字显示仪表。
要求8位数码管显示,4位显示测量值,4位显示设定值;
24输入按钮:
功能选择、数码管选择、数字增加、数字减少;
3可设定上下限报警蜂鸣器报警;
2.设计要求
1画出电路原理图(或仿真电路图);
2元器件及参数选择;
3电路仿真与调试;
4PCB文件生成与打印输出。
3.制作要求自行装配和调试,并能发现问题和解决问题。
4.编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
热电偶测温计的设计与制作
设计任务和要求
1.设计指标
1 实现智能数字显示仪表。
要求8位数码管显示,4位显示测量值,4位显示设定值;
2 4输入按钮:
功能选择、数码管选择、数字增加、数字减少;
3 可设定上下限报警蜂鸣器报警;
2.设计要求
1 画出电路原理图(或仿真电路图);
2 元器件及参数选择;
3 电路仿真与调试;
4 PCB文件生成与打印输出。
3.制作要求自行装配和调试,并能发现问题和解决问题。
4.编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
1.1选题的意义
热电偶具有构造简单、适用温度范围广、使用方便、承受热、机械冲击能力强以及响应速度快等特点,常用于高温区域、振动冲击大等恶劣环境以及适合于微小结构测温场合;但其信号输出灵敏度比较低,容易受到环境干扰信号和前置放大器温度漂移的影响,因此不适合测量微小的温度变化。
1.2设计方案
通过B型(铂铑30)热电偶测量的答题思路为
1.3热电偶测温计的设计
1.3.1.智能仪表基本模块硬件电路
智能仪表基本模块由单片机、输入按钮、硬件显示和通信接口组成
原理图:
(1)最小系统板电路
(2)电源电路
(3)按键电路
(4)扬声器电路
(5)数码管电路
(6)信号调理电路
(7)功率驱动电路
(8)LED电路
1.3.2智能仪表基本模块的功能:
(1)具有两排8个是数码管显示,分别显示测量值与设定值,数码管由74HC595驱动,因此只需要3个单片机引脚,可以用SPI接口引脚:
PB4、PB5(MOSI)和PB7(SCK),或是采用I/O引脚搭配时序的方法驱动。
(2)具有4个按钮:
功能选择按钮、数码管选择按钮、数字加按钮、数字减按钮。
按钮直接连在单片机引脚,低电平有效。
(3)具有4个LED灯,用于显示状态,直接连到单片机引脚,低电平有效。
智能仪表的外形:
其中上排数码管显示测量值,下排数码管显示设定值,4个按钮用三个,右上侧有4个发光二极管。
1.4、测温模块设计
1.4.1热电偶
B型热电偶在热电偶系列中具有准确度最高,稳定性最好,测温温区宽,使用寿命长,测温上限高等优点。
适用于氧化性和惰性气氛中,也可短期用于真空中,但不适用于还原性气氛或含有金属或非金属蒸气气氛中。
B型热电偶一个明显的优点是不需用补偿导线进行补偿,因为在0~50℃范围内热电势小于3μV。
B型热电偶不足之处是热电势,热电势率较小,灵敏度低,高温下机械强度下降,对污染非常敏感,贵金属材料昂贵,因而一次性投资较大。
两种不同成分的导体两端接合成回路,当接合点的温度不同时,在回路中就会产生电动势,这种现象称为热电效应,而这种电动势成为热电势,也称为热电动势,热电偶就是利用这种原理进行温度测量的。
其中,直接用做测量介质温度的一端叫作工作端(称为测量端),另一端叫做冷端(称为补偿端)。
冷端与显示仪表或配套仪表连接,显示仪表会显示出热电偶所产生的热电势。
热电偶将热能转换为电能,用所产生的热电势测量温度,对于热电偶的热电势,应注意以下问题:
(1)热电偶所产生的热电势大小,与热电偶的长度和直径无关,只与热电偶材料的成分和两端的温差有关
(2)当热电偶的两个热电偶丝材料成分确定后,热电偶电势的大小,只与热电偶的温度差有关;若热电偶冷端的温度保持一定,则热电势仅是工作端温度的单值函数
本设计要求的B型(铂铑30)热电偶测温范围如下表
热电偶分类
热电偶电极材料
温度范围(︒C)
热电动势(mV)/温度(︒C)
正极
负极
B
铂铑30
铂铑6
0—1800
0/018.84/1800
1.4.2热电偶信号调理电路
采用LM35的B00000000----------------------------型热电偶冷端补偿电路
B型热电偶在0度时的热电势为0mV,在1600度时的热电势为18.84mV。
若输出电压为0.2-3.3v。
因此放大器输出电压方程为:
1)0.2=m*0+b和2)3.3=m*18.84+b算出m、b的值然后根据
3)m=[R2/(R1+R2)][(Rf+Rg)/Rg]和4)b=Vref[R1/(R1+R2)][(Rf+Rg)/Rg]算出实验所需的数据
1.5驱动双向晶闸管设计
本系统采用晶闸管脉冲调制驱动电路,其负载为1000W的电加热器(电源电压为220VAC)。
单片机驱动晶闸管脉冲调制驱动器的电路如下图所示。
单片机驱动晶闸管脉冲调制驱动器的电路
1.6软件设计
1.6.1主程序
#include
#include
unsignedcharvadc;//vadc测得的放大电势值
unsignedintvar;//测得的温度值
Unsignintdata[8];//全局变量
unsignedcharxs[8];//数据缓存
unsignedchardisp[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,//共阳数码
0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xFE,0xFF};
unsignedintweizhi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};高电平有效*/
unsignedcharLED0,LED1,LED2,LED3;
Voidmain(void)//主函数
{
unsigncharadc_time;
unsigncharsaomiao_time;
unsigncharxianshi_time;
init_devices();adc_time=0;}
while
(1)
While(adc_time=1)//测温
{adc();
Charlp();//滤波
PID();
Shuchu();
adc_time=0;}
While(saomiao_time==1)
{saomiao1();//扫描按键并存放数据
Saomiao_time=0;}
while(xianshi_time==1)
{spihc();//数码管显示
LED();//LED灯显示
xianshi_time=0;}
}
#pragmainterrupt_handlerint_TCCR1A:
7//定时器1的TCCR1A组比较匹配中断服务程序
{staticunsignedcharn;
n++;
If(n==20)//200ms
adc_time=1;//adc转换
Saomiao_time=1;//扫描PD口按键
xianshi_time=1;//显示数码管
}
1.6.2子程序
(1)ADC初始化函数
Voidadc_init(void)
{ADCSRA=0x00;//ADCSRA–ADC控制和状态寄存器
ADMAX=0x20;//选择外部参考电压,通道0,左对齐
ADCSRA=0xE2;
SFIOR=0Xa0;//SFIOR-特殊功能IO寄存器,定时器1比较匹配B
}
(2)ADC转换程序
Voidadc(void)
{staticunsignedcharn;
while(!
(ADCSRA&(1<ADH=ADCH;//8位转换
If(n<5)
Value_adc[n++]=ADH;
Else
n=0;}
(3)算术平均值滤波子函数
VoidCharlp(void)
{Intsum=0;
Charcount;
For(count=0;count<5;count++)
{sum+=Value_adc[count];//获取ADC转换结果,计算相加
Delay();}
vadc=sum/5;
}
(4)定时器初始化函数
VoidT1_init(void)//初始化定时器,产生10ms周期中断
{OCR1A=1249;
TIMSK|=(1<TCCR1A=0x00;
TCCR1B=0x08;//定时器工作在CTC计数器模式
TCCR1B|=0x02;//设定定时器1的分频值为8分频
}
(5)显示LED灯子程序
VoidLED(void)
{if(LED0==1)
PORTB^=0x01;
If(LED1==1)
PORTB|=1<<1;
If(LED2==1)
PORTB|=1<<2;
If(LED3==1)
PORTB|=1<<3;
}
(6)定时器1的TCCR1A组比较匹配中断服务程序
#pragmainterrupt_handlerint_TCCR1A:
7//定时器1的TCCR1A组比较匹配中断服务程序
{staticunsignedcharn;
n++;
If(n==20)//200ms
adc_time=1;//adc转换
Saomiao_time=1;//扫描PD口按键
xianshi_time=1;//显示数码管
}
(7)SPI初始化
VoidSPI_init(void)
SPDR=(1<<6)|(1<<4)|(1<<5)|(1<<1)|(1<<0);//使能SPI主机模式,设置时钟速率为fck/128
}
(8)引脚初始化函数
Voidport_init(void)//引脚初始化函数
{PORTA=0x80;//AD通道PA0口输入模拟信号
DDRA=0x80;
PORTB=0xff;//PB输出LED灯
DDRB=0xff;
PORTC=0xff;//PC输出数码管
DDRC=0xff;
PORTD=0x00;//PD口输入按钮信号
DDRD=0x00;
}
(9)系统初始化函数
Voidinit_devices(void)//系统初始化
{CLI();
port_init();
adc_init;
T1_init;
SPI_init;
SEI();
}
(10)扫描子程序
Voidsaomiao1(void)
{unsignedinti;
Staticunsignedintj,m,k;
If(j==0)
{if(PIND|=0xFE)//判断PD0引脚功能键
for(i=0;i<<2000;i++);
if(PIND|=0xFE)
while(PIND|=0xFE);
{j+=1;
if(j>3)
j=0;}
else
saomiao2();
shuju();
if(j==1)//LED灯亮
{LED1=1;
data[3]=data[2];}//设定并存放报警上限值
Elseif(j==2)
{LED2=1;data[4]=data[2];}//设定并存放报警下限值
Elseif(j==3)
{ED3=1;data[5]=data[2];}//设定并存放给定值
}
(11)数码管、按钮子程序
Voidsaomiao2(void)//选择数码管按钮
{unsignedintp;
if(m==0)
if(PIND|=0xFD)//判断PD1引脚
for(p=0;p<<2000;p++);
if(PIND|=0xFD)
while(PIND|=0xFD);
{m+=1;
if(m>4)
m=0;}
else
saomiao3();
}
(12)判断数据增减子程序
Voidsaomiao3(void)//判断数据增减
{unsignedintq;
If(0if(PIND|=0xFB)//判断PD2引脚
for(q=0;q<<2000;q++);
if(PIND|=0xFB)
while(PIND|=0xFB);
{k+=1;}
if(PIND|=0xF7)//判断PD3引脚
for(q=0;q<<2000;q++);
if(PIND|=0Xf7)
while(PIND|=0xF7);
{k-=1;}
Elsek=0;
}
(13)数据设定存放子程序
Voidshuju(void)
{If(m==1)
data[2]+=k;
if(m==2)
data[2]+=1<<4;
if(m==3)
data[2]+=1<<8;
if(m==4)
data[2]+=1<<12;}
(14)向HC595输出数据的函数
voidxianshi(unsignedcharX)//向HC595输出数据的函数
{unsignedchari;
for(i=8;i>=1;i--)
{if(X&0x80)PORTC.5=1;elsePORTC.5=0;//先输出低位
X<<=1;
PORTC.7=0;
PORTC.7=1;
}
}
(15)显示数码管子程序
voidspihc595(void)//显示子程序
{unsignedchari;
{
{data[0]=var;//显示测量值
data[1]=data[4];//显示给定值定值
if(LED1==1)
data[1]=data[2];//显示报警上限值
if(LED2==1)
data[1]=data[3];//显示报警下限值
xs[0]=data[1]/1000%10;
xs[1]=data[1]/100%10;
xs[2]=data[1]/10%10;
xs[3]=data[1]%10;
xs[4]=data[0]/1000%10;
xs[5]=data[0]/100%10;
xs[6]=data[0]/10%10;
xs[7]=data[0]%10;
}
xianshi(weizhi[i]);//位输出
xianshi(disp[xs[i]]);//段输出
PORTC.6=0;//锁存信号低电平
PORTC.6=1;//锁存信号高电平
i++;if(i==8)i=0;
}
}
1.7、安装调试
1.7.1实验过程中遇到的问题及解决方法
热电偶模块
连接之后电路故障。
从新观察电路图发现连接错误。
重新连接之后一切正常。
1.8总结
1.8.1设计体会
通过这次对热电偶测温仪的设计与制作,让我了解了设计电路的程序,也让我了解了关于热电偶测温仪的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。
但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。
而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。
所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。
通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。
1.8.2对设计的建议
我希望老师在我们动手制作之前应先告诉我们一些关于所做电路的资料、原理,以及如何检测电路的方法,还有关于检测芯片的方法。
这样会有助于我们进一步的进入状况,完成设计
【参考文献】
【1】厉玉鸣主编,化工仪表及自动化(第三版),北京化学工业出版社,1999
【2】杨丽明,张光新主编.化工自动化及仪表.北京化学工业出版社,2004
【3】王化祥编,自动检测技术,北京化学工业出版社,2004
【4】乐新,一种基于TCP/IP协议的新型网络传感器的研究,传感器世界,2005
【5】俞金寿主编,过程自动化及仪表,北京化学工业出版社,2003