历史上的今天
返回首页

历史上的今天

今天是:2025年04月02日(星期三)

正在发生

2021年04月02日 | 一种LED点阵模块的感光屏设计及系统实现

2021-04-02 来源:eefocus

根据光电效应,PN结在光的激励下可以改变其电阻率,而LED也是PN结,那么能否利用LED的PN结特性完成点阵感光屏呢?经过简单的实验探讨,我们发现LED本身就具有很好的感光能力,这样一来,感光屏就可以完全利用LED的感光特性来实现。本文就利用一块8×8的点阵屏,结合C8051F020单片机实现了一块具有感光功能的点阵屏,如图1所示。

图1


1 LED的感光原理


作为光电探测器的LED能够工作在两种检测模式下:光伏模式(在外界光的作用下器件有产生电压的能力)和光导模式(器件的导电性受外界光的控制)。在两种检测模式下产生的光电压或者光电流通常大约是普通光电二极管的1/100~1/10,一般需要借助于运放和ADC。而在没有运放和ADC的情况下,能否获取LED的光电流呢?事实上利用二极管本身的内电容(通常为pF级),带有高阻态的三态双向I/O口及内部数字计数器的单片机也可以用来对其所产生的光电信号进行很好的测量。


最简单的实现的方法如图2所示,通过单个LED的光延时来实现。它由一个LED连接两个单片机的引脚构成,LED发光的同时也测量入射光强并且表明是否超过预先已定义的阈值。

图2

图3

图4


工作在感光模式下的LED被快速充电到+5 V(100~200 μs)。第一步如图3所示,电荷被二极管的内电容(通常为10~15 pF)所维持,然后,P1脚切换到高阻输入模式(大约1015 Ω的阻抗)。第二步,在反向偏置条件下,LED的可以等效为一个电容与一个电流源iR(Φ)的并连,电流源中的电流为光电流,它随光强Φ而变化,如图4所示,P1脚的漏电流iL(很小,通常为0.002 pA)与通过二极管的在正常的环境光下产生的50 pA典型光电流iR(Φ)相比,可以忽略不计。经过分析后,可知Cr的放电过程可以用以下公式来表达:

若iR(Φ)是一常量,则上式可以变为:

式(2)表明vP1(t)随时间t 线性的减少到0,利用单片机的16位定时/计数器计时,每隔一段时间轮询P1引脚输入的逻辑电平vP1(t),直到变为逻辑“0”的门限电压VTR (约2.2 V)为止。衰减时间Td(通常测得为μs级)与检测到的光量成反比,由此,能够计算出二极管的光电流iR(Φ)。经分析,Td可以表示如下:

式中,NTCNT代表计数器计数的整数值,ftclk为计数器时钟频率,Np为缩放因子,fclk为主时钟频率。当接收到的光量增加的时候,Td减小,二极管放电加快;而当接收到的光量减少时,Td增加,二极管放电减慢。通过测量发光二极管的开和关的时间Td,能够发现并补偿环境光所导致的误差。由ftclk即可测量Td,且可以通过选择合适的Np来匹配单片机时钟。


如果延迟时间长于或短于指定的门限值Tdcr(关键时间),LED接通并发光。比如通过闪烁来警告,第三步如图3所示,单片机另外的一些引脚能被用来作为延时输出或者光线控制PWM输出。当然,测出时间大小,是为了得到P1脚的电压大小vP1(t),而事实上,对于实现感光点阵屏的来讲,并不需要知道vP1(t)的具体大小,仅利用它来作为LED内电容充放电时间的参考。根据以上分析可知,不管光强大小如何,衰减时间Td都很小,于是通过Td时间后的信号衰减,即可获得高低电平信号。


2 感光屏系统的实现


2.1 器件选择


根据以上原理,LED接收的入射光的波长与其发射光波长相等的时候,系统有最好的灵敏度,所以为了增强系统的灵敏度,采用发射光波长和点阵屏差不多的LED制作成发光笔。


对于点阵屏,选用了TOP23088DU与SZ420788K两种不同大小的点阵模块做对比测试。其中,TOP23088DU模块的像素点LED直径为5 mm,像素间距7.62×7 mm,模组尺寸 60.2×60.2 mm,像素点透明;SZ420788K模块的像素点LED直径为2 mm,像素间距 2.5×7 mm,模组尺寸 20.2 mm×20.2 mm,像素点半透明。两种模块通电测试均为共阴发红色光的点阵模块。


C8051F020 MCU是高集成度的混合信号片上系统,有按 8 位端口组织的 64 个数字I/O引脚(C8051F020)。低端口(P0、P1、P2 和 P3)既可以按位寻址也可以按字节寻址。高端口(P4、P5、P6和 P7)只能按字节寻址。所有引脚都耐 5 V电压,都可以被配置为漏极开路或推挽输出方式和弱上拉。端口 I/O单元的原理框图如图5所示。


图5


图6


由图5中I/O口结构可知,C8051F020具有漏极开路状态,完全可以满足测量所要求。2.2系统构成考虑到实验的方便,用8×8点阵,并采用常见的行列式扫描结构,所以共需要16个I/O口,这里考虑使用P0、P1口。系统结构如图6和图7所示。

图7


2.3 系统实现


根据上述原理,结合具体的LED点阵屏,程序流程如图8所示。

图8


由图6中的矩阵所示,先将P0口全部置高电平,然后轮流对每一列进行置低电平、高阻态、延时、检测是否为低电平、反转点亮LED的操作,完成对8×8=64像素点阵的操作。由于单片机操作速度很快,而且LED的滚降时间很快,所以每完成一次操作,可以很快在点阵屏上形成一幅文字画面。


3 测试结果


① 两种模块的对比,通过对TOP23088DU与SZ420788K两种不同大小的点阵模块做对比测试发现,由于TOP23088DU屏的像素点是全透明的像素点,而SZ420788K虽小, 但像素点为半透明像素点, TOP23088DU屏明显对入射的红光更为敏感,实现效果更好。


② 功能实现: 可用光笔在点阵屏上连续扫描, 观察到点阵被点亮;可在点阵屏上写入汉字笔画擦除,逐个显示及其移动;可以在屏上全部点亮后,通过扫描熄灭。用示波器观察,可以明显检测到在充放电的一瞬间出现的脉冲电压。


结语


本文所述的LED感光屏的具有操作简单、成本低、稳定性较好的优点。利用PN结光电效应的原理发掘了普通LED的更多功能,既可以作为发光元件,也可以作为感光元件,从而为开发低成本的多功能显示屏提供了很好的参考。当然,该感光屏也有些许不足,如点阵像素点较多时延时明显,感光灵敏度、抗干扰性等也有待进一步提高。

推荐阅读

史海拾趣

HEICO Corporation公司的发展小趣事

随着业务的不断发展,HEICO Corporation开始在全球范围内布局其电子业务。公司建立了完善的供应链管理体系,与全球供应商建立了长期稳定的合作关系。这种全球化布局不仅有助于HEICO获取更优质的原材料和零部件,还降低了生产成本和风险。同时,HEICO还注重本地化生产和服务,以满足不同地区客户的需求。通过优化供应链管理和提升本地化服务能力,HEICO在电子行业中保持了强劲的增长势头。

Abbotec Incorporated公司的发展小趣事

随着电子行业的快速发展,市场竞争日益激烈。Abbotec在面对市场变革时,果断进行了战略调整。公司加大了对新兴技术的研发投入,同时优化了生产流程,降低了成本。这些措施使得Abbotec在激烈的市场竞争中保持了稳健的发展态势。

Dionics Inc公司的发展小趣事

近年来,随着全球贸易环境的变化和市场竞争的加剧,Dionics Inc也面临着前所未有的挑战。然而,在公司管理层的坚强领导下,全体员工团结一心、共克时艰。公司不仅成功应对了各种挑战和困难,还通过一系列创新举措实现了业务的稳步增长。展望未来,Dionics Inc将继续坚持创新驱动的发展战略,努力成为电子行业的领军企业之一。

EasySync公司的发展小趣事

随着数字化和智能化技术的不断发展,EasySync公司也加快了数字化转型的步伐。公司引入先进的生产管理系统和智能制造设备,实现了生产过程的自动化和智能化。同时,公司还加强了对大数据和人工智能技术的研发和应用,为客户提供更加智能化、个性化的同步解决方案。

Cellergy公司的发展小趣事

在电子行业的快速发展中,Cellergy公司以一项创新技术打破了行业内的常规。该公司成功研发出了一种新型电容器,其性能远超市场上同类产品。这一技术突破不仅为Cellergy公司赢得了大量订单,还使其在电子行业中的地位得到了显著提升。随着技术的不断完善和市场的不断拓展,Cellergy公司逐渐成为了电容器领域的佼佼者。

Accetek公司的发展小趣事

随着产品质量的不断提升和市场口碑的积累,Accetek公司开始积极拓展国内外市场。公司参加了多个国际电子展览和交流活动,与全球多家知名企业建立了合作关系。同时,公司还加强了品牌建设和市场推广工作,通过广告宣传、媒体合作等方式提高品牌知名度和美誉度。这些举措有效地提升了公司的市场竞争力,为公司的快速发展提供了有力支持。

问答坊 | AI 解惑

MC9S08JM60技术手册USB部分中文翻译

这是从网上找到的MC9S08JM60单片机USB部分的翻译,该单片机是飞思卡尔推出的集成USB的S08单片机,对于需要实现USB连接的项目来说,是不错的选择。翻译的不是很好,有的地方还是要参考英文手册 …

查看全部问答>

51单片机扩展用并口方式访问外围器件的最简单方法

今天重新温习了51单片机扩展RAM、ROM,收获大大的有,以前把51的一本书看了几遍,还是没有弄清楚,没有弄清楚51访问外部ram、rom的时序,到今天才发现,访问外部ram、rom的时序是有访问指令决定的。       当用并行方式 ...…

查看全部问答>

vc 添加程序的快捷方式到启动菜单里[转载http://blog.sina.com.cn/s/blog_5fd6e7ac01

vc 添加程序的快捷方式到启动菜单里#include <io.h>HRESULT CCreatescDlg::CreateLink(LPCSTR lpszPathObj, LPCSTR lpszPathLink, LPCSTR lpszDesc){    HRESULT hres;    IShellLink* psl;    h ...…

查看全部问答>

请教关于奇晶的2.83寸OLED显示屏:C0283QGLC-T(采用的是S6E63D6驱动IC)的驱动问题----有人做过么?

原来用的三星的LMS283显示屏,最近停产了,不得不从新找屏做驱动。 新找来的奇晶的LCD,修改了硬件电路和spi初始化配置,点亮-进入系统都没有问题,但是象素上 发现了一个奇怪的问题:     颜色显示都基本正确,红.绿.蓝都还可以。 ...…

查看全部问答>

搞过802.11开发的兄弟 顶起.

我实验室现在想搞支持802.11系列的手机终端,我对这个完全不了解,想先学习一下..谁有802.11系列协议的实现代码的可以共享一下吗 ,兄弟不胜感激!!!…

查看全部问答>

smdk6410开发板屏幕旋转?

我使用的是smdk 6410 三星的开发板 + wince R2,BSP也是三星直接提供的,现在我要将我的屏幕旋转90,我的做法是 直接修改注册表的[HKEY_LOCAL_MACHINE\"System\"GDI\"Rotation],修改\"Angle\"=dword:5A,        这样修改之 ...…

查看全部问答>

求救,各位达人,WinCE6.0如何加载位于BinFS文件系统中类型为NandImage的.bin文件中的内容?

我现在做的是BinFS+Multi-bin,目的是加快WINCE6.0的启动速度,减小内存使用。核心的东西都放在XIPKERNEL.bin中,为RAMIMAGE,而其他东西则放在nk.bin中,为NANDIMAGE。现在的现象是,xipkernel里面的东西好像加载都是正常的,但是nk.bin中的内容一 ...…

查看全部问答>

ST32PKAVR32,哪个强?

这两个MCU 俺打算选用其中一种,不过从指令系统上看,好象AVR32 强!ST32 数据手册好象不附指令的执行时间?不附指令执行时间,是心虚吗?…

查看全部问答>

关于uCOS-II的学习方法求教

各位前辈们,小生是新来的,我要用STM32f103x的单片机开发一款用户图形界面(GUI),使用uCOS-II操作系统。 现在的情况是,我对STM32f10x单片机倒是用的还行,不过操作系统和GUI开发,真的完全没有接触过。 手上有两块STM32f10x开发板:一块是红 ...…

查看全部问答>