STM32利用光敏二极管实现光度测量
最近我们在开发臭氧发生器时,需要监测生成的臭氧的浓度,于是想到使用光度计来测量。因为不同浓度的臭氧对管的吸收作用是不相同的,于是检测光照强度的变化就可以得到相应的浓度数据。
1、硬件设计
此次光照度检测我们选用了S1336-5BQ光电点二极管,其光谱响应范围为:190~1100nm范围。而我们的光源波长则在254nm最显著,包括其它600nm以内的光波,这个好处于测量范围之内。
根据相关的资料,光电点二极管S1336-5BQ的每100lx的光照对应有5μA的电流。于是我们可以据此设计一个电路,将电流的变化改变为电压变化,具体原理图设计如下:
上图中我们采用5V电源,为了检测方便调零,我们将基准电压上抬到2.5V(图中的Vmid)。这样我们根据测量范围的要求将R5的值更换为精确的值就好了,让输出范围在2.5V到5V之间。这样我们就可以将其作为输入信号接入到ADC中。在ADC前端加一些必要的保护就可以了,具体如下图所示:
上图只是对输入信号做了保护,如果需要也可以放大缩小等处理,从而符合ADC输入的要求。
2、软件设计
前面我们描述了硬件电路,该电路在要求不高时是非常方便的。接下来我们根据上述电路来分析并设计软件。根据上面的电炉我们可以得出输出电压的变化公式为:Vout=Isc*R5+Vmid。
而Vmid正好为Vcc的一半,Vout可以通过ADC测量出来,于是公式就可以变化为:Isc=(Vout-Vcc/2)/R5。
而对于该光电二极管的特性是5μA/100lx,于是计算得到光照强度,公式可修改为:光照强度lux=((Vout-Vcc/2)/R5)*2*107。据此公式来编写软件就非常容易了。
/*计算光照强度*/
float CalcLxIllumination(LuxObjectType *lm,float mVoltage)
{float lux=0.0;lux=(mVoltage-lm->vref)*100/(lm->rnf*lm->isc100lux);lm->lux=lux;return lux;
}/* 光度检测对象初始化 */
void LuxInitialization(LuxObjectType *lm,float isc,float vref,float rnf)
{if(lm==NULL){return;}lm->lux=0.0;lm->isc100lux=isc;lm->rnf=rnf;lm->vref=vref;
}
欢迎关注:
STM32利用光敏二极管实现光度测量相关推荐
- STM32应用实例十四:利用光敏二极管实现光度测量
最近我们在开发臭氧发生器时,需要监测生成的臭氧的浓度,于是想到使用光度计来测量.因为不同浓度的臭氧对管的吸收作用是不相同的,于是检测光照强度的变化就可以得到相应的浓度数据. 1.硬件设计 此次光照度检 ...
- 外设驱动库开发笔记37:S1336-5BQ光敏二极管作为光度计驱动
光敏二极管能够实现很多应用,用于光度检测即是其一.我们在一些产品中就曾使用S1336-5BQ光敏二极管进行光度值检测.所以在本篇中,我们将讨论如何设计并实现S1336-5BQ光敏二极管用于光度检测 ...
- 【常用电子元件】光敏二极管的简介与应用(实例:STM32监测光强)
光敏二极管 光敏二极管简介 光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管.光电倍增管.光敏电阻.光敏三极管.太阳能电池.红外线传感器.紫外线传感器.光纤式光电传感器.色彩传感器.CCD ...
- K_A12_003 基于STM32等单片机采集光敏二极管模块参数 串口与OLED0.96双显示
K_A12_003 基于STM32等单片机采集光敏二极管模块参数 串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 IIC地址/采集通道选择/时序 对应程序: 四 ...
- 基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计
目录 1 项目概述 1.1 项目介绍 1.2 项目开发环境 1.3 小组人员及分工 2 需求分析 2.1 系统需求分析 2.2 可行性分析 2.3 项目实施安排 3 系统硬件设计 3.1 系统整体硬件 ...
- 【STM32】光敏传感器示例
00. 目录 文章目录 00. 目录 01. 光敏传感器简介 02. 硬件模块 03. 程序设计 04. 结果验证 05. 预留 06. 附录 07. 声明 01. 光敏传感器简介 光敏传感器是最常见 ...
- 光敏二极管和光敏三极管的原理、区别、辨别以及应用电路
转载---电子电路设计 2021-03-27 20:29 一.光敏二极管 光敏二极管是一种采用PN结单向导电性能的结型光电器件,也叫光电二极管,能够将光信号变成电信号的探测器件,通过在PN结加上反向电 ...
- STM32的光敏传感器
STM32的光敏传感器 简介 硬件连接 计算公式 程序 简介 1.照射光敏二极管的光强不同,通过光敏二极管的电流大小就不同,所以可以通过检测电流大小,达到检测光强的目的.利用这个电流变化,我们串接一个 ...
- 「雕爷学编程」Arduino动手做(30)——光敏二极管模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(动手做)的理念,以学习和交流为目的,这里准备逐 ...
最新文章
- apache 编译php mysql_记一次痛苦的过程-------源码编译安装apache+php5+mysql
- 让《弹射世界》告诉你,二次元游戏该如何打造社交系统?
- 远控免杀专题8---BackDoor-Facktory免杀
- mysql降级导入_mysql 升级和降级
- linux怎么看java环境变量_linux下配置jdk环境变量以及查看java版本
- IOS内存管理「3」- 自动释放的基本概念和用法
- 广船国际:“红帆”远航
- Hadoop集群搭建(六):hadoop配置namenode服务
- VS2005与紫光拼音输入法全角问题的解决办法
- iOS 16适配屏幕旋转强制转屏切换大总结
- 大数据,云计算,人工智能之间的关系
- 虚拟机重启服务器命令,虚拟机中重启命令
- Android app资源监控
- 学习笔记——OFDM仿真课设
- 【分享程序员的生活】在国企里面当程序猿是一种怎样的体验!!??
- 服务器安装Centos 7系统
- tf.extract_image_patches以及pytorch的extract_patches
- 北京信息科技大学第十一届程序设计竞赛(重现赛)
- OCI runtime create failed: container_linux.go:380
- 二本应届生的大学生活、2020年总结(已上岸百度)
热门文章
- 专家:人工智能开始对现实世界产生重大影响​​
- Python总结:RuntimeError: matplotlib does not support generators as input
- 2017沈阳站 Tree
- Echarts富文本rich及格式化工具formatter的使用
- CF954I Yet Another String Matching Problem 并查集、FFT
- 指针和数组替换和区别
- 现在早上起来都还是感觉颈椎有些通
- PHP基础班初学感悟
- 关于字节对齐以及内存占用
- Samba Linux 和windows 共享