怎样制作紫外线指数计

电子说

1.3w人已加入

描述

第1步:零件和组件

微控制器Arduino Nano rev.3

ML8511紫外传感器

128×64 OLED显示屏(SSD1306)

MT3608 DC-DC步骤-li

CR2电池

CR2电池座

开关

外壳盒

步骤2:传感器

紫外线

紫外线

ML8511(Lapis Semiconductors)是一种紫外线传感器,适用于采集紫外线室内或室外强度。 ML8511配有内部放大器,可根据紫外线强度将光电流转换为电压。这种独特的功能为ADC等外部电路提供了简便的接口。在省电模式下,典型待机电流为0.1μA,从而延长电池寿命。

特点:

对UV-A和UV敏感的光电二极管-B

嵌入式运算放大器

模拟电压输出

低电源电流(典型值300μA)和低待机电流(典型值0.1μA)

小而薄的表面贴装封装(4.0mm x 3.7mm x 0.73mm,12芯陶瓷QFN)

不幸的是,我没有机会发现任何紫外线 - 透明材料,以保护传感器。我测试过的任何一种透明盖子(塑料,玻璃等)都会减弱紫外线测量。更好的选择似乎是石英熔融石英玻璃,但我没有找到任何合理的价格,所以我决定将传感器放在盒子外面,露天。

步骤3:操作

紫外线

要采取措施,只需打开设备并将其指向太阳几秒钟,使其与方向保持一致太阳光线。然后在显示屏上观察:左侧的索引始终显示即时测量值(每个200毫秒一个),而右侧的读数是此会话期间的最大读数:这是您需要的值。

在显示屏的左下方,还报告了测量的紫外线指数的WHO等效命名法(低,中等,高,极高,极端)。

步骤4:电池电压和读数

我选择CR2电池,因为它的尺寸和容量(800 mAh)。我整个夏天都使用UltraV,电池仍然可以读取2.8V,所以我对这个选择非常满意。操作时,电路消耗约100 mA,但读数测量不会超过几秒钟。由于电池额定电压为3v,我添加了一个DC-DC升压转换器,使电压高达9伏,并将其连接到Vin引脚。

为了使电池电压指示在显示,我使用了模拟输入(A2)。 Arduino模拟输入可用于测量0到5V之间的直流电压,但这种技术需要校准。要执行校准,您需要一个万用表。首先使用最终电池(CR2)为电路供电,不要使用计算机的USB电源;从稳压器(在Arduino 5V引脚上找到)测量Arduino上的5V:默认情况下,此电压用于Arduino ADC参考电压。现在将测量值放入草图中,如下所示(假设我读到5.023):

voltage = ((long)sum / (long)NUM_SAMPLES * 5023) / 1024.0;

在草图中,我将电压测量值作为10个样本的平均值。

步骤5:原理图和连接

紫外线

步骤6:软件

对于显示器,我使用了U8g2lib,它非常灵活,功能强大,适用于此类OLED显示器,允许多种字体选择和良好的定位功能。

关于ML8511的电压读数,我使用3.3v Arduino参考引脚(精度在1%以内)作为ADC转换器的基础。因此,通过在3.3V引脚上进行模数转换(通过将其连接到A1),然后将此读数与传感器的读数进行比较,我们可以推断出真实的读数,无论VIN是什么(只要它高于3.4V)。

int uvLevel = averageAnalogRead(UVOUT);

int refLevel = averageAnalogRead(REF_3V3);

float outputVoltage = 3.3 / refLevel * uvLevel;

从以下链接下载完整代码。

步骤7:外壳案例

紫外线

在商业塑料盒上手动切割矩形显示窗口的几次(坏)测试后,我决定自己设计它。因此,在CAD应用程序中,我设计了一个盒子并尽可能地保持它的小巧,我将CR2电池从外部安装在背面(电池盒粘在盒子上)。

下载机箱的STL文件,来自以下链接。

步骤8:可能的未来改进

使用紫外光谱仪在各种条件下测量实际的实时UV指数值(紫外光谱仪非常昂贵);

使用Arduino微控制器同时记录ML8511的输出;

写入算法以关联ML8511在广泛的大气条件下实时输出到实际UVI值。

步骤9:图像库

紫外线

紫外线

紫外线

紫外线

紫外线

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分