资源描述
设计题目
光电检测系统设计-光照度计的设计
成绩
课
程
设
计
主
要
内
容
1.光辐射的相应于人眼的光谱光视效率相一致;
2.对不同方向入社的光辐射如何余弦关系,即具有余弦修正器;
3.有较大的线性范围,环境温度变化对引起的影响小;
4.具有相应键盘输入控制和结果显示。
指
导
教
师
评
语
建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。
签名: 201 年 月 日
目录
一、 功能概述
1、光度学中基本量………………………………………………5
(1)光通量定义
(2)光亮度定义
(3)光照度定义
2、 光照度计设计思路…………………………………………6
3、 照度计的余弦校正…………………………………………6
4、 框图…………………………………………………………7
5、 硅光电池……………………………………………………7
二、系统硬件总体设计方案………………………………8
三、实现方案
1、 硬件电路……………………………………………………9
2、 光谱光视效率………………………………………………9
3、 软件程序……………………………………………………11
四、调试过程及结论………………………………………14
五、心得体会………………………………………………15
六、参考文献………………………………………………17
光照度计的设计
一、 功能概述
1、 光度学中基本量
在光辐射测量中,与能量有关的量有两类:一是物理的,即客观的,叫做辐射度学量,简称为辐射量;另一类是生理的,即主观的,叫做光度学量,简称光度量。前者表示某辐射源客观上发射出的辐射能的大小,后者表示人的视觉系统主观上感受到的那部分辐射能的强度。
(1)光通量 (luminousflux)
光源在单位时间内发出的光量称为光通量,在光度学中,光通量是从辐射通量导出的量,它明确地定义为能够被人眼视觉系统所感受到的那部分辐射功率的大小的量度。单位是流明 (inmen),符号为 lm,表达式为:
ΦL = dQv /dS
(2) 光亮度(luminanee) Lv,
一个面光源,除了可以用发光强度来描述它在某一个方向上的发光能力之外,还要知道它每一单位面积在这个方向上的发光能力,以便比较两种不同类型光源的明亮程度,这就要用到亮度这个概念。它表示每单位面积上的发光强度,即:
LL =dIL /dS
光亮度的单位为坎德拉第每平方米(cd/mZ)。式中的面积,应该理解为一个面在观察方向上的正投影面积。因此,若观察方向与该面的法线夹角为 0时,上式将变为:
LL = dIL /dScos(θ)
所以,光源的光亮度可定义为:在表面一点处的面元在给定方向上的发光强度除以该面元在垂直于给定方向的平面上的正投影面积。由于
IL = DφL/dΩ
故有
LL =d2ΦL /dΩdScos(θ)
该式是光亮度的较通用的定义式。由该式可知,亮度不仅可用来描述一个发光面,而且还可以用来描述光路中的任意一个截面,如一个透镜的有效面积、一个光阑所截的面积或一个象的面积等。此外,还可以用亮度来描述一束光,光束的亮度等于这个光束所包含的光通量除以这束光的横截面和这束光的立体角。
(3)光照度
在光接收面上一点处的光照度等于照射在包括该点在内的一个面元上的光通量除以该面元的面积ds。即:
EL =dΦL / ds
2、光照度计设计思路
光照度计首先需要光电转换步骤,将光的强弱转化为电的强弱,最佳转换关系是线性关系,如果是非线性,需要定标才可。其次需要前置放大和滤波处理,使弱电信号变为可以适合单片机处理的信号。最后是单片机处理信号,并将信号发送至不同功能的芯片。如发送到显示芯片,或接受按键指令,处理信号。
环境温度对照度计的测量结果有影响,特别是实测时的环境温度与标定时的环境温度相差较大(如寒冷的冬天或酷热的夏天)的情况下,影响更为显著。在照度计中,不仅是光电池,与光电池相接的外电路,表头电阻等,均随温度而变化。因此,可通过对外电路、表头等的选择,使光电池的温度影响得到部分补偿。在对照度计进行温度修正时,应对照度计的各部件作统一考虑。湿度对照度计也有影响,为此,要求照度计的光探头有较好的密封性能,长期不用的照度计,最好能间隔一段时间通一次电。接收器容易老化,因接收器老化会直接影响到照度计的测量精确度,缩短照度计的使用寿命。此外,照度计还应有一定的响应速度,以适应变化的照度测量。由于光电传感器所产生的光电流正比于所接收的光通量,测量时须将照度计的光敏表面与被测照度的表面重合,并尽量垂直于光的照射方向。所以读数系统可直接指示出所测的照度值。
3、照度计的余弦校正
探测器对强度相等而入射方向不同的响应应符合余弦定律,即在垂直入射的方向上响应大,随着入射角的增加,其响应按余弦规律减小,当入射角等于90°时,则响应为零。这一特性称为照度计响应的余弦特性。
当用照度计进行测量时,由于探测器表面对大入射角(大于40°)入射光所反射的光辐射比小入射角要大,故测量结果不符合响应的余弦特性。为了消除大角度入射时不符合余弦特性而产生的误差,故在照度计的探测器前须加一个角度补偿器(或称余弦修正器)。补偿器可用乳白玻璃或乳白有机玻璃制成。经研究实验,通常较简单的修正器有平板状和皿状乳白玻璃两种,较复杂的有截球状、环球状、球壳状和平面型乳白玻璃四种,它们的修正效果如下表所示。
图1 修正器的修正效果比较
可以看出球壳状和平面型修正器效果最佳,而球壳状体积相对大一些,使用不方便,故平面型较好。平板状较简单,成本低,但修正效果差一些。
为了使照度计得到较理想的匹配,除可挑选合适的玻璃型号外,有时需加大玻璃的厚度或增加不同品种的玻璃,但这会降低照度计的灵敏度;玻璃过薄,会增加玻璃加工的困难,因此,在进行匹配时,要综合考虑各因素的影响。
4、框图:
光电转换
前置放大与滤波
A/D转换
单片机处理
LCD显示
图2 程序框图
5、硅光电池
光电转换采用硅光电池完成。它不需要外加电源就能直接把光能转换成成电能,而且光电流和照度成线性;它的光谱灵灵敏度与人眼的灵敏度较为接近;它的响应时间短短、性能稳定,光谱范围宽,频率特性好,转换效率高,能耐高温辐射等优点。故选择硅光电电池作为此系统的光电检测器件。
1)原理
硅光电池是一种利用光光生伏特效应制成的光电转换器件,通过将光信号号转变为电信号来检测待测量。光电池工作原原理,当光照射 P一N结时,原子受激发而产生电子一空穴对,由于电子和空穴分别向两极极移动而产生电动势,两极接入电路就能产生电流了。
硅光电池是一种直接把把光能转换成电能的半导体器件。它的结构很简单,核心部分是一个大面积的 PN结。硅光电池池响应时间短,光电池转换效率高(目前转换效率高达 27.50%的硅光电池已经研制成功)。若有 1m2的这种光电池,在足够的阳光照射下,可可以产生 100多瓦的电能。
硅光电池主要有两个方方面的应用,即作为电源和作为光电检测器件的应应用。硅光电池作为测量元件使用时,应当作作电流源,不宜作电压源。
2)此次设计所选硅光电池池的型号为 BPW34
BPW34具有高速高灵敏度的特点,所以本次设计选用了此型号的硅光电电池。系统硬件总体设计方案系统硬件总体设计方
二 、系统硬件总体设计方案
本系统的硬件电路总体设计思想是:以单片机AT89C51为核心的中央处理器,辅以外围模拟、数字电路功能模块,实现从光电传感器传来的信号测量到最后的显示输出。测量控制部分是整个系统的核心部分,是整个系统的主要功能完成部分。系统硬件原理框图如下。
图3 硬件流程图
三 、实现方案
1、 硬件电路图
图4 硬件电路图
(1)光电前置放大器
利用三级管的的放大作用,将带负载的光电池电路输出的电流放大,为了保证信号有更好的线性关系,所以将三极管接成电流转换为电压的形式。经过测量,电压放大的范围大概为0.2V到2.3V。
(2)AD转换电路
采用ADC0809模数转换芯片和AT89C51单片机,将光电池接收的光信号转换后放大的电压模拟信号转换为数字信号,然后通过单片机的控制电路将数字信号送到LCD显示屏。
(3)显示电路
此处显示电路采用了1602A液晶显示模块。
当光直射光电池时,放大的电压信号通过三极管的发射极送入AD转换器的IN0端口。因为AD的ADD A、ADD B、ADD C都接地,所以ADC0809就采集IN0端口的信号。模拟信号经过转换后向OUT-1~OUT8传送数字信号。数字信号经过总线传送到AT89C51的P1口,并读入累加器A,经过AT89C51计算后通过P0端口输出,然后控制LCD显示屏的输出。
2、光谱光视效率
人眼的视觉神经对各种不同波长光的感光灵敏度是不一样的。对绿光最敏感,对红、蓝光灵敏度较低。另外,由于受生理和心里作用,不同的人对各种波长光的感光灵敏度也有差异。国际照明委员会(CIE)根据对许多人的大量观察结果,确定了人眼对各种波长光的平均相对灵敏度,称为“标准光度观察者”光谱光视效率,或称为“视见函数”。
图5 视见函数
我们选择了型号为BPW 34 B的硅光电池,有效光照面计为7.45平方毫米。
它的光谱相应范围为350-1100纳米,其相对灵敏度与光谱的关系如下图:
图6相对灵敏度与光谱的关系
从图可知在850nm灵敏度最高,但是在明视觉下人眼在550nm是灵敏度最高,由于光照度反映是人眼对光的一种反应量,所以必须对此进行修正。通过各种查资料,我们采取在硅光电池前端加视觉函数虑光器来修正。
3、软件程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P2^1;
sbit lcdrs=P2^0;
sbit lcdrw=P2^2;
sbit adwr=P3^7;
//sbit adcs=P3^0; //oe ==gnd
sbit eoc=P2^3;
uchar code table[]="the illustion is";
uchar code table1[]="lx";
uint num,a,d,qian,bai,shi,ge,num1;
uint illusion,temp;
void init(void); //初始化函数
void delay(uint a); //延时函数
void write_com(uchar com); //写指令函数
void write_data(uchar date); //写数据函数
void display(uint d); //显示函数
void main()
{
void init(); //初始化
EA=1; //开总中断
ET0=1; //开定时器中断
TR0=1; //启动定时器
lcden=0;
/***********对1602液晶的模式进行设置***************/
write_com(0x38); //设置16*2显示,5*7点阵,8位数据接口
write_com(0x0c); //设置开显示,不显示光标
write_com(0x06); //写一个字符后地址指针加一
write_com(0x01); //显示清零,数据指针清零
while(1)
{
/*******开始不断扫描P1引脚是否有信号,并且对信号进行计算和显示********/
if(P1!=0)
{
delay(10);
if(P1!=0)//防止误判
{
adwr=0;
delay(5);
adwr=1;
delay(5);
adwr=0;
while(oec);
for(a=10;a>0;a--)
{temp=illusion*4;
temp=1000;
display(temp);//显示照度
}
};
};
}
}
/**********************初始化程序************************/
void init(void)
{
TMOD=0x01; //定时器0工作于计数方式1
TH0=(65536-5000)/256;
TL0=(65536-5000)%256; //定时时间为50ms
num=0;
// adcs=0;
// sign=0;
// temp=0;
write_com(0x80);
}
/*************延时函数每次延时50ms********************/
void delay(uint a)
{
uint b,c;
for(b=a;b>0;b--)
for(c=110;c>0;c--);
}
/************定时器中断函数*****************/
void to_time() interrupt 1
{
TH0=(65536-5000)/256; //中断函数里重新赋初值
TL0=(65536-5000)%256;
num++;
if(num==20) //每20*50ms计算一次,并且将速度显示
{
num=0;
//标志位
illusion=P1;
}
}
/***********写指令函数************/
void write_com(uchar com)
{
lcdrs=0;
//lcdrw=0;
P0=com;
//delay(5);
lcden=1;
delay(20);
lcden=0;
}
/*********写数据函数*************/
void write_data(uchar date)
{
lcdrs=1;
//delay(5);
//lcdrw=0;
P0=date;
// delay(5);
lcden=1;
delay(20);
lcden=0;
}
/*************显示函数********************/
void display(uint illusion)
{
qian=illusion/1000;
bai=illusion%1000/100;
shi=illusion%100/10;
ge=illusion%10; //速度范围为0至9999.
for(num1=0;num1<20;num1++) //显示前面一段字符
{
write_data(table[num1]);
delay(20);
};
write_com(0x80+0x41); //显示光照强度
write_data(0x30+qian);
write_com(0x80+0x42);
write_data(0x30+bai);
write_com(0x80+0x43);
write_data(0x30+shi);
write_com(0x80+0x44);
write_data(0x30+ge);
write_com(0x80+0x47);
for(num1=0;num1<2;num1++)
{
write_data(table1[num1]);
delay(20);
}
write_com(0x80);
}
四、调试过程及结论
在仿真过程中为了方便控制放大电路,这里先采用滑动变阻器来代替前置放大电路。具体的就是将滑动变阻器接电源和地,将滑动端接入AD转换器的IN0端口。
图7 电压为零时的仿真图
从图中可看出,输入电压最小为零时,显示屏显示的照度值就为0lx。
图8 电压最大时仿真图
从上图中可看出,输入电压最大时,显示屏显示的照度值为255lx。
在焊电路板的过程中,开始时用两个控制端控制LCD显示屏,发现效果不太好,后来改为三个端口控制。在调试过程中,接上电源,发现LCD没有反应,检查电路发现是LCD的数据输入端和AT89C51的P0接反了。改正上述错误后,显示屏亮了,可发现显示的乱码而且显示很不稳定,检查电路后发现是电路中某些接触点接触不良。将这些接触点重新焊了一遍,显示屏终于显示了照度值,但数值很不稳定,从十几勒克斯到两百多勒克斯无规律跳变,可能是AD输出出错,检查电路,确实的AD的OUT端与89C51的P1端口接反了,导致输出数值放大了几百倍,因此出现微弱信号变化就使数值改变很大。改正此处电路后,终于显示了正常稳定的照度值。
五、心得体会
通过此次课程设计,使我更加扎实的掌握了有电路设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了常用元件的识别和测试以及如何提高电路的性能等等。
我认为,在这学次课程设计中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在课程设计中,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。
实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的 配合才能换来最终完美的结果。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
六、参考文献
(1)《光电检测技术与应用》 郭培源 付 扬 编著
(2)《数字电路与逻辑设计》 林 红 主编
(3)《单片机原理及其接口技术》 胡汉才 编著
(4)《模拟电子技术基础教程》 华成英 主编
展开阅读全文