基于ATC单片机的光功率计的设计

上传人:012****78 文档编号:142026547 上传时间:2020-08-15 格式:DOC 页数:15 大小:909KB
返回 下载 相关 举报
基于ATC单片机的光功率计的设计_第1页
第1页 / 共15页
基于ATC单片机的光功率计的设计_第2页
第2页 / 共15页
基于ATC单片机的光功率计的设计_第3页
第3页 / 共15页
基于ATC单片机的光功率计的设计_第4页
第4页 / 共15页
基于ATC单片机的光功率计的设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于ATC单片机的光功率计的设计》由会员分享,可在线阅读,更多相关《基于ATC单片机的光功率计的设计(15页珍藏版)》请在金锄头文库上搜索。

1、基于ATC单片机的光功率计的设计 作者: 日期:基于AT89C52单片机的光功率计的设计1、 背景概述随着技术的不断进步激光技术在各行业中得到了广泛的应用,对光功率测量技术也提出了更高的要求。传统的光功率测量系统设计是在探测器输出信号后,经放大、AD转换,直接数字显示,同时有调零电路、定标电路,对于光电型还有波长选择开关。随着电子技术的发展,这种设计方法显然已经过时,当前的设计使用单片机技术,或者使测量电路和微机接口、软件和硬件相结合,实现智能测量,使采集和处理测量数据由单片机完成而不需要人来操作,可以在特殊的环境中完成测量。光功率定义光功率是光在单位时间内所做的功。光功率常用单位是毫瓦(mW

2、)和分贝(dB),其中两者关系为lmW=0dB,而小于1mw 的分贝为负值。例如,在光纤收发器或交换机说明书中,有其产生的发光和接收光功率,通常发光小于0dB。接收端所能够接收的最小光功率称为灵敏度,能接收的最大光功率减去灵敏度的值称为动态范围,发光功率减去接收灵敏度是允许光纤损耗值。光功率计的设计要点针对实际应用,要选择适合的光功率计,应该关注以下各点:(1)选择最优的探头类型和接口类型。(2)评价校准精度和编写校准程序,与光纤和接头要求范围相匹配。(3)确定这些型号与测量范围和显示分辨率相一致。(4)具备直接插入损耗测量功能。二、实验目的和意义“光电子测量设计”是电子科学与技术专业的必修实

3、践环节,该课程是以测量为主线,应用光电子技术解决一个测量问题。学生通过具体解决测量问题的训练过程,理解测量的基本概念,掌握应用光电子技术解决测量问题的基本方法,学会测量误差分析、数据处理等。该课程对于培养有计量特色的光电子技术人才十分重要。基于光电转换器件的光强度的测量,设计光接收电路,并进行光电转换,再设计放大电路、滤波电路、AD 转换电路及微处理器电路,对测量光的光强度进行标定,最终实现光强度的测量,系统要求精度为 1mW。三、方案设计与比较方案一:基于光电二极管的光功率测量 1)光电探头的选择:光电二极管:PD333-3C响应波长为4001100nm,具有高响应速率、高光电灵敏度等特性。

4、 2)AD转换芯片的选择:TLC549是8位串行A/D转换器芯可与通用微处理器、控制器通过CLK、CS、DATA OUT三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17s, TLC549为40 000次/s。总失调误差最大为0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+VREF-1V,可用于较小信号的采样。方案二:基于硅光电池的光功率测量1)光电探头的选择:硅光电池:BPW34具有高光电探测率、比较大的光敏面积、高光电灵敏度,快速响应时间、体积小等特点。2)AD转换芯片的选择:(图1)A

5、DC0809 是8 位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成(见图1)。多路开关可选通8个模拟通道, 允许8 路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完 的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。方案三:采用集成光强感应芯片采用已经有的集成光强感应芯片,如下图所示。BH1710FVC内置了16bitAD转换器,可对广泛的亮度进行1勒克斯的高精度,内置A/D转换器,测定照明度数字值可以直接输出。输出采用I2C BUS接口可以直接与单片机通讯。方案的比较与选择:方案

6、一的AD芯片管脚比较少,同时有4MHz片内系统时钟和软、硬件控制电路,芯片的功能能够满足设计的要求,而且使用简单、功能强大。而AD0809使用时还要使用外部时钟,同时还要外接逻辑器件。在使用光电和光伏探测器件的功能上是基本一致的,就是频带响应不一样,对于可见光的光功率的测量二者都可以用。所以采用方案一。四、实验器件光功率计探头(光电传感器),AT89C52单片机,电阻,电容,晶振,1602液晶屏,导线若干。5、 光功率测量原理1、 原理框图2、各模块功能详解1)光功率计探头光功率计探头,是光信号转换为电信号的核心部件。探头带有光电传感器,用来接收被测光源的辐射并将其转换为电流信号。探头采用双线

7、正负两个端口输出。当被检测光源强度发生变化时,传感器输出的电流会随之改变。我们通过对电流量变化进行转换分析最终获得外部光源的光功率变化参数。2)IU变换光功率探头输出小电流信号。电流信号与电压信号相比,长距离传输抗干扰性能较好。但是由于本次试验距离较短,同时为了与后面电压放大器相匹配,所以要转换为电压信号。本次设计使用LM358N芯片连接I/U变换电路和放大电路。连接时,光功率探头的输出正端口接入转换电路输入端,负端口与IU变换电路共地连接,如图一所示。 图一,I/U变化电路3) 运算放大电路I/U变换以后输出的信号很微弱,大概是毫伏的量级,要对信号后期处理,首先要进行放大。由于本次试验对电路

8、精度要求不高,这里只设计了一级放大。电路图如图二所示。图二,运算放大电路4) 低通滤波电路本实验所得的信号为低频信号,故在进行A/D转换之前要滤除高频信号,我们用两个电容组成的无源低通滤波器作为被刺实验的滤波电路。电路图如图三。图三,低通滤波电路5) A/D转换电路本实验采用TLC549CD芯片实现A/D转换。TLC549是 TI公司生产的一种低价位、高性能的8位 A/D转换器,它以8位开关电容逐次逼近的方法实现 A/D转换,其转换速度小于 17us,最大转换速率为 40000HZ,4MHZ典型内部系统时钟,电源为 3V至 6V。它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的

9、测控应用系统。当/CS变为低电平后, TLC549芯片被选中, 同时前次转换结果的最高有效位MSB (A7)自 DATA OUT 端输出,接着要求自 I/O CLOCK端输入8个外部时钟信号,前7个 I/O CLOCK信号的作用,是配合 TLC549 输出前次转换结果的 A6-A0 位,并为本次转换做准备:在第4个 I/O CLOCK 信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个 I/O CLOCK 信号的下降沿使片内采样/保持电路进入保持状态并启动 A/D开始转换。转换时间为 36 个系统时钟周期,最大为 17us。直到 A/D转换完成前的这段时间内,TLC549

10、的控制逻辑要求:或者/CS保持高电平,或者 I/O CLOCK 时钟端保持36个系统时钟周期的低电平。由此可见,在自 TLC549的 I/O CLOCK 端输入8个外部时钟信号期间需要完成以下工作:读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次 A/D转换开始。TLC549时序图TLC549与单片机连接图如下所示模拟信号从2号脚输入,6号脚输出数字信号。6) LCD显示电路数字信号经过单片机运算后要通过液晶显示出来,本实验使用的是1062液晶屏显示,1062与单片机连接图如下所示。1062管脚六、完整电路原理图设计基于上述思想设计出的完整电路图如下所示。七、程序设计现列出

11、单片机程序关键程序代码:#include#include#define uchar unsigned char#define uint unsigned int#define ulong unsigned longchar table116= AD: 0000 ;char table216= 00.00 uW ;uchar time,a;uint Volt,AD;ulong POW;int s; sbit lcdrs=P07;sbit lcdrw=P06;sbit lcden=P05;sbit CS=P37; /片选sbit DO=P36; /数据输出sbit CLK=P35; /时钟 voi

12、d delay(uint z)/延时函数uint x,y;for(x=z;x0;x-)for(y=120;y0;y-);void write_com(uchar com) /写指令函数lcdrs=0;lcdrw=0;P2=com;lcden=1;delay(2);lcden=0;void write_data(uchar date) /写数据函数lcdrs=1;lcdrw=0;P2=date;lcden=1;delay(2);lcden=0;void init() /初始化函数lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);wri

13、te_com(0x01); unsigned char TLC549(void) /AD转换,返回结果 uchar i,temp;CS=1;CLK=0; CS=0;/拉低CS端 DO输出最高位 _nop_(); _nop_(); for(i=0;i8;i+) temp0;i-) _nop_(); /延迟17usreturn(temp); void Data_Conversion(void) /AD 读数转十进制函数AD=TLC549();if(a5)s=s+AD;a+;if(a=5) table18=s/1000+0;table19=s/100%10+0;table110=s/10%10+0; table111=s%10+0;Volt=AD*100/255*5;POW=(-0.4140)*Volt*Volt+100*10.2729*Volt+10000*1.2273;POW=POW/100;table24=POW/1000+0;table25=POW/100%10+

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号