基于STM32微处理器的LED光电特性测试装置设计

发布者:玉树琼花最新更新时间:2018-03-21 来源: eefocus关键字:STM32  微处理器  LED光电 手机看文章 扫描二维码
随时随地手机看文章

    本文介绍了以基于Cortex-M3内核的32位STM32微处理器为控制核心,外接可控恒流源电路和颜色传感器等部件,组成了简易的LED光电特性测试装置,结构简洁,成本低廉,在LED特性的研究上有较高的实用价值。

    1.引言

    LED(Light-EMItting-Diode),即发光二极管,以其高效、节能、环保、寿命长、可靠性高等优点正在逐步取代传统的白炽灯、荧光灯,成为新一代照明光源。各国政府均大力扶持白光LED的发展,美、日、欧盟等发达国家皆由政府成立专项积极推行。随着LED应用范围的扩大,用户对产品质量也有了更高的要求,不仅要求其发光亮度和波长等光特性具有一致性,对其正向工作电压和电流等电特性也有严格的要求。因此,研究LED光电参数的测试仪器,对提高产品质量、降低生产成本具有着重要的意义。

    专用的LED光电特性测试设备结构复杂,特别是光学特性测试要用到光谱仪、光度计等,虽然仪器有着精度高的特点,但仍然具有结构复杂、成本高、体积较大,携带和使用很不方便,系统稳定性受到限制等缺点,因此这种仪器只能停留在大型分析测试实验,应用范围难以扩展。

    研制一种小体积、低价格,精度虽不很高,但能满足一般性要求的LED光电测量仪器成为目前仪器发展的一个趋势。

    虽然LED的光电特性参数很多,但对大多数用户来说,主要是关心LED伏安特性及LED发光亮度与电流的关系,因此本文所设计的系统主要是完成这两项参数的测试,另外通过简单的软硬件扩展,还可测试得到LED的相关色温、主波长、光强分布等参数,用于LED的特性研究及驱动电路的设计等应用开发。

    2.系统原理与组成

    整个系统主要由STM32微处理器,光学测量模块,恒流驱动模块,LCD液晶显示模块,按键控制模块等组成,如图1所示。

     

43

     

    由按键或LCD上的触摸屏控制STM32微处理器,内部的D/A转换器产生控制电压,该电压控制外部的恒流驱动电路产生LED工作所需的恒定电流加到待测LED上,LED上产生的电压降经信号放大调整电路后被STM32内部的A/D转换器采集,从而测得LED的伏安特性。另外,通过光学测量模块测量LED发出的光线转换成数字信号,由STM32采集处理,从而测得LED的发光亮度等光学特性。

    2.1 STM32微处理器

    微处理器是整个控制系统的核心,它控制恒流驱动电路输出设定的电流,采集LED的电压,测量光学测量模块的数据,进行数据处理,控制算法运算,显示控制等。为了保证系统的实用性和易扩展性,本控制系统采用意法半导体推出的“增强型”系列STM32F103RCT6,32位ARM Cortex-M3内核,工作频率最高可达72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设,16路12位的ADC和2路12位的DAC,3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN,在存储容量和运算速度方面满足要求。在本设计中,采用STM32自身的ADC和DAC模块,极大的降低了系统成本。

    2.2 恒流驱动电路

    恒流驱动电路的核心是V / I转换电路,如图2所示,Vin是STM32内部D/A输出的电压,RL是负载,即待测的LED,Rs为电流取样电阻,用于控制输出电流的大小,U1是大功率运算放大器。

     

43

    由图2可知,若电阻R1和R2比Rs和RL大得多,则在理想情况下可得到     

43

     

    由公式2 可见, 输出电流与负载无关,在固定取样电阻Rs的情况下,输出电流与输入控制电压成正比。但在应用中要注意,两个输入电阻R3和R4及两个反馈电阻R1和R2必须严格匹配,否则会带来较大误差。Rs也要采用精密功率电阻。另外也可以在系统调试时在软件中做补偿校准以确保输出电流精度。

    图2中的运算放大器OPA548是一种高电压、大电流型功率运算放大器,具有优良小信号放大性能,用其驱动多种负载非常理想。电源电压(+VS~-VS)60V,可单电源或双电源工作。输入阻抗高,偏置电流小。可连续输出3A大电流(峰值电流高达5A),而且内部具有过温和电流过载保护,用户可以根据需要进行精密的限流设计2.3 光学测量模块

    本设计中采用新型的颜色传感器TCS3200进行LED光学特性的测量,能够同时测量LED发光中所含的三基色亮度。TCS3200是TAOS公司推出的可编程彩色光到频率的转换器。它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器。

    TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接。由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单。图3是TCS3200的引脚和功能框图。


43

    当入射光投射到TCS3200上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;还可以通过输出定标控制引脚S0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。

 

    因为STM32工作频率较高,因此将S0和S1直接接高电位,使输出比例因子为100%.S2和S3利用STM32的引脚进行控制,颜色传感器的输出信号用STM32编程实现测频。

    3.测量数据运算及处理

    STM32的软件系统设计中主要包括液晶显示,按键处理,DAC控制,ADC控制,颜色传感器控制及计数测量,这些模块都比较简单,在此不再赘述,下面主要介绍一下LED光学特性测量的数据运算及处理程序。

    物体颜色的定量度量是一个涉及观察者的视觉生理、视觉心理、照明条件以及观测条件等诸多因素的复杂问题。CIE(国际照明委员会)从1931年开始发布了一系列色度学系统,规定了一整套颜色测量的原理、数据和计算方法,形成了奠定现代色度学基础的CIE标准色度学系统。

    根据CIE的推荐,光源的色度可采用三刺激值X,Y,Z和色品坐标表色系统表征。

    可以用下述公式将RGB值转为XYZ值:43

        色品坐标同三刺激值的关系是:     

34

    通过颜色传感器TCS3200测量构成光源色度的三基色的比例,得到R,G,B值,经过计算就可以得到光源色度的三刺激值X,Y,Z和色品坐标x,y,z.有了色品坐标,就可以根据CIE1931标准色度系统得到光源的亮度,主波长,色纯度,相关色温等参数值。式3中的Y值相应于人眼中对亮度的响应,可用于计算LED发光亮度。

    从色品坐标要得到相关色温(CCT,Correlated Color Temperature)有很多种方法,其中近似公式法运算简单,便于实现,精度也可满足一般要求,当3000K

43

    4.实验结果

    应用上述电路,设计了简易的LED光电特性测试装置,并用一些红、绿、黄、蓝、白等各色LED进行了测试,结果如图4.图4(a)为不同颜色LED的伏安特性曲线,图4(b)为不同颜色LED的发光亮度与电流的关系。从图中可以看出,LED电流随电压变化很快,而发光亮度与电流基本上是线性关系。这可以作为设计LED驱动电路的参考依据。另外,用Keithley2612高精度源表对伏安特性进行了校准,用照度计对亮度测试进行了校准。实验结果表明,通过硬件调整和软件补偿,结果误差可以控制在5%以内,达到实用目标。     

34

    5.结束语

    本文利用STM32微处理器为核心,颜色传感器为主要部件,设计了简易的LED光电特性装置,用于测试L E D的伏安特性,发光强度,相关色温,主波长等LED特性。整个系统简洁,智能,成本低廉,在某些LED的研究和应用领域可以代替昂贵的光谱分析仪等专用设备。实验结果表明,测试精度达到实用要求,本文方案可行。


关键字:STM32  微处理器  LED光电 引用地址:基于STM32微处理器的LED光电特性测试装置设计

上一篇:基于微处理器S3C6410的NAND FLASH模拟U盘的原理与实现
下一篇:ARM Cortex-M3内核微控制器与ARM7的区别分析

推荐阅读最新更新时间:2024-03-16 15:58

STM32时钟配置方法详解
一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。 二、在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法:如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理: ①对于
[单片机]
STM32单片机FSMC的使用解析
在做项目的过程中遇到了这个问题,感觉文章写得不错,共享给对FSMC的使用怀有疑惑的同伴们! LCD有如下控制线: CS:Chip Select片选,低电平有效 RS:Register Select寄存器选择 WR:Write写信号,低电平有效 RD:Read读信号,低电平有效 RESET:重启信号,低电平有效 DB0-DB15:数据线 假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多): 如果情况如下: DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。 CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效) RS为1(表示DB0-15上传
[单片机]
<font color='red'>STM32</font>单片机FSMC的使用解析
STM32增强型微控制器访问NAND Flash学习笔记
一、了解NAND Flash 简单的理解就是,NORFlash具有随机存取和随字节执行写操作的能力,即可以访问到存储器内部的任意一个字节,且具有读取速度快等特点,它占据1MB—16MB闪存的大部分市场,根据其读取数据速度快的特点主要应用在代码存储;而NAND Flash以“页”为单位进行对数据的读写操作,且具有写入和擦除速度快等特点,它应用在8MB—256MB的产品中,根据其特点主要应用在数据存储上。 以型号HY27UF081G2A的NAND Flash芯片为例,其总线宽度为8bit,总内存大小为1Gbit(即128MB),共分为1024块(Block),每块又分为64页(Page),每页共2KB(main memo
[单片机]
<font color='red'>STM32</font>增强型微控制器访问NAND Flash学习笔记
Keil MDK3.20的stm32调试方法
1. 程序在RAM中运行 要点: (1)程序的下载地址改到RAM空间中 (2)程序的debug之前要设定SP,PC指针到Ram空间 新建工程,选择STM32 的具体型号,我买的万利的开发板,选择stm32f103Vb。 设定程序下载地址,如下图所示,IROM1的地址指向了STM32的ram空间。 空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20K,分配16K给只读区,4K给可读可写区。这样IROM设定的大小为0x4000,IRAM1的起始就变为0X20004000,大小只剩下0X1000。 Debug标签选择ULINK1 Cortex Debugger(软件采用yjgyiysbCC兄crack方
[单片机]
Keil MDK3.20的<font color='red'>stm32</font>调试方法
详解STM32定时器捕获功能
一、STM32定时器捕获功能 STM32的定时器是支持信号输入捕获的,何为输入捕获?主要做什么应用? 输入捕获:通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变的时候,将当前的定时器的值(TIMx_CNT)存放到对应的捕获比较寄存器里面,完成一次捕获。输入捕获主要应用于测量信号的脉宽或频率。 下图是定时器原理图的输入捕获框图部分 第一部分是设置滤波器,用来对信号进行滤波,信号从TI1输入,通过滤波器,输出TIF信号,正常情况下信号没有抖动,TI1F信号等于TI1的输入信号。 ICF 用来设置输入采样频率的数字滤波器的长度,如ICF=0011,会在捕获上升沿时,以fCK_INT的频率连续采样八次通道1的信号电平,
[单片机]
详解<font color='red'>STM32</font>定时器捕获功能
stm32笔记: 将用户自定义关键字从MDK3.8 搬到 MDK4.70A
将用户关键字从MDK3.8 搬到 MDK4.70A 新安装mdk4.70A ,有2.5G大小 , 修改字体颜色等配置,发现以前keil9.0和 mdk3.8都有的几个*.ini配置文件没了 刚开始以为在别的什么地方,于是用EQ加了个文件修改记录规则,拦截文件修改 结果只得到如下2条有用的信息 ========================================================= 2013-05-20 12:49:42 修改文件 操作:允许 进程路径:D:\IDE\MDK4.70A\UV4\Uv4.exe 文件路径:D:\IDE\MDK4.70A\UV4\global.prop 触发规则:应用程序规则
[单片机]
<font color='red'>stm32</font>笔记: 将用户自定义关键字从MDK3.8 搬到 MDK4.70A
stm32 ADXL345传感器
加速度灵敏度轴 沿敏感轴加速时相应输出电压增加 寄存器映射 寄存器定义 0x31—DATA_FORMAT SELF_TEST位:设置为1,自测力应用至传感器,造成输出数据转换。值为0时,禁用自测力 SPI位:值为1,设置器件为3线式SPI模式,值为0,则设置为4线式SPI模式 INT_INVERT位:值为0,设置中断至高电平有效,值为1,则设置至低电平有效 FULL_RES位:设置为1,该器件为全分辨率模式,输出分辨率随着范围位设置的g范围,以4 mg/LSB的比例因子而增加。 FULL_RES位设置为0时,该器件为10位模式,范围位决定最大g范围和比例因子 对齐位:设置为1,选择左对齐(MS
[单片机]
<font color='red'>stm32</font> ADXL345传感器
如何有效地使用串口通讯接收数据
引言 在使用stm32或者其他单片机的时候,会经常使用到串口通讯,那么如何有效地接收数据呢?假如这段数据是不定长的有如何高效接收呢? 同学A:数据来了就会进入串口中断,在中断中读取数据就行了! 中断就是打断程序正常运行,怎么能保证高效呢?经常把主程序打断,主程序还要不要运行了? 同学B:串口可以配置成用DMA的方式接收数据,等接收完毕就可以去读取了! 这个同学是对的,我们可以使用DMA去接收数据,不过DMA需要定长才能产生接收中断,如何接收不定长的数据呢? DMA简介 题外话:其实,上面的问题是很有必要思考一下的,不断思考,才能进步。 什么是DMA DMA :全称Direct Memory Access,即直接存储器访问
[单片机]
如何有效地使用串口通讯接收数据
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习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