历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2020年02月01日 | 基于Atmega16单片机的PSD数据采集控制电路设计

2020-02-01 来源:elecfans

根据高精度光电位置灵敏探测器(PSD)的工作原理及输出特性,本文介绍了一套基于单片机技术的PSD输出信号数字采集电路的设计方案。通过Atmega16型单片机控制AD1674模/数转换、AD7501多路转换等实现对PSD输出模拟信号的数字化转换和采集。电路结构简单、成本低廉、体积较小,广泛适用于各实验室的PSD输出信号采集模拟实验。


0 引言

PSD作为一种精密的光电位置传感器,具有灵敏度高、响应时间短、位置分辨率高、光谱响应范围大等特点,因此被广泛应用于现代光电检测技术中,尤其是高精度、高速度的数据采集技术中。如何在极短的响应时间内实现多数据的采集,成了采集PSD输出数据的关键。本文基于单片机技术,设计搭建了一套高速的PSD输出数据采集及控制电路,通过在实验室条件下对PSD输出数据进行采集,从而为后续的PSD定位精度以及抗干扰研究奠定理论基础。


1 PSD 的工作原理

光电位置敏感器件PSD(Position SensiTIve Detector)是一种基于横向光电效应、连续分布的半导体位置探测器件,能快速、准确给出入射光点在光敏面上的位置,即PSD输出的信号与光点在光敏面上的位置有关。如图1所示,表面P+层为感光面,两边各有一信号输出电极。中间为I层,底层的公共电极用于加反向偏压。当光线入射到光敏面上时,由于与结面平行的横向电场作用,光生载流子形成向两端电极流动的电流X1 和X2,且总电流X0 = X1 + X2.

基于Atmega16单片机的PSD数据采集控制电路设计

当入射光斑与两电极的间距发生变化时,两电极的输出电流也随之变化,从而实现了位置测量功能。


如图2 所示,如果PSD 的面电阻是均匀的,且阻值R1 和R2 远大于负载电阻RL,则R1 和R2 的值仅取决于光点的位置,即:

基于Atmega16单片机的PSD数据采集控制电路设计

式中:L 为PSD 中点到信号电极的距离;x 为入射光点到PSD中点的距离。

将X0 = X1 + X2 代入式(1),即可得到光点坐标:

显然上式与入射光强X0 无关,这就是一维PSD 的定位原理。二维PSD的基本原理与一维PSD相同,只是计算公式不同。


2 PSD 的选取

本文选取的是瑞典SiTek公司出品的SPC01光电位置传感器。它是一款二维两面分流型PSD,采用PSD使用厚膜技术制造,将PSD 传感器与处理电路集合为一体,处理电路只有前置放大、加法器和减法器,其处理电路框图如图3所示。

基于Atmega16单片机的PSD数据采集控制电路设计

将输出电压Diff X、Diff Y 和Sum X、Sum Y 与二维位置的关系式为:

因此,采集对象为Diff X、DiffY、Sum X、Sum Y 四个输出量,通过对四输出量的采集,便可运用原理运算来实现PSD在二维坐标下的位置数据。


3 数据采集及控制电路

基于单片机的PSD 数据采集及控制电路由Atmega16单片机、AD1674模/数转换芯片、AD7501多路转换开关、MAX232 串行通信芯片等组成。


3.1 多路转换开关

AD7501 是一个8 通道多路转换开关,其功能是通过三个二进制的地址线来选择一个有效的输入。其具体连接关系如图5所示。

基于Atmega16单片机的PSD数据采集控制电路设计


推荐阅读

史海拾趣

问答坊 | AI 解惑

考研的兄弟们要准备好承受

后天就是考研的日子了,心里觉得沉甸甸的。那么多人对这两天的考试寄予厚望,把自己的前途押在上面。我似乎已经看见,有那么多人未来要失望。         没考上的要失望,考上的又能怎么样?以我的经验来看,工作单位 ...…

查看全部问答>

[转帖]ARM 集成开发工具介绍

希望对刚开始学嵌入式,需要用到ADS的朋友有所帮助 本文转引自 飞凌嵌入式 技术论坛 http://www.witech.com.cn/ ARM ADS 全称为 ARM Developer Suite 。是 ARM 公司推出的新一代 ARM 集成开发工具。现在 ADS 的最新版本是 1.2 ,它取代了早期的 ...…

查看全部问答>

单独提问:WINCE6读写寄存器很严重的问题

有很严重的问题...不知道原因为何: 加载自己的dll驱动,当作访问寄存器的介面(就像hjb的读写小工具) 原以为搞定,但其实错了. 我的平台:OMAP3530 所以以OMAP为例: 访问GPIO是可以的 例如位址:OMAP_GPIO6_PH 0x49058000 读取状态,写入数值都 ...…

查看全部问答>

懂ARM的进来

  有人学习过ARM吗? 能不能给点建议啊?…

查看全部问答>

如果先学C++好吗

现在我只会汇编,想学C++ 因为听说C++可以编写所有的程序 我有一点C的基础,但只是在学校的一点皮毛 现在想自学C++,不知道会不会很困难?? 希望大家给点意见…

查看全部问答>

求助!关于eZ430RF2500的疑问。。。

我是一名新手,刚刚接触单片机,实习接触到了eZ430RF2500的板子。 请问demo程序里的RSSI值是什么单位呢  我把两块板子靠很近的时候是38  是根据什么算的呀  最大值是多少?…

查看全部问答>

PROTRL99SE中的问题

相向大家求教个问题PROTEL99SE中PCB元件在布局的时候怎么让相同类型的元件对齐,歪歪扭扭不好看,还有怎么隐藏文本框…

查看全部问答>

铺铜上打的过孔不是是越多越好呀

铺铜上打的过孔不是是越多越好呀   他们之间的距离是不是最好保持在多大?…

查看全部问答>

avr 单片机读取编码器数据

最近学习了一下avr单片机,开发环境用的是AS6.0,由于AS6.0相对于以前的AS4有较大更新所以开始还是遇到一点困难的。单片机嘛和430差不多。 用avr单片机读取光洋的10位集电极输出的绝对值编码器然后通过串口把数据传送到电脑,主要涉及的东西就是av ...…

查看全部问答>

PIC单片机TMR2的设置

各位大侠,小白最近在自学PIC单片机,但是遇到不会的了,PIC16F877A的TMR2定时器中的PR2怎么设置啊?有没有计算公式啊,在网上找了一圈,没有找到,听别人说,要用软件仿真试试,感觉太慢了。实在找不到,故跑来问问坛子里的大侠。不胜感激!…

查看全部问答>