基于ATmega16的数字光功率计设计
数字光功率计是一种由单片机控制的、可测量光信号强弱的便携式仪器,是光纤通信干线铺设、设备维护、科研和生产使用的重要仪器。然而,传统的光功率计存在测量精度低,测量范围窄,便携性差等问题。针对这种情况,开发了一种由AVR单片机控制的通用便携光功率计,具有量程可自动转换,测量精度高,通用性强,携带方便的特点,非常适合在光信息、光通信领域使用。 1 系统原理 光功率就是光在单位时间内所做的功。该数字光功率计由微处理器、光电探测器、I/V变换器、量程自动转换、A/D转换、液晶显示等部分组成,其系统原理如图1所示。
微处理器采用AVR系列ATmega16单片机,它是基于增强型AVR RISC结构的低功耗8位CMOS微控制器。在外设方面,它具有一个可编程的UART和独立于片内振荡器的看门狗定时器等资源,支持SPI接口,允许ATmega16与其他外设或AVR单片机进行高速的同步数据传输。 系统采用硅光电池作为光电探测器,它被设计用于把入射到它表面的光能转化为电能,因此,可用作光电探测器和光电池,被广泛用于实验室和野外便携式仪器等的探测器。在该系统中,硅光电池工作于零偏状态。 自动量程转换部分通过运算放大器和多路选择开关CD4051来完成。反馈信号通过CD4051选择不同的量程,进行自动量程转换,以输出合适的电压信号。 数据采集部分通过16位精度的A/D转换器AD7705完成将模拟电压信号转换成数字信号。数据经AVR单片机ATmega16处理后转换成光功率数据,在1602液晶屏幕上显示出来。 本文设计的数字光功率计采用ATmega16来控制系统的整体工作。以硅光电池作为光电传感器,使用LM324将信号放大,通过16位精度的A /D转换器AD7705将模拟信号转换成数字信号。粗测数据的信号反馈,可使单片机控制CD4051选择不同的量程,以重新选择量程并进行A/D转换。最后用1602液晶显示光功率的大小。 2 自动量程转换 实现高精度的测量。一般通过控制输入信号的衰减/放大倍数来实现。就光功率计而言,一般输入信号都比较小,所以其量程切换基本上都是放大倍数的切换。在该系统中,量程自动转换主要由多通道开关CD4051和集成运放LM324组成。两者连接图如图2所示。
CD4051是单8通道数字控制模拟电子开关,有3个二进制控制输入端A,B,C和INH输入端,3个二进制信号选通8通道中的一通道,可连接该输入端至输出。 前端采集的数据通过16位精度的A/D转换器AD7705将模拟信号转换成数字信号。粗测数据的信号反馈,可使单片机的PB4和PB3管脚控制CD4051选择4个不同的通道,对应不同方法的倍数,以重新选择合适的量程,输出合适的电压信号进行A/D转换。 3 数据采集 数据采集采用16 b A/D转换器件AD7705完成(见图3)。AD7705是AD公司推出的低功耗16位模/数转换器,适用于测量低频模拟信号。它的特点是功耗低,精度高,动态范围广,可自校准,非常适用于工业控制、科研应用。由于使用SPI接口,占用的引脚少,因此控制起来也很方便。AD7705采集到的电压信号通过SPI接口和ATmega16进行通讯以传输数据。ATmega16作为主机对AD7705进行控制,使用的I/O口资源分别为MOSI,MOSI,SCK,SS和AD7705通信。模拟电压转换成数字信号,经ATm-ega16处理后换算成光功率数据,在1602液晶屏幕上显示出来。
4 软件结构 ATmega16对整个系统进行控制。通过PB4,PB3状态控制CD4051的通道选择;通过SPI口操作AD7705并获得数据;通过写命令和写数据控制1602液晶的显示。整个系统的软件流程如图4所示。 该系统的量程设置有4档,相邻的最大电压值是2倍关系。首先设置最大量程档,也就是先选择第一大档进行数据采样,如果当采样值小于128时,就选择第四档进一步进行放大、转换;当采样值大于128而小于256,就选择第三档进行放大、转换;当采样值大于256而小于512时,就选择第二档进行放大、转换;当采样值大于512而小于与1 024时,就选择第一档进行放大,转换。 5 数据分析 通过实验室标准光功率计对该光功率计进行了校准,为了减小误差,修正系统的线性度,在数据处理上采用了分段函数法。主要分为3段,在不同的阶段采用不同的修正系数。表1是系统数据对照表。表中的标指标准光功率计,测指测试光功率计,单位为mW。由数据可看出,误差较小,可满足实验室的一般实验需求。
6 结语 提出了一种基于ATmega16的数字光功率计系统实现方案,采用的模/数转换元件是AD公司的AD7705模数转换器。文中详细介绍了自动量程转换和数据采集系统的功能及具体实现。该光功率计已经用于本专业的光电实验教学,作为辅助测量仪器,效果良好。
|