基于Si光电池的照度计设计与调试方案

上传人:大米 文档编号:548629794 上传时间:2023-10-21 格式:DOC 页数:23 大小:2.05MB
返回 下载 相关 举报
基于Si光电池的照度计设计与调试方案_第1页
第1页 / 共23页
基于Si光电池的照度计设计与调试方案_第2页
第2页 / 共23页
基于Si光电池的照度计设计与调试方案_第3页
第3页 / 共23页
基于Si光电池的照度计设计与调试方案_第4页
第4页 / 共23页
基于Si光电池的照度计设计与调试方案_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于Si光电池的照度计设计与调试方案》由会员分享,可在线阅读,更多相关《基于Si光电池的照度计设计与调试方案(23页珍藏版)》请在金锄头文库上搜索。

1、基于Si光电池的照度计设计与调试方案1 技术指标(1) 要求系统测量范围为0-200lx,测量精度达到1lx;(2) 设计光电池输出信号处理电路,要求可以控制处理后的电压幅度;(3) 设计照度计硬件电路系统,要求系统各个模块能够正常工作;(4) 设计照度计软件控制系统,要求系统整体工作稳定;(5) 给设计系统定标,要求测量结果误差在1%以内。2 设计方案及其比较 当光电池的光敏面收到光照射时,PN节耗尽区内的光生电子与空穴在内建电场力的作用下分别向N区和P区运动,在闭合的电路中产生光电流。首先将光电流经过I/V变换和电压放大后形成直流电压信号,其次通过模数转换电路将处理得到的直流电压信号转换为

2、数字电压信号,再通过单片机处理后得到可以反应光照度的数字信号,最后通过LCD实时显示出来。照度计的系统框图如图1所示。图1 照度计系统框图2.1 方案一 通过电阻转换的方式进行I/V转换,如图2,之后将电压放大后的直流电压信号通过由ADC0809构成的A/D转换模块得到数字电压信号,然后,通过单片机得到可以反应光照度的数字信号,最后,通过LED数码管实时显示出来。图2 电阻转换模块2.2 方案二 通过三极管构建放大电路得到电压信号进行I/V转换,如图3,之后将电压放大后的直流电压信号通过由ADC0809构成的A/D转换模块得到数字电压信号,然后,通过单片机得到可以反应光照度的数字信号,最后,通

3、过LED数码管实时显示出来。图3 三极管转换模式2.3 方案三 通过集成运放芯片构建放大电路得到电压信号进行I/V转换,如图4,之后将电压放大后的直流电压信号通过由ADC0809构成的A/D转换模块得到数字电压信号,然后,通过单片机得到可以反应光照度的数字信号,最后,通过LED数码管实时显示出来。 图4 集成运放转换模式2.4 方案比较三种方案各有优缺点,方案一适合在电流较大的情况下使用,方案二适合在电流变换范围小的情况下使用,方案三适用范围广,但成本会提高很多。由于此次课程设计电路板上已经有运放芯片,故采取方案三。3 实现方案3.1 硬件部分系统的硬件由I/V变换模块、光电池前置放大模块、A

4、/D转换模块、单片机控制模块以及数码管显示模块组成,如图5,Proteus仿真图如图6所示。当光电池的光敏面收到光照射时,PN节耗尽区内的光生电子与空穴在内建电场力的作用下分别向N区和P区运动,在闭合的电路中产生光电流。因为光电流需要转换为电压信号,才能通过数码管显示,所以需要进行I/V变换。但是,所得的电压值过小,不宜测量,故需要电压放大模块将其放大为直流电压信号。其次,数码管显示的是数字信号,所以,需要将放大得到的直流电压信号进过A/D转换模块转换为数字电压信号。最后,通过单片机处理后得到可以反应光照度的数字信号,并通过数码管实时显示出来。图5 系统电路图图6 总电路图1 光电池和电压放大

5、及I/V转换模块本系统选用的硅光电池光谱响应波长一般为0.41.1微米,峰值响应波长为0.9微米,其特性曲线如图7所示。在不同光照下,硅光电池有不同的电信号输出,且二者之间具有单值对应关系,因此,可以通过检测其输出电信号并根据其输出特性关系,得到对应的光照度信息,以达到光照度检测的目的。图7 硅光电池光谱响应特性曲线 该模块使用LM358运算放大芯片实现,如图8所示,该芯片引脚如图9所示,可以实现I/V变换,即将光电流信号转换为直流电压信号,并且进行放大。图8 电压放大及I/V转换模块图9 LM358引脚图 2 A/D转换模块 该模块由PCF8591芯片实现,如图10所示,该芯片引脚如图11所

6、示,可以实现A/D转换,将直流电压信号转换为数字电压信号。 PCF8591各引脚功能如下: AIN0、AIN1、AIN2、AIN3:模拟信号输入端; A0、A1、A2:引脚地址端; VDD、VSS:电源端; SDA、SCL:I2C总线的数据线、时钟线; OSC:外部时钟输入端,内部时钟输出端; EXT:内部、外部时钟选择线,使用内部时钟时EXT接地; AGND:模拟信号地; AOUT:D/A转换输出端; VREF:基准电源端;图10 A/D转换模块图11 PCF8591引脚图 3 单片机控制模块 该模块由89C51芯片实现,如图12所示,89C51引脚图如图13所示。该模块通过芯片内部的程序控

7、制驱动PCF8591芯片并采集模数转换后的数字信号,对采集后的数字信号进行处理,控制数码管显示系统检测得到的照度值。图12 单片机系统图13 89C51引脚图 4 数码管显示系统及锁存器 该模块由芯片74HC573和数码管实现,如图14,74HC573引脚图如图15所示。数码管段选使用573锁存器,因为单片机引脚直接驱动功率不太够。图14 数码管显示系统及锁存器图15 74HC5733.2 软件部分程序部分代码如下:1 main.c/* * 普中科技-* 实 验 名 : AD显示试验* 实验说明 : 使用数码管显示AD读取到电位器的电压值* 连接方式 : 见连接图* 注 意 : */#incl

8、ude#includei2c.h/-定义使用的IO-/#define GPIO_DIG P0sbit LSA=P22;sbit LSB=P23;sbit LSC=P24;sbit LE=P22;/-定义PCF8591的读写地址-/#define WRITEADDR 0x90 /写地址#define READADDR 0x91 /读地址/-定义全局变量-/unsigned char code DIG_CODE17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5

9、、6、7、8、9、A、b、C、d、E、F的显示码uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char DisplayData8;/用来存放要显示的8位数的值/-声明全局函数-/void DigDisplay(); /动态显示函数void Pcf8591SendByte(unsigned char channel);unsigned char Pcf8591ReadByte();void Pcf8591DaConversion(u

10、nsigned char value);void DigDisplay();/* 长延时函数*/void delay(uchar z)uchar x,y;for(x=z;x0;x-)for(y=50;y0;y-);/* 函 数 名 : main* 函数功能 : 主函数* 输 入 : 无* 输 出 : 无*/void main()unsigned int adNum,n;uint b1,b,g,s;int time1;float value;uchar date10;while(1)time1+; if(time1%15)Pcf8591SendByte(0);datetime1%15 = Pcf

11、8591ReadByte()*2;/-显示电位器电压-/Pcf8591SendByte(0); /发送电位器转换命令if(time1=150) time1=0;/adNum = Pcf8591ReadByte()*2;/将转换结果读走adNum = (date0+date1+date2+date3+date4+date5+date6+date7+date8+date9)/10.;/-我们8591每读取到一个1就表示5/256V,所以要知道电压值就乘以0.01953-/value = adNum * 0.01953/1.3; /转为电压值adNum = value * 1000; /保留两位小数n=adNum; / n=n*500./255;/ n=123; b1=n/1000; b=n%1000/100; s=n/10%10; g=n%10; LE=1;P0=0xfe;P1=tableb1;delay(10);P0=0xfd;P1=tableb;delay(10);P0=0xfb;P1=tables;delay(10);P0=0xf7;P1=tableg;delay(10);/* 函 数 名 : Pcf8591SendByte* 函数功能 : 写入一个控制命令* 输 入 : channel(转换通道)* 输 出 : 无*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 园林工程

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