基于AVR单片机控制的通用便携光功率计设计方案

发布者:星光闪耀最新更新时间:2012-09-29 来源: 21ic 关键字:AVR单片机  通用便携  光功率计 手机看文章 扫描二维码
随时随地手机看文章

0 引言

数字光功率计是一种由单片机控制的、可测量光信号强弱的便携式仪器,是光纤通信干线铺设、设备维护、科研和生产使用的重要仪器。然而,传统的光功率计存在测量精度低,测量范围窄,便携性差等问题。针对这种情况,开发了一种由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转换。[page]

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模数转换器。文中详细介绍了自动量程转换和数据采集系统的功能及具体实现。该光功率计已经用于本专业的光电实验教学,作为辅助测量仪器,效果良好。

关键字:AVR单片机  通用便携  光功率计 引用地址:基于AVR单片机控制的通用便携光功率计设计方案

上一篇:基于ARM7、AVR、UCOSII的发电厂大型除尘控制器设计方案
下一篇:基于Atmega16L的简单音乐制作

推荐阅读最新更新时间:2024-03-16 13:09

一个avr单片机的汇编程序,注意几个宏指令
//晶振1MHz //LED接PB0 //使用定时器1,1024分频,0.5秒中断一次,LED闪烁一次 程序如下: .include m8def.inc .equ led =0 .equ flash =$60 .org $0000//中断向量表 rest: rjmp START INT0addre: ; External Interrupt0 Vector Address reti INT1addre: ; External Interrupt1 Vector Address reti OC2addre : ; Output Compare2 Interrupt Vector Address reti OVF2addre: ;
[单片机]
简述AVR单片机定时器
AVR定时器的要点介绍 M16的T1 16位定时器一共有15种工作模式,其他2个8位定时器(T0/T2)相对简单,除了T2有异步工作模式用于RTC应用外 (可以利用溢出中断和比较匹配中断作定时功能) 分5种工作类型 1 普通模式 WGM1=0 跟51的普通模式差不多,有TOV1溢出中断,发生于TOP时 1 采用内部计数时钟 用于 ICP捕捉输入场合---测量脉宽/红外解码 (捕捉输入功能可以工作在多种模式下,而不单单只是普通模式) 2 采用外部计数脉冲输入 用于 计数,测频 其他的应用,采用其他模式更为方便,不需要像51般费神 2 CTC模式 WGM1=4,12 跟51的自动重载模式差
[单片机]
AVR单片机模拟实现USB通信
简介:AVR单片机模拟实现USB通信,即AVRUSB技术,本文主要介绍了AVRUSB技术的基本原理、特点、应用,同时还详细的介绍了AVRUSB系统的单片机程序开发和计算机软件开发的方法。 AVR单片机模拟实现USB通信,即AVRUSB技术,本文主要介绍了AVRUSB技术的基本原理、特点、应用,同时还详细的介绍了AVRUSB系统的单片机程序开发和计算机软件开发的方法。 1简介 1.1AVRUSB是什么 AVRUSB技术是利用高性能的8位RISC架构的AVR单片机,使用单片机的IO口来模拟USB的通信端口,由软件来实现USB通信协议,将普通的AVR单片机模拟成一个USB低速设备,从而实现AVR单片机与计算机之间的通信和
[单片机]
<font color='red'>AVR单片机</font>模拟实现USB通信
AVR单片机——中断系统
中断的优点 中断函数只在中断触发源触发的时候才会执行,其他时间不执行. 如果不使用中断而且如果要根据某个端口的变化而作相应的函数操作,就必须不断地查询端口的信号,而中断不用,只要端口一有变化,就会系统就会自动进入中断函数, 我觉得这就是中断的目的,也是优点. 中断优先级 1) AVR单片机在同一个优先级中,中断向量入口地址越低,其优先级越高。AVR单片机在响应中断以后,会禁止系统响应其余中断。如果程序需要在某个中断服务程序中响应其它中断事件,可以在该中断服务程序中用重新使能全局中断即可。否则,AVR单片机只有在退出中断进程时,才重新使能全局中断。 2) AVR(至少是ATmega16)单片机采用固定的硬件优先
[单片机]
<font color='red'>AVR单片机</font>——中断系统
AVR单片机熔丝位的配置操作及相关解决措施
用户使用并行编程方式、ISP编程方式、JTAG编程方式都可以对AVR的熔丝位进行配置,但不同的编程工具软件提供对熔丝位的配置方式(指人机界面)也是不同的。有的是通过直接填写熔丝位位值(如:CVAVR、PonyProg2000和SLISP等),有的是通过列出表格选择(如AVR STUDIO、BASCOM-AVR)。前者程序界面比较简单,但是需要用户在仔细查询操作,会引起一些意想不到的后果,如造成芯片无法正常运行,无法再次定入ISP编程模式等。建议用户对AVR的熔丝位进行配置时,选择用户表格选择方式界面的编程软件,如BASCOM-AVR。不过版主使用的是前者PonyProg2000。 对AVR熔丝位的配置操作是比较细致的工作,用户往往
[单片机]
<font color='red'>AVR单片机</font>熔丝位的配置操作及相关解决措施
超实用的两种调试AVR单片机的方法
对于长期玩单片机的朋友都知道,程序运行BUG在所难免,重复性的调试过程永远是痛苦的,加入你对所使用的IDE应用还不是很熟悉,对于他的在线仿真调试工具使用不是很顺手,那么下边的方法可能会帮到你哦。 为了可以更好地帮助到哪些处于困难阶段的朋友,我特此针对于通用型单片机和AVR系列单片机的特点,总结了两种可以调试程序的方法,仅供于大家参考使用! If you have a better way, please leave a comment below. 方法一:通用方法:想知道程序执行到那里或者是不是到达了这里,可以在该处加上流水灯的闪烁程序。一目了然。代码实现方法如下: 开头定义一下 #define DEBUG_HE
[单片机]
一种基于AVR单片机的工频干扰滤除快速算法
摘要:提出了一种利用数字滤波器滤除工频干扰的快速算法。这种算法从AVR单片机内部硬件乘法器的特点出发,采用分配系统数法进行低通数字滤波器设计。经过VMLAB集成开发环境的仿真验证,算法速度快、代码效率高、滤波效果理想。 关键词:单片机 定点小数 FIR 工频干扰 分配系数法 VMLAB 工频干扰广泛存在各种工业现场中,其产生的途径主要包括输电馈线、照明设备、发动机以及各种电子仪器设备等。一般可以通过滤波电路消除工频干扰,但这必将增加硬件结构的复杂程度。实际上,还可以采用数字信号处理的相关算法,通过软件滤波器滤除工频干扰。软件滤波算法的采用,无疑会在简化电路结构的同时,使系统的硬件资源得到更加充分的利用,并达到降低产品成本的要求
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved