电子说
第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:图像库
全部0条评论
快来发表一下你的评论吧 !