传感器与检测技术设计报告.docx
- 文档编号:28626977
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:14
- 大小:709.27KB
传感器与检测技术设计报告.docx
《传感器与检测技术设计报告.docx》由会员分享,可在线阅读,更多相关《传感器与检测技术设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
传感器与检测技术设计报告
《单片机实训》设计报告
题目:
传感器与检测技术
学院:
机电工程学院
专业:
电气自动化技术
班级:
电气122班
姓名:
赵天朋
学号:
1213239228
指导老师:
邝小磊冯建
一、实验内容
1、介绍PT100的测温原理、使用环境。
2、布置实训题目,讲解实训的内容,讲解实训的过程,实训报告的写法,实训的答辩过程;实训中使用的软件keil、wave、proteus软件介绍;焊接的技巧,焊接的安全问题。
分组。
分发线路图、元器件,分发工具。
3、进行旧电路板的拆卸,并且识别元件,挑选元件;
4、简易测试仪的焊接;故障分析,故障排除;调试;
5、程序设计,程序调试,问题分析,问题排除。
6、程序烧录,软硬件联机调试。
故障分析,故障排除。
7、实物测试。
8、分组答辩。
9、学生写报告。
二、实验目的
通过二周的实训,进行简易PT100测温仪的设计与制作实操,完成测温仪的硬件线路设计,包括检测元器件的选用,PCB板的布局,用proteus软件画图、硬件仿真;焊接电路板;用伟福编程、软件仿真、软件调试等工作,使学生能够掌握一个简单的测温系统的基本组成及应用,为今后工业控制岗位工作打下基础。
三、实验说明
PT100测温仪是根据PT1000的电阻随温度的变化而变化的特性进行测量的。
并利用OP07差动放大电路具有差分输入、单端输出、高输入阻抗和高共模抑制比等特点,将微弱的电信号进行放大。
四、硬件电路设计原理图
图1PT100测温原理图
图2单片机最小系统
图3OP07差动放大电路
1、电路板装配:
焊接画圈处
焊接后成板图
2、电路原理图:
五、软件设计
(一)程序设计框图
(二)实验程序设计
步骤:
1、单片机初始化
2、读程序
3、判断是否按设置键
4、进入显示控制程序
5、或按步骤修改参数、结束退出;
程序:
#incl
ude"at89X52.h"
sbitLCD_RS=P2^0;
sbitLCD_RW=P2^1;
sbitLCD_E=P2^2;
sbitADC_CS=P2^3;
sbitADC_WR=P3^6;
sbitADC_RD=P3^7;
#defineLCD_DATAP0
unsignedcharLcdBuf1[10]="";
unsignedcharcodeBmp001[][8]=
{
{0x06,0x09,0x09,0x06,0x00,0x00,0x00,0x00},
{0x06,0x09,0x10,0x10,0x10,0x09,0x06,0x00}
};
voiddellay(unsignedinth)
{
while(h--);//0.01MS
}
voidWriteDataLcd(unsignedcharwdata)
{
LCD_DATA=wdata;
LCD_RS=1;
LCD_RW=0;
LCD_E=0;
dellay(1000);
LCD_E=1;
}
voidWriteCommandLcd(unsignedcharwdata)
{
LCD_DATA=wdata;
LCD_RS=0;
LCD_RW=0;
LCD_E=0;
dellay(1000);
LCD_E=1;
}
voidlcd_init(void)
{
LCD_DATA=0;
WriteCommandLcd(0x38);
dellay(1000);
WriteCommandLcd(0x38);
dellay(1000);
WriteCommandLcd(0x01);
WriteCommandLcd(0x0c);
}
voiddisplay_xy(unsignedcharx,unsignedchary)
{
if(y==1)
x+=0x40;
x+=0x80;
WriteCommandLcd(x);
}
voiddisplay_string(unsignedcharx,unsignedchary,unsignedchar*s)
{
display_xy(x,y);
while(*s)
{
WriteDataLcd(*s);
s++;
}
}
voidWrite_CGRAM(unsignedcharadd,unsignedchar*char_num)
{
unsignedi;
add=add<<3;
WriteCommandLcd(0x40|add+8);
for(i=0;i<8;i++)
{
WriteDataLcd(*char_num++);
}
}
voiddelayms()
{
inti;
for(i=110;i>0;i--);
}
voiddelay1s()
{
inti,j;
for(i=1000;i>0;i--);
for(j=110;j>0;j--);
}
voidconvert()
{
unsignedlongvalue;
chari;
unsignedlongres;
inttemp,temp2;
intw;
P1=0xff;
ADC_RD=0;
for(i=0;i<10;i++);
value=P1;
res=(float)(2550000+110000*value/30)/(2550-11*value/30);
temp=(float)(res*10000-10000000)/3851-545;
temp2=temp;
if(temp>=0)
{
for(i=6;temp>0;i--)
{
LcdBuf1[i]=temp%10+48;
temp/=10;
}
}
if(temp<0)
{
w=-temp;
for(i=6;w>0;i--)
{
LcdBuf1[i]=w%10+48;
w/=10;
}
}
if(i>=0&&temp<0)
{
if(temp>-10)
{
LcdBuf1[i]='0';
i--;
}
LcdBuf1[i]='-';
i--;/*
if(i==5)
{
LcdBuf1[5]='0';
i--;
}
LcdBuf1[4]='-';
i--;
*/
}
for(;i>=0;i--)
LcdBuf1[i]='';
for(i=0;i<5;i++)
LcdBuf1[i]=LcdBuf1[i+1];
if(LcdBuf1[4]=='')LcdBuf1[4]='0';
LcdBuf1[5]='.';
LcdBuf1[7]=1;
LcdBuf1[8]='C';
WriteCommandLcd(0x84);
display_string(3,0,LcdBuf1);
ADC_RD=1;
ADC_WR=0;
for(i=0;i<10;i++)
ADC_WR=1;
delayms();
}
main()
{
unsignedchari;
lcd_init();
for(i=0;i<2;i++)
Write_CGRAM(i,Bmp001[i]);
ADC_CS=0;
ADC_WR=0;
for(i=0;i<10;i++);
ADC_WR=1;
while
(1)
{
convert();
delay1s();
}
}
六、实验结果分析
从实验测量中的数据可以看出,测量值总是比实际值相差大约-0.5~+0.5℃,经过分析原因主要有五个方面:
第一方面,温度传感器测得的数据受环境的影响;第二方面,指令运行需占用一定的时间而使得测量的数据偏大;第三方面,元器件的焊接技术对测量值有较大影响,主要元器件引脚之间的距离太小了,焊接时很容易造成短路。
第四方面,主要是实行人工测量,测量者的读数反应与测量值有偏差,测量工具不够精准,等造成测量误差。
七、实验体会
通过本次单片机实训让我受益匪浅,让我对这个书本大小的电路板有了更深刻的认
识,学会了如何使用芯片DS18B20对温度的读和写,同时对单片机的应用有更深
的掌握。
不仅在硬件上得到更进一步的理解,还在单片机C语言程序设计上更深的掌握,程序调试无数次,从中也总结出不少调试的技巧,写好一个漂亮的程序,首先需
要冷静的思考,其次需要细心的排序,排除先后主次的关系。
而且本次实训也锻炼了我们的动手能力,让我们动手焊接,培养了我们对专业学习的兴趣。
通过在这次的温度传感器的实训。
我们小组的在这三周时间里,养成了良好的合作氛围,知道了温度传感器的原理跟基本构造,也感受到了团队合作的重要性。
特别是我们组长,起到了良好的带头作用。
在制作过程中出现了很多的问题,包括温度传感器无效果,数码管无反应。
但通过我们及时讨论
八、建议
实训时间太长了,其实可以多做些实训内容的。
九、参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感器 检测 技术设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)